PageSourceSearch

https://app.deployit.ai/_nuxt/Cow4C0YQ.js

js deployit.ai collected 2026-10-05 14:27:27 UTC 5,835 bytes, 1 lines download raw bytes

1import{_ as w}from"./CPAYdNoS.js";import{_ as H}from"./DAmdEgFO.js";import{_ as C}from"./BcwbFT1t.js";import{_ as S}from"./CQexgLcB.js";import{e as j,u as F,r as f,j as I,q as R,c as r,a as e,b as d,d as m,g as t,t as s,w as h,o as n,m as y,k as u,F as L,v as A,A as x}from"./Bpz7BnuH.js";import{A as B}from"./C2dBPpvk.js";import{R as D}from"./DKZS92wH.js";import{G as N}from"./TtojJJyI.js";import{F as V}from"./3NOJu7oY.js";import{W as $}from"./BqmFKF3T.js";import{C as T}from"./DCGRB-dp.js";import{C as W}from"./CtbpQ7oP.js";import"./DlAUqK2U.js";const z={class:"p-6 max-w-6xl mx-auto space-y-6"},G={class:"flex items-center justify-between"},q={class:"text-xl font-semibold flex items-center gap-2"},E={class:"text-sm text-muted-foreground mt-0.5"},M={key:0,class:"space-y-6"},O={class:"grid grid-cols-1 md:grid-cols-3 gap-3"},J={class:"rounded-lg border bg-card p-4"},K={class:"flex items-center gap-1.5 text-muted-foreground"},P={class:"text-[11px] font-medium uppercase tracking-wide"},Q={class:"text-2xl font-bold mt-2 flex items-center gap-2"},U={key:0,class:"text-xs text-red-500 font-normal"},X={class:"rounded-lg border bg-card p-4"},Y={class:"flex items-center gap-1.5 text-muted-foreground"},Z={class:"text-[11px] font-medium uppercase tracking-wide"},tt={class:"text-2xl font-bold mt-2"},et={class:"rounded-lg border bg-card p-4"},st={class:"flex items-center gap-1.5 text-muted-foreground"},ot={class:"text-[11px] font-medium uppercase tracking-wide"},at={key:0},nt={key:1},rt={key:0,class:"text-xs text-muted-foreground mt-0.5"},lt={class:"rounded-lg border bg-card overflow-hidden"},ct={class:"p-4 border-b flex items-center justify-between"},dt={class:"text-sm font-semibold"},it={key:0,class:"p-6 text-center text-sm text-muted-foreground"},mt={key:1,class:"overflow-x-auto"},ht={class:"w-full text-sm"},_t={class:"border-b bg-muted/30 text-xs text-muted-foreground"},ut={class:"text-left px-4 py-2.5 font-medium"},xt={class:"text-left px-3 py-2.5 font-medium"},pt={class:"text-left px-3 py-2.5 font-medium"},ft={class:"text-left px-3 py-2.5 font-medium"},yt={class:"text-center px-3 py-2.5 font-medium"},bt={class:"text-left px-3 py-2.5 font-medium"},gt={class:"px-4 py-3"},kt={class:"px-3 py-3 font-mono text-xs"},vt=["href"],wt={class:"px-3 py-3"},Ht={class:"px-3 py-3 text-xs text-muted-foreground"},Ct={class:"text-center px-3 py-3"},St={key:1,class:"text-muted-foreground"},jt={class:"px-3 py-3 text-xs text-muted-foreground"},Et=j({__name:"system-health",setup(Ft){const{t:o,locale:_}=F(),a=f(null),i=f(!0),p=async()=>{i.value=!0;try{a.value=await $fetch("/api/system-health")}catch(l){console.error("System health fetch error:",l)}finally{i.value=!1}};I(p);const b=l=>{if(!l)return"—";try{return new Date(l).toLocaleDateString(_.value,{day:"2-digit",month:"short",hour:"2-digit",minute:"2-digit"})}catch{return l}},g=R(()=>{const l=a.value?.webhookStats?.successRate;return l==null?"text-muted-foreground":l>=95?"text-emerald-600 dark:text-emerald-400":l>=80?"text-amber-600 dark:text-amber-400":"text-red-500"});return(l,It)=>{const k=w,v=H;return n(),r("div",z,[e("div",G,[e("div",null,[e("h1",q,[d(t(B),{class:"h-5 w-5 text-primary"}),m(" "+s(t(o)("systemHealth.title")),1)]),e("p",E,s(t(o)("systemHealth.subtitle")),1)]),d(t(C),{variant:"outline",size:"sm",onClick:p,disabled:t(i)},{default:h(()=>[d(t(D),{class:y(["h-3.5 w-3.5 mr-1.5",t(i)&&"animate-spin"])},null,8,["class"]),m(" "+s(t(o)("systemHealth.refresh")),1)]),_:1},8,["disabled"])]),d(v,{active:t(i),class:"min-h-[200px]"},{default:h(()=>[t(a)?(n(),r("div",M,[e("div",O,[e("div",J,[e("div",K,[d(t(N),{class:"h-3.5 w-3.5"}),e("span",P,s(t(o)("systemHealth.reposTracked")),1)]),e("div",Q,[m(s(t(a).repositories.length)+" ",1),t(a).syncIssues>0?(n(),r("span",U," ("+s(t(o)("systemHealth.reposWithIssues",{count:t(a).syncIssues}))+") ",1)):u("",!0)])]),e("div",X,[e("div",Y,[d(t(V),{class:"h-3.5 w-3.5"}),e("span",Z,s(t(o)("systemHealth.filesIndexed")),1)]),e("div",tt,s(t(a).totalIndexedFiles.toLocaleString(t(_))),1)]),e("div",et,[e("div",st,[d(t($),{class:"h-3.5 w-3.5"}),e("span",ot,s(t(o)("systemHealth.webhookRate")),1)]),e("div",{class:y(["text-2xl font-bold mt-2",t(g)])},[t(a).webhookStats?.successRate!=null?(n(),r("span",at,s(t(a).webhookStats.successRate)+"%",1)):(n(),r("span",nt,"—"))],2),t(a).webhookStats?(n(),r("div",rt,s(t(a).webhookStats.total)+" "+s(t(o)("systemHealth.webhooksOver"))+" "+s(t(a).webhookStats.windowDays)+"j ",1)):u("",!0)])]),e("div",lt,[e("div",ct,[e("h3",dt,s(t(o)("systemHealth.reposHeading")),1)]),t(a).repositories.length?(n(),r("div",mt,[e("table",ht,[e("thead",null,[e("tr",_t,[e("th",ut,s(t(o)("systemHealth.table.status")),1),e("th",xt,s(t(o)("systemHealth.table.repo")),1),e("th",pt,s(t(o)("systemHealth.table.project")),1),e("th",ft,s(t(o)("systemHealth.table.branch")),1),e("th",yt,s(t(o)("systemHealth.table.files")),1),e("th",bt,s(t(o)("systemHealth.table.lastSync")),1)])]),e("tbody",null,[(n(!0),r(L,null,A(t(a).repositories,c=>(n(),r("tr",{key:c.id,class:"border-b last:border-0 hover:bg-muted/20"},[e("td",gt,[c.isHealthy?(n(),x(t(T),{key:0,class:"h-4 w-4 text-emerald-500"})):(n(),x(t(W),{key:1,class:"h-4 w-4 text-amber-500"}))]),e("td",kt,[e("a",{href:c.url,target:"_blank",rel:"noopener",class:"hover:underline text-foreground"},s(c.name),9,vt)]),e("td",wt,[d(k,{to:`/projects/${c.project.id}`,class:"text-primary hover:underline"},{default:h(()=>[m(s(c.project.name),1)]),_:2},1032,["to"])]),e("td",Ht,s(c.branch||"—"),1),e("td",Ct,[c.indexedFilesCount?(n(),x(t(S),{key:0,variant:"outline",class:"text-xs"},{default:h(()=>
1[m(s(c.indexedFilesCount.toLocaleString(t(_))),1)]),_:2},1024)):(n(),r("span",St,"—"))]),e("td",jt,s(b(c.lastIndexedAt)),1)]))),128))])])])):(n(),r("div",it,s(t(o)("systemHealth.noRepos")),1))])])):u("",!0)]),_:1},8,["active"])])}}});export{Et as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.