@loicngr/kobo 1.7.7 → 1.7.9

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 (102) hide show
  1. package/AGENTS.md +29 -0
  2. package/README.md +62 -4
  3. package/dist/mcp-server/kobo-tasks-server.js +27 -0
  4. package/dist/server/routes/health.js +14 -0
  5. package/dist/server/routes/workspaces.js +60 -16
  6. package/dist/server/services/agent/engines/claude-code/capabilities.js +7 -0
  7. package/dist/server/services/agent/engines/codex/capabilities.js +18 -0
  8. package/dist/server/services/agent/engines/codex/client.js +36 -0
  9. package/dist/server/services/agent/engines/codex/engine.js +276 -0
  10. package/dist/server/services/agent/engines/codex/event-mapper.js +473 -0
  11. package/dist/server/services/agent/engines/codex/jsonrpc/peer.js +60 -0
  12. package/dist/server/services/agent/engines/codex/jsonrpc/transport.js +31 -0
  13. package/dist/server/services/agent/engines/codex/options-builder.js +81 -0
  14. package/dist/server/services/agent/engines/codex/protocol/types.js +11 -0
  15. package/dist/server/services/agent/engines/codex/server-requests.js +99 -0
  16. package/dist/server/services/agent/engines/codex/spawn.js +27 -0
  17. package/dist/server/services/agent/engines/registry.js +2 -0
  18. package/dist/server/services/agent/orchestrator.js +1 -1
  19. package/dist/server/services/auto-loop-service.js +16 -2
  20. package/dist/server/services/pr-watcher-service.js +84 -33
  21. package/dist/server/services/review-template-service.js +24 -31
  22. package/dist/server/services/settings-service.js +140 -6
  23. package/dist/server/services/skill-suite-prompts.js +80 -0
  24. package/dist/server/utils/git-ops.js +69 -15
  25. package/dist/server/utils/paths.js +7 -0
  26. package/dist/shared/auto-loop-prompts.js +18 -1
  27. package/dist/shared/codex-models.js +43 -0
  28. package/dist/shared/project-colors.js +23 -0
  29. package/dist/shared/skill-suite-prompts.js +66 -0
  30. package/package.json +2 -1
  31. package/src/client/dist/spa/assets/ActivityFeed-CKjFT9t6.js +8 -0
  32. package/src/client/dist/spa/assets/{ActivityFeed-tE4LVYck.css → ActivityFeed-WjiQ9716.css} +1 -1
  33. package/src/client/dist/spa/assets/{ClosePopup-DTcbxsC0.js → ClosePopup-DMnQG6nw.js} +1 -1
  34. package/src/client/dist/spa/assets/CreatePage-BhFrUkEN.js +2 -0
  35. package/src/client/dist/spa/assets/CreatePage-ZyBHUbl0.css +1 -0
  36. package/src/client/dist/spa/assets/{DiffViewer-D-uNbBq0.js → DiffViewer-BSnvba7W.js} +3 -3
  37. package/src/client/dist/spa/assets/HealthPage-DZYZWGHp.js +1 -0
  38. package/src/client/dist/spa/assets/MainLayout-C45J7rSF.css +1 -0
  39. package/src/client/dist/spa/assets/MainLayout-CMuiNpet.js +37 -0
  40. package/src/client/dist/spa/assets/QChip-BgzxI33B.js +36 -0
  41. package/src/client/dist/spa/assets/{QExpansionItem-BGg74no1.js → QExpansionItem-Fij7yBbG.js} +1 -1
  42. package/src/client/dist/spa/assets/{QItemSection-CQUDd0Vg.js → QItemSection-Bz1ZDJO5.js} +1 -1
  43. package/src/client/dist/spa/assets/{QMenu-D6uqosRg.js → QMenu-CMoolewZ.js} +1 -1
  44. package/src/client/dist/spa/assets/QRadio-4HnR_A-K.js +1 -0
  45. package/src/client/dist/spa/assets/{QTooltip-DUGPNNeQ.js → QTooltip-CbLXk2Bs.js} +1 -1
  46. package/src/client/dist/spa/assets/{SearchPage-C07dgzT9.js → SearchPage-CBSgEvVF.js} +1 -1
  47. package/src/client/dist/spa/assets/SettingsPage-C7TkcKXU.css +1 -0
  48. package/src/client/dist/spa/assets/SettingsPage-pY-zbPxn.js +9 -0
  49. package/src/client/dist/spa/assets/{TouchPan-DvVlszwO.js → TouchPan-DiBNjOPH.js} +1 -1
  50. package/src/client/dist/spa/assets/{WorkspacePage-CRIcsASQ.css → WorkspacePage-B4YnZ6re.css} +1 -1
  51. package/src/client/dist/spa/assets/WorkspacePage-BTHvQga-.js +4 -0
  52. package/src/client/dist/spa/assets/{build-path-tree-CCMckvpr.js → build-path-tree-BmBqRiCQ.js} +1 -1
  53. package/src/client/dist/spa/assets/{cssMode-D6XTTdwy.js → cssMode-ypFF7quM.js} +1 -1
  54. package/src/client/dist/spa/assets/{editor.api-6hDVHddO.js → editor.api-DtpZuH_B.js} +1 -1
  55. package/src/client/dist/spa/assets/{editor.main-DsLU1RWu.js → editor.main-C7a7L2WP.js} +3 -3
  56. package/src/client/dist/spa/assets/{AutoLoopChip-CkSzkC0C.js → engineFeatures-BxAOQcPU.js} +1 -1
  57. package/src/client/dist/spa/assets/{expand-template-Crz1uiBt.js → expand-template-GaEux9_o.js} +1 -1
  58. package/src/client/dist/spa/assets/{formatters-guwb-rzl.js → formatters-h0XBETG5.js} +1 -1
  59. package/src/client/dist/spa/assets/{freemarker2-Bn1f0t2U.js → freemarker2-DUBmhe3W.js} +1 -1
  60. package/src/client/dist/spa/assets/{handlebars-O92Cbq66.js → handlebars-_XEXkADl.js} +1 -1
  61. package/src/client/dist/spa/assets/{html-Ck95BMBU.js → html-D8gmyhgI.js} +1 -1
  62. package/src/client/dist/spa/assets/{htmlMode-DDYhH2FJ.js → htmlMode-B84S5YOM.js} +1 -1
  63. package/src/client/dist/spa/assets/i18n-DLoe3l25.js +1 -0
  64. package/src/client/dist/spa/assets/index-Dx_W9yYo.js +2 -0
  65. package/src/client/dist/spa/assets/{javascript-Cy2ddqHg.js → javascript-500DcdS9.js} +1 -1
  66. package/src/client/dist/spa/assets/{jsonMode-BIfVcp5z.js → jsonMode-DmrWg6b7.js} +1 -1
  67. package/src/client/dist/spa/assets/kobo-commands-DCoQW_NQ.js +9 -0
  68. package/src/client/dist/spa/assets/{liquid-B287eegh.js → liquid-CfPJszlt.js} +1 -1
  69. package/src/client/dist/spa/assets/{mdx-B8HSzGai.js → mdx-DtjLwENT.js} +1 -1
  70. package/src/client/dist/spa/assets/{monaco.contribution-CofcHzEf.js → monaco.contribution-CxiO5UJd.js} +2 -2
  71. package/src/client/dist/spa/assets/{notifications-BPnKFW60.js → notifications-CEyiPnmw.js} +1 -1
  72. package/src/client/dist/spa/assets/permissionModes-CPZlEHoF.js +1 -0
  73. package/src/client/dist/spa/assets/project-color-C4vMEn4C.js +1 -0
  74. package/src/client/dist/spa/assets/{purify.es-BCEwTYRx.js → purify.es-C92_EGvT.js} +1 -1
  75. package/src/client/dist/spa/assets/{python-csaKR6_U.js → python-BS46_AMt.js} +1 -1
  76. package/src/client/dist/spa/assets/{razor-C2wEv-nX.js → razor-Ce9zcIFo.js} +1 -1
  77. package/src/client/dist/spa/assets/{render-chat-markdown-Bjcei0vn.js → render-chat-markdown-BvJwlMiW.js} +1 -1
  78. package/src/client/dist/spa/assets/{tsMode-DGLVs57K.js → tsMode-Cr9FJjYY.js} +1 -1
  79. package/src/client/dist/spa/assets/{typescript-w0GWHzZ3.js → typescript-Ov3wChBg.js} +1 -1
  80. package/src/client/dist/spa/assets/{use-panel-CbJ44rqY.js → use-panel-lBh91vcW.js} +1 -1
  81. package/src/client/dist/spa/assets/{xml-CTn-vnEd.js → xml-euA4jBI1.js} +1 -1
  82. package/src/client/dist/spa/assets/{yaml-CTyUSvLZ.js → yaml-BuPSq_BT.js} +1 -1
  83. package/src/client/dist/spa/index.html +5 -5
  84. package/src/mcp-server/kobo-tasks-server.ts +27 -0
  85. package/src/client/dist/spa/assets/ActivityFeed-DlPVoOGb.js +0 -7
  86. package/src/client/dist/spa/assets/CreatePage-BoRappO3.css +0 -1
  87. package/src/client/dist/spa/assets/CreatePage-DpCVNwYk.js +0 -2
  88. package/src/client/dist/spa/assets/HealthPage-xZ0PP4F-.js +0 -1
  89. package/src/client/dist/spa/assets/MainLayout-DdkKM2ba.js +0 -37
  90. package/src/client/dist/spa/assets/MainLayout-drolsINz.css +0 -1
  91. package/src/client/dist/spa/assets/QChip-erWIZgxW.js +0 -1
  92. package/src/client/dist/spa/assets/QRadio-DJxOyOA3.js +0 -1
  93. package/src/client/dist/spa/assets/QTabPanels-ClPY9y4T.js +0 -1
  94. package/src/client/dist/spa/assets/SettingsPage-CLNmI0Rr.css +0 -1
  95. package/src/client/dist/spa/assets/SettingsPage-D0CZNqkA.js +0 -9
  96. package/src/client/dist/spa/assets/WorkspacePage-CKeCLPi0.js +0 -4
  97. package/src/client/dist/spa/assets/i18n-BLgknHpf.js +0 -1
  98. package/src/client/dist/spa/assets/index-CdHDdk1y.js +0 -2
  99. package/src/client/dist/spa/assets/kobo-commands-w8VepGvD.js +0 -11
  100. package/src/client/dist/spa/assets/models-Bd_v3W7Q.js +0 -1
  101. /package/src/client/dist/spa/assets/{QBtn-DEuWKHbR.js → QBtn-CaJSOyt8.js} +0 -0
  102. /package/src/client/dist/spa/assets/{vue-i18n-DI-gS-CC.js → vue-i18n-CKCtKE87.js} +0 -0
