@loicngr/kobo 1.6.2 → 1.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/dist/mcp-server/kobo-tasks-handlers.js +145 -0
  2. package/dist/mcp-server/kobo-tasks-server.js +144 -54
  3. package/dist/server/services/agent/engines/claude-code/args-builder.js +21 -0
  4. package/package.json +1 -1
  5. package/src/client/dist/spa/assets/ActivityFeed-BCPHgr3p.css +1 -0
  6. package/src/client/dist/spa/assets/ActivityFeed-DPg8lZZP.js +7 -0
  7. package/src/client/dist/spa/assets/{CreatePage-sGrkfyOm.js → CreatePage-C2mUAcwE.js} +1 -1
  8. package/src/client/dist/spa/assets/{DiffViewer-BwSRtVRI.js → DiffViewer-DdLwXeB3.js} +2 -2
  9. package/src/client/dist/spa/assets/{HealthPage-BO-bMpEu.js → HealthPage-CJDF2_4D.js} +1 -1
  10. package/src/client/dist/spa/assets/{MainLayout-BpqOChIX.js → MainLayout-K2u9uIOb.js} +2 -2
  11. package/src/client/dist/spa/assets/{SearchPage-BrUbbtgI.js → SearchPage-Drjd-r_Y.js} +1 -1
  12. package/src/client/dist/spa/assets/{SettingsPage-B3elO1PX.js → SettingsPage-DvqT-ViK.js} +1 -1
  13. package/src/client/dist/spa/assets/{WorkspacePage-BHl17_tY.js → WorkspacePage-Bk_SslTv.js} +3 -3
  14. package/src/client/dist/spa/assets/{build-path-tree-Bgl2q74t.js → build-path-tree-BE2FoPWg.js} +1 -1
  15. package/src/client/dist/spa/assets/{cssMode-B1wQ-79R.js → cssMode-0GRgcPCL.js} +1 -1
  16. package/src/client/dist/spa/assets/{documents-CHc8t22V.js → documents-BJW_8dHZ.js} +1 -1
  17. package/src/client/dist/spa/assets/{editor.api-CRb_5Zw6.js → editor.api-C1-xuJKd.js} +1 -1
  18. package/src/client/dist/spa/assets/{editor.main-C5sdCvGW.js → editor.main-C2QDgca3.js} +3 -3
  19. package/src/client/dist/spa/assets/{freemarker2-CVSnsZk-.js → freemarker2-Dgc_0Q23.js} +1 -1
  20. package/src/client/dist/spa/assets/{handlebars-uL_pucGI.js → handlebars-DkfsYZsi.js} +1 -1
  21. package/src/client/dist/spa/assets/{html-CatZVwWp.js → html-CbSyHFvE.js} +1 -1
  22. package/src/client/dist/spa/assets/{htmlMode-DTDzEngo.js → htmlMode-BKR6h-2d.js} +1 -1
  23. package/src/client/dist/spa/assets/i18n-C03q300x.js +1 -0
  24. package/src/client/dist/spa/assets/{index-CUI-zN26.js → index-9vZWx9Bu.js} +2 -2
  25. package/src/client/dist/spa/assets/{javascript-DeHBpolA.js → javascript-QJqA2E1u.js} +1 -1
  26. package/src/client/dist/spa/assets/{jsonMode-Bma_YGGm.js → jsonMode-D8CXYQiy.js} +1 -1
  27. package/src/client/dist/spa/assets/{liquid-CW7xQEG_.js → liquid-DLssQpNB.js} +1 -1
  28. package/src/client/dist/spa/assets/{mdx-BsYUhMzF.js → mdx-4u6l2_x4.js} +1 -1
  29. package/src/client/dist/spa/assets/{models-BbSRHL9b.js → models-BtywKe_m.js} +1 -1
  30. package/src/client/dist/spa/assets/{monaco.contribution-Du0atePv.js → monaco.contribution-DFCuvXsm.js} +2 -2
  31. package/src/client/dist/spa/assets/{python-D7DQWXZm.js → python-BFIl5AC4.js} +1 -1
  32. package/src/client/dist/spa/assets/{razor-B2ZxF301.js → razor-BrKtxN6e.js} +1 -1
  33. package/src/client/dist/spa/assets/{tsMode-B4Xul5xA.js → tsMode-B7FS-eG8.js} +1 -1
  34. package/src/client/dist/spa/assets/{typescript-CdsKQuLT.js → typescript-CpUDqcsF.js} +1 -1
  35. package/src/client/dist/spa/assets/{xml-Wap00dMv.js → xml-_L0I3U6m.js} +1 -1
  36. package/src/client/dist/spa/assets/{yaml-BxRDHC24.js → yaml-CY3U_Y-0.js} +1 -1
  37. package/src/client/dist/spa/index.html +1 -1
  38. package/src/mcp-server/kobo-tasks-handlers.ts +191 -0
  39. package/src/mcp-server/kobo-tasks-server.ts +158 -53
  40. package/src/client/dist/spa/assets/ActivityFeed-CFuT6H5u.js +0 -7
  41. package/src/client/dist/spa/assets/ActivityFeed-DXYafbn4.css +0 -1
  42. package/src/client/dist/spa/assets/i18n-D-VdPLEh.js +0 -1
