@loicngr/kobo 1.11.9 → 1.11.10

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 (173) hide show
  1. package/AGENTS.md +2 -1
  2. package/CHANGELOG.md +5 -0
  3. package/README.md +2 -2
  4. package/dist/server/db/migrations.js +155 -19
  5. package/dist/server/db/schema.js +93 -0
  6. package/dist/server/index.js +35 -26
  7. package/dist/server/routes/dev-server.js +8 -7
  8. package/dist/server/routes/documents.js +33 -3
  9. package/dist/server/routes/health.js +16 -15
  10. package/dist/server/routes/images.js +17 -2
  11. package/dist/server/routes/workspaces.js +63 -48
  12. package/dist/server/services/agent/orchestrator.js +8 -1
  13. package/dist/server/services/auto-loop-service.js +1 -1
  14. package/dist/server/services/dev-server-service.js +48 -41
  15. package/dist/server/services/forge/bitbucket/provider.js +6 -11
  16. package/dist/server/services/forge/github/provider.js +10 -9
  17. package/dist/server/services/forge/gitlab/provider.js +11 -13
  18. package/dist/server/services/git-stats-service.js +8 -6
  19. package/dist/server/services/image-service.js +34 -5
  20. package/dist/server/services/pr-watcher-service.js +20 -9
  21. package/dist/server/services/search-service.js +53 -40
  22. package/dist/server/services/websocket-service.js +8 -3
  23. package/dist/server/services/workspace-service.js +81 -10
  24. package/dist/server/services/worktree-purge-service.js +1 -1
  25. package/dist/server/utils/git-ops.js +89 -22
  26. package/dist/server/utils/safe-path.js +14 -0
  27. package/package.json +22 -22
  28. package/src/client/dist/pwa/assets/{ActivityFeed-Dv06XbgS.css → ActivityFeed-BrjeLlhi.css} +1 -1
  29. package/src/client/dist/pwa/assets/ActivityFeed-UEAexGjc.js +8 -0
  30. package/src/client/dist/pwa/assets/ChangelogPage-XSYwu9XA.js +1 -0
  31. package/src/client/dist/pwa/assets/{ClosePopup-BZ1O0Jxe.js → ClosePopup-dpcrW9DC.js} +1 -1
  32. package/src/client/dist/pwa/assets/CreatePage-BK__rjvR.js +2 -0
  33. package/src/client/dist/pwa/assets/CreatePage-QwtfYunr.css +1 -0
  34. package/src/client/dist/pwa/assets/{DiffViewer-D9FN4RS8.css → DiffViewer-CS3P9Ngi.css} +1 -1
  35. package/src/client/dist/pwa/assets/DiffViewer-DnFN6Sc_.js +8 -0
  36. package/src/client/dist/pwa/assets/HealthPage-DVrZfMI6.js +1 -0
  37. package/src/client/dist/pwa/assets/MainLayout-D_3nFaCG.js +19 -0
  38. package/src/client/dist/pwa/assets/MainLayout-u-AM87m3.css +1 -0
  39. package/src/client/dist/pwa/assets/QBadge-sMJZ_eZm.js +1 -0
  40. package/src/client/dist/pwa/assets/QBanner-DedhGMcj.js +1 -0
  41. package/src/client/dist/pwa/assets/QBtnToggle-BgfN19l8.js +1 -0
  42. package/src/client/dist/pwa/assets/QChip-EQGYShN0.js +1 -0
  43. package/src/client/dist/pwa/assets/QIcon--SvgE-nS.js +1 -0
  44. package/src/client/dist/pwa/assets/QList-Be_FbTA3.js +1 -0
  45. package/src/client/dist/pwa/assets/QPage-DuIsRmYu.js +1 -0
  46. package/src/client/dist/pwa/assets/QSelect-CtxxliRU.js +36 -0
  47. package/src/client/dist/pwa/assets/QSeparator-BdyRE-AM.js +1 -0
  48. package/src/client/dist/pwa/assets/QSpace-D9UEvM99.js +1 -0
  49. package/src/client/dist/pwa/assets/QSpinnerDots-B4RmFJUj.js +1 -0
  50. package/src/client/dist/pwa/assets/QTooltip-HEIFh5w9.js +1 -0
  51. package/src/client/dist/pwa/assets/SearchPage-1B5HOf90.js +1 -0
  52. package/src/client/dist/pwa/assets/SettingsPage-v8f4rrCt.js +16 -0
  53. package/src/client/dist/pwa/assets/TouchPan-lynWXY69.js +1 -0
  54. package/src/client/dist/pwa/assets/WorkspacePage-ChnyJ3xI.css +1 -0
  55. package/src/client/dist/pwa/assets/WorkspacePage-Vjzi8YnW.js +4 -0
  56. package/src/client/dist/pwa/assets/codicon-Brq4_Ui5.ttf +0 -0
  57. package/src/client/dist/pwa/assets/{css.worker-CBlhdqTa.js → css.worker-JKZQyld4.js} +38 -34
  58. package/src/client/dist/pwa/assets/cssMode-cg8iVI-i.js +1 -0
  59. package/src/client/dist/pwa/assets/documents-Dlx8yiSO.js +1 -0
  60. package/src/client/dist/pwa/assets/editor-vZnmUXVO.css +1 -0
  61. package/src/client/dist/pwa/assets/editor.api-CfaJRkrX.js +847 -0
  62. package/src/client/dist/pwa/assets/editor.worker-D-m8IBMa.js +30 -0
  63. package/src/client/dist/pwa/assets/expand-template-D3LZldj1.js +1 -0
  64. package/src/client/dist/pwa/assets/formatters-D0dU6VcA.js +1 -0
  65. package/src/client/dist/pwa/assets/{freemarker2-Dgrv0PyH.js → freemarker2-B_8OIClK.js} +1 -1
  66. package/src/client/dist/pwa/assets/handlebars-CaYi_uxU.js +1 -0
  67. package/src/client/dist/pwa/assets/html-BnCUDUl1.js +1 -0
  68. package/src/client/dist/pwa/assets/html.worker-BUr90sI4.js +506 -0
  69. package/src/client/dist/pwa/assets/htmlMode-BZjKGnQF.js +1 -0
  70. package/src/client/dist/pwa/assets/i18n-B6SDs7Lm.js +1 -0
  71. package/src/client/dist/pwa/assets/index-CK1nk7qr.css +1 -0
  72. package/src/client/dist/pwa/assets/index-CoOsPyyG.js +82 -0
  73. package/src/client/dist/pwa/assets/{javascript-IK9qSsfx.js → javascript-DkSfoeHU.js} +1 -1
  74. package/src/client/dist/pwa/assets/json.worker-BOODjG9U.js +62 -0
  75. package/src/client/dist/pwa/assets/{jsonMode-D_Vdxb-B.js → jsonMode-yKXxfx1V.js} +3 -3
  76. package/src/client/dist/pwa/assets/{kobo-commands-zljfAram.js → kobo-commands-vn1IQxLn.js} +1 -1
  77. package/src/client/dist/pwa/assets/layout-CiQpugQB.js +1 -0
  78. package/src/client/dist/pwa/assets/liquid-Dlhysv3U.js +1 -0
  79. package/src/client/dist/pwa/assets/lspLanguageFeatures-CeYSQFUz.js +4 -0
  80. package/src/client/dist/pwa/assets/mdx-B8iME5NA.js +1 -0
  81. package/src/client/dist/pwa/assets/network-auth-j2Drut6q.js +1 -0
  82. package/src/client/dist/pwa/assets/pending-diff-open-B4RYz7G_.js +1 -0
  83. package/src/client/dist/pwa/assets/permissionModes-6jhegAm-.js +1 -0
  84. package/src/client/dist/pwa/assets/{project-color-6xNNY9u6.js → project-color-e3OdFi9X.js} +1 -1
  85. package/src/client/dist/pwa/assets/python-CbFbC0ZR.js +1 -0
  86. package/src/client/dist/pwa/assets/razor-7c2NCdFI.js +1 -0
  87. package/src/client/dist/pwa/assets/reactivity.esm-bundler-DtSZKRQB.js +1 -0
  88. package/src/client/dist/pwa/assets/render-chat-markdown-Fer8kY38.js +67 -0
  89. package/src/client/dist/pwa/assets/runtime-dom.esm-bundler-DgevF6KV.js +4 -0
  90. package/src/client/dist/pwa/assets/{ts.worker-PmaSgaZk.js → ts.worker-C-oGa8JT.js} +199 -195
  91. package/src/client/dist/pwa/assets/{tsMode-DiiMWOVl.js → tsMode-BmShKjbx.js} +1 -1
  92. package/src/client/dist/pwa/assets/typescript-Dhu7Upbs.js +1 -0
  93. package/src/client/dist/pwa/assets/use-checkbox-SrkgiJho.js +1 -0
  94. package/src/client/dist/pwa/assets/use-onboarding-CTZuBZOi.css +1 -0
  95. package/src/client/dist/pwa/assets/use-onboarding-fe4sPCNf.js +2 -0
  96. package/src/client/dist/pwa/assets/use-quasar-CeHlTrGg.js +1 -0
  97. package/src/client/dist/pwa/assets/vs-B-xsceNQ.js +56 -0
  98. package/src/client/dist/pwa/assets/vs-JJSFJJVJ.css +1 -0
  99. package/src/client/dist/pwa/assets/vue-i18n-C3W5i7h6.js +3 -0
  100. package/src/client/dist/pwa/assets/workers-zVMTXVoC.js +1 -0
  101. package/src/client/dist/pwa/assets/xml-D64wpCtR.js +1 -0
  102. package/src/client/dist/pwa/assets/yaml-CLSRKwfx.js +1 -0
  103. package/src/client/dist/pwa/index.html +8 -8
  104. package/src/client/dist/pwa/manifest.json +1 -1
  105. package/src/client/dist/pwa/sw.js +1 -1
  106. package/src/client/dist/pwa/assets/ActivityFeed-Bs1uccfa.js +0 -8
  107. package/src/client/dist/pwa/assets/ChangelogPage-nW4vA3qx.js +0 -1
  108. package/src/client/dist/pwa/assets/CreatePage-BrdHh0Th.js +0 -2
  109. package/src/client/dist/pwa/assets/CreatePage-CRIBi2Vx.css +0 -1
  110. package/src/client/dist/pwa/assets/DiffViewer-DhtJQzG2.js +0 -8
  111. package/src/client/dist/pwa/assets/HealthPage-CExFCl_7.js +0 -1
  112. package/src/client/dist/pwa/assets/MainLayout-Coqyj1FP.css +0 -1
  113. package/src/client/dist/pwa/assets/MainLayout-WYZAjpD2.js +0 -37
  114. package/src/client/dist/pwa/assets/QBadge-DV5kn4mL.js +0 -1
  115. package/src/client/dist/pwa/assets/QBanner-CmfaeizG.js +0 -1
  116. package/src/client/dist/pwa/assets/QBtnGroup-C442-yBb.js +0 -1
  117. package/src/client/dist/pwa/assets/QBtnToggle-CqyoLg5U.js +0 -1
  118. package/src/client/dist/pwa/assets/QChip-DMYWc1jc.js +0 -1
  119. package/src/client/dist/pwa/assets/QIcon-C6E-oEjI.js +0 -1
  120. package/src/client/dist/pwa/assets/QInput-BF8x4RTv.js +0 -1
  121. package/src/client/dist/pwa/assets/QList-D5EKdFPn.js +0 -1
  122. package/src/client/dist/pwa/assets/QPage-D3rjwA1l.js +0 -1
  123. package/src/client/dist/pwa/assets/QSelect-CAa3syxF.js +0 -36
  124. package/src/client/dist/pwa/assets/QSeparator-DWTCQxsa.js +0 -1
  125. package/src/client/dist/pwa/assets/QSpace-ezNrZkuj.js +0 -1
  126. package/src/client/dist/pwa/assets/QSpinnerDots-DIV68-cV.js +0 -1
  127. package/src/client/dist/pwa/assets/QTooltip-6IQJP1_Y.js +0 -1
  128. package/src/client/dist/pwa/assets/SearchPage-CQtm05UQ.js +0 -1
  129. package/src/client/dist/pwa/assets/SettingsPage-B38IzmSs.js +0 -16
  130. package/src/client/dist/pwa/assets/ThinkingItem-BqWpfNZP.js +0 -1
  131. package/src/client/dist/pwa/assets/ThinkingItem-Ckk4K1O-.css +0 -1
  132. package/src/client/dist/pwa/assets/TouchPan-C939psBh.js +0 -1
  133. package/src/client/dist/pwa/assets/WorkspacePage-CFF5Ghug.css +0 -1
  134. package/src/client/dist/pwa/assets/WorkspacePage-dS-Nc6QU.js +0 -4
  135. package/src/client/dist/pwa/assets/build-path-tree-C5rzY2hF.js +0 -1
  136. package/src/client/dist/pwa/assets/chunk-QTnfLwEv.js +0 -1
  137. package/src/client/dist/pwa/assets/codicon-ngg6Pgfi.ttf +0 -0
  138. package/src/client/dist/pwa/assets/cssMode-p60S_iK6.js +0 -1
  139. package/src/client/dist/pwa/assets/documents-CzlF-PFm.js +0 -1
  140. package/src/client/dist/pwa/assets/editor-BFebQ78e.css +0 -1
  141. package/src/client/dist/pwa/assets/editor.api2-DfOm2dM5.js +0 -872
  142. package/src/client/dist/pwa/assets/editor.main-6eriWmTe.js +0 -6
  143. package/src/client/dist/pwa/assets/editor.worker-Cu3tR8iJ.js +0 -26
  144. package/src/client/dist/pwa/assets/expand-template-B_RAt6BV.js +0 -1
  145. package/src/client/dist/pwa/assets/formatters-BoLOujHM.js +0 -1
  146. package/src/client/dist/pwa/assets/handlebars-D0XTaj97.js +0 -1
  147. package/src/client/dist/pwa/assets/html-DkYxFVm6.js +0 -1
  148. package/src/client/dist/pwa/assets/html.worker-BKBrNna1.js +0 -502
  149. package/src/client/dist/pwa/assets/htmlMode-Dj3mtvXI.js +0 -1
  150. package/src/client/dist/pwa/assets/i18n-Dzzn4YfF.js +0 -1
  151. package/src/client/dist/pwa/assets/index-C06a940j.js +0 -84
  152. package/src/client/dist/pwa/assets/index-CwYR3iHt.css +0 -1
  153. package/src/client/dist/pwa/assets/json.worker-BaLYt9Ss.js +0 -58
  154. package/src/client/dist/pwa/assets/layout-BAnzeEPY.js +0 -1
  155. package/src/client/dist/pwa/assets/liquid-DURTrym0.js +0 -1
  156. package/src/client/dist/pwa/assets/lspLanguageFeatures-Bki_90YN.js +0 -4
  157. package/src/client/dist/pwa/assets/mdx-z7FKEEaF.js +0 -1
  158. package/src/client/dist/pwa/assets/monaco.contribution-D52lvpFV.js +0 -2
  159. package/src/client/dist/pwa/assets/network-auth-DrGWXKl2.js +0 -1
  160. package/src/client/dist/pwa/assets/pending-diff-open-DX42h-5U.js +0 -1
  161. package/src/client/dist/pwa/assets/permissionModes-DMHgg-69.js +0 -1
  162. package/src/client/dist/pwa/assets/python-DHQ3U-kG.js +0 -1
  163. package/src/client/dist/pwa/assets/razor-DMlreu1b.js +0 -1
  164. package/src/client/dist/pwa/assets/render-chat-markdown-0Vj9B94m.js +0 -66
  165. package/src/client/dist/pwa/assets/typescript-0wxHr6dC.js +0 -1
  166. package/src/client/dist/pwa/assets/use-checkbox-E9SV7iH5.js +0 -1
  167. package/src/client/dist/pwa/assets/use-onboarding--YqDGUQR.js +0 -2
  168. package/src/client/dist/pwa/assets/use-onboarding-B3l7mx48.css +0 -1
  169. package/src/client/dist/pwa/assets/use-quasar-oX1TyrPM.js +0 -1
  170. package/src/client/dist/pwa/assets/vue.runtime.esm-bundler-JZnIeD9D.js +0 -3
  171. package/src/client/dist/pwa/assets/workers-D0OEUSgt.js +0 -1
  172. package/src/client/dist/pwa/assets/xml-C7PczWV5.js +0 -1
  173. package/src/client/dist/pwa/assets/yaml-Dj6QPnyC.js +0 -1