@@ -1 +0,0 @@
1
- import{F as e,L as t,M as n,Q as r,U as i,_t as ee,bt as a,d as o,f as s,g as c,h as te,l,p as u,r as d,rt as ne,u as f,v as re}from"./runtime-core.esm-bundler-9Z0QAO_7.js";import{t as p}from"./QIcon-qfJNZLIW.js";import{t as m}from"./QBtn-DEuWKHbR.js";import{a as ie,b as h,y as g}from"./index-CdHDdk1y.js";import{n as _,t as v}from"./QItemSection-CQUDd0Vg.js";import{t as y}from"./QBadge-C7r6oPSi.js";import{t as b}from"./QSpace-DKIph84L.js";import{t as x}from"./QList-BbnN_oNX.js";import{t as ae}from"./use-quasar-DQYS47mh.js";import{t as oe}from"./QPage-Co2h9wd_.js";var se={class:`row items-center q-mb-md`},ce={class:`text-h6 q-ml-sm`},le={key:0,class:`text-grey-6 text-center q-pa-lg`},ue={key:1,class:`column q-gutter-md`},de={class:`text-subtitle2 q-mb-sm`},S={class:`text-caption text-grey-6`},C={class:`text-body2`},w={class:`row items-center`},T={class:`text-subtitle2`},E={class:`row q-col-gutter-md q-mt-xs`},D={class:`col`},O={class:`text-caption text-grey-6`},k={class:`text-body2`},A={class:`col-auto`},j={class:`text-caption text-grey-6`},M={class:`text-body2`},N={class:`col-auto`},P={class:`text-caption text-grey-6`},F={class:`text-body2`},I={class:`row items-center`},L={class:`text-subtitle2`},R={key:0,class:`text-caption text-grey-5 q-mt-xs`},z={key:1,class:`text-caption text-negative q-mt-xs`},B={class:`row items-center`},V={class:`text-subtitle2`},H={class:`text-caption text-grey-6 q-mt-xs`},fe={key:0,class:`q-mt-sm`},pe={class:`text-caption text-negative q-mb-xs`},me={class:`text-body2`},he={class:`text-caption text-grey-6`},ge={class:`row items-center`},_e={class:`text-subtitle2`},ve={class:`text-subtitle1 q-mt-md q-mb-xs text-grey-5`},ye={class:`row items-center`},be={class:`text-subtitle2`},xe={key:0,class:`text-caption text-grey-7 q-mt-xs`},Se={class:`text-body2`},Ce={class:`text-caption text-grey-6`},we={class:`row items-center`},Te={class:`text-subtitle2`},Ee={key:0,class:`text-caption text-grey-7 q-mt-xs`},U={class:`text-body2`},De={class:`text-caption text-grey-6`},Oe={key:0},ke={class:`row items-center`},Ae={class:`text-subtitle2`},je={key:0,class:`text-caption text-grey-7 q-mt-xs`},Me={class:`text-body2`},Ne={class:`text-caption text-grey-6`},Pe={class:`row items-center`},Fe={class:`text-subtitle2`},Ie={key:0,class:`text-caption text-grey-7 q-mt-xs`},Le={class:`text-body2`},Re={class:`text-caption text-grey-6`},ze={class:`row items-center`},Be={class:`text-subtitle2`},Ve={key:0,class:`text-caption text-grey-7 q-mt-xs`},He={class:`text-body2`},Ue={class:`text-subtitle2 q-mb-sm`},We={class:`column q-gutter-xs`},Ge={class:`row items-center`},Ke={class:`q-ml-sm text-caption text-grey-6`},qe={class:`row items-center`},Je={class:`q-ml-sm text-caption text-grey-6`},Ye={class:`row items-center`},Xe={class:`q-ml-sm text-caption text-grey-6`},W=re({__name:`HealthPage`,setup(re){let W=ae(),G=ie(),K=r(null),q=r(!1);async function J(){q.value=!0;try{let e=await fetch(`/api/health/report`);if(!e.ok)throw Error(`HTTP ${e.status}`);K.value=await e.json()}catch(e){W.notify({type:`negative`,message:String(e),position:`top`,timeout:4e3})}finally{q.value=!1}}n(J);let Ze=l(()=>{let e=K.value?.db.sizeBytes;return e==null?`—`:e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/1024/1024).toFixed(1)} MB`}),Y=l(()=>{let e=K.value;return e?e.db.schemaVersion===e.db.currentSchemaVersion:!1});function X(e){return e?`check_circle`:`error`}function Z(e){return e?`positive`:`negative`}function Q(e){return new Date(e).toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`})}function Qe(e){let t=Date.now()-new Date(e).getTime();if(Number.isNaN(t)||t<0)return`—`;let n=Math.floor(t/1e3);if(n<60)return`${n}s`;let r=Math.floor(n/60);if(r<60)return`${r}m`;let i=Math.floor(r/60);return i<24?`${i}h${r%60?` ${r%60}m`:``}`:`${Math.floor(i/24)}d`}function $(e){G.push({name:`workspace`,params:{id:e}}).catch(()=>{})}return(n,r)=>(e(),o(oe,{class:`q-pa-md`,style:{"max-width":`900px`,margin:`0 auto`}},{default:i(()=>[f(`div`,se,[c(m,{flat:``,dense:``,round:``,icon:`arrow_back`,onClick:r[0]||=e=>ne(G).back()}),f(`div`,ce,a(n.$t(`health.title`)),1),c(b),c(m,{flat:``,dense:``,icon:`refresh`,loading:q.value,label:n.$t(`common.refresh`),onClick:J},null,8,[`loading`,`label`])]),!K.value&&q.value?(e(),u(`div`,le,a(n.$t(`common.loading`)),1)):K.value?(e(),u(`div`,ue,[c(g,{dark:``,flat:``,bordered:``},{default:i(()=>[c(h,null,{default:i(()=>[f(`div`,de,a(n.$t(`health.envTitle`)),1),f(`div`,S,a(n.$t(`health.koboHome`)),1),f(`div`,C,a(K.value.koboHome),1)]),_:1})]),_:1}),c(g,{dark:``,flat:``,bordered:``},{default:i(()=>[c(h,null,{default:i(()=>[f(`div`,w,[f(`div`,T,a(n.$t(`health.dbTitle`)),1),c(b),c(p,{name:X(Y.value),color:Z(Y.value)},null,8,[`name`,`color`])]),f(`div`,E,[f(`div`,D,[f(`div`,O,a(n.$t(`health.dbPath`)),1),f(`div`,k,a(K.value.db.path),1)]),f(`div`,A,[f(`div`,j,a(n.$t(`health.dbSize`)),1),f(`div`,M,a(Ze.value),1)]),f(`div`,N,[f(`div`,P,a(n.$t(`health.schemaVersion`)),1),f(`div`,F,a(K.value.db.schemaVersion)+` / `+a(K.value.db.currentSchemaVersion),1)])])]),_:1})]),_:1}),c(g,{dark:``,flat:``,bordered:``},{default:i(()=>[c(h,null,{default:i(()=>[f(`div`,I,[f(`div`,L,a(n.$t(`health.cliTitle`)),1),c(b),c(p,{name:X(K.value.claudeCli.available),color:Z(K.value.claudeCli.available)},null,8,[`name`,`color`])]),K.value.claudeCli.available?(e(),u(`div`,R,a(K.value.claudeCli.version),1)):(e(),u(`div`,z,a(n.$t(`health.cliMissing`)),1))]),_:1})]),_:1}),c(g,{dark:``,flat:``,bordered:``},{default:i(()=>[c(h,null,{default:i(()=>[f(`div`,B,[f(`div`,V,a(n.$t(`health.workspacesTitle`)),1),c(b),c(p,{name:X(K.value.workspaces.worktreesMissing.length===0),color:Z(K.value.workspaces.worktreesMissing.length===0)},null,8,[`name`,`color`])]),f(`div`,H,a(n.$t(`health.workspacesCount`,{total:K.value.workspaces.total,archived:K.value.workspaces.archived})),1),K.value.workspaces.worktreesMissing.length>0?(e(),u(`div`,fe,[f(`div`,pe,a(n.$t(`health.worktreesMissing`,{count:K.value.workspaces.worktreesMissing.length})),1),c(x,{dense:``,dark:``},{default:i(()=>[(e(!0),u(d,null,t(K.value.workspaces.worktreesMissing,t=>(e(),o(_,{key:t.workspaceId},{default:i(()=>[c(v,null,{default:i(()=>[f(`div`,me,a(t.name),1),f(`div`,he,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`,ge,[f(`div`,_e,a(n.$t(`health.sessionsTitle`)),1),c(b),c(p,{name:X(K.value.agentSessions.orphaned===0),color:Z(K.value.agentSessions.orphaned===0)},null,8,[`name`,`color`])]),f(`div`,{class:ee([`text-caption q-mt-xs`,K.value.agentSessions.orphaned>0?`text-negative`:`text-grey-6`])},a(n.$t(`health.sessionsOrphaned`,{n:K.value.agentSessions.orphaned})),3)]),_:1})]),_:1}),f(`div`,ve,a(n.$t(`health.activeTitle`)),1),c(g,{dark:``,flat:``,bordered:``},{default:i(()=>[c(h,null,{default:i(()=>[f(`div`,ye,[c(p,{name:`hourglass_top`,size:`sm`,color:`amber-6`,class:`q-mr-sm`}),f(`div`,be,a(n.$t(`health.activeQuotaBackoffs`)),1),c(b),c(y,{label:K.value.active.quotaBackoffs.length,color:`grey-8`,"text-color":`grey-3`},null,8,[`label`])]),K.value.active.quotaBackoffs.length===0?(e(),u(`div`,xe,a(n.$t(`health.noneActive`)),1)):(e(),o(x,{key:1,dense:``,dark:``,class:`q-mt-xs`},{default:i(()=>[(e(!0),u(d,null,t(K.value.active.quotaBackoffs,t=>(e(),o(_,{key:t.workspaceId,clickable:``,onClick:e=>$(t.workspaceId)},{default:i(()=>[c(v,null,{default:i(()=>[f(`div`,Se,a(t.name),1),f(`div`,Ce,a(n.$t(`health.quotaResumeAt`,{time:Q(t.targetAt)}))+` · `+a(t.source)+` · retry #`+a(t.retryCount),1)]),_:2},1024)]),_:2},1032,[`onClick`]))),128))]),_:1}))]),_:1})]),_:1}),c(g,{dark:``,flat:``,bordered:``},{default:i(()=>[c(h,null,{default:i(()=>[f(`div`,we,[c(p,{name:`schedule`,size:`sm`,color:`indigo-4`,class:`q-mr-sm`}),f(`div`,Te,a(n.$t(`health.activeWakeups`)),1),c(b),c(y,{label:K.value.active.pendingWakeups.length,color:`grey-8`,"text-color":`grey-3`},null,8,[`label`])]),K.value.active.pendingWakeups.length===0?(e(),u(`div`,Ee,a(n.$t(`health.noneActive`)),1)):(e(),o(x,{key:1,dense:``,dark:``,class:`q-mt-xs`},{default:i(()=>[(e(!0),u(d,null,t(K.value.active.pendingWakeups,t=>(e(),o(_,{key:t.workspaceId,clickable:``,onClick:e=>$(t.workspaceId)},{default:i(()=>[c(v,null,{default:i(()=>[f(`div`,U,a(t.name),1),f(`div`,De,[te(a(n.$t(`health.wakeupAt`,{time:Q(t.targetAt)}))+` `,1),t.reason?(e(),u(`span`,Oe,` · `+a(t.reason),1)):s(``,!0)])]),_:2},1024)]),_:2},1032,[`onClick`]))),128))]),_:1}))]),_:1})]),_:1}),c(g,{dark:``,flat:``,bordered:``},{default:i(()=>[c(h,null,{default:i(()=>[f(`div`,ke,[c(p,{name:`autorenew`,size:`sm`,color:`amber-7`,class:`q-mr-sm`}),f(`div`,Ae,a(n.$t(`health.activeAutoLoop`)),1),c(b),c(y,{label:K.value.active.autoLoopActive.length,color:`grey-8`,"text-color":`grey-3`},null,8,[`label`])]),K.value.active.autoLoopActive.length===0?(e(),u(`div`,je,a(n.$t(`health.noneActive`)),1)):(e(),o(x,{key:1,dense:``,dark:``,class:`q-mt-xs`},{default:i(()=>[(e(!0),u(d,null,t(K.value.active.autoLoopActive,t=>(e(),o(_,{key:t.workspaceId,clickable:``,onClick:e=>$(t.workspaceId)},{default:i(()=>[c(v,null,{default:i(()=>[f(`div`,Me,a(t.name),1),f(`div`,Ne,a(t.ready?n.$t(`health.autoLoopReady`):n.$t(`health.autoLoopGrooming`)),1)]),_:2},1024)]),_:2},1032,[`onClick`]))),128))]),_:1}))]),_:1})]),_:1}),c(g,{dark:``,flat:``,bordered:``},{default:i(()=>[c(h,null,{default:i(()=>[f(`div`,Pe,[c(p,{name:`play_arrow`,size:`sm`,color:`green-5`,class:`q-mr-sm`}),f(`div`,Fe,a(n.$t(`health.activeAgentSessions`)),1),c(b),c(y,{label:K.value.active.agentSessionsAlive.length,color:`grey-8`,"text-color":`grey-3`},null,8,[`label`])]),K.value.active.agentSessionsAlive.length===0?(e(),u(`div`,Ie,a(n.$t(`health.noneActive`)),1)):(e(),o(x,{key:1,dense:``,dark:``,class:`q-mt-xs`},{default:i(()=>[(e(!0),u(d,null,t(K.value.active.agentSessionsAlive,t=>(e(),o(_,{key:`${t.workspaceId}-${t.pid}`,clickable:``,onClick:e=>$(t.workspaceId)},{default:i(()=>[c(v,null,{default:i(()=>[f(`div`,Le,a(t.workspaceName),1),f(`div`,Re,` pid `+a(t.pid)+` · `+a(n.$t(`health.startedAgo`,{time:Qe(t.startedAt)})),1)]),_:2},1024)]),_:2},1032,[`onClick`]))),128))]),_:1}))]),_:1})]),_:1}),c(g,{dark:``,flat:``,bordered:``},{default:i(()=>[c(h,null,{default:i(()=>[f(`div`,ze,[c(p,{name:`dns`,size:`sm`,color:`cyan-5`,class:`q-mr-sm`}),f(`div`,Be,a(n.$t(`health.activeDevServers`)),1),c(b),c(y,{label:K.value.active.devServersRunning.length,color:`grey-8`,"text-color":`grey-3`},null,8,[`label`])]),K.value.active.devServersRunning.length===0?(e(),u(`div`,Ve,a(n.$t(`health.noneActive`)),1)):(e(),o(x,{key:1,dense:``,dark:``,class:`q-mt-xs`},{default:i(()=>[(e(!0),u(d,null,t(K.value.active.devServersRunning,t=>(e(),o(_,{key:t.workspaceId,clickable:``,onClick:e=>$(t.workspaceId)},{default:i(()=>[c(v,null,{default:i(()=>[f(`div`,He,a(t.name),1)]),_:2},1024)]),_:2},1032,[`onClick`]))),128))]),_:1}))]),_:1})]),_:1}),c(g,{dark:``,flat:``,bordered:``},{default:i(()=>[c(h,null,{default:i(()=>[f(`div`,Ue,a(n.$t(`health.integrationsTitle`)),1),f(`div`,We,[f(`div`,Ge,[c(p,{name:X(K.value.integrations.notion.configured),color:Z(K.value.integrations.notion.configured),size:`sm`},null,8,[`name`,`color`]),r[1]||=f(`span`,{class:`q-ml-sm text-body2`},`Notion`,-1),f(`span`,Ke,a(K.value.integrations.notion.configured?n.$t(`health.integrationConfigured`):n.$t(`health.integrationMissing`)),1)]),f(`div`,qe,[c(p,{name:X(K.value.integrations.sentry.configured),color:Z(K.value.integrations.sentry.configured),size:`sm`},null,8,[`name`,`color`]),r[2]||=f(`span`,{class:`q-ml-sm text-body2`},`Sentry`,-1),f(`span`,Je,a(K.value.integrations.sentry.configured?n.$t(`health.integrationConfigured`):n.$t(`health.integrationMissing`)),1)]),f(`div`,Ye,[c(p,{name:X(K.value.integrations.editor.configured),color:Z(K.value.integrations.editor.configured),size:`sm`},null,8,[`name`,`color`]),r[3]||=f(`span`,{class:`q-ml-sm text-body2`},`Editor`,-1),f(`span`,Xe,a(K.value.integrations.editor.configured?n.$t(`health.integrationConfigured`):n.$t(`health.integrationMissing`)),1)])])]),_:1})]),_:1})])):s(``,!0)]),_:1}))}});export{W as default};