@@ -1,2 +1,2 @@
1
- import{F as e,H as t,L as n,M as r,N as i,Q as a,T as ee,U as o,bt as s,d as c,f as l,g as u,h as d,l as f,p,r as m,rt as te,u as h,v as ne,vt as re,x as ie}from"./runtime-core.esm-bundler-C3IgBgY5.js";import{I as g,L as _,M as ae,t as v}from"./QIcon-B0-pH3Qs.js";import{t as y}from"./QSeparator-rkjCbX2M.js";import{t as b}from"./QBtn-CyzfM9-_.js";import{n as oe}from"./vue-i18n-CeG0hR0Z.js";import{g as se,i as x,m as ce,v as le,x as ue}from"./index-CUI-zN26.js";import{n as S,t as C}from"./QItemSection-CGpX7GcL.js";import{t as w}from"./QItemLabel-Codqjisk.js";import{t as de}from"./QExpansionItem-DCRks-Ra.js";import{t as fe}from"./_plugin-vue_export-helper-r4mAJOHR.js";import{t as pe}from"./QSpace-BNr0AftG.js";import{t as T}from"./QTooltip-C4CPesBX.js";import{t as me}from"./use-quasar-Ch82z8H5.js";import{n as E,t as he}from"./models-BbSRHL9b.js";import{t as ge}from"./QPage-yqdKDG7-.js";var _e={class:`create-inner`},ve={class:`create-title text-center text-weight-bold q-mb-lg text-grey-3`},ye={class:`create-card rounded-borders`},be={class:`card-top-bar row items-center q-px-md q-py-xs`},xe={class:`model-badge cursor-default row items-center q-gutter-xs`},Se={class:`text-indigo-3 text-weight-medium text-caption`},Ce={key:0,class:`notion-url-wrap`},we={key:0,class:`notion-error text-caption q-px-md q-pb-xs text-red-5`},Te={key:1,class:`notion-valid text-caption q-px-md q-pb-xs text-green-4`},Ee={key:0,class:`sentry-url-wrap`},De={key:0,class:`sentry-error text-caption q-px-md q-pb-xs text-red-5`},Oe={key:1,class:`sentry-valid text-caption q-px-md q-pb-xs text-red-4`},ke={class:`card-name-wrap`},Ae={class:`card-textarea-wrap`},je={class:`manual-hint q-px-md q-py-sm text-caption text-grey-6`},Me={class:`q-pa-sm manual-section-body`},Ne={class:`row items-center q-gutter-sm q-mb-sm`},Pe={class:`col text-caption text-grey-4`},Fe={class:`q-pa-sm manual-section-body`},Ie={class:`row items-center q-gutter-sm q-mb-sm`},Le={class:`col text-caption text-grey-4`},Re={class:`card-bottom-bar`},ze={class:`bottom-row bottom-row-agent row items-center q-gutter-xs q-px-sm q-py-xs`},Be={class:`bottom-select-label row items-center no-wrap`},Ve={class:`bottom-select-label row items-center no-wrap`},He={class:`bottom-select-label row items-center no-wrap`},Ue={class:`bottom-select-label row items-center no-wrap`},We={class:`bottom-row bottom-row-git row items-center q-gutter-xs q-px-sm q-py-xs`},Ge={class:`bottom-select-label row items-center no-wrap`},Ke={class:`bottom-select-label row items-center no-wrap`},qe={class:`row justify-center q-px-sm q-py-sm`},Je={class:`create-hint text-center text-body2 q-mt-md text-grey-8`},Ye=fe(ne({__name:`CreatePage`,setup(ne){let fe=ce(),Ye=me(),Xe=le(),D=ue(),{t:O}=oe(),Ze=a([]),k=a(``),A=a(``),j=a(``),M=a(!1),N=a(`claude-opus-4-7`),P=a(`auto`),F=a(``),I=a(null),L=a(`feature`),R=a(!1),Qe=a([]),z=a(`claude-code`),$e=f(()=>Qe.value.find(e=>e.id===z.value)),et=f(()=>Qe.value.map(e=>({value:e.id,label:e.displayName}))),tt=f(()=>($e.value?.capabilities.permissionModes??[`auto-accept`,`plan`]).map(e=>({value:e,label:O(`engine.permission.${e}`)}))),nt=[{label:`feature/`,value:`feature`},{label:`fix/`,value:`fix`},{label:`hotfix/`,value:`hotfix`},{label:`chore/`,value:`chore`},{label:`refactor/`,value:`refactor`},{label:`docs/`,value:`docs`},{label:`test/`,value:`test`}],B=a(D.global.defaultPermissionMode||`plan`),V=a([]),H=a(!1),U=a(!1),rt=f(()=>he.map(e=>({label:O(e.i18nLabelKey),value:e.value,description:O(e.i18nDescriptionKey)})));function W(e){let t=e.indexOf(`:`);return t>=0?e.slice(t+1).trim():e}let it=f(()=>[{label:W(O(`reasoning.auto`)),value:`auto`,description:O(`reasoning.autoDescription`)},{label:W(O(`reasoning.low`)),value:`low`,description:O(`reasoning.lowDescription`)},{label:W(O(`reasoning.medium`)),value:`medium`,description:O(`reasoning.mediumDescription`)},{label:W(O(`reasoning.high`)),value:`high`,description:O(`reasoning.highDescription`)},{label:W(O(`reasoning.xhigh`)),value:`xhigh`,description:O(`reasoning.xhighDescription`)},{label:W(O(`reasoning.max`)),value:`max`,description:O(`reasoning.maxDescription`)}]),G=f(()=>j.value.trim().startsWith(`https://www.notion.so/`)),K=a([]),q=a([]),J=a(``),Y=a(``),at=f(()=>!M.value||!G.value);function ot(){let e=J.value.trim();e&&(K.value.push(e),J.value=``)}function st(e){K.value.splice(e,1)}function ct(){let e=Y.value.trim();e&&(q.value.push(e),Y.value=``)}function lt(e){q.value.splice(e,1)}function ut(){M.value=!M.value,M.value||(j.value=``)}let X=a(!1),Z=a(``),Q=f(()=>/\/issues\/\d+/.test(Z.value.trim()));function dt(){X.value=!X.value,X.value||(Z.value=``)}async function ft(e){if(!e.trim()){V.value=[],I.value=null;return}H.value=!0;try{let t=await fetch(`/api/git/branches?path=${encodeURIComponent(e.trim())}`);if(!t.ok)throw Error(`HTTP ${t.status}`);let n=await t.json();V.value=n.local??n.branches??[],V.value.length>0&&!I.value&&(I.value=V.value[0]??null)}catch{V.value=[],I.value=null}finally{H.value=!1}}function pt(e){let t=D.getProjectByPath(e);t&&(t.defaultSourceBranch&&(I.value=t.defaultSourceBranch),t.defaultModel?N.value=t.defaultModel:D.global.defaultModel&&(N.value=D.global.defaultModel))}let $=null;t(F,e=>{$&&clearTimeout($),$=setTimeout(()=>{I.value=null,ft(e),pt(e)},500)});function mt(e,t){t(()=>{Ze.value=D.projectPaths.filter(t=>t.toLowerCase().includes(e.toLowerCase()))})}r(async()=>{D.fetchSettings();try{let e=await fetch(`/api/engines`);e.ok&&(Qe.value=await e.json())}catch{}}),i(()=>{$&&clearTimeout($)});function ht(e){return e.normalize(`NFD`).replace(/[\u0300-\u036f]/g,``).toLowerCase().replace(/[^a-z0-9\s-]/g,``).trim().replace(/\s+/g,`-`).replace(/-+/g,`-`).substring(0,50)}function gt(){return k.value.trim()?k.value.trim().substring(0,80):!M.value&&A.value.trim()&&(A.value.trim().split(`
1
+ import{F as e,H as t,L as n,M as r,N as i,Q as a,T as ee,U as o,bt as s,d as c,f as l,g as u,h as d,l as f,p,r as m,rt as te,u as h,v as ne,vt as re,x as ie}from"./runtime-core.esm-bundler-C3IgBgY5.js";import{I as g,L as _,M as ae,t as v}from"./QIcon-B0-pH3Qs.js";import{t as y}from"./QSeparator-rkjCbX2M.js";import{t as b}from"./QBtn-CyzfM9-_.js";import{n as oe}from"./vue-i18n-CeG0hR0Z.js";import{g as se,i as x,m as ce,v as le,x as ue}from"./index-9vZWx9Bu.js";import{n as S,t as C}from"./QItemSection-CGpX7GcL.js";import{t as w}from"./QItemLabel-Codqjisk.js";import{t as de}from"./QExpansionItem-DCRks-Ra.js";import{t as fe}from"./_plugin-vue_export-helper-r4mAJOHR.js";import{t as pe}from"./QSpace-BNr0AftG.js";import{t as T}from"./QTooltip-C4CPesBX.js";import{t as me}from"./use-quasar-Ch82z8H5.js";import{n as E,t as he}from"./models-BtywKe_m.js";import{t as ge}from"./QPage-yqdKDG7-.js";var _e={class:`create-inner`},ve={class:`create-title text-center text-weight-bold q-mb-lg text-grey-3`},ye={class:`create-card rounded-borders`},be={class:`card-top-bar row items-center q-px-md q-py-xs`},xe={class:`model-badge cursor-default row items-center q-gutter-xs`},Se={class:`text-indigo-3 text-weight-medium text-caption`},Ce={key:0,class:`notion-url-wrap`},we={key:0,class:`notion-error text-caption q-px-md q-pb-xs text-red-5`},Te={key:1,class:`notion-valid text-caption q-px-md q-pb-xs text-green-4`},Ee={key:0,class:`sentry-url-wrap`},De={key:0,class:`sentry-error text-caption q-px-md q-pb-xs text-red-5`},Oe={key:1,class:`sentry-valid text-caption q-px-md q-pb-xs text-red-4`},ke={class:`card-name-wrap`},Ae={class:`card-textarea-wrap`},je={class:`manual-hint q-px-md q-py-sm text-caption text-grey-6`},Me={class:`q-pa-sm manual-section-body`},Ne={class:`row items-center q-gutter-sm q-mb-sm`},Pe={class:`col text-caption text-grey-4`},Fe={class:`q-pa-sm manual-section-body`},Ie={class:`row items-center q-gutter-sm q-mb-sm`},Le={class:`col text-caption text-grey-4`},Re={class:`card-bottom-bar`},ze={class:`bottom-row bottom-row-agent row items-center q-gutter-xs q-px-sm q-py-xs`},Be={class:`bottom-select-label row items-center no-wrap`},Ve={class:`bottom-select-label row items-center no-wrap`},He={class:`bottom-select-label row items-center no-wrap`},Ue={class:`bottom-select-label row items-center no-wrap`},We={class:`bottom-row bottom-row-git row items-center q-gutter-xs q-px-sm q-py-xs`},Ge={class:`bottom-select-label row items-center no-wrap`},Ke={class:`bottom-select-label row items-center no-wrap`},qe={class:`row justify-center q-px-sm q-py-sm`},Je={class:`create-hint text-center text-body2 q-mt-md text-grey-8`},Ye=fe(ne({__name:`CreatePage`,setup(ne){let fe=ce(),Ye=me(),Xe=le(),D=ue(),{t:O}=oe(),Ze=a([]),k=a(``),A=a(``),j=a(``),M=a(!1),N=a(`claude-opus-4-7`),P=a(`auto`),F=a(``),I=a(null),L=a(`feature`),R=a(!1),Qe=a([]),z=a(`claude-code`),$e=f(()=>Qe.value.find(e=>e.id===z.value)),et=f(()=>Qe.value.map(e=>({value:e.id,label:e.displayName}))),tt=f(()=>($e.value?.capabilities.permissionModes??[`auto-accept`,`plan`]).map(e=>({value:e,label:O(`engine.permission.${e}`)}))),nt=[{label:`feature/`,value:`feature`},{label:`fix/`,value:`fix`},{label:`hotfix/`,value:`hotfix`},{label:`chore/`,value:`chore`},{label:`refactor/`,value:`refactor`},{label:`docs/`,value:`docs`},{label:`test/`,value:`test`}],B=a(D.global.defaultPermissionMode||`plan`),V=a([]),H=a(!1),U=a(!1),rt=f(()=>he.map(e=>({label:O(e.i18nLabelKey),value:e.value,description:O(e.i18nDescriptionKey)})));function W(e){let t=e.indexOf(`:`);return t>=0?e.slice(t+1).trim():e}let it=f(()=>[{label:W(O(`reasoning.auto`)),value:`auto`,description:O(`reasoning.autoDescription`)},{label:W(O(`reasoning.low`)),value:`low`,description:O(`reasoning.lowDescription`)},{label:W(O(`reasoning.medium`)),value:`medium`,description:O(`reasoning.mediumDescription`)},{label:W(O(`reasoning.high`)),value:`high`,description:O(`reasoning.highDescription`)},{label:W(O(`reasoning.xhigh`)),value:`xhigh`,description:O(`reasoning.xhighDescription`)},{label:W(O(`reasoning.max`)),value:`max`,description:O(`reasoning.maxDescription`)}]),G=f(()=>j.value.trim().startsWith(`https://www.notion.so/`)),K=a([]),q=a([]),J=a(``),Y=a(``),at=f(()=>!M.value||!G.value);function ot(){let e=J.value.trim();e&&(K.value.push(e),J.value=``)}function st(e){K.value.splice(e,1)}function ct(){let e=Y.value.trim();e&&(q.value.push(e),Y.value=``)}function lt(e){q.value.splice(e,1)}function ut(){M.value=!M.value,M.value||(j.value=``)}let X=a(!1),Z=a(``),Q=f(()=>/\/issues\/\d+/.test(Z.value.trim()));function dt(){X.value=!X.value,X.value||(Z.value=``)}async function ft(e){if(!e.trim()){V.value=[],I.value=null;return}H.value=!0;try{let t=await fetch(`/api/git/branches?path=${encodeURIComponent(e.trim())}`);if(!t.ok)throw Error(`HTTP ${t.status}`);let n=await t.json();V.value=n.local??n.branches??[],V.value.length>0&&!I.value&&(I.value=V.value[0]??null)}catch{V.value=[],I.value=null}finally{H.value=!1}}function pt(e){let t=D.getProjectByPath(e);t&&(t.defaultSourceBranch&&(I.value=t.defaultSourceBranch),t.defaultModel?N.value=t.defaultModel:D.global.defaultModel&&(N.value=D.global.defaultModel))}let $=null;t(F,e=>{$&&clearTimeout($),$=setTimeout(()=>{I.value=null,ft(e),pt(e)},500)});function mt(e,t){t(()=>{Ze.value=D.projectPaths.filter(t=>t.toLowerCase().includes(e.toLowerCase()))})}r(async()=>{D.fetchSettings();try{let e=await fetch(`/api/engines`);e.ok&&(Qe.value=await e.json())}catch{}}),i(()=>{$&&clearTimeout($)});function ht(e){return e.normalize(`NFD`).replace(/[\u0300-\u036f]/g,``).toLowerCase().replace(/[^a-z0-9\s-]/g,``).trim().replace(/\s+/g,`-`).replace(/-+/g,`-`).substring(0,50)}function gt(){return k.value.trim()?k.value.trim().substring(0,80):!M.value&&A.value.trim()&&(A.value.trim().split(`
2
2
  `)[0]??``).substring(0,80)||`workspace`}function _t(e){let t=(e.split(`/`).pop()??``).split(`-`);t.length>1&&/^[0-9a-f]{12,}$/i.test(t[t.length-1])&&t.pop();let n=t.join(`-`).toLowerCase(),r=n.match(/tk-(\d+)/);if(r){let e=`TK-${r[1]}`,t=n.replace(/tk-\d+/i,``).replace(/-+/g,`-`).replace(/^-|-$/g,``).substring(0,40);return t?`${e}--${t}`:e}return n.substring(0,50)||`task-${Date.now()}`}function vt(){return M.value&&!G.value?O(`createPage.validationNotionUrl`):X.value&&!Q.value?O(`createPage.sentryValidation`):!M.value&&!X.value&&!A.value.trim()?O(`createPage.validationDescription`):!M.value&&!X.value&&(!gt()||gt()===`workspace`)&&!k.value.trim()&&!A.value.trim()?O(`createPage.validationName`):F.value.trim()?I.value?null:O(`createPage.validationBranch`):O(`createPage.validationPath`)}async function yt(){let e=vt();if(e){Ye.notify({type:`negative`,message:e,position:`top`});return}U.value=!0;try{let e=gt(),t;t=M.value&&G.value?_t(j.value.trim()):e===`workspace`?`task-${Date.now()}`:ht(e);let n=`${L.value}/${t}`,r={name:e,projectPath:F.value.trim(),sourceBranch:I.value,workingBranch:n,engine:z.value,model:N.value,reasoningEffort:P.value,...M.value&&G.value?{notionUrl:j.value.trim()}:{},...X.value&&Q.value?{sentryUrl:Z.value.trim()}:{},...at.value&&K.value.length>0?{tasks:K.value}:{},...at.value&&q.value.length>0?{acceptanceCriteria:q.value}:{},...R.value?{skipSetupScript:!0}:{},...A.value.trim()?{description:A.value.trim()}:{},permissionMode:B.value},i=await Xe.createWorkspace(r);se().subscribe(i.id),Xe.selectWorkspace(i.id),fe.push({name:`workspace`,params:{id:i.id}})}catch{Ye.notify({type:`negative`,message:O(`createPage.errorCreating`),position:`top`})}finally{U.value=!1}}return(t,r)=>(e(),c(ge,{class:`create-page flex flex-center column`},{default:o(()=>[h(`div`,_e,[h(`div`,ve,s(t.$t(`createPage.title`)),1),h(`div`,ye,[h(`div`,be,[h(`span`,xe,[u(v,{name:`auto_awesome`,size:`14px`,color:`indigo-4`}),h(`span`,Se,s($e.value?.displayName??t.$t(`createPage.claudeCode`)),1)]),u(pe),u(b,{flat:``,dense:``,"no-caps":``,size:`sm`,color:M.value?`green-4`:`grey-5`,class:`notion-toggle-btn text-caption rounded-borders`,onClick:ut},{default:o(()=>[u(v,{name:`description`,size:`14px`,class:`q-mr-xs`}),d(` `+s(M.value?t.$t(`createPage.notionEnabled`):t.$t(`createPage.importNotion`)),1)]),_:1},8,[`color`]),u(b,{flat:``,dense:``,"no-caps":``,size:`sm`,color:X.value?`red-4`:`grey-5`,class:`sentry-toggle-btn text-caption rounded-borders q-ml-sm`,onClick:dt},{default:o(()=>[u(v,{name:`bug_report`,size:`14px`,class:`q-mr-xs`}),d(` `+s(X.value?t.$t(`createPage.sentryEnabled`):t.$t(`createPage.importSentry`)),1)]),_:1},8,[`color`])]),u(y,{color:`grey-9`}),u(ae,{name:`slide`},{default:o(()=>[M.value?(e(),p(`div`,Ce,[u(x,{modelValue:j.value,"onUpdate:modelValue":r[0]||=e=>j.value=e,borderless:``,dense:``,placeholder:t.$t(`createPage.notionPlaceholder`),class:`notion-url-input`,"input-class":`notion-url-input-inner`},{prepend:o(()=>[u(v,{name:`link`,size:`16px`,color:G.value?`green-4`:`grey-6`},null,8,[`color`])]),_:1},8,[`modelValue`,`placeholder`]),j.value.trim()&&!G.value?(e(),p(`div`,we,s(t.$t(`createPage.notionValidation`)),1)):l(``,!0),G.value?(e(),p(`div`,Te,s(t.$t(`createPage.notionAutoExtract`)),1)):l(``,!0)])):l(``,!0)]),_:1}),M.value?(e(),c(y,{key:0,color:`grey-9`})):l(``,!0),u(ae,{name:`slide`},{default:o(()=>[X.value?(e(),p(`div`,Ee,[u(x,{modelValue:Z.value,"onUpdate:modelValue":r[1]||=e=>Z.value=e,borderless:``,dense:``,placeholder:t.$t(`createPage.sentryPlaceholder`),class:`sentry-url-input`,"input-class":`sentry-url-input-inner`},{prepend:o(()=>[u(v,{name:`link`,size:`16px`,color:Q.value?`red-4`:`grey-6`},null,8,[`color`])]),_:1},8,[`modelValue`,`placeholder`]),Z.value.trim()&&!Q.value?(e(),p(`div`,De,s(t.$t(`createPage.sentryValidation`)),1)):l(``,!0),Q.value?(e(),p(`div`,Oe,s(t.$t(`createPage.sentryAutoExtract`)),1)):l(``,!0)])):l(``,!0)]),_:1}),X.value?(e(),c(y,{key:1,color:`grey-9`})):l(``,!0),h(`div`,ke,[u(x,{modelValue:k.value,"onUpdate:modelValue":r[2]||=e=>k.value=e,borderless:``,dense:``,placeholder:M.value&&G.value?t.$t(`createPage.workspaceName`):t.$t(`createPage.workspaceNamePlaceholder`),class:`name-input`,"input-class":`name-input-inner`},null,8,[`modelValue`,`placeholder`])]),u(y,{color:`grey-9`}),h(`div`,Ae,[u(x,{modelValue:A.value,"onUpdate:modelValue":r[3]||=e=>A.value=e,type:`textarea`,borderless:``,autogrow:``,rows:3,placeholder:M.value?t.$t(`createPage.instructions`):t.$t(`createPage.instructionsPlaceholder`),class:`create-textarea`,"input-class":`create-textarea-input`,onKeydown:[g(_(yt,[`ctrl`]),[`enter`]),g(_(yt,[`meta`]),[`enter`])]},null,8,[`modelValue`,`placeholder`,`onKeydown`])]),u(y,{color:`grey-9`}),at.value?(e(),p(m,{key:2},[h(`div`,je,s(t.$t(`createPage.manualHint`)),1),u(de,{dark:``,dense:``,label:t.$t(`createPage.tasks`,{count:K.value.length}),"header-class":`text-grey-4 manual-expansion-header`,class:`manual-expansion q-mx-sm`},{default:o(()=>[h(`div`,Me,[h(`div`,Ne,[u(x,{modelValue:J.value,"onUpdate:modelValue":r[4]||=e=>J.value=e,dark:``,dense:``,borderless:``,placeholder:t.$t(`createPage.addTask`),class:`col manual-input`,"input-class":`manual-input-inner`,onKeydown:g(_(ot,[`prevent`]),[`enter`])},null,8,[`modelValue`,`placeholder`,`onKeydown`]),u(b,{flat:``,dense:``,round:``,icon:`add`,color:`indigo-4`,disable:!J.value.trim(),onClick:ot},{default:o(()=>[u(T,null,{default:o(()=>[d(s(t.$t(`tooltip.addTask`)),1)]),_:1})]),_:1},8,[`disable`])]),(e(!0),p(m,null,n(K.value,(n,r)=>(e(),p(`div`,{key:`task-${r}`,class:`row items-center q-py-xs manual-item`},[h(`span`,Pe,s(n),1),u(b,{flat:``,dense:``,round:``,icon:`close`,size:`xs`,color:`grey-6`,onClick:e=>st(r)},{default:o(()=>[u(T,null,{default:o(()=>[d(s(t.$t(`tooltip.removeTask`)),1)]),_:1})]),_:1},8,[`onClick`])]))),128))])]),_:1},8,[`label`]),u(de,{dark:``,dense:``,label:t.$t(`createPage.acceptanceCriteria`,{count:q.value.length}),"header-class":`text-grey-4 manual-expansion-header`,class:`manual-expansion q-mx-sm q-mb-sm`},{default:o(()=>[h(`div`,Fe,[h(`div`,Ie,[u(x,{modelValue:Y.value,"onUpdate:modelValue":r[5]||=e=>Y.value=e,dark:``,dense:``,borderless:``,placeholder:t.$t(`createPage.addCriterion`),class:`col manual-input`,"input-class":`manual-input-inner`,onKeydown:g(_(ct,[`prevent`]),[`enter`])},null,8,[`modelValue`,`placeholder`,`onKeydown`]),u(b,{flat:``,dense:``,round:``,icon:`add`,color:`indigo-4`,disable:!Y.value.trim(),onClick:ct},{default:o(()=>[u(T,null,{default:o(()=>[d(s(t.$t(`tooltip.addCriterion`)),1)]),_:1})]),_:1},8,[`disable`])]),(e(!0),p(m,null,n(q.value,(n,r)=>(e(),p(`div`,{key:`crit-${r}`,class:`row items-center q-py-xs manual-item`},[h(`span`,Le,s(n),1),u(b,{flat:``,dense:``,round:``,icon:`close`,size:`xs`,color:`grey-6`,onClick:e=>lt(r)},{default:o(()=>[u(T,null,{default:o(()=>[d(s(t.$t(`tooltip.removeCriterion`)),1)]),_:1})]),_:1},8,[`onClick`])]))),128))])]),_:1},8,[`label`]),u(y,{color:`grey-9`})],64)):l(``,!0),h(`div`,Re,[h(`div`,ze,[et.value.length>0?(e(),c(E,{key:0,modelValue:z.value,"onUpdate:modelValue":r[6]||=e=>z.value=e,options:et.value,dense:``,borderless:``,class:`bottom-select rounded-borders`,"hide-dropdown-icon":``,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`},{selected:o(()=>[h(`span`,Be,[u(v,{name:`hub`,size:`12px`,color:`grey-5`,class:`q-mr-xs`}),d(` `+s(et.value.find(e=>e.value===z.value)?.label??z.value)+` `,1),u(v,{name:`expand_more`,size:`12px`,color:`grey-5`})])]),default:o(()=>[u(T,null,{default:o(()=>[d(s(t.$t(`engine.select`)),1)]),_:1})]),_:1},8,[`modelValue`,`options`])):l(``,!0),u(E,{modelValue:N.value,"onUpdate:modelValue":r[7]||=e=>N.value=e,options:rt.value,dense:``,borderless:``,class:`bottom-select rounded-borders model-select`,"hide-dropdown-icon":``,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`},{selected:o(()=>[h(`span`,Ve,[d(s(rt.value.find(e=>e.value===N.value)?.label??N.value)+` `,1),u(v,{name:`expand_more`,size:`12px`,color:`grey-5`})])]),option:o(({opt:e,itemProps:t})=>[u(S,ee(t,{class:`model-option`}),{default:o(()=>[u(C,null,{default:o(()=>[u(w,{class:`text-white`},{default:o(()=>[d(s(e.label),1)]),_:2},1024),u(w,{caption:``,class:`text-grey-5`},{default:o(()=>[d(s(e.description),1)]),_:2},1024)]),_:2},1024)]),_:2},1040)]),_:1},8,[`modelValue`,`options`]),u(E,{modelValue:P.value,"onUpdate:modelValue":r[8]||=e=>P.value=e,options:it.value,dense:``,borderless:``,class:`bottom-select rounded-borders`,"hide-dropdown-icon":``,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`},{selected:o(()=>[h(`span`,He,[u(v,{name:`psychology`,size:`12px`,color:`grey-5`,class:`q-mr-xs`}),d(` `+s(it.value.find(e=>e.value===P.value)?.label??P.value)+` `,1),u(v,{name:`expand_more`,size:`12px`,color:`grey-5`})])]),option:o(({opt:e,itemProps:t})=>[u(S,re(ie(t)),{default:o(()=>[u(C,null,{default:o(()=>[u(w,{class:`text-white`},{default:o(()=>[d(s(e.label),1)]),_:2},1024),u(w,{caption:``,class:`text-grey-5`},{default:o(()=>[d(s(e.description),1)]),_:2},1024)]),_:2},1024)]),_:2},1040)]),_:1},8,[`modelValue`,`options`]),u(E,{modelValue:B.value,"onUpdate:modelValue":r[9]||=e=>B.value=e,options:tt.value,dense:``,borderless:``,class:`bottom-select rounded-borders`,"hide-dropdown-icon":``,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`},{selected:o(()=>[h(`span`,Ue,[u(v,{name:B.value===`plan`?`visibility`:`flash_on`,size:`12px`,color:`amber-6`,class:`q-mr-xs`},null,8,[`name`]),d(` `+s(tt.value.find(e=>e.value===B.value)?.label??B.value)+` `,1),u(v,{name:`expand_more`,size:`12px`,color:`grey-5`})])]),default:o(()=>[u(T,null,{default:o(()=>[d(s(t.$t(`engine.permission`)),1)]),_:1})]),_:1},8,[`modelValue`,`options`]),u(pe),u(b,{flat:``,dense:``,size:`sm`,"no-caps":``,icon:R.value?`play_disabled`:`play_circle`,color:R.value?`orange-4`:`grey-5`,label:t.$t(`createPage.skipSetupScript`),class:`skip-setup-btn`,onClick:r[10]||=e=>R.value=!R.value},{default:o(()=>[u(T,null,{default:o(()=>[d(s(t.$t(`createPage.skipSetupScript`)),1)]),_:1})]),_:1},8,[`icon`,`color`,`label`])]),h(`div`,We,[u(E,{modelValue:F.value,"onUpdate:modelValue":r[11]||=e=>F.value=e,options:Ze.value,dense:``,borderless:``,"use-input":``,"fill-input":``,"hide-selected":``,"input-debounce":`0`,"new-value-mode":`add`,class:`bottom-select rounded-borders repo-select`,"hide-dropdown-icon":``,"input-class":F.value?``:`repo-input-empty`,placeholder:t.$t(`createPage.projectPath`),behavior:te(D).projectPaths.length>0?`menu`:`dialog`,onFilter:mt,onInputValue:r[12]||=e=>{F.value=e}},{prepend:o(()=>[u(v,{name:`folder`,size:`14px`,color:`grey-5`})]),"no-option":o(()=>[u(S,null,{default:o(()=>[u(C,{class:`text-grey-6 text-caption`},{default:o(()=>[d(s(t.$t(`createPage.enterPath`)),1)]),_:1})]),_:1})]),_:1},8,[`modelValue`,`options`,`input-class`,`placeholder`,`behavior`]),u(E,{modelValue:L.value,"onUpdate:modelValue":r[13]||=e=>L.value=e,options:nt,"emit-value":``,"map-options":``,dense:``,borderless:``,class:`bottom-select rounded-borders branch-type-select`,"hide-dropdown-icon":``},{selected:o(()=>[h(`span`,Ge,[u(v,{name:`account_tree`,size:`12px`,color:`grey-5`,class:`q-mr-xs`}),d(` `+s(L.value)+`/ `,1),u(v,{name:`expand_more`,size:`12px`,color:`grey-5`})])]),default:o(()=>[u(T,null,{default:o(()=>[d(s(t.$t(`createPage.branchType`)),1)]),_:1})]),_:1},8,[`modelValue`]),u(E,{modelValue:I.value,"onUpdate:modelValue":r[14]||=e=>I.value=e,options:V.value,dense:``,borderless:``,class:`bottom-select rounded-borders branch-select`,"hide-dropdown-icon":``,loading:H.value,disable:!F.value.trim()||H.value},{selected:o(()=>[h(`span`,Ke,[u(v,{name:`call_split`,size:`12px`,color:`grey-5`,class:`q-mr-xs`}),d(` `+s(I.value??t.$t(`createPage.branch`))+` `,1),u(v,{name:`expand_more`,size:`12px`,color:`grey-5`})])]),"no-option":o(()=>[u(S,null,{default:o(()=>[u(C,{class:`text-grey-6 text-caption`},{default:o(()=>[d(s(F.value.trim()?t.$t(`createPage.noBranches`):t.$t(`createPage.enterPath`)),1)]),_:1})]),_:1})]),_:1},8,[`modelValue`,`options`,`loading`,`disable`])])]),h(`div`,qe,[u(b,{label:t.$t(`createPage.create`),"no-caps":``,unelevated:``,class:`create-btn text-weight-bold rounded-borders`,loading:U.value,onClick:yt},null,8,[`label`,`loading`])])]),h(`div`,Je,s(M.value?t.$t(`createPage.notionExtractHint`):t.$t(`createPage.notionImportHint`)),1)])]),_:1}))}}),[[`__scopeId`,`data-v-4f4da343`]]);export{Ye as default};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/editor.main-C5sdCvGW.js","assets/index-CUI-zN26.js","assets/vue-i18n-CeG0hR0Z.js","assets/runtime-core.esm-bundler-C3IgBgY5.js","assets/QIcon-B0-pH3Qs.js","assets/use-id-CeduaJbU.js","assets/QSeparator-rkjCbX2M.js","assets/QBtn-CyzfM9-_.js","assets/use-checkbox-DYiZQsbF.js","assets/private.use-form-D1RuEt2P.js","assets/QDialog-DQeAxY3-.js","assets/scroll-JVVkg2Ng.js","assets/use-portal-DBe4lcC2.js","assets/symbols-DCYodwb2.js","assets/index-eX_lKHSg.css","assets/editor.api-CRb_5Zw6.js","assets/editor-COGk2gAX.css","assets/monaco.contribution-Du0atePv.js","assets/editor-CS3NEPi9.css"])))=>i.map(i=>d[i]);
2
- import{F as e,H as t,M as n,N as r,Q as i,S as a,U as o,bt as s,d as c,f as l,g as u,h as d,l as f,p,r as m,rt as h,u as g,v as _,yt as ee}from"./runtime-core.esm-bundler-C3IgBgY5.js";import{O as v,a as y,t as b}from"./QIcon-B0-pH3Qs.js";import{t as x}from"./QSeparator-rkjCbX2M.js";import{n as te,t as S}from"./QBtn-CyzfM9-_.js";import{r as C,t as w}from"./private.use-form-D1RuEt2P.js";import{n as ne}from"./vue-i18n-CeG0hR0Z.js";import{f as T}from"./index-CUI-zN26.js";import{t as E}from"./QSpinnerDots-DEiRooBD.js";import{t as re}from"./QScrollArea-e5qTqwcb.js";import{t as D}from"./_plugin-vue_export-helper-r4mAJOHR.js";import{t as O}from"./QBadge-DqtcDv8D.js";import{t as ie}from"./QSpace-BNr0AftG.js";import{i as k,n as ae,r as oe,t as se}from"./build-path-tree-Bgl2q74t.js";import{t as A}from"./QTooltip-C4CPesBX.js";var j=v({name:`QBtnToggle`,props:{...C,modelValue:{required:!0},options:{type:Array,required:!0,validator:e=>e.every(e=>(`label`in e||`icon`in e||`slot`in e)&&`value`in e)},color:String,textColor:String,toggleColor:{type:String,default:`primary`},toggleTextColor:String,outline:Boolean,flat:Boolean,unelevated:Boolean,rounded:Boolean,push:Boolean,glossy:Boolean,size:String,padding:String,noCaps:Boolean,noWrap:Boolean,dense:Boolean,readonly:Boolean,disable:Boolean,stack:Boolean,stretch:Boolean,spread:Boolean,clearable:Boolean,ripple:{type:[Boolean,Object],default:!0}},emits:[`update:modelValue`,`clear`,`click`],setup(e,{slots:t,emit:n}){let r=f(()=>e.options.find(t=>t.value===e.modelValue)!==void 0),i=w(f(()=>({type:`hidden`,name:e.name,value:e.modelValue}))),o=f(()=>te(e)),s=f(()=>({rounded:e.rounded,dense:e.dense,...o.value})),c=f(()=>e.options.map((t,n)=>{let{attrs:r,value:i,slot:a,...o}=t;return{slot:a,props:{key:n,"aria-pressed":i===e.modelValue?`true`:`false`,...r,...o,...s.value,disable:e.disable===!0||o.disable===!0,color:i===e.modelValue?u(o,`toggleColor`):u(o,`color`),textColor:i===e.modelValue?u(o,`toggleTextColor`):u(o,`textColor`),noCaps:u(o,`noCaps`)===!0,noWrap:u(o,`noWrap`)===!0,size:u(o,`size`),padding:u(o,`padding`),ripple:u(o,`ripple`),stack:u(o,`stack`)===!0,stretch:u(o,`stretch`)===!0,onClick(e){l(i,t,e)}}}}));function l(t,r,i){e.readonly!==!0&&(e.modelValue===t?e.clearable===!0&&(n(`update:modelValue`,null,null),n(`clear`)):n(`update:modelValue`,t,r),n(`click`,i))}function u(t,n){return t[n]===void 0?e[n]:t[n]}function d(){let n=c.value.map(e=>a(S,e.props,e.slot===void 0?void 0:t[e.slot]));return e.name!==void 0&&e.disable!==!0&&r.value===!0&&i(n,`push`),y(t.default,n)}return()=>a(k,{class:`q-btn-toggle`,...o.value,rounded:e.rounded,stretch:e.stretch,glossy:e.glossy,spread:e.spread},d)}}),M={class:`diff-viewer column full-height`},N={class:`diff-header row items-center q-px-md q-py-sm no-wrap`},P={class:`text-body1 text-weight-medium text-grey-3`},F={key:0,class:`text-caption text-grey-6 q-ml-md`,style:{"font-size":`11px`}},I={class:`text-grey-7`},L={class:`text-green-4`},R={key:1,class:`text-caption text-grey-5 q-ml-md ellipsis`,style:{"font-size":`11px`,"font-family":`'Roboto Mono', monospace`,"max-width":`400px`}},z={class:`row col no-wrap`,style:{"min-height":`0`}},B={key:1,class:`text-caption text-grey-8 q-pa-sm`},V={class:`text-grey-4`,style:{"font-family":`'Roboto Mono', monospace`,"font-size":`11px`}},H={class:`text-grey-3 ellipsis`,style:{"font-family":`'Roboto Mono', monospace`,"font-size":`11px`}},U={class:`col column`,style:{"min-width":`0`,position:`relative`}},W={key:0,class:`col column items-center justify-center`},G={key:1,class:`col column items-center justify-center text-grey-8 text-caption`},K=D(_({__name:`DiffViewer`,props:{workspaceId:{}},emits:[`close`,`sendToChat`],setup(a,{emit:_}){let v=a,y=_,{t:te}=ne(),C=i([]),w=i(``),D=i(``),k=i(null),K=i(!1),q=i(!1),J=i(null),Y=i(`side`),X=null,Z=null,Q=[],ce=f(()=>se(C.value)),le=f(()=>k.value?`file:${k.value}`:``);async function ue(){K.value=!0;try{let e=await fetch(`/api/workspaces/${v.workspaceId}/diff`);if(!e.ok)throw Error(`HTTP ${e.status}`);let t=await e.json();C.value=t.files,w.value=t.sourceBranch??``,D.value=t.workingBranch??``}catch(e){console.error(`Failed to load diff files:`,e)}finally{K.value=!1}}async function de(e){if(J.value){q.value=!0;try{X||(self.MonacoEnvironment={getWorker(e,t){return t===`json`?new Worker(new URL(`/assets/json.worker-C9p7xCYk.js`,``+import.meta.url),{type:`module`}):t===`css`||t===`scss`||t===`less`?new Worker(new URL(`/assets/css.worker-D1piIYC4.js`,``+import.meta.url),{type:`module`}):t===`html`||t===`handlebars`||t===`razor`?new Worker(new URL(`/assets/html.worker-C4q4XMPn.js`,``+import.meta.url),{type:`module`}):t===`typescript`||t===`javascript`?new Worker(new URL(`/assets/ts.worker-Cj3zTgVE.js`,``+import.meta.url),{type:`module`}):new Worker(new URL(`/assets/editor.worker-CJ9iTmkr.js`,``+import.meta.url),{type:`module`})}},X=await T(()=>import(`./editor.main-C5sdCvGW.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18])),X.editor.defineTheme(`kobo-dark`,{base:`vs-dark`,inherit:!0,rules:[],colors:{"editor.background":`#1a1a2e`,"diffEditor.insertedTextBackground":`#22c55e20`,"diffEditor.removedTextBackground":`#ef444420`}}));let t=await fetch(`/api/workspaces/${v.workspaceId}/diff-file?path=${encodeURIComponent(e)}`);if(!t.ok)throw Error(`HTTP ${t.status}`);let n=await t.json(),r={ts:`typescript`,tsx:`typescript`,js:`javascript`,jsx:`javascript`,vue:`html`,html:`html`,css:`css`,scss:`scss`,json:`json`,md:`markdown`,yaml:`yaml`,yml:`yaml`,sh:`shell`,sql:`sql`,py:`python`,rs:`rust`,go:`go`}[e.split(`.`).pop()??``]??`plaintext`;if(Z){for(let e of Q)e.dispose();Q=[];let e=Z.getModel();Z.dispose(),Z=null,e?.original?.dispose(),e?.modified?.dispose()}let i=X.editor.createModel(n.original??``,r),a=X.editor.createModel(n.modified??``,r);Z=X.editor.createDiffEditor(J.value,{theme:`kobo-dark`,readOnly:!0,renderSideBySide:Y.value===`side`,automaticLayout:!0,minimap:{enabled:!1},scrollBeyondLastLine:!1,fontSize:12,lineHeight:18}),Z.setModel({original:i,modified:a}),fe()}catch(e){console.error(`Failed to load file diff:`,e)}finally{q.value=!1}}}let $=i(!1);function fe(){if(!Z)return;for(let e of Q)e.dispose();Q=[];let e=Z.getModifiedEditor(),t=Z.getOriginalEditor();for(let n of[e,t]){let e=n.onDidChangeCursorSelection(()=>{let e=n.getSelection();$.value=!!(e&&!e.isEmpty())});Q.push(e)}}function pe(){if(!(!Z||!k.value))for(let e of[Z.getModifiedEditor(),Z.getOriginalEditor()]){let t=e.getSelection();if(t&&!t.isEmpty()){let n=e.getModel();if(!n)continue;let r=n.getValueInRange(t),i=e===Z.getModifiedEditor()?`modified`:`original`;y(`sendToChat`,`\`\`\`\n// ${k.value} (${i}) L${t.startLineNumber}-L${t.endLineNumber}\n${r}\n\`\`\``);return}}}t(k,e=>{e&&de(e)}),t(Y,()=>{Z&&Z.updateOptions({renderSideBySide:Y.value===`side`})});function me(e){switch(e){case`added`:return`#4ade80`;case`deleted`:return`#f87171`;case`renamed`:return`#60a5fa`;default:return`#f59e0b`}}return n(ue),r(()=>{for(let e of Q)e.dispose();if(Q=[],Z){let e=Z.getModel();Z.dispose(),Z=null,e?.original?.dispose(),e?.modified?.dispose()}}),(t,n)=>(e(),p(`div`,M,[g(`div`,N,[u(b,{name:`difference`,size:`18px`,color:`indigo-4`,class:`q-mr-xs`}),g(`span`,P,s(t.$t(`diff.title`)),1),u(O,{label:`${C.value.length}`,color:`grey-8`,"text-color":`grey-4`,class:`q-ml-sm`,style:{"font-size":`10px`}},null,8,[`label`]),w.value?(e(),p(`span`,F,[g(`span`,I,s(w.value),1),u(b,{name:`arrow_forward`,size:`11px`,color:`grey-8`,class:`q-mx-xs`}),g(`span`,L,s(D.value),1)])):l(``,!0),k.value?(e(),p(`span`,R,s(k.value),1)):l(``,!0),u(ie),u(j,{modelValue:Y.value,"onUpdate:modelValue":n[0]||=e=>Y.value=e,dense:``,"no-caps":``,size:`sm`,"toggle-color":`indigo-8`,color:`grey-9`,"text-color":`grey-5`,options:[{label:t.$t(`diff.side`),value:`side`},{label:t.$t(`diff.inline`),value:`inline`}],class:`q-mr-sm`},null,8,[`modelValue`,`options`]),u(S,{flat:``,round:``,dense:``,icon:`close`,color:`grey-5`,size:`sm`,onClick:n[1]||=e=>y(`close`)},{default:o(()=>[u(A,null,{default:o(()=>[d(s(t.$t(`tooltip.closeDiffViewer`)),1)]),_:1})]),_:1})]),u(x,{dark:``}),g(`div`,z,[u(re,{class:`diff-file-list q-pa-xs`,style:{width:`280px`,"min-width":`200px`,height:`100%`,"border-right":`1px solid #2a2a4a`}},{default:o(()=>[K.value?(e(),c(E,{key:0,size:`24px`,color:`grey-6`,class:`q-ma-md`})):C.value.length===0?(e(),p(`div`,B,s(t.$t(`diff.noChanges`)),1)):(e(),c(oe,{key:2,nodes:ce.value,"node-key":`nodeKey`,"label-key":`label`,"children-key":`children`,dark:``,dense:``,"default-expand-all":``,"no-selection-unset":``,selected:le.value,class:`diff-tree`,"onUpdate:selected":n[2]||=e=>{typeof e!=`string`||!e.startsWith(`file:`)||(k.value=e.slice(5))}},{"default-header":o(({node:t})=>[t.isFolder?(e(),p(m,{key:0},[u(b,{name:`folder`,size:`14px`,color:`indigo-4`,class:`q-mr-xs`}),g(`span`,V,s(t.label),1),u(O,{label:t.children?h(ae)(t.children):0,color:`grey-9`,"text-color":`grey-5`,class:`q-ml-xs`,style:{"font-size":`9px`}},null,8,[`label`])],64)):(e(),p(m,{key:1},[u(b,{name:`description`,size:`14px`,style:ee({color:me(t.file.status)}),class:`q-mr-xs`},{default:o(()=>[u(A,null,{default:o(()=>[d(s(t.file.status),1)]),_:2},1024)]),_:2},1032,[`style`]),g(`span`,H,s(t.label),1)],64))]),_:1},8,[`nodes`,`selected`]))]),_:1}),g(`div`,U,[q.value?(e(),p(`div`,W,[u(E,{size:`32px`,color:`indigo-4`})])):k.value?l(``,!0):(e(),p(`div`,G,s(t.$t(`diff.selectFile`)),1)),g(`div`,{ref_key:`editorContainer`,ref:J,class:`col`,style:{"min-height":`0`}},null,512),$.value?(e(),c(S,{key:2,"no-caps":``,dense:``,size:`sm`,color:`primary`,icon:`chat`,label:t.$t(`diff.addToChat`),class:`send-to-chat-btn`,onClick:pe},null,8,[`label`])):l(``,!0)])])]))}}),[[`__scopeId`,`data-v-0976f177`]]);export{K as default};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/editor.main-C2QDgca3.js","assets/index-9vZWx9Bu.js","assets/vue-i18n-CeG0hR0Z.js","assets/runtime-core.esm-bundler-C3IgBgY5.js","assets/QIcon-B0-pH3Qs.js","assets/use-id-CeduaJbU.js","assets/QSeparator-rkjCbX2M.js","assets/QBtn-CyzfM9-_.js","assets/use-checkbox-DYiZQsbF.js","assets/private.use-form-D1RuEt2P.js","assets/QDialog-DQeAxY3-.js","assets/scroll-JVVkg2Ng.js","assets/use-portal-DBe4lcC2.js","assets/symbols-DCYodwb2.js","assets/index-eX_lKHSg.css","assets/editor.api-C1-xuJKd.js","assets/editor-COGk2gAX.css","assets/monaco.contribution-DFCuvXsm.js","assets/editor-CS3NEPi9.css"])))=>i.map(i=>d[i]);
2
+ import{F as e,H as t,M as n,N as r,Q as i,S as a,U as o,bt as s,d as c,f as l,g as u,h as d,l as f,p,r as m,rt as h,u as g,v as _,yt as ee}from"./runtime-core.esm-bundler-C3IgBgY5.js";import{O as v,a as y,t as b}from"./QIcon-B0-pH3Qs.js";import{t as x}from"./QSeparator-rkjCbX2M.js";import{n as te,t as S}from"./QBtn-CyzfM9-_.js";import{r as C,t as w}from"./private.use-form-D1RuEt2P.js";import{n as ne}from"./vue-i18n-CeG0hR0Z.js";import{f as T}from"./index-9vZWx9Bu.js";import{t as E}from"./QSpinnerDots-DEiRooBD.js";import{t as re}from"./QScrollArea-e5qTqwcb.js";import{t as D}from"./_plugin-vue_export-helper-r4mAJOHR.js";import{t as O}from"./QBadge-DqtcDv8D.js";import{t as ie}from"./QSpace-BNr0AftG.js";import{i as k,n as ae,r as oe,t as se}from"./build-path-tree-BE2FoPWg.js";import{t as A}from"./QTooltip-C4CPesBX.js";var j=v({name:`QBtnToggle`,props:{...C,modelValue:{required:!0},options:{type:Array,required:!0,validator:e=>e.every(e=>(`label`in e||`icon`in e||`slot`in e)&&`value`in e)},color:String,textColor:String,toggleColor:{type:String,default:`primary`},toggleTextColor:String,outline:Boolean,flat:Boolean,unelevated:Boolean,rounded:Boolean,push:Boolean,glossy:Boolean,size:String,padding:String,noCaps:Boolean,noWrap:Boolean,dense:Boolean,readonly:Boolean,disable:Boolean,stack:Boolean,stretch:Boolean,spread:Boolean,clearable:Boolean,ripple:{type:[Boolean,Object],default:!0}},emits:[`update:modelValue`,`clear`,`click`],setup(e,{slots:t,emit:n}){let r=f(()=>e.options.find(t=>t.value===e.modelValue)!==void 0),i=w(f(()=>({type:`hidden`,name:e.name,value:e.modelValue}))),o=f(()=>te(e)),s=f(()=>({rounded:e.rounded,dense:e.dense,...o.value})),c=f(()=>e.options.map((t,n)=>{let{attrs:r,value:i,slot:a,...o}=t;return{slot:a,props:{key:n,"aria-pressed":i===e.modelValue?`true`:`false`,...r,...o,...s.value,disable:e.disable===!0||o.disable===!0,color:i===e.modelValue?u(o,`toggleColor`):u(o,`color`),textColor:i===e.modelValue?u(o,`toggleTextColor`):u(o,`textColor`),noCaps:u(o,`noCaps`)===!0,noWrap:u(o,`noWrap`)===!0,size:u(o,`size`),padding:u(o,`padding`),ripple:u(o,`ripple`),stack:u(o,`stack`)===!0,stretch:u(o,`stretch`)===!0,onClick(e){l(i,t,e)}}}}));function l(t,r,i){e.readonly!==!0&&(e.modelValue===t?e.clearable===!0&&(n(`update:modelValue`,null,null),n(`clear`)):n(`update:modelValue`,t,r),n(`click`,i))}function u(t,n){return t[n]===void 0?e[n]:t[n]}function d(){let n=c.value.map(e=>a(S,e.props,e.slot===void 0?void 0:t[e.slot]));return e.name!==void 0&&e.disable!==!0&&r.value===!0&&i(n,`push`),y(t.default,n)}return()=>a(k,{class:`q-btn-toggle`,...o.value,rounded:e.rounded,stretch:e.stretch,glossy:e.glossy,spread:e.spread},d)}}),M={class:`diff-viewer column full-height`},N={class:`diff-header row items-center q-px-md q-py-sm no-wrap`},P={class:`text-body1 text-weight-medium text-grey-3`},F={key:0,class:`text-caption text-grey-6 q-ml-md`,style:{"font-size":`11px`}},I={class:`text-grey-7`},L={class:`text-green-4`},R={key:1,class:`text-caption text-grey-5 q-ml-md ellipsis`,style:{"font-size":`11px`,"font-family":`'Roboto Mono', monospace`,"max-width":`400px`}},z={class:`row col no-wrap`,style:{"min-height":`0`}},B={key:1,class:`text-caption text-grey-8 q-pa-sm`},V={class:`text-grey-4`,style:{"font-family":`'Roboto Mono', monospace`,"font-size":`11px`}},H={class:`text-grey-3 ellipsis`,style:{"font-family":`'Roboto Mono', monospace`,"font-size":`11px`}},U={class:`col column`,style:{"min-width":`0`,position:`relative`}},W={key:0,class:`col column items-center justify-center`},G={key:1,class:`col column items-center justify-center text-grey-8 text-caption`},K=D(_({__name:`DiffViewer`,props:{workspaceId:{}},emits:[`close`,`sendToChat`],setup(a,{emit:_}){let v=a,y=_,{t:te}=ne(),C=i([]),w=i(``),D=i(``),k=i(null),K=i(!1),q=i(!1),J=i(null),Y=i(`side`),X=null,Z=null,Q=[],ce=f(()=>se(C.value)),le=f(()=>k.value?`file:${k.value}`:``);async function ue(){K.value=!0;try{let e=await fetch(`/api/workspaces/${v.workspaceId}/diff`);if(!e.ok)throw Error(`HTTP ${e.status}`);let t=await e.json();C.value=t.files,w.value=t.sourceBranch??``,D.value=t.workingBranch??``}catch(e){console.error(`Failed to load diff files:`,e)}finally{K.value=!1}}async function de(e){if(J.value){q.value=!0;try{X||(self.MonacoEnvironment={getWorker(e,t){return t===`json`?new Worker(new URL(`/assets/json.worker-C9p7xCYk.js`,``+import.meta.url),{type:`module`}):t===`css`||t===`scss`||t===`less`?new Worker(new URL(`/assets/css.worker-D1piIYC4.js`,``+import.meta.url),{type:`module`}):t===`html`||t===`handlebars`||t===`razor`?new Worker(new URL(`/assets/html.worker-C4q4XMPn.js`,``+import.meta.url),{type:`module`}):t===`typescript`||t===`javascript`?new Worker(new URL(`/assets/ts.worker-Cj3zTgVE.js`,``+import.meta.url),{type:`module`}):new Worker(new URL(`/assets/editor.worker-CJ9iTmkr.js`,``+import.meta.url),{type:`module`})}},X=await T(()=>import(`./editor.main-C2QDgca3.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18])),X.editor.defineTheme(`kobo-dark`,{base:`vs-dark`,inherit:!0,rules:[],colors:{"editor.background":`#1a1a2e`,"diffEditor.insertedTextBackground":`#22c55e20`,"diffEditor.removedTextBackground":`#ef444420`}}));let t=await fetch(`/api/workspaces/${v.workspaceId}/diff-file?path=${encodeURIComponent(e)}`);if(!t.ok)throw Error(`HTTP ${t.status}`);let n=await t.json(),r={ts:`typescript`,tsx:`typescript`,js:`javascript`,jsx:`javascript`,vue:`html`,html:`html`,css:`css`,scss:`scss`,json:`json`,md:`markdown`,yaml:`yaml`,yml:`yaml`,sh:`shell`,sql:`sql`,py:`python`,rs:`rust`,go:`go`}[e.split(`.`).pop()??``]??`plaintext`;if(Z){for(let e of Q)e.dispose();Q=[];let e=Z.getModel();Z.dispose(),Z=null,e?.original?.dispose(),e?.modified?.dispose()}let i=X.editor.createModel(n.original??``,r),a=X.editor.createModel(n.modified??``,r);Z=X.editor.createDiffEditor(J.value,{theme:`kobo-dark`,readOnly:!0,renderSideBySide:Y.value===`side`,automaticLayout:!0,minimap:{enabled:!1},scrollBeyondLastLine:!1,fontSize:12,lineHeight:18}),Z.setModel({original:i,modified:a}),fe()}catch(e){console.error(`Failed to load file diff:`,e)}finally{q.value=!1}}}let $=i(!1);function fe(){if(!Z)return;for(let e of Q)e.dispose();Q=[];let e=Z.getModifiedEditor(),t=Z.getOriginalEditor();for(let n of[e,t]){let e=n.onDidChangeCursorSelection(()=>{let e=n.getSelection();$.value=!!(e&&!e.isEmpty())});Q.push(e)}}function pe(){if(!(!Z||!k.value))for(let e of[Z.getModifiedEditor(),Z.getOriginalEditor()]){let t=e.getSelection();if(t&&!t.isEmpty()){let n=e.getModel();if(!n)continue;let r=n.getValueInRange(t),i=e===Z.getModifiedEditor()?`modified`:`original`;y(`sendToChat`,`\`\`\`\n// ${k.value} (${i}) L${t.startLineNumber}-L${t.endLineNumber}\n${r}\n\`\`\``);return}}}t(k,e=>{e&&de(e)}),t(Y,()=>{Z&&Z.updateOptions({renderSideBySide:Y.value===`side`})});function me(e){switch(e){case`added`:return`#4ade80`;case`deleted`:return`#f87171`;case`renamed`:return`#60a5fa`;default:return`#f59e0b`}}return n(ue),r(()=>{for(let e of Q)e.dispose();if(Q=[],Z){let e=Z.getModel();Z.dispose(),Z=null,e?.original?.dispose(),e?.modified?.dispose()}}),(t,n)=>(e(),p(`div`,M,[g(`div`,N,[u(b,{name:`difference`,size:`18px`,color:`indigo-4`,class:`q-mr-xs`}),g(`span`,P,s(t.$t(`diff.title`)),1),u(O,{label:`${C.value.length}`,color:`grey-8`,"text-color":`grey-4`,class:`q-ml-sm`,style:{"font-size":`10px`}},null,8,[`label`]),w.value?(e(),p(`span`,F,[g(`span`,I,s(w.value),1),u(b,{name:`arrow_forward`,size:`11px`,color:`grey-8`,class:`q-mx-xs`}),g(`span`,L,s(D.value),1)])):l(``,!0),k.value?(e(),p(`span`,R,s(k.value),1)):l(``,!0),u(ie),u(j,{modelValue:Y.value,"onUpdate:modelValue":n[0]||=e=>Y.value=e,dense:``,"no-caps":``,size:`sm`,"toggle-color":`indigo-8`,color:`grey-9`,"text-color":`grey-5`,options:[{label:t.$t(`diff.side`),value:`side`},{label:t.$t(`diff.inline`),value:`inline`}],class:`q-mr-sm`},null,8,[`modelValue`,`options`]),u(S,{flat:``,round:``,dense:``,icon:`close`,color:`grey-5`,size:`sm`,onClick:n[1]||=e=>y(`close`)},{default:o(()=>[u(A,null,{default:o(()=>[d(s(t.$t(`tooltip.closeDiffViewer`)),1)]),_:1})]),_:1})]),u(x,{dark:``}),g(`div`,z,[u(re,{class:`diff-file-list q-pa-xs`,style:{width:`280px`,"min-width":`200px`,height:`100%`,"border-right":`1px solid #2a2a4a`}},{default:o(()=>[K.value?(e(),c(E,{key:0,size:`24px`,color:`grey-6`,class:`q-ma-md`})):C.value.length===0?(e(),p(`div`,B,s(t.$t(`diff.noChanges`)),1)):(e(),c(oe,{key:2,nodes:ce.value,"node-key":`nodeKey`,"label-key":`label`,"children-key":`children`,dark:``,dense:``,"default-expand-all":``,"no-selection-unset":``,selected:le.value,class:`diff-tree`,"onUpdate:selected":n[2]||=e=>{typeof e!=`string`||!e.startsWith(`file:`)||(k.value=e.slice(5))}},{"default-header":o(({node:t})=>[t.isFolder?(e(),p(m,{key:0},[u(b,{name:`folder`,size:`14px`,color:`indigo-4`,class:`q-mr-xs`}),g(`span`,V,s(t.label),1),u(O,{label:t.children?h(ae)(t.children):0,color:`grey-9`,"text-color":`grey-5`,class:`q-ml-xs`,style:{"font-size":`9px`}},null,8,[`label`])],64)):(e(),p(m,{key:1},[u(b,{name:`description`,size:`14px`,style:ee({color:me(t.file.status)}),class:`q-mr-xs`},{default:o(()=>[u(A,null,{default:o(()=>[d(s(t.file.status),1)]),_:2},1024)]),_:2},1032,[`style`]),g(`span`,H,s(t.label),1)],64))]),_:1},8,[`nodes`,`selected`]))]),_:1}),g(`div`,U,[q.value?(e(),p(`div`,W,[u(E,{size:`32px`,color:`indigo-4`})])):k.value?l(``,!0):(e(),p(`div`,G,s(t.$t(`diff.selectFile`)),1)),g(`div`,{ref_key:`editorContainer`,ref:J,class:`col`,style:{"min-height":`0`}},null,512),$.value?(e(),c(S,{key:2,"no-caps":``,dense:``,size:`sm`,color:`primary`,icon:`chat`,label:t.$t(`diff.addToChat`),class:`send-to-chat-btn`,onClick:pe},null,8,[`label`])):l(``,!0)])])]))}}),[[`__scopeId`,`data-v-0976f177`]]);export{K as default};
@@ -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,l,p as u,r as te,rt as d,u as f,v as ne}from"./runtime-core.esm-bundler-C3IgBgY5.js";import{t as p}from"./QIcon-B0-pH3Qs.js";import{t as m}from"./QBtn-CyzfM9-_.js";import{D as h,T as g,m as re}from"./index-CUI-zN26.js";import{n as ie,t as ae}from"./QItemSection-CGpX7GcL.js";import{t as _}from"./QSpace-BNr0AftG.js";import{t as oe}from"./use-quasar-Ch82z8H5.js";import{t as v}from"./QList-B-MkPF7n.js";import{t as y}from"./QPage-yqdKDG7-.js";var b={class:`row items-center q-mb-md`},x={class:`text-h6 q-ml-sm`},S={key:0,class:`text-grey-6 text-center q-pa-lg`},C={key:1,class:`column q-gutter-md`},w={class:`text-subtitle2 q-mb-sm`},T={class:`text-caption text-grey-6`},E={class:`text-body2`},D={class:`row items-center`},O={class:`text-subtitle2`},k={class:`row q-col-gutter-md q-mt-xs`},A={class:`col`},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:`col-auto`},L={class:`text-caption text-grey-6`},R={class:`text-body2`},z={class:`row items-center`},B={class:`text-subtitle2`},V={key:0,class:`text-caption text-grey-5 q-mt-xs`},se={key:1,class:`text-caption text-negative q-mt-xs`},H={class:`row items-center`},U={class:`text-subtitle2`},W={class:`text-caption text-grey-6 q-mt-xs`},G={key:0,class:`q-mt-sm`},K={class:`text-caption text-negative q-mb-xs`},ce={class:`text-body2`},le={class:`text-caption text-grey-6`},ue={class:`row items-center`},de={class:`text-subtitle2`},fe={class:`text-subtitle2 q-mb-sm`},pe={class:`column q-gutter-xs`},me={class:`row items-center`},he={class:`q-ml-sm text-caption text-grey-6`},ge={class:`row items-center`},_e={class:`q-ml-sm text-caption text-grey-6`},ve={class:`row items-center`},ye={class:`q-ml-sm text-caption text-grey-6`},q=ne({__name:`HealthPage`,setup(ne){let q=oe(),be=re(),J=r(null),Y=r(!1);async function X(){Y.value=!0;try{let e=await fetch(`/api/health/report`);if(!e.ok)throw Error(`HTTP ${e.status}`);J.value=await e.json()}catch(e){q.notify({type:`negative`,message:String(e),position:`top`,timeout:4e3})}finally{Y.value=!1}}n(X);let xe=l(()=>{let e=J.value?.db.sizeBytes;return e==null?`—`:e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/1024/1024).toFixed(1)} MB`}),Z=l(()=>{let e=J.value;return e?e.db.schemaVersion===e.db.currentSchemaVersion:!1});function Q(e){return e?`check_circle`:`error`}function $(e){return e?`positive`:`negative`}return(n,r)=>(e(),o(y,{class:`q-pa-md`,style:{"max-width":`900px`,margin:`0 auto`}},{default:i(()=>[f(`div`,b,[c(m,{flat:``,dense:``,round:``,icon:`arrow_back`,onClick:r[0]||=e=>d(be).back()}),f(`div`,x,a(n.$t(`health.title`)),1),c(_),c(m,{flat:``,dense:``,icon:`refresh`,loading:Y.value,label:n.$t(`common.refresh`),onClick:X},null,8,[`loading`,`label`])]),!J.value&&Y.value?(e(),u(`div`,S,a(n.$t(`common.loading`)),1)):J.value?(e(),u(`div`,C,[c(g,{dark:``,flat:``,bordered:``},{default:i(()=>[c(h,null,{default:i(()=>[f(`div`,w,a(n.$t(`health.envTitle`)),1),f(`div`,T,a(n.$t(`health.koboHome`)),1),f(`div`,E,a(J.value.koboHome),1)]),_:1})]),_:1}),c(g,{dark:``,flat:``,bordered:``},{default:i(()=>[c(h,null,{default:i(()=>[f(`div`,D,[f(`div`,O,a(n.$t(`health.dbTitle`)),1),c(_),c(p,{name:Q(Z.value),color:$(Z.value)},null,8,[`name`,`color`])]),f(`div`,k,[f(`div`,A,[f(`div`,j,a(n.$t(`health.dbPath`)),1),f(`div`,M,a(J.value.db.path),1)]),f(`div`,N,[f(`div`,P,a(n.$t(`health.dbSize`)),1),f(`div`,F,a(xe.value),1)]),f(`div`,I,[f(`div`,L,a(n.$t(`health.schemaVersion`)),1),f(`div`,R,a(J.value.db.schemaVersion)+` / `+a(J.value.db.currentSchemaVersion),1)])])]),_:1})]),_:1}),c(g,{dark:``,flat:``,bordered:``},{default:i(()=>[c(h,null,{default:i(()=>[f(`div`,z,[f(`div`,B,a(n.$t(`health.cliTitle`)),1),c(_),c(p,{name:Q(J.value.claudeCli.available),color:$(J.value.claudeCli.available)},null,8,[`name`,`color`])]),J.value.claudeCli.available?(e(),u(`div`,V,a(J.value.claudeCli.version),1)):(e(),u(`div`,se,a(n.$t(`health.cliMissing`)),1))]),_:1})]),_:1}),c(g,{dark:``,flat:``,bordered:``},{default:i(()=>[c(h,null,{default:i(()=>[f(`div`,H,[f(`div`,U,a(n.$t(`health.workspacesTitle`)),1),c(_),c(p,{name:Q(J.value.workspaces.worktreesMissing.length===0),color:$(J.value.workspaces.worktreesMissing.length===0)},null,8,[`name`,`color`])]),f(`div`,W,a(n.$t(`health.workspacesCount`,{total:J.value.workspaces.total,archived:J.value.workspaces.archived})),1),J.value.workspaces.worktreesMissing.length>0?(e(),u(`div`,G,[f(`div`,K,a(n.$t(`health.worktreesMissing`,{count:J.value.workspaces.worktreesMissing.length})),1),c(v,{dense:``,dark:``},{default:i(()=>[(e(!0),u(te,null,t(J.value.workspaces.worktreesMissing,t=>(e(),o(ie,{key:t.workspaceId},{default:i(()=>[c(ae,null,{default:i(()=>[f(`div`,ce,a(t.name),1),f(`div`,le,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`,ue,[f(`div`,de,a(n.$t(`health.sessionsTitle`)),1),c(_),c(p,{name:Q(J.value.agentSessions.orphaned===0),color:$(J.value.agentSessions.orphaned===0)},null,8,[`name`,`color`])]),f(`div`,{class:ee([`text-caption q-mt-xs`,J.value.agentSessions.orphaned>0?`text-negative`:`text-grey-6`])},a(n.$t(`health.sessionsOrphaned`,{n:J.value.agentSessions.orphaned})),3)]),_:1})]),_:1}),c(g,{dark:``,flat:``,bordered:``},{default:i(()=>[c(h,null,{default:i(()=>[f(`div`,fe,a(n.$t(`health.integrationsTitle`)),1),f(`div`,pe,[f(`div`,me,[c(p,{name:Q(J.value.integrations.notion.configured),color:$(J.value.integrations.notion.configured),size:`sm`},null,8,[`name`,`color`]),r[1]||=f(`span`,{class:`q-ml-sm text-body2`},`Notion`,-1),f(`span`,he,a(J.value.integrations.notion.configured?n.$t(`health.integrationConfigured`):n.$t(`health.integrationMissing`)),1)]),f(`div`,ge,[c(p,{name:Q(J.value.integrations.sentry.configured),color:$(J.value.integrations.sentry.configured),size:`sm`},null,8,[`name`,`color`]),r[2]||=f(`span`,{class:`q-ml-sm text-body2`},`Sentry`,-1),f(`span`,_e,a(J.value.integrations.sentry.configured?n.$t(`health.integrationConfigured`):n.$t(`health.integrationMissing`)),1)]),f(`div`,ve,[c(p,{name:Q(J.value.integrations.editor.configured),color:$(J.value.integrations.editor.configured),size:`sm`},null,8,[`name`,`color`]),r[3]||=f(`span`,{class:`q-ml-sm text-body2`},`Editor`,-1),f(`span`,ye,a(J.value.integrations.editor.configured?n.$t(`health.integrationConfigured`):n.$t(`health.integrationMissing`)),1)])])]),_:1})]),_:1})])):s(``,!0)]),_:1}))}});export{q 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,l,p as u,r as te,rt as d,u as f,v as ne}from"./runtime-core.esm-bundler-C3IgBgY5.js";import{t as p}from"./QIcon-B0-pH3Qs.js";import{t as m}from"./QBtn-CyzfM9-_.js";import{D as h,T as g,m as re}from"./index-9vZWx9Bu.js";import{n as ie,t as ae}from"./QItemSection-CGpX7GcL.js";import{t as _}from"./QSpace-BNr0AftG.js";import{t as oe}from"./use-quasar-Ch82z8H5.js";import{t as v}from"./QList-B-MkPF7n.js";import{t as y}from"./QPage-yqdKDG7-.js";var b={class:`row items-center q-mb-md`},x={class:`text-h6 q-ml-sm`},S={key:0,class:`text-grey-6 text-center q-pa-lg`},C={key:1,class:`column q-gutter-md`},w={class:`text-subtitle2 q-mb-sm`},T={class:`text-caption text-grey-6`},E={class:`text-body2`},D={class:`row items-center`},O={class:`text-subtitle2`},k={class:`row q-col-gutter-md q-mt-xs`},A={class:`col`},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:`col-auto`},L={class:`text-caption text-grey-6`},R={class:`text-body2`},z={class:`row items-center`},B={class:`text-subtitle2`},V={key:0,class:`text-caption text-grey-5 q-mt-xs`},se={key:1,class:`text-caption text-negative q-mt-xs`},H={class:`row items-center`},U={class:`text-subtitle2`},W={class:`text-caption text-grey-6 q-mt-xs`},G={key:0,class:`q-mt-sm`},K={class:`text-caption text-negative q-mb-xs`},ce={class:`text-body2`},le={class:`text-caption text-grey-6`},ue={class:`row items-center`},de={class:`text-subtitle2`},fe={class:`text-subtitle2 q-mb-sm`},pe={class:`column q-gutter-xs`},me={class:`row items-center`},he={class:`q-ml-sm text-caption text-grey-6`},ge={class:`row items-center`},_e={class:`q-ml-sm text-caption text-grey-6`},ve={class:`row items-center`},ye={class:`q-ml-sm text-caption text-grey-6`},q=ne({__name:`HealthPage`,setup(ne){let q=oe(),be=re(),J=r(null),Y=r(!1);async function X(){Y.value=!0;try{let e=await fetch(`/api/health/report`);if(!e.ok)throw Error(`HTTP ${e.status}`);J.value=await e.json()}catch(e){q.notify({type:`negative`,message:String(e),position:`top`,timeout:4e3})}finally{Y.value=!1}}n(X);let xe=l(()=>{let e=J.value?.db.sizeBytes;return e==null?`—`:e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/1024/1024).toFixed(1)} MB`}),Z=l(()=>{let e=J.value;return e?e.db.schemaVersion===e.db.currentSchemaVersion:!1});function Q(e){return e?`check_circle`:`error`}function $(e){return e?`positive`:`negative`}return(n,r)=>(e(),o(y,{class:`q-pa-md`,style:{"max-width":`900px`,margin:`0 auto`}},{default:i(()=>[f(`div`,b,[c(m,{flat:``,dense:``,round:``,icon:`arrow_back`,onClick:r[0]||=e=>d(be).back()}),f(`div`,x,a(n.$t(`health.title`)),1),c(_),c(m,{flat:``,dense:``,icon:`refresh`,loading:Y.value,label:n.$t(`common.refresh`),onClick:X},null,8,[`loading`,`label`])]),!J.value&&Y.value?(e(),u(`div`,S,a(n.$t(`common.loading`)),1)):J.value?(e(),u(`div`,C,[c(g,{dark:``,flat:``,bordered:``},{default:i(()=>[c(h,null,{default:i(()=>[f(`div`,w,a(n.$t(`health.envTitle`)),1),f(`div`,T,a(n.$t(`health.koboHome`)),1),f(`div`,E,a(J.value.koboHome),1)]),_:1})]),_:1}),c(g,{dark:``,flat:``,bordered:``},{default:i(()=>[c(h,null,{default:i(()=>[f(`div`,D,[f(`div`,O,a(n.$t(`health.dbTitle`)),1),c(_),c(p,{name:Q(Z.value),color:$(Z.value)},null,8,[`name`,`color`])]),f(`div`,k,[f(`div`,A,[f(`div`,j,a(n.$t(`health.dbPath`)),1),f(`div`,M,a(J.value.db.path),1)]),f(`div`,N,[f(`div`,P,a(n.$t(`health.dbSize`)),1),f(`div`,F,a(xe.value),1)]),f(`div`,I,[f(`div`,L,a(n.$t(`health.schemaVersion`)),1),f(`div`,R,a(J.value.db.schemaVersion)+` / `+a(J.value.db.currentSchemaVersion),1)])])]),_:1})]),_:1}),c(g,{dark:``,flat:``,bordered:``},{default:i(()=>[c(h,null,{default:i(()=>[f(`div`,z,[f(`div`,B,a(n.$t(`health.cliTitle`)),1),c(_),c(p,{name:Q(J.value.claudeCli.available),color:$(J.value.claudeCli.available)},null,8,[`name`,`color`])]),J.value.claudeCli.available?(e(),u(`div`,V,a(J.value.claudeCli.version),1)):(e(),u(`div`,se,a(n.$t(`health.cliMissing`)),1))]),_:1})]),_:1}),c(g,{dark:``,flat:``,bordered:``},{default:i(()=>[c(h,null,{default:i(()=>[f(`div`,H,[f(`div`,U,a(n.$t(`health.workspacesTitle`)),1),c(_),c(p,{name:Q(J.value.workspaces.worktreesMissing.length===0),color:$(J.value.workspaces.worktreesMissing.length===0)},null,8,[`name`,`color`])]),f(`div`,W,a(n.$t(`health.workspacesCount`,{total:J.value.workspaces.total,archived:J.value.workspaces.archived})),1),J.value.workspaces.worktreesMissing.length>0?(e(),u(`div`,G,[f(`div`,K,a(n.$t(`health.worktreesMissing`,{count:J.value.workspaces.worktreesMissing.length})),1),c(v,{dense:``,dark:``},{default:i(()=>[(e(!0),u(te,null,t(J.value.workspaces.worktreesMissing,t=>(e(),o(ie,{key:t.workspaceId},{default:i(()=>[c(ae,null,{default:i(()=>[f(`div`,ce,a(t.name),1),f(`div`,le,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`,ue,[f(`div`,de,a(n.$t(`health.sessionsTitle`)),1),c(_),c(p,{name:Q(J.value.agentSessions.orphaned===0),color:$(J.value.agentSessions.orphaned===0)},null,8,[`name`,`color`])]),f(`div`,{class:ee([`text-caption q-mt-xs`,J.value.agentSessions.orphaned>0?`text-negative`:`text-grey-6`])},a(n.$t(`health.sessionsOrphaned`,{n:J.value.agentSessions.orphaned})),3)]),_:1})]),_:1}),c(g,{dark:``,flat:``,bordered:``},{default:i(()=>[c(h,null,{default:i(()=>[f(`div`,fe,a(n.$t(`health.integrationsTitle`)),1),f(`div`,pe,[f(`div`,me,[c(p,{name:Q(J.value.integrations.notion.configured),color:$(J.value.integrations.notion.configured),size:`sm`},null,8,[`name`,`color`]),r[1]||=f(`span`,{class:`q-ml-sm text-body2`},`Notion`,-1),f(`span`,he,a(J.value.integrations.notion.configured?n.$t(`health.integrationConfigured`):n.$t(`health.integrationMissing`)),1)]),f(`div`,ge,[c(p,{name:Q(J.value.integrations.sentry.configured),color:$(J.value.integrations.sentry.configured),size:`sm`},null,8,[`name`,`color`]),r[2]||=f(`span`,{class:`q-ml-sm text-body2`},`Sentry`,-1),f(`span`,_e,a(J.value.integrations.sentry.configured?n.$t(`health.integrationConfigured`):n.$t(`health.integrationMissing`)),1)]),f(`div`,ve,[c(p,{name:Q(J.value.integrations.editor.configured),color:$(J.value.integrations.editor.configured),size:`sm`},null,8,[`name`,`color`]),r[3]||=f(`span`,{class:`q-ml-sm text-body2`},`Editor`,-1),f(`span`,ye,a(J.value.integrations.editor.configured?n.$t(`health.integrationConfigured`):n.$t(`health.integrationMissing`)),1)])])]),_:1})]),_:1})])):s(``,!0)]),_:1}))}});export{q as default};
@@ -1,5 +1,5 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/DiffViewer-BwSRtVRI.js","assets/index-CUI-zN26.js","assets/vue-i18n-CeG0hR0Z.js","assets/runtime-core.esm-bundler-C3IgBgY5.js","assets/QIcon-B0-pH3Qs.js","assets/use-id-CeduaJbU.js","assets/QSeparator-rkjCbX2M.js","assets/QBtn-CyzfM9-_.js","assets/use-checkbox-DYiZQsbF.js","assets/private.use-form-D1RuEt2P.js","assets/QDialog-DQeAxY3-.js","assets/scroll-JVVkg2Ng.js","assets/use-portal-DBe4lcC2.js","assets/symbols-DCYodwb2.js","assets/index-eX_lKHSg.css","assets/_plugin-vue_export-helper-r4mAJOHR.js","assets/QBadge-DqtcDv8D.js","assets/build-path-tree-Bgl2q74t.js","assets/QSlideTransition-BQxI8l5r.js","assets/QScrollArea-e5qTqwcb.js","assets/touch-CBLrR6_z.js","assets/TouchPan-BT6phK1f.js","assets/format-Bttc9ToS.js","assets/QSpace-BNr0AftG.js","assets/QSpinnerDots-DEiRooBD.js","assets/QTooltip-C4CPesBX.js","assets/DiffViewer-BVU58ujc.css"])))=>i.map(i=>d[i]);
2
- import{E as e,F as t,H as n,I as r,L as i,M as a,N as o,Q as s,R as c,S as l,U as u,W as d,Z as f,_ as p,_t as m,bt as h,d as g,f as _,g as v,h as y,k as b,l as x,p as S,r as C,rt as w,u as T,v as E,w as D,y as O,yt as k}from"./runtime-core.esm-bundler-C3IgBgY5.js";import{E as A,F as j,I as M,L as N,O as P,a as F,i as ee,l as I,n as te,r as L,s as ne,t as R}from"./QIcon-B0-pH3Qs.js";import{a as re,t as z}from"./QSeparator-rkjCbX2M.js";import{o as ie,s as ae,t as oe}from"./QDialog-DQeAxY3-.js";import{i as se,r as ce,t as le}from"./symbols-DCYodwb2.js";import{d as ue,l as de}from"./use-portal-DBe4lcC2.js";import{n as fe,r as pe,t as B}from"./QBtn-CyzfM9-_.js";import{d as me,l as he,r as ge,u as _e}from"./scroll-JVVkg2Ng.js";import{t as ve}from"./use-id-CeduaJbU.js";import{n as ye}from"./vue-i18n-CeG0hR0Z.js";import{D as be,E as xe,T as Se,_ as Ce,b as we,d as Te,f as Ee,g as De,i as Oe,m as ke,p as Ae,r as je,t as Me,v as Ne,x as Pe}from"./index-CUI-zN26.js";import{n as Fe,t as V}from"./QItemSection-CGpX7GcL.js";import{r as Ie}from"./touch-CBLrR6_z.js";import{n as Le,t as Re}from"./TouchPan-BT6phK1f.js";import{t as ze}from"./format-Bttc9ToS.js";import{n as Be,r as Ve,t as He}from"./documents-CHc8t22V.js";import{t as Ue}from"./_plugin-vue_export-helper-r4mAJOHR.js";import{t as We}from"./QBadge-DqtcDv8D.js";import{t as Ge}from"./QSpace-BNr0AftG.js";import{i as Ke,r as qe,t as Je}from"./build-path-tree-Bgl2q74t.js";import{t as H}from"./QTooltip-C4CPesBX.js";import{i as Ye,n as Xe,r as Ze,t as Qe}from"./QTabPanels--6cYe2US.js";import{n as $e,t as et}from"./QChip-KJoHYE6F.js";import{r as tt,t as nt}from"./rate-limit-labels-BoDORKFj.js";import{t as rt}from"./use-quasar-Ch82z8H5.js";import{t as it}from"./QList-B-MkPF7n.js";import{t as at}from"./ClosePopup-DhM1C4Zw.js";import{t as ot}from"./formatters-BDadphwz.js";var st=150,ct=P({name:`QDrawer`,inheritAttrs:!1,props:{...me,...L,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:[..._e,`onLayout`,`miniState`],setup(t,{slots:r,emit:i,attrs:o}){let c=O(),{proxy:{$q:u}}=c,f=te(t,u),{preventBodyScroll:p}=ie(),{registerTimeout:m,removeTimeout:h}=ue(),g=D(ce,le);if(g===le)return console.error(`QDrawer needs to be child of QLayout`),le;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||B.value===!0));function k(e,t){if(N(),e!==!1&&g.animate(),De(0),S.value===!0){let e=g.instances[se.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)},st)}function A(e,t){P(),e!==!1&&g.animate(),Oe(0),De(L.value*w.value),Ne(),t===!0?h():m(()=>{i(`hide`,e)},st)}let{show:j,hide:M}=he({showing:T,hideOnRouteChange:E,handleShow:k,handleHide:A}),{addToHistory:N,removeFromHistory:P}=ae(T,M,E),F={belowBreakpoint:S,hide:M},I=x(()=>t.side===`right`),L=x(()=>(u.lang.rtl===!0?-1:1)*(I.value===!0?1:-1)),R=s(0),re=s(!1),z=s(!1),oe=s(w.value*L.value),se=x(()=>I.value===!0?`left`:`right`),de=x(()=>T.value===!0&&S.value===!1&&t.overlay===!1?t.miniToOverlay===!0?t.miniWidth:w.value:0),fe=x(()=>t.overlay===!0||t.miniToOverlay===!0||g.view.value.indexOf(I.value?`R`:`L`)!==-1||u.platform.is.ios===!0&&g.isContainer.value===!0),pe=x(()=>t.overlay===!1&&T.value===!0&&S.value===!1),B=x(()=>t.overlay===!0&&T.value===!0&&S.value===!1),me=x(()=>`fullscreen q-drawer__backdrop`+(T.value===!1&&re.value===!1?` hidden`:``)),ge=x(()=>({backgroundColor:`rgba(0,0,0,${R.value*.4})`})),_e=x(()=>I.value===!0?g.rows.value.top[2]===`r`:g.rows.value.top[0]===`l`),ve=x(()=>I.value===!0?g.rows.value.bottom[2]===`r`:g.rows.value.bottom[0]===`l`),ye=x(()=>{let e={};return g.header.space===!0&&_e.value===!1&&(fe.value===!0?e.top=`${g.header.offset}px`:g.header.space===!0&&(e.top=`${g.header.size}px`)),g.footer.space===!0&&ve.value===!1&&(fe.value===!0?e.bottom=`${g.footer.offset}px`:g.footer.space===!0&&(e.bottom=`${g.footer.size}px`)),e}),be=x(()=>{let e={width:`${w.value}px`,transform:`translateX(${oe.value}px)`};return S.value===!0?e:Object.assign(e,ye.value)}),xe=x(()=>`q-drawer__content fit `+(g.isContainer.value===!0?`overflow-auto`:`scroll`)),Se=x(()=>`q-drawer q-drawer--${t.side}`+(z.value===!0?` q-drawer--mini-animate`:``)+(t.bordered===!0?` q-drawer--bordered`:``)+(f.value===!0?` q-drawer--dark q-dark`:``)+(re.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`}`+(fe.value===!0||pe.value!==!0?` fixed`:``)+(t.overlay===!0||t.miniToOverlay===!0?` q-drawer--on-top`:``)+(_e.value===!0?` q-drawer--top-padding`:``))),Ce=x(()=>[[Re,je,void 0,{[u.lang.rtl===!0?t.side:se.value]:!0,mouse:!0}]]),we=x(()=>[[Re,Me,void 0,{[u.lang.rtl===!0?se.value:t.side]:!0,mouse:!0}]]),Te=x(()=>[[Re,Me,void 0,{[u.lang.rtl===!0?se.value:t.side]:!0,mouse:!0,mouseAllDir:!0}]]);function Ee(){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]===F&&(g.instances[t]=void 0,g[t].space=!1,g[t].offset=0),g.instances[e]=F,g[e].size=w.value,g[e].space=pe.value,g[e].offset=de.value}),n(g.totalWidth,()=>{(g.isContainer.value===!0||document.qScrollPrevented!==!0)&&Ee()}),n(()=>t.behavior+t.breakpoint,Ee),n(g.isContainer,e=>{T.value===!0&&p(e!==!0),e===!0&&Ee()}),n(g.scrollbarWidth,()=>{De(T.value===!0?0:void 0)}),n(de,e=>{Pe(`offset`,e)}),n(pe,e=>{i(`onLayout`,e),Pe(`space`,e)}),n(I,()=>{De()}),n(w,e=>{De(),V(t.miniToOverlay,e)}),n(()=>t.miniToOverlay,e=>{V(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(L.value*t)}):(g.isContainer.value===!0&&I.value===!0&&(S.value===!0||Math.abs(t)===w.value)&&(t+=L.value*g.scrollbarWidth.value),oe.value=t)}function Oe(e){R.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`),z.value=!0,v=setTimeout(()=>{v=null,z.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=ze(e.distance.x,0,t);if(e.isFinal===!0){n>=Math.min(75,t)?j():(g.animate(),Oe(0),De(L.value*t)),re.value=!1;return}De((u.lang.rtl===!0?I.value!==!0:I.value)?Math.max(t-n,0):Math.min(0,n-t)),Oe(ze(n/t,0,1)),e.isFirst===!0&&(re.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)?ze(e.distance.x,0,n):0;if(e.isFinal===!0){Math.abs(i)<Math.min(75,n)?(g.animate(),Oe(1),De(0)):M(),re.value=!1;return}De(L.value*i),Oe(ze(1-i/n,0,1)),e.isFirst===!0&&(re.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 V(e,n){Pe(`size`,e===!0?t.miniWidth:n)}return g.instances[t.side]=F,V(t.miniToOverlay,w.value),Pe(`space`,pe.value),Pe(`offset`,de.value),t.showIfAbove===!0&&t.modelValue!==!0&&T.value===!0&&t[`onUpdate:modelValue`]!==void 0&&i(`update:modelValue`,!0),a(()=>{i(`onLayout`,pe.value),i(`miniState`,C.value),_=t.showIfAbove===!0;let r=()=>{(T.value===!0?k:A)(!1,!0)};if(g.totalWidth.value!==0){e(r);return}y=n(g.totalWidth,()=>{y(),y=void 0,T.value===!1&&t.showIfAbove===!0&&S.value===!1?j(!1):r()})}),b(()=>{y?.(),v!==null&&(clearTimeout(v),v=null),T.value===!0&&Ne(),g.instances[t.side]===F&&(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`}),Ce.value)),e.push(ee(`div`,{ref:`backdrop`,class:me.value,style:ge.value,"aria-hidden":`true`,onClick:M},void 0,`backdrop`,t.noSwipeBackdrop!==!0&&T.value===!0,()=>Te.value)));let n=C.value===!0&&r.mini!==void 0,i=[l(`div`,{...o,key:String(n),class:[xe.value,o.class]},n===!0?r.mini():ne(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(ee(`aside`,{ref:`content`,class:Se.value,style:be.value},i,`contentclose`,t.noSwipeClose!==!0&&S.value===!0,()=>we.value)),l(`div`,{class:`q-drawer-container`},e)}}}),lt=P({name:`QPageContainer`,setup(e,{slots:t}){let{proxy:{$q:n}}=O(),i=D(ce,le);if(i===le)return console.error(`QPageContainer needs to be child of QLayout`),le;r(se,!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},ne(t.default))}}),ut=P({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(re.value===!0?0:ge()),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?ge():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(ce,E),ge()>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=F(t.default,[l(Le,{onScroll:b}),l(Ie,{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(Ie,{onResize:C}),l(`div`,{class:`absolute-full`,style:v.value},[l(`div`,{class:`scroll`,style:y.value},[r])])]):r}}}),dt={class:`acceptance-panel q-pa-md`},ft={class:`row items-center q-mb-sm`},pt={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},mt={key:0,class:`criterion-add-row row items-center q-mb-xs`},ht={key:1,class:`acceptance-list`},gt=[`onDblclick`],_t={key:2,class:`text-caption text-grey-8`,style:{"font-size":`11px`}},vt=Ue(E({__name:`AcceptancePanel`,props:{tasks:{}},setup(n){let{t:r}=ye(),a=Ne(),o=De();function c(){let e=a.selectedWorkspaceId;e&&tt(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 A(){l.value=!0,d.value=``}async function j(){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 P(){d.value=``,l.value=!1}function F(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 ee(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 I(){f.value=null,p.value=``}async function te(e){let t=a.selectedWorkspace?.id;if(t)try{await a.deleteTask(t,e.id)}catch{}}return(e,r)=>(t(),S(`div`,dt,[T(`div`,ft,[T(`div`,pt,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(H,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:A},{default:u(()=>[v(H,null,{default:u(()=>[y(h(e.$t(`tooltip.addCriterion`)),1)]),_:1})]),_:1})):_(``,!0)]),l.value?(t(),S(`div`,mt,[v(Oe,{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:[M(N(j,[`prevent`]),[`enter`]),M(N(P,[`prevent`]),[`esc`])]},null,8,[`modelValue`,`placeholder`,`onKeydown`])])):_(``,!0),n.tasks.length>0?(t(),S(`div`,ht,[(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(R,{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(Oe,{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:[M(N(e=>ee(n),[`prevent`]),[`enter`]),M(N(I,[`prevent`]),[`esc`])],onBlur:e=>ee(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=>F(n)},h(n.title),47,gt),v(B,{flat:``,dense:``,round:``,size:`xs`,icon:`close`,color:`grey-6`,class:`criterion-delete-btn`,onClick:e=>te(n)},{default:u(()=>[v(H,null,{default:u(()=>[y(h(e.$t(`tooltip.removeCriterion`)),1)]),_:1})]),_:1},8,[`onClick`])],64))]))),128))])):l.value?_(``,!0):(t(),S(`div`,_t,h(e.$t(`acceptance.empty`)),1))]))}}),[[`__scopeId`,`data-v-63b144ad`]]),yt={class:`agent-todos-panel q-pa-md`},bt={class:`row items-center q-mb-sm`},xt={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},St={key:0,class:`todos-list`},Ct={key:1,class:`text-caption text-grey-8`,style:{"font-size":`11px`}},wt=Ue(E({__name:`AgentTodosPanel`,setup(e){let{t:n}=ye(),r=Ne();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`,yt,[T(`div`,bt,[T(`div`,xt,h(e.$t(`agentTodos.title`)),1)]),w(r).currentAgentTodos.length>0?(t(),S(`div`,St,[(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(R,{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`,Ct,h(e.$t(`agentTodos.empty`)),1))]))}}),[[`__scopeId`,`data-v-4eddf754`]]),Tt={class:`documents-panel q-pa-md`},Et={class:`row items-center justify-between q-mb-sm`},Dt={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},Ot={key:0,class:`text-caption text-grey-8`},kt={key:1,class:`text-center q-py-lg`},At={key:2,class:`text-caption text-grey-8 text-center q-py-lg`},jt={key:0,class:`text-center q-py-lg`},Mt=[`innerHTML`],Nt=Ue(E({__name:`DocumentsPanel`,props:{workspace:{}},setup(e){let r=e,{t:i}=ye(),a=rt(),o=He(),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 Ve.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`,Tt,[T(`div`,Et,[T(`div`,Dt,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(H,null,{default:u(()=>[y(h(n.$t(`documents.refresh`)),1)]),_:1})]),_:1},8,[`loading`]))]),w(o).selected?(t(),S(C,{key:1},[w(o).loadingContent?(t(),S(`div`,jt,[v(I,{size:`24px`,color:`grey-6`})])):(t(),S(`div`,{key:1,class:`document-content`,innerHTML:d.value},null,8,Mt))],64)):(t(),S(C,{key:0},[e.workspace?w(o).loadingList?(t(),S(`div`,kt,[v(I,{size:`24px`,color:`grey-6`})])):s.value.length===0?(t(),S(`div`,At,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(R,{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`,Ot,h(n.$t(`common.selectWorkspace`)),1))],64))]))}}),[[`__scopeId`,`data-v-445c589c`]]),Pt=Object.keys(pe);function Ft(e){return Pt.reduce((t,n)=>{let r=e[n];return r!==void 0&&(t[n]=r),t},{})}var It=P({name:`QBtnDropdown`,props:{...pe,...de,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=ve(),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(()=>fe(e)),m=x(()=>Ft(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){A(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(R,{class:f.value,name:e.dropdownIcon||i.$q.iconSet.arrow.dropdown})];return e.disableDropdown!==!0&&n.push(l($e,{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:()=>ne(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)])}}}),Lt={class:`git-panel q-px-sm q-py-md`},Rt={class:`row items-center justify-between q-mb-sm`},zt={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},Bt={class:`row items-center q-mb-sm`},Vt={class:`text-caption text-grey-3`},Ht={class:`row items-center q-mb-sm`},Ut={class:`text-caption text-grey-4`,style:{"font-family":`'Roboto Mono', monospace`,"font-size":`11px`}},Wt={class:`text-caption q-mb-sm text-grey-8`,style:{"font-size":`11px`}},Gt={key:0},Kt={key:1,style:{color:`#4ade80`}},qt={key:2,style:{color:`#f59e0b`}},Jt={class:`row items-center q-mb-xs`},Yt={class:`text-caption text-grey-4`,style:{"font-size":`11px`}},Xt={key:0,class:`row items-center q-mb-md`},Zt={class:`text-caption text-grey-4`,style:{"font-size":`11px`}},Qt={key:0,class:`text-caption q-ml-xs`,style:{"font-size":`11px`,color:`#4ade80`}},$t={key:1,class:`text-caption q-ml-xs`,style:{"font-size":`11px`,color:`#f87171`}},en={key:1,class:`q-mb-xs`},tn={key:2,class:`row items-center q-gutter-xs q-mb-md`,style:{"font-size":`11px`}},nn={key:0,class:`text-caption`,style:{color:`#4ade80`}},rn={key:1,class:`text-caption`,style:{color:`#f59e0b`}},an={key:2,class:`text-caption text-grey-6`},on={key:3,class:`q-mb-md`},sn={class:`row items-center q-gutter-xs`},cn={key:1,class:`text-caption text-grey-8`},ln={class:`text-subtitle1 text-warning`},un={class:`text-caption text-grey-6 q-mt-xs`},dn={class:`text-caption text-mono`},fn=Ue(E({__name:`GitPanel`,props:{workspace:{}},setup(e){let r=p(()=>Ee(()=>import(`./DiffViewer-BwSRtVRI.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]))),a=e,{t:c}=ye(),l=rt(),f=Ne(),m=s(!1),b=s(!1),E=s(!1),D=s(!1),O=s(!1),k=s(!1),A=s(!1),j=s(!1),M=s(null),N=s([]),P=s(!1),F=s(!1);function ee(e){f.chatDraft=e,A.value=!1}let I=s(null),te=s(!1),L=x(()=>{if(!a.workspace?.projectPath)return`-`;let e=a.workspace.projectPath.replace(/\\/g,`/`).split(`/`);return e[e.length-1]||e[e.length-2]||`-`}),ne=x(()=>!(!I.value||I.value.unpushedCount===-1)),re=x(()=>I.value&&I.value.unpushedCount===-1?c(`git.createPrNoRemote`):``);async function z(){if(!a.workspace){I.value=null;return}te.value=!0;try{I.value=await f.fetchGitStats(a.workspace.id)}catch{I.value=null}finally{te.value=!1}}n(()=>a.workspace?.id,()=>z(),{immediate:!0});let ie=null;n(()=>f.gitRefreshTrigger,()=>{ie&&clearTimeout(ie),ie=setTimeout(()=>z(),3e3)}),o(()=>{ie&&clearTimeout(ie)});function ae(){a.workspace&&l.dialog({title:c(`git.rebaseConfirmTitle`),message:c(`git.rebaseConfirmMessage`,{branch:a.workspace.sourceBranch}),dark:!0,cancel:{flat:!0,label:c(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:c(`git.rebase`),color:`orange-4`}}).onOk(async()=>{E.value=!0;try{let e=await fetch(`/api/workspaces/${a.workspace.id}/rebase`,{method:`POST`});if(e.status===409){let t=await e.json();ce(`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`}),z()}catch(e){let t=e instanceof Error?e.message:c(`git.rebaseFailed`);l.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{E.value=!1}})}function se(){a.workspace&&l.dialog({title:c(`git.mergeConfirmTitle`),message:c(`git.mergeConfirmMessage`,{branch:a.workspace.sourceBranch}),dark:!0,cancel:{flat:!0,label:c(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:c(`git.merge`),color:`purple-4`}}).onOk(async()=>{D.value=!0;try{let e=await fetch(`/api/workspaces/${a.workspace.id}/merge`,{method:`POST`});if(e.status===409){let t=await e.json();ce(`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`}),z()}catch(e){let t=e instanceof Error?e.message:c(`git.mergeFailed`);l.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{D.value=!1}})}function ce(e,t){M.value=e,N.value=t,j.value=!0}async function le(){if(a.workspace){P.value=!0;try{let e=await fetch(`/api/workspaces/${a.workspace.id}/git/abort`,{method:`POST`});if(!e.ok){let t=await e.json();throw Error(t.error??`Abort failed`)}l.notify({type:`positive`,message:c(`git.conflictAborted`),position:`top`}),j.value=!1,z()}catch(e){let t=e instanceof Error?e.message:`Abort failed`;l.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{P.value=!1}}}async function ue(){if(!(!a.workspace||!M.value)){F.value=!0;try{let e=await fetch(`/api/workspaces/${a.workspace.id}/git/resolve-with-agent`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({operation:M.value,files:N.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`}),j.value=!1}catch(e){let t=e instanceof Error?e.message:`Handoff failed`;l.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{F.value=!1}}}function de(){a.workspace&&l.dialog({title:c(`git.pushConfirmTitle`),message:c(`git.pushConfirmMessage`,{branch:a.workspace.workingBranch}),dark:!0,cancel:{flat:!0,label:c(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:c(`git.push`),color:`grey-5`}}).onOk(async()=>{m.value=!0;try{await f.pushBranch(a.workspace.id),l.notify({type:`positive`,message:c(`git.branchPushed`),position:`top`}),z()}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 fe(){a.workspace&&l.dialog({title:c(`git.pullConfirmTitle`),message:c(`git.pullConfirmMessage`,{branch:a.workspace.workingBranch}),dark:!0,cancel:{flat:!0,label:c(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:c(`git.pull`),color:`grey-5`}}).onOk(async()=>{b.value=!0;try{await f.pullBranch(a.workspace.id),l.notify({type:`positive`,message:c(`git.branchPulled`),position:`top`}),z()}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{b.value=!1}})}function pe(){I.value?.prUrl&&window.open(I.value.prUrl,`_blank`)}function me(){a.workspace&&l.dialog({title:c(`git.changePrBaseTitle`),message:c(`git.changePrBaseMessage`),prompt:{model:a.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()||!a.workspace)){k.value=!0;try{let t=await fetch(`/api/workspaces/${a.workspace.id}/change-pr-base`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({base:e.trim()})});if(!t.ok){let e=await t.json();throw Error(e.error??`Failed`)}l.notify({type:`positive`,message:c(`git.changePrBaseSuccess`),position:`top`}),z()}catch(e){let t=e instanceof Error?e.message:c(`git.changePrBaseFailed`);l.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{k.value=!1}}})}async function he(){if(a.workspace){O.value=!0;try{let e=await f.openPullRequest(a.workspace.id);l.notify({type:`positive`,message:c(`git.prCreated`,{n:e.prNumber}),caption:e.prUrl,position:`top`,timeout:5e3}),z()}catch(e){if(e instanceof Ce&&e.code===`branch_not_pushed`){l.notify({type:`warning`,message:c(`git.pushFirst`),position:`top`,timeout:6e3});return}if(e instanceof Ce&&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{O.value=!1}}}return(n,a)=>(t(),S(`div`,Lt,[T(`div`,Rt,[T(`div`,zt,h(n.$t(`git.title`)),1),e.workspace?(t(),g(B,{key:0,flat:``,round:``,dense:``,size:`xs`,icon:`refresh`,color:`grey-6`,loading:te.value,onClick:z},{default:u(()=>[v(H,null,{default:u(()=>[y(h(n.$t(`tooltip.refreshGitStats`)),1)]),_:1})]),_:1},8,[`loading`])):_(``,!0)]),e.workspace?(t(),S(C,{key:0},[T(`div`,Bt,[v(R,{name:`folder`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),T(`span`,Vt,h(L.value),1)]),T(`div`,Ht,[a[5]||=T(`span`,{style:{width:`8px`,height:`8px`,"border-radius":`50%`,"background-color":`#4ade80`,display:`inline-block`},class:`q-mr-xs`},null,-1),T(`span`,Ut,h(e.workspace.workingBranch),1)]),T(`div`,Wt,[y(h(n.$t(`git.from`))+` `+h(e.workspace.sourceBranch)+` `,1),I.value?(t(),S(C,{key:0},[a[6]||=y(` · `,-1),I.value.unpushedCount===-1?(t(),S(`span`,Gt,h(n.$t(`git.localOnly`)),1)):I.value.unpushedCount===0?(t(),S(`span`,Kt,h(n.$t(`git.pushed`)),1)):(t(),S(`span`,qt,h(n.$t(`git.unpushed`,{count:I.value.unpushedCount})),1))],64)):_(``,!0)]),I.value?(t(),S(C,{key:0},[T(`div`,Jt,[v(R,{name:`commit`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),T(`span`,Yt,h(n.$t(`git.commits`,{count:I.value.commitCount},I.value.commitCount)),1)]),I.value.filesChanged>0?(t(),S(`div`,Xt,[v(R,{name:`insert_drive_file`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),T(`span`,Zt,h(n.$t(`git.files`,{count:I.value.filesChanged},I.value.filesChanged)),1),I.value.insertions>0?(t(),S(`span`,Qt,` +`+h(I.value.insertions),1)):_(``,!0),I.value.deletions>0?(t(),S(`span`,$t,` -`+h(I.value.deletions),1)):_(``,!0)])):(t(),S(`div`,en)),I.value.workingTree&&(I.value.workingTree.staged>0||I.value.workingTree.modified>0||I.value.workingTree.untracked>0)?(t(),S(`div`,tn,[v(R,{name:`edit_note`,size:`14px`,color:`grey-6`}),I.value.workingTree.staged>0?(t(),S(`span`,nn,h(n.$t(`git.staged`,{count:I.value.workingTree.staged})),1)):_(``,!0),I.value.workingTree.modified>0?(t(),S(`span`,rn,h(n.$t(`git.modified`,{count:I.value.workingTree.modified})),1)):_(``,!0),I.value.workingTree.untracked>0?(t(),S(`span`,an,h(n.$t(`git.untracked`,{count:I.value.workingTree.untracked})),1)):_(``,!0)])):(t(),S(`div`,on))],64)):_(``,!0),T(`div`,sn,[I.value&&I.value.unpushedCount!==-1?(t(),g(It,{key:0,split:``,dense:``,"no-caps":``,size:`sm`,outline:``,color:`grey-5`,icon:`sync`,label:n.$t(`git.sync`),class:`git-btn git-sync-btn`,loading:b.value||E.value||D.value,disable:!e.workspace||m.value,onClick:fe},{default:u(()=>[v(it,{dark:``,dense:``,style:{"min-width":`140px`}},{default:u(()=>[d((t(),g(Fe,{clickable:``,disable:b.value||E.value||D.value,onClick:fe},{default:u(()=>[v(V,{avatar:``,style:{"min-width":`28px`}},{default:u(()=>[v(R,{name:`download`,size:`16px`,color:`grey-5`})]),_:1}),v(V,null,{default:u(()=>[y(h(n.$t(`git.pull`)),1)]),_:1})]),_:1},8,[`disable`])),[[at]]),d((t(),g(Fe,{clickable:``,disable:b.value||E.value||D.value,onClick:ae},{default:u(()=>[v(V,{avatar:``,style:{"min-width":`28px`}},{default:u(()=>[v(R,{name:`replay`,size:`16px`,color:`orange-4`})]),_:1}),v(V,null,{default:u(()=>[y(h(n.$t(`git.rebase`)),1)]),_:1})]),_:1},8,[`disable`])),[[at]]),d((t(),g(Fe,{clickable:``,disable:b.value||E.value||D.value,onClick:se},{default:u(()=>[v(V,{avatar:``,style:{"min-width":`28px`}},{default:u(()=>[v(R,{name:`merge`,size:`16px`,color:`purple-4`})]),_:1}),v(V,null,{default:u(()=>[y(h(n.$t(`git.merge`)),1)]),_:1})]),_:1},8,[`disable`])),[[at]])]),_:1})]),_:1},8,[`label`,`loading`,`disable`])):_(``,!0),!I.value||I.value.unpushedCount!==0?(t(),g(B,{key:1,dense:``,"no-caps":``,size:`sm`,outline:``,color:`grey-5`,icon:`upload`,label:n.$t(`git.push`),class:`git-btn`,loading:m.value,disable:!e.workspace||O.value||b.value||E.value,onClick:de},null,8,[`label`,`loading`,`disable`])):_(``,!0),v(B,{dense:``,"no-caps":``,size:`sm`,outline:``,color:`grey-5`,icon:`difference`,label:n.$t(`git.diff`),class:`git-btn`,disable:!e.workspace,onClick:a[0]||=e=>A.value=!0},null,8,[`label`,`disable`]),I.value?.prUrl&&I.value.prState===`OPEN`?(t(),g(B,{key:2,dense:``,"no-caps":``,size:`sm`,outline:``,color:`grey-5`,icon:`swap_horiz`,loading:k.value,class:`git-btn`,onClick:me},{default:u(()=>[v(H,null,{default:u(()=>[y(h(n.$t(`git.changePrBase`)),1)]),_:1})]),_:1},8,[`loading`])):_(``,!0),I.value?.prUrl?(t(),g(B,{key:3,dense:``,"no-caps":``,size:`sm`,outline:``,color:`green-4`,icon:`open_in_new`,label:n.$t(`git.viewPr`),class:`git-btn`,onClick:pe},null,8,[`label`])):_(``,!0),!I.value?.prUrl||I.value.prState===`CLOSED`||I.value.prState===`MERGED`?(t(),g(B,{key:4,dense:``,"no-caps":``,size:`sm`,outline:``,color:`indigo-4`,icon:`open_in_new`,label:n.$t(`git.createPr`),class:`git-btn`,loading:O.value,disable:!e.workspace||m.value||!ne.value,onClick:he},{default:u(()=>[!ne.value&&re.value?(t(),g(H,{key:0},{default:u(()=>[y(h(re.value),1)]),_:1})):_(``,!0)]),_:1},8,[`label`,`loading`,`disable`])):_(``,!0)])],64)):(t(),S(`div`,cn,h(n.$t(`common.selectWorkspace`)),1)),v(oe,{modelValue:j.value,"onUpdate:modelValue":a[2]||=e=>j.value=e,persistent:``},{default:u(()=>[v(Se,{dark:``,style:{"min-width":`420px`,"max-width":`600px`}},{default:u(()=>[v(be,null,{default:u(()=>[T(`div`,ln,[v(R,{name:`warning`,class:`q-mr-xs`}),y(` `+h(M.value===`merge`?n.$t(`git.conflictTitleMerge`):n.$t(`git.conflictTitleRebase`)),1)]),T(`div`,un,h(n.$t(`git.conflictSubtitle`,{count:N.value.length})),1)]),_:1}),N.value.length>0?(t(),g(be,{key:0,class:`q-pt-none`},{default:u(()=>[v(it,{dense:``,dark:``},{default:u(()=>[(t(!0),S(C,null,i(N.value,e=>(t(),g(Fe,{key:e},{default:u(()=>[v(V,{side:``},{default:u(()=>[v(R,{name:`insert_drive_file`,size:`xs`})]),_:1}),v(V,null,{default:u(()=>[T(`div`,dn,h(e),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})):_(``,!0),v(Te,{align:`right`},{default:u(()=>[v(B,{flat:``,"no-caps":``,label:n.$t(`common.cancel`),color:`grey-5`,disable:P.value||F.value,onClick:a[1]||=e=>j.value=!1},null,8,[`label`,`disable`]),v(B,{flat:``,"no-caps":``,color:`red-4`,icon:`undo`,label:n.$t(`git.conflictAbort`),loading:P.value,disable:F.value,onClick:le},null,8,[`label`,`loading`,`disable`]),v(B,{unelevated:``,"no-caps":``,color:`primary`,icon:`smart_toy`,label:n.$t(`git.conflictResolveWithAgent`),loading:F.value,disable:P.value,onClick:ue},null,8,[`label`,`loading`,`disable`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),v(oe,{modelValue:A.value,"onUpdate:modelValue":a[4]||=e=>A.value=e,maximized:``},{default:u(()=>[e.workspace?(t(),g(w(r),{key:0,"workspace-id":e.workspace.id,onClose:a[3]||=e=>A.value=!1,onSendToChat:ee},null,8,[`workspace-id`])):_(``,!0)]),_:1},8,[`modelValue`])]))}}),[[`__scopeId`,`data-v-41b9e33a`]]),pn={class:`notion-panel q-pa-md`},mn={class:`row items-center q-mb-sm`},hn={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},gn={key:0,class:`q-mb-sm`},_n=[`href`],vn={key:1,class:`text-caption q-mb-sm text-grey-8`},yn={key:3,class:`q-mb-sm`},bn={class:`text-caption text-grey-7`,style:{"font-size":`11px`}},xn={key:4,class:`text-caption text-grey-8 q-mb-sm`,style:{"font-size":`11px`}},Sn={key:5,class:`task-add-row row items-center q-mb-xs`},Cn={key:6,class:`tasks-list`},wn=[`onDblclick`],Tn={key:1,class:`text-caption text-grey-8`},En=Ue(E({__name:`NotionPanel`,props:{workspace:{},tasks:{}},setup(n){let r=n,{t:a}=ye(),o=Ne(),c=De(),l=s(!1);function d(){r.workspace?.id&&tt(r.workspace.id,c,o)}let f=x(()=>r.tasks.filter(e=>!e.isAcceptanceCriterion)),p=x(()=>f.value.filter(e=>e.status===`done`).length),b=x(()=>f.value.length),w=x(()=>b.value>0?p.value/b.value:0),E=s(!1),D=s(``),O=s(null),A=s(``),j=s({});function P(e,t){if(t){let n=t.$el??t;j.value[e]=n}else delete j.value[e]}async function F(){if(!(!r.workspace?.id||!r.workspace.notionUrl)){l.value=!0;try{let e=await fetch(`/api/workspaces/${r.workspace.id}/refresh-notion`,{method:`POST`});if(!e.ok)throw Error(`HTTP ${e.status}`);o.fetchWorkspaceDetails(r.workspace.id)}catch(e){console.error(`Failed to refresh from Notion:`,e)}finally{l.value=!1}}}function ee(){E.value=!0,D.value=``}async function I(){let e=D.value.trim();if(!(!e||!r.workspace?.id))try{await o.createTask(r.workspace.id,e,!1),D.value=``,E.value=!1}catch{}}function te(){D.value=``,E.value=!1}function L(t){O.value=t.id,A.value=t.title,e(()=>{let e=j.value[t.id]?.querySelector(`input, textarea`);e?.focus(),e?.select()})}async function ne(e){if(O.value!==e.id)return;let t=A.value.trim(),n=e.id;if(O.value=null,!(!t||t===e.title)&&r.workspace?.id)try{await o.updateTaskTitle(r.workspace.id,n,t)}catch{}}function re(){O.value=null,A.value=``}async function z(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`,pn,[T(`div`,mn,[T(`div`,hn,h(e.$t(`notion.title`)),1),v(Ge),n.workspace?(t(),g(B,{key:0,flat:``,dense:``,round:``,size:`xs`,icon:`fact_check`,color:`grey-5`,onClick:d},{default:u(()=>[v(H,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(H,null,{default:u(()=>[y(h(e.$t(`tooltip.addNotionTask`)),1)]),_:1})]),_:1})):_(``,!0)]),n.workspace?(t(),S(C,{key:0},[n.workspace.notionUrl?(t(),S(`div`,gn,[T(`a`,{href:n.workspace.notionUrl,target:`_blank`,rel:`noopener noreferrer`,class:`notion-link text-caption items-center text-blue-4`},[v(R,{name:`open_in_new`,size:`12px`,class:`q-mr-xs`}),y(` `+h(e.$t(`notion.openInNotion`)),1)],8,_n)])):(t(),S(`div`,vn,h(e.$t(`notion.noUrl`)),1)),n.workspace.notionUrl?(t(),g(B,{key:2,flat:``,dense:``,"no-caps":``,size:`xs`,icon:`refresh`,label:e.$t(`common.refresh`),color:`grey-6`,class:`q-mb-sm`,loading:l.value,onClick:F},null,8,[`label`,`loading`])):_(``,!0),b.value>0?(t(),S(`div`,yn,[v(xe,{value:w.value,color:`primary`,"track-color":`grey-9`,class:`q-mb-xs`,style:{height:`4px`,"border-radius":`2px`}},null,8,[`value`]),T(`div`,bn,h(e.$t(`notion.subtasks`,{done:p.value,total:b.value})),1)])):E.value?_(``,!0):(t(),S(`div`,xn,h(e.$t(`notion.noTasks`)),1)),E.value?(t(),S(`div`,Sn,[v(Oe,{modelValue:D.value,"onUpdate:modelValue":r[0]||=e=>D.value=e,dark:``,dense:``,borderless:``,autofocus:``,placeholder:e.$t(`notion.newTask`),class:`col task-input`,"input-class":`task-input-inner`,onKeydown:[M(N(I,[`prevent`]),[`enter`]),M(N(te,[`prevent`]),[`esc`])]},null,8,[`modelValue`,`placeholder`,`onKeydown`])])):_(``,!0),f.value.length>0?(t(),S(`div`,Cn,[(t(!0),S(C,null,i(f.value,n=>(t(),S(`div`,{key:n.id,class:`task-item row items-center q-py-xxs`},[v(R,{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`]),O.value===n.id?(t(),g(Oe,{key:0,ref_for:!0,ref:e=>P(n.id,e),modelValue:A.value,"onUpdate:modelValue":r[1]||=e=>A.value=e,dark:``,dense:``,borderless:``,class:`col task-input`,"input-class":`task-input-inner`,onKeydown:[M(N(e=>ne(n),[`prevent`]),[`enter`]),M(N(re,[`prevent`]),[`esc`])],onBlur:e=>ne(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=>L(n)},h(n.title),47,wn),v(B,{flat:``,dense:``,round:``,size:`xs`,icon:`close`,color:`grey-6`,class:`task-delete-btn`,onClick:e=>z(n)},{default:u(()=>[v(H,null,{default:u(()=>[y(h(e.$t(`tooltip.removeNotionTask`)),1)]),_:1})]),_:1},8,[`onClick`])],64))]))),128))])):_(``,!0)],64)):(t(),S(`div`,Tn,h(e.$t(`common.selectWorkspace`)),1))]))}}),[[`__scopeId`,`data-v-99e38dbd`]]),Dn={class:`stats-panel q-pa-md`},On={class:`row items-center q-mb-md`},kn={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},An={class:`stat-group-label q-mb-xs`},jn={class:`stat-row`},Mn={class:`stat-label`},Nn={class:`stat-value`},Pn={class:`stat-row`},Fn={class:`stat-label`},In={class:`stat-value`},Ln={key:0,class:`stat-row`},Rn={class:`stat-label`},zn={class:`stat-value stat-value-ellipsis`},Bn={class:`stat-row`},Vn={class:`stat-label`},Hn={class:`stat-value`},Un={class:`stat-row`},Wn={class:`stat-label`},Gn={class:`stat-value`},Kn={class:`stat-group-label q-mb-xs`},qn={class:`stat-row`},Jn={class:`stat-label`},Yn={class:`stat-value`},Xn={key:1,class:`stat-row`},Zn={class:`stat-label`},Qn={class:`stat-value`},$n={key:2,class:`stat-row`},er={class:`stat-label`},tr={class:`stat-value`},nr={key:3,class:`stat-row`},rr={class:`stat-label`},ir={class:`stat-value`},ar={key:4,class:`stat-row`},or={class:`stat-label`},sr={class:`stat-value`},cr={class:`stat-group-label q-mb-xs`},lr={class:`stat-row`},ur={class:`stat-label`},dr={class:`stat-value`},fr={class:`stat-row`},pr={class:`stat-label`},mr={class:`stat-value`},hr={class:`stat-row`},gr={class:`stat-label`},_r={class:`stat-value`},vr={key:5,class:`stat-row`},yr={class:`stat-label text-red-4`},br={class:`stat-value text-red-4`},xr={key:6},Sr={class:`stat-group-label q-mb-xs`},Cr={class:`usage-breakdown q-mb-sm`},wr={class:`stat-row`},Tr={class:`stat-label`},Er={class:`stat-value`},Dr={class:`stat-value-muted`},Or={class:`stat-row`},kr={class:`stat-label`},Ar={class:`stat-value`},jr={class:`stat-value-muted`},Mr={class:`stat-row`},Nr={class:`stat-label`},Pr={class:`stat-value`},Fr={key:0,class:`stat-row`},Ir={class:`stat-label`},Lr={class:`stat-value`},Rr={key:7},zr={class:`stat-group-label q-mb-xs`},Br={class:`stat-row q-mb-xxs`},Vr={class:`stat-label`},Hr={class:`stat-value`},Ur={key:0,class:`stat-subtext q-mt-xxs`},Wr={key:0},Gr={key:1},Kr={key:2},qr={key:8},Jr={class:`stat-group-label q-mb-xs`},Yr={class:`stat-row`},Xr={class:`stat-label`},Zr={class:`stat-value`},Qr={key:0,class:`stat-row`},$r={class:`stat-label`},ei={class:`stat-value`},ti={key:1,class:`stat-row`},ni={class:`stat-label`},ri={class:`stat-value`},ii={key:9},ai={class:`stat-group-label q-mb-xs`},oi={key:0,class:`q-mb-xs`},si={class:`stat-row q-mb-xxs`},ci={class:`stat-label`},li={class:`stat-value`},ui={key:1},di={class:`stat-row q-mb-xxs`},fi={class:`stat-label`},pi={class:`stat-value`},mi={key:1,class:`text-caption text-grey-8`},hi=Ue(E({__name:`StatsPanel`,props:{workspace:{}},setup(e){let{t:n}=ye(),r=Ne(),{timeAgo:a}=ot(),o=x(()=>{let e=r.selectedWorkspaceId;if(!e)return null;let t=r.activityFeeds[e]??[],n=r.sessions,i=Object.values(r.subagents[e]??{}),a=r.tasks,o=r.selectedWorkspace,s=r.activityCounts[e]??{toolUses:0,agentMessages:0,userMessages:0,errors:0},c=s.toolUses,l=s.agentMessages,u=s.userMessages,d=s.errors,f=n.length,p=n.filter(e=>e.status===`completed`).length,m=i.length,h=i.filter(e=>e.status===`done`).length,g=i.reduce((e,t)=>e+(t.totalTokens??0),0),_=i.reduce((e,t)=>e+(t.toolUses??0),0),v=a.filter(e=>!e.isAcceptanceCriterion).length,y=a.filter(e=>!e.isAcceptanceCriterion&&e.status===`done`).length,b=a.filter(e=>e.isAcceptanceCriterion).length,x=a.filter(e=>e.isAcceptanceCriterion&&e.status===`done`).length,S=o?.createdAt?new Date(o.createdAt):null,C=o?.updatedAt?new Date(o.updatedAt):null,w=S?Date.now()-S.getTime():0,T=null,E=null;for(let e=t.length-1;e>=0;e--){let n=t[e];if(!T&&n.meta?.sender===`user`&&(T=new Date(n.timestamp)),!E&&n.type===`text`&&n.meta?.sender!==`user`&&n.meta?.sender!==`system-prompt`&&(E=new Date(n.timestamp)),T&&E)break}let D=n.length>0?new Date(n[n.length-1].startedAt):null,O=r.usageStats[e]??{inputTokens:0,outputTokens:0,costUsd:0,sessionCount:0},k=r.rateLimitUsage[e],A=o?.model??`auto`,j=o?.workingBranch??``,M=o?.status??``;return{toolUses:c,agentMessages:l,userMessages:u,errors:d,totalSessions:f,completedSessions:p,totalSubagents:m,doneSubagents:h,totalSubagentTokens:g,totalSubagentTools:_,totalTasks:v,doneTasks:y,totalCriteria:b,doneCriteria:x,durationMs:w,createdAt:S,updatedAt:C,lastPromptAt:T,lastAgentResponseAt:E,firstSessionAt:D,model:A,branch:j,status:M,usage:O,rateLimitUsage:k}});function s(e){let t=Math.floor(e/6e4);if(t<60)return`${t}m`;let n=Math.floor(t/60),r=t%60;return n<24?`${n}h ${r}m`:`${Math.floor(n/24)}d ${n%24}h`}function c(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}function l(e){return e.toLocaleDateString(void 0,{day:`2-digit`,month:`2-digit`,year:`numeric`})}function d(e){return e.toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`})}function f(e){return`${l(e)} ${d(e)}`}function p(e,t){return e?nt(e,n):n(`stats.usageBucket`,{n:t+1})}function m(e,t){return t<=0?0:Math.max(0,Math.min(100,e/t*100))}return(n,l)=>(t(),S(`div`,Dn,[T(`div`,On,[T(`div`,kn,h(n.$t(`stats.title`)),1),v(Ge),e.workspace?(t(),g(B,{key:0,flat:``,round:``,dense:``,size:`xs`,icon:`refresh`,color:`grey-6`,onClick:l[0]||=t=>w(r).fetchWorkspaceDetails(e.workspace.id)},{default:u(()=>[v(H,null,{default:u(()=>[y(h(n.$t(`tooltip.refreshStats`)),1)]),_:1})]),_:1})):_(``,!0)]),e.workspace&&o.value?(t(),S(C,{key:0},[T(`div`,An,h(n.$t(`stats.info`)),1),T(`div`,jn,[T(`span`,Mn,h(n.$t(`stats.status`)),1),T(`span`,Nn,h(o.value.status),1)]),T(`div`,Pn,[T(`span`,Fn,h(n.$t(`stats.model`)),1),T(`span`,In,h(o.value.model),1)]),o.value.branch?(t(),S(`div`,Ln,[T(`span`,Rn,h(n.$t(`stats.branch`)),1),T(`span`,zn,h(o.value.branch),1)])):_(``,!0),T(`div`,Bn,[T(`span`,Vn,h(n.$t(`stats.sessions`)),1),T(`span`,Hn,h(o.value.completedSessions)+` / `+h(o.value.totalSessions),1)]),T(`div`,Un,[T(`span`,Wn,h(n.$t(`stats.duration`)),1),T(`span`,Gn,h(s(o.value.durationMs)),1)]),v(z,{dark:``,class:`q-my-sm`}),T(`div`,Kn,h(n.$t(`stats.timeline`)),1),T(`div`,qn,[T(`span`,Jn,h(n.$t(`stats.created`)),1),T(`span`,Yn,h(o.value.createdAt?f(o.value.createdAt):`—`),1)]),o.value.firstSessionAt?(t(),S(`div`,Xn,[T(`span`,Zn,h(n.$t(`stats.firstSession`)),1),T(`span`,Qn,h(f(o.value.firstSessionAt)),1)])):_(``,!0),o.value.lastPromptAt?(t(),S(`div`,$n,[T(`span`,er,h(n.$t(`stats.lastPrompt`)),1),T(`span`,tr,[y(h(w(a)(o.value.lastPromptAt))+` `,1),v(H,null,{default:u(()=>[y(h(f(o.value.lastPromptAt)),1)]),_:1})])])):_(``,!0),o.value.lastAgentResponseAt?(t(),S(`div`,nr,[T(`span`,rr,h(n.$t(`stats.lastResponse`)),1),T(`span`,ir,[y(h(w(a)(o.value.lastAgentResponseAt))+` `,1),v(H,null,{default:u(()=>[y(h(f(o.value.lastAgentResponseAt)),1)]),_:1})])])):_(``,!0),o.value.updatedAt?(t(),S(`div`,ar,[T(`span`,or,h(n.$t(`stats.updated`)),1),T(`span`,sr,h(w(a)(o.value.updatedAt)),1)])):_(``,!0),v(z,{dark:``,class:`q-my-sm`}),T(`div`,cr,h(n.$t(`stats.activity`)),1),T(`div`,lr,[T(`span`,ur,h(n.$t(`stats.agentMessages`)),1),T(`span`,dr,h(o.value.agentMessages),1)]),T(`div`,fr,[T(`span`,pr,h(n.$t(`stats.userMessages`)),1),T(`span`,mr,h(o.value.userMessages),1)]),T(`div`,hr,[T(`span`,gr,h(n.$t(`stats.toolCalls`)),1),T(`span`,_r,h(o.value.toolUses),1)]),o.value.errors>0?(t(),S(`div`,vr,[T(`span`,yr,h(n.$t(`stats.errors`)),1),T(`span`,br,h(o.value.errors),1)])):_(``,!0),o.value.usage.inputTokens>0||o.value.usage.outputTokens>0?(t(),S(`div`,xr,[v(z,{dark:``,class:`q-my-sm`}),T(`div`,Sr,h(n.$t(`stats.usage`)),1),T(`div`,Cr,[T(`div`,{class:`usage-breakdown-input`,style:k({width:`${m(o.value.usage.inputTokens,o.value.usage.inputTokens+o.value.usage.outputTokens)}%`})},null,4),T(`div`,{class:`usage-breakdown-output`,style:k({width:`${m(o.value.usage.outputTokens,o.value.usage.inputTokens+o.value.usage.outputTokens)}%`})},null,4)]),T(`div`,wr,[T(`span`,Tr,h(n.$t(`stats.inputTokens`)),1),T(`span`,Er,[y(h(c(o.value.usage.inputTokens))+` `,1),T(`span`,Dr,` (`+h(m(o.value.usage.inputTokens,o.value.usage.inputTokens+o.value.usage.outputTokens).toFixed(0))+`%) `,1)])]),T(`div`,Or,[T(`span`,kr,h(n.$t(`stats.outputTokens`)),1),T(`span`,Ar,[y(h(c(o.value.usage.outputTokens))+` `,1),T(`span`,jr,` (`+h(m(o.value.usage.outputTokens,o.value.usage.inputTokens+o.value.usage.outputTokens).toFixed(0))+`%) `,1)])]),T(`div`,Mr,[T(`span`,Nr,h(n.$t(`stats.totalTokens`)),1),T(`span`,Pr,h(c(o.value.usage.inputTokens+o.value.usage.outputTokens)),1)]),o.value.usage.costUsd>0?(t(),S(`div`,Fr,[T(`span`,Ir,h(n.$t(`stats.cost`)),1),T(`span`,Lr,`$`+h(o.value.usage.costUsd.toFixed(4)),1)])):_(``,!0)])):_(``,!0),o.value.rateLimitUsage?.buckets?.length?(t(),S(`div`,Rr,[v(z,{dark:``,class:`q-my-sm`}),T(`div`,zr,h(n.$t(`stats.usageLimits`)),1),(t(!0),S(C,null,i(o.value.rateLimitUsage.buckets,(e,r)=>(t(),S(`div`,{key:e.id,class:`q-mb-sm`},[T(`div`,Br,[T(`span`,Vr,h(p(e.label,r)),1),T(`span`,Hr,h(e.usedPct.toFixed(0))+`% `+h(n.$t(`stats.used`)),1)]),v(xe,{value:e.usedPct/100,color:`indigo-4`,"track-color":`grey-9`,style:{height:`6px`,"border-radius":`999px`}},null,8,[`value`]),e.details||e.resetAt?(t(),S(`div`,Ur,[e.details?(t(),S(`span`,Wr,h(e.details),1)):_(``,!0),e.details&&e.resetAt?(t(),S(`span`,Gr,` · `)):_(``,!0),e.resetAt?(t(),S(`span`,Kr,h(n.$t(`stats.resetsAt`,{value:e.resetAt})),1)):_(``,!0)])):_(``,!0)]))),128))])):_(``,!0),o.value.totalSubagents>0?(t(),S(`div`,qr,[v(z,{dark:``,class:`q-my-sm`}),T(`div`,Jr,h(n.$t(`stats.subagents`)),1),T(`div`,Yr,[T(`span`,Xr,h(n.$t(`stats.completed`)),1),T(`span`,Zr,h(o.value.doneSubagents)+` / `+h(o.value.totalSubagents),1)]),o.value.totalSubagentTokens>0?(t(),S(`div`,Qr,[T(`span`,$r,h(n.$t(`stats.tokens`)),1),T(`span`,ei,h(c(o.value.totalSubagentTokens)),1)])):_(``,!0),o.value.totalSubagentTools>0?(t(),S(`div`,ti,[T(`span`,ni,h(n.$t(`stats.toolCalls`)),1),T(`span`,ri,h(o.value.totalSubagentTools),1)])):_(``,!0)])):_(``,!0),o.value.totalTasks>0||o.value.totalCriteria>0?(t(),S(`div`,ii,[v(z,{dark:``,class:`q-my-sm`}),T(`div`,ai,h(n.$t(`stats.progress`)),1),o.value.totalTasks>0?(t(),S(`div`,oi,[T(`div`,si,[T(`span`,ci,h(n.$t(`stats.tasks`)),1),T(`span`,li,h(o.value.doneTasks)+` / `+h(o.value.totalTasks),1)]),v(xe,{value:o.value.doneTasks/o.value.totalTasks,color:`primary`,"track-color":`grey-9`,style:{height:`3px`,"border-radius":`2px`}},null,8,[`value`])])):_(``,!0),o.value.totalCriteria>0?(t(),S(`div`,ui,[T(`div`,di,[T(`span`,fi,h(n.$t(`stats.acceptanceCriteria`)),1),T(`span`,pi,h(o.value.doneCriteria)+` / `+h(o.value.totalCriteria),1)]),v(xe,{value:o.value.doneCriteria/o.value.totalCriteria,color:`green-6`,"track-color":`grey-9`,style:{height:`3px`,"border-radius":`2px`}},null,8,[`value`])])):_(``,!0)])):_(``,!0)],64)):(t(),S(`div`,mi,h(n.$t(`common.selectWorkspace`)),1))]))}}),[[`__scopeId`,`data-v-61fd94e7`]]),gi={class:`subagents-panel q-pa-md`},_i={class:`text-caption text-uppercase text-weight-bold text-grey-6 q-mb-sm`,style:{"letter-spacing":`0.05em`}},vi={key:0,class:`text-caption text-grey-8`},yi={class:`row items-center q-mb-xs`},bi={class:`text-caption text-weight-medium text-grey-3 ellipsis`,style:{"max-width":`220px`}},xi={key:0,class:`text-caption text-grey-6`,style:{"font-size":`10px`}},Si={class:`text-grey-4`},Ci={class:`row items-center q-gutter-xs q-mt-xs text-caption text-grey-7`,style:{"font-size":`10px`}},wi={key:0},Ti={key:1},Ei={key:2},Di=Ue(E({__name:`SubagentsPanel`,setup(e){let{t:n}=ye(),r=Ne(),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`,gi,[T(`div`,_i,h(e.$t(`subagents.title`)),1),a.value.length===0?(t(),S(`div`,vi,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`,yi,[v(R,{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`,bi,h(n.description||n.toolUseId),1)]),n.lastToolName?(t(),S(`div`,xi,[y(h(e.$t(`subagents.running`)),1),T(`span`,Si,h(n.lastToolName),1)])):_(``,!0),T(`div`,Ci,[n.toolUses===void 0?_(``,!0):(t(),S(`span`,wi,h(e.$t(`subagents.tools`,{count:n.toolUses})),1)),n.totalTokens?(t(),S(`span`,Ti,`· `+h(s(n.totalTokens))+` tok`,1)):_(``,!0),n.durationMs?(t(),S(`span`,Ei,`· `+h(o(n.durationMs)),1)):_(``,!0)])]))),128))]))}}),[[`__scopeId`,`data-v-81ad2481`]]),Oi=2,ki=1,Ai=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(Oi,Math.floor(u/e.css.cell.width)),rows:Math.max(ki,Math.floor(l/e.css.cell.height))}}},ji=Object.defineProperty,Mi=Object.getOwnPropertyDescriptor,Ni=(e,t)=>{for(var n in t)ji(e,n,{get:t[n],enumerable:!0})},Pi=(e,t,n,r)=>{for(var i=r>1?void 0:r?Mi(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&&ji(t,n,i),i},U=(e,t)=>(n,r)=>t(n,r,e),Fi=`Terminal input`,Ii={get:()=>Fi,set:e=>Fi=e},Li=`Too much output to announce, navigate to rows manually to read`,Ri={get:()=>Li,set:e=>Li=e};function zi(e){return e.replace(/\r?\n/g,`\r`)}function Bi(e,t){return t?`\x1B[200~`+e+`\x1B[201~`:e}function Vi(e,t){e.clipboardData&&e.clipboardData.setData(`text/plain`,t.selectionText),e.preventDefault()}function Hi(e,t,n,r){e.stopPropagation(),e.clipboardData&&Ui(e.clipboardData.getData(`text/plain`),t,n,r)}function Ui(e,t,n,r){e=zi(e),e=Bi(e,n.decPrivateModes.bracketedPasteMode&&r.rawOptions.ignoreBracketedPasteMode!==!0),n.triggerDataEvent(e,!0),t.value=``}function Wi(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 Gi(e,t,n,r,i){Wi(e,t,n),i&&r.rightClickSelect(e),t.value=r.selectionText,t.select()}function Ki(e){return e>65535?(e-=65536,String.fromCharCode((e>>10)+55296)+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)}function qi(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 Ji=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}},Yi=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}},Xi=``,Zi=` `,Qi=class e{constructor(){this.fg=0,this.bg=0,this.extended=new $i}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}},$i=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}},ea=class e extends Qi{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new $i,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?Ki(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()]}},ta=`di$target`,na=`di$dependencies`,ra=new Map;function ia(e){return e[na]||[]}function aa(e){if(ra.has(e))return ra.get(e);let t=function(e,n,r){if(arguments.length!==3)throw Error(`@IServiceName-decorator can only be used to decorate a parameter`);oa(t,e,r)};return t._id=e,ra.set(e,t),t}function oa(e,t,n){t[ta]===t?t[na].push({id:e,index:n}):(t[na]=[{id:e,index:n}],t[ta]=t)}var sa=aa(`BufferService`),ca=aa(`CoreMouseService`),la=aa(`CoreService`),ua=aa(`CharsetService`),da=aa(`InstantiationService`),fa=aa(`LogService`),pa=aa(`OptionsService`),ma=aa(`OscLinkService`),ha=aa(`UnicodeService`),ga=aa(`DecorationService`),_a=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 ea,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):va(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)}};_a=Pi([U(0,sa),U(1,pa),U(2,ma)],_a);function va(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-DdLwXeB3.js","assets/index-9vZWx9Bu.js","assets/vue-i18n-CeG0hR0Z.js","assets/runtime-core.esm-bundler-C3IgBgY5.js","assets/QIcon-B0-pH3Qs.js","assets/use-id-CeduaJbU.js","assets/QSeparator-rkjCbX2M.js","assets/QBtn-CyzfM9-_.js","assets/use-checkbox-DYiZQsbF.js","assets/private.use-form-D1RuEt2P.js","assets/QDialog-DQeAxY3-.js","assets/scroll-JVVkg2Ng.js","assets/use-portal-DBe4lcC2.js","assets/symbols-DCYodwb2.js","assets/index-eX_lKHSg.css","assets/_plugin-vue_export-helper-r4mAJOHR.js","assets/QBadge-DqtcDv8D.js","assets/build-path-tree-BE2FoPWg.js","assets/QSlideTransition-BQxI8l5r.js","assets/QScrollArea-e5qTqwcb.js","assets/touch-CBLrR6_z.js","assets/TouchPan-BT6phK1f.js","assets/format-Bttc9ToS.js","assets/QSpace-BNr0AftG.js","assets/QSpinnerDots-DEiRooBD.js","assets/QTooltip-C4CPesBX.js","assets/DiffViewer-BVU58ujc.css"])))=>i.map(i=>d[i]);
2
+ import{E as e,F as t,H as n,I as r,L as i,M as a,N as o,Q as s,R as c,S as l,U as u,W as d,Z as f,_ as p,_t as m,bt as h,d as g,f as _,g as v,h as y,k as b,l as x,p as S,r as C,rt as w,u as T,v as E,w as D,y as O,yt as k}from"./runtime-core.esm-bundler-C3IgBgY5.js";import{E as A,F as j,I as M,L as N,O as P,a as F,i as ee,l as I,n as te,r as L,s as ne,t as R}from"./QIcon-B0-pH3Qs.js";import{a as re,t as z}from"./QSeparator-rkjCbX2M.js";import{o as ie,s as ae,t as oe}from"./QDialog-DQeAxY3-.js";import{i as se,r as ce,t as le}from"./symbols-DCYodwb2.js";import{d as ue,l as de}from"./use-portal-DBe4lcC2.js";import{n as fe,r as pe,t as B}from"./QBtn-CyzfM9-_.js";import{d as me,l as he,r as ge,u as _e}from"./scroll-JVVkg2Ng.js";import{t as ve}from"./use-id-CeduaJbU.js";import{n as ye}from"./vue-i18n-CeG0hR0Z.js";import{D as be,E as xe,T as Se,_ as Ce,b as we,d as Te,f as Ee,g as De,i as Oe,m as ke,p as Ae,r as je,t as Me,v as Ne,x as Pe}from"./index-9vZWx9Bu.js";import{n as Fe,t as V}from"./QItemSection-CGpX7GcL.js";import{r as Ie}from"./touch-CBLrR6_z.js";import{n as Le,t as Re}from"./TouchPan-BT6phK1f.js";import{t as ze}from"./format-Bttc9ToS.js";import{n as Be,r as Ve,t as He}from"./documents-BJW_8dHZ.js";import{t as Ue}from"./_plugin-vue_export-helper-r4mAJOHR.js";import{t as We}from"./QBadge-DqtcDv8D.js";import{t as Ge}from"./QSpace-BNr0AftG.js";import{i as Ke,r as qe,t as Je}from"./build-path-tree-BE2FoPWg.js";import{t as H}from"./QTooltip-C4CPesBX.js";import{i as Ye,n as Xe,r as Ze,t as Qe}from"./QTabPanels--6cYe2US.js";import{n as $e,t as et}from"./QChip-KJoHYE6F.js";import{r as tt,t as nt}from"./rate-limit-labels-BoDORKFj.js";import{t as rt}from"./use-quasar-Ch82z8H5.js";import{t as it}from"./QList-B-MkPF7n.js";import{t as at}from"./ClosePopup-DhM1C4Zw.js";import{t as ot}from"./formatters-BDadphwz.js";var st=150,ct=P({name:`QDrawer`,inheritAttrs:!1,props:{...me,...L,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:[..._e,`onLayout`,`miniState`],setup(t,{slots:r,emit:i,attrs:o}){let c=O(),{proxy:{$q:u}}=c,f=te(t,u),{preventBodyScroll:p}=ie(),{registerTimeout:m,removeTimeout:h}=ue(),g=D(ce,le);if(g===le)return console.error(`QDrawer needs to be child of QLayout`),le;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||B.value===!0));function k(e,t){if(N(),e!==!1&&g.animate(),De(0),S.value===!0){let e=g.instances[se.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)},st)}function A(e,t){P(),e!==!1&&g.animate(),Oe(0),De(L.value*w.value),Ne(),t===!0?h():m(()=>{i(`hide`,e)},st)}let{show:j,hide:M}=he({showing:T,hideOnRouteChange:E,handleShow:k,handleHide:A}),{addToHistory:N,removeFromHistory:P}=ae(T,M,E),F={belowBreakpoint:S,hide:M},I=x(()=>t.side===`right`),L=x(()=>(u.lang.rtl===!0?-1:1)*(I.value===!0?1:-1)),R=s(0),re=s(!1),z=s(!1),oe=s(w.value*L.value),se=x(()=>I.value===!0?`left`:`right`),de=x(()=>T.value===!0&&S.value===!1&&t.overlay===!1?t.miniToOverlay===!0?t.miniWidth:w.value:0),fe=x(()=>t.overlay===!0||t.miniToOverlay===!0||g.view.value.indexOf(I.value?`R`:`L`)!==-1||u.platform.is.ios===!0&&g.isContainer.value===!0),pe=x(()=>t.overlay===!1&&T.value===!0&&S.value===!1),B=x(()=>t.overlay===!0&&T.value===!0&&S.value===!1),me=x(()=>`fullscreen q-drawer__backdrop`+(T.value===!1&&re.value===!1?` hidden`:``)),ge=x(()=>({backgroundColor:`rgba(0,0,0,${R.value*.4})`})),_e=x(()=>I.value===!0?g.rows.value.top[2]===`r`:g.rows.value.top[0]===`l`),ve=x(()=>I.value===!0?g.rows.value.bottom[2]===`r`:g.rows.value.bottom[0]===`l`),ye=x(()=>{let e={};return g.header.space===!0&&_e.value===!1&&(fe.value===!0?e.top=`${g.header.offset}px`:g.header.space===!0&&(e.top=`${g.header.size}px`)),g.footer.space===!0&&ve.value===!1&&(fe.value===!0?e.bottom=`${g.footer.offset}px`:g.footer.space===!0&&(e.bottom=`${g.footer.size}px`)),e}),be=x(()=>{let e={width:`${w.value}px`,transform:`translateX(${oe.value}px)`};return S.value===!0?e:Object.assign(e,ye.value)}),xe=x(()=>`q-drawer__content fit `+(g.isContainer.value===!0?`overflow-auto`:`scroll`)),Se=x(()=>`q-drawer q-drawer--${t.side}`+(z.value===!0?` q-drawer--mini-animate`:``)+(t.bordered===!0?` q-drawer--bordered`:``)+(f.value===!0?` q-drawer--dark q-dark`:``)+(re.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`}`+(fe.value===!0||pe.value!==!0?` fixed`:``)+(t.overlay===!0||t.miniToOverlay===!0?` q-drawer--on-top`:``)+(_e.value===!0?` q-drawer--top-padding`:``))),Ce=x(()=>[[Re,je,void 0,{[u.lang.rtl===!0?t.side:se.value]:!0,mouse:!0}]]),we=x(()=>[[Re,Me,void 0,{[u.lang.rtl===!0?se.value:t.side]:!0,mouse:!0}]]),Te=x(()=>[[Re,Me,void 0,{[u.lang.rtl===!0?se.value:t.side]:!0,mouse:!0,mouseAllDir:!0}]]);function Ee(){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]===F&&(g.instances[t]=void 0,g[t].space=!1,g[t].offset=0),g.instances[e]=F,g[e].size=w.value,g[e].space=pe.value,g[e].offset=de.value}),n(g.totalWidth,()=>{(g.isContainer.value===!0||document.qScrollPrevented!==!0)&&Ee()}),n(()=>t.behavior+t.breakpoint,Ee),n(g.isContainer,e=>{T.value===!0&&p(e!==!0),e===!0&&Ee()}),n(g.scrollbarWidth,()=>{De(T.value===!0?0:void 0)}),n(de,e=>{Pe(`offset`,e)}),n(pe,e=>{i(`onLayout`,e),Pe(`space`,e)}),n(I,()=>{De()}),n(w,e=>{De(),V(t.miniToOverlay,e)}),n(()=>t.miniToOverlay,e=>{V(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(L.value*t)}):(g.isContainer.value===!0&&I.value===!0&&(S.value===!0||Math.abs(t)===w.value)&&(t+=L.value*g.scrollbarWidth.value),oe.value=t)}function Oe(e){R.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`),z.value=!0,v=setTimeout(()=>{v=null,z.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=ze(e.distance.x,0,t);if(e.isFinal===!0){n>=Math.min(75,t)?j():(g.animate(),Oe(0),De(L.value*t)),re.value=!1;return}De((u.lang.rtl===!0?I.value!==!0:I.value)?Math.max(t-n,0):Math.min(0,n-t)),Oe(ze(n/t,0,1)),e.isFirst===!0&&(re.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)?ze(e.distance.x,0,n):0;if(e.isFinal===!0){Math.abs(i)<Math.min(75,n)?(g.animate(),Oe(1),De(0)):M(),re.value=!1;return}De(L.value*i),Oe(ze(1-i/n,0,1)),e.isFirst===!0&&(re.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 V(e,n){Pe(`size`,e===!0?t.miniWidth:n)}return g.instances[t.side]=F,V(t.miniToOverlay,w.value),Pe(`space`,pe.value),Pe(`offset`,de.value),t.showIfAbove===!0&&t.modelValue!==!0&&T.value===!0&&t[`onUpdate:modelValue`]!==void 0&&i(`update:modelValue`,!0),a(()=>{i(`onLayout`,pe.value),i(`miniState`,C.value),_=t.showIfAbove===!0;let r=()=>{(T.value===!0?k:A)(!1,!0)};if(g.totalWidth.value!==0){e(r);return}y=n(g.totalWidth,()=>{y(),y=void 0,T.value===!1&&t.showIfAbove===!0&&S.value===!1?j(!1):r()})}),b(()=>{y?.(),v!==null&&(clearTimeout(v),v=null),T.value===!0&&Ne(),g.instances[t.side]===F&&(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`}),Ce.value)),e.push(ee(`div`,{ref:`backdrop`,class:me.value,style:ge.value,"aria-hidden":`true`,onClick:M},void 0,`backdrop`,t.noSwipeBackdrop!==!0&&T.value===!0,()=>Te.value)));let n=C.value===!0&&r.mini!==void 0,i=[l(`div`,{...o,key:String(n),class:[xe.value,o.class]},n===!0?r.mini():ne(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(ee(`aside`,{ref:`content`,class:Se.value,style:be.value},i,`contentclose`,t.noSwipeClose!==!0&&S.value===!0,()=>we.value)),l(`div`,{class:`q-drawer-container`},e)}}}),lt=P({name:`QPageContainer`,setup(e,{slots:t}){let{proxy:{$q:n}}=O(),i=D(ce,le);if(i===le)return console.error(`QPageContainer needs to be child of QLayout`),le;r(se,!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},ne(t.default))}}),ut=P({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(re.value===!0?0:ge()),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?ge():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(ce,E),ge()>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=F(t.default,[l(Le,{onScroll:b}),l(Ie,{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(Ie,{onResize:C}),l(`div`,{class:`absolute-full`,style:v.value},[l(`div`,{class:`scroll`,style:y.value},[r])])]):r}}}),dt={class:`acceptance-panel q-pa-md`},ft={class:`row items-center q-mb-sm`},pt={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},mt={key:0,class:`criterion-add-row row items-center q-mb-xs`},ht={key:1,class:`acceptance-list`},gt=[`onDblclick`],_t={key:2,class:`text-caption text-grey-8`,style:{"font-size":`11px`}},vt=Ue(E({__name:`AcceptancePanel`,props:{tasks:{}},setup(n){let{t:r}=ye(),a=Ne(),o=De();function c(){let e=a.selectedWorkspaceId;e&&tt(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 A(){l.value=!0,d.value=``}async function j(){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 P(){d.value=``,l.value=!1}function F(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 ee(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 I(){f.value=null,p.value=``}async function te(e){let t=a.selectedWorkspace?.id;if(t)try{await a.deleteTask(t,e.id)}catch{}}return(e,r)=>(t(),S(`div`,dt,[T(`div`,ft,[T(`div`,pt,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(H,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:A},{default:u(()=>[v(H,null,{default:u(()=>[y(h(e.$t(`tooltip.addCriterion`)),1)]),_:1})]),_:1})):_(``,!0)]),l.value?(t(),S(`div`,mt,[v(Oe,{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:[M(N(j,[`prevent`]),[`enter`]),M(N(P,[`prevent`]),[`esc`])]},null,8,[`modelValue`,`placeholder`,`onKeydown`])])):_(``,!0),n.tasks.length>0?(t(),S(`div`,ht,[(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(R,{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(Oe,{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:[M(N(e=>ee(n),[`prevent`]),[`enter`]),M(N(I,[`prevent`]),[`esc`])],onBlur:e=>ee(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=>F(n)},h(n.title),47,gt),v(B,{flat:``,dense:``,round:``,size:`xs`,icon:`close`,color:`grey-6`,class:`criterion-delete-btn`,onClick:e=>te(n)},{default:u(()=>[v(H,null,{default:u(()=>[y(h(e.$t(`tooltip.removeCriterion`)),1)]),_:1})]),_:1},8,[`onClick`])],64))]))),128))])):l.value?_(``,!0):(t(),S(`div`,_t,h(e.$t(`acceptance.empty`)),1))]))}}),[[`__scopeId`,`data-v-63b144ad`]]),yt={class:`agent-todos-panel q-pa-md`},bt={class:`row items-center q-mb-sm`},xt={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},St={key:0,class:`todos-list`},Ct={key:1,class:`text-caption text-grey-8`,style:{"font-size":`11px`}},wt=Ue(E({__name:`AgentTodosPanel`,setup(e){let{t:n}=ye(),r=Ne();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`,yt,[T(`div`,bt,[T(`div`,xt,h(e.$t(`agentTodos.title`)),1)]),w(r).currentAgentTodos.length>0?(t(),S(`div`,St,[(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(R,{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`,Ct,h(e.$t(`agentTodos.empty`)),1))]))}}),[[`__scopeId`,`data-v-4eddf754`]]),Tt={class:`documents-panel q-pa-md`},Et={class:`row items-center justify-between q-mb-sm`},Dt={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},Ot={key:0,class:`text-caption text-grey-8`},kt={key:1,class:`text-center q-py-lg`},At={key:2,class:`text-caption text-grey-8 text-center q-py-lg`},jt={key:0,class:`text-center q-py-lg`},Mt=[`innerHTML`],Nt=Ue(E({__name:`DocumentsPanel`,props:{workspace:{}},setup(e){let r=e,{t:i}=ye(),a=rt(),o=He(),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 Ve.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`,Tt,[T(`div`,Et,[T(`div`,Dt,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(H,null,{default:u(()=>[y(h(n.$t(`documents.refresh`)),1)]),_:1})]),_:1},8,[`loading`]))]),w(o).selected?(t(),S(C,{key:1},[w(o).loadingContent?(t(),S(`div`,jt,[v(I,{size:`24px`,color:`grey-6`})])):(t(),S(`div`,{key:1,class:`document-content`,innerHTML:d.value},null,8,Mt))],64)):(t(),S(C,{key:0},[e.workspace?w(o).loadingList?(t(),S(`div`,kt,[v(I,{size:`24px`,color:`grey-6`})])):s.value.length===0?(t(),S(`div`,At,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(R,{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`,Ot,h(n.$t(`common.selectWorkspace`)),1))],64))]))}}),[[`__scopeId`,`data-v-445c589c`]]),Pt=Object.keys(pe);function Ft(e){return Pt.reduce((t,n)=>{let r=e[n];return r!==void 0&&(t[n]=r),t},{})}var It=P({name:`QBtnDropdown`,props:{...pe,...de,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=ve(),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(()=>fe(e)),m=x(()=>Ft(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){A(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(R,{class:f.value,name:e.dropdownIcon||i.$q.iconSet.arrow.dropdown})];return e.disableDropdown!==!0&&n.push(l($e,{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:()=>ne(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)])}}}),Lt={class:`git-panel q-px-sm q-py-md`},Rt={class:`row items-center justify-between q-mb-sm`},zt={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},Bt={class:`row items-center q-mb-sm`},Vt={class:`text-caption text-grey-3`},Ht={class:`row items-center q-mb-sm`},Ut={class:`text-caption text-grey-4`,style:{"font-family":`'Roboto Mono', monospace`,"font-size":`11px`}},Wt={class:`text-caption q-mb-sm text-grey-8`,style:{"font-size":`11px`}},Gt={key:0},Kt={key:1,style:{color:`#4ade80`}},qt={key:2,style:{color:`#f59e0b`}},Jt={class:`row items-center q-mb-xs`},Yt={class:`text-caption text-grey-4`,style:{"font-size":`11px`}},Xt={key:0,class:`row items-center q-mb-md`},Zt={class:`text-caption text-grey-4`,style:{"font-size":`11px`}},Qt={key:0,class:`text-caption q-ml-xs`,style:{"font-size":`11px`,color:`#4ade80`}},$t={key:1,class:`text-caption q-ml-xs`,style:{"font-size":`11px`,color:`#f87171`}},en={key:1,class:`q-mb-xs`},tn={key:2,class:`row items-center q-gutter-xs q-mb-md`,style:{"font-size":`11px`}},nn={key:0,class:`text-caption`,style:{color:`#4ade80`}},rn={key:1,class:`text-caption`,style:{color:`#f59e0b`}},an={key:2,class:`text-caption text-grey-6`},on={key:3,class:`q-mb-md`},sn={class:`row items-center q-gutter-xs`},cn={key:1,class:`text-caption text-grey-8`},ln={class:`text-subtitle1 text-warning`},un={class:`text-caption text-grey-6 q-mt-xs`},dn={class:`text-caption text-mono`},fn=Ue(E({__name:`GitPanel`,props:{workspace:{}},setup(e){let r=p(()=>Ee(()=>import(`./DiffViewer-DdLwXeB3.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]))),a=e,{t:c}=ye(),l=rt(),f=Ne(),m=s(!1),b=s(!1),E=s(!1),D=s(!1),O=s(!1),k=s(!1),A=s(!1),j=s(!1),M=s(null),N=s([]),P=s(!1),F=s(!1);function ee(e){f.chatDraft=e,A.value=!1}let I=s(null),te=s(!1),L=x(()=>{if(!a.workspace?.projectPath)return`-`;let e=a.workspace.projectPath.replace(/\\/g,`/`).split(`/`);return e[e.length-1]||e[e.length-2]||`-`}),ne=x(()=>!(!I.value||I.value.unpushedCount===-1)),re=x(()=>I.value&&I.value.unpushedCount===-1?c(`git.createPrNoRemote`):``);async function z(){if(!a.workspace){I.value=null;return}te.value=!0;try{I.value=await f.fetchGitStats(a.workspace.id)}catch{I.value=null}finally{te.value=!1}}n(()=>a.workspace?.id,()=>z(),{immediate:!0});let ie=null;n(()=>f.gitRefreshTrigger,()=>{ie&&clearTimeout(ie),ie=setTimeout(()=>z(),3e3)}),o(()=>{ie&&clearTimeout(ie)});function ae(){a.workspace&&l.dialog({title:c(`git.rebaseConfirmTitle`),message:c(`git.rebaseConfirmMessage`,{branch:a.workspace.sourceBranch}),dark:!0,cancel:{flat:!0,label:c(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:c(`git.rebase`),color:`orange-4`}}).onOk(async()=>{E.value=!0;try{let e=await fetch(`/api/workspaces/${a.workspace.id}/rebase`,{method:`POST`});if(e.status===409){let t=await e.json();ce(`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`}),z()}catch(e){let t=e instanceof Error?e.message:c(`git.rebaseFailed`);l.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{E.value=!1}})}function se(){a.workspace&&l.dialog({title:c(`git.mergeConfirmTitle`),message:c(`git.mergeConfirmMessage`,{branch:a.workspace.sourceBranch}),dark:!0,cancel:{flat:!0,label:c(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:c(`git.merge`),color:`purple-4`}}).onOk(async()=>{D.value=!0;try{let e=await fetch(`/api/workspaces/${a.workspace.id}/merge`,{method:`POST`});if(e.status===409){let t=await e.json();ce(`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`}),z()}catch(e){let t=e instanceof Error?e.message:c(`git.mergeFailed`);l.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{D.value=!1}})}function ce(e,t){M.value=e,N.value=t,j.value=!0}async function le(){if(a.workspace){P.value=!0;try{let e=await fetch(`/api/workspaces/${a.workspace.id}/git/abort`,{method:`POST`});if(!e.ok){let t=await e.json();throw Error(t.error??`Abort failed`)}l.notify({type:`positive`,message:c(`git.conflictAborted`),position:`top`}),j.value=!1,z()}catch(e){let t=e instanceof Error?e.message:`Abort failed`;l.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{P.value=!1}}}async function ue(){if(!(!a.workspace||!M.value)){F.value=!0;try{let e=await fetch(`/api/workspaces/${a.workspace.id}/git/resolve-with-agent`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({operation:M.value,files:N.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`}),j.value=!1}catch(e){let t=e instanceof Error?e.message:`Handoff failed`;l.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{F.value=!1}}}function de(){a.workspace&&l.dialog({title:c(`git.pushConfirmTitle`),message:c(`git.pushConfirmMessage`,{branch:a.workspace.workingBranch}),dark:!0,cancel:{flat:!0,label:c(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:c(`git.push`),color:`grey-5`}}).onOk(async()=>{m.value=!0;try{await f.pushBranch(a.workspace.id),l.notify({type:`positive`,message:c(`git.branchPushed`),position:`top`}),z()}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 fe(){a.workspace&&l.dialog({title:c(`git.pullConfirmTitle`),message:c(`git.pullConfirmMessage`,{branch:a.workspace.workingBranch}),dark:!0,cancel:{flat:!0,label:c(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:c(`git.pull`),color:`grey-5`}}).onOk(async()=>{b.value=!0;try{await f.pullBranch(a.workspace.id),l.notify({type:`positive`,message:c(`git.branchPulled`),position:`top`}),z()}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{b.value=!1}})}function pe(){I.value?.prUrl&&window.open(I.value.prUrl,`_blank`)}function me(){a.workspace&&l.dialog({title:c(`git.changePrBaseTitle`),message:c(`git.changePrBaseMessage`),prompt:{model:a.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()||!a.workspace)){k.value=!0;try{let t=await fetch(`/api/workspaces/${a.workspace.id}/change-pr-base`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({base:e.trim()})});if(!t.ok){let e=await t.json();throw Error(e.error??`Failed`)}l.notify({type:`positive`,message:c(`git.changePrBaseSuccess`),position:`top`}),z()}catch(e){let t=e instanceof Error?e.message:c(`git.changePrBaseFailed`);l.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{k.value=!1}}})}async function he(){if(a.workspace){O.value=!0;try{let e=await f.openPullRequest(a.workspace.id);l.notify({type:`positive`,message:c(`git.prCreated`,{n:e.prNumber}),caption:e.prUrl,position:`top`,timeout:5e3}),z()}catch(e){if(e instanceof Ce&&e.code===`branch_not_pushed`){l.notify({type:`warning`,message:c(`git.pushFirst`),position:`top`,timeout:6e3});return}if(e instanceof Ce&&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{O.value=!1}}}return(n,a)=>(t(),S(`div`,Lt,[T(`div`,Rt,[T(`div`,zt,h(n.$t(`git.title`)),1),e.workspace?(t(),g(B,{key:0,flat:``,round:``,dense:``,size:`xs`,icon:`refresh`,color:`grey-6`,loading:te.value,onClick:z},{default:u(()=>[v(H,null,{default:u(()=>[y(h(n.$t(`tooltip.refreshGitStats`)),1)]),_:1})]),_:1},8,[`loading`])):_(``,!0)]),e.workspace?(t(),S(C,{key:0},[T(`div`,Bt,[v(R,{name:`folder`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),T(`span`,Vt,h(L.value),1)]),T(`div`,Ht,[a[5]||=T(`span`,{style:{width:`8px`,height:`8px`,"border-radius":`50%`,"background-color":`#4ade80`,display:`inline-block`},class:`q-mr-xs`},null,-1),T(`span`,Ut,h(e.workspace.workingBranch),1)]),T(`div`,Wt,[y(h(n.$t(`git.from`))+` `+h(e.workspace.sourceBranch)+` `,1),I.value?(t(),S(C,{key:0},[a[6]||=y(` · `,-1),I.value.unpushedCount===-1?(t(),S(`span`,Gt,h(n.$t(`git.localOnly`)),1)):I.value.unpushedCount===0?(t(),S(`span`,Kt,h(n.$t(`git.pushed`)),1)):(t(),S(`span`,qt,h(n.$t(`git.unpushed`,{count:I.value.unpushedCount})),1))],64)):_(``,!0)]),I.value?(t(),S(C,{key:0},[T(`div`,Jt,[v(R,{name:`commit`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),T(`span`,Yt,h(n.$t(`git.commits`,{count:I.value.commitCount},I.value.commitCount)),1)]),I.value.filesChanged>0?(t(),S(`div`,Xt,[v(R,{name:`insert_drive_file`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),T(`span`,Zt,h(n.$t(`git.files`,{count:I.value.filesChanged},I.value.filesChanged)),1),I.value.insertions>0?(t(),S(`span`,Qt,` +`+h(I.value.insertions),1)):_(``,!0),I.value.deletions>0?(t(),S(`span`,$t,` -`+h(I.value.deletions),1)):_(``,!0)])):(t(),S(`div`,en)),I.value.workingTree&&(I.value.workingTree.staged>0||I.value.workingTree.modified>0||I.value.workingTree.untracked>0)?(t(),S(`div`,tn,[v(R,{name:`edit_note`,size:`14px`,color:`grey-6`}),I.value.workingTree.staged>0?(t(),S(`span`,nn,h(n.$t(`git.staged`,{count:I.value.workingTree.staged})),1)):_(``,!0),I.value.workingTree.modified>0?(t(),S(`span`,rn,h(n.$t(`git.modified`,{count:I.value.workingTree.modified})),1)):_(``,!0),I.value.workingTree.untracked>0?(t(),S(`span`,an,h(n.$t(`git.untracked`,{count:I.value.workingTree.untracked})),1)):_(``,!0)])):(t(),S(`div`,on))],64)):_(``,!0),T(`div`,sn,[I.value&&I.value.unpushedCount!==-1?(t(),g(It,{key:0,split:``,dense:``,"no-caps":``,size:`sm`,outline:``,color:`grey-5`,icon:`sync`,label:n.$t(`git.sync`),class:`git-btn git-sync-btn`,loading:b.value||E.value||D.value,disable:!e.workspace||m.value,onClick:fe},{default:u(()=>[v(it,{dark:``,dense:``,style:{"min-width":`140px`}},{default:u(()=>[d((t(),g(Fe,{clickable:``,disable:b.value||E.value||D.value,onClick:fe},{default:u(()=>[v(V,{avatar:``,style:{"min-width":`28px`}},{default:u(()=>[v(R,{name:`download`,size:`16px`,color:`grey-5`})]),_:1}),v(V,null,{default:u(()=>[y(h(n.$t(`git.pull`)),1)]),_:1})]),_:1},8,[`disable`])),[[at]]),d((t(),g(Fe,{clickable:``,disable:b.value||E.value||D.value,onClick:ae},{default:u(()=>[v(V,{avatar:``,style:{"min-width":`28px`}},{default:u(()=>[v(R,{name:`replay`,size:`16px`,color:`orange-4`})]),_:1}),v(V,null,{default:u(()=>[y(h(n.$t(`git.rebase`)),1)]),_:1})]),_:1},8,[`disable`])),[[at]]),d((t(),g(Fe,{clickable:``,disable:b.value||E.value||D.value,onClick:se},{default:u(()=>[v(V,{avatar:``,style:{"min-width":`28px`}},{default:u(()=>[v(R,{name:`merge`,size:`16px`,color:`purple-4`})]),_:1}),v(V,null,{default:u(()=>[y(h(n.$t(`git.merge`)),1)]),_:1})]),_:1},8,[`disable`])),[[at]])]),_:1})]),_:1},8,[`label`,`loading`,`disable`])):_(``,!0),!I.value||I.value.unpushedCount!==0?(t(),g(B,{key:1,dense:``,"no-caps":``,size:`sm`,outline:``,color:`grey-5`,icon:`upload`,label:n.$t(`git.push`),class:`git-btn`,loading:m.value,disable:!e.workspace||O.value||b.value||E.value,onClick:de},null,8,[`label`,`loading`,`disable`])):_(``,!0),v(B,{dense:``,"no-caps":``,size:`sm`,outline:``,color:`grey-5`,icon:`difference`,label:n.$t(`git.diff`),class:`git-btn`,disable:!e.workspace,onClick:a[0]||=e=>A.value=!0},null,8,[`label`,`disable`]),I.value?.prUrl&&I.value.prState===`OPEN`?(t(),g(B,{key:2,dense:``,"no-caps":``,size:`sm`,outline:``,color:`grey-5`,icon:`swap_horiz`,loading:k.value,class:`git-btn`,onClick:me},{default:u(()=>[v(H,null,{default:u(()=>[y(h(n.$t(`git.changePrBase`)),1)]),_:1})]),_:1},8,[`loading`])):_(``,!0),I.value?.prUrl?(t(),g(B,{key:3,dense:``,"no-caps":``,size:`sm`,outline:``,color:`green-4`,icon:`open_in_new`,label:n.$t(`git.viewPr`),class:`git-btn`,onClick:pe},null,8,[`label`])):_(``,!0),!I.value?.prUrl||I.value.prState===`CLOSED`||I.value.prState===`MERGED`?(t(),g(B,{key:4,dense:``,"no-caps":``,size:`sm`,outline:``,color:`indigo-4`,icon:`open_in_new`,label:n.$t(`git.createPr`),class:`git-btn`,loading:O.value,disable:!e.workspace||m.value||!ne.value,onClick:he},{default:u(()=>[!ne.value&&re.value?(t(),g(H,{key:0},{default:u(()=>[y(h(re.value),1)]),_:1})):_(``,!0)]),_:1},8,[`label`,`loading`,`disable`])):_(``,!0)])],64)):(t(),S(`div`,cn,h(n.$t(`common.selectWorkspace`)),1)),v(oe,{modelValue:j.value,"onUpdate:modelValue":a[2]||=e=>j.value=e,persistent:``},{default:u(()=>[v(Se,{dark:``,style:{"min-width":`420px`,"max-width":`600px`}},{default:u(()=>[v(be,null,{default:u(()=>[T(`div`,ln,[v(R,{name:`warning`,class:`q-mr-xs`}),y(` `+h(M.value===`merge`?n.$t(`git.conflictTitleMerge`):n.$t(`git.conflictTitleRebase`)),1)]),T(`div`,un,h(n.$t(`git.conflictSubtitle`,{count:N.value.length})),1)]),_:1}),N.value.length>0?(t(),g(be,{key:0,class:`q-pt-none`},{default:u(()=>[v(it,{dense:``,dark:``},{default:u(()=>[(t(!0),S(C,null,i(N.value,e=>(t(),g(Fe,{key:e},{default:u(()=>[v(V,{side:``},{default:u(()=>[v(R,{name:`insert_drive_file`,size:`xs`})]),_:1}),v(V,null,{default:u(()=>[T(`div`,dn,h(e),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})):_(``,!0),v(Te,{align:`right`},{default:u(()=>[v(B,{flat:``,"no-caps":``,label:n.$t(`common.cancel`),color:`grey-5`,disable:P.value||F.value,onClick:a[1]||=e=>j.value=!1},null,8,[`label`,`disable`]),v(B,{flat:``,"no-caps":``,color:`red-4`,icon:`undo`,label:n.$t(`git.conflictAbort`),loading:P.value,disable:F.value,onClick:le},null,8,[`label`,`loading`,`disable`]),v(B,{unelevated:``,"no-caps":``,color:`primary`,icon:`smart_toy`,label:n.$t(`git.conflictResolveWithAgent`),loading:F.value,disable:P.value,onClick:ue},null,8,[`label`,`loading`,`disable`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),v(oe,{modelValue:A.value,"onUpdate:modelValue":a[4]||=e=>A.value=e,maximized:``},{default:u(()=>[e.workspace?(t(),g(w(r),{key:0,"workspace-id":e.workspace.id,onClose:a[3]||=e=>A.value=!1,onSendToChat:ee},null,8,[`workspace-id`])):_(``,!0)]),_:1},8,[`modelValue`])]))}}),[[`__scopeId`,`data-v-41b9e33a`]]),pn={class:`notion-panel q-pa-md`},mn={class:`row items-center q-mb-sm`},hn={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},gn={key:0,class:`q-mb-sm`},_n=[`href`],vn={key:1,class:`text-caption q-mb-sm text-grey-8`},yn={key:3,class:`q-mb-sm`},bn={class:`text-caption text-grey-7`,style:{"font-size":`11px`}},xn={key:4,class:`text-caption text-grey-8 q-mb-sm`,style:{"font-size":`11px`}},Sn={key:5,class:`task-add-row row items-center q-mb-xs`},Cn={key:6,class:`tasks-list`},wn=[`onDblclick`],Tn={key:1,class:`text-caption text-grey-8`},En=Ue(E({__name:`NotionPanel`,props:{workspace:{},tasks:{}},setup(n){let r=n,{t:a}=ye(),o=Ne(),c=De(),l=s(!1);function d(){r.workspace?.id&&tt(r.workspace.id,c,o)}let f=x(()=>r.tasks.filter(e=>!e.isAcceptanceCriterion)),p=x(()=>f.value.filter(e=>e.status===`done`).length),b=x(()=>f.value.length),w=x(()=>b.value>0?p.value/b.value:0),E=s(!1),D=s(``),O=s(null),A=s(``),j=s({});function P(e,t){if(t){let n=t.$el??t;j.value[e]=n}else delete j.value[e]}async function F(){if(!(!r.workspace?.id||!r.workspace.notionUrl)){l.value=!0;try{let e=await fetch(`/api/workspaces/${r.workspace.id}/refresh-notion`,{method:`POST`});if(!e.ok)throw Error(`HTTP ${e.status}`);o.fetchWorkspaceDetails(r.workspace.id)}catch(e){console.error(`Failed to refresh from Notion:`,e)}finally{l.value=!1}}}function ee(){E.value=!0,D.value=``}async function I(){let e=D.value.trim();if(!(!e||!r.workspace?.id))try{await o.createTask(r.workspace.id,e,!1),D.value=``,E.value=!1}catch{}}function te(){D.value=``,E.value=!1}function L(t){O.value=t.id,A.value=t.title,e(()=>{let e=j.value[t.id]?.querySelector(`input, textarea`);e?.focus(),e?.select()})}async function ne(e){if(O.value!==e.id)return;let t=A.value.trim(),n=e.id;if(O.value=null,!(!t||t===e.title)&&r.workspace?.id)try{await o.updateTaskTitle(r.workspace.id,n,t)}catch{}}function re(){O.value=null,A.value=``}async function z(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`,pn,[T(`div`,mn,[T(`div`,hn,h(e.$t(`notion.title`)),1),v(Ge),n.workspace?(t(),g(B,{key:0,flat:``,dense:``,round:``,size:`xs`,icon:`fact_check`,color:`grey-5`,onClick:d},{default:u(()=>[v(H,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(H,null,{default:u(()=>[y(h(e.$t(`tooltip.addNotionTask`)),1)]),_:1})]),_:1})):_(``,!0)]),n.workspace?(t(),S(C,{key:0},[n.workspace.notionUrl?(t(),S(`div`,gn,[T(`a`,{href:n.workspace.notionUrl,target:`_blank`,rel:`noopener noreferrer`,class:`notion-link text-caption items-center text-blue-4`},[v(R,{name:`open_in_new`,size:`12px`,class:`q-mr-xs`}),y(` `+h(e.$t(`notion.openInNotion`)),1)],8,_n)])):(t(),S(`div`,vn,h(e.$t(`notion.noUrl`)),1)),n.workspace.notionUrl?(t(),g(B,{key:2,flat:``,dense:``,"no-caps":``,size:`xs`,icon:`refresh`,label:e.$t(`common.refresh`),color:`grey-6`,class:`q-mb-sm`,loading:l.value,onClick:F},null,8,[`label`,`loading`])):_(``,!0),b.value>0?(t(),S(`div`,yn,[v(xe,{value:w.value,color:`primary`,"track-color":`grey-9`,class:`q-mb-xs`,style:{height:`4px`,"border-radius":`2px`}},null,8,[`value`]),T(`div`,bn,h(e.$t(`notion.subtasks`,{done:p.value,total:b.value})),1)])):E.value?_(``,!0):(t(),S(`div`,xn,h(e.$t(`notion.noTasks`)),1)),E.value?(t(),S(`div`,Sn,[v(Oe,{modelValue:D.value,"onUpdate:modelValue":r[0]||=e=>D.value=e,dark:``,dense:``,borderless:``,autofocus:``,placeholder:e.$t(`notion.newTask`),class:`col task-input`,"input-class":`task-input-inner`,onKeydown:[M(N(I,[`prevent`]),[`enter`]),M(N(te,[`prevent`]),[`esc`])]},null,8,[`modelValue`,`placeholder`,`onKeydown`])])):_(``,!0),f.value.length>0?(t(),S(`div`,Cn,[(t(!0),S(C,null,i(f.value,n=>(t(),S(`div`,{key:n.id,class:`task-item row items-center q-py-xxs`},[v(R,{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`]),O.value===n.id?(t(),g(Oe,{key:0,ref_for:!0,ref:e=>P(n.id,e),modelValue:A.value,"onUpdate:modelValue":r[1]||=e=>A.value=e,dark:``,dense:``,borderless:``,class:`col task-input`,"input-class":`task-input-inner`,onKeydown:[M(N(e=>ne(n),[`prevent`]),[`enter`]),M(N(re,[`prevent`]),[`esc`])],onBlur:e=>ne(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=>L(n)},h(n.title),47,wn),v(B,{flat:``,dense:``,round:``,size:`xs`,icon:`close`,color:`grey-6`,class:`task-delete-btn`,onClick:e=>z(n)},{default:u(()=>[v(H,null,{default:u(()=>[y(h(e.$t(`tooltip.removeNotionTask`)),1)]),_:1})]),_:1},8,[`onClick`])],64))]))),128))])):_(``,!0)],64)):(t(),S(`div`,Tn,h(e.$t(`common.selectWorkspace`)),1))]))}}),[[`__scopeId`,`data-v-99e38dbd`]]),Dn={class:`stats-panel q-pa-md`},On={class:`row items-center q-mb-md`},kn={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},An={class:`stat-group-label q-mb-xs`},jn={class:`stat-row`},Mn={class:`stat-label`},Nn={class:`stat-value`},Pn={class:`stat-row`},Fn={class:`stat-label`},In={class:`stat-value`},Ln={key:0,class:`stat-row`},Rn={class:`stat-label`},zn={class:`stat-value stat-value-ellipsis`},Bn={class:`stat-row`},Vn={class:`stat-label`},Hn={class:`stat-value`},Un={class:`stat-row`},Wn={class:`stat-label`},Gn={class:`stat-value`},Kn={class:`stat-group-label q-mb-xs`},qn={class:`stat-row`},Jn={class:`stat-label`},Yn={class:`stat-value`},Xn={key:1,class:`stat-row`},Zn={class:`stat-label`},Qn={class:`stat-value`},$n={key:2,class:`stat-row`},er={class:`stat-label`},tr={class:`stat-value`},nr={key:3,class:`stat-row`},rr={class:`stat-label`},ir={class:`stat-value`},ar={key:4,class:`stat-row`},or={class:`stat-label`},sr={class:`stat-value`},cr={class:`stat-group-label q-mb-xs`},lr={class:`stat-row`},ur={class:`stat-label`},dr={class:`stat-value`},fr={class:`stat-row`},pr={class:`stat-label`},mr={class:`stat-value`},hr={class:`stat-row`},gr={class:`stat-label`},_r={class:`stat-value`},vr={key:5,class:`stat-row`},yr={class:`stat-label text-red-4`},br={class:`stat-value text-red-4`},xr={key:6},Sr={class:`stat-group-label q-mb-xs`},Cr={class:`usage-breakdown q-mb-sm`},wr={class:`stat-row`},Tr={class:`stat-label`},Er={class:`stat-value`},Dr={class:`stat-value-muted`},Or={class:`stat-row`},kr={class:`stat-label`},Ar={class:`stat-value`},jr={class:`stat-value-muted`},Mr={class:`stat-row`},Nr={class:`stat-label`},Pr={class:`stat-value`},Fr={key:0,class:`stat-row`},Ir={class:`stat-label`},Lr={class:`stat-value`},Rr={key:7},zr={class:`stat-group-label q-mb-xs`},Br={class:`stat-row q-mb-xxs`},Vr={class:`stat-label`},Hr={class:`stat-value`},Ur={key:0,class:`stat-subtext q-mt-xxs`},Wr={key:0},Gr={key:1},Kr={key:2},qr={key:8},Jr={class:`stat-group-label q-mb-xs`},Yr={class:`stat-row`},Xr={class:`stat-label`},Zr={class:`stat-value`},Qr={key:0,class:`stat-row`},$r={class:`stat-label`},ei={class:`stat-value`},ti={key:1,class:`stat-row`},ni={class:`stat-label`},ri={class:`stat-value`},ii={key:9},ai={class:`stat-group-label q-mb-xs`},oi={key:0,class:`q-mb-xs`},si={class:`stat-row q-mb-xxs`},ci={class:`stat-label`},li={class:`stat-value`},ui={key:1},di={class:`stat-row q-mb-xxs`},fi={class:`stat-label`},pi={class:`stat-value`},mi={key:1,class:`text-caption text-grey-8`},hi=Ue(E({__name:`StatsPanel`,props:{workspace:{}},setup(e){let{t:n}=ye(),r=Ne(),{timeAgo:a}=ot(),o=x(()=>{let e=r.selectedWorkspaceId;if(!e)return null;let t=r.activityFeeds[e]??[],n=r.sessions,i=Object.values(r.subagents[e]??{}),a=r.tasks,o=r.selectedWorkspace,s=r.activityCounts[e]??{toolUses:0,agentMessages:0,userMessages:0,errors:0},c=s.toolUses,l=s.agentMessages,u=s.userMessages,d=s.errors,f=n.length,p=n.filter(e=>e.status===`completed`).length,m=i.length,h=i.filter(e=>e.status===`done`).length,g=i.reduce((e,t)=>e+(t.totalTokens??0),0),_=i.reduce((e,t)=>e+(t.toolUses??0),0),v=a.filter(e=>!e.isAcceptanceCriterion).length,y=a.filter(e=>!e.isAcceptanceCriterion&&e.status===`done`).length,b=a.filter(e=>e.isAcceptanceCriterion).length,x=a.filter(e=>e.isAcceptanceCriterion&&e.status===`done`).length,S=o?.createdAt?new Date(o.createdAt):null,C=o?.updatedAt?new Date(o.updatedAt):null,w=S?Date.now()-S.getTime():0,T=null,E=null;for(let e=t.length-1;e>=0;e--){let n=t[e];if(!T&&n.meta?.sender===`user`&&(T=new Date(n.timestamp)),!E&&n.type===`text`&&n.meta?.sender!==`user`&&n.meta?.sender!==`system-prompt`&&(E=new Date(n.timestamp)),T&&E)break}let D=n.length>0?new Date(n[n.length-1].startedAt):null,O=r.usageStats[e]??{inputTokens:0,outputTokens:0,costUsd:0,sessionCount:0},k=r.rateLimitUsage[e],A=o?.model??`auto`,j=o?.workingBranch??``,M=o?.status??``;return{toolUses:c,agentMessages:l,userMessages:u,errors:d,totalSessions:f,completedSessions:p,totalSubagents:m,doneSubagents:h,totalSubagentTokens:g,totalSubagentTools:_,totalTasks:v,doneTasks:y,totalCriteria:b,doneCriteria:x,durationMs:w,createdAt:S,updatedAt:C,lastPromptAt:T,lastAgentResponseAt:E,firstSessionAt:D,model:A,branch:j,status:M,usage:O,rateLimitUsage:k}});function s(e){let t=Math.floor(e/6e4);if(t<60)return`${t}m`;let n=Math.floor(t/60),r=t%60;return n<24?`${n}h ${r}m`:`${Math.floor(n/24)}d ${n%24}h`}function c(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}function l(e){return e.toLocaleDateString(void 0,{day:`2-digit`,month:`2-digit`,year:`numeric`})}function d(e){return e.toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`})}function f(e){return`${l(e)} ${d(e)}`}function p(e,t){return e?nt(e,n):n(`stats.usageBucket`,{n:t+1})}function m(e,t){return t<=0?0:Math.max(0,Math.min(100,e/t*100))}return(n,l)=>(t(),S(`div`,Dn,[T(`div`,On,[T(`div`,kn,h(n.$t(`stats.title`)),1),v(Ge),e.workspace?(t(),g(B,{key:0,flat:``,round:``,dense:``,size:`xs`,icon:`refresh`,color:`grey-6`,onClick:l[0]||=t=>w(r).fetchWorkspaceDetails(e.workspace.id)},{default:u(()=>[v(H,null,{default:u(()=>[y(h(n.$t(`tooltip.refreshStats`)),1)]),_:1})]),_:1})):_(``,!0)]),e.workspace&&o.value?(t(),S(C,{key:0},[T(`div`,An,h(n.$t(`stats.info`)),1),T(`div`,jn,[T(`span`,Mn,h(n.$t(`stats.status`)),1),T(`span`,Nn,h(o.value.status),1)]),T(`div`,Pn,[T(`span`,Fn,h(n.$t(`stats.model`)),1),T(`span`,In,h(o.value.model),1)]),o.value.branch?(t(),S(`div`,Ln,[T(`span`,Rn,h(n.$t(`stats.branch`)),1),T(`span`,zn,h(o.value.branch),1)])):_(``,!0),T(`div`,Bn,[T(`span`,Vn,h(n.$t(`stats.sessions`)),1),T(`span`,Hn,h(o.value.completedSessions)+` / `+h(o.value.totalSessions),1)]),T(`div`,Un,[T(`span`,Wn,h(n.$t(`stats.duration`)),1),T(`span`,Gn,h(s(o.value.durationMs)),1)]),v(z,{dark:``,class:`q-my-sm`}),T(`div`,Kn,h(n.$t(`stats.timeline`)),1),T(`div`,qn,[T(`span`,Jn,h(n.$t(`stats.created`)),1),T(`span`,Yn,h(o.value.createdAt?f(o.value.createdAt):`—`),1)]),o.value.firstSessionAt?(t(),S(`div`,Xn,[T(`span`,Zn,h(n.$t(`stats.firstSession`)),1),T(`span`,Qn,h(f(o.value.firstSessionAt)),1)])):_(``,!0),o.value.lastPromptAt?(t(),S(`div`,$n,[T(`span`,er,h(n.$t(`stats.lastPrompt`)),1),T(`span`,tr,[y(h(w(a)(o.value.lastPromptAt))+` `,1),v(H,null,{default:u(()=>[y(h(f(o.value.lastPromptAt)),1)]),_:1})])])):_(``,!0),o.value.lastAgentResponseAt?(t(),S(`div`,nr,[T(`span`,rr,h(n.$t(`stats.lastResponse`)),1),T(`span`,ir,[y(h(w(a)(o.value.lastAgentResponseAt))+` `,1),v(H,null,{default:u(()=>[y(h(f(o.value.lastAgentResponseAt)),1)]),_:1})])])):_(``,!0),o.value.updatedAt?(t(),S(`div`,ar,[T(`span`,or,h(n.$t(`stats.updated`)),1),T(`span`,sr,h(w(a)(o.value.updatedAt)),1)])):_(``,!0),v(z,{dark:``,class:`q-my-sm`}),T(`div`,cr,h(n.$t(`stats.activity`)),1),T(`div`,lr,[T(`span`,ur,h(n.$t(`stats.agentMessages`)),1),T(`span`,dr,h(o.value.agentMessages),1)]),T(`div`,fr,[T(`span`,pr,h(n.$t(`stats.userMessages`)),1),T(`span`,mr,h(o.value.userMessages),1)]),T(`div`,hr,[T(`span`,gr,h(n.$t(`stats.toolCalls`)),1),T(`span`,_r,h(o.value.toolUses),1)]),o.value.errors>0?(t(),S(`div`,vr,[T(`span`,yr,h(n.$t(`stats.errors`)),1),T(`span`,br,h(o.value.errors),1)])):_(``,!0),o.value.usage.inputTokens>0||o.value.usage.outputTokens>0?(t(),S(`div`,xr,[v(z,{dark:``,class:`q-my-sm`}),T(`div`,Sr,h(n.$t(`stats.usage`)),1),T(`div`,Cr,[T(`div`,{class:`usage-breakdown-input`,style:k({width:`${m(o.value.usage.inputTokens,o.value.usage.inputTokens+o.value.usage.outputTokens)}%`})},null,4),T(`div`,{class:`usage-breakdown-output`,style:k({width:`${m(o.value.usage.outputTokens,o.value.usage.inputTokens+o.value.usage.outputTokens)}%`})},null,4)]),T(`div`,wr,[T(`span`,Tr,h(n.$t(`stats.inputTokens`)),1),T(`span`,Er,[y(h(c(o.value.usage.inputTokens))+` `,1),T(`span`,Dr,` (`+h(m(o.value.usage.inputTokens,o.value.usage.inputTokens+o.value.usage.outputTokens).toFixed(0))+`%) `,1)])]),T(`div`,Or,[T(`span`,kr,h(n.$t(`stats.outputTokens`)),1),T(`span`,Ar,[y(h(c(o.value.usage.outputTokens))+` `,1),T(`span`,jr,` (`+h(m(o.value.usage.outputTokens,o.value.usage.inputTokens+o.value.usage.outputTokens).toFixed(0))+`%) `,1)])]),T(`div`,Mr,[T(`span`,Nr,h(n.$t(`stats.totalTokens`)),1),T(`span`,Pr,h(c(o.value.usage.inputTokens+o.value.usage.outputTokens)),1)]),o.value.usage.costUsd>0?(t(),S(`div`,Fr,[T(`span`,Ir,h(n.$t(`stats.cost`)),1),T(`span`,Lr,`$`+h(o.value.usage.costUsd.toFixed(4)),1)])):_(``,!0)])):_(``,!0),o.value.rateLimitUsage?.buckets?.length?(t(),S(`div`,Rr,[v(z,{dark:``,class:`q-my-sm`}),T(`div`,zr,h(n.$t(`stats.usageLimits`)),1),(t(!0),S(C,null,i(o.value.rateLimitUsage.buckets,(e,r)=>(t(),S(`div`,{key:e.id,class:`q-mb-sm`},[T(`div`,Br,[T(`span`,Vr,h(p(e.label,r)),1),T(`span`,Hr,h(e.usedPct.toFixed(0))+`% `+h(n.$t(`stats.used`)),1)]),v(xe,{value:e.usedPct/100,color:`indigo-4`,"track-color":`grey-9`,style:{height:`6px`,"border-radius":`999px`}},null,8,[`value`]),e.details||e.resetAt?(t(),S(`div`,Ur,[e.details?(t(),S(`span`,Wr,h(e.details),1)):_(``,!0),e.details&&e.resetAt?(t(),S(`span`,Gr,` · `)):_(``,!0),e.resetAt?(t(),S(`span`,Kr,h(n.$t(`stats.resetsAt`,{value:e.resetAt})),1)):_(``,!0)])):_(``,!0)]))),128))])):_(``,!0),o.value.totalSubagents>0?(t(),S(`div`,qr,[v(z,{dark:``,class:`q-my-sm`}),T(`div`,Jr,h(n.$t(`stats.subagents`)),1),T(`div`,Yr,[T(`span`,Xr,h(n.$t(`stats.completed`)),1),T(`span`,Zr,h(o.value.doneSubagents)+` / `+h(o.value.totalSubagents),1)]),o.value.totalSubagentTokens>0?(t(),S(`div`,Qr,[T(`span`,$r,h(n.$t(`stats.tokens`)),1),T(`span`,ei,h(c(o.value.totalSubagentTokens)),1)])):_(``,!0),o.value.totalSubagentTools>0?(t(),S(`div`,ti,[T(`span`,ni,h(n.$t(`stats.toolCalls`)),1),T(`span`,ri,h(o.value.totalSubagentTools),1)])):_(``,!0)])):_(``,!0),o.value.totalTasks>0||o.value.totalCriteria>0?(t(),S(`div`,ii,[v(z,{dark:``,class:`q-my-sm`}),T(`div`,ai,h(n.$t(`stats.progress`)),1),o.value.totalTasks>0?(t(),S(`div`,oi,[T(`div`,si,[T(`span`,ci,h(n.$t(`stats.tasks`)),1),T(`span`,li,h(o.value.doneTasks)+` / `+h(o.value.totalTasks),1)]),v(xe,{value:o.value.doneTasks/o.value.totalTasks,color:`primary`,"track-color":`grey-9`,style:{height:`3px`,"border-radius":`2px`}},null,8,[`value`])])):_(``,!0),o.value.totalCriteria>0?(t(),S(`div`,ui,[T(`div`,di,[T(`span`,fi,h(n.$t(`stats.acceptanceCriteria`)),1),T(`span`,pi,h(o.value.doneCriteria)+` / `+h(o.value.totalCriteria),1)]),v(xe,{value:o.value.doneCriteria/o.value.totalCriteria,color:`green-6`,"track-color":`grey-9`,style:{height:`3px`,"border-radius":`2px`}},null,8,[`value`])])):_(``,!0)])):_(``,!0)],64)):(t(),S(`div`,mi,h(n.$t(`common.selectWorkspace`)),1))]))}}),[[`__scopeId`,`data-v-61fd94e7`]]),gi={class:`subagents-panel q-pa-md`},_i={class:`text-caption text-uppercase text-weight-bold text-grey-6 q-mb-sm`,style:{"letter-spacing":`0.05em`}},vi={key:0,class:`text-caption text-grey-8`},yi={class:`row items-center q-mb-xs`},bi={class:`text-caption text-weight-medium text-grey-3 ellipsis`,style:{"max-width":`220px`}},xi={key:0,class:`text-caption text-grey-6`,style:{"font-size":`10px`}},Si={class:`text-grey-4`},Ci={class:`row items-center q-gutter-xs q-mt-xs text-caption text-grey-7`,style:{"font-size":`10px`}},wi={key:0},Ti={key:1},Ei={key:2},Di=Ue(E({__name:`SubagentsPanel`,setup(e){let{t:n}=ye(),r=Ne(),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`,gi,[T(`div`,_i,h(e.$t(`subagents.title`)),1),a.value.length===0?(t(),S(`div`,vi,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`,yi,[v(R,{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`,bi,h(n.description||n.toolUseId),1)]),n.lastToolName?(t(),S(`div`,xi,[y(h(e.$t(`subagents.running`)),1),T(`span`,Si,h(n.lastToolName),1)])):_(``,!0),T(`div`,Ci,[n.toolUses===void 0?_(``,!0):(t(),S(`span`,wi,h(e.$t(`subagents.tools`,{count:n.toolUses})),1)),n.totalTokens?(t(),S(`span`,Ti,`· `+h(s(n.totalTokens))+` tok`,1)):_(``,!0),n.durationMs?(t(),S(`span`,Ei,`· `+h(o(n.durationMs)),1)):_(``,!0)])]))),128))]))}}),[[`__scopeId`,`data-v-81ad2481`]]),Oi=2,ki=1,Ai=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(Oi,Math.floor(u/e.css.cell.width)),rows:Math.max(ki,Math.floor(l/e.css.cell.height))}}},ji=Object.defineProperty,Mi=Object.getOwnPropertyDescriptor,Ni=(e,t)=>{for(var n in t)ji(e,n,{get:t[n],enumerable:!0})},Pi=(e,t,n,r)=>{for(var i=r>1?void 0:r?Mi(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&&ji(t,n,i),i},U=(e,t)=>(n,r)=>t(n,r,e),Fi=`Terminal input`,Ii={get:()=>Fi,set:e=>Fi=e},Li=`Too much output to announce, navigate to rows manually to read`,Ri={get:()=>Li,set:e=>Li=e};function zi(e){return e.replace(/\r?\n/g,`\r`)}function Bi(e,t){return t?`\x1B[200~`+e+`\x1B[201~`:e}function Vi(e,t){e.clipboardData&&e.clipboardData.setData(`text/plain`,t.selectionText),e.preventDefault()}function Hi(e,t,n,r){e.stopPropagation(),e.clipboardData&&Ui(e.clipboardData.getData(`text/plain`),t,n,r)}function Ui(e,t,n,r){e=zi(e),e=Bi(e,n.decPrivateModes.bracketedPasteMode&&r.rawOptions.ignoreBracketedPasteMode!==!0),n.triggerDataEvent(e,!0),t.value=``}function Wi(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 Gi(e,t,n,r,i){Wi(e,t,n),i&&r.rightClickSelect(e),t.value=r.selectionText,t.select()}function Ki(e){return e>65535?(e-=65536,String.fromCharCode((e>>10)+55296)+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)}function qi(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 Ji=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}},Yi=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}},Xi=``,Zi=` `,Qi=class e{constructor(){this.fg=0,this.bg=0,this.extended=new $i}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}},$i=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}},ea=class e extends Qi{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new $i,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?Ki(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()]}},ta=`di$target`,na=`di$dependencies`,ra=new Map;function ia(e){return e[na]||[]}function aa(e){if(ra.has(e))return ra.get(e);let t=function(e,n,r){if(arguments.length!==3)throw Error(`@IServiceName-decorator can only be used to decorate a parameter`);oa(t,e,r)};return t._id=e,ra.set(e,t),t}function oa(e,t,n){t[ta]===t?t[na].push({id:e,index:n}):(t[na]=[{id:e,index:n}],t[ta]=t)}var sa=aa(`BufferService`),ca=aa(`CoreMouseService`),la=aa(`CoreService`),ua=aa(`CharsetService`),da=aa(`InstantiationService`),fa=aa(`LogService`),pa=aa(`OptionsService`),ma=aa(`OscLinkService`),ha=aa(`UnicodeService`),ga=aa(`DecorationService`),_a=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 ea,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):va(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)}};_a=Pi([U(0,sa),U(1,pa),U(2,ma)],_a);function va(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 ya=aa(`CharSizeService`),ba=aa(`CoreBrowserService`),xa=aa(`MouseService`),Sa=aa(`RenderService`),Ca=aa(`SelectionService`),wa=aa(`CharacterJoinerService`),Ta=aa(`ThemeService`),Ea=aa(`LinkProviderService`),Da=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?Na.isErrorNoTelemetry(e)?new Na(e.message+`
5
5
 
@@ -1 +1 @@
1
- import{F as e,H as t,L as n,Q as r,U as i,bt as a,d as o,f as s,g as c,p as l,r as u,rt as d,u as f,v as p}from"./runtime-core.esm-bundler-C3IgBgY5.js";import{t as m}from"./QIcon-B0-pH3Qs.js";import{t as h}from"./QSeparator-rkjCbX2M.js";import{i as g}from"./use-id-CeduaJbU.js";import{n as _}from"./vue-i18n-CeG0hR0Z.js";import{i as v,m as y,n as b}from"./index-CUI-zN26.js";import{t as x}from"./_plugin-vue_export-helper-r4mAJOHR.js";import{t as S}from"./QBadge-DqtcDv8D.js";import{t as C}from"./QSpace-BNr0AftG.js";import{t as w}from"./formatters-BDadphwz.js";import{t as T}from"./QPage-yqdKDG7-.js";var E=g(`search`,{state:()=>({query:``,includeArchived:!1,results:[],loading:!1,error:``}),actions:{async search(){let e=this.query.trim();if(!e){this.results=[],this.error=``;return}this.loading=!0,this.error=``;try{let t=new URLSearchParams({q:e});this.includeArchived&&t.set(`includeArchived`,`true`);let n=await fetch(`/api/search?${t.toString()}`);if(!n.ok){let e=`HTTP ${n.status}`;try{let t=await n.json();t?.error&&(e=t.error)}catch{}throw Error(e)}this.results=await n.json()}catch(e){this.error=e instanceof Error?e.message:String(e),this.results=[]}finally{this.loading=!1}},clear(){this.query=``,this.results=[],this.error=``}}}),D={class:`search-header`},O={class:`text-h5 q-mb-md`},k={class:`row items-center q-mt-sm q-gutter-sm`},A={key:0,class:`text-caption text-grey-6`},j={key:0,class:`text-grey-6 text-caption`},M={key:1,class:`text-negative text-caption`},N={key:2,class:`text-grey-6 text-caption`},P={key:3,class:`search-results`},F=[`onClick`],I={class:`row items-center q-mb-xs text-caption`},L={class:`text-grey-5 text-weight-medium`},R={class:`text-grey-6`},z={class:`search-snippet text-body2 text-grey-4`},B=x(p({__name:`SearchPage`,setup(p){let g=E(),x=y(),{t:B}=_(),{timeAgo:V}=w(),H=r(null),U=null;function W(){U&&clearTimeout(U),U=setTimeout(()=>{g.search()},250)}t(()=>g.includeArchived,()=>{g.query.trim().length>0&&g.search()});function G(e){x.push({name:`workspace`,params:{id:e}})}function K(e){return e===`user:message`?B(`search.eventType.userMessage`):e===`agent:output`?B(`search.eventType.agentOutput`):e}return(t,r)=>(e(),o(T,{class:`q-pa-md search-page`},{default:i(()=>[f(`div`,D,[f(`h2`,O,a(t.$t(`search.title`)),1),c(v,{ref_key:`inputEl`,ref:H,modelValue:d(g).query,"onUpdate:modelValue":[r[0]||=e=>d(g).query=e,W],dense:``,dark:``,outlined:``,clearable:``,autofocus:``,placeholder:t.$t(`search.placeholder`),onClear:r[1]||=e=>d(g).clear()},{prepend:i(()=>[c(m,{name:`search`})]),_:1},8,[`modelValue`,`placeholder`]),f(`div`,k,[c(b,{modelValue:d(g).includeArchived,"onUpdate:modelValue":r[2]||=e=>d(g).includeArchived=e,label:t.$t(`search.includeArchived`),dense:``,dark:``,color:`indigo-4`,size:`sm`},null,8,[`modelValue`,`label`]),c(C),d(g).results.length>0?(e(),l(`span`,A,a(t.$t(`search.resultCount`,{n:d(g).results.length})),1)):s(``,!0)])]),c(h,{dark:``,class:`q-my-md`}),d(g).loading?(e(),l(`div`,j,a(t.$t(`search.loading`)),1)):d(g).error?(e(),l(`div`,M,a(t.$t(`search.error`,{message:d(g).error})),1)):d(g).query.trim().length>0&&d(g).results.length===0?(e(),l(`div`,N,a(t.$t(`search.noResults`)),1)):d(g).results.length>0?(e(),l(`div`,P,[(e(!0),l(u,null,n(d(g).results,(n,r)=>(e(),l(`div`,{key:`${n.workspaceId}-${n.timestamp}-${r}`,class:`search-result q-pa-sm q-mb-sm cursor-pointer`,onClick:e=>G(n.workspaceId)},[f(`div`,I,[f(`span`,L,a(n.workspaceName),1),n.archived?(e(),o(S,{key:0,color:`grey-7`,class:`q-ml-xs`,label:t.$t(`common.archive`)},null,8,[`label`])):s(``,!0),c(C),c(S,{color:n.type===`user:message`?`blue-grey-7`:`indigo-7`,class:`q-mr-sm`,label:K(n.type)},null,8,[`color`,`label`]),f(`span`,R,a(d(V)(n.timestamp)),1)]),f(`div`,z,a(n.snippet),1)],8,F))),128))])):s(``,!0)]),_:1}))}}),[[`__scopeId`,`data-v-f2604415`]]);export{B as default};
1
+ import{F as e,H as t,L as n,Q as r,U as i,bt as a,d as o,f as s,g as c,p as l,r as u,rt as d,u as f,v as p}from"./runtime-core.esm-bundler-C3IgBgY5.js";import{t as m}from"./QIcon-B0-pH3Qs.js";import{t as h}from"./QSeparator-rkjCbX2M.js";import{i as g}from"./use-id-CeduaJbU.js";import{n as _}from"./vue-i18n-CeG0hR0Z.js";import{i as v,m as y,n as b}from"./index-9vZWx9Bu.js";import{t as x}from"./_plugin-vue_export-helper-r4mAJOHR.js";import{t as S}from"./QBadge-DqtcDv8D.js";import{t as C}from"./QSpace-BNr0AftG.js";import{t as w}from"./formatters-BDadphwz.js";import{t as T}from"./QPage-yqdKDG7-.js";var E=g(`search`,{state:()=>({query:``,includeArchived:!1,results:[],loading:!1,error:``}),actions:{async search(){let e=this.query.trim();if(!e){this.results=[],this.error=``;return}this.loading=!0,this.error=``;try{let t=new URLSearchParams({q:e});this.includeArchived&&t.set(`includeArchived`,`true`);let n=await fetch(`/api/search?${t.toString()}`);if(!n.ok){let e=`HTTP ${n.status}`;try{let t=await n.json();t?.error&&(e=t.error)}catch{}throw Error(e)}this.results=await n.json()}catch(e){this.error=e instanceof Error?e.message:String(e),this.results=[]}finally{this.loading=!1}},clear(){this.query=``,this.results=[],this.error=``}}}),D={class:`search-header`},O={class:`text-h5 q-mb-md`},k={class:`row items-center q-mt-sm q-gutter-sm`},A={key:0,class:`text-caption text-grey-6`},j={key:0,class:`text-grey-6 text-caption`},M={key:1,class:`text-negative text-caption`},N={key:2,class:`text-grey-6 text-caption`},P={key:3,class:`search-results`},F=[`onClick`],I={class:`row items-center q-mb-xs text-caption`},L={class:`text-grey-5 text-weight-medium`},R={class:`text-grey-6`},z={class:`search-snippet text-body2 text-grey-4`},B=x(p({__name:`SearchPage`,setup(p){let g=E(),x=y(),{t:B}=_(),{timeAgo:V}=w(),H=r(null),U=null;function W(){U&&clearTimeout(U),U=setTimeout(()=>{g.search()},250)}t(()=>g.includeArchived,()=>{g.query.trim().length>0&&g.search()});function G(e){x.push({name:`workspace`,params:{id:e}})}function K(e){return e===`user:message`?B(`search.eventType.userMessage`):e===`agent:output`?B(`search.eventType.agentOutput`):e}return(t,r)=>(e(),o(T,{class:`q-pa-md search-page`},{default:i(()=>[f(`div`,D,[f(`h2`,O,a(t.$t(`search.title`)),1),c(v,{ref_key:`inputEl`,ref:H,modelValue:d(g).query,"onUpdate:modelValue":[r[0]||=e=>d(g).query=e,W],dense:``,dark:``,outlined:``,clearable:``,autofocus:``,placeholder:t.$t(`search.placeholder`),onClear:r[1]||=e=>d(g).clear()},{prepend:i(()=>[c(m,{name:`search`})]),_:1},8,[`modelValue`,`placeholder`]),f(`div`,k,[c(b,{modelValue:d(g).includeArchived,"onUpdate:modelValue":r[2]||=e=>d(g).includeArchived=e,label:t.$t(`search.includeArchived`),dense:``,dark:``,color:`indigo-4`,size:`sm`},null,8,[`modelValue`,`label`]),c(C),d(g).results.length>0?(e(),l(`span`,A,a(t.$t(`search.resultCount`,{n:d(g).results.length})),1)):s(``,!0)])]),c(h,{dark:``,class:`q-my-md`}),d(g).loading?(e(),l(`div`,j,a(t.$t(`search.loading`)),1)):d(g).error?(e(),l(`div`,M,a(t.$t(`search.error`,{message:d(g).error})),1)):d(g).query.trim().length>0&&d(g).results.length===0?(e(),l(`div`,N,a(t.$t(`search.noResults`)),1)):d(g).results.length>0?(e(),l(`div`,P,[(e(!0),l(u,null,n(d(g).results,(n,r)=>(e(),l(`div`,{key:`${n.workspaceId}-${n.timestamp}-${r}`,class:`search-result q-pa-sm q-mb-sm cursor-pointer`,onClick:e=>G(n.workspaceId)},[f(`div`,I,[f(`span`,L,a(n.workspaceName),1),n.archived?(e(),o(S,{key:0,color:`grey-7`,class:`q-ml-xs`,label:t.$t(`common.archive`)},null,8,[`label`])):s(``,!0),c(C),c(S,{color:n.type===`user:message`?`blue-grey-7`:`indigo-7`,class:`q-mr-sm`,label:K(n.type)},null,8,[`color`,`label`]),f(`span`,R,a(d(V)(n.timestamp)),1)]),f(`div`,z,a(n.snippet),1)],8,F))),128))])):s(``,!0)]),_:1}))}}),[[`__scopeId`,`data-v-f2604415`]]);export{B as default};