@@ -0,0 +1 @@
1
+ import{B as e,C as t,wt as n,yt as r}from"./reactivity.esm-bundler-DtSZKRQB.js";import{$ as i,A as a,B as o,H as s,Mt as ee,Rt as c,U as l,V as u,W as d,Wt as f,X as te,Z as p,_n as m}from"./runtime-dom.esm-bundler-DgevF6KV.js";import{t as h}from"./QIcon--SvgE-nS.js";import{Dt as g,G as _,kt as v,s as ne}from"./index-CoOsPyyG.js";import{n as y,r as b,t as re}from"./use-quasar-CeHlTrGg.js";import{t as x}from"./QBadge-sMJZ_eZm.js";import{t as S}from"./QSpace-D9UEvM99.js";import{t as C}from"./QList-Be_FbTA3.js";import{t as ie}from"./QPage-DuIsRmYu.js";var ae={class:`row items-center q-mb-md`},oe={class:`text-h6 q-ml-sm`},se={key:0,class:`text-grey-6 text-center q-pa-lg`},ce={key:1,class:`column q-gutter-md`},le={class:`text-subtitle2 q-mb-sm`},ue={class:`row q-col-gutter-md`},de={class:`col-auto`},w={class:`text-caption text-grey-6`},T={class:`text-body2`,style:{"font-family":`var(--kobo-font-mono, monospace)`}},E={class:`col-auto`},D={class:`text-caption text-grey-6`},O={class:`text-body2`,style:{"font-family":`var(--kobo-font-mono, monospace)`}},k={class:`col`},A={class:`text-caption text-grey-6`},j={class:`text-body2`},M={class:`row items-center`},N={class:`text-subtitle2`},P={class:`row q-col-gutter-md q-mt-xs`},F={class:`col`},I={class:`text-caption text-grey-6`},L={class:`text-body2`},R={class:`col-auto`},z={class:`text-caption text-grey-6`},B={class:`text-body2`},V={class:`col-auto`},H={class:`text-caption text-grey-6`},fe={class:`text-body2`},pe={class:`text-subtitle2 q-mb-sm`},me={class:`column q-gutter-sm`},he={class:`row items-center`},ge={class:`q-ml-sm text-body2`},_e={key:0,class:`text-caption text-grey-5`},ve={key:1,class:`text-caption text-negative`},ye={class:`row items-center`},be={class:`q-ml-sm text-body2`},xe={key:0,class:`text-caption text-grey-5`},Se={key:1,class:`text-caption text-negative`},Ce={class:`row items-center`},we={class:`text-subtitle2`},Te={class:`text-caption text-grey-6 q-mt-xs`},Ee={key:0,class:`q-mt-sm`},De={class:`text-caption text-negative q-mb-xs`},Oe={class:`text-body2`},ke={class:`text-caption text-grey-6`},Ae={class:`row items-center`},je={class:`text-subtitle2`},Me={class:`text-subtitle1 q-mt-md q-mb-xs text-grey-5`},U={class:`row items-center`},Ne={class:`text-subtitle2`},Pe={key:0,class:`text-caption text-grey-7 q-mt-xs`},Fe={class:`text-body2`},Ie={class:`text-caption text-grey-6`},Le={class:`row items-center`},Re={class:`text-subtitle2`},ze={key:0,class:`text-caption text-grey-7 q-mt-xs`},Be={class:`text-body2`},Ve={class:`text-caption text-grey-6`},He={key:0},Ue={class:`row items-center`},We={class:`text-subtitle2`},Ge={key:0,class:`text-caption text-grey-7 q-mt-xs`},Ke={class:`text-body2`},qe={class:`text-caption text-grey-6`},Je={class:`row items-center`},Ye={class:`text-subtitle2`},Xe={key:0,class:`text-caption text-grey-7 q-mt-xs`},Ze={class:`text-body2`},Qe={class:`text-caption text-grey-6`},$e={class:`row items-center`},et={class:`text-subtitle2`},tt={key:0,class:`text-caption text-grey-7 q-mt-xs`},nt={class:`text-body2`},rt={class:`text-subtitle2 q-mb-sm`},it={class:`column q-gutter-xs`},at={class:`row items-center`},ot={class:`q-ml-sm text-caption text-grey-6`},st={class:`row items-center`},ct={class:`q-ml-sm text-caption text-grey-6`},lt={class:`row items-center`},ut={class:`q-ml-sm text-caption text-grey-6`},W=i({__name:`HealthPage`,setup(i){let W=re(),G=ne(),K=t(null),q=t(!1);async function J(){q.value=!0;try{let e=await fetch(`/api/health/report`);if(!e.ok)throw Error(`HTTP ${e.status}`);K.value=await e.json()}catch(e){W.notify({type:`negative`,message:String(e),position:`top`,timeout:4e3})}finally{q.value=!1}}ee(J);let dt=o(()=>{let e=K.value?.db.sizeBytes;return e==null?`—`:e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1024/1024).toFixed(1)} MB`}),Y=o(()=>{let e=K.value;return e?e.db.schemaVersion===e.db.currentSchemaVersion:!1});function X(e){return e?`check_circle`:`error`}function Z(e){return e?`positive`:`negative`}function Q(e){return new Date(e).toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`})}function ft(e){let t=Date.now()-new Date(e).getTime();if(Number.isNaN(t)||t<0)return`—`;let n=Math.floor(t/1e3);if(n<60)return`${n}s`;let r=Math.floor(n/60);if(r<60)return`${r}m`;let i=Math.floor(r/60);return i<24?`${i}h${r%60?` ${r%60}m`:``}`:`${Math.floor(i/24)}d`}function $(e){G.push({name:`workspace`,params:{id:e}}).catch(()=>{})}return(t,i)=>(c(),s(ie,{class:`q-pa-md`,style:{"max-width":`900px`,margin:`0 auto`}},{default:m(()=>[u(`div`,ae,[p(_,{flat:``,dense:``,round:``,icon:`arrow_back`,onClick:i[0]||=t=>e(G).back()}),u(`div`,oe,n(t.$t(`health.title`)),1),p(S),p(_,{flat:``,dense:``,icon:`refresh`,loading:q.value,label:t.$t(`common.refresh`),onClick:J},null,8,[`loading`,`label`])]),!K.value&&q.value?(c(),d(`div`,se,n(t.$t(`common.loading`)),1)):K.value?(c(),d(`div`,ce,[p(g,{dark:``,flat:``,bordered:``},{default:m(()=>[p(v,null,{default:m(()=>[u(`div`,le,n(t.$t(`health.envTitle`)),1),u(`div`,ue,[u(`div`,de,[u(`div`,w,n(t.$t(`health.version`)),1),u(`div`,T,n(K.value.version),1)]),u(`div`,E,[u(`div`,D,n(t.$t(`health.settingsSchemaVersion`)),1),u(`div`,O,n(K.value.settings.schemaVersion),1)]),u(`div`,k,[u(`div`,A,n(t.$t(`health.koboHome`)),1),u(`div`,j,n(K.value.koboHome),1)])])]),_:1})]),_:1}),p(g,{dark:``,flat:``,bordered:``},{default:m(()=>[p(v,null,{default:m(()=>[u(`div`,M,[u(`div`,N,n(t.$t(`health.dbTitle`)),1),p(S),p(h,{name:X(Y.value),color:Z(Y.value)},null,8,[`name`,`color`])]),u(`div`,P,[u(`div`,F,[u(`div`,I,n(t.$t(`health.dbPath`)),1),u(`div`,L,n(K.value.db.path),1)]),u(`div`,R,[u(`div`,z,n(t.$t(`health.dbSize`)),1),u(`div`,B,n(dt.value),1)]),u(`div`,V,[u(`div`,H,n(t.$t(`health.schemaVersion`)),1),u(`div`,fe,n(K.value.db.schemaVersion)+` / `+n(K.value.db.currentSchemaVersion),1)])])]),_:1})]),_:1}),p(g,{dark:``,flat:``,bordered:``},{default:m(()=>[p(v,null,{default:m(()=>[u(`div`,pe,n(t.$t(`health.runtimesTitle`)),1),u(`div`,me,[u(`div`,he,[p(h,{name:X(K.value.claudeCli.available),color:Z(K.value.claudeCli.available),size:`sm`},null,8,[`name`,`color`]),u(`span`,ge,n(t.$t(`health.claudeCliTitle`)),1),p(S),K.value.claudeCli.available?(c(),d(`span`,_e,n(K.value.claudeCli.version),1)):(c(),d(`span`,ve,n(t.$t(`health.claudeCliMissing`)),1))]),u(`div`,ye,[p(h,{name:X(K.value.codexCli.available),color:Z(K.value.codexCli.available),size:`sm`},null,8,[`name`,`color`]),u(`span`,be,n(t.$t(`health.codexCliTitle`)),1),p(S),K.value.codexCli.available?(c(),d(`span`,xe,n(K.value.codexCli.version),1)):(c(),d(`span`,Se,n(t.$t(`health.codexCliMissing`)),1))])])]),_:1})]),_:1}),p(g,{dark:``,flat:``,bordered:``},{default:m(()=>[p(v,null,{default:m(()=>[u(`div`,Ce,[u(`div`,we,n(t.$t(`health.workspacesTitle`)),1),p(S),p(h,{name:X(K.value.workspaces.worktreesMissing.length===0),color:Z(K.value.workspaces.worktreesMissing.length===0)},null,8,[`name`,`color`])]),u(`div`,Te,n(t.$t(`health.workspacesCount`,{total:K.value.workspaces.total,archived:K.value.workspaces.archived})),1),K.value.workspaces.worktreesMissing.length>0?(c(),d(`div`,Ee,[u(`div`,De,n(t.$t(`health.worktreesMissing`,{count:K.value.workspaces.worktreesMissing.length})),1),p(C,{dense:``,dark:``},{default:m(()=>[(c(!0),d(a,null,f(K.value.workspaces.worktreesMissing,e=>(c(),s(b,{key:e.workspaceId},{default:m(()=>[p(y,null,{default:m(()=>[u(`div`,Oe,n(e.name),1),u(`div`,ke,n(e.path),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})])):l(``,!0)]),_:1})]),_:1}),p(g,{dark:``,flat:``,bordered:``},{default:m(()=>[p(v,null,{default:m(()=>[u(`div`,Ae,[u(`div`,je,n(t.$t(`health.sessionsTitle`)),1),p(S),p(h,{name:X(K.value.agentSessions.orphaned===0),color:Z(K.value.agentSessions.orphaned===0)},null,8,[`name`,`color`])]),u(`div`,{class:r([`text-caption q-mt-xs`,K.value.agentSessions.orphaned>0?`text-negative`:`text-grey-6`])},n(t.$t(`health.sessionsOrphaned`,{n:K.value.agentSessions.orphaned})),3)]),_:1})]),_:1}),u(`div`,Me,n(t.$t(`health.activeTitle`)),1),p(g,{dark:``,flat:``,bordered:``},{default:m(()=>[p(v,null,{default:m(()=>[u(`div`,U,[p(h,{name:`hourglass_top`,size:`sm`,color:`amber-6`,class:`q-mr-sm`}),u(`div`,Ne,n(t.$t(`health.activeQuotaBackoffs`)),1),p(S),p(x,{label:K.value.active.quotaBackoffs.length,color:`grey-8`,"text-color":`grey-3`},null,8,[`label`])]),K.value.active.quotaBackoffs.length===0?(c(),d(`div`,Pe,n(t.$t(`health.noneActive`)),1)):(c(),s(C,{key:1,dense:``,dark:``,class:`q-mt-xs`},{default:m(()=>[(c(!0),d(a,null,f(K.value.active.quotaBackoffs,e=>(c(),s(b,{key:e.workspaceId,clickable:``,onClick:t=>$(e.workspaceId)},{default:m(()=>[p(y,null,{default:m(()=>[u(`div`,Fe,n(e.name),1),u(`div`,Ie,n(t.$t(`health.quotaResumeAt`,{time:Q(e.targetAt)}))+` · `+n(e.source)+` · retry #`+n(e.retryCount),1)]),_:2},1024)]),_:2},1032,[`onClick`]))),128))]),_:1}))]),_:1})]),_:1}),p(g,{dark:``,flat:``,bordered:``},{default:m(()=>[p(v,null,{default:m(()=>[u(`div`,Le,[p(h,{name:`schedule`,size:`sm`,color:`indigo-4`,class:`q-mr-sm`}),u(`div`,Re,n(t.$t(`health.activeWakeups`)),1),p(S),p(x,{label:K.value.active.pendingWakeups.length,color:`grey-8`,"text-color":`grey-3`},null,8,[`label`])]),K.value.active.pendingWakeups.length===0?(c(),d(`div`,ze,n(t.$t(`health.noneActive`)),1)):(c(),s(C,{key:1,dense:``,dark:``,class:`q-mt-xs`},{default:m(()=>[(c(!0),d(a,null,f(K.value.active.pendingWakeups,e=>(c(),s(b,{key:e.workspaceId,clickable:``,onClick:t=>$(e.workspaceId)},{default:m(()=>[p(y,null,{default:m(()=>[u(`div`,Be,n(e.name),1),u(`div`,Ve,[te(n(t.$t(`health.wakeupAt`,{time:Q(e.targetAt)}))+` `,1),e.reason?(c(),d(`span`,He,` · `+n(e.reason),1)):l(``,!0)])]),_:2},1024)]),_:2},1032,[`onClick`]))),128))]),_:1}))]),_:1})]),_:1}),p(g,{dark:``,flat:``,bordered:``},{default:m(()=>[p(v,null,{default:m(()=>[u(`div`,Ue,[p(h,{name:`autorenew`,size:`sm`,color:`amber-7`,class:`q-mr-sm`}),u(`div`,We,n(t.$t(`health.activeAutoLoop`)),1),p(S),p(x,{label:K.value.active.autoLoopActive.length,color:`grey-8`,"text-color":`grey-3`},null,8,[`label`])]),K.value.active.autoLoopActive.length===0?(c(),d(`div`,Ge,n(t.$t(`health.noneActive`)),1)):(c(),s(C,{key:1,dense:``,dark:``,class:`q-mt-xs`},{default:m(()=>[(c(!0),d(a,null,f(K.value.active.autoLoopActive,e=>(c(),s(b,{key:e.workspaceId,clickable:``,onClick:t=>$(e.workspaceId)},{default:m(()=>[p(y,null,{default:m(()=>[u(`div`,Ke,n(e.name),1),u(`div`,qe,n(e.ready?t.$t(`health.autoLoopReady`):t.$t(`health.autoLoopGrooming`)),1)]),_:2},1024)]),_:2},1032,[`onClick`]))),128))]),_:1}))]),_:1})]),_:1}),p(g,{dark:``,flat:``,bordered:``},{default:m(()=>[p(v,null,{default:m(()=>[u(`div`,Je,[p(h,{name:`play_arrow`,size:`sm`,color:`green-5`,class:`q-mr-sm`}),u(`div`,Ye,n(t.$t(`health.activeAgentSessions`)),1),p(S),p(x,{label:K.value.active.agentSessionsAlive.length,color:`grey-8`,"text-color":`grey-3`},null,8,[`label`])]),K.value.active.agentSessionsAlive.length===0?(c(),d(`div`,Xe,n(t.$t(`health.noneActive`)),1)):(c(),s(C,{key:1,dense:``,dark:``,class:`q-mt-xs`},{default:m(()=>[(c(!0),d(a,null,f(K.value.active.agentSessionsAlive,e=>(c(),s(b,{key:`${e.workspaceId}-${e.pid}`,clickable:``,onClick:t=>$(e.workspaceId)},{default:m(()=>[p(y,null,{default:m(()=>[u(`div`,Ze,n(e.workspaceName),1),u(`div`,Qe,` pid `+n(e.pid)+` · `+n(t.$t(`health.startedAgo`,{time:ft(e.startedAt)})),1)]),_:2},1024)]),_:2},1032,[`onClick`]))),128))]),_:1}))]),_:1})]),_:1}),p(g,{dark:``,flat:``,bordered:``},{default:m(()=>[p(v,null,{default:m(()=>[u(`div`,$e,[p(h,{name:`dns`,size:`sm`,color:`cyan-5`,class:`q-mr-sm`}),u(`div`,et,n(t.$t(`health.activeDevServers`)),1),p(S),p(x,{label:K.value.active.devServersRunning.length,color:`grey-8`,"text-color":`grey-3`},null,8,[`label`])]),K.value.active.devServersRunning.length===0?(c(),d(`div`,tt,n(t.$t(`health.noneActive`)),1)):(c(),s(C,{key:1,dense:``,dark:``,class:`q-mt-xs`},{default:m(()=>[(c(!0),d(a,null,f(K.value.active.devServersRunning,e=>(c(),s(b,{key:e.workspaceId,clickable:``,onClick:t=>$(e.workspaceId)},{default:m(()=>[p(y,null,{default:m(()=>[u(`div`,nt,n(e.name),1)]),_:2},1024)]),_:2},1032,[`onClick`]))),128))]),_:1}))]),_:1})]),_:1}),p(g,{dark:``,flat:``,bordered:``},{default:m(()=>[p(v,null,{default:m(()=>[u(`div`,rt,n(t.$t(`health.integrationsTitle`)),1),u(`div`,it,[u(`div`,at,[p(h,{name:X(K.value.integrations.notion.enabled&&K.value.integrations.notion.configured),color:Z(K.value.integrations.notion.enabled&&K.value.integrations.notion.configured),size:`sm`},null,8,[`name`,`color`]),i[1]||=u(`span`,{class:`q-ml-sm text-body2`},`Notion`,-1),u(`span`,ot,n(K.value.integrations.notion.enabled?K.value.integrations.notion.configured?t.$t(`health.integrationConfigured`):t.$t(`health.integrationMissing`):t.$t(`health.integrationDisabled`)),1)]),u(`div`,st,[p(h,{name:X(K.value.integrations.sentry.enabled&&K.value.integrations.sentry.configured),color:Z(K.value.integrations.sentry.enabled&&K.value.integrations.sentry.configured),size:`sm`},null,8,[`name`,`color`]),i[2]||=u(`span`,{class:`q-ml-sm text-body2`},`Sentry`,-1),u(`span`,ct,n(K.value.integrations.sentry.enabled?K.value.integrations.sentry.configured?t.$t(`health.integrationConfigured`):t.$t(`health.integrationMissing`):t.$t(`health.integrationDisabled`)),1)]),u(`div`,lt,[p(h,{name:X(K.value.integrations.editor.configured),color:Z(K.value.integrations.editor.configured),size:`sm`},null,8,[`name`,`color`]),i[3]||=u(`span`,{class:`q-ml-sm text-body2`},`Editor`,-1),u(`span`,ut,n(K.value.integrations.editor.configured?t.$t(`health.integrationConfigured`):t.$t(`health.integrationMissing`)),1)])])]),_:1})]),_:1})])):l(``,!0)]),_:1}))}});export{W as default};