@loicngr/kobo 1.7.9 → 1.7.11
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.
- package/dist/server/routes/workspaces.js +13 -2
- package/dist/server/services/settings-service.js +14 -0
- package/dist/server/services/skill-suite-prompts.js +78 -2
- package/dist/server/utils/git-ops.js +9 -1
- package/dist/shared/skill-suite-prompts.js +5 -1
- package/package.json +1 -1
- package/src/client/dist/spa/assets/{ActivityFeed-CKjFT9t6.js → ActivityFeed-BAASG3py.js} +1 -1
- package/src/client/dist/spa/assets/{ClosePopup-DMnQG6nw.js → ClosePopup-Bs-9Klyd.js} +1 -1
- package/src/client/dist/spa/assets/{CreatePage-BhFrUkEN.js → CreatePage-D9AbgeOT.js} +1 -1
- package/src/client/dist/spa/assets/{DiffViewer-BSnvba7W.js → DiffViewer-xnpaPL3h.js} +3 -3
- package/src/client/dist/spa/assets/{HealthPage-DZYZWGHp.js → HealthPage-DWNcejdz.js} +1 -1
- package/src/client/dist/spa/assets/{MainLayout-C45J7rSF.css → MainLayout-CQRtNn82.css} +1 -1
- package/src/client/dist/spa/assets/{MainLayout-CMuiNpet.js → MainLayout-DZCswY_D.js} +2 -2
- package/src/client/dist/spa/assets/QChip-CQZIeDHV.js +36 -0
- package/src/client/dist/spa/assets/{QExpansionItem-Fij7yBbG.js → QExpansionItem-DQ66zLAu.js} +1 -1
- package/src/client/dist/spa/assets/{QMenu-CMoolewZ.js → QMenu-pgVPfC7Y.js} +1 -1
- package/src/client/dist/spa/assets/{QTooltip-CbLXk2Bs.js → QTooltip-CTNw68oZ.js} +1 -1
- package/src/client/dist/spa/assets/{SearchPage-CBSgEvVF.js → SearchPage-B3emm2UD.js} +1 -1
- package/src/client/dist/spa/assets/SettingsPage-B3Kn6fwZ.css +1 -0
- package/src/client/dist/spa/assets/SettingsPage-j5vhq9YJ.js +9 -0
- package/src/client/dist/spa/assets/{TouchPan-DiBNjOPH.js → TouchPan-SGRB-xYE.js} +1 -1
- package/src/client/dist/spa/assets/{WorkspacePage-BTHvQga-.js → WorkspacePage-DmoPjAV6.js} +3 -3
- package/src/client/dist/spa/assets/{build-path-tree-BmBqRiCQ.js → build-path-tree-DGuSpWFG.js} +1 -1
- package/src/client/dist/spa/assets/{cssMode-ypFF7quM.js → cssMode-BSeHrn8-.js} +1 -1
- package/src/client/dist/spa/assets/{editor.api-DtpZuH_B.js → editor.api-Dgjer8XO.js} +1 -1
- package/src/client/dist/spa/assets/{editor.main-C7a7L2WP.js → editor.main-DbnmDA5w.js} +3 -3
- package/src/client/dist/spa/assets/{engineFeatures-BxAOQcPU.js → engineFeatures-BqiWw0xn.js} +1 -1
- package/src/client/dist/spa/assets/{expand-template-GaEux9_o.js → expand-template-_Y9C3CjP.js} +1 -1
- package/src/client/dist/spa/assets/{freemarker2-DUBmhe3W.js → freemarker2-C1QMrvUv.js} +1 -1
- package/src/client/dist/spa/assets/{handlebars-_XEXkADl.js → handlebars-DgiZwx-t.js} +1 -1
- package/src/client/dist/spa/assets/{html-D8gmyhgI.js → html-CiU03AFd.js} +1 -1
- package/src/client/dist/spa/assets/{htmlMode-B84S5YOM.js → htmlMode-lj6pNn2T.js} +1 -1
- package/src/client/dist/spa/assets/i18n-KyQESqOg.js +1 -0
- package/src/client/dist/spa/assets/index-ABhgwrBB.js +2 -0
- package/src/client/dist/spa/assets/{javascript-500DcdS9.js → javascript-Bf_RmvhA.js} +1 -1
- package/src/client/dist/spa/assets/{jsonMode-DmrWg6b7.js → jsonMode-DkzIh92L.js} +1 -1
- package/src/client/dist/spa/assets/{kobo-commands-DCoQW_NQ.js → kobo-commands-thKpumUN.js} +1 -1
- package/src/client/dist/spa/assets/{liquid-CfPJszlt.js → liquid-Cg7OHXeJ.js} +1 -1
- package/src/client/dist/spa/assets/{mdx-DtjLwENT.js → mdx-l_W5gHfE.js} +1 -1
- package/src/client/dist/spa/assets/{monaco.contribution-CxiO5UJd.js → monaco.contribution-DBBmYj6f.js} +2 -2
- package/src/client/dist/spa/assets/{notifications-CEyiPnmw.js → notifications-C4jB7A2f.js} +1 -1
- package/src/client/dist/spa/assets/{permissionModes-CPZlEHoF.js → permissionModes-CRue7srp.js} +1 -1
- package/src/client/dist/spa/assets/{project-color-C4vMEn4C.js → project-color-5UmDpA6C.js} +1 -1
- package/src/client/dist/spa/assets/{purify.es-C92_EGvT.js → purify.es-BYydQXtR.js} +1 -1
- package/src/client/dist/spa/assets/{python-BS46_AMt.js → python-BEqDMyrj.js} +1 -1
- package/src/client/dist/spa/assets/{razor-Ce9zcIFo.js → razor-CG3ZSgSC.js} +1 -1
- package/src/client/dist/spa/assets/{render-chat-markdown-BvJwlMiW.js → render-chat-markdown-C9L-kzlg.js} +1 -1
- package/src/client/dist/spa/assets/{tsMode-Cr9FJjYY.js → tsMode-CWoApSbW.js} +1 -1
- package/src/client/dist/spa/assets/{typescript-Ov3wChBg.js → typescript-CTk1WfV6.js} +1 -1
- package/src/client/dist/spa/assets/{use-panel-lBh91vcW.js → use-panel-CZnY7pfY.js} +1 -1
- package/src/client/dist/spa/assets/{xml-euA4jBI1.js → xml-CSZMdRGt.js} +1 -1
- package/src/client/dist/spa/assets/{yaml-BuPSq_BT.js → yaml-tWozZ5pP.js} +1 -1
- package/src/client/dist/spa/index.html +2 -2
- package/src/client/dist/spa/assets/QChip-BgzxI33B.js +0 -36
- package/src/client/dist/spa/assets/SettingsPage-C7TkcKXU.css +0 -1
- package/src/client/dist/spa/assets/SettingsPage-pY-zbPxn.js +0 -9
- package/src/client/dist/spa/assets/i18n-DLoe3l25.js +0 -1
- package/src/client/dist/spa/assets/index-Dx_W9yYo.js +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
import{F as e,L as t,M as n,Q as r,U as i,_t as ee,bt as a,d as o,f as s,g as c,h as te,l,p as u,r as d,rt as ne,u as f,v as re}from"./runtime-core.esm-bundler-9Z0QAO_7.js";import{t as p}from"./QIcon-qfJNZLIW.js";import{t as m}from"./QBtn-CaJSOyt8.js";import{b as h,i as ie,v as g}from"./index-Dx_W9yYo.js";import{n as _,t as v}from"./QItemSection-Bz1ZDJO5.js";import{t as y}from"./QBadge-C7r6oPSi.js";import{t as b}from"./QSpace-DKIph84L.js";import{t as x}from"./QList-BbnN_oNX.js";import{t as ae}from"./use-quasar-DQYS47mh.js";import{t as oe}from"./QPage-Co2h9wd_.js";var se={class:`row items-center q-mb-md`},ce={class:`text-h6 q-ml-sm`},le={key:0,class:`text-grey-6 text-center q-pa-lg`},ue={key:1,class:`column q-gutter-md`},de={class:`text-subtitle2 q-mb-sm`},S={class:`text-caption text-grey-6`},C={class:`text-body2`},w={class:`row items-center`},T={class:`text-subtitle2`},E={class:`row q-col-gutter-md q-mt-xs`},D={class:`col`},O={class:`text-caption text-grey-6`},k={class:`text-body2`},A={class:`col-auto`},j={class:`text-caption text-grey-6`},M={class:`text-body2`},N={class:`col-auto`},P={class:`text-caption text-grey-6`},F={class:`text-body2`},I={class:`text-subtitle2 q-mb-sm`},L={class:`column q-gutter-sm`},R={class:`row items-center`},z={class:`q-ml-sm text-body2`},B={key:0,class:`text-caption text-grey-5`},V={key:1,class:`text-caption text-negative`},H={class:`row items-center`},fe={class:`q-ml-sm text-body2`},pe={key:0,class:`text-caption text-grey-5`},me={key:1,class:`text-caption text-negative`},he={class:`row items-center`},ge={class:`text-subtitle2`},_e={class:`text-caption text-grey-6 q-mt-xs`},ve={key:0,class:`q-mt-sm`},ye={class:`text-caption text-negative q-mb-xs`},be={class:`text-body2`},xe={class:`text-caption text-grey-6`},Se={class:`row items-center`},Ce={class:`text-subtitle2`},we={class:`text-subtitle1 q-mt-md q-mb-xs text-grey-5`},Te={class:`row items-center`},Ee={class:`text-subtitle2`},U={key:0,class:`text-caption text-grey-7 q-mt-xs`},De={class:`text-body2`},Oe={class:`text-caption text-grey-6`},ke={class:`row items-center`},Ae={class:`text-subtitle2`},je={key:0,class:`text-caption text-grey-7 q-mt-xs`},Me={class:`text-body2`},Ne={class:`text-caption text-grey-6`},Pe={key:0},Fe={class:`row items-center`},Ie={class:`text-subtitle2`},Le={key:0,class:`text-caption text-grey-7 q-mt-xs`},Re={class:`text-body2`},ze={class:`text-caption text-grey-6`},Be={class:`row items-center`},Ve={class:`text-subtitle2`},He={key:0,class:`text-caption text-grey-7 q-mt-xs`},Ue={class:`text-body2`},We={class:`text-caption text-grey-6`},Ge={class:`row items-center`},Ke={class:`text-subtitle2`},qe={key:0,class:`text-caption text-grey-7 q-mt-xs`},Je={class:`text-body2`},Ye={class:`text-subtitle2 q-mb-sm`},Xe={class:`column q-gutter-xs`},Ze={class:`row items-center`},Qe={class:`q-ml-sm text-caption text-grey-6`},$e={class:`row items-center`},et={class:`q-ml-sm text-caption text-grey-6`},tt={class:`row items-center`},nt={class:`q-ml-sm text-caption text-grey-6`},W=re({__name:`HealthPage`,setup(re){let W=ae(),G=ie(),K=r(null),q=r(!1);async function J(){q.value=!0;try{let e=await fetch(`/api/health/report`);if(!e.ok)throw Error(`HTTP ${e.status}`);K.value=await e.json()}catch(e){W.notify({type:`negative`,message:String(e),position:`top`,timeout:4e3})}finally{q.value=!1}}n(J);let rt=l(()=>{let e=K.value?.db.sizeBytes;return e==null?`—`:e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/1024/1024).toFixed(1)} MB`}),Y=l(()=>{let e=K.value;return e?e.db.schemaVersion===e.db.currentSchemaVersion:!1});function X(e){return e?`check_circle`:`error`}function Z(e){return e?`positive`:`negative`}function Q(e){return new Date(e).toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`})}function it(e){let t=Date.now()-new Date(e).getTime();if(Number.isNaN(t)||t<0)return`—`;let n=Math.floor(t/1e3);if(n<60)return`${n}s`;let r=Math.floor(n/60);if(r<60)return`${r}m`;let i=Math.floor(r/60);return i<24?`${i}h${r%60?` ${r%60}m`:``}`:`${Math.floor(i/24)}d`}function $(e){G.push({name:`workspace`,params:{id:e}}).catch(()=>{})}return(n,r)=>(e(),o(oe,{class:`q-pa-md`,style:{"max-width":`900px`,margin:`0 auto`}},{default:i(()=>[f(`div`,se,[c(m,{flat:``,dense:``,round:``,icon:`arrow_back`,onClick:r[0]||=e=>ne(G).back()}),f(`div`,ce,a(n.$t(`health.title`)),1),c(b),c(m,{flat:``,dense:``,icon:`refresh`,loading:q.value,label:n.$t(`common.refresh`),onClick:J},null,8,[`loading`,`label`])]),!K.value&&q.value?(e(),u(`div`,le,a(n.$t(`common.loading`)),1)):K.value?(e(),u(`div`,ue,[c(g,{dark:``,flat:``,bordered:``},{default:i(()=>[c(h,null,{default:i(()=>[f(`div`,de,a(n.$t(`health.envTitle`)),1),f(`div`,S,a(n.$t(`health.koboHome`)),1),f(`div`,C,a(K.value.koboHome),1)]),_:1})]),_:1}),c(g,{dark:``,flat:``,bordered:``},{default:i(()=>[c(h,null,{default:i(()=>[f(`div`,w,[f(`div`,T,a(n.$t(`health.dbTitle`)),1),c(b),c(p,{name:X(Y.value),color:Z(Y.value)},null,8,[`name`,`color`])]),f(`div`,E,[f(`div`,D,[f(`div`,O,a(n.$t(`health.dbPath`)),1),f(`div`,k,a(K.value.db.path),1)]),f(`div`,A,[f(`div`,j,a(n.$t(`health.dbSize`)),1),f(`div`,M,a(rt.value),1)]),f(`div`,N,[f(`div`,P,a(n.$t(`health.schemaVersion`)),1),f(`div`,F,a(K.value.db.schemaVersion)+` / `+a(K.value.db.currentSchemaVersion),1)])])]),_:1})]),_:1}),c(g,{dark:``,flat:``,bordered:``},{default:i(()=>[c(h,null,{default:i(()=>[f(`div`,I,a(n.$t(`health.runtimesTitle`)),1),f(`div`,L,[f(`div`,R,[c(p,{name:X(K.value.claudeCli.available),color:Z(K.value.claudeCli.available),size:`sm`},null,8,[`name`,`color`]),f(`span`,z,a(n.$t(`health.claudeCliTitle`)),1),c(b),K.value.claudeCli.available?(e(),u(`span`,B,a(K.value.claudeCli.version),1)):(e(),u(`span`,V,a(n.$t(`health.claudeCliMissing`)),1))]),f(`div`,H,[c(p,{name:X(K.value.codexCli.available),color:Z(K.value.codexCli.available),size:`sm`},null,8,[`name`,`color`]),f(`span`,fe,a(n.$t(`health.codexCliTitle`)),1),c(b),K.value.codexCli.available?(e(),u(`span`,pe,a(K.value.codexCli.version),1)):(e(),u(`span`,me,a(n.$t(`health.codexCliMissing`)),1))])])]),_:1})]),_:1}),c(g,{dark:``,flat:``,bordered:``},{default:i(()=>[c(h,null,{default:i(()=>[f(`div`,he,[f(`div`,ge,a(n.$t(`health.workspacesTitle`)),1),c(b),c(p,{name:X(K.value.workspaces.worktreesMissing.length===0),color:Z(K.value.workspaces.worktreesMissing.length===0)},null,8,[`name`,`color`])]),f(`div`,_e,a(n.$t(`health.workspacesCount`,{total:K.value.workspaces.total,archived:K.value.workspaces.archived})),1),K.value.workspaces.worktreesMissing.length>0?(e(),u(`div`,ve,[f(`div`,ye,a(n.$t(`health.worktreesMissing`,{count:K.value.workspaces.worktreesMissing.length})),1),c(x,{dense:``,dark:``},{default:i(()=>[(e(!0),u(d,null,t(K.value.workspaces.worktreesMissing,t=>(e(),o(_,{key:t.workspaceId},{default:i(()=>[c(v,null,{default:i(()=>[f(`div`,be,a(t.name),1),f(`div`,xe,a(t.path),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})])):s(``,!0)]),_:1})]),_:1}),c(g,{dark:``,flat:``,bordered:``},{default:i(()=>[c(h,null,{default:i(()=>[f(`div`,Se,[f(`div`,Ce,a(n.$t(`health.sessionsTitle`)),1),c(b),c(p,{name:X(K.value.agentSessions.orphaned===0),color:Z(K.value.agentSessions.orphaned===0)},null,8,[`name`,`color`])]),f(`div`,{class:ee([`text-caption q-mt-xs`,K.value.agentSessions.orphaned>0?`text-negative`:`text-grey-6`])},a(n.$t(`health.sessionsOrphaned`,{n:K.value.agentSessions.orphaned})),3)]),_:1})]),_:1}),f(`div`,we,a(n.$t(`health.activeTitle`)),1),c(g,{dark:``,flat:``,bordered:``},{default:i(()=>[c(h,null,{default:i(()=>[f(`div`,Te,[c(p,{name:`hourglass_top`,size:`sm`,color:`amber-6`,class:`q-mr-sm`}),f(`div`,Ee,a(n.$t(`health.activeQuotaBackoffs`)),1),c(b),c(y,{label:K.value.active.quotaBackoffs.length,color:`grey-8`,"text-color":`grey-3`},null,8,[`label`])]),K.value.active.quotaBackoffs.length===0?(e(),u(`div`,U,a(n.$t(`health.noneActive`)),1)):(e(),o(x,{key:1,dense:``,dark:``,class:`q-mt-xs`},{default:i(()=>[(e(!0),u(d,null,t(K.value.active.quotaBackoffs,t=>(e(),o(_,{key:t.workspaceId,clickable:``,onClick:e=>$(t.workspaceId)},{default:i(()=>[c(v,null,{default:i(()=>[f(`div`,De,a(t.name),1),f(`div`,Oe,a(n.$t(`health.quotaResumeAt`,{time:Q(t.targetAt)}))+` · `+a(t.source)+` · retry #`+a(t.retryCount),1)]),_:2},1024)]),_:2},1032,[`onClick`]))),128))]),_:1}))]),_:1})]),_:1}),c(g,{dark:``,flat:``,bordered:``},{default:i(()=>[c(h,null,{default:i(()=>[f(`div`,ke,[c(p,{name:`schedule`,size:`sm`,color:`indigo-4`,class:`q-mr-sm`}),f(`div`,Ae,a(n.$t(`health.activeWakeups`)),1),c(b),c(y,{label:K.value.active.pendingWakeups.length,color:`grey-8`,"text-color":`grey-3`},null,8,[`label`])]),K.value.active.pendingWakeups.length===0?(e(),u(`div`,je,a(n.$t(`health.noneActive`)),1)):(e(),o(x,{key:1,dense:``,dark:``,class:`q-mt-xs`},{default:i(()=>[(e(!0),u(d,null,t(K.value.active.pendingWakeups,t=>(e(),o(_,{key:t.workspaceId,clickable:``,onClick:e=>$(t.workspaceId)},{default:i(()=>[c(v,null,{default:i(()=>[f(`div`,Me,a(t.name),1),f(`div`,Ne,[te(a(n.$t(`health.wakeupAt`,{time:Q(t.targetAt)}))+` `,1),t.reason?(e(),u(`span`,Pe,` · `+a(t.reason),1)):s(``,!0)])]),_:2},1024)]),_:2},1032,[`onClick`]))),128))]),_:1}))]),_:1})]),_:1}),c(g,{dark:``,flat:``,bordered:``},{default:i(()=>[c(h,null,{default:i(()=>[f(`div`,Fe,[c(p,{name:`autorenew`,size:`sm`,color:`amber-7`,class:`q-mr-sm`}),f(`div`,Ie,a(n.$t(`health.activeAutoLoop`)),1),c(b),c(y,{label:K.value.active.autoLoopActive.length,color:`grey-8`,"text-color":`grey-3`},null,8,[`label`])]),K.value.active.autoLoopActive.length===0?(e(),u(`div`,Le,a(n.$t(`health.noneActive`)),1)):(e(),o(x,{key:1,dense:``,dark:``,class:`q-mt-xs`},{default:i(()=>[(e(!0),u(d,null,t(K.value.active.autoLoopActive,t=>(e(),o(_,{key:t.workspaceId,clickable:``,onClick:e=>$(t.workspaceId)},{default:i(()=>[c(v,null,{default:i(()=>[f(`div`,Re,a(t.name),1),f(`div`,ze,a(t.ready?n.$t(`health.autoLoopReady`):n.$t(`health.autoLoopGrooming`)),1)]),_:2},1024)]),_:2},1032,[`onClick`]))),128))]),_:1}))]),_:1})]),_:1}),c(g,{dark:``,flat:``,bordered:``},{default:i(()=>[c(h,null,{default:i(()=>[f(`div`,Be,[c(p,{name:`play_arrow`,size:`sm`,color:`green-5`,class:`q-mr-sm`}),f(`div`,Ve,a(n.$t(`health.activeAgentSessions`)),1),c(b),c(y,{label:K.value.active.agentSessionsAlive.length,color:`grey-8`,"text-color":`grey-3`},null,8,[`label`])]),K.value.active.agentSessionsAlive.length===0?(e(),u(`div`,He,a(n.$t(`health.noneActive`)),1)):(e(),o(x,{key:1,dense:``,dark:``,class:`q-mt-xs`},{default:i(()=>[(e(!0),u(d,null,t(K.value.active.agentSessionsAlive,t=>(e(),o(_,{key:`${t.workspaceId}-${t.pid}`,clickable:``,onClick:e=>$(t.workspaceId)},{default:i(()=>[c(v,null,{default:i(()=>[f(`div`,Ue,a(t.workspaceName),1),f(`div`,We,` pid `+a(t.pid)+` · `+a(n.$t(`health.startedAgo`,{time:it(t.startedAt)})),1)]),_:2},1024)]),_:2},1032,[`onClick`]))),128))]),_:1}))]),_:1})]),_:1}),c(g,{dark:``,flat:``,bordered:``},{default:i(()=>[c(h,null,{default:i(()=>[f(`div`,Ge,[c(p,{name:`dns`,size:`sm`,color:`cyan-5`,class:`q-mr-sm`}),f(`div`,Ke,a(n.$t(`health.activeDevServers`)),1),c(b),c(y,{label:K.value.active.devServersRunning.length,color:`grey-8`,"text-color":`grey-3`},null,8,[`label`])]),K.value.active.devServersRunning.length===0?(e(),u(`div`,qe,a(n.$t(`health.noneActive`)),1)):(e(),o(x,{key:1,dense:``,dark:``,class:`q-mt-xs`},{default:i(()=>[(e(!0),u(d,null,t(K.value.active.devServersRunning,t=>(e(),o(_,{key:t.workspaceId,clickable:``,onClick:e=>$(t.workspaceId)},{default:i(()=>[c(v,null,{default:i(()=>[f(`div`,Je,a(t.name),1)]),_:2},1024)]),_:2},1032,[`onClick`]))),128))]),_:1}))]),_:1})]),_:1}),c(g,{dark:``,flat:``,bordered:``},{default:i(()=>[c(h,null,{default:i(()=>[f(`div`,Ye,a(n.$t(`health.integrationsTitle`)),1),f(`div`,Xe,[f(`div`,Ze,[c(p,{name:X(K.value.integrations.notion.configured),color:Z(K.value.integrations.notion.configured),size:`sm`},null,8,[`name`,`color`]),r[1]||=f(`span`,{class:`q-ml-sm text-body2`},`Notion`,-1),f(`span`,Qe,a(K.value.integrations.notion.configured?n.$t(`health.integrationConfigured`):n.$t(`health.integrationMissing`)),1)]),f(`div`,$e,[c(p,{name:X(K.value.integrations.sentry.configured),color:Z(K.value.integrations.sentry.configured),size:`sm`},null,8,[`name`,`color`]),r[2]||=f(`span`,{class:`q-ml-sm text-body2`},`Sentry`,-1),f(`span`,et,a(K.value.integrations.sentry.configured?n.$t(`health.integrationConfigured`):n.$t(`health.integrationMissing`)),1)]),f(`div`,tt,[c(p,{name:X(K.value.integrations.editor.configured),color:Z(K.value.integrations.editor.configured),size:`sm`},null,8,[`name`,`color`]),r[3]||=f(`span`,{class:`q-ml-sm text-body2`},`Editor`,-1),f(`span`,nt,a(K.value.integrations.editor.configured?n.$t(`health.integrationConfigured`):n.$t(`health.integrationMissing`)),1)])])]),_:1})]),_:1})])):s(``,!0)]),_:1}))}});export{W as default};
|
|
1
|
+
import{F as e,L as t,M as n,Q as r,U as i,_t as ee,bt as a,d as o,f as s,g as c,h as te,l,p as u,r as d,rt as ne,u as f,v as re}from"./runtime-core.esm-bundler-9Z0QAO_7.js";import{t as p}from"./QIcon-qfJNZLIW.js";import{t as m}from"./QBtn-CaJSOyt8.js";import{b as h,i as ie,v as g}from"./index-ABhgwrBB.js";import{n as _,t as v}from"./QItemSection-Bz1ZDJO5.js";import{t as y}from"./QBadge-C7r6oPSi.js";import{t as b}from"./QSpace-DKIph84L.js";import{t as x}from"./QList-BbnN_oNX.js";import{t as ae}from"./use-quasar-DQYS47mh.js";import{t as oe}from"./QPage-Co2h9wd_.js";var se={class:`row items-center q-mb-md`},ce={class:`text-h6 q-ml-sm`},le={key:0,class:`text-grey-6 text-center q-pa-lg`},ue={key:1,class:`column q-gutter-md`},de={class:`text-subtitle2 q-mb-sm`},S={class:`text-caption text-grey-6`},C={class:`text-body2`},w={class:`row items-center`},T={class:`text-subtitle2`},E={class:`row q-col-gutter-md q-mt-xs`},D={class:`col`},O={class:`text-caption text-grey-6`},k={class:`text-body2`},A={class:`col-auto`},j={class:`text-caption text-grey-6`},M={class:`text-body2`},N={class:`col-auto`},P={class:`text-caption text-grey-6`},F={class:`text-body2`},I={class:`text-subtitle2 q-mb-sm`},L={class:`column q-gutter-sm`},R={class:`row items-center`},z={class:`q-ml-sm text-body2`},B={key:0,class:`text-caption text-grey-5`},V={key:1,class:`text-caption text-negative`},H={class:`row items-center`},fe={class:`q-ml-sm text-body2`},pe={key:0,class:`text-caption text-grey-5`},me={key:1,class:`text-caption text-negative`},he={class:`row items-center`},ge={class:`text-subtitle2`},_e={class:`text-caption text-grey-6 q-mt-xs`},ve={key:0,class:`q-mt-sm`},ye={class:`text-caption text-negative q-mb-xs`},be={class:`text-body2`},xe={class:`text-caption text-grey-6`},Se={class:`row items-center`},Ce={class:`text-subtitle2`},we={class:`text-subtitle1 q-mt-md q-mb-xs text-grey-5`},Te={class:`row items-center`},Ee={class:`text-subtitle2`},U={key:0,class:`text-caption text-grey-7 q-mt-xs`},De={class:`text-body2`},Oe={class:`text-caption text-grey-6`},ke={class:`row items-center`},Ae={class:`text-subtitle2`},je={key:0,class:`text-caption text-grey-7 q-mt-xs`},Me={class:`text-body2`},Ne={class:`text-caption text-grey-6`},Pe={key:0},Fe={class:`row items-center`},Ie={class:`text-subtitle2`},Le={key:0,class:`text-caption text-grey-7 q-mt-xs`},Re={class:`text-body2`},ze={class:`text-caption text-grey-6`},Be={class:`row items-center`},Ve={class:`text-subtitle2`},He={key:0,class:`text-caption text-grey-7 q-mt-xs`},Ue={class:`text-body2`},We={class:`text-caption text-grey-6`},Ge={class:`row items-center`},Ke={class:`text-subtitle2`},qe={key:0,class:`text-caption text-grey-7 q-mt-xs`},Je={class:`text-body2`},Ye={class:`text-subtitle2 q-mb-sm`},Xe={class:`column q-gutter-xs`},Ze={class:`row items-center`},Qe={class:`q-ml-sm text-caption text-grey-6`},$e={class:`row items-center`},et={class:`q-ml-sm text-caption text-grey-6`},tt={class:`row items-center`},nt={class:`q-ml-sm text-caption text-grey-6`},W=re({__name:`HealthPage`,setup(re){let W=ae(),G=ie(),K=r(null),q=r(!1);async function J(){q.value=!0;try{let e=await fetch(`/api/health/report`);if(!e.ok)throw Error(`HTTP ${e.status}`);K.value=await e.json()}catch(e){W.notify({type:`negative`,message:String(e),position:`top`,timeout:4e3})}finally{q.value=!1}}n(J);let rt=l(()=>{let e=K.value?.db.sizeBytes;return e==null?`—`:e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/1024/1024).toFixed(1)} MB`}),Y=l(()=>{let e=K.value;return e?e.db.schemaVersion===e.db.currentSchemaVersion:!1});function X(e){return e?`check_circle`:`error`}function Z(e){return e?`positive`:`negative`}function Q(e){return new Date(e).toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`})}function it(e){let t=Date.now()-new Date(e).getTime();if(Number.isNaN(t)||t<0)return`—`;let n=Math.floor(t/1e3);if(n<60)return`${n}s`;let r=Math.floor(n/60);if(r<60)return`${r}m`;let i=Math.floor(r/60);return i<24?`${i}h${r%60?` ${r%60}m`:``}`:`${Math.floor(i/24)}d`}function $(e){G.push({name:`workspace`,params:{id:e}}).catch(()=>{})}return(n,r)=>(e(),o(oe,{class:`q-pa-md`,style:{"max-width":`900px`,margin:`0 auto`}},{default:i(()=>[f(`div`,se,[c(m,{flat:``,dense:``,round:``,icon:`arrow_back`,onClick:r[0]||=e=>ne(G).back()}),f(`div`,ce,a(n.$t(`health.title`)),1),c(b),c(m,{flat:``,dense:``,icon:`refresh`,loading:q.value,label:n.$t(`common.refresh`),onClick:J},null,8,[`loading`,`label`])]),!K.value&&q.value?(e(),u(`div`,le,a(n.$t(`common.loading`)),1)):K.value?(e(),u(`div`,ue,[c(g,{dark:``,flat:``,bordered:``},{default:i(()=>[c(h,null,{default:i(()=>[f(`div`,de,a(n.$t(`health.envTitle`)),1),f(`div`,S,a(n.$t(`health.koboHome`)),1),f(`div`,C,a(K.value.koboHome),1)]),_:1})]),_:1}),c(g,{dark:``,flat:``,bordered:``},{default:i(()=>[c(h,null,{default:i(()=>[f(`div`,w,[f(`div`,T,a(n.$t(`health.dbTitle`)),1),c(b),c(p,{name:X(Y.value),color:Z(Y.value)},null,8,[`name`,`color`])]),f(`div`,E,[f(`div`,D,[f(`div`,O,a(n.$t(`health.dbPath`)),1),f(`div`,k,a(K.value.db.path),1)]),f(`div`,A,[f(`div`,j,a(n.$t(`health.dbSize`)),1),f(`div`,M,a(rt.value),1)]),f(`div`,N,[f(`div`,P,a(n.$t(`health.schemaVersion`)),1),f(`div`,F,a(K.value.db.schemaVersion)+` / `+a(K.value.db.currentSchemaVersion),1)])])]),_:1})]),_:1}),c(g,{dark:``,flat:``,bordered:``},{default:i(()=>[c(h,null,{default:i(()=>[f(`div`,I,a(n.$t(`health.runtimesTitle`)),1),f(`div`,L,[f(`div`,R,[c(p,{name:X(K.value.claudeCli.available),color:Z(K.value.claudeCli.available),size:`sm`},null,8,[`name`,`color`]),f(`span`,z,a(n.$t(`health.claudeCliTitle`)),1),c(b),K.value.claudeCli.available?(e(),u(`span`,B,a(K.value.claudeCli.version),1)):(e(),u(`span`,V,a(n.$t(`health.claudeCliMissing`)),1))]),f(`div`,H,[c(p,{name:X(K.value.codexCli.available),color:Z(K.value.codexCli.available),size:`sm`},null,8,[`name`,`color`]),f(`span`,fe,a(n.$t(`health.codexCliTitle`)),1),c(b),K.value.codexCli.available?(e(),u(`span`,pe,a(K.value.codexCli.version),1)):(e(),u(`span`,me,a(n.$t(`health.codexCliMissing`)),1))])])]),_:1})]),_:1}),c(g,{dark:``,flat:``,bordered:``},{default:i(()=>[c(h,null,{default:i(()=>[f(`div`,he,[f(`div`,ge,a(n.$t(`health.workspacesTitle`)),1),c(b),c(p,{name:X(K.value.workspaces.worktreesMissing.length===0),color:Z(K.value.workspaces.worktreesMissing.length===0)},null,8,[`name`,`color`])]),f(`div`,_e,a(n.$t(`health.workspacesCount`,{total:K.value.workspaces.total,archived:K.value.workspaces.archived})),1),K.value.workspaces.worktreesMissing.length>0?(e(),u(`div`,ve,[f(`div`,ye,a(n.$t(`health.worktreesMissing`,{count:K.value.workspaces.worktreesMissing.length})),1),c(x,{dense:``,dark:``},{default:i(()=>[(e(!0),u(d,null,t(K.value.workspaces.worktreesMissing,t=>(e(),o(_,{key:t.workspaceId},{default:i(()=>[c(v,null,{default:i(()=>[f(`div`,be,a(t.name),1),f(`div`,xe,a(t.path),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})])):s(``,!0)]),_:1})]),_:1}),c(g,{dark:``,flat:``,bordered:``},{default:i(()=>[c(h,null,{default:i(()=>[f(`div`,Se,[f(`div`,Ce,a(n.$t(`health.sessionsTitle`)),1),c(b),c(p,{name:X(K.value.agentSessions.orphaned===0),color:Z(K.value.agentSessions.orphaned===0)},null,8,[`name`,`color`])]),f(`div`,{class:ee([`text-caption q-mt-xs`,K.value.agentSessions.orphaned>0?`text-negative`:`text-grey-6`])},a(n.$t(`health.sessionsOrphaned`,{n:K.value.agentSessions.orphaned})),3)]),_:1})]),_:1}),f(`div`,we,a(n.$t(`health.activeTitle`)),1),c(g,{dark:``,flat:``,bordered:``},{default:i(()=>[c(h,null,{default:i(()=>[f(`div`,Te,[c(p,{name:`hourglass_top`,size:`sm`,color:`amber-6`,class:`q-mr-sm`}),f(`div`,Ee,a(n.$t(`health.activeQuotaBackoffs`)),1),c(b),c(y,{label:K.value.active.quotaBackoffs.length,color:`grey-8`,"text-color":`grey-3`},null,8,[`label`])]),K.value.active.quotaBackoffs.length===0?(e(),u(`div`,U,a(n.$t(`health.noneActive`)),1)):(e(),o(x,{key:1,dense:``,dark:``,class:`q-mt-xs`},{default:i(()=>[(e(!0),u(d,null,t(K.value.active.quotaBackoffs,t=>(e(),o(_,{key:t.workspaceId,clickable:``,onClick:e=>$(t.workspaceId)},{default:i(()=>[c(v,null,{default:i(()=>[f(`div`,De,a(t.name),1),f(`div`,Oe,a(n.$t(`health.quotaResumeAt`,{time:Q(t.targetAt)}))+` · `+a(t.source)+` · retry #`+a(t.retryCount),1)]),_:2},1024)]),_:2},1032,[`onClick`]))),128))]),_:1}))]),_:1})]),_:1}),c(g,{dark:``,flat:``,bordered:``},{default:i(()=>[c(h,null,{default:i(()=>[f(`div`,ke,[c(p,{name:`schedule`,size:`sm`,color:`indigo-4`,class:`q-mr-sm`}),f(`div`,Ae,a(n.$t(`health.activeWakeups`)),1),c(b),c(y,{label:K.value.active.pendingWakeups.length,color:`grey-8`,"text-color":`grey-3`},null,8,[`label`])]),K.value.active.pendingWakeups.length===0?(e(),u(`div`,je,a(n.$t(`health.noneActive`)),1)):(e(),o(x,{key:1,dense:``,dark:``,class:`q-mt-xs`},{default:i(()=>[(e(!0),u(d,null,t(K.value.active.pendingWakeups,t=>(e(),o(_,{key:t.workspaceId,clickable:``,onClick:e=>$(t.workspaceId)},{default:i(()=>[c(v,null,{default:i(()=>[f(`div`,Me,a(t.name),1),f(`div`,Ne,[te(a(n.$t(`health.wakeupAt`,{time:Q(t.targetAt)}))+` `,1),t.reason?(e(),u(`span`,Pe,` · `+a(t.reason),1)):s(``,!0)])]),_:2},1024)]),_:2},1032,[`onClick`]))),128))]),_:1}))]),_:1})]),_:1}),c(g,{dark:``,flat:``,bordered:``},{default:i(()=>[c(h,null,{default:i(()=>[f(`div`,Fe,[c(p,{name:`autorenew`,size:`sm`,color:`amber-7`,class:`q-mr-sm`}),f(`div`,Ie,a(n.$t(`health.activeAutoLoop`)),1),c(b),c(y,{label:K.value.active.autoLoopActive.length,color:`grey-8`,"text-color":`grey-3`},null,8,[`label`])]),K.value.active.autoLoopActive.length===0?(e(),u(`div`,Le,a(n.$t(`health.noneActive`)),1)):(e(),o(x,{key:1,dense:``,dark:``,class:`q-mt-xs`},{default:i(()=>[(e(!0),u(d,null,t(K.value.active.autoLoopActive,t=>(e(),o(_,{key:t.workspaceId,clickable:``,onClick:e=>$(t.workspaceId)},{default:i(()=>[c(v,null,{default:i(()=>[f(`div`,Re,a(t.name),1),f(`div`,ze,a(t.ready?n.$t(`health.autoLoopReady`):n.$t(`health.autoLoopGrooming`)),1)]),_:2},1024)]),_:2},1032,[`onClick`]))),128))]),_:1}))]),_:1})]),_:1}),c(g,{dark:``,flat:``,bordered:``},{default:i(()=>[c(h,null,{default:i(()=>[f(`div`,Be,[c(p,{name:`play_arrow`,size:`sm`,color:`green-5`,class:`q-mr-sm`}),f(`div`,Ve,a(n.$t(`health.activeAgentSessions`)),1),c(b),c(y,{label:K.value.active.agentSessionsAlive.length,color:`grey-8`,"text-color":`grey-3`},null,8,[`label`])]),K.value.active.agentSessionsAlive.length===0?(e(),u(`div`,He,a(n.$t(`health.noneActive`)),1)):(e(),o(x,{key:1,dense:``,dark:``,class:`q-mt-xs`},{default:i(()=>[(e(!0),u(d,null,t(K.value.active.agentSessionsAlive,t=>(e(),o(_,{key:`${t.workspaceId}-${t.pid}`,clickable:``,onClick:e=>$(t.workspaceId)},{default:i(()=>[c(v,null,{default:i(()=>[f(`div`,Ue,a(t.workspaceName),1),f(`div`,We,` pid `+a(t.pid)+` · `+a(n.$t(`health.startedAgo`,{time:it(t.startedAt)})),1)]),_:2},1024)]),_:2},1032,[`onClick`]))),128))]),_:1}))]),_:1})]),_:1}),c(g,{dark:``,flat:``,bordered:``},{default:i(()=>[c(h,null,{default:i(()=>[f(`div`,Ge,[c(p,{name:`dns`,size:`sm`,color:`cyan-5`,class:`q-mr-sm`}),f(`div`,Ke,a(n.$t(`health.activeDevServers`)),1),c(b),c(y,{label:K.value.active.devServersRunning.length,color:`grey-8`,"text-color":`grey-3`},null,8,[`label`])]),K.value.active.devServersRunning.length===0?(e(),u(`div`,qe,a(n.$t(`health.noneActive`)),1)):(e(),o(x,{key:1,dense:``,dark:``,class:`q-mt-xs`},{default:i(()=>[(e(!0),u(d,null,t(K.value.active.devServersRunning,t=>(e(),o(_,{key:t.workspaceId,clickable:``,onClick:e=>$(t.workspaceId)},{default:i(()=>[c(v,null,{default:i(()=>[f(`div`,Je,a(t.name),1)]),_:2},1024)]),_:2},1032,[`onClick`]))),128))]),_:1}))]),_:1})]),_:1}),c(g,{dark:``,flat:``,bordered:``},{default:i(()=>[c(h,null,{default:i(()=>[f(`div`,Ye,a(n.$t(`health.integrationsTitle`)),1),f(`div`,Xe,[f(`div`,Ze,[c(p,{name:X(K.value.integrations.notion.configured),color:Z(K.value.integrations.notion.configured),size:`sm`},null,8,[`name`,`color`]),r[1]||=f(`span`,{class:`q-ml-sm text-body2`},`Notion`,-1),f(`span`,Qe,a(K.value.integrations.notion.configured?n.$t(`health.integrationConfigured`):n.$t(`health.integrationMissing`)),1)]),f(`div`,$e,[c(p,{name:X(K.value.integrations.sentry.configured),color:Z(K.value.integrations.sentry.configured),size:`sm`},null,8,[`name`,`color`]),r[2]||=f(`span`,{class:`q-ml-sm text-body2`},`Sentry`,-1),f(`span`,et,a(K.value.integrations.sentry.configured?n.$t(`health.integrationConfigured`):n.$t(`health.integrationMissing`)),1)]),f(`div`,tt,[c(p,{name:X(K.value.integrations.editor.configured),color:Z(K.value.integrations.editor.configured),size:`sm`},null,8,[`name`,`color`]),r[3]||=f(`span`,{class:`q-ml-sm text-body2`},`Editor`,-1),f(`span`,nt,a(K.value.integrations.editor.configured?n.$t(`health.integrationConfigured`):n.$t(`health.integrationMissing`)),1)])])]),_:1})]),_:1})])):s(``,!0)]),_:1}))}});export{W as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.acceptance-item[data-v-20a94a3d]{padding:2px 0}.acceptance-item[data-v-20a94a3d]:hover{background-color:#ffffff08}.acceptance-item:hover .criterion-delete-btn[data-v-20a94a3d]{opacity:1}.criterion-delete-btn[data-v-20a94a3d]{opacity:0;transition:opacity .15s}.acceptance-title[data-v-20a94a3d]{word-break:break-word;cursor:text;line-height:1.4}.text-strike[data-v-20a94a3d]{opacity:.7;text-decoration:line-through}.criterion-input[data-v-20a94a3d] .q-field__control{height:22px;min-height:22px;padding:0}.criterion-input[data-v-20a94a3d] input{color:#e0e0e0;font-size:12px}.criterion-input[data-v-20a94a3d] input::placeholder{color:#555}.criterion-add-row[data-v-20a94a3d],.todo-item[data-v-6a3613f7]{padding:2px 0}.todo-title[data-v-6a3613f7]{word-break:break-word;line-height:1.4}.text-strike[data-v-6a3613f7]{opacity:.7;text-decoration:line-through}.documents-tree[data-v-89e5de13] .q-tree__node--selected>.q-tree__node-header{background:#7986cb26}.documents-tree[data-v-89e5de13] .q-tree__node-header{padding:2px 4px}.document-content[data-v-89e5de13]{color:#d0d0d0;overflow-wrap:break-word;font-size:12px;line-height:1.6}.document-content[data-v-89e5de13] h1{color:#e0e0e0;margin:16px 0 8px;font-size:16px}.document-content[data-v-89e5de13] h2{color:#e0e0e0;margin:14px 0 6px;font-size:14px}.document-content[data-v-89e5de13] h3{color:#e0e0e0;margin:12px 0 4px;font-size:13px}.document-content[data-v-89e5de13] code{background:#1a1a2e;border-radius:3px;padding:1px 4px;font-family:Roboto Mono,monospace;font-size:11px}.document-content[data-v-89e5de13] pre{background:#1a1a2e;border-radius:6px;padding:8px 12px;font-size:11px;overflow-x:auto}.document-content[data-v-89e5de13] pre code{background:0 0;padding:0}.document-content[data-v-89e5de13] ul,.document-content[data-v-89e5de13] ol{padding-left:20px}.document-content[data-v-89e5de13] li{margin-bottom:2px}.document-content[data-v-89e5de13] input[type=checkbox]{pointer-events:none;margin-right:6px}.document-content[data-v-89e5de13] table{border-collapse:collapse;width:100%;margin:8px 0;font-size:11px}.document-content[data-v-89e5de13] th,.document-content[data-v-89e5de13] td{text-align:left;border:1px solid #2a2a4a;padding:4px 8px}.document-content[data-v-89e5de13] th{color:#e0e0e0;background:#1a1a2e}.document-content[data-v-89e5de13] blockquote{color:#a0a0b0;border-left:3px solid #4a4a6a;margin:8px 0;padding:4px 12px}.document-content[data-v-89e5de13] a{color:#818cf8}.document-content[data-v-89e5de13] hr{border:none;border-top:1px solid #2a2a4a;margin:12px 0}.commit-item[data-v-fd1cc184]:hover{background:#ffffff0a}.commit-sha[data-v-fd1cc184]{font-family:Roboto Mono,monospace;font-size:11px}.commit-subject[data-v-fd1cc184]{max-width:480px;font-size:12px}.pr-panel__header[data-v-c2a3e5a5]{border-bottom:1px solid #2a2a4a;padding-bottom:8px}.pr-panel__number[data-v-c2a3e5a5]{color:#a5b4fc;font-size:12px;font-weight:600;text-decoration:none}.pr-panel__title[data-v-c2a3e5a5]{color:#ddd;font-size:12px}.pr-panel__state[data-v-c2a3e5a5],.pr-panel__badge[data-v-c2a3e5a5],.pr-panel__label-chip[data-v-c2a3e5a5]{font-size:10px;font-weight:600}.pr-panel__grid[data-v-c2a3e5a5]{grid-template-columns:90px 1fr;gap:6px 12px;padding:8px 0;font-size:11px;display:grid}.pr-panel__label[data-v-c2a3e5a5]{color:#9ca3af;text-transform:uppercase;letter-spacing:.05em;align-self:center;font-size:10px}.pr-panel__value[data-v-c2a3e5a5]{color:#ddd}.pr-panel__reviewers[data-v-c2a3e5a5]{flex-wrap:wrap;gap:4px 8px;display:flex}.pr-panel__reviewer[data-v-c2a3e5a5]{align-items:center;gap:4px;display:inline-flex}.pr-panel__dot[data-v-c2a3e5a5]{border-radius:50%;width:7px;height:7px;display:inline-block}.pr-panel__ci[data-v-c2a3e5a5]{color:#ddd;border-top:1px solid #2a2a4a;padding-top:8px;font-size:11px}.pr-panel__ci-details[data-v-c2a3e5a5]{color:#9ca3af;font-size:10px}.git-btn[data-v-e4b54c68]{padding:2px 8px;font-size:11px}.git-sync-btn[data-v-e4b54c68]{padding:2px 0}.git-sync-btn[data-v-e4b54c68] .q-btn__content{padding:0 8px}.git-sync-btn[data-v-e4b54c68] .q-btn-dropdown__arrow-container{border-left:1px solid #ffffff1f;padding:0 4px}.git-sync-btn[data-v-e4b54c68] .q-btn-dropdown--split{gap:0}.commit-toggle[data-v-e4b54c68]:hover{background-color:#ffffff08;border-radius:3px}.commit-list[data-v-e4b54c68]{border-left:2px solid #ffffff0a;max-height:260px;margin-left:7px;padding-left:6px;overflow-y:auto}.commit-item[data-v-e4b54c68]{border-radius:3px;padding:3px 4px;font-size:11px;line-height:1.3;transition:background-color .1s}.commit-item[data-v-e4b54c68]:hover{background-color:#818cf814}.commit-item-icon[data-v-e4b54c68]{flex-shrink:0}.commit-sha[data-v-e4b54c68]{flex-shrink:0;font-family:Roboto Mono,monospace;font-size:10.5px}.commit-subject[data-v-e4b54c68]{min-width:0;font-size:11px}.arrow-clickable[data-v-e4b54c68]{transition:opacity .15s}.arrow-clickable[data-v-e4b54c68]:hover{opacity:.75;text-decoration:underline}.git-subcard[data-v-e4b54c68]{background:#1f2538;border-radius:4px;margin-bottom:8px;padding:8px 10px}.git-subcard-title[data-v-e4b54c68]{color:#6b7280;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:9px;font-weight:600}.git-branch-code{color:#c7d2fe;overflow-wrap:anywhere;background-color:#818cf824;border-radius:3px;padding:1px 5px;font-family:Roboto Mono,monospace;font-size:11px}.prompt-preview[data-v-891bf3cf]{white-space:pre-wrap;word-break:break-word;margin:0}.subagents-panel[data-v-dd805632]{overflow-y:auto}.subagent-item[data-v-dd805632]{background:#1e1e3a;border:1px solid #2a2a4a}.task-item[data-v-4bc9713a]{padding:2px 0}.task-item[data-v-4bc9713a]:hover{background-color:#ffffff08}.task-item:hover .task-delete-btn[data-v-4bc9713a]{opacity:1}.task-delete-btn[data-v-4bc9713a]{opacity:0;transition:opacity .15s}.task-title[data-v-4bc9713a]{word-break:break-word;cursor:text;line-height:1.4}.text-strike[data-v-4bc9713a]{opacity:.7;text-decoration:line-through}.task-input[data-v-4bc9713a] .q-field__control{height:22px;min-height:22px;padding:0}.task-input[data-v-4bc9713a] input{color:#e0e0e0;font-size:12px}.task-input[data-v-4bc9713a] input::placeholder{color:#555}.task-add-row[data-v-4bc9713a]{padding:2px 0}.xterm{cursor:text;-webkit-user-select:none;user-select:none;position:relative}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{z-index:5;position:absolute;top:0}.xterm .xterm-helper-textarea{opacity:0;z-index:-5;white-space:nowrap;resize:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute;top:0;left:-9999em;overflow:hidden}.xterm .composition-view{color:#fff;white-space:nowrap;z-index:1;background:#000;display:none;position:absolute}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{cursor:default;background-color:#000;position:absolute;top:0;bottom:0;left:0;right:0;overflow-y:scroll}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;top:0;left:0}.xterm-char-measure-element{visibility:hidden;line-height:normal;display:inline-block;position:absolute;top:0;left:-9999em}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{z-index:10;color:#0000;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.xterm .xterm-accessibility-tree:not(.debug) ::-moz-selection{color:#0000}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:#0000}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre;font-family:monospace}.xterm .xterm-accessibility-tree>div{transform-origin:0;width:-moz-fit-content;width:fit-content}.xterm .live-region{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:underline double;text-decoration:underline double}.xterm-underline-3{-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.xterm-underline-4{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.xterm-underline-5{-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:underline overline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;pointer-events:none;position:absolute;top:0;right:0}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;z-index:11;background:0 0;transition:opacity .1s linear}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{display:none;position:absolute}.xterm .xterm-scrollable-element>.shadow.top{width:100%;height:3px;box-shadow:var(--vscode-scrollbar-shadow,#000) 0 6px 6px -6px inset;display:block;top:0;left:3px}.xterm .xterm-scrollable-element>.shadow.left{width:3px;height:100%;box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset;display:block;top:3px;left:0}.xterm .xterm-scrollable-element>.shadow.top-left-corner{width:3px;height:3px;display:block;top:0;left:0}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset}.log-content[data-v-d988f9ab]{max-height:60vh;overflow-y:auto}.log-text[data-v-d988f9ab]{color:#ccc;white-space:pre-wrap;word-break:break-all;background:#0d0d1a;margin:0;font-family:JetBrains Mono,Fira Code,monospace;font-size:11px}.dd-panel[data-v-9d25d6ee],.tools-panel[data-v-88a83f94]{min-height:48px}.auto-loop-spin[data-v-bedbf93a]{animation:2s linear infinite auto-loop-spin-bedbf93a}@keyframes auto-loop-spin-bedbf93a{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dd-dot[data-v-bedbf93a]{border-radius:50%;flex-shrink:0;width:6px;height:6px}.dd-dot--running[data-v-bedbf93a]{background-color:#22c55e;box-shadow:0 0 4px #22c55e80}.workspace-list[data-v-49df2c29]{background-color:#16162a;overflow-x:hidden}.wl-search[data-v-49df2c29]{background-color:#224;padding:0 8px}.wl-search[data-v-49df2c29] .q-field__control{height:32px}.wl-search[data-v-49df2c29] input{color:#ccc;font-size:12px}.wl-group-header[data-v-49df2c29]:hover{background-color:#ffffff08}.wl-project-group+.wl-project-group[data-v-49df2c29]{margin-top:6px}.wl-project-label[data-v-49df2c29]{align-items:center;padding-bottom:2px;font-size:11px;display:flex}.wl-item[data-v-49df2c29]{background-color:#224;margin-bottom:4px;transition:background-color .15s,box-shadow .15s;position:relative}.wl-item[data-v-49df2c29]:last-child{margin-bottom:0}.wl-item[data-v-49df2c29]:hover{background-color:#2a2a4a}.wl-item--selected[data-v-49df2c29]{background-color:#393969;outline:1.5px solid #6c63fff2;box-shadow:0 0 0 1px #6c63ff4d,0 2px 8px #6c63ff40}.wl-item--selected[data-v-49df2c29]:hover{background-color:#41417a}.wl-item--selected .wl-item-name[data-v-49df2c29]{color:#fff!important;opacity:1!important}.wl-item-action[data-v-49df2c29]{position:absolute;top:4px;right:4px}.wl-item--archived .wl-item-action[data-v-49df2c29]{opacity:0;transition:opacity .15s}.wl-item--archived:hover .wl-item-action[data-v-49df2c29]{opacity:1}.wl-item-unarchive[data-v-49df2c29]{right:28px}.wl-item-delete[data-v-49df2c29]{right:4px}.wl-item--archived[data-v-49df2c29]{opacity:.6;background-color:#1a1a30}.wl-item--archived[data-v-49df2c29]:hover{opacity:.85}.wl-item--archived.wl-item--selected[data-v-49df2c29]{opacity:1}.bg-dark[data-v-c075eec4]{background-color:#16162a!important;border-color:#2a2a4a!important}.resize-handle[data-v-c075eec4]{cursor:col-resize;z-index:10;width:4px;height:100%;transition:background-color .15s;position:absolute;top:0;right:-2px}.resize-handle[data-v-c075eec4]:hover,.resize-handle[data-v-c075eec4]:active{background-color:#6c63ff80}.resize-handle--right[data-v-c075eec4]{left:-2px;right:auto}.vertical-resize-handle[data-v-c075eec4]{cursor:row-resize;background-color:#2a2a4a;height:4px;transition:background-color .15s}.vertical-resize-handle[data-v-c075eec4]:hover,.vertical-resize-handle[data-v-c075eec4]:active{background-color:#6c63ff80}
|
|
1
|
+
.acceptance-item[data-v-20a94a3d]{padding:2px 0}.acceptance-item[data-v-20a94a3d]:hover{background-color:#ffffff08}.acceptance-item:hover .criterion-delete-btn[data-v-20a94a3d]{opacity:1}.criterion-delete-btn[data-v-20a94a3d]{opacity:0;transition:opacity .15s}.acceptance-title[data-v-20a94a3d]{word-break:break-word;cursor:text;line-height:1.4}.text-strike[data-v-20a94a3d]{opacity:.7;text-decoration:line-through}.criterion-input[data-v-20a94a3d] .q-field__control{height:22px;min-height:22px;padding:0}.criterion-input[data-v-20a94a3d] input{color:#e0e0e0;font-size:12px}.criterion-input[data-v-20a94a3d] input::placeholder{color:#555}.criterion-add-row[data-v-20a94a3d],.todo-item[data-v-6a3613f7]{padding:2px 0}.todo-title[data-v-6a3613f7]{word-break:break-word;line-height:1.4}.text-strike[data-v-6a3613f7]{opacity:.7;text-decoration:line-through}.documents-tree[data-v-89e5de13] .q-tree__node--selected>.q-tree__node-header{background:#7986cb26}.documents-tree[data-v-89e5de13] .q-tree__node-header{padding:2px 4px}.document-content[data-v-89e5de13]{color:#d0d0d0;overflow-wrap:break-word;font-size:12px;line-height:1.6}.document-content[data-v-89e5de13] h1{color:#e0e0e0;margin:16px 0 8px;font-size:16px}.document-content[data-v-89e5de13] h2{color:#e0e0e0;margin:14px 0 6px;font-size:14px}.document-content[data-v-89e5de13] h3{color:#e0e0e0;margin:12px 0 4px;font-size:13px}.document-content[data-v-89e5de13] code{background:#1a1a2e;border-radius:3px;padding:1px 4px;font-family:Roboto Mono,monospace;font-size:11px}.document-content[data-v-89e5de13] pre{background:#1a1a2e;border-radius:6px;padding:8px 12px;font-size:11px;overflow-x:auto}.document-content[data-v-89e5de13] pre code{background:0 0;padding:0}.document-content[data-v-89e5de13] ul,.document-content[data-v-89e5de13] ol{padding-left:20px}.document-content[data-v-89e5de13] li{margin-bottom:2px}.document-content[data-v-89e5de13] input[type=checkbox]{pointer-events:none;margin-right:6px}.document-content[data-v-89e5de13] table{border-collapse:collapse;width:100%;margin:8px 0;font-size:11px}.document-content[data-v-89e5de13] th,.document-content[data-v-89e5de13] td{text-align:left;border:1px solid #2a2a4a;padding:4px 8px}.document-content[data-v-89e5de13] th{color:#e0e0e0;background:#1a1a2e}.document-content[data-v-89e5de13] blockquote{color:#a0a0b0;border-left:3px solid #4a4a6a;margin:8px 0;padding:4px 12px}.document-content[data-v-89e5de13] a{color:#818cf8}.document-content[data-v-89e5de13] hr{border:none;border-top:1px solid #2a2a4a;margin:12px 0}.commit-item[data-v-fd1cc184]:hover{background:#ffffff0a}.commit-sha[data-v-fd1cc184]{font-family:Roboto Mono,monospace;font-size:11px}.commit-subject[data-v-fd1cc184]{max-width:480px;font-size:12px}.pr-panel__header[data-v-c2a3e5a5]{border-bottom:1px solid #2a2a4a;padding-bottom:8px}.pr-panel__number[data-v-c2a3e5a5]{color:#a5b4fc;font-size:12px;font-weight:600;text-decoration:none}.pr-panel__title[data-v-c2a3e5a5]{color:#ddd;font-size:12px}.pr-panel__state[data-v-c2a3e5a5],.pr-panel__badge[data-v-c2a3e5a5],.pr-panel__label-chip[data-v-c2a3e5a5]{font-size:10px;font-weight:600}.pr-panel__grid[data-v-c2a3e5a5]{grid-template-columns:90px 1fr;gap:6px 12px;padding:8px 0;font-size:11px;display:grid}.pr-panel__label[data-v-c2a3e5a5]{color:#9ca3af;text-transform:uppercase;letter-spacing:.05em;align-self:center;font-size:10px}.pr-panel__value[data-v-c2a3e5a5]{color:#ddd}.pr-panel__reviewers[data-v-c2a3e5a5]{flex-wrap:wrap;gap:4px 8px;display:flex}.pr-panel__reviewer[data-v-c2a3e5a5]{align-items:center;gap:4px;display:inline-flex}.pr-panel__dot[data-v-c2a3e5a5]{border-radius:50%;width:7px;height:7px;display:inline-block}.pr-panel__ci[data-v-c2a3e5a5]{color:#ddd;border-top:1px solid #2a2a4a;padding-top:8px;font-size:11px}.pr-panel__ci-details[data-v-c2a3e5a5]{color:#9ca3af;font-size:10px}.git-btn[data-v-b3924e0e]{padding:2px 8px;font-size:11px}.git-sync-btn[data-v-b3924e0e]{padding:2px 0}.git-sync-btn[data-v-b3924e0e] .q-btn__content{padding:0 8px}.git-sync-btn[data-v-b3924e0e] .q-btn-dropdown__arrow-container{border-left:1px solid #ffffff1f;padding:0 4px}.git-sync-btn[data-v-b3924e0e] .q-btn-dropdown--split{gap:0}.commit-toggle[data-v-b3924e0e]:hover{background-color:#ffffff08;border-radius:3px}.commit-list[data-v-b3924e0e]{border-left:2px solid #ffffff0a;max-height:260px;margin-left:7px;padding-left:6px;overflow-y:auto}.commit-item[data-v-b3924e0e]{border-radius:3px;padding:3px 4px;font-size:11px;line-height:1.3;transition:background-color .1s}.commit-item[data-v-b3924e0e]:hover{background-color:#818cf814}.commit-item-icon[data-v-b3924e0e]{flex-shrink:0}.commit-sha[data-v-b3924e0e]{flex-shrink:0;font-family:Roboto Mono,monospace;font-size:10.5px}.commit-subject[data-v-b3924e0e]{min-width:0;font-size:11px}.arrow-clickable[data-v-b3924e0e]{transition:opacity .15s}.arrow-clickable[data-v-b3924e0e]:hover{opacity:.75;text-decoration:underline}.git-subcard[data-v-b3924e0e]{background:#1f2538;border-radius:4px;margin-bottom:8px;padding:8px 10px}.git-subcard-title[data-v-b3924e0e]{color:#6b7280;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:9px;font-weight:600}.git-branch-code{color:#c7d2fe;overflow-wrap:anywhere;background-color:#818cf824;border-radius:3px;padding:1px 5px;font-family:Roboto Mono,monospace;font-size:11px}.prompt-preview[data-v-891bf3cf]{white-space:pre-wrap;word-break:break-word;margin:0}.subagents-panel[data-v-dd805632]{overflow-y:auto}.subagent-item[data-v-dd805632]{background:#1e1e3a;border:1px solid #2a2a4a}.task-item[data-v-4bc9713a]{padding:2px 0}.task-item[data-v-4bc9713a]:hover{background-color:#ffffff08}.task-item:hover .task-delete-btn[data-v-4bc9713a]{opacity:1}.task-delete-btn[data-v-4bc9713a]{opacity:0;transition:opacity .15s}.task-title[data-v-4bc9713a]{word-break:break-word;cursor:text;line-height:1.4}.text-strike[data-v-4bc9713a]{opacity:.7;text-decoration:line-through}.task-input[data-v-4bc9713a] .q-field__control{height:22px;min-height:22px;padding:0}.task-input[data-v-4bc9713a] input{color:#e0e0e0;font-size:12px}.task-input[data-v-4bc9713a] input::placeholder{color:#555}.task-add-row[data-v-4bc9713a]{padding:2px 0}.xterm{cursor:text;-webkit-user-select:none;user-select:none;position:relative}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{z-index:5;position:absolute;top:0}.xterm .xterm-helper-textarea{opacity:0;z-index:-5;white-space:nowrap;resize:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute;top:0;left:-9999em;overflow:hidden}.xterm .composition-view{color:#fff;white-space:nowrap;z-index:1;background:#000;display:none;position:absolute}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{cursor:default;background-color:#000;position:absolute;top:0;bottom:0;left:0;right:0;overflow-y:scroll}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;top:0;left:0}.xterm-char-measure-element{visibility:hidden;line-height:normal;display:inline-block;position:absolute;top:0;left:-9999em}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{z-index:10;color:#0000;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.xterm .xterm-accessibility-tree:not(.debug) ::-moz-selection{color:#0000}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:#0000}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre;font-family:monospace}.xterm .xterm-accessibility-tree>div{transform-origin:0;width:-moz-fit-content;width:fit-content}.xterm .live-region{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:underline double;text-decoration:underline double}.xterm-underline-3{-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.xterm-underline-4{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.xterm-underline-5{-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:underline overline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;pointer-events:none;position:absolute;top:0;right:0}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;z-index:11;background:0 0;transition:opacity .1s linear}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{display:none;position:absolute}.xterm .xterm-scrollable-element>.shadow.top{width:100%;height:3px;box-shadow:var(--vscode-scrollbar-shadow,#000) 0 6px 6px -6px inset;display:block;top:0;left:3px}.xterm .xterm-scrollable-element>.shadow.left{width:3px;height:100%;box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset;display:block;top:3px;left:0}.xterm .xterm-scrollable-element>.shadow.top-left-corner{width:3px;height:3px;display:block;top:0;left:0}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset}.log-content[data-v-d988f9ab]{max-height:60vh;overflow-y:auto}.log-text[data-v-d988f9ab]{color:#ccc;white-space:pre-wrap;word-break:break-all;background:#0d0d1a;margin:0;font-family:JetBrains Mono,Fira Code,monospace;font-size:11px}.dd-panel[data-v-9d25d6ee],.tools-panel[data-v-88a83f94]{min-height:48px}.auto-loop-spin[data-v-bedbf93a]{animation:2s linear infinite auto-loop-spin-bedbf93a}@keyframes auto-loop-spin-bedbf93a{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dd-dot[data-v-bedbf93a]{border-radius:50%;flex-shrink:0;width:6px;height:6px}.dd-dot--running[data-v-bedbf93a]{background-color:#22c55e;box-shadow:0 0 4px #22c55e80}.workspace-list[data-v-49df2c29]{background-color:#16162a;overflow-x:hidden}.wl-search[data-v-49df2c29]{background-color:#224;padding:0 8px}.wl-search[data-v-49df2c29] .q-field__control{height:32px}.wl-search[data-v-49df2c29] input{color:#ccc;font-size:12px}.wl-group-header[data-v-49df2c29]:hover{background-color:#ffffff08}.wl-project-group+.wl-project-group[data-v-49df2c29]{margin-top:6px}.wl-project-label[data-v-49df2c29]{align-items:center;padding-bottom:2px;font-size:11px;display:flex}.wl-item[data-v-49df2c29]{background-color:#224;margin-bottom:4px;transition:background-color .15s,box-shadow .15s;position:relative}.wl-item[data-v-49df2c29]:last-child{margin-bottom:0}.wl-item[data-v-49df2c29]:hover{background-color:#2a2a4a}.wl-item--selected[data-v-49df2c29]{background-color:#393969;outline:1.5px solid #6c63fff2;box-shadow:0 0 0 1px #6c63ff4d,0 2px 8px #6c63ff40}.wl-item--selected[data-v-49df2c29]:hover{background-color:#41417a}.wl-item--selected .wl-item-name[data-v-49df2c29]{color:#fff!important;opacity:1!important}.wl-item-action[data-v-49df2c29]{position:absolute;top:4px;right:4px}.wl-item--archived .wl-item-action[data-v-49df2c29]{opacity:0;transition:opacity .15s}.wl-item--archived:hover .wl-item-action[data-v-49df2c29]{opacity:1}.wl-item-unarchive[data-v-49df2c29]{right:28px}.wl-item-delete[data-v-49df2c29]{right:4px}.wl-item--archived[data-v-49df2c29]{opacity:.6;background-color:#1a1a30}.wl-item--archived[data-v-49df2c29]:hover{opacity:.85}.wl-item--archived.wl-item--selected[data-v-49df2c29]{opacity:1}.bg-dark[data-v-c075eec4]{background-color:#16162a!important;border-color:#2a2a4a!important}.resize-handle[data-v-c075eec4]{cursor:col-resize;z-index:10;width:4px;height:100%;transition:background-color .15s;position:absolute;top:0;right:-2px}.resize-handle[data-v-c075eec4]:hover,.resize-handle[data-v-c075eec4]:active{background-color:#6c63ff80}.resize-handle--right[data-v-c075eec4]{left:-2px;right:auto}.vertical-resize-handle[data-v-c075eec4]{cursor:row-resize;background-color:#2a2a4a;height:4px;transition:background-color .15s}.vertical-resize-handle[data-v-c075eec4]:hover,.vertical-resize-handle[data-v-c075eec4]:active{background-color:#6c63ff80}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/DiffViewer-
|
|
2
|
-
import{E as e,F as t,H as n,I as r,L as i,M as a,N as o,Q as s,R as c,S as l,U as u,W as d,Z as f,_ as p,_t as m,bt as h,d as g,f as _,g as v,h as y,k as b,l as x,p as S,r as C,rt as w,u as T,v as E,w as D,y as O,yt as k}from"./runtime-core.esm-bundler-9Z0QAO_7.js";import{H as A,M as j,P as M,U as N,V as ee,_ as te,a as P,g as ne,i as F,l as I,m as re,n as ie,r as ae,s as oe,t as L}from"./QIcon-qfJNZLIW.js";import{p as R,r as se,t as ce}from"./use-id-_7wiRcgb.js";import{A as le,M as ue,P as de,h as z,j as fe,k as pe,s as me}from"./notifications-CEyiPnmw.js";import{n as he,r as ge,t as B}from"./QBtn-CaJSOyt8.js";import{n as _e}from"./vue-i18n-CKCtKE87.js";import{n as ve}from"./QRadio-4HnR_A-K.js";import{t as ye}from"./QInput-DCJEwE8V.js";import{t as be}from"./QCheckbox-BvHfXBFY.js";import{t as xe}from"./QToggle-DNOTC_3a.js";import{_ as Se,b as Ce,c as we,d as Te,g as Ee,h as De,i as Oe,n as ke,o as Ae,r as je,s as Me,t as Ne,u as Pe,v as Fe,y as Ie}from"./index-Dx_W9yYo.js";import{n as V,t as H}from"./QItemSection-Bz1ZDJO5.js";import{d as Le,t as U}from"./QTooltip-CbLXk2Bs.js";import{n as Re,t as ze}from"./TouchPan-DiBNjOPH.js";import{n as Be,r as Ve,t as He}from"./purify.es-C92_EGvT.js";import{t as Ue}from"./documents-soWtna0O.js";import{t as W}from"./_plugin-vue_export-helper-Cj6tcsj6.js";import{t as We}from"./QBadge-C7r6oPSi.js";import{t as Ge}from"./QSpace-DKIph84L.js";import{i as Ke,r as qe,t as Je}from"./build-path-tree-BmBqRiCQ.js";import{t as Ye}from"./QList-BbnN_oNX.js";import{t as Xe}from"./QMenu-CMoolewZ.js";import{t as Ze}from"./ClosePopup-DMnQG6nw.js";import{t as Qe}from"./use-quasar-DQYS47mh.js";import{a as $e,c as et,i as tt,l as nt,n as rt,o as it,r as at,s as ot}from"./project-color-C4vMEn4C.js";import{t as st}from"./QChip-BgzxI33B.js";import{n as ct,r as lt}from"./kobo-commands-DCoQW_NQ.js";import{n as ut,r as dt}from"./engineFeatures-BxAOQcPU.js";import{t as ft}from"./formatters-h0XBETG5.js";var pt=150,mt=M({name:`QDrawer`,inheritAttrs:!1,props:{...ue,...ae,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:[...fe,`onLayout`,`miniState`],setup(t,{slots:r,emit:i,attrs:o}){let c=O(),{proxy:{$q:u}}=c,f=ie(t,u),{preventBodyScroll:p}=Ee(),{registerTimeout:m,removeTimeout:h}=de(),g=D(ne,re);if(g===re)return console.error(`QDrawer needs to be child of QLayout`),re;let _,v=null,y,S=s(t.behavior===`mobile`||t.behavior!==`desktop`&&g.totalWidth.value<=t.breakpoint),C=x(()=>t.mini===!0&&S.value!==!0),w=x(()=>C.value===!0?t.miniWidth:t.width),T=s(t.showIfAbove===!0&&S.value===!1?!0:t.modelValue===!0),E=x(()=>t.persistent!==!0&&(S.value===!0||pe.value===!0));function k(e,t){if(N(),e!==!1&&g.animate(),De(0),S.value===!0){let e=g.instances[ce.value];e?.belowBreakpoint===!0&&e.hide(!1),Oe(1),g.isContainer.value!==!0&&p(!0)}else Oe(0),e!==!1&&ke(!1);m(()=>{e!==!1&&ke(!0),t!==!0&&i(`show`,e)},pt)}function A(e,t){ee(),e!==!1&&g.animate(),Oe(0),De(I.value*w.value),Ne(),t===!0?h():m(()=>{i(`hide`,e)},pt)}let{show:j,hide:M}=le({showing:T,hideOnRouteChange:E,handleShow:k,handleHide:A}),{addToHistory:N,removeFromHistory:ee}=Se(T,M,E),te={belowBreakpoint:S,hide:M},P=x(()=>t.side===`right`),I=x(()=>(u.lang.rtl===!0?-1:1)*(P.value===!0?1:-1)),ae=s(0),L=s(!1),R=s(!1),se=s(w.value*I.value),ce=x(()=>P.value===!0?`left`:`right`),ue=x(()=>T.value===!0&&S.value===!1&&t.overlay===!1?t.miniToOverlay===!0?t.miniWidth:w.value:0),z=x(()=>t.overlay===!0||t.miniToOverlay===!0||g.view.value.indexOf(P.value?`R`:`L`)!==-1||u.platform.is.ios===!0&&g.isContainer.value===!0),fe=x(()=>t.overlay===!1&&T.value===!0&&S.value===!1),pe=x(()=>t.overlay===!0&&T.value===!0&&S.value===!1),me=x(()=>`fullscreen q-drawer__backdrop`+(T.value===!1&&L.value===!1?` hidden`:``)),he=x(()=>({backgroundColor:`rgba(0,0,0,${ae.value*.4})`})),ge=x(()=>P.value===!0?g.rows.value.top[2]===`r`:g.rows.value.top[0]===`l`),B=x(()=>P.value===!0?g.rows.value.bottom[2]===`r`:g.rows.value.bottom[0]===`l`),_e=x(()=>{let e={};return g.header.space===!0&&ge.value===!1&&(z.value===!0?e.top=`${g.header.offset}px`:g.header.space===!0&&(e.top=`${g.header.size}px`)),g.footer.space===!0&&B.value===!1&&(z.value===!0?e.bottom=`${g.footer.offset}px`:g.footer.space===!0&&(e.bottom=`${g.footer.size}px`)),e}),ve=x(()=>{let e={width:`${w.value}px`,transform:`translateX(${se.value}px)`};return S.value===!0?e:Object.assign(e,_e.value)}),ye=x(()=>`q-drawer__content fit `+(g.isContainer.value===!0?`overflow-auto`:`scroll`)),be=x(()=>`q-drawer q-drawer--${t.side}`+(R.value===!0?` q-drawer--mini-animate`:``)+(t.bordered===!0?` q-drawer--bordered`:``)+(f.value===!0?` q-drawer--dark q-dark`:``)+(L.value===!0?` no-transition`:T.value===!0?``:` q-layout--prevent-focus`)+(S.value===!0?` fixed q-drawer--on-top q-drawer--mobile q-drawer--top-padding`:` q-drawer--${C.value===!0?`mini`:`standard`}`+(z.value===!0||fe.value!==!0?` fixed`:``)+(t.overlay===!0||t.miniToOverlay===!0?` q-drawer--on-top`:``)+(ge.value===!0?` q-drawer--top-padding`:``))),xe=x(()=>[[ze,je,void 0,{[u.lang.rtl===!0?t.side:ce.value]:!0,mouse:!0}]]),Ce=x(()=>[[ze,Me,void 0,{[u.lang.rtl===!0?ce.value:t.side]:!0,mouse:!0}]]),we=x(()=>[[ze,Me,void 0,{[u.lang.rtl===!0?ce.value:t.side]:!0,mouse:!0,mouseAllDir:!0}]]);function Te(){Fe(S,t.behavior===`mobile`||t.behavior!==`desktop`&&g.totalWidth.value<=t.breakpoint)}n(S,e=>{e===!0?(_=T.value,T.value===!0&&M(!1)):t.overlay===!1&&t.behavior!==`mobile`&&_!==!1&&(T.value===!0?(De(0),Oe(0),Ne()):j(!1))}),n(()=>t.side,(e,t)=>{g.instances[t]===te&&(g.instances[t]=void 0,g[t].space=!1,g[t].offset=0),g.instances[e]=te,g[e].size=w.value,g[e].space=fe.value,g[e].offset=ue.value}),n(g.totalWidth,()=>{(g.isContainer.value===!0||document.qScrollPrevented!==!0)&&Te()}),n(()=>t.behavior+t.breakpoint,Te),n(g.isContainer,e=>{T.value===!0&&p(e!==!0),e===!0&&Te()}),n(g.scrollbarWidth,()=>{De(T.value===!0?0:void 0)}),n(ue,e=>{Pe(`offset`,e)}),n(fe,e=>{i(`onLayout`,e),Pe(`space`,e)}),n(P,()=>{De()}),n(w,e=>{De(),Ie(t.miniToOverlay,e)}),n(()=>t.miniToOverlay,e=>{Ie(e,w.value)}),n(()=>u.lang.rtl,()=>{De()}),n(()=>t.mini,()=>{t.noMiniAnimation||t.modelValue===!0&&(Ae(),g.animate())}),n(C,e=>{i(`miniState`,e)});function De(t){t===void 0?e(()=>{t=T.value===!0?0:w.value,De(I.value*t)}):(g.isContainer.value===!0&&P.value===!0&&(S.value===!0||Math.abs(t)===w.value)&&(t+=I.value*g.scrollbarWidth.value),se.value=t)}function Oe(e){ae.value=e}function ke(e){let t=e===!0?`remove`:g.isContainer.value===!0?``:`add`;t!==``&&document.body.classList[t](`q-body--drawer-toggle`)}function Ae(){v!==null&&clearTimeout(v),c.proxy&&c.proxy.$el&&c.proxy.$el.classList.add(`q-drawer--mini-animate`),R.value=!0,v=setTimeout(()=>{v=null,R.value=!1,c?.proxy?.$el?.classList.remove(`q-drawer--mini-animate`)},150)}function je(e){if(T.value!==!1)return;let t=w.value,n=Le(e.distance.x,0,t);if(e.isFinal===!0){n>=Math.min(75,t)?j():(g.animate(),Oe(0),De(I.value*t)),L.value=!1;return}De((u.lang.rtl===!0?P.value!==!0:P.value)?Math.max(t-n,0):Math.min(0,n-t)),Oe(Le(n/t,0,1)),e.isFirst===!0&&(L.value=!0)}function Me(e){if(T.value!==!0)return;let n=w.value,r=e.direction===t.side,i=(u.lang.rtl===!0?r!==!0:r)?Le(e.distance.x,0,n):0;if(e.isFinal===!0){Math.abs(i)<Math.min(75,n)?(g.animate(),Oe(1),De(0)):M(),L.value=!1;return}De(I.value*i),Oe(Le(1-i/n,0,1)),e.isFirst===!0&&(L.value=!0)}function Ne(){p(!1),ke(!0)}function Pe(e,n){g.update(t.side,e,n)}function Fe(e,t){e.value!==t&&(e.value=t)}function Ie(e,n){Pe(`size`,e===!0?t.miniWidth:n)}return g.instances[t.side]=te,Ie(t.miniToOverlay,w.value),Pe(`space`,fe.value),Pe(`offset`,ue.value),t.showIfAbove===!0&&t.modelValue!==!0&&T.value===!0&&t[`onUpdate:modelValue`]!==void 0&&i(`update:modelValue`,!0),a(()=>{i(`onLayout`,fe.value),i(`miniState`,C.value),_=t.showIfAbove===!0;let r=()=>{(T.value===!0?k:A)(!1,!0)};if(g.totalWidth.value!==0){e(r);return}y=n(g.totalWidth,()=>{y(),y=void 0,T.value===!1&&t.showIfAbove===!0&&S.value===!1?j(!1):r()})}),b(()=>{y?.(),v!==null&&(clearTimeout(v),v=null),T.value===!0&&Ne(),g.instances[t.side]===te&&(g.instances[t.side]=void 0,Pe(`size`,0),Pe(`offset`,0),Pe(`space`,!1))}),()=>{let e=[];S.value===!0&&(t.noSwipeOpen===!1&&e.push(d(l(`div`,{key:`open`,class:`q-drawer__opener fixed-${t.side}`,"aria-hidden":`true`}),xe.value)),e.push(F(`div`,{ref:`backdrop`,class:me.value,style:he.value,"aria-hidden":`true`,onClick:M},void 0,`backdrop`,t.noSwipeBackdrop!==!0&&T.value===!0,()=>we.value)));let n=C.value===!0&&r.mini!==void 0,i=[l(`div`,{...o,key:String(n),class:[ye.value,o.class]},n===!0?r.mini():oe(r.default))];return t.elevated===!0&&T.value===!0&&i.push(l(`div`,{class:`q-layout__shadow absolute-full overflow-hidden no-pointer-events`})),e.push(F(`aside`,{ref:`content`,class:be.value,style:ve.value},i,`contentclose`,t.noSwipeClose!==!0&&S.value===!0,()=>Ce.value)),l(`div`,{class:`q-drawer-container`},e)}}}),ht=M({name:`QPageContainer`,setup(e,{slots:t}){let{proxy:{$q:n}}=O(),i=D(ne,re);if(i===re)return console.error(`QPageContainer needs to be child of QLayout`),re;r(te,!0);let a=x(()=>{let e={};return i.header.space===!0&&(e.paddingTop=`${i.header.size}px`),i.right.space===!0&&(e[`padding${n.lang.rtl===!0?`Left`:`Right`}`]=`${i.right.size}px`),i.footer.space===!0&&(e.paddingBottom=`${i.footer.size}px`),i.left.space===!0&&(e[`padding${n.lang.rtl===!0?`Right`:`Left`}`]=`${i.left.size}px`),e});return()=>l(`div`,{class:`q-page-container`,style:a.value},oe(t.default))}}),gt=M({name:`QLayout`,props:{container:Boolean,view:{type:String,default:`hhh lpr fff`,validator:e=>/^(h|l)h(h|r) lpr (f|l)f(f|r)$/.test(e.toLowerCase())},onScroll:Function,onScrollHeight:Function,onResize:Function},setup(e,{slots:t,emit:i}){let{proxy:{$q:a}}=O(),c=s(null),u=s(a.screen.height),d=s(e.container===!0?0:a.screen.width),p=s({position:0,direction:`down`,inflectionPoint:0}),m=s(0),h=s(R.value===!0?0:z()),g=x(()=>`q-layout q-layout--`+(e.container===!0?`containerized`:`standard`)),_=x(()=>e.container===!1?{minHeight:a.screen.height+`px`}:null),v=x(()=>h.value===0?null:{[a.lang.rtl===!0?`left`:`right`]:`${h.value}px`}),y=x(()=>h.value===0?null:{[a.lang.rtl===!0?`right`:`left`]:0,[a.lang.rtl===!0?`left`:`right`]:`-${h.value}px`,width:`calc(100% + ${h.value}px)`});function b(t){if(e.container===!0||document.qScrollPrevented!==!0){let n={position:t.position.top,direction:t.direction,directionChanged:t.directionChanged,inflectionPoint:t.inflectionPoint.top,delta:t.delta.top};p.value=n,e.onScroll!==void 0&&i(`scroll`,n)}}function S(t){let{height:n,width:r}=t,a=!1;u.value!==n&&(a=!0,u.value=n,e.onScrollHeight!==void 0&&i(`scrollHeight`,n),w()),d.value!==r&&(a=!0,d.value=r),a===!0&&e.onResize!==void 0&&i(`resize`,t)}function C({height:e}){m.value!==e&&(m.value=e,w())}function w(){if(e.container===!0){let e=u.value>m.value?z():0;h.value!==e&&(h.value=e)}}let T=null,E={instances:{},view:x(()=>e.view),isContainer:x(()=>e.container),rootRef:c,height:u,containerHeight:m,scrollbarWidth:h,totalWidth:x(()=>d.value+h.value),rows:x(()=>{let t=e.view.toLowerCase().split(` `);return{top:t[0].split(``),middle:t[1].split(``),bottom:t[2].split(``)}}),header:f({size:0,offset:0,space:!1}),right:f({size:300,offset:0,space:!1}),footer:f({size:0,offset:0,space:!1}),left:f({size:300,offset:0,space:!1}),scroll:p,animate(){T===null?document.body.classList.add(`q-body--layout-animate`):clearTimeout(T),T=setTimeout(()=>{T=null,document.body.classList.remove(`q-body--layout-animate`)},155)},update(e,t,n){E[e][t]=n}};if(r(ne,E),z()>0){let t=null,r=document.body;function i(){t=null,r.classList.remove(`hide-scrollbar`)}function s(){if(t===null){if(r.scrollHeight>a.screen.height)return;r.classList.add(`hide-scrollbar`)}else clearTimeout(t);t=setTimeout(i,300)}function c(e){t!==null&&e===`remove`&&(clearTimeout(t),i()),window[`${e}EventListener`](`resize`,s)}n(()=>e.container===!0?`remove`:`add`,c),e.container!==!0&&c(`add`),o(()=>{c(`remove`)})}return()=>{let n=P(t.default,[l(Ve,{onScroll:b}),l(Re,{onResize:S})]),r=l(`div`,{class:g.value,style:_.value,ref:e.container===!0?void 0:c,tabindex:-1},n);return e.container===!0?l(`div`,{class:`q-layout-container overflow-hidden`,ref:c},[l(Re,{onResize:C}),l(`div`,{class:`absolute-full`,style:v.value},[l(`div`,{class:`scroll`,style:y.value},[r])])]):r}}}),_t={class:`acceptance-panel q-pa-md`},vt={class:`row items-center q-mb-sm`},yt={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},bt={key:0,class:`criterion-add-row row items-center q-mb-xs`},xt={key:1,class:`acceptance-list`},St=[`onDblclick`],Ct={key:2,class:`text-caption text-grey-8`,style:{"font-size":`11px`}},wt=W(E({__name:`AcceptancePanel`,props:{tasks:{}},setup(n){let{t:r}=_e(),a=we(),o=Ae();function c(){let e=a.selectedWorkspaceId;e&&ct(e,o,a)}let l=s(!1),d=s(``),f=s(null),p=s(``),b=s({});function x(e,t){if(t){let n=t.$el??t;b.value[e]=n}else delete b.value[e]}function E(e){switch(e){case`done`:return`check_circle`;case`in_progress`:return`timelapse`;default:return`radio_button_unchecked`}}function D(e){switch(e){case`done`:return`#4ade80`;case`in_progress`:return`#f59e0b`;default:return`#888`}}async function O(e){let t=e.status===`done`?`pending`:`done`;try{let n=await fetch(`/api/workspaces/${e.workspaceId}/tasks/${e.id}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({status:t})});if(!n.ok)throw Error(`HTTP ${n.status}`);a.selectedWorkspaceId&&a.fetchWorkspaceDetails(a.selectedWorkspaceId)}catch(e){console.error(`Failed to update task:`,e)}}function j(){l.value=!0,d.value=``}async function M(){let e=d.value.trim(),t=a.selectedWorkspace?.id;if(!(!e||!t))try{await a.createTask(t,e,!0),d.value=``,l.value=!1}catch{}}function ee(){d.value=``,l.value=!1}function te(t){f.value=t.id,p.value=t.title,e(()=>{let e=b.value[t.id]?.querySelector(`input, textarea`);e?.focus(),e?.select()})}async function P(e){if(f.value!==e.id)return;let t=p.value.trim(),n=e.id;if(f.value=null,!t||t===e.title)return;let r=a.selectedWorkspace?.id;if(r)try{await a.updateTaskTitle(r,n,t)}catch{}}function ne(){f.value=null,p.value=``}async function F(e){let t=a.selectedWorkspace?.id;if(t)try{await a.deleteTask(t,e.id)}catch{}}return(e,r)=>(t(),S(`div`,_t,[T(`div`,vt,[T(`div`,yt,h(e.$t(`acceptance.title`)),1),v(Ge),w(a).selectedWorkspace?(t(),g(B,{key:0,flat:``,dense:``,round:``,size:`xs`,icon:`fact_check`,color:`grey-5`,onClick:c},{default:u(()=>[v(U,null,{default:u(()=>[y(h(e.$t(`tasks.askProgress`)),1)]),_:1})]),_:1})):_(``,!0),w(a).selectedWorkspace?(t(),g(B,{key:1,flat:``,dense:``,round:``,size:`xs`,icon:`add`,color:`indigo-4`,onClick:j},{default:u(()=>[v(U,null,{default:u(()=>[y(h(e.$t(`tooltip.addCriterion`)),1)]),_:1})]),_:1})):_(``,!0)]),l.value?(t(),S(`div`,bt,[v(ye,{modelValue:d.value,"onUpdate:modelValue":r[0]||=e=>d.value=e,dark:``,dense:``,borderless:``,autofocus:``,placeholder:e.$t(`acceptance.newCriterion`),class:`col criterion-input`,"input-class":`criterion-input-inner`,onKeydown:[A(N(M,[`prevent`]),[`enter`]),A(N(ee,[`prevent`]),[`esc`])]},null,8,[`modelValue`,`placeholder`,`onKeydown`])])):_(``,!0),n.tasks.length>0?(t(),S(`div`,xt,[(t(!0),S(C,null,i(n.tasks,n=>(t(),S(`div`,{key:n.id,class:`acceptance-item row items-center q-mb-xxs`},[v(L,{name:E(n.status),size:`16px`,style:k({color:D(n.status)}),class:`q-mr-xs cursor-pointer`,onClick:e=>O(n)},null,8,[`name`,`style`,`onClick`]),f.value===n.id?(t(),g(ye,{key:0,ref_for:!0,ref:e=>x(n.id,e),modelValue:p.value,"onUpdate:modelValue":r[1]||=e=>p.value=e,dark:``,dense:``,borderless:``,class:`col criterion-input`,"input-class":`criterion-input-inner`,onKeydown:[A(N(e=>P(n),[`prevent`]),[`enter`]),A(N(ne,[`prevent`]),[`esc`])],onBlur:e=>P(n)},null,8,[`modelValue`,`onKeydown`,`onBlur`])):(t(),S(C,{key:1},[T(`span`,{class:m([`col acceptance-title text-caption`,{"text-strike":n.status===`done`}]),style:k({color:n.status===`done`?`#4ade80`:`#ccc`}),onDblclick:e=>te(n)},h(n.title),47,St),v(B,{flat:``,dense:``,round:``,size:`xs`,icon:`close`,color:`grey-6`,class:`criterion-delete-btn`,onClick:e=>F(n)},{default:u(()=>[v(U,null,{default:u(()=>[y(h(e.$t(`tooltip.removeCriterion`)),1)]),_:1})]),_:1},8,[`onClick`])],64))]))),128))])):l.value?_(``,!0):(t(),S(`div`,Ct,h(e.$t(`acceptance.empty`)),1))]))}}),[[`__scopeId`,`data-v-20a94a3d`]]),Tt={class:`agent-todos-panel q-pa-md`},Et={class:`row items-center q-mb-sm`},Dt={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},Ot={key:0,class:`todos-list`},kt={key:1,class:`text-caption text-grey-8`,style:{"font-size":`11px`}},At=W(E({__name:`AgentTodosPanel`,setup(e){let{t:n}=_e(),r=we();function a(e){switch(e){case`completed`:return`check_circle`;case`in_progress`:return`timelapse`;default:return`radio_button_unchecked`}}function o(e){switch(e){case`completed`:return`#4ade80`;case`in_progress`:return`#f59e0b`;default:return`#888`}}return(e,n)=>(t(),S(`div`,Tt,[T(`div`,Et,[T(`div`,Dt,h(e.$t(`agentTodos.title`)),1)]),w(r).currentAgentTodos.length>0?(t(),S(`div`,Ot,[(t(!0),S(C,null,i(w(r).currentAgentTodos,(e,n)=>(t(),S(`div`,{key:n,class:`todo-item row items-start q-py-xxs`},[v(L,{name:a(e.status),size:`14px`,style:k({color:o(e.status)}),class:`q-mr-xs q-mt-xxs`},null,8,[`name`,`style`]),T(`span`,{class:m([`col todo-title text-caption`,{"text-strike":e.status===`completed`}]),style:k({color:e.status===`completed`?`#4ade80`:`#ccc`})},h(e.content),7)]))),128))])):(t(),S(`div`,kt,h(e.$t(`agentTodos.empty`)),1))]))}}),[[`__scopeId`,`data-v-6a3613f7`]]),jt={class:`documents-panel q-pa-md`},Mt={class:`row items-center justify-between q-mb-sm`},Nt={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},Pt={key:0,class:`text-caption text-grey-8`},Ft={key:1,class:`text-center q-py-lg`},It={key:2,class:`text-caption text-grey-8 text-center q-py-lg`},Lt={key:0,class:`text-center q-py-lg`},Rt=[`innerHTML`],zt=W(E({__name:`DocumentsPanel`,props:{workspace:{}},setup(e){let r=e,{t:i}=_e(),a=Qe(),o=Ue(),s=x(()=>r.workspace?o.documentsFor(r.workspace.id):[]),c=x(()=>Je(s.value)),l=x(()=>o.selected?.path??null),d=x(()=>{if(!o.selected)return``;let e=Be.parse(o.selected.content,{async:!1,breaks:!0,gfm:!0});return He.sanitize(e)});async function f(){r.workspace&&await o.fetchDocuments(r.workspace.id)}async function p(e){if(!(!r.workspace||!e.file))try{await o.openDocument(r.workspace.id,e.file)}catch{a.notify({type:`negative`,message:i(`documents.loadFailed`),position:`top`})}}function _(){o.closeDocument()}return n(()=>r.workspace?.id,e=>{o.closeDocument(),e&&o.fetchDocuments(e)},{immediate:!0}),(n,r)=>(t(),S(`div`,jt,[T(`div`,Mt,[T(`div`,Nt,h(n.$t(`documents.title`)),1),w(o).selected?(t(),g(B,{key:1,flat:``,dense:``,"no-caps":``,size:`sm`,icon:`arrow_back`,label:n.$t(`documents.back`),color:`grey-5`,onClick:_},null,8,[`label`])):(t(),g(B,{key:0,flat:``,round:``,dense:``,size:`xs`,icon:`refresh`,color:`grey-6`,loading:w(o).loadingList,onClick:f},{default:u(()=>[v(U,null,{default:u(()=>[y(h(n.$t(`documents.refresh`)),1)]),_:1})]),_:1},8,[`loading`]))]),w(o).selected?(t(),S(C,{key:1},[w(o).loadingContent?(t(),S(`div`,Lt,[v(I,{size:`24px`,color:`grey-6`})])):(t(),S(`div`,{key:1,class:`document-content`,innerHTML:d.value},null,8,Rt))],64)):(t(),S(C,{key:0},[e.workspace?w(o).loadingList?(t(),S(`div`,Ft,[v(I,{size:`24px`,color:`grey-6`})])):s.value.length===0?(t(),S(`div`,It,h(n.$t(`documents.empty`)),1)):(t(),g(qe,{key:3,nodes:c.value,"node-key":`nodeKey`,"label-key":`label`,"children-key":`children`,dark:``,dense:``,"default-expand-all":``,"no-selection-unset":``,selected:l.value?`file:${l.value}`:``,class:`documents-tree`,"onUpdate:selected":r[0]||=e=>{if(typeof e!=`string`||!e.startsWith(`file:`))return;let t=s.value.find(t=>`file:${t.path}`===e);t&&p({file:t})}},{"default-header":u(({node:e})=>[v(L,{name:e.isFolder?`folder`:`description`,color:e.isFolder?`indigo-4`:`grey-5`,size:`14px`,class:`q-mr-xs`},null,8,[`name`,`color`]),T(`span`,{class:m(e.isFolder?`text-grey-4`:`text-grey-3`),style:{"font-family":`'Roboto Mono', monospace`,"font-size":`11px`}},h(e.label),3)]),_:1},8,[`nodes`,`selected`])):(t(),S(`div`,Pt,h(n.$t(`common.selectWorkspace`)),1))],64))]))}}),[[`__scopeId`,`data-v-89e5de13`]]),Bt=Object.keys(ge);function Vt(e){return Bt.reduce((t,n)=>{let r=e[n];return r!==void 0&&(t[n]=r),t},{})}var Ht=M({name:`QBtnDropdown`,props:{...ge,...pe,modelValue:Boolean,split:Boolean,dropdownIcon:String,contentClass:[Array,String,Object],contentStyle:[Array,String,Object],cover:Boolean,persistent:Boolean,noEscDismiss:Boolean,noRouteDismiss:Boolean,autoClose:Boolean,noRefocus:Boolean,noFocus:Boolean,menuAnchor:{type:String,default:`bottom end`},menuSelf:{type:String,default:`top end`},menuOffset:Array,disableMainBtn:Boolean,disableDropdown:Boolean,noIconAnimation:Boolean,toggleAriaLabel:String},emits:[`update:modelValue`,`click`,`beforeShow`,`show`,`beforeHide`,`hide`],setup(e,{slots:t,emit:r}){let{proxy:i}=O(),o=s(e.modelValue),c=s(null),u=ce(),d=x(()=>{let t={"aria-expanded":o.value===!0?`true`:`false`,"aria-haspopup":`true`,"aria-controls":u.value,"aria-label":e.toggleAriaLabel||i.$q.lang.label[o.value===!0?`collapse`:`expand`](e.label)};return(e.disable===!0||e.split===!1&&e.disableMainBtn===!0||e.disableDropdown===!0)&&(t[`aria-disabled`]=`true`),t}),f=x(()=>`q-btn-dropdown__arrow`+(o.value===!0&&e.noIconAnimation===!1?` rotate-180`:``)+(e.split===!1?` q-btn-dropdown__arrow-container`:``)),p=x(()=>he(e)),m=x(()=>Vt(e));n(()=>e.modelValue,e=>{c.value?.[e?`show`:`hide`]()}),n(()=>e.split,w);function h(e){o.value=!0,r(`beforeShow`,e)}function g(e){r(`show`,e),r(`update:modelValue`,!0)}function _(e){o.value=!1,r(`beforeHide`,e)}function v(e){r(`hide`,e),r(`update:modelValue`,!1)}function y(e){r(`click`,e)}function b(e){j(e),w(),r(`click`,e)}function S(e){c.value?.toggle(e)}function C(e){c.value?.show(e)}function w(e){c.value?.hide(e)}return Object.assign(i,{show:C,hide:w,toggle:S}),a(()=>{e.modelValue===!0&&C()}),()=>{let n=[l(L,{class:f.value,name:e.dropdownIcon||i.$q.iconSet.arrow.dropdown})];return e.disableDropdown!==!0&&n.push(l(Xe,{ref:c,id:u.value,class:e.contentClass,style:e.contentStyle,cover:e.cover,fit:!0,persistent:e.persistent,noEscDismiss:e.noEscDismiss,noRouteDismiss:e.noRouteDismiss,autoClose:e.autoClose,noFocus:e.noFocus,noRefocus:e.noRefocus,anchor:e.menuAnchor,self:e.menuSelf,offset:e.menuOffset,separateClosePopup:!0,transitionShow:e.transitionShow,transitionHide:e.transitionHide,transitionDuration:e.transitionDuration,onBeforeShow:h,onShow:g,onBeforeHide:_,onHide:v},t.default)),e.split===!1?l(B,{class:`q-btn-dropdown q-btn-dropdown--simple`,...m.value,...d.value,disable:e.disable===!0||e.disableMainBtn===!0,noWrap:!0,round:!1,onClick:y},{default:()=>oe(t.label,[]).concat(n),loading:t.loading}):l(Ke,{class:`q-btn-dropdown q-btn-dropdown--split no-wrap q-btn-item`,rounded:e.rounded,square:e.square,...p.value,glossy:e.glossy,stretch:e.stretch},()=>[l(B,{class:`q-btn-dropdown--current`,...m.value,disable:e.disable===!0||e.disableMainBtn===!0,noWrap:!0,round:!1,onClick:b},{default:t.label,loading:t.loading}),l(B,{class:`q-btn-dropdown__arrow-container q-anchor--skip`,...d.value,...p.value,disable:e.disable===!0||e.disableDropdown===!0,rounded:e.rounded,color:e.color,textColor:e.textColor,dense:e.dense,size:e.size,padding:e.padding,ripple:e.ripple},()=>n)])}}}),Ut={class:`text-h6`},Wt={class:`text-body2 text-grey-5 q-mt-xs`},Gt={key:0,class:`text-caption text-grey-6 row items-center`},Kt={key:1,class:`row items-center q-gutter-sm`},qt={class:`text-caption text-negative`},Jt={key:2,class:`text-caption text-grey-6`},Yt={key:3},Xt=[`onClick`],Zt={class:`commit-sha text-grey-5`},Qt={class:`commit-subject text-grey-4 ellipsis q-ml-sm`},$t={class:`text-caption`},en={class:`text-grey-5 q-mt-xs`},tn={key:0,class:`text-caption text-grey-6 row items-center`},nn={key:1,class:`row items-center q-gutter-sm`},rn={class:`text-caption text-negative`},an={key:2,class:`text-caption text-grey-6`},on={key:3},sn=[`onClick`],cn={class:`commit-sha text-grey-5`},ln={class:`commit-subject text-grey-4 ellipsis q-ml-sm`},un={class:`text-caption`},dn={class:`text-grey-5 q-mt-xs`},fn=W(E({__name:`BranchDivergenceDialog`,props:{modelValue:{type:Boolean},workspaceId:{},initialTab:{},aheadCount:{},behindCount:{},sourceBranch:{},workingBranch:{}},emits:[`update:modelValue`,`append-sha`],setup(e,{emit:r}){let a=e,o=r,{t:c}=_e(),l=we(),d=s(a.initialTab),f=s([]),p=s([]),m=s(!1),_=s(null),x=null;async function w(){x?.abort();let e=new AbortController;x=e,m.value=!0,_.value=null;try{let t=await l.fetchBranchDivergence(a.workspaceId,{signal:e.signal});if(e.signal.aborted)return;f.value=t.ahead,p.value=t.behind}catch(e){if(e?.name===`AbortError`)return;_.value=c(`git.divergence.failed`)}finally{x===e&&(x=null),m.value=!1}}function E(){w()}n(()=>a.modelValue,e=>{e?(d.value=a.initialTab,w()):(x?.abort(),f.value=[],p.value=[],_.value=null)});function D(e){o(`append-sha`,e)}function O(){o(`update:modelValue`,!1)}function k(e){try{return new Date(e).toLocaleDateString()}catch{return e}}return b(()=>{x?.abort()}),(n,r)=>(t(),g(De,{"model-value":e.modelValue,"onUpdate:modelValue":r[2]||=e=>o(`update:modelValue`,e)},{default:u(()=>[v(Fe,{style:{"min-width":`600px`,"max-width":`90vw`},dark:``},{default:u(()=>[v(Ce,{class:`q-pb-none`},{default:u(()=>[T(`div`,Ut,h(n.$t(`git.divergence.title`)),1),T(`div`,Wt,h(n.$t(`git.divergence.subtitle`,{source:e.sourceBranch})),1)]),_:1}),v(et,{modelValue:d.value,"onUpdate:modelValue":r[0]||=e=>d.value=e,dense:``,align:`left`,"inline-label":``,class:`q-mt-sm`,"indicator-color":`indigo-4`},{default:u(()=>[v(nt,{name:`ahead`,label:n.$t(`git.divergence.ahead`,{count:e.aheadCount})},null,8,[`label`]),v(nt,{name:`behind`,label:n.$t(`git.divergence.behind`,{count:e.behindCount})},null,8,[`label`])]),_:1},8,[`modelValue`]),v(se,{dark:``}),v(it,{modelValue:d.value,"onUpdate:modelValue":r[1]||=e=>d.value=e,animated:``,style:{"max-height":`60vh`}},{default:u(()=>[v(ot,{name:`ahead`,class:`q-pa-md`},{default:u(()=>[m.value?(t(),S(`div`,Gt,[v(I,{size:`xs`,class:`q-mr-xs`}),y(h(n.$t(`git.divergence.loading`)),1)])):_.value?(t(),S(`div`,Kt,[T(`span`,qt,h(_.value),1),v(B,{flat:``,dense:``,"no-caps":``,label:n.$t(`git.divergence.retry`),color:`indigo-4`,onClick:E},null,8,[`label`])])):f.value.length===0?(t(),S(`div`,Jt,h(n.$t(`git.divergence.empty.ahead`)),1)):(t(),S(`div`,Yt,[(t(!0),S(C,null,i(f.value,e=>(t(),S(`div`,{key:e.sha,class:`commit-item row no-wrap items-center cursor-pointer q-py-xs`,onClick:t=>D(e.sha)},[v(L,{name:e.isPushed?`cloud_done`:`cloud_upload`,size:`12px`,color:e.isPushed?`grey-6`:`orange-5`,class:`q-mr-xs`},null,8,[`name`,`color`]),T(`span`,Zt,h(e.shortSha),1),T(`span`,Qt,h(e.subject),1),v(U,{anchor:`top middle`,self:`bottom middle`},{default:u(()=>[T(`div`,$t,[T(`div`,null,[T(`code`,null,h(e.sha),1)]),T(`div`,en,h(e.author)+` · `+h(k(e.date)),1)])]),_:2},1024)],8,Xt))),128))]))]),_:1}),v(ot,{name:`behind`,class:`q-pa-md`},{default:u(()=>[m.value?(t(),S(`div`,tn,[v(I,{size:`xs`,class:`q-mr-xs`}),y(h(n.$t(`git.divergence.loading`)),1)])):_.value?(t(),S(`div`,nn,[T(`span`,rn,h(_.value),1),v(B,{flat:``,dense:``,"no-caps":``,label:n.$t(`git.divergence.retry`),color:`indigo-4`,onClick:E},null,8,[`label`])])):p.value.length===0?(t(),S(`div`,an,h(n.$t(`git.divergence.empty.behind`)),1)):(t(),S(`div`,on,[(t(!0),S(C,null,i(p.value,e=>(t(),S(`div`,{key:e.sha,class:`commit-item row no-wrap items-center cursor-pointer q-py-xs`,onClick:t=>D(e.sha)},[T(`span`,cn,h(e.shortSha),1),T(`span`,ln,h(e.subject),1),v(U,{anchor:`top middle`,self:`bottom middle`},{default:u(()=>[T(`div`,un,[T(`div`,null,[T(`code`,null,h(e.sha),1)]),T(`div`,dn,h(e.author)+` · `+h(k(e.date)),1)])]),_:2},1024)],8,sn))),128))]))]),_:1})]),_:1},8,[`modelValue`]),v(ve,{align:`right`,class:`q-pa-md`},{default:u(()=>[v(B,{flat:``,"no-caps":``,label:n.$t(`git.divergence.close`),color:`grey-5`,onClick:O},null,8,[`label`])]),_:1})]),_:1})]),_:1},8,[`model-value`]))}}),[[`__scopeId`,`data-v-fd1cc184`]]);function pn(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`}function mn(e){return e.reviewDecision===`CHANGES_REQUESTED`&&(e.unresolvedReviewThreadsCount??0)>0}var hn={class:`pr-panel`},gn={class:`pr-panel__header row items-center q-gutter-xs`},_n=[`href`],vn={class:`pr-panel__title col ellipsis`},yn={class:`pr-panel__grid`},bn={class:`pr-panel__label`},xn={class:`pr-panel__value`},Sn={class:`pr-panel__label`},Cn={class:`pr-panel__value pr-panel__reviewers`},wn={class:`pr-panel__label`},Tn={class:`pr-panel__value`},En={class:`pr-panel__label`},Dn={class:`pr-panel__value`},On={key:0,class:`pr-panel__ci row items-center`},kn={class:`pr-panel__ci-label`},An={key:0,class:`pr-panel__ci-details q-ml-sm`},jn=W(E({__name:`PrPanel`,props:{snapshot:{}},setup(e){let n=e,{t:r}=_e();function a(e){switch(e){case`APPROVED`:return`#4ade80`;case`CHANGES_REQUESTED`:return`#ef4444`;case`COMMENTED`:return`#f59e0b`;default:return`#6b7280`}}function o(e){return e===`SUCCESS`?`#4ade80`:e===`FAILURE`?`#ef4444`:`#9ca3af`}function s(e){return e===`SUCCESS`?`✓`:e===`FAILURE`?`✕`:`⌛`}let c=x(()=>{switch(n.snapshot.ci.rollup){case`SUCCESS`:return`check_circle`;case`FAILURE`:return`cancel`;case`PENDING`:return`hourglass_top`;default:return`help`}}),l=x(()=>{switch(n.snapshot.ci.rollup){case`SUCCESS`:return`green-4`;case`FAILURE`:return`red-4`;case`PENDING`:return`amber-4`;default:return`grey-5`}}),d=x(()=>{switch(n.snapshot.ci.rollup){case`SUCCESS`:return r(`git.pr.ci.passed`);case`FAILURE`:return r(`git.pr.ci.failed`);case`PENDING`:return r(`git.pr.ci.pending`);default:return``}});return(n,r)=>(t(),S(`div`,hn,[T(`div`,gn,[v(st,{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`]),T(`a`,{href:e.snapshot.url,target:`_blank`,rel:`noopener`,class:`pr-panel__number`},`#`+h(e.snapshot.number),9,_n),T(`span`,vn,h(e.snapshot.title),1),e.snapshot.title.length>60?(t(),g(U,{key:0,anchor:`bottom middle`,self:`top middle`},{default:u(()=>[y(h(e.snapshot.title),1)]),_:1})):_(``,!0),w(mn)(e.snapshot)?(t(),g(st,{key:1,dense:``,square:``,color:`red-9`,"text-color":`red-3`,icon:`rate_review`,label:n.$t(`git.pr.changesRequestedBadge`),class:`pr-panel__badge`},null,8,[`label`])):e.snapshot.reviewDecision===`APPROVED`?(t(),g(st,{key:2,dense:``,square:``,color:`green-9`,"text-color":`green-3`,icon:`check`,label:n.$t(`git.pr.approvedBadge`),class:`pr-panel__badge`},null,8,[`label`])):_(``,!0)]),T(`div`,yn,[T(`span`,bn,h(n.$t(`git.pr.author`)),1),T(`span`,xn,`@`+h(e.snapshot.author.login),1),e.snapshot.reviewers.length>0?(t(),S(C,{key:0},[T(`span`,Sn,h(n.$t(`git.pr.reviewers`)),1),T(`span`,Cn,[(t(!0),S(C,null,i(e.snapshot.reviewers,e=>(t(),S(`span`,{key:e.login,class:`pr-panel__reviewer`},[T(`span`,{class:`pr-panel__dot`,style:k({backgroundColor:a(e.state)})},null,4),T(`span`,null,`@`+h(e.login),1),v(U,null,{default:u(()=>[y(h(e.login)+` — `+h(e.state.toLowerCase()),1)]),_:2},1024)]))),128))])],64)):_(``,!0),e.snapshot.assignees.length>0?(t(),S(C,{key:1},[T(`span`,wn,h(n.$t(`git.pr.assignees`)),1),T(`span`,Tn,h(e.snapshot.assignees.map(e=>`@`+e.login).join(`, `)),1)],64)):_(``,!0),e.snapshot.labels.length>0?(t(),S(C,{key:2},[T(`span`,En,h(n.$t(`git.pr.labels`)),1),T(`span`,Dn,[(t(!0),S(C,null,i(e.snapshot.labels,e=>(t(),g(st,{key:e.name,dense:``,square:``,style:k({backgroundColor:`#`+e.color,color:w(pn)(e.color)}),class:`pr-panel__label-chip`,label:e.name},null,8,[`style`,`label`]))),128))])],64)):_(``,!0)]),e.snapshot.ci.rollup===null?_(``,!0):(t(),S(`div`,On,[v(L,{name:c.value,color:l.value,size:`16px`,class:`q-mr-sm`},null,8,[`name`,`color`]),T(`span`,kn,h(d.value),1),e.snapshot.ci.checks.length>0?(t(),S(`span`,An,[(t(!0),S(C,null,i(e.snapshot.ci.checks,e=>(t(),S(`span`,{key:e.name,style:k({color:o(e.conclusion)}),class:`q-mr-sm`},h(e.name)+` `+h(s(e.conclusion)),5))),128))])):_(``,!0)]))]))}}),[[`__scopeId`,`data-v-c2a3e5a5`]]),Mn={class:`git-panel q-px-sm q-py-md`},Nn={class:`row items-center justify-between q-mb-sm`},Pn={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},Fn={class:`git-subcard`},In={class:`git-subcard-title`},Ln={class:`row items-center q-mb-xs`},Rn={class:`text-caption text-grey-3`},zn={class:`row items-center q-mb-xs`},Bn={class:`text-caption text-grey-4`,style:{"font-family":`'Roboto Mono', monospace`,"font-size":`11px`}},Vn={class:`text-caption text-grey-8`,style:{"font-size":`11px`}},Hn={key:3},Un={key:4,style:{color:`#4ade80`}},Wn={key:5,style:{color:`#f59e0b`}},Gn={key:0,class:`row items-center justify-center q-py-md`},Kn={key:1,class:`git-subcard`},qn={class:`git-subcard-title`},Jn={class:`row items-center`,style:{"font-size":`11px`,gap:`14px`,"flex-wrap":`wrap`}},Yn={class:`text-grey-4`},Xn={key:1,class:`row items-center`},Zn={class:`text-grey-4`},Qn={key:2,class:`row items-center`},$n={class:`text-grey-4`},er={key:0,class:`q-ml-xs`,style:{color:`#4ade80`}},tr={key:1,class:`q-ml-xs`,style:{color:`#f87171`}},nr={key:3,class:`row items-center`},rr={key:0,style:{color:`#4ade80`}},ir={key:1,class:`q-ml-xs`,style:{color:`#f59e0b`}},ar={key:2,class:`q-ml-xs text-grey-6`},or={key:0,class:`commit-list q-mt-sm`},sr={key:0,class:`text-caption text-grey-6 q-pa-xs`},cr={key:1,class:`text-caption text-grey-7 q-pa-xs`},lr=[`onClick`],ur={class:`commit-sha text-grey-5`},dr={class:`commit-subject text-grey-4 ellipsis q-ml-sm`},fr={class:`text-caption`},pr={class:`text-grey-5 q-mt-xs`},mr={class:`text-grey-6 q-mt-xs`,style:{"font-style":`italic`}},hr={key:2,class:`git-subcard`},gr={class:`git-subcard-title`},_r={key:3,class:`git-subcard`},vr={class:`git-subcard-title`},yr={class:`row items-center q-gutter-xs`},br={key:1,class:`text-caption text-grey-8`},xr={class:`text-subtitle1`},Sr={class:`text-body2 text-grey-5 q-mt-sm`},Cr={class:`git-branch-code`},wr={class:`text-caption text-grey-6 q-mt-xs`,style:{"padding-left":`46px`}},Tr={class:`text-subtitle1 text-warning`},Er={class:`text-caption text-grey-6 q-mt-xs`},Dr={class:`text-caption text-mono`},Or=W(E({__name:`GitPanel`,props:{workspace:{}},setup(e){let r=p(()=>ke(()=>import(`./DiffViewer-BSnvba7W.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29]))),o=e,{t:c}=_e(),l=Qe(),f=we(),m=s(!1),E=s(!1),D=s(!1),O=s(!1),k=s(!1),A=s(!1),j=s(!1),M=s(!1);function ee(e){M.value=e,j.value=!0}let te=s(!1),P=s(!1),ne=s(!1),F=s([]);async function re(){if(o.workspace){ne.value=!0;try{let e=await fetch(`/api/workspaces/${o.workspace.id}/commits?limit=50`,{cache:`no-store`});if(!e.ok)throw Error(`HTTP ${e.status}`);F.value=(await e.json()).commits}catch(e){console.error(`[GitPanel] fetchCommits failed:`,e),F.value=[]}finally{ne.value=!1}}}async function ie(){P.value=!P.value,P.value&&(ne.value=!0,await re())}function ae(e){f.chatDraft=e}function oe(e){if(!e)return``;let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString(void 0,{dateStyle:`medium`,timeStyle:`short`})}let R=s(!1),se=s(null),ce=s([]),le=s(!1),ue=s(!1);function de(e){f.chatDraft=e,j.value=!1}let z=s(null),fe=s(!1),pe=x(()=>{if(!o.workspace?.projectPath)return`-`;let e=o.workspace.projectPath.replace(/\\/g,`/`).split(`/`);return e[e.length-1]||e[e.length-2]||`-`}),me=x(()=>{let e=o.workspace?.id;if(e)return f.prSnapshots[e]}),he=x(()=>!(!z.value||z.value.unpushedCount===-1)),ge=x(()=>z.value&&z.value.unpushedCount===-1?c(`git.createPrNoRemote`):``),ye=x(()=>{let e=!z.value||z.value.unpushedCount!==0,t=!!(z.value?.prUrl&&z.value.prState===`OPEN`);return e||t}),be=s(!1),Se=s(`ahead`);function Te(e){Se.value=e,be.value=!0}let Ee=null,Oe=null;async function Ae(e={}){if(!o.workspace){z.value=null;return}Ee?.abort();let t=new AbortController;Ee=t;let n=o.workspace.id;fe.value=!0;try{let r=await f.fetchGitStats(n,{freshFetch:e.freshFetch,signal:t.signal});if(t.signal.aborted||o.workspace?.id!==n)return;z.value=r}catch(e){if(e?.name===`AbortError`)return;z.value=null}finally{Ee===t&&(Ee=null),fe.value=!1}}async function je(){let e=o.workspace?.id;e&&await Promise.allSettled([Ae({freshFetch:!0}),f.refreshPrSnapshot(e)])}let Ne=null;n(()=>o.workspace?.id,(e,t)=>{Ee?.abort(),Ne&&=(clearTimeout(Ne),null),e!==t&&(z.value=null,F.value=[],P.value=!1),e&&Ae({freshFetch:!0})},{immediate:!0}),n(()=>f.gitRefreshTrigger,()=>{Ne&&clearTimeout(Ne),Ne=setTimeout(()=>Ae(),3e3)}),a(()=>{Oe=setInterval(()=>Ae(),6e4)}),b(()=>{Oe&&=(clearInterval(Oe),null),Ne&&=(clearTimeout(Ne),null),Ee?.abort()});function Pe(){let e=o.workspace;e&&l.dialog({title:c(`git.renameBranch`),message:c(`git.renameBranchPrompt`,{branch:e.workingBranch}),prompt:{model:e.workingBranch,type:`text`},dark:!0,cancel:{flat:!0,label:c(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:c(`git.renameBranch`),color:`indigo-4`}}).onOk(async t=>{let n=(t??``).trim();if(!(!n||n===e.workingBranch)){te.value=!0;try{await f.renameWorkspaceBranch(e.id,n),l.notify({type:`positive`,message:c(`git.renameBranchSuccess`,{branch:n}),position:`top`}),Ae()}catch(e){let t=e instanceof Me&&e.code===`branch_exists`?c(`git.renameBranchExists`,{branch:n}):e instanceof Error?e.message:c(`git.renameBranchFailed`);l.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{te.value=!1}}})}function Ie(e){return e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`).replace(/'/g,`'`)}function Le(){o.workspace&&l.dialog({title:c(`git.rebaseConfirmTitle`),message:c(`git.rebaseConfirmMessage`,{branch:`<code class="git-branch-code">${Ie(o.workspace.sourceBranch)}</code>`}),html:!0,dark:!0,cancel:{flat:!0,label:c(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:c(`git.rebase`),color:`orange-4`}}).onOk(async()=>{D.value=!0;try{let e=await fetch(`/api/workspaces/${o.workspace.id}/rebase`,{method:`POST`});if(e.status===409){let t=await e.json();ze(`rebase`,Array.isArray(t.files)?t.files:[]);return}if(!e.ok){let t=await e.json();throw Error(t.error??`Rebase failed`)}l.notify({type:`positive`,message:c(`git.rebaseSuccess`),position:`top`}),Ae()}catch(e){let t=e instanceof Error?e.message:c(`git.rebaseFailed`);l.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{D.value=!1}})}function Re(){o.workspace&&l.dialog({title:c(`git.mergeConfirmTitle`),message:c(`git.mergeConfirmMessage`,{branch:`<code class="git-branch-code">${Ie(o.workspace.sourceBranch)}</code>`}),html:!0,dark:!0,cancel:{flat:!0,label:c(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:c(`git.merge`),color:`purple-4`}}).onOk(async()=>{O.value=!0;try{let e=await fetch(`/api/workspaces/${o.workspace.id}/merge`,{method:`POST`});if(e.status===409){let t=await e.json();ze(`merge`,Array.isArray(t.files)?t.files:[]);return}if(!e.ok){let t=await e.json();throw Error(t.error??`Merge failed`)}l.notify({type:`positive`,message:c(`git.mergeSuccess`),position:`top`}),Ae()}catch(e){let t=e instanceof Error?e.message:c(`git.mergeFailed`);l.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{O.value=!1}})}function ze(e,t){se.value=e,ce.value=t,R.value=!0}async function Be(){if(o.workspace){le.value=!0;try{let e=await fetch(`/api/workspaces/${o.workspace.id}/git/abort`,{method:`POST`});if(!e.ok){let t=await e.json();throw Error(t.error??`Abort failed`)}l.notify({type:`positive`,message:c(`git.conflictAborted`),position:`top`}),R.value=!1,Ae()}catch(e){let t=e instanceof Error?e.message:`Abort failed`;l.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{le.value=!1}}}async function Ve(){if(!(!o.workspace||!se.value)){ue.value=!0;try{let e=await fetch(`/api/workspaces/${o.workspace.id}/git/resolve-with-agent`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({operation:se.value,files:ce.value})});if(!e.ok){let t=await e.json();throw Error(t.error??`Handoff failed`)}l.notify({type:`positive`,message:c(`git.conflictHandoffSuccess`),position:`top`}),R.value=!1}catch(e){let t=e instanceof Error?e.message:`Handoff failed`;l.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{ue.value=!1}}}let He=s(!1),Ue=s(!1);function W(){o.workspace&&(Ue.value=!1,He.value=!0)}async function We(){if(!o.workspace)return;let e=Ue.value;He.value=!1,m.value=!0;try{await f.pushBranch(o.workspace.id,{force:e}),l.notify({type:`positive`,message:c(e?`git.branchForcePushed`:`git.branchPushed`),position:`top`}),Ae()}catch(e){let t=e instanceof Error?e.message:`Push failed`;l.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{m.value=!1}}function Ge(){o.workspace&&l.dialog({title:c(`git.pullConfirmTitle`),message:c(`git.pullConfirmMessage`,{branch:`<code class="git-branch-code">${Ie(o.workspace.workingBranch)}</code>`}),html:!0,dark:!0,cancel:{flat:!0,label:c(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:c(`git.pull`),color:`grey-5`}}).onOk(async()=>{E.value=!0;try{await f.pullBranch(o.workspace.id),l.notify({type:`positive`,message:c(`git.branchPulled`),position:`top`}),Ae()}catch(e){console.error(`[GitPanel] pullBranch failed:`,e);let t=e instanceof Error?e.message:c(`git.pullFailed`);l.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{E.value=!1}})}function Ke(){z.value?.prUrl&&window.open(z.value.prUrl,`_blank`)}function qe(){o.workspace&&l.dialog({title:c(`git.changePrBaseTitle`),message:c(`git.changePrBaseMessage`),prompt:{model:o.workspace.sourceBranch,type:`text`},dark:!0,cancel:{flat:!0,label:c(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:c(`common.save`),color:`primary`}}).onOk(async e=>{if(!(!e.trim()||!o.workspace)){A.value=!0;try{let t=await fetch(`/api/workspaces/${o.workspace.id}/change-pr-base`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({base:e.trim()})});if(!t.ok){let e=await t.json();throw Error(e.error??`Failed`)}l.notify({type:`positive`,message:c(`git.changePrBaseSuccess`),position:`top`}),Ae()}catch(e){let t=e instanceof Error?e.message:c(`git.changePrBaseFailed`);l.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{A.value=!1}}})}async function Je(){if(o.workspace){k.value=!0;try{let e=await f.openPullRequest(o.workspace.id);l.notify({type:`positive`,message:c(`git.prCreated`,{n:e.prNumber}),caption:e.prUrl,position:`top`,timeout:5e3}),Ae()}catch(e){if(e instanceof Me&&e.code===`branch_not_pushed`){l.notify({type:`warning`,message:c(`git.pushFirst`),position:`top`,timeout:6e3});return}if(e instanceof Me&&e.code===`unpushed_commits`){l.notify({type:`warning`,message:c(`git.unpushedCommits`),position:`top`,timeout:6e3});return}let t=e instanceof Error?e.message:`Open PR failed`;l.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{k.value=!1}}}return(n,a)=>(t(),S(`div`,Mn,[T(`div`,Nn,[T(`div`,Pn,h(n.$t(`git.title`)),1),e.workspace?(t(),g(B,{key:0,flat:``,round:``,dense:``,size:`xs`,icon:`refresh`,color:`grey-6`,loading:fe.value,onClick:je},{default:u(()=>[v(U,null,{default:u(()=>[y(h(n.$t(`tooltip.refreshGitStats`)),1)]),_:1})]),_:1},8,[`loading`])):_(``,!0)]),e.workspace?(t(),S(C,{key:0},[T(`div`,Fn,[T(`div`,In,h(n.$t(`git.section.repository`)),1),T(`div`,Ln,[v(L,{name:`folder`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),T(`span`,Rn,h(pe.value),1)]),T(`div`,zn,[a[11]||=T(`span`,{style:{width:`8px`,height:`8px`,"border-radius":`50%`,"background-color":`#4ade80`,display:`inline-block`},class:`q-mr-xs`},null,-1),T(`span`,Bn,h(e.workspace.workingBranch),1),e.workspace?.worktreeOwned===!1?_(``,!0):(t(),g(B,{key:0,flat:``,round:``,dense:``,size:`xs`,icon:`edit`,color:`grey-6`,class:`q-ml-xs`,loading:te.value,onClick:Pe},{default:u(()=>[v(U,null,{default:u(()=>[y(h(n.$t(`git.renameBranch`)),1)]),_:1})]),_:1},8,[`loading`])),e.workspace?.worktreeOwned===!1?(t(),g(L,{key:1,name:`info`,size:`14px`,color:`grey-6`,class:`q-ml-xs`},{default:u(()=>[v(U,null,{default:u(()=>[y(h(n.$t(`git.renameDisabledForExternal`)),1)]),_:1})]),_:1})):_(``,!0)]),T(`div`,Vn,[y(h(e.workspace.sourceBranch)+` `,1),z.value?(t(),S(C,{key:0},[z.value.commitCount>0?(t(),S(`span`,{key:0,class:`cursor-pointer arrow-clickable`,style:{color:`#4ade80`},onClick:a[0]||=N(e=>Te(`ahead`),[`stop`])},` · ↑`+h(z.value.commitCount),1)):_(``,!0),z.value.behindCount>0?(t(),S(`span`,{key:1,class:`cursor-pointer arrow-clickable`,style:{color:`#f87171`},onClick:a[1]||=N(e=>Te(`behind`),[`stop`])},` · ↓`+h(z.value.behindCount),1)):_(``,!0),z.value.commitCount>0||z.value.behindCount>0?(t(),g(U,{key:2},{default:u(()=>[y(h(n.$t(`git.aheadBehindTooltip`,{ahead:z.value.commitCount,behind:z.value.behindCount,source:e.workspace.sourceBranch})),1)]),_:1})):_(``,!0),a[12]||=y(` · `,-1),z.value.unpushedCount===-1?(t(),S(`span`,Hn,h(n.$t(`git.localOnly`)),1)):z.value.unpushedCount===0?(t(),S(`span`,Un,h(n.$t(`git.pushed`)),1)):(t(),S(`span`,Wn,h(n.$t(`git.unpushed`,{count:z.value.unpushedCount})),1))],64)):_(``,!0)])]),fe.value&&!z.value?(t(),S(`div`,Gn,[v(I,{size:`24px`,color:`indigo-4`})])):_(``,!0),z.value?(t(),S(`div`,Kn,[T(`div`,qn,h(n.$t(`git.section.changes`)),1),T(`div`,Jn,[z.value.commitCount>0?(t(),S(`div`,{key:0,class:`row items-center commit-toggle cursor-pointer`,onClick:ie},[v(L,{name:`commit`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),T(`span`,Yn,h(n.$t(`git.commits`,{count:z.value.commitCount},z.value.commitCount)),1),ne.value?(t(),g(I,{key:0,size:`12px`,color:`indigo-4`,class:`q-ml-xs`})):(t(),g(L,{key:1,name:P.value?`expand_less`:`expand_more`,size:`14px`,color:`grey-6`,class:`q-ml-xs`},null,8,[`name`]))])):(t(),S(`div`,Xn,[v(L,{name:`commit`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),T(`span`,Zn,h(n.$t(`git.commits`,{count:0},0)),1)])),z.value.filesChanged>0?(t(),S(`div`,Qn,[v(L,{name:`insert_drive_file`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),T(`span`,$n,h(z.value.filesChanged),1),z.value.insertions>0?(t(),S(`span`,er,`+`+h(z.value.insertions),1)):_(``,!0),z.value.deletions>0?(t(),S(`span`,tr,`-`+h(z.value.deletions),1)):_(``,!0)])):_(``,!0),z.value.workingTree&&(z.value.workingTree.staged>0||z.value.workingTree.modified>0||z.value.workingTree.untracked>0)?(t(),S(`div`,nr,[v(L,{name:`edit_note`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),z.value.workingTree.staged>0?(t(),S(`span`,rr,h(z.value.workingTree.staged)+`s`,1)):_(``,!0),z.value.workingTree.modified>0?(t(),S(`span`,ir,h(z.value.workingTree.modified)+`m`,1)):_(``,!0),z.value.workingTree.untracked>0?(t(),S(`span`,ar,h(z.value.workingTree.untracked)+`u`,1)):_(``,!0),v(U,null,{default:u(()=>[y(h(n.$t(`git.staged`,{count:z.value.workingTree.staged}))+` · `+h(n.$t(`git.modified`,{count:z.value.workingTree.modified}))+` · `+h(n.$t(`git.untracked`,{count:z.value.workingTree.untracked})),1)]),_:1})])):_(``,!0)]),P.value?(t(),S(`div`,or,[ne.value?(t(),S(`div`,sr,[v(I,{size:`xs`,class:`q-mr-xs`}),y(h(n.$t(`git.commits.loading`)),1)])):F.value.length===0?(t(),S(`div`,cr,h(n.$t(`git.commits.empty`)),1)):(t(!0),S(C,{key:2},i(F.value,e=>(t(),S(`div`,{key:e.sha,class:`commit-item row no-wrap items-center cursor-pointer`,onClick:t=>ae(e.sha)},[v(L,{name:e.isPushed?`cloud_done`:`cloud_upload`,size:`12px`,color:e.isPushed?`grey-6`:`orange-5`,class:`q-mr-xs commit-item-icon`},null,8,[`name`,`color`]),T(`span`,ur,h(e.shortSha),1),T(`span`,dr,h(e.subject),1),v(U,{anchor:`top middle`,self:`bottom middle`,class:`commit-tooltip`},{default:u(()=>[T(`div`,fr,[T(`div`,null,[T(`code`,null,h(e.sha),1)]),T(`div`,pr,h(e.author)+` · `+h(oe(e.date)),1),T(`div`,mr,h(e.isPushed?n.$t(`git.commits.pushed`):n.$t(`git.commits.unpushed`))+` · `+h(n.$t(`git.commits.clickToAppend`)),1)])]),_:2},1024)],8,lr))),128))])):_(``,!0)])):_(``,!0),me.value&&me.value.state===`OPEN`?(t(),S(`div`,hr,[T(`div`,gr,h(n.$t(`git.section.pullRequest`)),1),v(jn,{snapshot:me.value},null,8,[`snapshot`])])):_(``,!0),e.workspace&&z.value?(t(),S(`div`,_r,[T(`div`,vr,h(n.$t(`git.section.actions`)),1),z.value?.prUrl&&z.value.prState===`OPEN`?(t(),g(B,{key:0,"no-caps":``,unelevated:``,dense:``,size:`sm`,color:`green-7`,icon:`open_in_new`,label:n.$t(`git.viewPr`),class:`full-width q-mb-xs`,onClick:Ke},null,8,[`label`])):(t(),g(B,{key:1,"no-caps":``,unelevated:``,dense:``,size:`sm`,color:`indigo-5`,icon:`open_in_new`,label:n.$t(`git.createPr`),class:`full-width q-mb-xs`,loading:k.value,disable:!e.workspace||m.value||!he.value,onClick:Je},{default:u(()=>[!he.value&&ge.value?(t(),g(U,{key:0},{default:u(()=>[y(h(ge.value),1)]),_:1})):_(``,!0)]),_:1},8,[`label`,`loading`,`disable`])),T(`div`,yr,[z.value?(t(),g(Ht,{key:0,split:``,dense:``,"no-caps":``,size:`sm`,outline:``,color:`grey-5`,icon:`sync`,label:n.$t(`git.sync`),class:`git-btn git-sync-btn col`,loading:E.value||D.value||O.value,disable:!e.workspace||m.value,onClick:a[2]||=e=>z.value.unpushedCount===-1?Le():Ge()},{default:u(()=>[v(Ye,{dark:``,dense:``,style:{"min-width":`140px`}},{default:u(()=>[d((t(),g(V,{clickable:``,disable:E.value||D.value||O.value||z.value.unpushedCount===-1,onClick:Ge},{default:u(()=>[v(H,{avatar:``,style:{"min-width":`28px`}},{default:u(()=>[v(L,{name:`download`,size:`16px`,color:`grey-5`})]),_:1}),v(H,null,{default:u(()=>[y(h(n.$t(`git.pull`)),1)]),_:1}),z.value.unpushedCount===-1?(t(),g(U,{key:0},{default:u(()=>[y(h(n.$t(`git.pullNoUpstream`)),1)]),_:1})):_(``,!0)]),_:1},8,[`disable`])),[[Ze]]),d((t(),g(V,{clickable:``,disable:E.value||D.value||O.value,onClick:Le},{default:u(()=>[v(H,{avatar:``,style:{"min-width":`28px`}},{default:u(()=>[v(L,{name:`replay`,size:`16px`,color:`orange-4`})]),_:1}),v(H,null,{default:u(()=>[y(h(n.$t(`git.rebase`)),1)]),_:1})]),_:1},8,[`disable`])),[[Ze]]),d((t(),g(V,{clickable:``,disable:E.value||D.value||O.value,onClick:Re},{default:u(()=>[v(H,{avatar:``,style:{"min-width":`28px`}},{default:u(()=>[v(L,{name:`merge`,size:`16px`,color:`purple-4`})]),_:1}),v(H,null,{default:u(()=>[y(h(n.$t(`git.merge`)),1)]),_:1})]),_:1},8,[`disable`])),[[Ze]])]),_:1})]),_:1},8,[`label`,`loading`,`disable`])):_(``,!0),v(B,{dense:``,"no-caps":``,size:`sm`,outline:``,color:`indigo-4`,icon:`rate_review`,label:n.$t(`git.diffReview`),class:`git-btn`,disable:!e.workspace,onClick:a[3]||=e=>ee(!0)},{default:u(()=>[v(U,{anchor:`bottom middle`,self:`top middle`,delay:400},{default:u(()=>[y(h(n.$t(`git.diffReviewTooltip`)),1)]),_:1})]),_:1},8,[`label`,`disable`]),ye.value?(t(),g(B,{key:1,dense:``,flat:``,size:`sm`,color:`grey-5`,icon:`more_horiz`,class:`git-btn`},{default:u(()=>[v(Xe,null,{default:u(()=>[v(Ye,{dark:``,dense:``,style:{"min-width":`160px`}},{default:u(()=>[!z.value||z.value.unpushedCount!==0?d((t(),g(V,{key:0,clickable:``,disable:!e.workspace||k.value||E.value||D.value,onClick:W},{default:u(()=>[v(H,{avatar:``,style:{"min-width":`28px`}},{default:u(()=>[v(L,{name:`upload`,size:`16px`,color:`grey-5`})]),_:1}),v(H,null,{default:u(()=>[y(h(n.$t(`git.push`)),1)]),_:1})]),_:1},8,[`disable`])),[[Ze]]):_(``,!0),z.value?.prUrl&&z.value.prState===`OPEN`?d((t(),g(V,{key:1,clickable:``,disable:A.value,onClick:qe},{default:u(()=>[v(H,{avatar:``,style:{"min-width":`28px`}},{default:u(()=>[v(L,{name:`swap_horiz`,size:`16px`,color:`grey-5`})]),_:1}),v(H,null,{default:u(()=>[y(h(n.$t(`git.changePrBase`)),1)]),_:1})]),_:1},8,[`disable`])),[[Ze]]):_(``,!0)]),_:1})]),_:1}),v(U,null,{default:u(()=>[y(h(n.$t(`git.actions.more`)),1)]),_:1})]),_:1})):_(``,!0)])])):_(``,!0)],64)):(t(),S(`div`,br,h(n.$t(`common.selectWorkspace`)),1)),v(De,{modelValue:He.value,"onUpdate:modelValue":a[5]||=e=>He.value=e},{default:u(()=>[v(Fe,{dark:``,style:{"min-width":`360px`,"max-width":`480px`}},{default:u(()=>[v(Ce,null,{default:u(()=>[T(`div`,xr,h(n.$t(`git.pushConfirmTitle`)),1),T(`div`,Sr,[y(h(n.$t(`git.pushConfirmMessagePrefix`))+` `,1),T(`code`,Cr,h(e.workspace?.workingBranch??``),1),y(` `+h(n.$t(`git.pushConfirmMessageSuffix`)),1)])]),_:1}),v(Ce,{class:`q-pt-none`},{default:u(()=>[v(xe,{modelValue:Ue.value,"onUpdate:modelValue":a[4]||=e=>Ue.value=e,label:n.$t(`git.forcePushToggle`),color:`orange-6`,dense:``},null,8,[`modelValue`,`label`]),T(`div`,wr,h(n.$t(`git.forcePushHint`)),1)]),_:1}),v(ve,{align:`right`},{default:u(()=>[d(v(B,{flat:``,label:n.$t(`common.cancel`),color:`grey-5`},null,8,[`label`]),[[Ze]]),v(B,{flat:``,label:Ue.value?n.$t(`git.forcePush`):n.$t(`git.push`),color:Ue.value?`orange-4`:`grey-5`,onClick:We},null,8,[`label`,`color`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),v(De,{modelValue:R.value,"onUpdate:modelValue":a[7]||=e=>R.value=e,persistent:``},{default:u(()=>[v(Fe,{dark:``,style:{"min-width":`420px`,"max-width":`600px`}},{default:u(()=>[v(Ce,null,{default:u(()=>[T(`div`,Tr,[v(L,{name:`warning`,class:`q-mr-xs`}),y(` `+h(se.value===`merge`?n.$t(`git.conflictTitleMerge`):n.$t(`git.conflictTitleRebase`)),1)]),T(`div`,Er,h(n.$t(`git.conflictSubtitle`,{count:ce.value.length})),1)]),_:1}),ce.value.length>0?(t(),g(Ce,{key:0,class:`q-pt-none`},{default:u(()=>[v(Ye,{dense:``,dark:``},{default:u(()=>[(t(!0),S(C,null,i(ce.value,e=>(t(),g(V,{key:e},{default:u(()=>[v(H,{side:``},{default:u(()=>[v(L,{name:`insert_drive_file`,size:`xs`})]),_:1}),v(H,null,{default:u(()=>[T(`div`,Dr,h(e),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})):_(``,!0),v(ve,{align:`right`},{default:u(()=>[v(B,{flat:``,"no-caps":``,label:n.$t(`common.cancel`),color:`grey-5`,disable:le.value||ue.value,onClick:a[6]||=e=>R.value=!1},null,8,[`label`,`disable`]),v(B,{flat:``,"no-caps":``,color:`red-4`,icon:`undo`,label:n.$t(`git.conflictAbort`),loading:le.value,disable:ue.value,onClick:Be},null,8,[`label`,`loading`,`disable`]),v(B,{unelevated:``,"no-caps":``,color:`primary`,icon:`smart_toy`,label:n.$t(`git.conflictResolveWithAgent`),loading:ue.value,disable:le.value,onClick:Ve},null,8,[`label`,`loading`,`disable`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),v(De,{modelValue:j.value,"onUpdate:modelValue":a[9]||=e=>j.value=e,maximized:``},{default:u(()=>[e.workspace?(t(),g(w(r),{key:0,"workspace-id":e.workspace.id,"initial-review-mode":M.value,onClose:a[8]||=e=>j.value=!1,onSendToChat:de},null,8,[`workspace-id`,`initial-review-mode`])):_(``,!0)]),_:1},8,[`modelValue`]),e.workspace&&z.value?(t(),g(fn,{key:2,modelValue:be.value,"onUpdate:modelValue":a[10]||=e=>be.value=e,"workspace-id":e.workspace.id,"initial-tab":Se.value,"ahead-count":z.value.commitCount,"behind-count":z.value.behindCount,"source-branch":e.workspace.sourceBranch,"working-branch":e.workspace.workingBranch,onAppendSha:ae},null,8,[`modelValue`,`workspace-id`,`initial-tab`,`ahead-count`,`behind-count`,`source-branch`,`working-branch`])):_(``,!0)]))}}),[[`__scopeId`,`data-v-e4b54c68`]]),kr={class:`schedule-panel column q-pa-md q-gutter-md`},Ar={class:`text-subtitle2 q-mb-sm`},jr={key:0,class:`text-caption text-grey-7`},Mr={class:`row items-center no-wrap`},Nr={class:`text-body2`},Pr={key:0,class:`text-caption text-grey-6 q-mt-xs prompt-preview`},Fr={class:`text-subtitle2 q-mb-sm`},Ir={key:0,class:`text-caption text-grey-7`},Lr={class:`row items-center no-wrap`},Rr={class:`text-body2 ellipsis`},zr={class:`text-caption text-grey-6 q-mt-xs`},Br={key:0},Vr={class:`prompt-preview text-caption text-grey-6 q-mt-xs`},Hr=W(E({__name:`SchedulePanel`,props:{workspaceId:{}},setup(e){let r=e,{t:a}=_e(),o=Qe(),s=we(),c=x(()=>s.pendingWakeups[r.workspaceId]??null),l=x(()=>s.crons[r.workspaceId]??[]);n(()=>r.workspaceId,e=>{e&&s.fetchCrons(e)},{immediate:!0});function d(e){return new Date(e).toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`})}function f(e){let t=Date.now()-new Date(e).getTime();if(Number.isNaN(t)||t<0)return`—`;let n=Math.floor(t/1e3);if(n<60)return`${n}s`;let r=Math.floor(n/60);if(r<60)return`${r}m`;let i=Math.floor(r/60);return i<24?`${i}h`:`${Math.floor(i/24)}d`}async function p(){try{let e=await fetch(`/api/workspaces/${r.workspaceId}/pending-wakeup`,{method:`DELETE`});if(!e.ok)throw Error(`HTTP ${e.status}`)}catch(e){o.notify({type:`negative`,message:String(e),position:`top`,timeout:4e3})}}async function m(e){try{await s.cancelCron(r.workspaceId,e)}catch(e){o.notify({type:`negative`,message:String(e),position:`top`,timeout:4e3})}}return(e,n)=>(t(),S(`div`,kr,[T(`div`,null,[T(`div`,Ar,h(e.$t(`schedule.wakeupTitle`)),1),c.value?(t(),g(Fe,{key:1,dark:``,flat:``,bordered:``},{default:u(()=>[v(Ce,{class:`q-py-sm`},{default:u(()=>[T(`div`,Mr,[v(L,{name:`schedule`,size:`16px`,color:`amber-4`,class:`q-mr-sm`}),T(`div`,Nr,h(d(c.value.targetAt)),1),v(Ge),v(B,{flat:``,dense:``,round:``,icon:`close`,size:`sm`,title:e.$t(`common.cancel`),onClick:p},null,8,[`title`])]),c.value.reason?(t(),S(`pre`,Pr,h(c.value.reason),1)):_(``,!0)]),_:1})]),_:1})):(t(),S(`div`,jr,h(e.$t(`schedule.noWakeup`)),1))]),T(`div`,null,[T(`div`,Fr,h(e.$t(`schedule.cronsTitle`)),1),l.value.length===0?(t(),S(`div`,Ir,h(e.$t(`schedule.noCrons`)),1)):(t(),g(Ye,{key:1,dense:``,dark:``,separator:``},{default:u(()=>[(t(!0),S(C,null,i(l.value,n=>(t(),g(V,{key:n.id},{default:u(()=>[v(H,null,{default:u(()=>[T(`div`,Lr,[v(L,{name:`event_repeat`,size:`16px`,color:`cyan-4`,class:`q-mr-sm`}),T(`div`,Rr,h(n.label||n.expression),1)]),T(`div`,zr,[y(h(e.$t(`schedule.nextFireAt`,{time:d(n.nextFireAt)}))+` `,1),n.lastFiredAt?(t(),S(`span`,Br,` · `+h(e.$t(`schedule.lastFiredAt`,{time:f(n.lastFiredAt)})),1)):_(``,!0)]),T(`pre`,Vr,h(n.prompt),1)]),_:2},1024),v(H,{side:``,top:``},{default:u(()=>[v(B,{flat:``,dense:``,round:``,icon:`close`,size:`sm`,title:e.$t(`common.cancel`),onClick:e=>m(n.id)},null,8,[`title`,`onClick`])]),_:2},1024)]),_:2},1024))),128))]),_:1}))])]))}}),[[`__scopeId`,`data-v-891bf3cf`]]),Ur={class:`subagents-panel q-pa-md`},Wr={class:`text-caption text-uppercase text-weight-bold text-grey-6 q-mb-sm`,style:{"letter-spacing":`0.05em`}},Gr={key:0,class:`text-caption text-grey-8`},Kr={class:`row items-center q-mb-xs`},qr={class:`text-caption text-weight-medium text-grey-3 ellipsis`,style:{"max-width":`220px`}},Jr={key:0,class:`text-caption text-grey-6`,style:{"font-size":`10px`}},Yr={class:`text-grey-4`},Xr={class:`row items-center q-gutter-xs q-mt-xs text-caption text-grey-7`,style:{"font-size":`10px`}},Zr={key:0},Qr={key:1},$r={key:2},ei=W(E({__name:`SubagentsPanel`,setup(e){let{t:n}=_e(),r=we(),a=x(()=>[...r.currentSubagents].reverse());function o(e){return e?e<1e3?`${e}ms`:e<6e4?`${(e/1e3).toFixed(1)}s`:`${Math.floor(e/6e4)}m ${Math.floor(e%6e4/1e3)}s`:``}function s(e){return e?e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e):``}return(e,n)=>(t(),S(`div`,Ur,[T(`div`,Wr,h(e.$t(`subagents.title`)),1),a.value.length===0?(t(),S(`div`,Gr,h(e.$t(`subagents.empty`)),1)):_(``,!0),(t(!0),S(C,null,i(a.value,n=>(t(),S(`div`,{key:n.toolUseId,class:`subagent-item q-mb-sm rounded-borders q-pa-sm`},[T(`div`,Kr,[v(L,{name:n.status===`running`?`play_circle`:`check_circle`,size:`14px`,color:n.status===`running`?`green-4`:`grey-6`,class:`q-mr-xs`},null,8,[`name`,`color`]),T(`span`,qr,h(n.description||n.toolUseId),1)]),n.lastToolName?(t(),S(`div`,Jr,[y(h(e.$t(`subagents.running`)),1),T(`span`,Yr,h(n.lastToolName),1)])):_(``,!0),T(`div`,Xr,[n.toolUses===void 0?_(``,!0):(t(),S(`span`,Zr,h(e.$t(`subagents.tools`,{count:n.toolUses})),1)),n.totalTokens?(t(),S(`span`,Qr,`· `+h(s(n.totalTokens))+` tok`,1)):_(``,!0),n.durationMs?(t(),S(`span`,$r,`· `+h(o(n.durationMs)),1)):_(``,!0)])]))),128))]))}}),[[`__scopeId`,`data-v-dd805632`]]),ti={class:`notion-panel q-pa-md`},ni={class:`row items-center q-mb-sm`},ri={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},ii={key:0,class:`q-mb-sm`},ai={class:`text-caption text-grey-7`,style:{"font-size":`11px`}},oi={key:1,class:`text-caption text-grey-8 q-mb-sm`,style:{"font-size":`11px`}},si={key:2,class:`task-add-row row items-center q-mb-xs`},ci={key:3,class:`tasks-list`},li=[`onDblclick`],ui={key:1,class:`text-caption text-grey-8`},di=W(E({__name:`TasksPanel`,props:{workspace:{},tasks:{}},setup(n){let r=n,{t:a}=_e(),o=we(),c=Ae();function l(){r.workspace?.id&&ct(r.workspace.id,c,o)}let d=x(()=>r.tasks.filter(e=>!e.isAcceptanceCriterion)),f=x(()=>d.value.filter(e=>e.status===`done`).length),p=x(()=>d.value.length),b=x(()=>p.value>0?f.value/p.value:0),w=s(!1),E=s(``),D=s(null),O=s(``),j=s({});function M(e,t){if(t){let n=t.$el??t;j.value[e]=n}else delete j.value[e]}function ee(){w.value=!0,E.value=``}async function te(){let e=E.value.trim();if(!(!e||!r.workspace?.id))try{await o.createTask(r.workspace.id,e,!1),E.value=``,w.value=!1}catch{}}function P(){E.value=``,w.value=!1}function ne(t){D.value=t.id,O.value=t.title,e(()=>{let e=j.value[t.id]?.querySelector(`input, textarea`);e?.focus(),e?.select()})}async function F(e){if(D.value!==e.id)return;let t=O.value.trim(),n=e.id;if(D.value=null,!(!t||t===e.title)&&r.workspace?.id)try{await o.updateTaskTitle(r.workspace.id,n,t)}catch{}}function I(){D.value=null,O.value=``}async function re(e){if(r.workspace?.id)try{await o.deleteTask(r.workspace.id,e.id)}catch{}}async function ie(e){if(!r.workspace?.id)return;let t=e.status===`done`?`pending`:`done`;try{let n=await fetch(`/api/workspaces/${e.workspaceId}/tasks/${e.id}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({status:t})});if(!n.ok)throw Error(`HTTP ${n.status}`);o.fetchWorkspaceDetails(r.workspace.id)}catch(e){console.error(`Failed to toggle task:`,e)}}function ae(e){switch(e){case`done`:return`check_circle`;case`in_progress`:return`timelapse`;default:return`radio_button_unchecked`}}function oe(e){switch(e){case`done`:return`#4ade80`;case`in_progress`:return`#f59e0b`;default:return`#888`}}return(e,r)=>(t(),S(`div`,ti,[T(`div`,ni,[T(`div`,ri,h(e.$t(`tasks.title`)),1),v(Ge),n.workspace?(t(),g(B,{key:0,flat:``,dense:``,round:``,size:`xs`,icon:`fact_check`,color:`grey-5`,onClick:l},{default:u(()=>[v(U,null,{default:u(()=>[y(h(e.$t(`tasks.askProgress`)),1)]),_:1})]),_:1})):_(``,!0),n.workspace?(t(),g(B,{key:1,flat:``,dense:``,round:``,size:`xs`,icon:`add`,color:`indigo-4`,onClick:ee},{default:u(()=>[v(U,null,{default:u(()=>[y(h(e.$t(`tooltip.addTask`)),1)]),_:1})]),_:1})):_(``,!0)]),n.workspace?(t(),S(C,{key:0},[p.value>0?(t(),S(`div`,ii,[v(Ie,{value:b.value,color:`primary`,"track-color":`grey-9`,class:`q-mb-xs`,style:{height:`4px`,"border-radius":`2px`}},null,8,[`value`]),T(`div`,ai,h(e.$t(`notion.subtasks`,{done:f.value,total:p.value})),1)])):w.value?_(``,!0):(t(),S(`div`,oi,h(e.$t(`notion.noTasks`)),1)),w.value?(t(),S(`div`,si,[v(ye,{modelValue:E.value,"onUpdate:modelValue":r[0]||=e=>E.value=e,dark:``,dense:``,borderless:``,autofocus:``,placeholder:e.$t(`notion.newTask`),class:`col task-input`,"input-class":`task-input-inner`,onKeydown:[A(N(te,[`prevent`]),[`enter`]),A(N(P,[`prevent`]),[`esc`])]},null,8,[`modelValue`,`placeholder`,`onKeydown`])])):_(``,!0),d.value.length>0?(t(),S(`div`,ci,[(t(!0),S(C,null,i(d.value,n=>(t(),S(`div`,{key:n.id,class:`task-item row items-center q-py-xxs`},[v(L,{name:ae(n.status),size:`14px`,style:k({color:oe(n.status)}),class:`q-mr-xs cursor-pointer`,onClick:e=>ie(n)},null,8,[`name`,`style`,`onClick`]),D.value===n.id?(t(),g(ye,{key:0,ref_for:!0,ref:e=>M(n.id,e),modelValue:O.value,"onUpdate:modelValue":r[1]||=e=>O.value=e,dark:``,dense:``,borderless:``,class:`col task-input`,"input-class":`task-input-inner`,onKeydown:[A(N(e=>F(n),[`prevent`]),[`enter`]),A(N(I,[`prevent`]),[`esc`])],onBlur:e=>F(n)},null,8,[`modelValue`,`onKeydown`,`onBlur`])):(t(),S(C,{key:1},[T(`span`,{class:m([`col task-title text-caption`,{"text-strike":n.status===`done`}]),style:k({color:n.status===`done`?`#4ade80`:`#ccc`}),onDblclick:e=>ne(n)},h(n.title),47,li),v(B,{flat:``,dense:``,round:``,size:`xs`,icon:`close`,color:`grey-6`,class:`task-delete-btn`,onClick:e=>re(n)},{default:u(()=>[v(U,null,{default:u(()=>[y(h(e.$t(`tooltip.removeTask`)),1)]),_:1})]),_:1},8,[`onClick`])],64))]))),128))])):_(``,!0)],64)):(t(),S(`div`,ui,h(e.$t(`common.selectWorkspace`)),1))]))}}),[[`__scopeId`,`data-v-4bc9713a`]]),fi=2,pi=1,mi=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(fi,Math.floor(u/e.css.cell.width)),rows:Math.max(pi,Math.floor(l/e.css.cell.height))}}},hi=Object.defineProperty,gi=Object.getOwnPropertyDescriptor,_i=(e,t)=>{for(var n in t)hi(e,n,{get:t[n],enumerable:!0})},vi=(e,t,n,r)=>{for(var i=r>1?void 0:r?gi(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&&hi(t,n,i),i},G=(e,t)=>(n,r)=>t(n,r,e),yi=`Terminal input`,bi={get:()=>yi,set:e=>yi=e},xi=`Too much output to announce, navigate to rows manually to read`,Si={get:()=>xi,set:e=>xi=e};function Ci(e){return e.replace(/\r?\n/g,`\r`)}function wi(e,t){return t?`\x1B[200~`+e+`\x1B[201~`:e}function Ti(e,t){e.clipboardData&&e.clipboardData.setData(`text/plain`,t.selectionText),e.preventDefault()}function Ei(e,t,n,r){e.stopPropagation(),e.clipboardData&&Di(e.clipboardData.getData(`text/plain`),t,n,r)}function Di(e,t,n,r){e=Ci(e),e=wi(e,n.decPrivateModes.bracketedPasteMode&&r.rawOptions.ignoreBracketedPasteMode!==!0),n.triggerDataEvent(e,!0),t.value=``}function Oi(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 ki(e,t,n,r,i){Oi(e,t,n),i&&r.rightClickSelect(e),t.value=r.selectionText,t.select()}function Ai(e){return e>65535?(e-=65536,String.fromCharCode((e>>10)+55296)+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)}function ji(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 Mi=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}},Ni=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(e,t){let n=e.length;if(!n)return 0;let r=0,i,a,o,s,c=0,l=0;if(this.interim[0]){let i=!1,a=this.interim[0];a&=(a&224)==192?31:(a&240)==224?15:7;let o=0,s;for(;(s=this.interim[++o]&63)&&o<4;)a<<=6,a|=s;let c=(this.interim[0]&224)==192?2:(this.interim[0]&240)==224?3:4,u=c-o;for(;l<u;){if(l>=n)return 0;if(s=e[l++],(s&192)!=128){l--,i=!0;break}else this.interim[o++]=s,a<<=6,a|=s&63}i||(c===2?a<128?l--:t[r++]=a:c===3?a<2048||a>=55296&&a<=57343||a===65279||(t[r++]=a):a<65536||a>1114111||(t[r++]=a)),this.interim.fill(0)}let u=n-4,d=l;for(;d<n;){for(;d<u&&!((i=e[d])&128)&&!((a=e[d+1])&128)&&!((o=e[d+2])&128)&&!((s=e[d+3])&128);)t[r++]=i,t[r++]=a,t[r++]=o,t[r++]=s,d+=4;if(i=e[d++],i<128)t[r++]=i;else if((i&224)==192){if(d>=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128){d--;continue}if(c=(i&31)<<6|a&63,c<128){d--;continue}t[r++]=c}else if((i&240)==224){if(d>=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,r;if(o=e[d++],(o&192)!=128){d--;continue}if(c=(i&15)<<12|(a&63)<<6|o&63,c<2048||c>=55296&&c<=57343||c===65279)continue;t[r++]=c}else if((i&248)==240){if(d>=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,r;if(o=e[d++],(o&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,this.interim[2]=o,r;if(s=e[d++],(s&192)!=128){d--;continue}if(c=(i&7)<<18|(a&63)<<12|(o&63)<<6|s&63,c<65536||c>1114111)continue;t[r++]=c}}return r}},Pi=``,Fi=` `,Ii=class e{constructor(){this.fg=0,this.bg=0,this.extended=new Li}static toColorRGB(e){return[e>>>16&255,e>>>8&255,e&255]}static fromColorRGB(e){return(e[0]&255)<<16|(e[1]&255)<<8|e[2]&255}clone(){let t=new e;return t.fg=this.fg,t.bg=this.bg,t.extended=this.extended.clone(),t}isInverse(){return this.fg&67108864}isBold(){return this.fg&134217728}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:this.fg&268435456}isBlink(){return this.fg&536870912}isInvisible(){return this.fg&1073741824}isItalic(){return this.bg&67108864}isDim(){return this.bg&134217728}isStrikethrough(){return this.fg&2147483648}isProtected(){return this.bg&536870912}isOverline(){return this.bg&1073741824}getFgColorMode(){return this.fg&50331648}getBgColorMode(){return this.bg&50331648}isFgRGB(){return(this.fg&50331648)==50331648}isBgRGB(){return(this.bg&50331648)==50331648}isFgPalette(){return(this.fg&50331648)==16777216||(this.fg&50331648)==33554432}isBgPalette(){return(this.bg&50331648)==16777216||(this.bg&50331648)==33554432}isFgDefault(){return(this.fg&50331648)==0}isBgDefault(){return(this.bg&50331648)==0}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(this.fg&50331648){case 16777216:case 33554432:return this.fg&255;case 50331648:return this.fg&16777215;default:return-1}}getBgColor(){switch(this.bg&50331648){case 16777216:case 33554432:return this.bg&255;case 50331648:return this.bg&16777215;default:return-1}}hasExtendedAttrs(){return this.bg&268435456}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(this.bg&268435456&&~this.extended.underlineColor)switch(this.extended.underlineColor&50331648){case 16777216:case 33554432:return this.extended.underlineColor&255;case 50331648:return this.extended.underlineColor&16777215;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return this.bg&268435456&&~this.extended.underlineColor?this.extended.underlineColor&50331648:this.getFgColorMode()}isUnderlineColorRGB(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)==50331648:this.isFgRGB()}isUnderlineColorPalette(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)==16777216||(this.extended.underlineColor&50331648)==33554432:this.isFgPalette()}isUnderlineColorDefault(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)==0:this.isFgDefault()}getUnderlineStyle(){return this.fg&268435456?this.bg&268435456?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}},Li=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}},Ri=class e extends Ii{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new Li,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?Ai(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()]}},zi=`di$target`,Bi=`di$dependencies`,Vi=new Map;function Hi(e){return e[Bi]||[]}function Ui(e){if(Vi.has(e))return Vi.get(e);let t=function(e,n,r){if(arguments.length!==3)throw Error(`@IServiceName-decorator can only be used to decorate a parameter`);Wi(t,e,r)};return t._id=e,Vi.set(e,t),t}function Wi(e,t,n){t[zi]===t?t[Bi].push({id:e,index:n}):(t[Bi]=[{id:e,index:n}],t[zi]=t)}var Gi=Ui(`BufferService`),Ki=Ui(`CoreMouseService`),qi=Ui(`CoreService`),Ji=Ui(`CharsetService`),Yi=Ui(`InstantiationService`),Xi=Ui(`LogService`),Zi=Ui(`OptionsService`),Qi=Ui(`OscLinkService`),$i=Ui(`UnicodeService`),ea=Ui(`DecorationService`),ta=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 Ri,o=n.getTrimmedLength(),s=-1,c=-1,l=!1;for(let t=0;t<o;t++)if(!(c===-1&&!n.hasContent(t))){if(n.loadCell(t,a),a.hasExtendedAttrs()&&a.extended.urlId)if(c===-1){c=t,s=a.extended.urlId;continue}else l=a.extended.urlId!==s;else c!==-1&&(l=!0);if(l||c!==-1&&t===o-1){let n=this._oscLinkService.getLinkData(s)?.uri;if(n){let a={start:{x:c+1,y:e},end:{x:t+(!l&&t===o-1?1:0),y:e}},s=!1;if(!i?.allowNonHttpProtocols)try{let e=new URL(n);[`http:`,`https:`].includes(e.protocol)||(s=!0)}catch{s=!0}s||r.push({text:n,range:a,activate:(e,t)=>i?i.activate(e,t,a):na(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)}};ta=vi([G(0,Gi),G(1,Zi),G(2,Qi)],ta);function na(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-xnpaPL3h.js","assets/index-ABhgwrBB.js","assets/vue-i18n-CKCtKE87.js","assets/runtime-core.esm-bundler-9Z0QAO_7.js","assets/QIcon-qfJNZLIW.js","assets/use-id-_7wiRcgb.js","assets/QBtn-CaJSOyt8.js","assets/QRadio-4HnR_A-K.js","assets/use-checkbox-y_fOkYZN.js","assets/QInput-DCJEwE8V.js","assets/QCheckbox-BvHfXBFY.js","assets/QToggle-DNOTC_3a.js","assets/notifications-C4jB7A2f.js","assets/index-eX_lKHSg.css","assets/_plugin-vue_export-helper-Cj6tcsj6.js","assets/QBadge-C7r6oPSi.js","assets/build-path-tree-DGuSpWFG.js","assets/QTooltip-CTNw68oZ.js","assets/QItemSection-Bz1ZDJO5.js","assets/QList-BbnN_oNX.js","assets/QMenu-pgVPfC7Y.js","assets/render-chat-markdown-C9L-kzlg.js","assets/purify.es-BYydQXtR.js","assets/TouchPan-SGRB-xYE.js","assets/touch-HRdTUO2o.js","assets/QSpace-DKIph84L.js","assets/QSpinnerDots-Bfl2RMy4.js","assets/use-quasar-DQYS47mh.js","assets/ClosePopup-Bs-9Klyd.js","assets/DiffViewer-DTdDcKZC.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{E as e,F as t,H as n,I as r,L as i,M as a,N as o,Q as s,R as c,S as l,U as u,W as d,Z as f,_ as p,_t as m,bt as h,d as g,f as _,g as v,h as y,k as b,l as x,p as S,r as C,rt as w,u as T,v as E,w as D,y as O,yt as k}from"./runtime-core.esm-bundler-9Z0QAO_7.js";import{H as A,M as j,P as M,U as N,V as ee,_ as te,a as P,g as ne,i as F,l as I,m as re,n as ie,r as ae,s as oe,t as L}from"./QIcon-qfJNZLIW.js";import{p as R,r as se,t as ce}from"./use-id-_7wiRcgb.js";import{A as le,M as ue,P as de,h as z,j as fe,k as pe,s as me}from"./notifications-C4jB7A2f.js";import{n as he,r as ge,t as B}from"./QBtn-CaJSOyt8.js";import{n as _e}from"./vue-i18n-CKCtKE87.js";import{n as ve}from"./QRadio-4HnR_A-K.js";import{t as ye}from"./QInput-DCJEwE8V.js";import{t as be}from"./QCheckbox-BvHfXBFY.js";import{t as xe}from"./QToggle-DNOTC_3a.js";import{_ as Se,b as Ce,c as we,d as Te,g as Ee,h as De,i as Oe,n as ke,o as Ae,r as je,s as Me,t as Ne,u as Pe,v as Fe,y as Ie}from"./index-ABhgwrBB.js";import{n as V,t as H}from"./QItemSection-Bz1ZDJO5.js";import{d as Le,t as U}from"./QTooltip-CTNw68oZ.js";import{n as Re,t as ze}from"./TouchPan-SGRB-xYE.js";import{n as Be,r as Ve,t as He}from"./purify.es-BYydQXtR.js";import{t as Ue}from"./documents-soWtna0O.js";import{t as W}from"./_plugin-vue_export-helper-Cj6tcsj6.js";import{t as We}from"./QBadge-C7r6oPSi.js";import{t as Ge}from"./QSpace-DKIph84L.js";import{i as Ke,r as qe,t as Je}from"./build-path-tree-DGuSpWFG.js";import{t as Ye}from"./QList-BbnN_oNX.js";import{t as Xe}from"./QMenu-pgVPfC7Y.js";import{t as Ze}from"./ClosePopup-Bs-9Klyd.js";import{t as Qe}from"./use-quasar-DQYS47mh.js";import{a as $e,c as et,i as tt,l as nt,n as rt,o as it,r as at,s as ot}from"./project-color-5UmDpA6C.js";import{t as st}from"./QChip-CQZIeDHV.js";import{n as ct,r as lt}from"./kobo-commands-thKpumUN.js";import{n as ut,r as dt}from"./engineFeatures-BqiWw0xn.js";import{t as ft}from"./formatters-h0XBETG5.js";var pt=150,mt=M({name:`QDrawer`,inheritAttrs:!1,props:{...ue,...ae,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:[...fe,`onLayout`,`miniState`],setup(t,{slots:r,emit:i,attrs:o}){let c=O(),{proxy:{$q:u}}=c,f=ie(t,u),{preventBodyScroll:p}=Ee(),{registerTimeout:m,removeTimeout:h}=de(),g=D(ne,re);if(g===re)return console.error(`QDrawer needs to be child of QLayout`),re;let _,v=null,y,S=s(t.behavior===`mobile`||t.behavior!==`desktop`&&g.totalWidth.value<=t.breakpoint),C=x(()=>t.mini===!0&&S.value!==!0),w=x(()=>C.value===!0?t.miniWidth:t.width),T=s(t.showIfAbove===!0&&S.value===!1?!0:t.modelValue===!0),E=x(()=>t.persistent!==!0&&(S.value===!0||pe.value===!0));function k(e,t){if(N(),e!==!1&&g.animate(),De(0),S.value===!0){let e=g.instances[ce.value];e?.belowBreakpoint===!0&&e.hide(!1),Oe(1),g.isContainer.value!==!0&&p(!0)}else Oe(0),e!==!1&&ke(!1);m(()=>{e!==!1&&ke(!0),t!==!0&&i(`show`,e)},pt)}function A(e,t){ee(),e!==!1&&g.animate(),Oe(0),De(I.value*w.value),Ne(),t===!0?h():m(()=>{i(`hide`,e)},pt)}let{show:j,hide:M}=le({showing:T,hideOnRouteChange:E,handleShow:k,handleHide:A}),{addToHistory:N,removeFromHistory:ee}=Se(T,M,E),te={belowBreakpoint:S,hide:M},P=x(()=>t.side===`right`),I=x(()=>(u.lang.rtl===!0?-1:1)*(P.value===!0?1:-1)),ae=s(0),L=s(!1),R=s(!1),se=s(w.value*I.value),ce=x(()=>P.value===!0?`left`:`right`),ue=x(()=>T.value===!0&&S.value===!1&&t.overlay===!1?t.miniToOverlay===!0?t.miniWidth:w.value:0),z=x(()=>t.overlay===!0||t.miniToOverlay===!0||g.view.value.indexOf(P.value?`R`:`L`)!==-1||u.platform.is.ios===!0&&g.isContainer.value===!0),fe=x(()=>t.overlay===!1&&T.value===!0&&S.value===!1),pe=x(()=>t.overlay===!0&&T.value===!0&&S.value===!1),me=x(()=>`fullscreen q-drawer__backdrop`+(T.value===!1&&L.value===!1?` hidden`:``)),he=x(()=>({backgroundColor:`rgba(0,0,0,${ae.value*.4})`})),ge=x(()=>P.value===!0?g.rows.value.top[2]===`r`:g.rows.value.top[0]===`l`),B=x(()=>P.value===!0?g.rows.value.bottom[2]===`r`:g.rows.value.bottom[0]===`l`),_e=x(()=>{let e={};return g.header.space===!0&&ge.value===!1&&(z.value===!0?e.top=`${g.header.offset}px`:g.header.space===!0&&(e.top=`${g.header.size}px`)),g.footer.space===!0&&B.value===!1&&(z.value===!0?e.bottom=`${g.footer.offset}px`:g.footer.space===!0&&(e.bottom=`${g.footer.size}px`)),e}),ve=x(()=>{let e={width:`${w.value}px`,transform:`translateX(${se.value}px)`};return S.value===!0?e:Object.assign(e,_e.value)}),ye=x(()=>`q-drawer__content fit `+(g.isContainer.value===!0?`overflow-auto`:`scroll`)),be=x(()=>`q-drawer q-drawer--${t.side}`+(R.value===!0?` q-drawer--mini-animate`:``)+(t.bordered===!0?` q-drawer--bordered`:``)+(f.value===!0?` q-drawer--dark q-dark`:``)+(L.value===!0?` no-transition`:T.value===!0?``:` q-layout--prevent-focus`)+(S.value===!0?` fixed q-drawer--on-top q-drawer--mobile q-drawer--top-padding`:` q-drawer--${C.value===!0?`mini`:`standard`}`+(z.value===!0||fe.value!==!0?` fixed`:``)+(t.overlay===!0||t.miniToOverlay===!0?` q-drawer--on-top`:``)+(ge.value===!0?` q-drawer--top-padding`:``))),xe=x(()=>[[ze,je,void 0,{[u.lang.rtl===!0?t.side:ce.value]:!0,mouse:!0}]]),Ce=x(()=>[[ze,Me,void 0,{[u.lang.rtl===!0?ce.value:t.side]:!0,mouse:!0}]]),we=x(()=>[[ze,Me,void 0,{[u.lang.rtl===!0?ce.value:t.side]:!0,mouse:!0,mouseAllDir:!0}]]);function Te(){Fe(S,t.behavior===`mobile`||t.behavior!==`desktop`&&g.totalWidth.value<=t.breakpoint)}n(S,e=>{e===!0?(_=T.value,T.value===!0&&M(!1)):t.overlay===!1&&t.behavior!==`mobile`&&_!==!1&&(T.value===!0?(De(0),Oe(0),Ne()):j(!1))}),n(()=>t.side,(e,t)=>{g.instances[t]===te&&(g.instances[t]=void 0,g[t].space=!1,g[t].offset=0),g.instances[e]=te,g[e].size=w.value,g[e].space=fe.value,g[e].offset=ue.value}),n(g.totalWidth,()=>{(g.isContainer.value===!0||document.qScrollPrevented!==!0)&&Te()}),n(()=>t.behavior+t.breakpoint,Te),n(g.isContainer,e=>{T.value===!0&&p(e!==!0),e===!0&&Te()}),n(g.scrollbarWidth,()=>{De(T.value===!0?0:void 0)}),n(ue,e=>{Pe(`offset`,e)}),n(fe,e=>{i(`onLayout`,e),Pe(`space`,e)}),n(P,()=>{De()}),n(w,e=>{De(),Ie(t.miniToOverlay,e)}),n(()=>t.miniToOverlay,e=>{Ie(e,w.value)}),n(()=>u.lang.rtl,()=>{De()}),n(()=>t.mini,()=>{t.noMiniAnimation||t.modelValue===!0&&(Ae(),g.animate())}),n(C,e=>{i(`miniState`,e)});function De(t){t===void 0?e(()=>{t=T.value===!0?0:w.value,De(I.value*t)}):(g.isContainer.value===!0&&P.value===!0&&(S.value===!0||Math.abs(t)===w.value)&&(t+=I.value*g.scrollbarWidth.value),se.value=t)}function Oe(e){ae.value=e}function ke(e){let t=e===!0?`remove`:g.isContainer.value===!0?``:`add`;t!==``&&document.body.classList[t](`q-body--drawer-toggle`)}function Ae(){v!==null&&clearTimeout(v),c.proxy&&c.proxy.$el&&c.proxy.$el.classList.add(`q-drawer--mini-animate`),R.value=!0,v=setTimeout(()=>{v=null,R.value=!1,c?.proxy?.$el?.classList.remove(`q-drawer--mini-animate`)},150)}function je(e){if(T.value!==!1)return;let t=w.value,n=Le(e.distance.x,0,t);if(e.isFinal===!0){n>=Math.min(75,t)?j():(g.animate(),Oe(0),De(I.value*t)),L.value=!1;return}De((u.lang.rtl===!0?P.value!==!0:P.value)?Math.max(t-n,0):Math.min(0,n-t)),Oe(Le(n/t,0,1)),e.isFirst===!0&&(L.value=!0)}function Me(e){if(T.value!==!0)return;let n=w.value,r=e.direction===t.side,i=(u.lang.rtl===!0?r!==!0:r)?Le(e.distance.x,0,n):0;if(e.isFinal===!0){Math.abs(i)<Math.min(75,n)?(g.animate(),Oe(1),De(0)):M(),L.value=!1;return}De(I.value*i),Oe(Le(1-i/n,0,1)),e.isFirst===!0&&(L.value=!0)}function Ne(){p(!1),ke(!0)}function Pe(e,n){g.update(t.side,e,n)}function Fe(e,t){e.value!==t&&(e.value=t)}function Ie(e,n){Pe(`size`,e===!0?t.miniWidth:n)}return g.instances[t.side]=te,Ie(t.miniToOverlay,w.value),Pe(`space`,fe.value),Pe(`offset`,ue.value),t.showIfAbove===!0&&t.modelValue!==!0&&T.value===!0&&t[`onUpdate:modelValue`]!==void 0&&i(`update:modelValue`,!0),a(()=>{i(`onLayout`,fe.value),i(`miniState`,C.value),_=t.showIfAbove===!0;let r=()=>{(T.value===!0?k:A)(!1,!0)};if(g.totalWidth.value!==0){e(r);return}y=n(g.totalWidth,()=>{y(),y=void 0,T.value===!1&&t.showIfAbove===!0&&S.value===!1?j(!1):r()})}),b(()=>{y?.(),v!==null&&(clearTimeout(v),v=null),T.value===!0&&Ne(),g.instances[t.side]===te&&(g.instances[t.side]=void 0,Pe(`size`,0),Pe(`offset`,0),Pe(`space`,!1))}),()=>{let e=[];S.value===!0&&(t.noSwipeOpen===!1&&e.push(d(l(`div`,{key:`open`,class:`q-drawer__opener fixed-${t.side}`,"aria-hidden":`true`}),xe.value)),e.push(F(`div`,{ref:`backdrop`,class:me.value,style:he.value,"aria-hidden":`true`,onClick:M},void 0,`backdrop`,t.noSwipeBackdrop!==!0&&T.value===!0,()=>we.value)));let n=C.value===!0&&r.mini!==void 0,i=[l(`div`,{...o,key:String(n),class:[ye.value,o.class]},n===!0?r.mini():oe(r.default))];return t.elevated===!0&&T.value===!0&&i.push(l(`div`,{class:`q-layout__shadow absolute-full overflow-hidden no-pointer-events`})),e.push(F(`aside`,{ref:`content`,class:be.value,style:ve.value},i,`contentclose`,t.noSwipeClose!==!0&&S.value===!0,()=>Ce.value)),l(`div`,{class:`q-drawer-container`},e)}}}),ht=M({name:`QPageContainer`,setup(e,{slots:t}){let{proxy:{$q:n}}=O(),i=D(ne,re);if(i===re)return console.error(`QPageContainer needs to be child of QLayout`),re;r(te,!0);let a=x(()=>{let e={};return i.header.space===!0&&(e.paddingTop=`${i.header.size}px`),i.right.space===!0&&(e[`padding${n.lang.rtl===!0?`Left`:`Right`}`]=`${i.right.size}px`),i.footer.space===!0&&(e.paddingBottom=`${i.footer.size}px`),i.left.space===!0&&(e[`padding${n.lang.rtl===!0?`Right`:`Left`}`]=`${i.left.size}px`),e});return()=>l(`div`,{class:`q-page-container`,style:a.value},oe(t.default))}}),gt=M({name:`QLayout`,props:{container:Boolean,view:{type:String,default:`hhh lpr fff`,validator:e=>/^(h|l)h(h|r) lpr (f|l)f(f|r)$/.test(e.toLowerCase())},onScroll:Function,onScrollHeight:Function,onResize:Function},setup(e,{slots:t,emit:i}){let{proxy:{$q:a}}=O(),c=s(null),u=s(a.screen.height),d=s(e.container===!0?0:a.screen.width),p=s({position:0,direction:`down`,inflectionPoint:0}),m=s(0),h=s(R.value===!0?0:z()),g=x(()=>`q-layout q-layout--`+(e.container===!0?`containerized`:`standard`)),_=x(()=>e.container===!1?{minHeight:a.screen.height+`px`}:null),v=x(()=>h.value===0?null:{[a.lang.rtl===!0?`left`:`right`]:`${h.value}px`}),y=x(()=>h.value===0?null:{[a.lang.rtl===!0?`right`:`left`]:0,[a.lang.rtl===!0?`left`:`right`]:`-${h.value}px`,width:`calc(100% + ${h.value}px)`});function b(t){if(e.container===!0||document.qScrollPrevented!==!0){let n={position:t.position.top,direction:t.direction,directionChanged:t.directionChanged,inflectionPoint:t.inflectionPoint.top,delta:t.delta.top};p.value=n,e.onScroll!==void 0&&i(`scroll`,n)}}function S(t){let{height:n,width:r}=t,a=!1;u.value!==n&&(a=!0,u.value=n,e.onScrollHeight!==void 0&&i(`scrollHeight`,n),w()),d.value!==r&&(a=!0,d.value=r),a===!0&&e.onResize!==void 0&&i(`resize`,t)}function C({height:e}){m.value!==e&&(m.value=e,w())}function w(){if(e.container===!0){let e=u.value>m.value?z():0;h.value!==e&&(h.value=e)}}let T=null,E={instances:{},view:x(()=>e.view),isContainer:x(()=>e.container),rootRef:c,height:u,containerHeight:m,scrollbarWidth:h,totalWidth:x(()=>d.value+h.value),rows:x(()=>{let t=e.view.toLowerCase().split(` `);return{top:t[0].split(``),middle:t[1].split(``),bottom:t[2].split(``)}}),header:f({size:0,offset:0,space:!1}),right:f({size:300,offset:0,space:!1}),footer:f({size:0,offset:0,space:!1}),left:f({size:300,offset:0,space:!1}),scroll:p,animate(){T===null?document.body.classList.add(`q-body--layout-animate`):clearTimeout(T),T=setTimeout(()=>{T=null,document.body.classList.remove(`q-body--layout-animate`)},155)},update(e,t,n){E[e][t]=n}};if(r(ne,E),z()>0){let t=null,r=document.body;function i(){t=null,r.classList.remove(`hide-scrollbar`)}function s(){if(t===null){if(r.scrollHeight>a.screen.height)return;r.classList.add(`hide-scrollbar`)}else clearTimeout(t);t=setTimeout(i,300)}function c(e){t!==null&&e===`remove`&&(clearTimeout(t),i()),window[`${e}EventListener`](`resize`,s)}n(()=>e.container===!0?`remove`:`add`,c),e.container!==!0&&c(`add`),o(()=>{c(`remove`)})}return()=>{let n=P(t.default,[l(Ve,{onScroll:b}),l(Re,{onResize:S})]),r=l(`div`,{class:g.value,style:_.value,ref:e.container===!0?void 0:c,tabindex:-1},n);return e.container===!0?l(`div`,{class:`q-layout-container overflow-hidden`,ref:c},[l(Re,{onResize:C}),l(`div`,{class:`absolute-full`,style:v.value},[l(`div`,{class:`scroll`,style:y.value},[r])])]):r}}}),_t={class:`acceptance-panel q-pa-md`},vt={class:`row items-center q-mb-sm`},yt={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},bt={key:0,class:`criterion-add-row row items-center q-mb-xs`},xt={key:1,class:`acceptance-list`},St=[`onDblclick`],Ct={key:2,class:`text-caption text-grey-8`,style:{"font-size":`11px`}},wt=W(E({__name:`AcceptancePanel`,props:{tasks:{}},setup(n){let{t:r}=_e(),a=we(),o=Ae();function c(){let e=a.selectedWorkspaceId;e&&ct(e,o,a)}let l=s(!1),d=s(``),f=s(null),p=s(``),b=s({});function x(e,t){if(t){let n=t.$el??t;b.value[e]=n}else delete b.value[e]}function E(e){switch(e){case`done`:return`check_circle`;case`in_progress`:return`timelapse`;default:return`radio_button_unchecked`}}function D(e){switch(e){case`done`:return`#4ade80`;case`in_progress`:return`#f59e0b`;default:return`#888`}}async function O(e){let t=e.status===`done`?`pending`:`done`;try{let n=await fetch(`/api/workspaces/${e.workspaceId}/tasks/${e.id}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({status:t})});if(!n.ok)throw Error(`HTTP ${n.status}`);a.selectedWorkspaceId&&a.fetchWorkspaceDetails(a.selectedWorkspaceId)}catch(e){console.error(`Failed to update task:`,e)}}function j(){l.value=!0,d.value=``}async function M(){let e=d.value.trim(),t=a.selectedWorkspace?.id;if(!(!e||!t))try{await a.createTask(t,e,!0),d.value=``,l.value=!1}catch{}}function ee(){d.value=``,l.value=!1}function te(t){f.value=t.id,p.value=t.title,e(()=>{let e=b.value[t.id]?.querySelector(`input, textarea`);e?.focus(),e?.select()})}async function P(e){if(f.value!==e.id)return;let t=p.value.trim(),n=e.id;if(f.value=null,!t||t===e.title)return;let r=a.selectedWorkspace?.id;if(r)try{await a.updateTaskTitle(r,n,t)}catch{}}function ne(){f.value=null,p.value=``}async function F(e){let t=a.selectedWorkspace?.id;if(t)try{await a.deleteTask(t,e.id)}catch{}}return(e,r)=>(t(),S(`div`,_t,[T(`div`,vt,[T(`div`,yt,h(e.$t(`acceptance.title`)),1),v(Ge),w(a).selectedWorkspace?(t(),g(B,{key:0,flat:``,dense:``,round:``,size:`xs`,icon:`fact_check`,color:`grey-5`,onClick:c},{default:u(()=>[v(U,null,{default:u(()=>[y(h(e.$t(`tasks.askProgress`)),1)]),_:1})]),_:1})):_(``,!0),w(a).selectedWorkspace?(t(),g(B,{key:1,flat:``,dense:``,round:``,size:`xs`,icon:`add`,color:`indigo-4`,onClick:j},{default:u(()=>[v(U,null,{default:u(()=>[y(h(e.$t(`tooltip.addCriterion`)),1)]),_:1})]),_:1})):_(``,!0)]),l.value?(t(),S(`div`,bt,[v(ye,{modelValue:d.value,"onUpdate:modelValue":r[0]||=e=>d.value=e,dark:``,dense:``,borderless:``,autofocus:``,placeholder:e.$t(`acceptance.newCriterion`),class:`col criterion-input`,"input-class":`criterion-input-inner`,onKeydown:[A(N(M,[`prevent`]),[`enter`]),A(N(ee,[`prevent`]),[`esc`])]},null,8,[`modelValue`,`placeholder`,`onKeydown`])])):_(``,!0),n.tasks.length>0?(t(),S(`div`,xt,[(t(!0),S(C,null,i(n.tasks,n=>(t(),S(`div`,{key:n.id,class:`acceptance-item row items-center q-mb-xxs`},[v(L,{name:E(n.status),size:`16px`,style:k({color:D(n.status)}),class:`q-mr-xs cursor-pointer`,onClick:e=>O(n)},null,8,[`name`,`style`,`onClick`]),f.value===n.id?(t(),g(ye,{key:0,ref_for:!0,ref:e=>x(n.id,e),modelValue:p.value,"onUpdate:modelValue":r[1]||=e=>p.value=e,dark:``,dense:``,borderless:``,class:`col criterion-input`,"input-class":`criterion-input-inner`,onKeydown:[A(N(e=>P(n),[`prevent`]),[`enter`]),A(N(ne,[`prevent`]),[`esc`])],onBlur:e=>P(n)},null,8,[`modelValue`,`onKeydown`,`onBlur`])):(t(),S(C,{key:1},[T(`span`,{class:m([`col acceptance-title text-caption`,{"text-strike":n.status===`done`}]),style:k({color:n.status===`done`?`#4ade80`:`#ccc`}),onDblclick:e=>te(n)},h(n.title),47,St),v(B,{flat:``,dense:``,round:``,size:`xs`,icon:`close`,color:`grey-6`,class:`criterion-delete-btn`,onClick:e=>F(n)},{default:u(()=>[v(U,null,{default:u(()=>[y(h(e.$t(`tooltip.removeCriterion`)),1)]),_:1})]),_:1},8,[`onClick`])],64))]))),128))])):l.value?_(``,!0):(t(),S(`div`,Ct,h(e.$t(`acceptance.empty`)),1))]))}}),[[`__scopeId`,`data-v-20a94a3d`]]),Tt={class:`agent-todos-panel q-pa-md`},Et={class:`row items-center q-mb-sm`},Dt={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},Ot={key:0,class:`todos-list`},kt={key:1,class:`text-caption text-grey-8`,style:{"font-size":`11px`}},At=W(E({__name:`AgentTodosPanel`,setup(e){let{t:n}=_e(),r=we();function a(e){switch(e){case`completed`:return`check_circle`;case`in_progress`:return`timelapse`;default:return`radio_button_unchecked`}}function o(e){switch(e){case`completed`:return`#4ade80`;case`in_progress`:return`#f59e0b`;default:return`#888`}}return(e,n)=>(t(),S(`div`,Tt,[T(`div`,Et,[T(`div`,Dt,h(e.$t(`agentTodos.title`)),1)]),w(r).currentAgentTodos.length>0?(t(),S(`div`,Ot,[(t(!0),S(C,null,i(w(r).currentAgentTodos,(e,n)=>(t(),S(`div`,{key:n,class:`todo-item row items-start q-py-xxs`},[v(L,{name:a(e.status),size:`14px`,style:k({color:o(e.status)}),class:`q-mr-xs q-mt-xxs`},null,8,[`name`,`style`]),T(`span`,{class:m([`col todo-title text-caption`,{"text-strike":e.status===`completed`}]),style:k({color:e.status===`completed`?`#4ade80`:`#ccc`})},h(e.content),7)]))),128))])):(t(),S(`div`,kt,h(e.$t(`agentTodos.empty`)),1))]))}}),[[`__scopeId`,`data-v-6a3613f7`]]),jt={class:`documents-panel q-pa-md`},Mt={class:`row items-center justify-between q-mb-sm`},Nt={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},Pt={key:0,class:`text-caption text-grey-8`},Ft={key:1,class:`text-center q-py-lg`},It={key:2,class:`text-caption text-grey-8 text-center q-py-lg`},Lt={key:0,class:`text-center q-py-lg`},Rt=[`innerHTML`],zt=W(E({__name:`DocumentsPanel`,props:{workspace:{}},setup(e){let r=e,{t:i}=_e(),a=Qe(),o=Ue(),s=x(()=>r.workspace?o.documentsFor(r.workspace.id):[]),c=x(()=>Je(s.value)),l=x(()=>o.selected?.path??null),d=x(()=>{if(!o.selected)return``;let e=Be.parse(o.selected.content,{async:!1,breaks:!0,gfm:!0});return He.sanitize(e)});async function f(){r.workspace&&await o.fetchDocuments(r.workspace.id)}async function p(e){if(!(!r.workspace||!e.file))try{await o.openDocument(r.workspace.id,e.file)}catch{a.notify({type:`negative`,message:i(`documents.loadFailed`),position:`top`})}}function _(){o.closeDocument()}return n(()=>r.workspace?.id,e=>{o.closeDocument(),e&&o.fetchDocuments(e)},{immediate:!0}),(n,r)=>(t(),S(`div`,jt,[T(`div`,Mt,[T(`div`,Nt,h(n.$t(`documents.title`)),1),w(o).selected?(t(),g(B,{key:1,flat:``,dense:``,"no-caps":``,size:`sm`,icon:`arrow_back`,label:n.$t(`documents.back`),color:`grey-5`,onClick:_},null,8,[`label`])):(t(),g(B,{key:0,flat:``,round:``,dense:``,size:`xs`,icon:`refresh`,color:`grey-6`,loading:w(o).loadingList,onClick:f},{default:u(()=>[v(U,null,{default:u(()=>[y(h(n.$t(`documents.refresh`)),1)]),_:1})]),_:1},8,[`loading`]))]),w(o).selected?(t(),S(C,{key:1},[w(o).loadingContent?(t(),S(`div`,Lt,[v(I,{size:`24px`,color:`grey-6`})])):(t(),S(`div`,{key:1,class:`document-content`,innerHTML:d.value},null,8,Rt))],64)):(t(),S(C,{key:0},[e.workspace?w(o).loadingList?(t(),S(`div`,Ft,[v(I,{size:`24px`,color:`grey-6`})])):s.value.length===0?(t(),S(`div`,It,h(n.$t(`documents.empty`)),1)):(t(),g(qe,{key:3,nodes:c.value,"node-key":`nodeKey`,"label-key":`label`,"children-key":`children`,dark:``,dense:``,"default-expand-all":``,"no-selection-unset":``,selected:l.value?`file:${l.value}`:``,class:`documents-tree`,"onUpdate:selected":r[0]||=e=>{if(typeof e!=`string`||!e.startsWith(`file:`))return;let t=s.value.find(t=>`file:${t.path}`===e);t&&p({file:t})}},{"default-header":u(({node:e})=>[v(L,{name:e.isFolder?`folder`:`description`,color:e.isFolder?`indigo-4`:`grey-5`,size:`14px`,class:`q-mr-xs`},null,8,[`name`,`color`]),T(`span`,{class:m(e.isFolder?`text-grey-4`:`text-grey-3`),style:{"font-family":`'Roboto Mono', monospace`,"font-size":`11px`}},h(e.label),3)]),_:1},8,[`nodes`,`selected`])):(t(),S(`div`,Pt,h(n.$t(`common.selectWorkspace`)),1))],64))]))}}),[[`__scopeId`,`data-v-89e5de13`]]),Bt=Object.keys(ge);function Vt(e){return Bt.reduce((t,n)=>{let r=e[n];return r!==void 0&&(t[n]=r),t},{})}var Ht=M({name:`QBtnDropdown`,props:{...ge,...pe,modelValue:Boolean,split:Boolean,dropdownIcon:String,contentClass:[Array,String,Object],contentStyle:[Array,String,Object],cover:Boolean,persistent:Boolean,noEscDismiss:Boolean,noRouteDismiss:Boolean,autoClose:Boolean,noRefocus:Boolean,noFocus:Boolean,menuAnchor:{type:String,default:`bottom end`},menuSelf:{type:String,default:`top end`},menuOffset:Array,disableMainBtn:Boolean,disableDropdown:Boolean,noIconAnimation:Boolean,toggleAriaLabel:String},emits:[`update:modelValue`,`click`,`beforeShow`,`show`,`beforeHide`,`hide`],setup(e,{slots:t,emit:r}){let{proxy:i}=O(),o=s(e.modelValue),c=s(null),u=ce(),d=x(()=>{let t={"aria-expanded":o.value===!0?`true`:`false`,"aria-haspopup":`true`,"aria-controls":u.value,"aria-label":e.toggleAriaLabel||i.$q.lang.label[o.value===!0?`collapse`:`expand`](e.label)};return(e.disable===!0||e.split===!1&&e.disableMainBtn===!0||e.disableDropdown===!0)&&(t[`aria-disabled`]=`true`),t}),f=x(()=>`q-btn-dropdown__arrow`+(o.value===!0&&e.noIconAnimation===!1?` rotate-180`:``)+(e.split===!1?` q-btn-dropdown__arrow-container`:``)),p=x(()=>he(e)),m=x(()=>Vt(e));n(()=>e.modelValue,e=>{c.value?.[e?`show`:`hide`]()}),n(()=>e.split,w);function h(e){o.value=!0,r(`beforeShow`,e)}function g(e){r(`show`,e),r(`update:modelValue`,!0)}function _(e){o.value=!1,r(`beforeHide`,e)}function v(e){r(`hide`,e),r(`update:modelValue`,!1)}function y(e){r(`click`,e)}function b(e){j(e),w(),r(`click`,e)}function S(e){c.value?.toggle(e)}function C(e){c.value?.show(e)}function w(e){c.value?.hide(e)}return Object.assign(i,{show:C,hide:w,toggle:S}),a(()=>{e.modelValue===!0&&C()}),()=>{let n=[l(L,{class:f.value,name:e.dropdownIcon||i.$q.iconSet.arrow.dropdown})];return e.disableDropdown!==!0&&n.push(l(Xe,{ref:c,id:u.value,class:e.contentClass,style:e.contentStyle,cover:e.cover,fit:!0,persistent:e.persistent,noEscDismiss:e.noEscDismiss,noRouteDismiss:e.noRouteDismiss,autoClose:e.autoClose,noFocus:e.noFocus,noRefocus:e.noRefocus,anchor:e.menuAnchor,self:e.menuSelf,offset:e.menuOffset,separateClosePopup:!0,transitionShow:e.transitionShow,transitionHide:e.transitionHide,transitionDuration:e.transitionDuration,onBeforeShow:h,onShow:g,onBeforeHide:_,onHide:v},t.default)),e.split===!1?l(B,{class:`q-btn-dropdown q-btn-dropdown--simple`,...m.value,...d.value,disable:e.disable===!0||e.disableMainBtn===!0,noWrap:!0,round:!1,onClick:y},{default:()=>oe(t.label,[]).concat(n),loading:t.loading}):l(Ke,{class:`q-btn-dropdown q-btn-dropdown--split no-wrap q-btn-item`,rounded:e.rounded,square:e.square,...p.value,glossy:e.glossy,stretch:e.stretch},()=>[l(B,{class:`q-btn-dropdown--current`,...m.value,disable:e.disable===!0||e.disableMainBtn===!0,noWrap:!0,round:!1,onClick:b},{default:t.label,loading:t.loading}),l(B,{class:`q-btn-dropdown__arrow-container q-anchor--skip`,...d.value,...p.value,disable:e.disable===!0||e.disableDropdown===!0,rounded:e.rounded,color:e.color,textColor:e.textColor,dense:e.dense,size:e.size,padding:e.padding,ripple:e.ripple},()=>n)])}}}),Ut={class:`text-h6`},Wt={class:`text-body2 text-grey-5 q-mt-xs`},Gt={key:0,class:`text-caption text-grey-6 row items-center`},Kt={key:1,class:`row items-center q-gutter-sm`},qt={class:`text-caption text-negative`},Jt={key:2,class:`text-caption text-grey-6`},Yt={key:3},Xt=[`onClick`],Zt={class:`commit-sha text-grey-5`},Qt={class:`commit-subject text-grey-4 ellipsis q-ml-sm`},$t={class:`text-caption`},en={class:`text-grey-5 q-mt-xs`},tn={key:0,class:`text-caption text-grey-6 row items-center`},nn={key:1,class:`row items-center q-gutter-sm`},rn={class:`text-caption text-negative`},an={key:2,class:`text-caption text-grey-6`},on={key:3},sn=[`onClick`],cn={class:`commit-sha text-grey-5`},ln={class:`commit-subject text-grey-4 ellipsis q-ml-sm`},un={class:`text-caption`},dn={class:`text-grey-5 q-mt-xs`},fn=W(E({__name:`BranchDivergenceDialog`,props:{modelValue:{type:Boolean},workspaceId:{},initialTab:{},aheadCount:{},behindCount:{},sourceBranch:{},workingBranch:{}},emits:[`update:modelValue`,`append-sha`],setup(e,{emit:r}){let a=e,o=r,{t:c}=_e(),l=we(),d=s(a.initialTab),f=s([]),p=s([]),m=s(!1),_=s(null),x=null;async function w(){x?.abort();let e=new AbortController;x=e,m.value=!0,_.value=null;try{let t=await l.fetchBranchDivergence(a.workspaceId,{signal:e.signal});if(e.signal.aborted)return;f.value=t.ahead,p.value=t.behind}catch(e){if(e?.name===`AbortError`)return;_.value=c(`git.divergence.failed`)}finally{x===e&&(x=null),m.value=!1}}function E(){w()}n(()=>a.modelValue,e=>{e?(d.value=a.initialTab,w()):(x?.abort(),f.value=[],p.value=[],_.value=null)});function D(e){o(`append-sha`,e)}function O(){o(`update:modelValue`,!1)}function k(e){try{return new Date(e).toLocaleDateString()}catch{return e}}return b(()=>{x?.abort()}),(n,r)=>(t(),g(De,{"model-value":e.modelValue,"onUpdate:modelValue":r[2]||=e=>o(`update:modelValue`,e)},{default:u(()=>[v(Fe,{style:{"min-width":`600px`,"max-width":`90vw`},dark:``},{default:u(()=>[v(Ce,{class:`q-pb-none`},{default:u(()=>[T(`div`,Ut,h(n.$t(`git.divergence.title`)),1),T(`div`,Wt,h(n.$t(`git.divergence.subtitle`,{source:e.sourceBranch})),1)]),_:1}),v(et,{modelValue:d.value,"onUpdate:modelValue":r[0]||=e=>d.value=e,dense:``,align:`left`,"inline-label":``,class:`q-mt-sm`,"indicator-color":`indigo-4`},{default:u(()=>[v(nt,{name:`ahead`,label:n.$t(`git.divergence.ahead`,{count:e.aheadCount})},null,8,[`label`]),v(nt,{name:`behind`,label:n.$t(`git.divergence.behind`,{count:e.behindCount})},null,8,[`label`])]),_:1},8,[`modelValue`]),v(se,{dark:``}),v(it,{modelValue:d.value,"onUpdate:modelValue":r[1]||=e=>d.value=e,animated:``,style:{"max-height":`60vh`}},{default:u(()=>[v(ot,{name:`ahead`,class:`q-pa-md`},{default:u(()=>[m.value?(t(),S(`div`,Gt,[v(I,{size:`xs`,class:`q-mr-xs`}),y(h(n.$t(`git.divergence.loading`)),1)])):_.value?(t(),S(`div`,Kt,[T(`span`,qt,h(_.value),1),v(B,{flat:``,dense:``,"no-caps":``,label:n.$t(`git.divergence.retry`),color:`indigo-4`,onClick:E},null,8,[`label`])])):f.value.length===0?(t(),S(`div`,Jt,h(n.$t(`git.divergence.empty.ahead`)),1)):(t(),S(`div`,Yt,[(t(!0),S(C,null,i(f.value,e=>(t(),S(`div`,{key:e.sha,class:`commit-item row no-wrap items-center cursor-pointer q-py-xs`,onClick:t=>D(e.sha)},[v(L,{name:e.isPushed?`cloud_done`:`cloud_upload`,size:`12px`,color:e.isPushed?`grey-6`:`orange-5`,class:`q-mr-xs`},null,8,[`name`,`color`]),T(`span`,Zt,h(e.shortSha),1),T(`span`,Qt,h(e.subject),1),v(U,{anchor:`top middle`,self:`bottom middle`},{default:u(()=>[T(`div`,$t,[T(`div`,null,[T(`code`,null,h(e.sha),1)]),T(`div`,en,h(e.author)+` · `+h(k(e.date)),1)])]),_:2},1024)],8,Xt))),128))]))]),_:1}),v(ot,{name:`behind`,class:`q-pa-md`},{default:u(()=>[m.value?(t(),S(`div`,tn,[v(I,{size:`xs`,class:`q-mr-xs`}),y(h(n.$t(`git.divergence.loading`)),1)])):_.value?(t(),S(`div`,nn,[T(`span`,rn,h(_.value),1),v(B,{flat:``,dense:``,"no-caps":``,label:n.$t(`git.divergence.retry`),color:`indigo-4`,onClick:E},null,8,[`label`])])):p.value.length===0?(t(),S(`div`,an,h(n.$t(`git.divergence.empty.behind`)),1)):(t(),S(`div`,on,[(t(!0),S(C,null,i(p.value,e=>(t(),S(`div`,{key:e.sha,class:`commit-item row no-wrap items-center cursor-pointer q-py-xs`,onClick:t=>D(e.sha)},[T(`span`,cn,h(e.shortSha),1),T(`span`,ln,h(e.subject),1),v(U,{anchor:`top middle`,self:`bottom middle`},{default:u(()=>[T(`div`,un,[T(`div`,null,[T(`code`,null,h(e.sha),1)]),T(`div`,dn,h(e.author)+` · `+h(k(e.date)),1)])]),_:2},1024)],8,sn))),128))]))]),_:1})]),_:1},8,[`modelValue`]),v(ve,{align:`right`,class:`q-pa-md`},{default:u(()=>[v(B,{flat:``,"no-caps":``,label:n.$t(`git.divergence.close`),color:`grey-5`,onClick:O},null,8,[`label`])]),_:1})]),_:1})]),_:1},8,[`model-value`]))}}),[[`__scopeId`,`data-v-fd1cc184`]]);function pn(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`}function mn(e){return e.reviewDecision===`CHANGES_REQUESTED`&&(e.unresolvedReviewThreadsCount??0)>0}var hn={class:`pr-panel`},gn={class:`pr-panel__header row items-center q-gutter-xs`},_n=[`href`],vn={class:`pr-panel__title col ellipsis`},yn={class:`pr-panel__grid`},bn={class:`pr-panel__label`},xn={class:`pr-panel__value`},Sn={class:`pr-panel__label`},Cn={class:`pr-panel__value pr-panel__reviewers`},wn={class:`pr-panel__label`},Tn={class:`pr-panel__value`},En={class:`pr-panel__label`},Dn={class:`pr-panel__value`},On={key:0,class:`pr-panel__ci row items-center`},kn={class:`pr-panel__ci-label`},An={key:0,class:`pr-panel__ci-details q-ml-sm`},jn=W(E({__name:`PrPanel`,props:{snapshot:{}},setup(e){let n=e,{t:r}=_e();function a(e){switch(e){case`APPROVED`:return`#4ade80`;case`CHANGES_REQUESTED`:return`#ef4444`;case`COMMENTED`:return`#f59e0b`;default:return`#6b7280`}}function o(e){return e===`SUCCESS`?`#4ade80`:e===`FAILURE`?`#ef4444`:`#9ca3af`}function s(e){return e===`SUCCESS`?`✓`:e===`FAILURE`?`✕`:`⌛`}let c=x(()=>{switch(n.snapshot.ci.rollup){case`SUCCESS`:return`check_circle`;case`FAILURE`:return`cancel`;case`PENDING`:return`hourglass_top`;default:return`help`}}),l=x(()=>{switch(n.snapshot.ci.rollup){case`SUCCESS`:return`green-4`;case`FAILURE`:return`red-4`;case`PENDING`:return`amber-4`;default:return`grey-5`}}),d=x(()=>{switch(n.snapshot.ci.rollup){case`SUCCESS`:return r(`git.pr.ci.passed`);case`FAILURE`:return r(`git.pr.ci.failed`);case`PENDING`:return r(`git.pr.ci.pending`);default:return``}});return(n,r)=>(t(),S(`div`,hn,[T(`div`,gn,[v(st,{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`]),T(`a`,{href:e.snapshot.url,target:`_blank`,rel:`noopener`,class:`pr-panel__number`},`#`+h(e.snapshot.number),9,_n),T(`span`,vn,h(e.snapshot.title),1),e.snapshot.title.length>60?(t(),g(U,{key:0,anchor:`bottom middle`,self:`top middle`},{default:u(()=>[y(h(e.snapshot.title),1)]),_:1})):_(``,!0),w(mn)(e.snapshot)?(t(),g(st,{key:1,dense:``,square:``,color:`red-9`,"text-color":`red-3`,icon:`rate_review`,label:n.$t(`git.pr.changesRequestedBadge`),class:`pr-panel__badge`},null,8,[`label`])):e.snapshot.reviewDecision===`APPROVED`?(t(),g(st,{key:2,dense:``,square:``,color:`green-9`,"text-color":`green-3`,icon:`check`,label:n.$t(`git.pr.approvedBadge`),class:`pr-panel__badge`},null,8,[`label`])):_(``,!0)]),T(`div`,yn,[T(`span`,bn,h(n.$t(`git.pr.author`)),1),T(`span`,xn,`@`+h(e.snapshot.author.login),1),e.snapshot.reviewers.length>0?(t(),S(C,{key:0},[T(`span`,Sn,h(n.$t(`git.pr.reviewers`)),1),T(`span`,Cn,[(t(!0),S(C,null,i(e.snapshot.reviewers,e=>(t(),S(`span`,{key:e.login,class:`pr-panel__reviewer`},[T(`span`,{class:`pr-panel__dot`,style:k({backgroundColor:a(e.state)})},null,4),T(`span`,null,`@`+h(e.login),1),v(U,null,{default:u(()=>[y(h(e.login)+` — `+h(e.state.toLowerCase()),1)]),_:2},1024)]))),128))])],64)):_(``,!0),e.snapshot.assignees.length>0?(t(),S(C,{key:1},[T(`span`,wn,h(n.$t(`git.pr.assignees`)),1),T(`span`,Tn,h(e.snapshot.assignees.map(e=>`@`+e.login).join(`, `)),1)],64)):_(``,!0),e.snapshot.labels.length>0?(t(),S(C,{key:2},[T(`span`,En,h(n.$t(`git.pr.labels`)),1),T(`span`,Dn,[(t(!0),S(C,null,i(e.snapshot.labels,e=>(t(),g(st,{key:e.name,dense:``,square:``,style:k({backgroundColor:`#`+e.color,color:w(pn)(e.color)}),class:`pr-panel__label-chip`,label:e.name},null,8,[`style`,`label`]))),128))])],64)):_(``,!0)]),e.snapshot.ci.rollup===null?_(``,!0):(t(),S(`div`,On,[v(L,{name:c.value,color:l.value,size:`16px`,class:`q-mr-sm`},null,8,[`name`,`color`]),T(`span`,kn,h(d.value),1),e.snapshot.ci.checks.length>0?(t(),S(`span`,An,[(t(!0),S(C,null,i(e.snapshot.ci.checks,e=>(t(),S(`span`,{key:e.name,style:k({color:o(e.conclusion)}),class:`q-mr-sm`},h(e.name)+` `+h(s(e.conclusion)),5))),128))])):_(``,!0)]))]))}}),[[`__scopeId`,`data-v-c2a3e5a5`]]),Mn={class:`git-panel q-px-sm q-py-md`},Nn={class:`row items-center justify-between q-mb-sm`},Pn={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},Fn={key:0,class:`row items-center justify-center q-py-xl`},In={class:`git-subcard`},Ln={class:`git-subcard-title`},Rn={class:`row items-center q-mb-xs`},zn={class:`text-caption text-grey-3`},Bn={class:`row items-center q-mb-xs`},Vn={class:`text-caption text-grey-4`,style:{"font-family":`'Roboto Mono', monospace`,"font-size":`11px`}},Hn={class:`text-caption text-grey-8`,style:{"font-size":`11px`}},Un={key:3},Wn={key:4,style:{color:`#4ade80`}},Gn={key:5,style:{color:`#f59e0b`}},Kn={key:0,class:`git-subcard`},qn={class:`git-subcard-title`},Jn={class:`row items-center`,style:{"font-size":`11px`,gap:`14px`,"flex-wrap":`wrap`}},Yn={class:`text-grey-4`},Xn={key:1,class:`row items-center`},Zn={class:`text-grey-4`},Qn={key:2,class:`row items-center`},$n={class:`text-grey-4`},er={key:0,class:`q-ml-xs`,style:{color:`#4ade80`}},tr={key:1,class:`q-ml-xs`,style:{color:`#f87171`}},nr={key:3,class:`row items-center`},rr={key:0,style:{color:`#4ade80`}},ir={key:1,class:`q-ml-xs`,style:{color:`#f59e0b`}},ar={key:2,class:`q-ml-xs text-grey-6`},or={key:0,class:`commit-list q-mt-sm`},sr={key:0,class:`text-caption text-grey-6 q-pa-xs`},cr={key:1,class:`text-caption text-grey-7 q-pa-xs`},lr=[`onClick`],ur={class:`commit-sha text-grey-5`},dr={class:`commit-subject text-grey-4 ellipsis q-ml-sm`},fr={class:`text-caption`},pr={class:`text-grey-5 q-mt-xs`},mr={class:`text-grey-6 q-mt-xs`,style:{"font-style":`italic`}},hr={key:1,class:`git-subcard`},gr={class:`git-subcard-title`},_r={class:`row items-center q-gutter-xs`},vr={key:2,class:`git-subcard`},yr={class:`git-subcard-title`},br={key:1,class:`text-caption text-grey-8`},xr={class:`text-subtitle1`},Sr={class:`text-body2 text-grey-5 q-mt-sm`},Cr={class:`git-branch-code`},wr={class:`text-caption text-grey-6 q-mt-xs`,style:{"padding-left":`46px`}},Tr={class:`text-subtitle1 text-warning`},Er={class:`text-caption text-grey-6 q-mt-xs`},Dr={class:`text-caption text-mono`},Or=W(E({__name:`GitPanel`,props:{workspace:{}},setup(e){let r=p(()=>ke(()=>import(`./DiffViewer-xnpaPL3h.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29]))),o=e,{t:c}=_e(),l=Qe(),f=we(),m=s(!1),E=s(!1),D=s(!1),O=s(!1),k=s(!1),A=s(!1),j=s(!1),M=s(!1);function ee(e){M.value=e,j.value=!0}let te=s(!1),P=s(!1),ne=s(!1),F=s([]);async function re(){if(o.workspace){ne.value=!0;try{let e=await fetch(`/api/workspaces/${o.workspace.id}/commits?limit=50`,{cache:`no-store`});if(!e.ok)throw Error(`HTTP ${e.status}`);F.value=(await e.json()).commits}catch(e){console.error(`[GitPanel] fetchCommits failed:`,e),F.value=[]}finally{ne.value=!1}}}async function ie(){P.value=!P.value,P.value&&(ne.value=!0,await re())}function ae(e){f.chatDraft=e}function oe(e){if(!e)return``;let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString(void 0,{dateStyle:`medium`,timeStyle:`short`})}let R=s(!1),se=s(null),ce=s([]),le=s(!1),ue=s(!1);function de(e){f.chatDraft=e,j.value=!1}let z=s(null),fe=s(!1),pe=x(()=>{if(!o.workspace?.projectPath)return`-`;let e=o.workspace.projectPath.replace(/\\/g,`/`).split(`/`);return e[e.length-1]||e[e.length-2]||`-`}),me=x(()=>{let e=o.workspace?.id;if(e)return f.prSnapshots[e]}),he=x(()=>!(!z.value||z.value.unpushedCount===-1)),ge=x(()=>z.value&&z.value.unpushedCount===-1?c(`git.createPrNoRemote`):``),ye=x(()=>!!(z.value?.prUrl&&z.value.prState===`OPEN`)),be=s(!1),Se=s(`ahead`);function Te(e){Se.value=e,be.value=!0}let Ee=null,Oe=null;async function Ae(e={}){if(!o.workspace){z.value=null;return}Ee?.abort();let t=new AbortController;Ee=t;let n=o.workspace.id;fe.value=!0;try{let r=await f.fetchGitStats(n,{freshFetch:e.freshFetch,signal:t.signal});if(t.signal.aborted||o.workspace?.id!==n)return;z.value=r}catch(e){if(e?.name===`AbortError`)return;z.value=null}finally{Ee===t&&(Ee=null),fe.value=!1}}async function je(){let e=o.workspace?.id;e&&await Promise.allSettled([Ae({freshFetch:!0}),f.refreshPrSnapshot(e)])}let Ne=null;n(()=>o.workspace?.id,(e,t)=>{Ee?.abort(),Ne&&=(clearTimeout(Ne),null),e!==t&&(z.value=null,F.value=[],P.value=!1),e&&Ae({freshFetch:!0})},{immediate:!0}),n(()=>f.gitRefreshTrigger,()=>{Ne&&clearTimeout(Ne),Ne=setTimeout(()=>Ae(),3e3)}),a(()=>{Oe=setInterval(()=>Ae(),6e4)}),b(()=>{Oe&&=(clearInterval(Oe),null),Ne&&=(clearTimeout(Ne),null),Ee?.abort()});function Pe(){let e=o.workspace;e&&l.dialog({title:c(`git.renameBranch`),message:c(`git.renameBranchPrompt`,{branch:e.workingBranch}),prompt:{model:e.workingBranch,type:`text`},dark:!0,cancel:{flat:!0,label:c(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:c(`git.renameBranch`),color:`indigo-4`}}).onOk(async t=>{let n=(t??``).trim();if(!(!n||n===e.workingBranch)){te.value=!0;try{await f.renameWorkspaceBranch(e.id,n),l.notify({type:`positive`,message:c(`git.renameBranchSuccess`,{branch:n}),position:`top`}),Ae()}catch(e){let t=e instanceof Me&&e.code===`branch_exists`?c(`git.renameBranchExists`,{branch:n}):e instanceof Error?e.message:c(`git.renameBranchFailed`);l.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{te.value=!1}}})}function Ie(e){return e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`).replace(/'/g,`'`)}function Le(){o.workspace&&l.dialog({title:c(`git.rebaseConfirmTitle`),message:c(`git.rebaseConfirmMessage`,{branch:`<code class="git-branch-code">${Ie(o.workspace.sourceBranch)}</code>`}),html:!0,dark:!0,cancel:{flat:!0,label:c(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:c(`git.rebase`),color:`orange-4`}}).onOk(async()=>{D.value=!0;try{let e=await fetch(`/api/workspaces/${o.workspace.id}/rebase`,{method:`POST`});if(e.status===409){let t=await e.json();ze(`rebase`,Array.isArray(t.files)?t.files:[]);return}if(!e.ok){let t=await e.json();throw Error(t.error??`Rebase failed`)}l.notify({type:`positive`,message:c(`git.rebaseSuccess`),position:`top`}),Ae()}catch(e){let t=e instanceof Error?e.message:c(`git.rebaseFailed`);l.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{D.value=!1}})}function Re(){o.workspace&&l.dialog({title:c(`git.mergeConfirmTitle`),message:c(`git.mergeConfirmMessage`,{branch:`<code class="git-branch-code">${Ie(o.workspace.sourceBranch)}</code>`}),html:!0,dark:!0,cancel:{flat:!0,label:c(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:c(`git.merge`),color:`purple-4`}}).onOk(async()=>{O.value=!0;try{let e=await fetch(`/api/workspaces/${o.workspace.id}/merge`,{method:`POST`});if(e.status===409){let t=await e.json();ze(`merge`,Array.isArray(t.files)?t.files:[]);return}if(!e.ok){let t=await e.json();throw Error(t.error??`Merge failed`)}l.notify({type:`positive`,message:c(`git.mergeSuccess`),position:`top`}),Ae()}catch(e){let t=e instanceof Error?e.message:c(`git.mergeFailed`);l.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{O.value=!1}})}function ze(e,t){se.value=e,ce.value=t,R.value=!0}async function Be(){if(o.workspace){le.value=!0;try{let e=await fetch(`/api/workspaces/${o.workspace.id}/git/abort`,{method:`POST`});if(!e.ok){let t=await e.json();throw Error(t.error??`Abort failed`)}l.notify({type:`positive`,message:c(`git.conflictAborted`),position:`top`}),R.value=!1,Ae()}catch(e){let t=e instanceof Error?e.message:`Abort failed`;l.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{le.value=!1}}}async function Ve(){if(!(!o.workspace||!se.value)){ue.value=!0;try{let e=await fetch(`/api/workspaces/${o.workspace.id}/git/resolve-with-agent`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({operation:se.value,files:ce.value})});if(!e.ok){let t=await e.json();throw Error(t.error??`Handoff failed`)}l.notify({type:`positive`,message:c(`git.conflictHandoffSuccess`),position:`top`}),R.value=!1}catch(e){let t=e instanceof Error?e.message:`Handoff failed`;l.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{ue.value=!1}}}let He=s(!1),Ue=s(!1);function W(){o.workspace&&(Ue.value=!1,He.value=!0)}async function We(){if(!o.workspace)return;let e=Ue.value;He.value=!1,m.value=!0;try{await f.pushBranch(o.workspace.id,{force:e}),l.notify({type:`positive`,message:c(e?`git.branchForcePushed`:`git.branchPushed`),position:`top`}),Ae()}catch(e){let t=e instanceof Error?e.message:`Push failed`;l.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{m.value=!1}}function Ge(){o.workspace&&l.dialog({title:c(`git.pullConfirmTitle`),message:c(`git.pullConfirmMessage`,{branch:`<code class="git-branch-code">${Ie(o.workspace.workingBranch)}</code>`}),html:!0,dark:!0,cancel:{flat:!0,label:c(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:c(`git.pull`),color:`grey-5`}}).onOk(async()=>{E.value=!0;try{await f.pullBranch(o.workspace.id),l.notify({type:`positive`,message:c(`git.branchPulled`),position:`top`}),Ae()}catch(e){console.error(`[GitPanel] pullBranch failed:`,e);let t=e instanceof Error?e.message:c(`git.pullFailed`);l.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{E.value=!1}})}function Ke(){z.value?.prUrl&&window.open(z.value.prUrl,`_blank`)}function qe(){o.workspace&&l.dialog({title:c(`git.changePrBaseTitle`),message:c(`git.changePrBaseMessage`),prompt:{model:o.workspace.sourceBranch,type:`text`},dark:!0,cancel:{flat:!0,label:c(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:c(`common.save`),color:`primary`}}).onOk(async e=>{if(!(!e.trim()||!o.workspace)){A.value=!0;try{let t=await fetch(`/api/workspaces/${o.workspace.id}/change-pr-base`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({base:e.trim()})});if(!t.ok){let e=await t.json();throw Error(e.error??`Failed`)}l.notify({type:`positive`,message:c(`git.changePrBaseSuccess`),position:`top`}),Ae()}catch(e){let t=e instanceof Error?e.message:c(`git.changePrBaseFailed`);l.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{A.value=!1}}})}async function Je(){if(o.workspace){k.value=!0;try{let e=await f.openPullRequest(o.workspace.id);l.notify({type:`positive`,message:c(`git.prCreated`,{n:e.prNumber}),caption:e.prUrl,position:`top`,timeout:5e3}),Ae()}catch(e){if(e instanceof Me&&e.code===`branch_not_pushed`){l.notify({type:`warning`,message:c(`git.pushFirst`),position:`top`,timeout:6e3});return}if(e instanceof Me&&e.code===`unpushed_commits`){l.notify({type:`warning`,message:c(`git.unpushedCommits`),position:`top`,timeout:6e3});return}let t=e instanceof Error?e.message:`Open PR failed`;l.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{k.value=!1}}}return(n,a)=>(t(),S(`div`,Mn,[T(`div`,Nn,[T(`div`,Pn,h(n.$t(`git.title`)),1),e.workspace?(t(),g(B,{key:0,flat:``,round:``,dense:``,size:`xs`,icon:`refresh`,color:`grey-6`,loading:fe.value,onClick:je},{default:u(()=>[v(U,null,{default:u(()=>[y(h(n.$t(`tooltip.refreshGitStats`)),1)]),_:1})]),_:1},8,[`loading`])):_(``,!0)]),e.workspace?(t(),S(C,{key:0},[fe.value&&!z.value?(t(),S(`div`,Fn,[v(I,{size:`32px`,color:`indigo-4`})])):(t(),S(C,{key:1},[T(`div`,In,[T(`div`,Ln,h(n.$t(`git.section.repository`)),1),T(`div`,Rn,[v(L,{name:`folder`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),T(`span`,zn,h(pe.value),1)]),T(`div`,Bn,[a[11]||=T(`span`,{style:{width:`8px`,height:`8px`,"border-radius":`50%`,"background-color":`#4ade80`,display:`inline-block`},class:`q-mr-xs`},null,-1),T(`span`,Vn,h(e.workspace.workingBranch),1),e.workspace?.worktreeOwned===!1?_(``,!0):(t(),g(B,{key:0,flat:``,round:``,dense:``,size:`xs`,icon:`edit`,color:`grey-6`,class:`q-ml-xs`,loading:te.value,onClick:Pe},{default:u(()=>[v(U,null,{default:u(()=>[y(h(n.$t(`git.renameBranch`)),1)]),_:1})]),_:1},8,[`loading`])),e.workspace?.worktreeOwned===!1?(t(),g(L,{key:1,name:`info`,size:`14px`,color:`grey-6`,class:`q-ml-xs`},{default:u(()=>[v(U,null,{default:u(()=>[y(h(n.$t(`git.renameDisabledForExternal`)),1)]),_:1})]),_:1})):_(``,!0)]),T(`div`,Hn,[y(h(e.workspace.sourceBranch)+` `,1),z.value?(t(),S(C,{key:0},[z.value.commitCount>0?(t(),S(`span`,{key:0,class:`cursor-pointer arrow-clickable`,style:{color:`#4ade80`},onClick:a[0]||=N(e=>Te(`ahead`),[`stop`])},` · ↑`+h(z.value.commitCount),1)):_(``,!0),z.value.behindCount>0?(t(),S(`span`,{key:1,class:`cursor-pointer arrow-clickable`,style:{color:`#f87171`},onClick:a[1]||=N(e=>Te(`behind`),[`stop`])},` · ↓`+h(z.value.behindCount),1)):_(``,!0),z.value.commitCount>0||z.value.behindCount>0?(t(),g(U,{key:2},{default:u(()=>[y(h(n.$t(`git.aheadBehindTooltip`,{ahead:z.value.commitCount,behind:z.value.behindCount,source:e.workspace.sourceBranch})),1)]),_:1})):_(``,!0),a[12]||=y(` · `,-1),z.value.unpushedCount===-1?(t(),S(`span`,Un,h(n.$t(`git.localOnly`)),1)):z.value.unpushedCount===0?(t(),S(`span`,Wn,h(n.$t(`git.pushed`)),1)):(t(),S(`span`,Gn,h(n.$t(`git.unpushed`,{count:z.value.unpushedCount})),1))],64)):_(``,!0)])]),z.value?(t(),S(`div`,Kn,[T(`div`,qn,h(n.$t(`git.section.changes`)),1),T(`div`,Jn,[z.value.commitCount>0?(t(),S(`div`,{key:0,class:`row items-center commit-toggle cursor-pointer`,onClick:ie},[v(L,{name:`commit`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),T(`span`,Yn,h(n.$t(`git.commits`,{count:z.value.commitCount},z.value.commitCount)),1),ne.value?(t(),g(I,{key:0,size:`12px`,color:`indigo-4`,class:`q-ml-xs`})):(t(),g(L,{key:1,name:P.value?`expand_less`:`expand_more`,size:`14px`,color:`grey-6`,class:`q-ml-xs`},null,8,[`name`]))])):(t(),S(`div`,Xn,[v(L,{name:`commit`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),T(`span`,Zn,h(n.$t(`git.commits`,{count:0},0)),1)])),z.value.filesChanged>0?(t(),S(`div`,Qn,[v(L,{name:`insert_drive_file`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),T(`span`,$n,h(z.value.filesChanged),1),z.value.insertions>0?(t(),S(`span`,er,`+`+h(z.value.insertions),1)):_(``,!0),z.value.deletions>0?(t(),S(`span`,tr,`-`+h(z.value.deletions),1)):_(``,!0)])):_(``,!0),z.value.workingTree&&(z.value.workingTree.staged>0||z.value.workingTree.modified>0||z.value.workingTree.untracked>0)?(t(),S(`div`,nr,[v(L,{name:`edit_note`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),z.value.workingTree.staged>0?(t(),S(`span`,rr,h(z.value.workingTree.staged)+`s`,1)):_(``,!0),z.value.workingTree.modified>0?(t(),S(`span`,ir,h(z.value.workingTree.modified)+`m`,1)):_(``,!0),z.value.workingTree.untracked>0?(t(),S(`span`,ar,h(z.value.workingTree.untracked)+`u`,1)):_(``,!0),v(U,null,{default:u(()=>[y(h(n.$t(`git.staged`,{count:z.value.workingTree.staged}))+` · `+h(n.$t(`git.modified`,{count:z.value.workingTree.modified}))+` · `+h(n.$t(`git.untracked`,{count:z.value.workingTree.untracked})),1)]),_:1})])):_(``,!0)]),P.value?(t(),S(`div`,or,[ne.value?(t(),S(`div`,sr,[v(I,{size:`xs`,class:`q-mr-xs`}),y(h(n.$t(`git.commits.loading`)),1)])):F.value.length===0?(t(),S(`div`,cr,h(n.$t(`git.commits.empty`)),1)):(t(!0),S(C,{key:2},i(F.value,e=>(t(),S(`div`,{key:e.sha,class:`commit-item row no-wrap items-center cursor-pointer`,onClick:t=>ae(e.sha)},[v(L,{name:e.isPushed?`cloud_done`:`cloud_upload`,size:`12px`,color:e.isPushed?`grey-6`:`orange-5`,class:`q-mr-xs commit-item-icon`},null,8,[`name`,`color`]),T(`span`,ur,h(e.shortSha),1),T(`span`,dr,h(e.subject),1),v(U,{anchor:`top middle`,self:`bottom middle`,class:`commit-tooltip`},{default:u(()=>[T(`div`,fr,[T(`div`,null,[T(`code`,null,h(e.sha),1)]),T(`div`,pr,h(e.author)+` · `+h(oe(e.date)),1),T(`div`,mr,h(e.isPushed?n.$t(`git.commits.pushed`):n.$t(`git.commits.unpushed`))+` · `+h(n.$t(`git.commits.clickToAppend`)),1)])]),_:2},1024)],8,lr))),128))])):_(``,!0)])):_(``,!0),e.workspace&&z.value?(t(),S(`div`,hr,[T(`div`,gr,h(n.$t(`git.section.actions`)),1),z.value?.prUrl&&z.value.prState===`OPEN`?(t(),g(B,{key:0,"no-caps":``,unelevated:``,dense:``,size:`sm`,color:`green-7`,icon:`open_in_new`,label:n.$t(`git.viewPr`),class:`full-width q-mb-xs`,onClick:Ke},null,8,[`label`])):(t(),g(B,{key:1,"no-caps":``,unelevated:``,dense:``,size:`sm`,color:`indigo-5`,icon:`open_in_new`,label:n.$t(`git.createPr`),class:`full-width q-mb-xs`,loading:k.value,disable:!e.workspace||m.value||!he.value,onClick:Je},{default:u(()=>[!he.value&&ge.value?(t(),g(U,{key:0},{default:u(()=>[y(h(ge.value),1)]),_:1})):_(``,!0)]),_:1},8,[`label`,`loading`,`disable`])),T(`div`,_r,[z.value?(t(),g(Ht,{key:0,split:``,dense:``,"no-caps":``,size:`sm`,outline:``,color:`grey-5`,icon:`sync`,label:n.$t(`git.sync`),class:`git-btn git-sync-btn col`,loading:E.value||D.value||O.value,disable:!e.workspace||m.value,onClick:a[2]||=e=>z.value.unpushedCount===-1?Le():Ge()},{default:u(()=>[v(Ye,{dark:``,dense:``,style:{"min-width":`140px`}},{default:u(()=>[d((t(),g(V,{clickable:``,disable:E.value||D.value||O.value||z.value.unpushedCount===-1,onClick:Ge},{default:u(()=>[v(H,{avatar:``,style:{"min-width":`28px`}},{default:u(()=>[v(L,{name:`download`,size:`16px`,color:`grey-5`})]),_:1}),v(H,null,{default:u(()=>[y(h(n.$t(`git.pull`)),1)]),_:1}),z.value.unpushedCount===-1?(t(),g(U,{key:0},{default:u(()=>[y(h(n.$t(`git.pullNoUpstream`)),1)]),_:1})):_(``,!0)]),_:1},8,[`disable`])),[[Ze]]),d((t(),g(V,{clickable:``,disable:E.value||D.value||O.value,onClick:Le},{default:u(()=>[v(H,{avatar:``,style:{"min-width":`28px`}},{default:u(()=>[v(L,{name:`replay`,size:`16px`,color:`orange-4`})]),_:1}),v(H,null,{default:u(()=>[y(h(n.$t(`git.rebase`)),1)]),_:1})]),_:1},8,[`disable`])),[[Ze]]),d((t(),g(V,{clickable:``,disable:E.value||D.value||O.value,onClick:Re},{default:u(()=>[v(H,{avatar:``,style:{"min-width":`28px`}},{default:u(()=>[v(L,{name:`merge`,size:`16px`,color:`purple-4`})]),_:1}),v(H,null,{default:u(()=>[y(h(n.$t(`git.merge`)),1)]),_:1})]),_:1},8,[`disable`])),[[Ze]])]),_:1})]),_:1},8,[`label`,`loading`,`disable`])):_(``,!0),z.value?.unpushedCount===0?_(``,!0):(t(),g(B,{key:1,dense:``,"no-caps":``,size:`sm`,outline:``,color:`orange-5`,icon:`upload`,label:n.$t(`git.push`),class:`git-btn`,loading:m.value,disable:!e.workspace||k.value||E.value||D.value,onClick:W},{default:u(()=>[v(U,{anchor:`bottom middle`,self:`top middle`,delay:400},{default:u(()=>[y(h(n.$t(`git.push`)),1)]),_:1})]),_:1},8,[`label`,`loading`,`disable`])),v(B,{dense:``,"no-caps":``,size:`sm`,outline:``,color:`indigo-4`,icon:`rate_review`,label:n.$t(`git.diffReview`),class:`git-btn`,disable:!e.workspace,onClick:a[3]||=e=>ee(!0)},{default:u(()=>[v(U,{anchor:`bottom middle`,self:`top middle`,delay:400},{default:u(()=>[y(h(n.$t(`git.diffReviewTooltip`)),1)]),_:1})]),_:1},8,[`label`,`disable`]),ye.value?(t(),g(B,{key:2,dense:``,flat:``,size:`sm`,color:`grey-5`,icon:`more_horiz`,class:`git-btn`},{default:u(()=>[v(Xe,null,{default:u(()=>[v(Ye,{dark:``,dense:``,style:{"min-width":`160px`}},{default:u(()=>[z.value?.prUrl&&z.value.prState===`OPEN`?d((t(),g(V,{key:0,clickable:``,disable:A.value,onClick:qe},{default:u(()=>[v(H,{avatar:``,style:{"min-width":`28px`}},{default:u(()=>[v(L,{name:`swap_horiz`,size:`16px`,color:`grey-5`})]),_:1}),v(H,null,{default:u(()=>[y(h(n.$t(`git.changePrBase`)),1)]),_:1})]),_:1},8,[`disable`])),[[Ze]]):_(``,!0)]),_:1})]),_:1}),v(U,null,{default:u(()=>[y(h(n.$t(`git.actions.more`)),1)]),_:1})]),_:1})):_(``,!0)])])):_(``,!0),me.value&&me.value.state===`OPEN`?(t(),S(`div`,vr,[T(`div`,yr,h(n.$t(`git.section.pullRequest`)),1),v(jn,{snapshot:me.value},null,8,[`snapshot`])])):_(``,!0)],64))],64)):(t(),S(`div`,br,h(n.$t(`common.selectWorkspace`)),1)),v(De,{modelValue:He.value,"onUpdate:modelValue":a[5]||=e=>He.value=e},{default:u(()=>[v(Fe,{dark:``,style:{"min-width":`360px`,"max-width":`480px`}},{default:u(()=>[v(Ce,null,{default:u(()=>[T(`div`,xr,h(n.$t(`git.pushConfirmTitle`)),1),T(`div`,Sr,[y(h(n.$t(`git.pushConfirmMessagePrefix`))+` `,1),T(`code`,Cr,h(e.workspace?.workingBranch??``),1),y(` `+h(n.$t(`git.pushConfirmMessageSuffix`)),1)])]),_:1}),v(Ce,{class:`q-pt-none`},{default:u(()=>[v(xe,{modelValue:Ue.value,"onUpdate:modelValue":a[4]||=e=>Ue.value=e,label:n.$t(`git.forcePushToggle`),color:`orange-6`,dense:``},null,8,[`modelValue`,`label`]),T(`div`,wr,h(n.$t(`git.forcePushHint`)),1)]),_:1}),v(ve,{align:`right`},{default:u(()=>[d(v(B,{flat:``,label:n.$t(`common.cancel`),color:`grey-5`},null,8,[`label`]),[[Ze]]),v(B,{flat:``,label:Ue.value?n.$t(`git.forcePush`):n.$t(`git.push`),color:Ue.value?`orange-4`:`grey-5`,onClick:We},null,8,[`label`,`color`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),v(De,{modelValue:R.value,"onUpdate:modelValue":a[7]||=e=>R.value=e,persistent:``},{default:u(()=>[v(Fe,{dark:``,style:{"min-width":`420px`,"max-width":`600px`}},{default:u(()=>[v(Ce,null,{default:u(()=>[T(`div`,Tr,[v(L,{name:`warning`,class:`q-mr-xs`}),y(` `+h(se.value===`merge`?n.$t(`git.conflictTitleMerge`):n.$t(`git.conflictTitleRebase`)),1)]),T(`div`,Er,h(n.$t(`git.conflictSubtitle`,{count:ce.value.length})),1)]),_:1}),ce.value.length>0?(t(),g(Ce,{key:0,class:`q-pt-none`},{default:u(()=>[v(Ye,{dense:``,dark:``},{default:u(()=>[(t(!0),S(C,null,i(ce.value,e=>(t(),g(V,{key:e},{default:u(()=>[v(H,{side:``},{default:u(()=>[v(L,{name:`insert_drive_file`,size:`xs`})]),_:1}),v(H,null,{default:u(()=>[T(`div`,Dr,h(e),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})):_(``,!0),v(ve,{align:`right`},{default:u(()=>[v(B,{flat:``,"no-caps":``,label:n.$t(`common.cancel`),color:`grey-5`,disable:le.value||ue.value,onClick:a[6]||=e=>R.value=!1},null,8,[`label`,`disable`]),v(B,{flat:``,"no-caps":``,color:`red-4`,icon:`undo`,label:n.$t(`git.conflictAbort`),loading:le.value,disable:ue.value,onClick:Be},null,8,[`label`,`loading`,`disable`]),v(B,{unelevated:``,"no-caps":``,color:`primary`,icon:`smart_toy`,label:n.$t(`git.conflictResolveWithAgent`),loading:ue.value,disable:le.value,onClick:Ve},null,8,[`label`,`loading`,`disable`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),v(De,{modelValue:j.value,"onUpdate:modelValue":a[9]||=e=>j.value=e,maximized:``},{default:u(()=>[e.workspace?(t(),g(w(r),{key:0,"workspace-id":e.workspace.id,"initial-review-mode":M.value,onClose:a[8]||=e=>j.value=!1,onSendToChat:de},null,8,[`workspace-id`,`initial-review-mode`])):_(``,!0)]),_:1},8,[`modelValue`]),e.workspace&&z.value?(t(),g(fn,{key:2,modelValue:be.value,"onUpdate:modelValue":a[10]||=e=>be.value=e,"workspace-id":e.workspace.id,"initial-tab":Se.value,"ahead-count":z.value.commitCount,"behind-count":z.value.behindCount,"source-branch":e.workspace.sourceBranch,"working-branch":e.workspace.workingBranch,onAppendSha:ae},null,8,[`modelValue`,`workspace-id`,`initial-tab`,`ahead-count`,`behind-count`,`source-branch`,`working-branch`])):_(``,!0)]))}}),[[`__scopeId`,`data-v-b3924e0e`]]),kr={class:`schedule-panel column q-pa-md q-gutter-md`},Ar={class:`text-subtitle2 q-mb-sm`},jr={key:0,class:`text-caption text-grey-7`},Mr={class:`row items-center no-wrap`},Nr={class:`text-body2`},Pr={key:0,class:`text-caption text-grey-6 q-mt-xs prompt-preview`},Fr={class:`text-subtitle2 q-mb-sm`},Ir={key:0,class:`text-caption text-grey-7`},Lr={class:`row items-center no-wrap`},Rr={class:`text-body2 ellipsis`},zr={class:`text-caption text-grey-6 q-mt-xs`},Br={key:0},Vr={class:`prompt-preview text-caption text-grey-6 q-mt-xs`},Hr=W(E({__name:`SchedulePanel`,props:{workspaceId:{}},setup(e){let r=e,{t:a}=_e(),o=Qe(),s=we(),c=x(()=>s.pendingWakeups[r.workspaceId]??null),l=x(()=>s.crons[r.workspaceId]??[]);n(()=>r.workspaceId,e=>{e&&s.fetchCrons(e)},{immediate:!0});function d(e){return new Date(e).toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`})}function f(e){let t=Date.now()-new Date(e).getTime();if(Number.isNaN(t)||t<0)return`—`;let n=Math.floor(t/1e3);if(n<60)return`${n}s`;let r=Math.floor(n/60);if(r<60)return`${r}m`;let i=Math.floor(r/60);return i<24?`${i}h`:`${Math.floor(i/24)}d`}async function p(){try{let e=await fetch(`/api/workspaces/${r.workspaceId}/pending-wakeup`,{method:`DELETE`});if(!e.ok)throw Error(`HTTP ${e.status}`)}catch(e){o.notify({type:`negative`,message:String(e),position:`top`,timeout:4e3})}}async function m(e){try{await s.cancelCron(r.workspaceId,e)}catch(e){o.notify({type:`negative`,message:String(e),position:`top`,timeout:4e3})}}return(e,n)=>(t(),S(`div`,kr,[T(`div`,null,[T(`div`,Ar,h(e.$t(`schedule.wakeupTitle`)),1),c.value?(t(),g(Fe,{key:1,dark:``,flat:``,bordered:``},{default:u(()=>[v(Ce,{class:`q-py-sm`},{default:u(()=>[T(`div`,Mr,[v(L,{name:`schedule`,size:`16px`,color:`amber-4`,class:`q-mr-sm`}),T(`div`,Nr,h(d(c.value.targetAt)),1),v(Ge),v(B,{flat:``,dense:``,round:``,icon:`close`,size:`sm`,title:e.$t(`common.cancel`),onClick:p},null,8,[`title`])]),c.value.reason?(t(),S(`pre`,Pr,h(c.value.reason),1)):_(``,!0)]),_:1})]),_:1})):(t(),S(`div`,jr,h(e.$t(`schedule.noWakeup`)),1))]),T(`div`,null,[T(`div`,Fr,h(e.$t(`schedule.cronsTitle`)),1),l.value.length===0?(t(),S(`div`,Ir,h(e.$t(`schedule.noCrons`)),1)):(t(),g(Ye,{key:1,dense:``,dark:``,separator:``},{default:u(()=>[(t(!0),S(C,null,i(l.value,n=>(t(),g(V,{key:n.id},{default:u(()=>[v(H,null,{default:u(()=>[T(`div`,Lr,[v(L,{name:`event_repeat`,size:`16px`,color:`cyan-4`,class:`q-mr-sm`}),T(`div`,Rr,h(n.label||n.expression),1)]),T(`div`,zr,[y(h(e.$t(`schedule.nextFireAt`,{time:d(n.nextFireAt)}))+` `,1),n.lastFiredAt?(t(),S(`span`,Br,` · `+h(e.$t(`schedule.lastFiredAt`,{time:f(n.lastFiredAt)})),1)):_(``,!0)]),T(`pre`,Vr,h(n.prompt),1)]),_:2},1024),v(H,{side:``,top:``},{default:u(()=>[v(B,{flat:``,dense:``,round:``,icon:`close`,size:`sm`,title:e.$t(`common.cancel`),onClick:e=>m(n.id)},null,8,[`title`,`onClick`])]),_:2},1024)]),_:2},1024))),128))]),_:1}))])]))}}),[[`__scopeId`,`data-v-891bf3cf`]]),Ur={class:`subagents-panel q-pa-md`},Wr={class:`text-caption text-uppercase text-weight-bold text-grey-6 q-mb-sm`,style:{"letter-spacing":`0.05em`}},Gr={key:0,class:`text-caption text-grey-8`},Kr={class:`row items-center q-mb-xs`},qr={class:`text-caption text-weight-medium text-grey-3 ellipsis`,style:{"max-width":`220px`}},Jr={key:0,class:`text-caption text-grey-6`,style:{"font-size":`10px`}},Yr={class:`text-grey-4`},Xr={class:`row items-center q-gutter-xs q-mt-xs text-caption text-grey-7`,style:{"font-size":`10px`}},Zr={key:0},Qr={key:1},$r={key:2},ei=W(E({__name:`SubagentsPanel`,setup(e){let{t:n}=_e(),r=we(),a=x(()=>[...r.currentSubagents].reverse());function o(e){return e?e<1e3?`${e}ms`:e<6e4?`${(e/1e3).toFixed(1)}s`:`${Math.floor(e/6e4)}m ${Math.floor(e%6e4/1e3)}s`:``}function s(e){return e?e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e):``}return(e,n)=>(t(),S(`div`,Ur,[T(`div`,Wr,h(e.$t(`subagents.title`)),1),a.value.length===0?(t(),S(`div`,Gr,h(e.$t(`subagents.empty`)),1)):_(``,!0),(t(!0),S(C,null,i(a.value,n=>(t(),S(`div`,{key:n.toolUseId,class:`subagent-item q-mb-sm rounded-borders q-pa-sm`},[T(`div`,Kr,[v(L,{name:n.status===`running`?`play_circle`:`check_circle`,size:`14px`,color:n.status===`running`?`green-4`:`grey-6`,class:`q-mr-xs`},null,8,[`name`,`color`]),T(`span`,qr,h(n.description||n.toolUseId),1)]),n.lastToolName?(t(),S(`div`,Jr,[y(h(e.$t(`subagents.running`)),1),T(`span`,Yr,h(n.lastToolName),1)])):_(``,!0),T(`div`,Xr,[n.toolUses===void 0?_(``,!0):(t(),S(`span`,Zr,h(e.$t(`subagents.tools`,{count:n.toolUses})),1)),n.totalTokens?(t(),S(`span`,Qr,`· `+h(s(n.totalTokens))+` tok`,1)):_(``,!0),n.durationMs?(t(),S(`span`,$r,`· `+h(o(n.durationMs)),1)):_(``,!0)])]))),128))]))}}),[[`__scopeId`,`data-v-dd805632`]]),ti={class:`notion-panel q-pa-md`},ni={class:`row items-center q-mb-sm`},ri={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},ii={key:0,class:`q-mb-sm`},ai={class:`text-caption text-grey-7`,style:{"font-size":`11px`}},oi={key:1,class:`text-caption text-grey-8 q-mb-sm`,style:{"font-size":`11px`}},si={key:2,class:`task-add-row row items-center q-mb-xs`},ci={key:3,class:`tasks-list`},li=[`onDblclick`],ui={key:1,class:`text-caption text-grey-8`},di=W(E({__name:`TasksPanel`,props:{workspace:{},tasks:{}},setup(n){let r=n,{t:a}=_e(),o=we(),c=Ae();function l(){r.workspace?.id&&ct(r.workspace.id,c,o)}let d=x(()=>r.tasks.filter(e=>!e.isAcceptanceCriterion)),f=x(()=>d.value.filter(e=>e.status===`done`).length),p=x(()=>d.value.length),b=x(()=>p.value>0?f.value/p.value:0),w=s(!1),E=s(``),D=s(null),O=s(``),j=s({});function M(e,t){if(t){let n=t.$el??t;j.value[e]=n}else delete j.value[e]}function ee(){w.value=!0,E.value=``}async function te(){let e=E.value.trim();if(!(!e||!r.workspace?.id))try{await o.createTask(r.workspace.id,e,!1),E.value=``,w.value=!1}catch{}}function P(){E.value=``,w.value=!1}function ne(t){D.value=t.id,O.value=t.title,e(()=>{let e=j.value[t.id]?.querySelector(`input, textarea`);e?.focus(),e?.select()})}async function F(e){if(D.value!==e.id)return;let t=O.value.trim(),n=e.id;if(D.value=null,!(!t||t===e.title)&&r.workspace?.id)try{await o.updateTaskTitle(r.workspace.id,n,t)}catch{}}function I(){D.value=null,O.value=``}async function re(e){if(r.workspace?.id)try{await o.deleteTask(r.workspace.id,e.id)}catch{}}async function ie(e){if(!r.workspace?.id)return;let t=e.status===`done`?`pending`:`done`;try{let n=await fetch(`/api/workspaces/${e.workspaceId}/tasks/${e.id}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({status:t})});if(!n.ok)throw Error(`HTTP ${n.status}`);o.fetchWorkspaceDetails(r.workspace.id)}catch(e){console.error(`Failed to toggle task:`,e)}}function ae(e){switch(e){case`done`:return`check_circle`;case`in_progress`:return`timelapse`;default:return`radio_button_unchecked`}}function oe(e){switch(e){case`done`:return`#4ade80`;case`in_progress`:return`#f59e0b`;default:return`#888`}}return(e,r)=>(t(),S(`div`,ti,[T(`div`,ni,[T(`div`,ri,h(e.$t(`tasks.title`)),1),v(Ge),n.workspace?(t(),g(B,{key:0,flat:``,dense:``,round:``,size:`xs`,icon:`fact_check`,color:`grey-5`,onClick:l},{default:u(()=>[v(U,null,{default:u(()=>[y(h(e.$t(`tasks.askProgress`)),1)]),_:1})]),_:1})):_(``,!0),n.workspace?(t(),g(B,{key:1,flat:``,dense:``,round:``,size:`xs`,icon:`add`,color:`indigo-4`,onClick:ee},{default:u(()=>[v(U,null,{default:u(()=>[y(h(e.$t(`tooltip.addTask`)),1)]),_:1})]),_:1})):_(``,!0)]),n.workspace?(t(),S(C,{key:0},[p.value>0?(t(),S(`div`,ii,[v(Ie,{value:b.value,color:`primary`,"track-color":`grey-9`,class:`q-mb-xs`,style:{height:`4px`,"border-radius":`2px`}},null,8,[`value`]),T(`div`,ai,h(e.$t(`notion.subtasks`,{done:f.value,total:p.value})),1)])):w.value?_(``,!0):(t(),S(`div`,oi,h(e.$t(`notion.noTasks`)),1)),w.value?(t(),S(`div`,si,[v(ye,{modelValue:E.value,"onUpdate:modelValue":r[0]||=e=>E.value=e,dark:``,dense:``,borderless:``,autofocus:``,placeholder:e.$t(`notion.newTask`),class:`col task-input`,"input-class":`task-input-inner`,onKeydown:[A(N(te,[`prevent`]),[`enter`]),A(N(P,[`prevent`]),[`esc`])]},null,8,[`modelValue`,`placeholder`,`onKeydown`])])):_(``,!0),d.value.length>0?(t(),S(`div`,ci,[(t(!0),S(C,null,i(d.value,n=>(t(),S(`div`,{key:n.id,class:`task-item row items-center q-py-xxs`},[v(L,{name:ae(n.status),size:`14px`,style:k({color:oe(n.status)}),class:`q-mr-xs cursor-pointer`,onClick:e=>ie(n)},null,8,[`name`,`style`,`onClick`]),D.value===n.id?(t(),g(ye,{key:0,ref_for:!0,ref:e=>M(n.id,e),modelValue:O.value,"onUpdate:modelValue":r[1]||=e=>O.value=e,dark:``,dense:``,borderless:``,class:`col task-input`,"input-class":`task-input-inner`,onKeydown:[A(N(e=>F(n),[`prevent`]),[`enter`]),A(N(I,[`prevent`]),[`esc`])],onBlur:e=>F(n)},null,8,[`modelValue`,`onKeydown`,`onBlur`])):(t(),S(C,{key:1},[T(`span`,{class:m([`col task-title text-caption`,{"text-strike":n.status===`done`}]),style:k({color:n.status===`done`?`#4ade80`:`#ccc`}),onDblclick:e=>ne(n)},h(n.title),47,li),v(B,{flat:``,dense:``,round:``,size:`xs`,icon:`close`,color:`grey-6`,class:`task-delete-btn`,onClick:e=>re(n)},{default:u(()=>[v(U,null,{default:u(()=>[y(h(e.$t(`tooltip.removeTask`)),1)]),_:1})]),_:1},8,[`onClick`])],64))]))),128))])):_(``,!0)],64)):(t(),S(`div`,ui,h(e.$t(`common.selectWorkspace`)),1))]))}}),[[`__scopeId`,`data-v-4bc9713a`]]),fi=2,pi=1,mi=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(fi,Math.floor(u/e.css.cell.width)),rows:Math.max(pi,Math.floor(l/e.css.cell.height))}}},hi=Object.defineProperty,gi=Object.getOwnPropertyDescriptor,_i=(e,t)=>{for(var n in t)hi(e,n,{get:t[n],enumerable:!0})},vi=(e,t,n,r)=>{for(var i=r>1?void 0:r?gi(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&&hi(t,n,i),i},G=(e,t)=>(n,r)=>t(n,r,e),yi=`Terminal input`,bi={get:()=>yi,set:e=>yi=e},xi=`Too much output to announce, navigate to rows manually to read`,Si={get:()=>xi,set:e=>xi=e};function Ci(e){return e.replace(/\r?\n/g,`\r`)}function wi(e,t){return t?`\x1B[200~`+e+`\x1B[201~`:e}function Ti(e,t){e.clipboardData&&e.clipboardData.setData(`text/plain`,t.selectionText),e.preventDefault()}function Ei(e,t,n,r){e.stopPropagation(),e.clipboardData&&Di(e.clipboardData.getData(`text/plain`),t,n,r)}function Di(e,t,n,r){e=Ci(e),e=wi(e,n.decPrivateModes.bracketedPasteMode&&r.rawOptions.ignoreBracketedPasteMode!==!0),n.triggerDataEvent(e,!0),t.value=``}function Oi(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 ki(e,t,n,r,i){Oi(e,t,n),i&&r.rightClickSelect(e),t.value=r.selectionText,t.select()}function Ai(e){return e>65535?(e-=65536,String.fromCharCode((e>>10)+55296)+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)}function ji(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 Mi=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}},Ni=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(e,t){let n=e.length;if(!n)return 0;let r=0,i,a,o,s,c=0,l=0;if(this.interim[0]){let i=!1,a=this.interim[0];a&=(a&224)==192?31:(a&240)==224?15:7;let o=0,s;for(;(s=this.interim[++o]&63)&&o<4;)a<<=6,a|=s;let c=(this.interim[0]&224)==192?2:(this.interim[0]&240)==224?3:4,u=c-o;for(;l<u;){if(l>=n)return 0;if(s=e[l++],(s&192)!=128){l--,i=!0;break}else this.interim[o++]=s,a<<=6,a|=s&63}i||(c===2?a<128?l--:t[r++]=a:c===3?a<2048||a>=55296&&a<=57343||a===65279||(t[r++]=a):a<65536||a>1114111||(t[r++]=a)),this.interim.fill(0)}let u=n-4,d=l;for(;d<n;){for(;d<u&&!((i=e[d])&128)&&!((a=e[d+1])&128)&&!((o=e[d+2])&128)&&!((s=e[d+3])&128);)t[r++]=i,t[r++]=a,t[r++]=o,t[r++]=s,d+=4;if(i=e[d++],i<128)t[r++]=i;else if((i&224)==192){if(d>=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128){d--;continue}if(c=(i&31)<<6|a&63,c<128){d--;continue}t[r++]=c}else if((i&240)==224){if(d>=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,r;if(o=e[d++],(o&192)!=128){d--;continue}if(c=(i&15)<<12|(a&63)<<6|o&63,c<2048||c>=55296&&c<=57343||c===65279)continue;t[r++]=c}else if((i&248)==240){if(d>=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,r;if(o=e[d++],(o&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,this.interim[2]=o,r;if(s=e[d++],(s&192)!=128){d--;continue}if(c=(i&7)<<18|(a&63)<<12|(o&63)<<6|s&63,c<65536||c>1114111)continue;t[r++]=c}}return r}},Pi=``,Fi=` `,Ii=class e{constructor(){this.fg=0,this.bg=0,this.extended=new Li}static toColorRGB(e){return[e>>>16&255,e>>>8&255,e&255]}static fromColorRGB(e){return(e[0]&255)<<16|(e[1]&255)<<8|e[2]&255}clone(){let t=new e;return t.fg=this.fg,t.bg=this.bg,t.extended=this.extended.clone(),t}isInverse(){return this.fg&67108864}isBold(){return this.fg&134217728}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:this.fg&268435456}isBlink(){return this.fg&536870912}isInvisible(){return this.fg&1073741824}isItalic(){return this.bg&67108864}isDim(){return this.bg&134217728}isStrikethrough(){return this.fg&2147483648}isProtected(){return this.bg&536870912}isOverline(){return this.bg&1073741824}getFgColorMode(){return this.fg&50331648}getBgColorMode(){return this.bg&50331648}isFgRGB(){return(this.fg&50331648)==50331648}isBgRGB(){return(this.bg&50331648)==50331648}isFgPalette(){return(this.fg&50331648)==16777216||(this.fg&50331648)==33554432}isBgPalette(){return(this.bg&50331648)==16777216||(this.bg&50331648)==33554432}isFgDefault(){return(this.fg&50331648)==0}isBgDefault(){return(this.bg&50331648)==0}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(this.fg&50331648){case 16777216:case 33554432:return this.fg&255;case 50331648:return this.fg&16777215;default:return-1}}getBgColor(){switch(this.bg&50331648){case 16777216:case 33554432:return this.bg&255;case 50331648:return this.bg&16777215;default:return-1}}hasExtendedAttrs(){return this.bg&268435456}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(this.bg&268435456&&~this.extended.underlineColor)switch(this.extended.underlineColor&50331648){case 16777216:case 33554432:return this.extended.underlineColor&255;case 50331648:return this.extended.underlineColor&16777215;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return this.bg&268435456&&~this.extended.underlineColor?this.extended.underlineColor&50331648:this.getFgColorMode()}isUnderlineColorRGB(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)==50331648:this.isFgRGB()}isUnderlineColorPalette(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)==16777216||(this.extended.underlineColor&50331648)==33554432:this.isFgPalette()}isUnderlineColorDefault(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)==0:this.isFgDefault()}getUnderlineStyle(){return this.fg&268435456?this.bg&268435456?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}},Li=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}},Ri=class e extends Ii{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new Li,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?Ai(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()]}},zi=`di$target`,Bi=`di$dependencies`,Vi=new Map;function Hi(e){return e[Bi]||[]}function Ui(e){if(Vi.has(e))return Vi.get(e);let t=function(e,n,r){if(arguments.length!==3)throw Error(`@IServiceName-decorator can only be used to decorate a parameter`);Wi(t,e,r)};return t._id=e,Vi.set(e,t),t}function Wi(e,t,n){t[zi]===t?t[Bi].push({id:e,index:n}):(t[Bi]=[{id:e,index:n}],t[zi]=t)}var Gi=Ui(`BufferService`),Ki=Ui(`CoreMouseService`),qi=Ui(`CoreService`),Ji=Ui(`CharsetService`),Yi=Ui(`InstantiationService`),Xi=Ui(`LogService`),Zi=Ui(`OptionsService`),Qi=Ui(`OscLinkService`),$i=Ui(`UnicodeService`),ea=Ui(`DecorationService`),ta=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 Ri,o=n.getTrimmedLength(),s=-1,c=-1,l=!1;for(let t=0;t<o;t++)if(!(c===-1&&!n.hasContent(t))){if(n.loadCell(t,a),a.hasExtendedAttrs()&&a.extended.urlId)if(c===-1){c=t,s=a.extended.urlId;continue}else l=a.extended.urlId!==s;else c!==-1&&(l=!0);if(l||c!==-1&&t===o-1){let n=this._oscLinkService.getLinkData(s)?.uri;if(n){let a={start:{x:c+1,y:e},end:{x:t+(!l&&t===o-1?1:0),y:e}},s=!1;if(!i?.allowNonHttpProtocols)try{let e=new URL(n);[`http:`,`https:`].includes(e.protocol)||(s=!0)}catch{s=!0}s||r.push({text:n,range:a,activate:(e,t)=>i?i.activate(e,t,a):na(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)}};ta=vi([G(0,Gi),G(1,Zi),G(2,Qi)],ta);function na(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 ra=Ui(`CharSizeService`),ia=Ui(`CoreBrowserService`),aa=Ui(`MouseService`),oa=Ui(`RenderService`),sa=Ui(`SelectionService`),ca=Ui(`CharacterJoinerService`),la=Ui(`ThemeService`),ua=Ui(`LinkProviderService`),da=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?_a.isErrorNoTelemetry(e)?new _a(e.message+`
|
|
5
5
|
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import{S as e,l as t,y as n}from"./runtime-core.esm-bundler-9Z0QAO_7.js";import{N as r,P as i,f as a,i as o,n as s,o as c,p as l,r as u,t as d}from"./QIcon-qfJNZLIW.js";import{c as f}from"./QBtn-CaJSOyt8.js";var p=!1;{let e=document.createElement(`div`);e.setAttribute(`dir`,`rtl`),Object.assign(e.style,{width:`1px`,height:`1px`,overflow:`auto`});let t=document.createElement(`div`);Object.assign(t.style,{width:`1000px`,height:`1px`}),document.body.appendChild(e),e.appendChild(t),e.scrollLeft=-1e3,p=e.scrollLeft>=0,e.remove()}var m=`You are reviewing code changes on workspace "{{workspace_name}}" in project {{project_name}}.
|
|
2
|
+
|
|
3
|
+
Branch: {{branch_name}} (base: {{source_branch}})
|
|
4
|
+
Base commit: {{base_commit}}
|
|
5
|
+
|
|
6
|
+
If a code-review skill is available in this environment, invoke it to drive this audit. Otherwise follow the manual checklist below.
|
|
7
|
+
|
|
8
|
+
## Scope
|
|
9
|
+
|
|
10
|
+
Review ALL changes — both committed and uncommitted in the working tree:
|
|
11
|
+
- \`git diff {{base_commit}}..HEAD\` — committed changes on this branch
|
|
12
|
+
- \`git status\` and \`git diff\` — uncommitted changes (staged + unstaged)
|
|
13
|
+
|
|
14
|
+
## Diff summary
|
|
15
|
+
{{diff_stats}}
|
|
16
|
+
|
|
17
|
+
## Commits
|
|
18
|
+
{{commits}}
|
|
19
|
+
|
|
20
|
+
## Additional instructions
|
|
21
|
+
{{additional_instructions}}
|
|
22
|
+
|
|
23
|
+
## Output
|
|
24
|
+
|
|
25
|
+
If no review skill is available, structure your reply as:
|
|
26
|
+
1. Summary — what changed and why
|
|
27
|
+
2. Issues — bugs, regressions, security or perf concerns (with file:line)
|
|
28
|
+
3. Suggestions — refactor / improvement opportunities
|
|
29
|
+
4. Tests — coverage gaps
|
|
30
|
+
5. Verdict — ship / fix-then-ship / blocked
|
|
31
|
+
`,h="Code review gate — BEFORE marking the task done, run whichever code-review skill is configured in this environment. Brief it with: what you just implemented, the task title, and the commit SHA (via `git rev-parse HEAD`). Ask specifically whether the change matches the task scope, whether edge cases are handled, and whether the commit is clean. If no review skill is available, do a manual self-review against the same criteria.",g=`You are preparing this workspace for Kōbō auto-loop mode. This is a GROOMING session only — DO NOT implement anything, DO NOT write or edit code, DO NOT run tests or builds, DO NOT invoke any implementation, planning, or release skill (your environment may have several). Your ONLY job is to curate the Kōbō task list via MCP tools.`,_=`QA pass for workspace "{{workspace_name}}" in project {{project_name}}.
|
|
32
|
+
|
|
33
|
+
Branch: {{branch_name}}
|
|
34
|
+
Staging URL: {{staging_url}}
|
|
35
|
+
|
|
36
|
+
If a QA skill is configured in this environment, invoke it on {{staging_url}}. Otherwise, manually exercise the staging URL against the workspace's acceptance criteria and report findings.`,v=`Brainstorm the implementation approach. Explore the codebase to understand the existing structure. Ask clarifying questions if needed. When you have a clear, user-approved plan, save it as a plan file in the project.`,y="You are preparing this workspace for Kōbō auto-loop mode. This is a GROOMING session only — DO NOT implement anything, DO NOT write or edit code, DO NOT run tests or builds, DO NOT invoke `superpowers:executing-plans` or any implementation skill. Your ONLY job is to curate the Kōbō task list via MCP tools.",b="You are preparing this workspace for Kōbō auto-loop mode. This is a GROOMING session only — DO NOT implement anything, DO NOT write or edit code, DO NOT run tests or builds, DO NOT invoke `/ship`, `/autoplan`, `/land-and-deploy`, or any implementation skill. Your ONLY job is to curate the Kōbō task list via MCP tools.",x="You are preparing this workspace for Kōbō auto-loop mode. This is a GROOMING session only — DO NOT implement anything, DO NOT write or edit code, DO NOT run tests or builds, DO NOT invoke `superpowers:executing-plans`, `/ship`, `/autoplan`, `/land-and-deploy`, or any other implementation, planning, or release skill. Your ONLY job is to curate the Kōbō task list via MCP tools.";function S(e,t){return e===`custom`?(t??``).trim()||`You are preparing this workspace for Kōbō auto-loop mode. This is a GROOMING session only — DO NOT implement anything, DO NOT write or edit code, DO NOT run tests or builds, DO NOT invoke any implementation, planning, or release skill (your environment may have several). Your ONLY job is to curate the Kōbō task list via MCP tools.`:e===`superpowers+gstack`?x:e===`gstack`?b:y}var C={xs:8,sm:10,md:14,lg:20,xl:24},w=i({name:`QChip`,props:{...u,...l,dense:Boolean,icon:String,iconRight:String,iconRemove:String,iconSelected:String,label:[String,Number],color:String,textColor:String,modelValue:{type:Boolean,default:!0},selected:{type:Boolean,default:null},square:Boolean,outline:Boolean,clickable:Boolean,removable:Boolean,removeAriaLabel:String,tabindex:[String,Number],disable:Boolean,ripple:{type:[Boolean,Object],default:!0}},emits:[`update:modelValue`,`update:selected`,`remove`,`click`],setup(i,{slots:l,emit:u}){let{proxy:{$q:p}}=n(),m=s(i,p),h=a(i,C),g=t(()=>i.selected===!0||i.icon!==void 0),_=t(()=>i.selected===!0?i.iconSelected||p.iconSet.chip.selected:i.icon),v=t(()=>i.iconRemove||p.iconSet.chip.remove),y=t(()=>i.disable===!1&&(i.clickable===!0||i.selected!==null)),b=t(()=>{let e=i.outline===!0&&i.color||i.textColor;return`q-chip row inline no-wrap items-center`+(i.outline===!1&&i.color!==void 0?` bg-${i.color}`:``)+(e?` text-${e} q-chip--colored`:``)+(i.disable===!0?` disabled`:``)+(i.dense===!0?` q-chip--dense`:``)+(i.outline===!0?` q-chip--outline`:``)+(i.selected===!0?` q-chip--selected`:``)+(y.value===!0?` q-chip--clickable cursor-pointer non-selectable q-hoverable`:``)+(i.square===!0?` q-chip--square`:``)+(m.value===!0?` q-chip--dark q-dark`:``)}),x=t(()=>{let e=i.disable===!0?{tabindex:-1,"aria-disabled":`true`}:{tabindex:i.tabindex||0};return{chip:e,remove:{...e,role:`button`,"aria-hidden":`false`,"aria-label":i.removeAriaLabel||p.lang.label.remove}}});function S(e){e.keyCode===13&&w(e)}function w(e){i.disable||(u(`update:selected`,!i.selected),u(`click`,e))}function T(e){(e.keyCode===void 0||e.keyCode===13)&&(r(e),i.disable===!1&&(u(`update:modelValue`,!1),u(`remove`)))}function E(){let t=[];y.value===!0&&t.push(e(`div`,{class:`q-focus-helper`})),g.value===!0&&t.push(e(d,{class:`q-chip__icon q-chip__icon--left`,name:_.value}));let n=i.label===void 0?void 0:[e(`div`,{class:`ellipsis`},[i.label])];return t.push(e(`div`,{class:`q-chip__content col row no-wrap items-center q-anchor--skip`},c(l.default,n))),i.iconRight&&t.push(e(d,{class:`q-chip__icon q-chip__icon--right`,name:i.iconRight})),i.removable===!0&&t.push(e(d,{class:`q-chip__icon q-chip__icon--remove cursor-pointer`,name:v.value,...x.value.remove,onClick:T,onKeyup:T})),t}return()=>{if(i.modelValue===!1)return;let e={class:b.value,style:h.value};return y.value===!0&&Object.assign(e,x.value.chip,{onClick:w,onKeyup:S}),o(`div`,e,E(),`ripple`,i.ripple!==!1&&i.disable!==!0,()=>[[f,i.ripple]])}}});export{_ as a,p as c,v as i,g as n,m as o,h as r,S as s,w as t};
|
package/src/client/dist/spa/assets/{QExpansionItem-Fij7yBbG.js → QExpansionItem-DQ66zLAu.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$ as e,H as t,Q as n,S as r,W as i,k as a,l as o,y as s}from"./runtime-core.esm-bundler-9Z0QAO_7.js";import{N as c,P as l,V as u,n as d,r as f,s as p,t as m}from"./QIcon-qfJNZLIW.js";import{n as h,r as g,t as _}from"./use-id-_7wiRcgb.js";import{A as v,M as y,j as b}from"./notifications-
|
|
1
|
+
import{$ as e,H as t,Q as n,S as r,W as i,k as a,l as o,y as s}from"./runtime-core.esm-bundler-9Z0QAO_7.js";import{N as c,P as l,V as u,n as d,r as f,s as p,t as m}from"./QIcon-qfJNZLIW.js";import{n as h,r as g,t as _}from"./use-id-_7wiRcgb.js";import{A as v,M as y,j as b}from"./notifications-C4jB7A2f.js";import{a as x}from"./QBtn-CaJSOyt8.js";import{n as S,t as C}from"./QItemSection-Bz1ZDJO5.js";import{t as w}from"./QItemLabel-CHkgkZVj.js";import{m as T}from"./QTooltip-CTNw68oZ.js";var E=e({}),D=Object.keys(x),O=l({name:`QExpansionItem`,props:{...x,...y,...f,icon:String,label:String,labelLines:[Number,String],caption:String,captionLines:[Number,String],dense:Boolean,toggleAriaLabel:String,expandIcon:String,expandedIcon:String,expandIconClass:[Array,String,Object],duration:{},headerInsetLevel:Number,contentInsetLevel:Number,expandSeparator:Boolean,defaultOpened:Boolean,hideExpandIcon:Boolean,expandIconToggle:Boolean,switchToggleSide:Boolean,denseToggle:Boolean,group:String,popup:Boolean,headerStyle:[Array,String,Object],headerClass:[Array,String,Object]},emits:[...b,`click`,`afterShow`,`afterHide`],setup(e,{slots:l,emit:f}){let{proxy:{$q:y}}=s(),b=d(e,y),x=n(e.modelValue===null?e.defaultOpened:e.modelValue),O=n(null),k=_(),{show:A,hide:j,toggle:M}=v({showing:x}),N,P,F=o(()=>`q-expansion-item q-item-type q-expansion-item--${x.value===!0?`expanded`:`collapsed`} q-expansion-item--${e.popup===!0?`popup`:`standard`}`),I=o(()=>e.contentInsetLevel===void 0?null:{[`padding`+(y.lang.rtl===!0?`Right`:`Left`)]:e.contentInsetLevel*56+`px`}),L=o(()=>e.disable!==!0&&(e.href!==void 0||e.to!==void 0&&e.to!==null&&e.to!==``)),R=o(()=>{let t={};return D.forEach(n=>{t[n]=e[n]}),t}),z=o(()=>L.value===!0||e.expandIconToggle!==!0),B=o(()=>e.expandedIcon!==void 0&&x.value===!0?e.expandedIcon:e.expandIcon||y.iconSet.expansionItem[e.denseToggle===!0?`denseIcon`:`icon`]),V=o(()=>e.disable!==!0&&(L.value===!0||e.expandIconToggle===!0)),H=o(()=>({expanded:x.value===!0,detailsId:k.value,toggle:M,show:A,hide:j})),U=o(()=>{let t=e.toggleAriaLabel===void 0?y.lang.label[x.value===!0?`collapse`:`expand`](e.label):e.toggleAriaLabel;return{role:`button`,"aria-expanded":x.value===!0?`true`:`false`,"aria-controls":k.value,"aria-label":t}});t(()=>e.group,e=>{P?.(),e!==void 0&&Y()});function W(e){L.value!==!0&&M(e),f(`click`,e)}function G(e){e.keyCode===13&&K(e,!0)}function K(e,t){t!==!0&&e.qAvoidFocus!==!0&&O.value?.focus(),M(e),c(e)}function q(){f(`afterShow`)}function J(){f(`afterHide`)}function Y(){N===void 0&&(N=h()),x.value===!0&&(E[e.group]=N);let n=t(x,t=>{t===!0?E[e.group]=N:E[e.group]===N&&delete E[e.group]}),r=t(()=>E[e.group],(e,t)=>{t===N&&e!==void 0&&e!==N&&j()});P=()=>{n(),r(),E[e.group]===N&&delete E[e.group],P=void 0}}function X(){let t={class:[`q-focusable relative-position cursor-pointer${e.denseToggle===!0&&e.switchToggleSide===!0?` items-end`:``}`,e.expandIconClass],side:e.switchToggleSide!==!0,avatar:e.switchToggleSide},n=[r(m,{class:`q-expansion-item__toggle-icon`+(e.expandedIcon===void 0&&x.value===!0?` q-expansion-item__toggle-icon--rotated`:``),name:B.value})];return V.value===!0&&(Object.assign(t,{tabindex:0,...U.value,onClick:K,onKeyup:G}),n.unshift(r(`div`,{ref:O,class:`q-expansion-item__toggle-focus q-icon q-focus-helper q-focus-helper--rounded`,tabindex:-1}))),r(C,t,()=>n)}function Z(){let t;return l.header===void 0?(t=[r(C,()=>[r(w,{lines:e.labelLines},()=>e.label||``),e.caption?r(w,{lines:e.captionLines,caption:!0},()=>e.caption):null])],e.icon&&t[e.switchToggleSide===!0?`push`:`unshift`](r(C,{side:e.switchToggleSide===!0,avatar:e.switchToggleSide!==!0},()=>r(m,{name:e.icon})))):t=[].concat(l.header(H.value)),e.disable!==!0&&e.hideExpandIcon!==!0&&t[e.switchToggleSide===!0?`unshift`:`push`](X()),t}function Q(){let t={ref:`item`,style:e.headerStyle,class:e.headerClass,dark:b.value,disable:e.disable,dense:e.dense,insetLevel:e.headerInsetLevel};return z.value===!0&&(t.clickable=!0,t.onClick=W,Object.assign(t,L.value===!0?R.value:U.value)),r(S,t,Z)}function $(){return i(r(`div`,{key:`e-content`,class:`q-expansion-item__content relative-position`,style:I.value,id:k.value},p(l.default)),[[u,x.value]])}function ee(){let t=[Q(),r(T,{duration:e.duration,onShow:q,onHide:J},$)];return e.expandSeparator===!0&&t.push(r(g,{class:`q-expansion-item__border q-expansion-item__border--top absolute-top`,dark:b.value}),r(g,{class:`q-expansion-item__border q-expansion-item__border--bottom absolute-bottom`,dark:b.value})),t}return e.group!==void 0&&Y(),a(()=>{P?.()}),()=>r(`div`,{class:F.value},[r(`div`,{class:`q-expansion-item__container relative-position`},ee())])}});export{O as t};
|