orcaq 1.1.7 → 1.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.output/nitro.json +1 -1
- package/.output/public/_nuxt/-7uW7YTy.js +1 -0
- package/.output/public/_nuxt/{DzjHXopz.js → 5450EsIE.js} +1 -1
- package/.output/public/_nuxt/6mVUr42b.js +1 -0
- package/.output/public/_nuxt/7H5y5euK.js +1 -0
- package/.output/public/_nuxt/7iCr9_qw.js +26 -0
- package/.output/public/_nuxt/{CJnTtXrv.js → B0gkARnK.js} +1 -1
- package/.output/public/_nuxt/B21nC2NZ.js +1 -0
- package/.output/public/_nuxt/B232GDut.js +2 -0
- package/.output/public/_nuxt/{DtgJAz2h.js → B6N_D8QI.js} +1 -1
- package/.output/public/_nuxt/B7C8fo37.js +1 -0
- package/.output/public/_nuxt/BC82eJHt.js +1 -0
- package/.output/public/_nuxt/BHr4_sbs.js +9 -0
- package/.output/public/_nuxt/{DSOwr8Hs.js → BJvJ0Hlu.js} +4 -4
- package/.output/public/_nuxt/BK-6CJ0A.js +1 -0
- package/.output/public/_nuxt/BMVgfiQu.js +1 -0
- package/.output/public/_nuxt/BNh4NY7v.js +1 -0
- package/.output/public/_nuxt/{DuKway_J.js → BO3FEgXG.js} +1 -1
- package/.output/public/_nuxt/BQm1mt0O.js +1 -0
- package/.output/public/_nuxt/BRCvv3op.js +1 -0
- package/.output/public/_nuxt/{Cym7bWgs.js → BRWis86L.js} +1 -1
- package/.output/public/_nuxt/{CG4v011f.js → BRzWRTTF.js} +1 -1
- package/.output/public/_nuxt/{BRVpLa1E.js → BWTTrGtY.js} +2 -2
- package/.output/public/_nuxt/{CczQKYUP.js → BXMKgn-J.js} +1 -1
- package/.output/public/_nuxt/{C7A87LE3.js → BYaoWfSN.js} +1 -1
- package/.output/public/_nuxt/{Z5g5B4NJ.js → BalNYDR1.js} +1 -1
- package/.output/public/_nuxt/{DQdL5Jcl.js → BmfnP4qD.js} +1 -1
- package/.output/public/_nuxt/Bn6_QGSK.js +1 -0
- package/.output/public/_nuxt/{RTN5rY4m.js → BsCPQnkm.js} +1 -1
- package/.output/public/_nuxt/{39ZZCZCn.js → Bu6ybm3Z.js} +1 -1
- package/.output/public/_nuxt/{2TwRWQjG.js → BuTCm7Bo.js} +1 -1
- package/.output/public/_nuxt/BuzCyLCh.js +1 -0
- package/.output/public/_nuxt/{BCm7jnPt.js → BzNEuLKx.js} +1 -1
- package/.output/public/_nuxt/{DyFXtlg0.js → BzNNFvTW.js} +1 -1
- package/.output/public/_nuxt/{nrlEwpIH.js → BzqjH2-H.js} +1 -1
- package/.output/public/_nuxt/{D0oaRUYx.js → C-e53AuW.js} +1 -1
- package/.output/public/_nuxt/C0jXhwNq.js +1 -0
- package/.output/public/_nuxt/C6K-C4_d.js +1 -0
- package/.output/public/_nuxt/{D7uoAo-G.js → C6teO48Y.js} +5 -5
- package/.output/public/_nuxt/{DUvUg_V7.js → C874itvn.js} +1 -1
- package/.output/public/_nuxt/C8ZJ2pm_.js +1 -0
- package/.output/public/_nuxt/CA3O4M9L.js +1 -0
- package/.output/public/_nuxt/{DStg2VwN.js → CAjVwGyz.js} +1 -1
- package/.output/public/_nuxt/{B41tp0B8.js → CCC5u9Ni.js} +1 -1
- package/.output/public/_nuxt/{3vYvhEat.js → CCCJ2fw7.js} +1 -1
- package/.output/public/_nuxt/{vGkKA7iH.js → CFi6G8Aj.js} +2 -2
- package/.output/public/_nuxt/CKlMKmo6.js +1 -0
- package/.output/public/_nuxt/{BvD9dW-2.js → CMDq7o88.js} +1 -1
- package/.output/public/_nuxt/CMI-3q_e.js +1 -0
- package/.output/public/_nuxt/{D_fdC3mJ.js → CMnjMfEQ.js} +1 -1
- package/.output/public/_nuxt/{DTlu-CJn.js → CQFANjzf.js} +1 -1
- package/.output/public/_nuxt/{DEjwIQuc.js → CU5cwnUW.js} +1 -1
- package/.output/public/_nuxt/{BO-QgaRL.js → CXQ2zrsE.js} +1 -1
- package/.output/public/_nuxt/{BLEKzUmC.js → CXbrqQhC.js} +1 -1
- package/.output/public/_nuxt/CZXyfpHW.js +1 -0
- package/.output/public/_nuxt/CZgTP5wX.js +1 -0
- package/.output/public/_nuxt/{BhT0iBlH.js → Cd_fVKDw.js} +1 -1
- package/.output/public/_nuxt/CeXnSKvd.js +1 -0
- package/.output/public/_nuxt/Chw5tFzx.js +1 -0
- package/.output/public/_nuxt/CkLSGVwV.js +1 -0
- package/.output/public/_nuxt/Cqk0ImDE.js +1 -0
- package/.output/public/_nuxt/{Ch-A9iSC.js → CuXTA7ZW.js} +1 -1
- package/.output/public/_nuxt/Cv9v5fHN.js +1 -0
- package/.output/public/_nuxt/{LUfaevBS.js → CvbYm0uB.js} +1 -1
- package/.output/public/_nuxt/{BV4g1sVY.js → Cw1HIv3s.js} +1 -1
- package/.output/public/_nuxt/{DxF9DsEl.js → CyEOtFwE.js} +1 -1
- package/.output/public/_nuxt/{Clm3Z8VL.js → CyKRjZZo.js} +1 -1
- package/.output/public/_nuxt/{Cj9tYr3P.js → D4DMGxvZ.js} +1 -1
- package/.output/public/_nuxt/{BNnChlxR.js → D5GonnbJ.js} +1 -1
- package/.output/public/_nuxt/D5Oboajo.js +1 -0
- package/.output/public/_nuxt/D8egDyEO.js +1 -0
- package/.output/public/_nuxt/DBSV6YXN.js +1 -0
- package/.output/public/_nuxt/{gWmEw6BT.js → DCewvWOu.js} +1 -1
- package/.output/public/_nuxt/{BG_B-fo0.js → DG9CsZCx.js} +1 -1
- package/.output/public/_nuxt/{BOVFFCPB.js → DH2V7e8U.js} +1 -1
- package/.output/public/_nuxt/{DcXAnOS1.js → DHXwq7wT.js} +1 -1
- package/.output/public/_nuxt/DJXrgohw.js +2 -0
- package/.output/public/_nuxt/{CxZK-Vs6.js → DQRyK9Io.js} +1 -1
- package/.output/public/_nuxt/{B-u0WX5Q.js → DXVrM3CN.js} +1 -1
- package/.output/public/_nuxt/{XVZ0obUR.js → DZ4xLzJg.js} +1 -1
- package/.output/public/_nuxt/DZIoL4RO.js +1 -0
- package/.output/public/_nuxt/D_kY6P5P.js +1 -0
- package/.output/public/_nuxt/{DzN4YRfa.js → DgxTwFGe.js} +2 -2
- package/.output/public/_nuxt/DkX74xDd.js +1 -0
- package/.output/public/_nuxt/{DzaPC1WB.js → DmnufEYq.js} +1 -1
- package/.output/public/_nuxt/{CCk2r9DD.js → Dopm1f4X.js} +1 -1
- package/.output/public/_nuxt/{jJeqAxmP.js → Dpkaavgs.js} +1 -1
- package/.output/public/_nuxt/DpsqSAMo.js +20 -0
- package/.output/public/_nuxt/{CRDIOG8r.js → DrkGD_bQ.js} +1 -1
- package/.output/public/_nuxt/{DLIUYAz9.js → Dtry_3Qa.js} +1 -1
- package/.output/public/_nuxt/DwPmcz47.js +1 -0
- package/.output/public/_nuxt/DyjsVMbv.js +1 -0
- package/.output/public/_nuxt/{CBgbjsPd.js → FmHWbXNk.js} +1 -1
- package/.output/public/_nuxt/{CWGzL6OE.js → JxgekUqn.js} +1 -1
- package/.output/public/_nuxt/KoGK2wLb.js +1 -0
- package/.output/public/_nuxt/LU_a7qLd.js +1 -0
- package/.output/public/_nuxt/{1VXrIDkr.js → LxqkguPP.js} +1 -1
- package/.output/public/_nuxt/Q8x88Gcd.js +1 -0
- package/.output/public/_nuxt/{RFRrMFyH.js → R04uZjs6.js} +1 -1
- package/.output/public/_nuxt/So0hX8V0.js +31 -0
- package/.output/public/_nuxt/WGDY9i_Q.js +1 -0
- package/.output/public/_nuxt/{BZQUF1W4.js → WZQ8mcv9.js} +1 -1
- package/.output/public/_nuxt/{CrwM3gOU.js → XjywAggc.js} +1 -1
- package/.output/public/_nuxt/{_fileId_.DxhkUVGK.css → _fileId_.CiauI_x3.css} +1 -1
- package/.output/public/_nuxt/{z1xPtaLw.js → _uLivI44.js} +1 -1
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/30582efd-125a-4f88-bd89-20a7b2ba8697.json +1 -0
- package/.output/public/_nuxt/{DRuCf0Sx.js → eQskTKIU.js} +1 -1
- package/.output/public/_nuxt/ecWNT6PZ.js +1 -0
- package/.output/public/_nuxt/entry.BcHy7sxf.css +1 -0
- package/.output/public/_nuxt/{BGAd-CMD.js → f6XRRKUb.js} +1 -1
- package/.output/public/_nuxt/jtwYTq7X.js +52 -0
- package/.output/public/_nuxt/{Bw-4PosZ.js → mcYTISF7.js} +1 -1
- package/.output/public/_nuxt/mcfKrWU-.js +1 -0
- package/.output/public/_nuxt/{CB56S0b2.js → soHTUlpn.js} +3 -3
- package/.output/public/_nuxt/tc7vkD0J.js +3 -0
- package/.output/public/_nuxt/vEHvfalB.js +53 -0
- package/.output/public/_nuxt/vP25tZUh.js +2 -0
- package/.output/public/_nuxt/{CpkrwN3Q.js → zndqWf9s.js} +1 -1
- package/.output/server/chunks/_/tables.factory.mjs +1 -1
- package/.output/server/chunks/build/client.manifest.mjs +794 -730
- package/.output/server/chunks/build/client.manifest.mjs.map +1 -1
- package/.output/server/chunks/nitro/nitro.mjs +676 -648
- package/.output/server/package.json +1 -1
- package/package.json +1 -1
- package/.output/public/_nuxt/1fIGBJPQ.js +0 -1
- package/.output/public/_nuxt/1kY3DHv7.js +0 -1
- package/.output/public/_nuxt/9bnMBg54.js +0 -1
- package/.output/public/_nuxt/BFMjnjgH.js +0 -1
- package/.output/public/_nuxt/BN2mQ8OV.js +0 -20
- package/.output/public/_nuxt/BNyWhB4W.js +0 -1
- package/.output/public/_nuxt/BXziI6Bt.js +0 -3
- package/.output/public/_nuxt/BZmEvFAZ.js +0 -28
- package/.output/public/_nuxt/Ba_fqsW2.js +0 -1
- package/.output/public/_nuxt/BbzZxPNQ.js +0 -1
- package/.output/public/_nuxt/Bhm1GL_M.js +0 -1
- package/.output/public/_nuxt/BiSZmDoN.js +0 -1
- package/.output/public/_nuxt/BjK8Fug8.js +0 -1
- package/.output/public/_nuxt/BjpSpz5C.js +0 -1
- package/.output/public/_nuxt/BkqB6n0T.js +0 -1
- package/.output/public/_nuxt/BoPjUGS6.js +0 -1
- package/.output/public/_nuxt/BtwwqY0e.js +0 -1
- package/.output/public/_nuxt/C0l_59dE.js +0 -1
- package/.output/public/_nuxt/C1TOiVRQ.js +0 -9
- package/.output/public/_nuxt/C80Zs8U0.js +0 -1
- package/.output/public/_nuxt/CFZerEKx.js +0 -2
- package/.output/public/_nuxt/CSPqdI4x.js +0 -1
- package/.output/public/_nuxt/CTYqoFvv.js +0 -1
- package/.output/public/_nuxt/CYJEOEaU.js +0 -1
- package/.output/public/_nuxt/CYu-xp_f.js +0 -1
- package/.output/public/_nuxt/CZvnl0uO.js +0 -52
- package/.output/public/_nuxt/CadjlDLt.js +0 -1
- package/.output/public/_nuxt/CeXr_3vU.js +0 -2
- package/.output/public/_nuxt/Culm7V2R.js +0 -53
- package/.output/public/_nuxt/CzBFxx8v.js +0 -1
- package/.output/public/_nuxt/D8KJQqug.js +0 -1
- package/.output/public/_nuxt/D8Z5BXgG.js +0 -26
- package/.output/public/_nuxt/DDK9-_jm.js +0 -1
- package/.output/public/_nuxt/DDQU7vSH.js +0 -1
- package/.output/public/_nuxt/DSEkO8kW.js +0 -1
- package/.output/public/_nuxt/Da1F0IxL.js +0 -1
- package/.output/public/_nuxt/DdtQIDaq.js +0 -1
- package/.output/public/_nuxt/Dfz8k_Rn.js +0 -1
- package/.output/public/_nuxt/DitYzGT4.js +0 -1
- package/.output/public/_nuxt/Djh3G2Nf.js +0 -1
- package/.output/public/_nuxt/DmWFeTaU.js +0 -1
- package/.output/public/_nuxt/_ltJfz1p.js +0 -1
- package/.output/public/_nuxt/builds/meta/1cbed594-12e2-48e6-bea9-7a9159c3c1d3.json +0 -1
- package/.output/public/_nuxt/dkyHOJLf.js +0 -1
- package/.output/public/_nuxt/entry.D1DMaixs.css +0 -1
- package/.output/public/_nuxt/ixgiI20S.js +0 -1
- package/.output/public/_nuxt/lisFd8W1.js +0 -2
- package/.output/public/_nuxt/uHyBIwWw.js +0 -1
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{cr as vt,cs as bt,ct as _t,cu as xt,aX as ze,r as I,an as j,ck as wt,cj as Ct,O as He,c as x,d as V,aD as Tt,e as S,o as m,f as i,w as h,m as o,t as B,g as e,k,l as D,aj as fe,F as q,s as ye,n as H,A as he,aA as St,I as Y,aF as X,cv as kt,R as je,cw as Ot,aI as Nt,cx as $t,cy as Rt,cz as Bt,i as U,bh as It,ar as pe,ae as Pt,ci as Ft,bo as Dt,ao as Mt,bx as Qt,by as Vt,bz as At,z as Ee,a7 as ce,a9 as ue,a4 as zt,aa as de,a8 as Le,cA as Et,au as me,cB as Ue,af as Lt,aQ as Ut,cC as Ht}from"./D7uoAo-G.js";import{_ as qe,a as Ke,c as jt}from"./Da1F0IxL.js";import{u as qt}from"./LUfaevBS.js";import{u as Kt,a as Wt,b as Gt,c as Zt,d as Jt,e as Yt,f as Xt,g as en,h as tn,_ as nn,i as an,j as on,k as sn,l as ln,m as rn,n as cn}from"./CpkrwN3Q.js";import{_ as un}from"./jJeqAxmP.js";import{_ as dn}from"./BN2mQ8OV.js";import{_ as mn,Q as F}from"./DitYzGT4.js";import{c as pn}from"./BkqB6n0T.js";import"./B41tp0B8.js";import{u as fn,t as yn,F as hn}from"./BRVpLa1E.js";import{_ as gn}from"./DRuCf0Sx.js";import{c as vn,a as bn,p as _n,b as xn}from"./2TwRWQjG.js";import{u as wn}from"./DDQU7vSH.js";import{f as Cn}from"./D9Ycznwo.js";import"./C1TOiVRQ.js";import"./BNnChlxR.js";import"./BbzZxPNQ.js";import"./CTYqoFvv.js";import"./B5rxJs06.js";import"./nrlEwpIH.js";import"./BoPjUGS6.js";import"./uHyBIwWw.js";import"./BVmBXPoG.js";import"./CxZK-Vs6.js";import"./CB56S0b2.js";import"./vGkKA7iH.js";function Tn(s){return bt(_t,s)}function Sn(s){return vt(xt,s)}const kn=({containerRef:s,quickQueryFilterRef:l,quickQueryTableRef:d,isSkipShortcut:u,isViewOnly:b,onCopySelectedCell:g,onPasteRows:t,onSaveData:c,onDeleteRows:f})=>{const p=()=>!u.value,n=()=>!u.value&&!b.value;ze([{key:"meta+a",callback:()=>{var r,a;p()&&((a=(r=d.value)==null?void 0:r.gridApi)==null||a.selectAll())},excludeInput:!0,isPreventDefault:!0},{key:"meta+c",callback:()=>{p()&&g()},excludeInput:!0},{key:"meta+v",callback:()=>{p()&&t()},excludeInput:!0},{key:"meta+s",callback:()=>{n()&&c()},isPreventDefault:!0},{key:"meta+alt+backspace",callback:()=>{n()&&f()},isPreventDefault:!0}],{target:s}),ze([{key:"meta+f",callback:async()=>{var r;p()&&await((r=l.value)==null?void 0:r.onShowSearch())}}])},On=s=>{const l=I();return j(()=>{var d;return(d=s.value)==null?void 0:d.columnDefs},()=>{var d;(d=s.value)!=null&&d.columnDefs&&(l.value=s.value.columnDefs)},{immediate:!0,deep:!0}),{columns:l}},Nn=()=>{const s=I(!0);return wt(()=>{s.value=!0}),Ct(()=>{s.value=!1}),{isActiveTeleport:s}},$n=({tableName:s,schemaName:l})=>{var t;const d=He(),{data:u,status:b}=qt("/api/tables/size",{method:"POST",body:{tableName:s,dbConnectionString:(t=d.selectedConnection)==null?void 0:t.connectionString,schema:l},key:`table-size-${s}-${l}`},"$1Ta2y3cNQa");return{tableSize:x(()=>u.value||{}),status:b}},Rn={class:"gap-0 flex flex-col h-full w-full p-2"},Bn={class:"flex flex-col gap-y-1"},In={class:"flex items-center justify-between w-full"},Pn={class:"text-xs opacity-75"},Fn={class:"flex items-center justify-between gap-4"},Dn={class:"text-xs opacity-75"},Mn={class:"flex items-center justify-between gap-4"},Qn={class:"text-xs opacity-75"},Vn=["onClick"],An={class:"flex justify-between text-xs w-full overflow-hidden"},zn=["title"],En={class:"opacity-50 w-1/4 min-w-[100px] text-right"},Ln=V({__name:"QuickQueryTableSummary",props:{tableName:{},schemaName:{},columns:{},selectedColumnFieldId:{},handleSelectColumn:{type:Function},columnTypes:{}},emits:["resetSelectedCol"],setup(s,{emit:l}){const d=l,{tableSize:u}=$n({tableName:s.tableName,schemaName:s.schemaName}),b=x(()=>{var t;return(((t=s.columns)==null?void 0:t.map(c=>{var p;const f=(p=s.columnTypes)==null?void 0:p.find(n=>n.name===c.field&&n.name);return f?{...c,type:(f==null?void 0:f.type)||""}:c}))||[]).slice(1)}),g=t=>t==="timestamp without time zone"?"timestamp":t||"";return Tt(t=>{t(()=>{s.selectedColumnFieldId!==void 0&&d("resetSelectedCol")})}),(t,c)=>{const f=qe,p=Ke,n=fe,r=he;return m(),S("div",Rn,[i(p,{class:"py-1 rounded-md"},{default:h(()=>[i(f,{class:"px-2"},{default:h(()=>[o("div",Bn,[o("div",In,[c[0]||(c[0]=o("span",{class:"text-xs font-medium"},"Table Size:",-1)),o("span",Pn,B(e(u).tableSize),1)]),o("div",Fn,[c[1]||(c[1]=o("span",{class:"text-xs font-medium"},"Data Size:",-1)),o("span",Dn,B(e(u).dataSize),1)]),o("div",Mn,[c[2]||(c[2]=o("span",{class:"text-xs font-medium"},"Index Size:",-1)),o("span",Qn,B(e(u).indexSize),1)])])]),_:1})]),_:1}),i(p,{class:"mt-1 py-2 px-1 h-full overflow-y-auto custom-scrollbar rounded-md"},{default:h(()=>[i(f,{class:"px-0"},{default:h(()=>[e(b).length===0?(m(),k(n,{key:0,title:"No columns",desc:"This table has no columns to display."})):D("",!0),(m(!0),S(q,null,ye(e(b),a=>(m(),S("div",{key:a==null?void 0:a.field,class:H(["cursor-pointer hover:bg-accent/50 rounded-sm",e(jt)(t.selectedColumnFieldId===(a==null?void 0:a.field)&&"bg-accent/90")])},[o("div",{class:"flex items-center gap-2 justify-start p-1",onClick:C=>t.handleSelectColumn(a==null?void 0:a.field)},[i(r,{name:"hugeicons:layout-3-column",class:"size-4 min-w-3"}),o("div",An,[o("span",{class:"w-3/4 truncate max-w-[220px] overflow-hidden text-ellipsis whitespace-nowrap inline-block",title:a==null?void 0:a.headerName},B((a==null?void 0:a.headerName)||""),9,zn),o("span",En,B(g(Array.isArray(a==null?void 0:a.type)?a==null?void 0:a.type.join(", "):a==null?void 0:a.type)),1)])],8,Vn)],2))),128))]),_:1})]),_:1})])}}}),Un=["for"],Hn=["for"],jn=V({__name:"DynamicForm",props:{fields:{},validationSchema:{},class:{}},setup(s,{expose:l}){const d=s,u=fn({validationSchema:yn(d.validationSchema),name:`dynamic-form-${St()}`});return l({form:u}),(b,g)=>(m(),S("div",{class:H(d.class)},[(m(!0),S(q,null,ye(b.fields,t=>Y((m(),S("div",{key:t.name},[o("div",{class:H(["flex justify-between pb-0.5",t.titleClass])},[o("label",{class:"text-xs text-right",for:t.name},B(t.label),9,Un),o("label",{class:"text-xs text-right text-primary/80",for:t.name},B(t.type),9,Hn)],2),i(e(hn),{as:t.as,id:t.name,name:t.name,class:H(t.class),placeholder:t.placeholder},null,8,["as","id","name","class","placeholder"])])),[[X,t.isShow]])),128))],2))}}),qn={class:"p-2 pb-0"},Kn={class:"relative w-full"},Wn={class:"absolute left-1.5 top-1.5 w-4"},Gn=V({__name:"PreviewSelectedRow",props:{columnTypes:{},selectedRow:{}},setup(s){const l=s,d=x(()=>{const n={};return l.columnTypes.forEach(r=>{const a=kt(je.POSTGRES).mapDbTypeToTsType(r.type);a==="boolean"?n[r.name]=Sn().optional():a==="number"?n[r.name]=Tn().optional():n[r.name]=Ot().optional()}),n}),u=Nt(""),b=$t(u,Rt),g=x(()=>{const n=[],r=b.value.toLowerCase().trim();return l.columnTypes.forEach(a=>{const C=a.name.toLowerCase(),R=r?C.includes(r):!0;n.push({label:a.name,type:a.type,as:gn,name:a.name,class:"px-1 py-0.5 h-fit min-h-6! text-primary/80 font-normal!",placeholder:"NULL",isShow:R})}),n}),t=x(()=>{const n=b.value.toLowerCase().trim();return n?!l.columnTypes.some(r=>r.name.toLowerCase().includes(n)):!1}),c=x(()=>Bt(d.value)),f=I(),p=n=>{const r=Object.entries(n).reduce((a,[C,R])=>(a[C]=pn(R||""),a),{});pe(()=>{var a;(a=f.value)==null||a.form.setValues(r)})};return j(()=>[l.selectedRow,f],([n])=>{n&&p(n)},{immediate:!0,deep:!0}),(n,r)=>{const a=he,C=It;return m(),S(q,null,[o("div",qn,[o("div",Kn,[o("div",Wn,[i(a,{name:"lucide:search",class:"stroke-3!"})]),i(C,{type:"text",placeholder:"Search fields ...",class:"pr-6 pl-6 w-full h-8",modelValue:e(u),"onUpdate:modelValue":r[0]||(r[0]=R=>U(u)?u.value=R:null)},null,8,["modelValue"]),e(u)?(m(),S("div",{key:0,class:"absolute right-2 top-1.5 w-4 cursor-pointer rounded-md hover:bg-accent",onClick:r[1]||(r[1]=R=>u.value="")},[i(a,{name:"lucide:x",class:"stroke-3! text-muted-foreground"})])):D("",!0)])]),e(t)?(m(),k(e(fe),{key:0,title:"No results",desc:"No fields match your search."})):(m(),k(jn,{key:1,ref_key:"dynamicForm",ref:f,class:"space-y-1 p-2 overflow-y-auto",fields:e(g),"validation-schema":e(c)},null,8,["fields","validation-schema"]))],64)}}}),Zn=["innerHTML"],Jn=V({__name:"QuickQueryHistoryLogItem",props:{log:{},highlighter:{}},setup(s){const l=s,d=I("");return j([()=>l.log,()=>l.highlighter],async()=>{const u=(l.log||"").trim();l.highlighter&&(d.value=l.highlighter.codeToHtml(u,{lang:"plsql",theme:"catppuccin-latte"}))},{immediate:!0}),(u,b)=>(m(),S("div",{class:"[&_code]:text-wrap w-full [&>.catppuccin-latte]:bg-background!",innerHTML:d.value},null,8,Zn))}}),Yn={class:"flex h-full min-h-0 flex-col"},Xn={class:"flex h-8 shrink-0 items-center justify-between"},ea={class:"flex items-center gap-1"},ta={key:0,class:"flex min-h-0 flex-1 items-center justify-center w-full"},na=["data-index"],aa={class:"pb-2 leading-relaxed text-xs group"},oa={class:"flex items-center justify-between gap-2 pr-1"},sa={class:"min-w-0"},la={class:"text-xxs"},ra={class:"text-xxs"},ia=V({__name:"QuickQueryHistoryLogsPanel",props:{tableName:{},schemaName:{}},setup(s){const l=s,d=I("all"),u=Kt(),{qqLogs:b}=Pt(u),{handleCopyWithKey:g,isCopied:t,getCopyIcon:c,getCopyIconClass:f,getCopyTooltip:p}=wn(),n=x(()=>d.value==="all"?b.value:u.getLogsByTableId(l)),r=I(null),a=(T,y=24)=>T.scrollHeight-T.scrollTop-T.clientHeight<=y,C=Ft({get count(){return n.value.length},getScrollElement:()=>r.value,estimateSize:()=>39,overscan:5}),R=x(()=>C.value.getVirtualItems()),ee=x(()=>C.value.getTotalSize()),K=()=>{n.value.length&&C.value.scrollToIndex(n.value.length-1)},te=T=>{T&&C.value.measureElement(T)},ne=T=>new Date(T).toLocaleString(),M=I();return Dt(async()=>{const T=vn({themes:[xn],langs:[_n],engine:bn()});M.value=await T}),Mt(async()=>{C.value&&(await pe(),K())}),j(()=>n.value.length,async()=>{if(!C.value)return;const T=!r.value||a(r.value);await pe(),T&&K()}),(T,y)=>{const W=At,Q=Vt,$=Qt,N=he,A=zt,z=fe,ae=qe,E=Ke;return m(),S("div",Yn,[o("div",Xn,[i($,{modelValue:d.value,"onUpdate:modelValue":y[0]||(y[0]=_=>d.value=_),class:"pt-1"},{default:h(()=>[i(Q,{size:"xs"},{default:h(()=>[i(W,{size:"xs",value:"all",class:"cursor-pointer text-primary/80"},{default:h(()=>y[2]||(y[2]=[Ee(" All logs ")])),_:1},8,["value"]),i(W,{size:"xs",value:"one-table",class:"cursor-pointer text-primary/80"},{default:h(()=>y[3]||(y[3]=[Ee(" Only this table ")])),_:1},8,["value"])]),_:1})]),_:1},8,["modelValue"]),y[8]||(y[8]=o("div",null,[o("p",{class:"font-medium text-xs"},"Logs history")],-1)),o("div",ea,[d.value==="all"?(m(),k(e(ce),{key:0},{default:h(()=>[i(e(ue),{"as-child":""},{default:h(()=>[i(A,{variant:"outline",size:"xxs",onClick:e(u).deleteAllLogs},{default:h(()=>[i(N,{name:"lucide:trash"}),y[4]||(y[4]=o("p",{class:"font-normal"},"Delete all logs",-1))]),_:1},8,["onClick"])]),_:1}),i(e(de),null,{default:h(()=>y[5]||(y[5]=[o("p",null,"Delete all logs",-1)])),_:1})]),_:1})):(m(),k(e(ce),{key:1},{default:h(()=>[i(e(ue),{"as-child":""},{default:h(()=>[i(A,{variant:"outline",size:"xxs",onClick:y[1]||(y[1]=_=>e(u).deleteLogsOfTable(l))},{default:h(()=>[i(N,{name:"lucide:trash"}),y[6]||(y[6]=o("p",{class:"font-normal"},"Delete logs",-1))]),_:1})]),_:1}),i(e(de),null,{default:h(()=>y[7]||(y[7]=[o("p",null,"Delete logs for this table",-1)])),_:1})]),_:1}))])]),n.value.length?(m(),k(E,{key:1,class:"py-0 mt-1 min-h-0 flex-1 gap-0 rounded-none shadow-none border-none overflow-hidden"},{default:h(()=>[i(ae,{class:"p-0 min-h-0 flex-1"},{default:h(()=>[o("div",{ref_key:"parentRef",ref:r,class:"h-full w-full overflow-y-auto contain-strict [overflow-anchor:none]"},[o("div",{style:Le({height:`${ee.value}px`,width:"100%",position:"relative"})},[(m(!0),S(q,null,ye(R.value,_=>(m(),S("div",{key:_.key.toString(),"data-index":_.index,ref_for:!0,ref:te,class:"[overflow-anchor:none]",style:Le({position:"absolute",top:0,left:0,width:"100%",transform:`translateY(${_.start}px)`})},[o("div",aa,[o("div",oa,[o("div",sa,[o("span",la,"["+B(ne(n.value[_.index].createdAt))+"] ",1),o("span",ra," : "+B(e(Cn)(n.value[_.index].queryTime||0)),1)]),i(e(ce),null,{default:h(()=>[i(e(ue),{"as-child":""},{default:h(()=>[i(A,{variant:"ghost",size:"icon",class:"size-6 shrink-0 opacity-0 transition-opacity group-hover:opacity-100 focus-visible:opacity-100",onClick:L=>e(g)(n.value[_.index].id,String(n.value[_.index].logs).trim())},{default:h(()=>[(m(),k(N,{key:e(t)(n.value[_.index].id)?"tick":"copy",name:e(c)(e(t)(n.value[_.index].id)),class:H(["size-3.5",e(f)(e(t)(n.value[_.index].id))])},null,8,["name","class"]))]),_:2},1032,["onClick"])]),_:2},1024),i(e(de),null,{default:h(()=>[o("p",null,B(e(p)(e(t)(n.value[_.index].id),"Copy log")),1)]),_:2},1024)]),_:2},1024)]),i(Jn,{highlighter:M.value,log:n.value[_.index].logs},null,8,["highlighter","log"])])],12,na))),128))],4)],512)]),_:1})]),_:1})):(m(),S("div",ta,[i(z,{title:"No logs found",desc:"There are no execution logs to display for this table."})]))])}}}),ca=({quickQueryTableRef:s})=>{const l=I(void 0),d=()=>{var g,t,c,f,p,n,r;l.value=void 0,(c=(t=(g=s.value)==null?void 0:g.gridApi)==null?void 0:t.ensureIndexVisible)==null||c.call(t,0,"top"),(p=(f=s.value)==null?void 0:f.gridApi)==null||p.refreshHeader(),(r=(n=s.value)==null?void 0:n.gridApi)==null||r.refreshCells({force:!0})},u=g=>{var t,c,f,p,n,r;g&&((c=(t=s.value)==null?void 0:t.gridApi)==null||c.ensureColumnVisible(g,"middle"),(p=(f=s.value)==null?void 0:f.gridApi)==null||p.refreshCells({force:!0}),(r=(n=s.value)==null?void 0:n.gridApi)==null||r.refreshHeader())};return{resetGridState:d,selectedColumnFieldId:l,handleSelectColumn:g=>{l.value=g,u(g)}}},ua={class:"px-1"},da={class:"px-2"},ma={class:"flex-1 overflow-hidden px-1 mb-0.5"},pa={key:1,class:"h-full"},za=V({__name:"QuickQuery",props:{connectionId:{},workspaceId:{},tableName:{},schemaName:{},tabViewType:{},virtualTableId:{}},setup(s){const l=s,d=Et(),u=He(),b=x(()=>{const w=u.connections.find(v=>v.id===l.connectionId);return(w==null?void 0:w.connectionString)||""}),g=x(()=>{var w;return((w=u.selectedConnection)==null?void 0:w.type)||je.POSTGRES}),t=x(()=>l.tableName),c=x(()=>l.schemaName),f=I(),{previewRelationBreadcrumbs:p,onOpenBackReferencedTableModal:n,onOpenForwardReferencedTableModal:r,onUpdateSelectedTabInBreadcrumb:a,onClearBreadcrumbs:C,onBackPreviousBreadcrumb:R,onBackPreviousBreadcrumbByIndex:ee}=Wt(),{onRequestSafeModeConfirm:K,onSafeModeCancel:te,onSafeModeConfirm:ne,safeModeDialogOpen:M,safeModeDialogSql:T,safeModeDialogType:y,isDangerous:W}=Gt(),{quickQueryFilterRef:Q,quickQueryTableRef:$,selectedRows:N,focusedCell:A}=Zt(),{columnNames:z,foreignKeys:ae,primaryKeyColumns:E,tableMetaData:_,columnTypes:L,foreignKeyColumns:We,isVirtualTable:oe}=Jt({tableName:t.value,schemaName:c.value,connectionId:l.connectionId,tabViewType:l.tabViewType}),{onApplyNewFilter:ge,data:G,baseQueryString:Ge,refreshTableData:ve,refreshCount:be,isAllowNextPage:Ze,isAllowPreviousPage:Je,onNextPage:_e,onPreviousPage:xe,onUpdatePagination:we,totalRows:Ye,pagination:Z,errorMessage:Ce,openErrorModal:J,orderBy:Xe,onUpdateOrderBy:et,addHistoryLog:tt,filters:se,isShowFilters:le,onChangeComposeWith:nt,composeWith:at,isFetchingTableData:ot}=Yt({connection:me(u,"selectedConnection"),primaryKeys:E,columns:z,connectionId:x(()=>l.connectionId),workspaceId:x(()=>l.workspaceId),tableName:t.value,schemaName:c.value});j(_,w=>{w!=null&&w.columns&&w.columns.length>0&&(be(),ve())},{deep:!0,immediate:!0});const{isMutating:st,onAddEmptyRow:Te,onDiscardChanges:lt,onDeleteRows:re,onSaveData:ie,hasEditedRows:Se,pendingChangesCount:rt,onCopyRows:it,onPasteRows:ke,onRefresh:Oe,onSelectedRowsChange:ct,onCopySelectedCell:Ne,onFocusedCellChange:ut}=Xt({tableName:t.value,schemaName:c.value,primaryKeys:E,refreshTableData:ve,columnNames:z,data:G,addHistoryLog:tt,errorMessage:Ce,openErrorModal:J,selectedRows:N,pagination:Z,quickQueryTableRef:$,refreshCount:be,focusedCell:A,safeModeEnabled:me(d,"quickQuerySafeModeEnabled"),onRequestSafeModeConfirm:K,connection:me(u,"selectedConnection")}),{handleSelectColumn:dt,selectedColumnFieldId:$e,resetGridState:mt}=ca({quickQueryTableRef:$}),{quickQueryTabView:P,openedQuickQueryTab:Re}=en({onTabChanged:w=>{w!==F.Data&&d.onCloseBottomPanel()}}),{isActiveTeleport:Be}=Nn(),{onAddFilterByContextCell:pt}=rn({quickQueryFilterRef:Q,quickQueryTableRef:$,columnTypes:L,filters:se,onApplyNewFilter:ge}),{isHaveRelationByFieldName:ft}=tn({schemaName:c.value,tableName:t.value}),yt=x(()=>p.value.length>0),Ie=x(()=>oe.value);kn({containerRef:f,quickQueryFilterRef:Q,quickQueryTableRef:$,isSkipShortcut:yt,isViewOnly:Ie,onCopySelectedCell:Ne,onPasteRows:ke,onSaveData:ie,onDeleteRows:re});const{columns:ht}=On($);return(w,v)=>{var Pe,Fe,De,Me,Qe,Ve;const gt=Lt;return m(),S(q,null,[e(p).length?(m(),k(nn,{key:0,open:e(p).length>0,breadcrumbs:e(p),currentTableName:e(t),connectionId:w.connectionId,workspaceId:w.workspaceId,rootSchemaName:e(c),onClearBreadcrumb:e(C),onOnOpenBackReferencedTableModal:e(n),onOnOpenForwardReferencedTableModal:e(r),onOnUpdateSelectedTabInBreadcrumb:e(a),onOnBackPreviousBreadcrumb:e(R),onOnBackPreviousBreadcrumbByIndex:e(ee)},null,8,["open","breadcrumbs","currentTableName","connectionId","workspaceId","rootSchemaName","onClearBreadcrumb","onOnOpenBackReferencedTableModal","onOnOpenForwardReferencedTableModal","onOnUpdateSelectedTabInBreadcrumb","onOnBackPreviousBreadcrumb","onOnBackPreviousBreadcrumbByIndex"])):D("",!0),i(mn,{open:e(M),"onUpdate:open":v[0]||(v[0]=O=>U(M)?M.value=O:null),sql:e(T),type:e(y),dangerous:e(W),onConfirm:e(ne),onCancel:e(te)},null,8,["open","sql","type","dangerous","onConfirm","onCancel"]),e(Be)?(m(),k(Ue,{key:1,defer:"",to:"#preview-select-row"},[((Pe=e(N))==null?void 0:Pe.length)!==1||e(P)!==e(F).Data?(m(),k(Ln,{key:0,"table-name":e(t),"schema-name":e(c),columns:e(ht),columnTypes:e(L),selectedColumnFieldId:e($e),handleSelectColumn:e(dt),onResetSelectedCol:e(mt)},null,8,["table-name","schema-name","columns","columnTypes","selectedColumnFieldId","handleSelectColumn","onResetSelectedCol"])):(m(),k(Gn,{key:1,columnTypes:e(L),selectedRow:(Fe=e(N))!=null&&Fe.length?e(N)[0]:null},null,8,["columnTypes","selectedRow"]))])):D("",!0),e(Be)?(m(),k(Ue,{key:2,defer:"",to:"#bottom-panel"},[i(ia,{tableName:e(t),"schema-name":e(c)},null,8,["tableName","schema-name"])])):D("",!0),i(dn,{open:e(J),"onUpdate:open":v[1]||(v[1]=O=>U(J)?J.value=O:null),message:e(Ce)||""},null,8,["open","message"]),o("div",{ref_key:"containerRef",ref:f,class:"flex flex-col h-full w-full relative",tabindex:"0"},[i(gt,{visible:e(st)||e(ot)},null,8,["visible"]),o("div",ua,[i(an,{"total-selected-rows":(De=e(N))==null?void 0:De.length,isAllowNextPage:e(Ze),isAllowPreviousPage:e(Je),totalRows:e(Ye),limit:e(Z).limit,currentTotalRows:((Me=e(G))==null?void 0:Me.length)||0,offset:e(Z).offset,"has-edited-rows":e(Se),"pending-changes-count":e(rt),isViewVirtualTable:e(oe),onOnPaginate:e(we),onOnNextPage:e(_e),onOnPreviousPage:e(xe),onOnRefresh:e(Oe),onOnDiscardChanges:e(lt),onOnSaveData:e(ie),onOnDeleteRows:e(re),onOnAddEmptyRow:e(Te),onOnShowFilter:v[2]||(v[2]=()=>{var O;(O=e(Q))==null||O.onShowSearch()}),onOnToggleHistoryPanel:e(d).onToggleBottomPanel,tabView:e(P),"onUpdate:tabView":v[3]||(v[3]=O=>U(P)?P.value=O:null)},null,8,["total-selected-rows","isAllowNextPage","isAllowPreviousPage","totalRows","limit","currentTotalRows","offset","has-edited-rows","pending-changes-count","isViewVirtualTable","onOnPaginate","onOnNextPage","onOnPreviousPage","onOnRefresh","onOnDiscardChanges","onOnSaveData","onOnDeleteRows","onOnAddEmptyRow","onOnToggleHistoryPanel","tabView"])]),o("div",da,[e(P)===e(F).Data?(m(),k(on,{key:0,ref_key:"quickQueryFilterRef",ref:Q,onOnSearch:v[4]||(v[4]=()=>{e(ge)()}),onOnUpdateFilters:v[5]||(v[5]=O=>{se.value=O}),isShowFilters:e(le),"onUpdate:isShowFilters":v[6]||(v[6]=O=>U(le)?le.value=O:null),initFilters:e(se),baseQuery:e(Ge),columns:e(z),dbType:e(g),composeWith:e(at),onOnChangeComposeWith:e(nt)},null,8,["isShowFilters","initFilters","baseQuery","columns","dbType","composeWith","onOnChangeComposeWith"])):D("",!0)]),o("div",ma,[e(Re)[e(F).Erd]?Y((m(),k(un,{key:0,tableId:e(Ut)({tableName:e(t),schemaName:e(c)})},null,8,["tableId"])),[[X,e(P)===e(F).Erd]]):D("",!0),e(Re)[e(F).Structure]?Y((m(),S("div",pa,[i(sn,{isVirtualTable:e(oe),schema:e(c),tableName:e(t),connectionString:e(b),virtualTableId:l.virtualTableId},null,8,["isVirtualTable","schema","tableName","connectionString","virtualTableId"])],512)),[[X,e(P)===e(F).Structure]]):D("",!0),Y(i(cn,{data:e(G),"total-selected-rows":e(N).length,"has-edited-rows":e(Se),cellContextMenu:(Qe=e($))==null?void 0:Qe.cellContextMenu,cellHeaderContextMenu:(Ve=e($))==null?void 0:Ve.cellHeaderContextMenu,selectedRows:e(N),"table-name":e(t),"schema-name":e(c),onOnClearContextMenu:v[7]||(v[7]=O=>{var Ae;return(Ae=e($))==null?void 0:Ae.clearCellContextMenu()}),onOnPaginate:e(we),onOnNextPage:e(_e),onOnPreviousPage:e(xe),onOnRefresh:e(Oe),onOnSaveData:e(ie),onOnDeleteRows:e(re),onOnAddEmptyRow:e(Te),onOnFilterByValue:e(pt),onOnCopyRows:e(it),onOnPasteRows:e(ke),onOnCopySelectedCell:e(Ne)},{default:h(()=>[i(ln,{class:"h-full border rounded-md",ref_key:"quickQueryTableRef",ref:$,"selected-rows":e(N),data:e(G)||[],orderBy:e(Xe),onOnSelectedRows:e(ct),"onUpdate:orderBy":e(et),onOnOpenBackReferencedTableModal:e(n),onOnOpenForwardReferencedTableModal:e(r),isHaveRelationByFieldName:e(ft),foreignKeyColumns:e(We),foreignKeys:e(ae),primaryKeyColumns:e(E),columnTypes:e(L),defaultPageSize:e(Ht),offset:e(Z).offset,onOnFocusCell:e(ut),selectedColumnFieldId:e($e),"current-schema-name":e(c),"current-table-name":e(t),isViewOnly:e(Ie)},null,8,["selected-rows","data","orderBy","onOnSelectedRows","onUpdate:orderBy","onOnOpenBackReferencedTableModal","onOnOpenForwardReferencedTableModal","isHaveRelationByFieldName","foreignKeyColumns","foreignKeys","primaryKeyColumns","columnTypes","defaultPageSize","offset","onOnFocusCell","selectedColumnFieldId","current-schema-name","current-table-name","isViewOnly"])]),_:1},8,["data","total-selected-rows","has-edited-rows","cellContextMenu","cellHeaderContextMenu","selectedRows","table-name","schema-name","onOnPaginate","onOnNextPage","onOnPreviousPage","onOnRefresh","onOnSaveData","onOnDeleteRows","onOnAddEmptyRow","onOnFilterByValue","onOnCopyRows","onOnPasteRows","onOnCopySelectedCell"]),[[X,e(P)===e(F).Data]])])],512)],64)}}});export{za as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as k}from"./Djh3G2Nf.js";import{d as y,c as p,a0 as A,a1 as C,a2 as n,a3 as D,b as B,e as a,l as _,m as e,g as s,n as f,j as V,z as g,f as o,w as i,t as z,D as N,F as S,a4 as $,o as l,A as j}from"./D7uoAo-G.js";import{_ as I}from"./C80Zs8U0.js";const q=["data-electron-drag-region"],E={class:"flex items-center space-x-2 pointer-events-none"},F={class:"h-full overflow-y-auto flex flex-col"},L={key:0,class:"flex items-center justify-between border-b border-border py-2 px-2"},M={class:"flex items-center space-x-2"},P=["href"],O=y({__name:"home",setup(T){const r=p(()=>A()&&C()),c=B(),x=async()=>{r.value&&n()&&await window.electronAPI.window.maximize()},d=p(()=>n()||D()),v=c.public.githubLink;return(b,t)=>{const u=I,m=k,h=j,w=$;return l(),a(S,null,[s(d)?(l(),a("div",{key:0,class:f(s(V)("w-full h-10.5 select-none pr-2 bg-sidebar flex justify-center")),onDblclick:x},[e("div",{class:f(["flex w-full items-center gap-3 py-2 pr-2",s(r)?"pl-[4.75rem]":"pl-3"]),"data-electron-drag-region":s(n)()?"":void 0},[e("div",E,[o(m,{class:"rounded-2xl"},{default:i(()=>[o(u,{src:"/logo.png",alt:"@unovue"})]),_:1}),t[0]||(t[0]=e("p",{class:"text-xl font-medium"},"orcaq",-1))]),g(" v"+z(s(c).public.version),1)],10,q)],34)):_("",!0),e("div",F,[s(d)?_("",!0):(l(),a("div",L,[e("div",M,[o(m,{class:"rounded-2xl"},{default:i(()=>[o(u,{src:"/logo.png",alt:"@unovue"})]),_:1}),t[1]||(t[1]=e("p",{class:"text-2xl font-medium"},"orcaq",-1))]),e("div",null,[o(w,{variant:"outline",size:"sm","as-child":""},{default:i(()=>[e("a",{href:s(v),target:"_blank"},[o(h,{name:"hugeicons:github",class:"w-5 h-5"}),t[2]||(t[2]=g(" Star us on GitHub ⭐️ "))],8,P)]),_:1})])])),N(b.$slots,"default")])],64)}}});export{O as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{d as h,O as C,ad as S,ae as y,c as o,E as D,e as E,o as O,f as i,g as n,af as g}from"./D7uoAo-G.js";import{b as I,a as M,D as B,_ as T}from"./BkqB6n0T.js";import{b as x,a as L}from"./BVmBXPoG.js";import{u as N}from"./LUfaevBS.js";import"./C1TOiVRQ.js";import"./B41tp0B8.js";import"./uHyBIwWw.js";import"./CTYqoFvv.js";import"./B5rxJs06.js";import"./BNnChlxR.js";const R={class:"h-full relative p-1"},G=h({__name:"TableOverview",props:{connectionId:{}},setup(m){const l=["name","schema","kind","owner","estimated_row","total_size","data_size","index_size","comment"],s=m,a=C(),u=S(),{schemaId:c}=y(u),d=o(()=>s.connectionId?a.connections.find(e=>e.id===s.connectionId):a.selectedConnection),r=o(()=>({...D(d.value),schema:c.value})),{data:t,status:p}=N("/api/tables/overview",{method:"POST",body:r,watch:[c,r]},"$x2_S2ch44V"),_=o(()=>{const e=t.value||[];return e.length>0?x(e):L(l)}),f=o(()=>I({columns:_.value,rows:t.value||[],columnKeyBy:"field"})),v=o(()=>M(t.value||[]));return(e,V)=>{const w=g,b=T;return O(),E("div",R,[i(w,{visible:n(p)==="pending"},null,8,["visible"]),i(b,{"column-defs":n(f),"row-data":n(v),"column-types":n(B),class:"h-full border rounded-md"},null,8,["column-defs","row-data","column-types"])])}}});export{G as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{G as Ye,d as X,r as B,an as re,c as I,e as g,m as e,l as O,f as w,a4 as ce,w as E,z as N,t as i,g as t,o as f,A as me,n as oe,cg as He,bh as Ve,i as le,a8 as Ie,cx as Je,cj as Ce,ck as Te,cF as Le,E as ne,K as be,O as $e,k as J,q as Re,I as te,aF as se,bf as xe,bj as Ae,bx as Pe,by as Be,F as H,s as V,bz as De,ae as je,R as ue,T as Ze,N as et}from"./D7uoAo-G.js";import{g as Ke}from"./BG_B-fo0.js";import{t as G,i as tt,a as st,b as nt,m as ot,k as at,g as Ue,h as Ge,c as it,d as Me,e as rt,f as lt,j as dt,n as ut,l as ct,S as mt,o as pt,p as ft,_ as qe,q as gt,r as Oe,s as vt,C as bt,u as _t,v as ht,E as we,w as yt,x as xt,y as $t,z as St,A as wt,B as kt}from"./Culm7V2R.js";import{a as It}from"./D9Ycznwo.js";import{b as pe,a as fe,_ as Se,D as ge}from"./BkqB6n0T.js";import{b as _e,a as Qe}from"./BVmBXPoG.js";import{u as Ct}from"./2TwRWQjG.js";import{_ as Tt}from"./BOVFFCPB.js";import{_ as Ee}from"./1VXrIDkr.js";import{_ as Lt,u as Rt}from"./BjpSpz5C.js";import"./C1TOiVRQ.js";import"./B41tp0B8.js";import"./uHyBIwWw.js";import"./CTYqoFvv.js";import"./B5rxJs06.js";import"./BNnChlxR.js";var Fe={value:"eq","<":"lt","<=":"lte",">":"gt",">=":"gte","=":"eq","!=":"ne","<>":"ne"},At=function(){function n(r){var u=this._condVal=Me(r)?new RegExp(r):rt(r)?r:null;if(u==null){var s="";G(s)}}return n.prototype.evaluate=function(r){var u=typeof r;return Me(u)?this._condVal.test(r):lt(u)?this._condVal.test(r+""):!1},n}(),Pt=function(){function n(){}return n.prototype.evaluate=function(){return this.value},n}(),Bt=function(){function n(){}return n.prototype.evaluate=function(){for(var r=this.children,u=0;u<r.length;u++)if(!r[u].evaluate())return!1;return!0},n}(),Dt=function(){function n(){}return n.prototype.evaluate=function(){for(var r=this.children,u=0;u<r.length;u++)if(r[u].evaluate())return!0;return!1},n}(),Et=function(){function n(){}return n.prototype.evaluate=function(){return!this.child.evaluate()},n}(),Nt=function(){function n(){}return n.prototype.evaluate=function(){for(var r=!!this.valueParser,u=this.getValue,s=u(this.valueGetterParam),o=r?this.valueParser(s):null,v=0;v<this.subCondList.length;v++)if(!this.subCondList[v].evaluate(r?o:s))return!1;return!0},n}();function Ne(n,r){if(n===!0||n===!1){var u=new Pt;return u.value=n,u}var s="";return Xe(n)||G(s),n.and?ze("and",n,r):n.or?ze("or",n,r):n.not?Mt(n,r):Ot(n,r)}function ze(n,r,u){var s=r[n],o="";nt(s)||G(o),s.length||G(o);var v=n==="and"?new Bt:new Dt;return v.children=ot(s,function(c){return Ne(c,u)}),v.children.length||G(o),v}function Mt(n,r){var u=n.not,s="";Xe(u)||G(s);var o=new Et;return o.child=Ne(u,r),o.child||G(s),o}function Ot(n,r){for(var u="",s=r.prepareGetValue(n),o=[],v=at(n),c=n.parser,x=c?Ue(c):null,h=0;h<v.length;h++){var m=v[h];if(!(m==="parser"||r.valueGetterAttrMap.get(m))){var _=Ge(Fe,m)?Fe[m]:m,$=n[m],b=x?x($):$,p=it(_,b)||_==="reg"&&new At(b);p||G(u),o.push(p)}}o.length||G(u);var S=new Nt;return S.valueGetterParam=s,S.valueParser=x,S.getValue=r.getValue,S.subCondList=o,S}function Xe(n){return tt(n)&&!st(n)}var Ft=function(){function n(r,u){this._cond=Ne(r,u)}return n.prototype.evaluate=function(){return this._cond.evaluate()},n}();function zt(n,r){return new Ft(n,r)}var Ht={type:"echarts:filter",transform:function(n){for(var r=n.upstream,u,s=zt(n.config,{valueGetterAttrMap:dt({dimension:!0}),prepareGetValue:function(x){var h="",m=x.dimension;Ge(x,"dimension")||G(h);var _=r.getDimensionInfo(m);return _||G(h),{dimIdx:_.index}},getValue:function(x){return r.retrieveValueFromItem(u,x.dimIdx)}}),o=[],v=0,c=r.count();v<c;v++)u=r.getRawDataItem(v),s.evaluate()&&o.push(u);return{data:o}}},Vt={type:"echarts:sort",transform:function(n){var r=n.upstream,u=n.config,s="",o=ut(u);o.length||G(s);var v=[];ct(o,function(_){var $=_.dimension,b=_.order,p=_.parser,S=_.incomparable;if($==null&&G(s),b!=="asc"&&b!=="desc"&&G(s),S&&S!=="min"&&S!=="max"){var l="";G(l)}if(b!=="asc"&&b!=="desc"){var a="";G(a)}var d=r.getDimensionInfo($);d||G(s);var T=p?Ue(p):null;p&&!T&&G(s),v.push({dimIdx:d.index,parser:T,comparator:new mt(b,S)})});var c=r.sourceFormat;c!==pt&&c!==ft&&G(s);for(var x=[],h=0,m=r.count();h<m;h++)x.push(r.getRawDataItem(h));return x.sort(function(_,$){for(var b=0;b<v.length;b++){var p=v[b],S=r.retrieveValueFromItem(_,p.dimIdx),l=r.retrieveValueFromItem($,p.dimIdx);p.parser&&(S=p.parser(S),l=p.parser(l));var a=p.comparator.evaluate(S,l);if(a!==0)return a}return 0}),{data:x}}};function jt(n){n.registerTransform(Ht),n.registerTransform(Vt)}var Kt=function(n){qe(r,n);function r(){var u=n!==null&&n.apply(this,arguments)||this;return u.type="dataset",u}return r.prototype.init=function(u,s,o){n.prototype.init.call(this,u,s,o),this._sourceManager=new gt(this),Oe(this)},r.prototype.mergeOption=function(u,s){n.prototype.mergeOption.call(this,u,s),Oe(this)},r.prototype.optionUpdated=function(){this._sourceManager.dirty()},r.prototype.getSourceManager=function(){return this._sourceManager},r.type="dataset",r.defaultOption={seriesLayoutBy:vt},r}(bt),Ut=function(n){qe(r,n);function r(){var u=n!==null&&n.apply(this,arguments)||this;return u.type="dataset",u}return r.type="dataset",r}(_t);function Gt(n){n.registerComponentModel(Kt),n.registerComponentView(Ut)}const de=n=>It(n??0),ie=n=>n==null?"0.00/s":`${n.toFixed(2)}/s`,ke=n=>n==null?"0%":`${n.toFixed(2)}%`,he=n=>{if(!n)return"-";const r=new Date(n);return Number.isNaN(r.getTime())?n:r.toLocaleString()},We=n=>{if(n==null)return"-";if(n<60)return`${n}s`;const r=Math.floor(n/60),u=n%60;if(r<60)return`${r}m ${u}s`;const s=Math.floor(r/60),o=r%60;return`${s}h ${o}m`},qt=n=>n==null||n<=0?"0 B":Ye(n).replace(" bytes"," B"),Qt=n=>{if(!n)return"-";const r=n.replace(/\s+/g," ").trim();return r?r.length>320?`${r.slice(0,320)}...`:r:"-"},Xt=n=>(n||"").toLowerCase().includes("idle in transaction"),Wt={class:"space-y-4"},Yt={class:"flex items-center justify-between"},Jt={key:0,class:"border border-red-300 bg-red-50 text-red-700 rounded-lg p-3 text-sm"},Zt={class:"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-4 gap-2.5"},es={class:"h-full border rounded-lg p-2.5 space-y-2"},ts={class:"flex items-center gap-1"},ss={class:"text-sm font-semibold leading-none tabular-nums"},ns={class:"grid grid-cols-2 gap-x-3 gap-y-1 text-[11px]"},os={class:"text-muted-foreground"},as={class:"tabular-nums text-foreground"},is={class:"text-muted-foreground"},rs={class:"tabular-nums text-foreground"},ls={class:"text-muted-foreground"},ds={class:"tabular-nums text-foreground"},us={class:"text-muted-foreground"},cs={class:"tabular-nums text-foreground"},ms={class:"h-full border rounded-lg p-2.5 space-y-2"},ps={class:"flex items-center gap-1"},fs={class:"text-sm font-semibold leading-none tabular-nums"},gs={class:"grid grid-cols-2 gap-x-3 gap-y-1 text-[11px]"},vs={class:"text-muted-foreground"},bs={class:"tabular-nums text-foreground"},_s={class:"text-muted-foreground"},hs={class:"tabular-nums text-foreground"},ys={class:"text-muted-foreground"},xs={class:"tabular-nums text-foreground"},$s={class:"text-muted-foreground"},Ss={class:"tabular-nums text-foreground"},ws={class:"h-full border rounded-lg p-2.5 space-y-2"},ks={class:"flex items-center gap-1"},Is={class:"text-sm font-semibold leading-none tabular-nums"},Cs={class:"grid grid-cols-2 gap-x-3 gap-y-1 text-[11px]"},Ts={class:"text-muted-foreground"},Ls={class:"tabular-nums text-foreground"},Rs={class:"text-muted-foreground"},As={class:"tabular-nums text-foreground"},Ps={class:"text-muted-foreground"},Bs={class:"tabular-nums text-foreground"},Ds={class:"text-muted-foreground"},Es={class:"tabular-nums text-foreground"},Ns={class:"h-full border rounded-lg p-2.5 space-y-2"},Ms={class:"flex items-center gap-1"},Os={class:"text-sm font-semibold leading-none tabular-nums"},Fs={class:"grid grid-cols-2 gap-x-3 gap-y-1 text-[11px]"},zs={class:"text-muted-foreground"},Hs={class:"tabular-nums text-foreground"},Vs={class:"text-muted-foreground"},js={class:"tabular-nums text-foreground"},Ks={class:"text-muted-foreground"},Us={class:"tabular-nums text-foreground"},Gs={class:"text-muted-foreground"},qs={class:"tabular-nums text-foreground"},Qs={class:"grid grid-cols-1 xl:grid-cols-2 gap-3"},Xs={class:"border rounded-lg p-2.5"},Ws={class:"insights-chart-container"},Ys={class:"border rounded-lg p-2.5"},Js={class:"insights-chart-container"},Zs={class:"border rounded-lg p-2.5"},en={class:"insights-chart-container"},tn=X({__name:"InstanceInsightsActivitySection",props:{dashboard:{},isLoading:{type:Boolean},isActionLoading:{type:Boolean},onRefresh:{type:Function}},setup(n){ht([yt,xt,$t,Gt,jt,St,wt,kt]);const r=n,u=B({}),s=B({}),o=B({}),v=(l,a)=>{a!=null&&a.selected&&(l.value={...a.selected})},c=l=>v(u,l),x=l=>v(s,l),h=l=>v(o,l),m=B([]);re(()=>r.dashboard,l=>{if(!(l!=null&&l.capturedAt))return;const a=new Date(l.capturedAt).toLocaleTimeString(),d={capturedAt:l.capturedAt,label:a,sessionsTotal:l.sessions.total,sessionsActive:l.sessions.active,sessionsIdle:l.sessions.idle,tps:l.transactions.tps,commits:l.transactions.commitsPerSec,rollbacks:l.transactions.rollbacksPerSec,reads:l.blockIO.readsPerSec,hits:l.blockIO.hitsPerSec,hitRatio:l.blockIO.bufferHitRatio},T=m.value.findIndex(j=>j.capturedAt===d.capturedAt);if(T>=0){m.value[T]=d;return}m.value.push(d),m.value.length>80&&(m.value=m.value.slice(-80))},{immediate:!0,deep:!0});const _=I(()=>m.value.map((l,a)=>({...l,idx:a}))),$=l=>Object.keys(l).length?l:void 0,b=I(()=>({tooltip:{trigger:"axis"},legend:{top:0,selected:$(u.value)},dataset:[{id:"sessions_raw",source:_.value},{id:"sessions_filtered",fromDatasetId:"sessions_raw",transform:{type:"filter",config:{dimension:"idx",gte:0}}}],grid:{left:45,right:20,top:34,bottom:24},xAxis:{type:"category",boundaryGap:!1},yAxis:{type:"value"},series:[{name:"Total",type:"line",smooth:!0,datasetId:"sessions_filtered",encode:{x:"label",y:"sessionsTotal"}},{name:"Active",type:"line",smooth:!0,datasetId:"sessions_filtered",encode:{x:"label",y:"sessionsActive"}},{name:"Idle",type:"line",smooth:!0,datasetId:"sessions_filtered",encode:{x:"label",y:"sessionsIdle"}}]})),p=I(()=>({tooltip:{trigger:"axis"},legend:{top:0,selected:$(s.value)},dataset:[{id:"transactions_dataset",source:_.value}],grid:{left:45,right:20,top:34,bottom:24},xAxis:{type:"category",boundaryGap:!0},yAxis:[{type:"value",name:"TPS"},{type:"value",name:"Commit/Rollback"}],series:[{name:"TPS",type:"line",smooth:!0,yAxisIndex:0,datasetId:"transactions_dataset",encode:{x:"label",y:"tps"}},{name:"Commits/s",type:"bar",yAxisIndex:1,datasetId:"transactions_dataset",encode:{x:"label",y:"commits"}},{name:"Rollbacks/s",type:"bar",yAxisIndex:1,datasetId:"transactions_dataset",encode:{x:"label",y:"rollbacks"}}]})),S=I(()=>({tooltip:{trigger:"axis"},legend:{top:0,selected:$(o.value)},dataset:[{id:"block_io_dataset",source:_.value}],grid:{left:45,right:20,top:34,bottom:24},xAxis:{type:"category",boundaryGap:!0},yAxis:[{type:"value",name:"Blocks/s"},{type:"value",name:"Hit %",min:0,max:100}],series:[{name:"Reads/s",type:"bar",yAxisIndex:0,datasetId:"block_io_dataset",encode:{x:"label",y:"reads"}},{name:"Hits/s",type:"bar",yAxisIndex:0,datasetId:"block_io_dataset",encode:{x:"label",y:"hits"}},{name:"Buffer Hit Ratio",type:"line",smooth:!0,yAxisIndex:1,datasetId:"block_io_dataset",encode:{x:"label",y:"hitRatio"}}]}));return(l,a)=>{var j,R,F,U,q,k,M,z,y,L,K,A,P,Q,Z,ae,ve,C,D,Y,W;const d=me,T=ce;return f(),g("div",Wt,[e("div",Yt,[a[2]||(a[2]=e("div",null,[e("h3",{class:"text-sm font-medium"},"Activity Dashboard"),e("p",{class:"text-xs text-muted-foreground"}," Sessions, TPS, tuples and block I/O ")],-1)),w(T,{variant:"outline",size:"xs",disabled:l.isLoading||l.isActionLoading,class:"font-normal",onClick:a[0]||(a[0]=ye=>l.onRefresh())},{default:E(()=>[w(d,{name:"hugeicons:redo",class:oe(["size-4",l.isLoading&&"animate-spin"])},null,8,["class"]),a[1]||(a[1]=N(" Refresh Activity "))]),_:1},8,["disabled"])]),(j=l.dashboard)!=null&&j.sessions.exceedsThreshold?(f(),g("div",Jt,[a[3]||(a[3]=N(" Total connections are at ")),e("strong",null,i(t(ke)(l.dashboard.sessions.usagePercent)),1),a[4]||(a[4]=N(" of ")),a[5]||(a[5]=e("strong",null,"max_connections",-1)),a[6]||(a[6]=N(". Investigate connection pool usage. "))])):O("",!0),e("div",Zt,[e("div",es,[e("div",ts,[a[7]||(a[7]=e("p",{class:"text-xs uppercase text-muted-foreground"},"Sessions:",-1)),e("p",ss,i(t(de)((R=l.dashboard)==null?void 0:R.sessions.total)),1)]),e("div",ns,[e("p",os,[a[8]||(a[8]=e("span",null,"Active: ",-1)),e("span",as,i(t(de)((F=l.dashboard)==null?void 0:F.sessions.active)),1)]),e("p",is,[a[9]||(a[9]=e("span",null,"Idle: ",-1)),e("span",rs,i(t(de)((U=l.dashboard)==null?void 0:U.sessions.idle)),1)]),e("p",ls,[a[10]||(a[10]=e("span",null,"Max: ",-1)),e("span",ds,i(t(de)((q=l.dashboard)==null?void 0:q.sessions.maxConnections)),1)]),e("p",us,[a[11]||(a[11]=e("span",null,"Usage: ",-1)),e("span",cs,i(t(ke)((k=l.dashboard)==null?void 0:k.sessions.usagePercent)),1)])])]),e("div",ms,[e("div",ps,[a[12]||(a[12]=e("p",{class:"text-xs uppercase text-muted-foreground"},"TPS:",-1)),e("p",fs,i(t(ie)((M=l.dashboard)==null?void 0:M.transactions.tps)),1)]),e("div",gs,[e("p",vs,[a[13]||(a[13]=e("span",null,"Commits/sec: ",-1)),e("span",bs,i(t(ie)((z=l.dashboard)==null?void 0:z.transactions.commitsPerSec)),1)]),e("p",_s,[a[14]||(a[14]=e("span",null,"Rollbacks/sec: ",-1)),e("span",hs,i(t(ie)((y=l.dashboard)==null?void 0:y.transactions.rollbacksPerSec)),1)]),e("p",ys,[a[15]||(a[15]=e("span",null,"Total Commits: ",-1)),e("span",xs,i(t(de)((L=l.dashboard)==null?void 0:L.transactions.totalCommits)),1)]),e("p",$s,[a[16]||(a[16]=e("span",null,"Total Rollbacks: ",-1)),e("span",Ss,i(t(de)((K=l.dashboard)==null?void 0:K.transactions.totalRollbacks)),1)])])]),e("div",ws,[e("div",ks,[a[17]||(a[17]=e("p",{class:"text-xs uppercase text-muted-foreground"},"Tuples:",-1)),e("p",Is,i(t(ie)((A=l.dashboard)==null?void 0:A.tuples.insertsPerSec)),1)]),e("div",Cs,[e("p",Ts,[a[18]||(a[18]=e("span",null,"Updates: ",-1)),e("span",Ls,i(t(ie)((P=l.dashboard)==null?void 0:P.tuples.updatesPerSec)),1)]),e("p",Rs,[a[19]||(a[19]=e("span",null,"Deletes: ",-1)),e("span",As,i(t(ie)((Q=l.dashboard)==null?void 0:Q.tuples.deletesPerSec)),1)]),e("p",Ps,[a[20]||(a[20]=e("span",null,"Fetched: ",-1)),e("span",Bs,i(t(ie)((Z=l.dashboard)==null?void 0:Z.tuples.fetchedPerSec)),1)]),e("p",Ds,[a[21]||(a[21]=e("span",null,"Returned: ",-1)),e("span",Es,i(t(ie)((ae=l.dashboard)==null?void 0:ae.tuples.returnedPerSec)),1)])])]),e("div",Ns,[e("div",Ms,[a[22]||(a[22]=e("p",{class:"text-xs uppercase text-muted-foreground"},"Block I/O:",-1)),e("p",Os,i(t(ke)((ve=l.dashboard)==null?void 0:ve.blockIO.bufferHitRatio)),1)]),e("div",Fs,[e("p",zs,[a[23]||(a[23]=e("span",null,"Reads/sec: ",-1)),e("span",Hs,i(t(ie)((C=l.dashboard)==null?void 0:C.blockIO.readsPerSec)),1)]),e("p",Vs,[a[24]||(a[24]=e("span",null,"Hits/sec: ",-1)),e("span",js,i(t(ie)((D=l.dashboard)==null?void 0:D.blockIO.hitsPerSec)),1)]),e("p",Ks,[a[25]||(a[25]=e("span",null,"Total Reads: ",-1)),e("span",Us,i(t(de)((Y=l.dashboard)==null?void 0:Y.blockIO.totalReads)),1)]),e("p",Gs,[a[26]||(a[26]=e("span",null,"Total Hits: ",-1)),e("span",qs,i(t(de)((W=l.dashboard)==null?void 0:W.blockIO.totalHits)),1)])])])]),e("div",Qs,[e("div",Xs,[a[27]||(a[27]=e("p",{class:"text-sm font-medium mb-1.5"},"Sessions Timeline",-1)),e("div",Ws,[w(t(we),{option:t(b),autoresize:"",class:"insights-chart",onLegendselectchanged:c},null,8,["option"])])]),e("div",Ys,[a[28]||(a[28]=e("p",{class:"text-sm font-medium mb-1.5"},"Transactions Timeline",-1)),e("div",Js,[w(t(we),{option:t(p),autoresize:"",class:"insights-chart",onLegendselectchanged:x},null,8,["option"])])])]),e("div",Zs,[a[29]||(a[29]=e("p",{class:"text-sm font-medium mb-1.5"},"Block I/O Timeline",-1)),e("div",en,[w(t(we),{option:t(S),autoresize:"",class:"insights-chart",onLegendselectchanged:h},null,8,["option"])])])])}}}),sn=He(tn,[["__scopeId","data-v-ba36a884"]]),nn={class:"space-y-4 h-full flex flex-col overflow-auto"},on={class:"flex items-center justify-between gap-2 flex-wrap"},an={class:"h-full"},rn={class:"flex flex-col sm:flex-row sm:items-center gap-2 mb-2"},ln={class:"relative flex-1"},dn=X({__name:"InstanceInsightsConfigurationSection",props:{configuration:{},search:{},isLoading:{type:Boolean},isActionLoading:{type:Boolean},onRefresh:{type:Function}},emits:["update:search"],setup(n,{emit:r}){const u=n,s=r,o=I({get:()=>u.search,set:_=>s("update:search",_)}),v=I(()=>{var _;return((_=u.configuration)==null?void 0:_.rows)||[]}),c=I(()=>v.value.map(_=>({name:_.name,category:_.category,value:_.value,unit:_.unit||"-",requires_restart:_.pendingRestart?"yes":"no",description:_.description}))),x=I(()=>_e(c.value)),h=I(()=>pe({columns:x.value,rows:c.value,columnKeyBy:"field"})),m=I(()=>fe(c.value));return(_,$)=>{const b=me,p=ce,S=Ve,l=Se;return f(),g("div",nn,[e("div",on,[$[3]||($[3]=e("div",null,[e("h3",{class:"text-sm font-medium"},"Configuration"),e("p",{class:"text-xs text-muted-foreground"},"Searchable pg_settings")],-1)),w(p,{variant:"outline",size:"xs",disabled:_.isLoading||_.isActionLoading,class:"font-normal",onClick:$[0]||($[0]=a=>_.onRefresh())},{default:E(()=>[w(b,{name:"hugeicons:redo",class:oe(["size-4",_.isLoading&&"animate-spin"])},null,8,["class"]),$[2]||($[2]=N(" Refresh Configuration "))]),_:1},8,["disabled"])]),e("div",an,[e("div",rn,[e("div",ln,[w(b,{name:"hugeicons:search-01",class:"size-4 absolute left-2.5 top-1/2 -translate-y-1/2 text-muted-foreground"}),w(S,{type:"text",placeholder:"Search setting name, category, or description...",class:"h-8 w-full pl-8 pr-3",modelValue:t(o),"onUpdate:modelValue":$[1]||($[1]=a=>le(o)?o.value=a:null)},null,8,["modelValue"])])]),w(l,{"column-defs":t(h),"row-data":t(m),"column-types":t(ge),class:"h-full border rounded-md"},null,8,["column-defs","row-data","column-types"])])])}}}),un={class:"space-y-4"},cn={class:"flex items-center justify-between"},mn={key:0,class:"border border-orange-300 bg-orange-50 text-orange-700 rounded-lg p-3 text-sm"},pn={class:"space-y-1.5"},fn={class:"space-y-1.5"},gn={key:1,class:"border rounded-lg p-2.5"},vn={class:"flex items-center justify-between gap-3 flex-wrap"},bn={class:"text-sm font-medium"},_n={class:"flex items-center gap-2"},hn=300,yn=120,xn=44,$n=36,Sn=X({__name:"InstanceInsightsReplicationSection",props:{replication:{},isLoading:{type:Boolean},isActionLoading:{type:Boolean},onRefresh:{type:Function},onToggleSlotStatus:{type:Function},onDropSlot:{type:Function}},setup(n){const r=n,u=I(()=>{var k;return((k=r.replication)==null?void 0:k.replicationStats)||[]}),s=I(()=>{var k;return((k=r.replication)==null?void 0:k.replicationSlots)||[]}),o=B([]),v=k=>{o.value=k},c=I(()=>u.value.map(k=>({pid:k.pid,client_addr:k.clientAddr||"-",application:k.applicationName||"-",state:k.state||"-",sync_state:k.syncState||"-",reply_time:he(k.replyTime),write_lag:k.writeLag||"-",flush_lag:k.flushLag||"-",replay_lag:k.replayLag||"-"}))),x=["pid","client_addr","application","state","sync_state","reply_time","write_lag","flush_lag","replay_lag"],h=I(()=>c.value.length>0?_e(c.value):Qe(x)),m=I(()=>pe({columns:h.value,rows:c.value,columnKeyBy:"field"})),_=I(()=>fe(c.value)),$=I(()=>s.value.map(k=>({slot_name:k.slotName,slot_type:k.slotType,status:k.active?"on":"off",active_pid:k.activePid??"-",restart_lsn:k.restartLsn||"-",retained_wal:qt(k.retainedBytes),temporary:k.temporary?"yes":"no"}))),b=I(()=>_e($.value)),p=I(()=>pe({columns:b.value,rows:$.value,columnKeyBy:"field"})),S=I(()=>fe($.value)),l=k=>k<=0?yn:Math.min(hn,xn+k*$n),a=I(()=>`${l(c.value.length)}px`),d=I(()=>`${l($.value.length)}px`),T=I(()=>{var M;const k=String(((M=o.value[0])==null?void 0:M.slot_name)||"");return k&&s.value.find(z=>z.slotName===k)||null}),j=I(()=>{var k;return(k=T.value)!=null&&k.active?"off":"on"}),R=I(()=>j.value==="off"?"Turn Off Slot":"Turn On Slot"),F=k=>window.confirm(k),U=async()=>{T.value&&F(`Drop replication slot "${T.value.slotName}"? This action cannot be undone.`)&&await r.onDropSlot(T.value.slotName)},q=async()=>{T.value&&F(`Switch replication slot "${T.value.slotName}" to ${j.value.toUpperCase()} status?`)&&await r.onToggleSlotStatus({slotName:T.value.slotName,desiredStatus:j.value,activePid:T.value.activePid,slotType:T.value.slotType})};return(k,M)=>{var K;const z=me,y=ce,L=Se;return f(),g("div",un,[e("div",cn,[M[2]||(M[2]=e("div",null,[e("h3",{class:"text-sm font-medium"},"Replication"),e("p",{class:"text-xs text-muted-foreground"},"Replication stats and slots")],-1)),w(y,{variant:"outline",size:"xs",disabled:k.isLoading||k.isActionLoading,class:"font-normal",onClick:M[0]||(M[0]=A=>k.onRefresh())},{default:E(()=>[w(z,{name:"hugeicons:redo",class:oe(["size-4",k.isLoading&&"animate-spin"])},null,8,["class"]),M[1]||(M[1]=N(" Refresh Replication "))]),_:1},8,["disabled"])]),(K=k.replication)!=null&&K.staleSlotWarning?(f(),g("div",mn,i(k.replication.staleSlotWarning),1)):O("",!0),e("div",pn,[M[3]||(M[3]=e("p",{class:"text-sm"},"Replication Stats",-1)),e("div",{class:"max-h-[300px] min-h-[200px]",style:Ie({height:t(a)})},[w(L,{"column-defs":t(m),"row-data":t(_),"column-types":t(ge),class:"h-full border rounded-md"},null,8,["column-defs","row-data","column-types"])],4)]),e("div",fn,[M[4]||(M[4]=e("h4",{class:"text-sm font-normal"},"Replication Slots",-1)),e("div",{class:"max-h-[300px] min-h-[200px]",style:Ie({height:t(d)})},[w(L,{"column-defs":t(p),"row-data":t(S),"column-types":t(ge),"selected-rows":t(o),class:"h-full border rounded-md",onSelectionChanged:v},null,8,["column-defs","row-data","column-types","selected-rows"])],4)]),t(T)?(f(),g("div",gn,[e("div",vn,[e("p",bn," Selected Slot: "+i(t(T).slotName)+" ("+i(t(T).active?"on":"off")+") · Active PID: "+i(t(T).activePid??"-"),1),e("div",_n,[w(y,{variant:"outline",size:"sm",disabled:k.isActionLoading,onClick:q},{default:E(()=>[N(i(t(R)),1)]),_:1},8,["disabled"]),w(y,{variant:"outline",size:"sm",disabled:k.isActionLoading,onClick:U},{default:E(()=>M[5]||(M[5]=[N(" Drop Slot ")])),_:1},8,["disabled"])])])])):O("",!0)])}}}),wn={class:"space-y-4"},kn={class:"flex items-center justify-between"},In={class:"space-y-1.5"},Cn={class:"h-[360px]"},Tn={key:0,class:"border rounded-lg p-2.5 space-y-2"},Ln={class:"flex items-center justify-between gap-3 flex-wrap"},Rn={class:"text-sm font-medium"},An={class:"flex gap-2"},Pn=["innerHTML"],Bn={class:"grid grid-cols-1 xl:grid-cols-2 gap-3"},Dn={class:"space-y-1.5"},En={class:"h-[300px]"},Nn={class:"space-y-1.5"},Mn={class:"h-[300px]"},On=X({__name:"InstanceInsightsStateSection",props:{state:{},isLoading:{type:Boolean},isActionLoading:{type:Boolean},onRefresh:{type:Function},onCancelQuery:{type:Function},onTerminateConnection:{type:Function}},setup(n){const r=n,{highlightSql:u}=Ct(),s=I(()=>{var y;return((y=r.state)==null?void 0:y.sessions)||[]}),o=I(()=>{var y;return((y=r.state)==null?void 0:y.locks)||[]}),v=I(()=>{var y;return((y=r.state)==null?void 0:y.preparedTransactions)||[]}),c=B([]),x=y=>{c.value=y},h=I(()=>s.value.map(y=>({pid:y.pid,user:y.user,application:y.application||"-",client:y.client||"-",state:y.state||"-",wait_event:y.waitEvent||"-",blocking_pids:y.blockingPids.length?y.blockingPids.join(", "):"-",backend_start:he(y.backendStart),transaction_start:he(y.transactionStart),query_duration:We(y.durationSeconds),sql:Qt(y.sql)}))),m=I(()=>_e(h.value)),_=I(()=>pe({columns:m.value,rows:h.value,columnKeyBy:"field",getCellClass:q})),$=I(()=>fe(h.value)),b=I(()=>o.value.map(y=>({lock_type:y.lockType,target_relation:y.targetRelation||"-",mode:y.mode,granted:y.granted?"yes":"no",pid:y.pid??"-",user:y.user||"-",state:y.state||"-"}))),p=I(()=>_e(b.value)),S=I(()=>pe({columns:p.value,rows:b.value,columnKeyBy:"field"})),l=I(()=>fe(b.value)),a=I(()=>v.value.map(y=>({gid:y.gid,transaction:y.transaction,prepared:he(y.prepared),owner:y.owner,database:y.database}))),d=I(()=>_e(a.value)),T=I(()=>pe({columns:d.value,rows:a.value,columnKeyBy:"field"})),j=I(()=>fe(a.value)),R=I(()=>{var L;const y=Number(((L=c.value[0])==null?void 0:L.pid)||0);return y&&s.value.find(K=>K.pid===y)||null}),F=y=>{if(!y||!y.trim())return"<pre><code>-</code></pre>";const L=y.replace(/\s+/g," ").trim(),K=L.length>900?`${L.slice(0,900)} ...`:L;return u(K)},U=I(()=>{var y;return F(((y=R.value)==null?void 0:y.sql)||null)}),q=(y,L)=>{const K=String(L.state||"");return Xt(K)?"insights-danger-cell":void 0},k=y=>window.confirm(y),M=async()=>{R.value&&k(`Cancel query for PID ${R.value.pid}?`)&&await r.onCancelQuery(R.value.pid)},z=async()=>{R.value&&k(`Terminate connection for PID ${R.value.pid}?`)&&await r.onTerminateConnection(R.value.pid)};return(y,L)=>{const K=me,A=ce,P=Se;return f(),g("div",wn,[e("div",kn,[L[2]||(L[2]=e("div",null,[e("h3",{class:"text-sm font-medium"},"State"),e("p",{class:"text-xs text-muted-foreground"}," Active sessions, locks, prepared transactions ")],-1)),w(A,{variant:"outline",size:"xs",disabled:y.isLoading||y.isActionLoading,class:"font-normal",onClick:L[0]||(L[0]=Q=>y.onRefresh())},{default:E(()=>[w(K,{name:"hugeicons:redo",class:oe(["size-4",y.isLoading&&"animate-spin"])},null,8,["class"]),L[1]||(L[1]=N(" Refresh State "))]),_:1},8,["disabled"])]),e("div",In,[L[3]||(L[3]=e("h4",{class:"text-sm font-normal"},"Active Sessions",-1)),e("div",Cn,[w(P,{"column-defs":t(_),"row-data":t($),"column-types":t(ge),"selected-rows":t(c),class:"h-full border rounded-md",onSelectionChanged:x},null,8,["column-defs","row-data","column-types","selected-rows"])])]),t(R)?(f(),g("div",Tn,[e("div",Ln,[e("p",Rn," Selected PID: "+i(t(R).pid)+" ("+i(t(R).state||"-")+") ",1),e("div",An,[w(A,{variant:"outline",size:"sm",disabled:y.isActionLoading,onClick:M},{default:E(()=>L[4]||(L[4]=[N(" Cancel Query ")])),_:1},8,["disabled"]),w(A,{variant:"outline",size:"sm",disabled:y.isActionLoading,onClick:z},{default:E(()=>L[5]||(L[5]=[N(" Terminate Connection ")])),_:1},8,["disabled"])])]),e("div",null,[L[6]||(L[6]=e("p",{class:"text-xs text-muted-foreground mb-1"},"SQL Preview",-1)),e("div",{class:"sql-preview border rounded-md overflow-hidden",innerHTML:t(U)},null,8,Pn)])])):O("",!0),e("div",Bn,[e("div",Dn,[L[7]||(L[7]=e("h4",{class:"text-sm font-normal"},"Locks",-1)),e("div",En,[w(P,{"column-defs":t(S),"row-data":t(l),"column-types":t(ge),class:"h-full border rounded-md"},null,8,["column-defs","row-data","column-types"])])]),e("div",Nn,[L[8]||(L[8]=e("h4",{class:"text-sm font-normal"},"Prepared Transactions",-1)),e("div",Mn,[w(P,{"column-defs":t(T),"row-data":t(j),"column-types":t(ge),class:"h-full border rounded-md"},null,8,["column-defs","row-data","column-types"])])])])])}}}),Fn=He(On,[["__scopeId","data-v-07dc1849"]]),zn=5e3;function Hn(n){const r=B("activity"),u=B(!0),s=B(zn),o=B(null),v=B(!1),c=B(!1),x=B(!1),h=B(!1),m=B(!1),_=B(!1),$=B(null),b=B(null),p=B(null),S=B(null),l=B(""),a=Je(l,350),d=I(()=>!!n.value),T=B(!0);Ce(()=>{T.value=!1}),Te(()=>{T.value=!0});const j=()=>{o.value=null,$.value=null,b.value=null,p.value=null,S.value=null},R=async(C,D)=>{var Y;try{return o.value=null,await C()}catch(W){const ye=((Y=W==null?void 0:W.data)==null?void 0:Y.message)||(W==null?void 0:W.message)||(W==null?void 0:W.statusMessage)||D;return o.value=ye,null}},F=async(C={})=>{if(!d.value)return null;C.silent||(x.value=!0);const D=await R(async()=>await $fetch("/api/instance-insights/dashboard",{method:"POST",body:{...ne(n.value)}}),"Failed to fetch activity dashboard");return D&&($.value=D),C.silent||(x.value=!1),D},U=async(C={})=>{if(!d.value)return null;C.silent||(h.value=!0);const D=await R(async()=>await $fetch("/api/instance-insights/state",{method:"POST",body:{...ne(n.value)}}),"Failed to fetch active sessions and locks");return D&&(b.value=D),C.silent||(h.value=!1),D},q=async(C={})=>{if(!d.value)return null;C.silent||(m.value=!0);const D=await R(async()=>await $fetch("/api/instance-insights/configuration",{method:"POST",body:{...ne(n.value),search:a.value||void 0}}),"Failed to fetch PostgreSQL settings");return D&&(p.value=D),C.silent||(m.value=!1),D},k=async(C={})=>{if(!d.value)return null;C.silent||(_.value=!0);const D=await R(async()=>await $fetch("/api/instance-insights/replication",{method:"POST",body:{...ne(n.value)}}),"Failed to fetch replication status");return D&&(S.value=D),C.silent||(_.value=!1),D},M=async(C=r.value,D={})=>{switch(C){case"activity":await F(D);break;case"state":await Promise.all([F({silent:!0}),U(D)]);break;case"configuration":await Promise.all([F({silent:!0}),q(D)]);break;case"replication":await Promise.all([F({silent:!0}),k(D)]);break;default:await F(D);break}},z=async(C={})=>{await Promise.all([F(C),U(C),q(C),k(C)])},y=async(C,D)=>{if(!d.value)return!1;c.value=!0;const Y=await R(C,"Action failed");return c.value=!1,Y?(Y.success?be(D,{description:Y.message}):be(Y.message,{description:"The server did not complete this action."}),Y.success):(be(o.value||"Action failed",{description:"Check database permissions and try again."}),!1)},L=async C=>{await y(async()=>await $fetch("/api/instance-insights/cancel-query",{method:"POST",body:{...ne(n.value),pid:C}}),`Cancelled query for PID ${C}`)&&await U({silent:!0})},K=async C=>{await y(async()=>await $fetch("/api/instance-insights/terminate-connection",{method:"POST",body:{...ne(n.value),pid:C}}),`Terminated connection for PID ${C}`)&&(await U({silent:!0}),await F({silent:!0}))},A=async C=>{await y(async()=>await $fetch("/api/instance-insights/drop-slot",{method:"POST",body:{...ne(n.value),slotName:C}}),`Dropped replication slot "${C}"`)&&await k({silent:!0})},P=async C=>{await y(async()=>await $fetch("/api/instance-insights/toggle-slot-status",{method:"POST",body:{...ne(n.value),slotName:C.slotName,desiredStatus:C.desiredStatus,activePid:C.activePid??null,slotType:C.slotType??null}}),`Turned ${C.desiredStatus} slot "${C.slotName}"`)&&await k({silent:!0})},Q=async()=>{if(!d.value){j();return}v.value=!0,await z(),v.value=!1};re(()=>n.value,async C=>{if(!C){j();return}await Q()},{immediate:!0}),re(()=>a.value,async()=>{r.value!=="configuration"||!d.value||await q({silent:!0})}),re(()=>r.value,async C=>{d.value&&(C==="state"&&!b.value&&await U(),C==="configuration"&&!p.value&&await q(),C==="replication"&&!S.value&&await k())});const{pause:Z,resume:ae,isActive:ve}=Le(async()=>{!d.value||!T.value||await M(r.value,{silent:!0})},s,{immediate:!1});return re(()=>u.value,C=>{C?ae():Z()},{immediate:!0}),{activeSection:r,autoRefresh:u,isAutoRefreshRunning:ve,error:o,isInitialLoading:v,isActionLoading:c,isDashboardLoading:x,isStateLoading:h,isConfigurationLoading:m,isReplicationLoading:_,dashboard:$,state:b,configuration:p,replication:S,configurationSearch:l,refreshSection:M,refreshAll:z,fetchDashboard:F,fetchState:U,fetchConfiguration:q,fetchReplication:k,cancelQuery:L,terminateConnection:K,dropReplicationSlot:A,toggleReplicationSlotStatus:P}}const Vn={class:"flex flex-col h-full p-3 gap-3 overflow-hidden"},jn={class:"flex flex-col lg:flex-row lg:items-start lg:justify-between border rounded-lg p-3 gap-3 bg-background"},Kn={class:"space-y-1"},Un={class:"flex items-center gap-2"},Gn={class:"text-sm text-muted-foreground flex items-center gap-0.5"},qn={class:"flex items-center gap-0.5"},Qn={class:"font-medium text-foreground"},Xn={key:0,class:"flex items-center gap-1.5 mt-0.5"},Wn={class:"flex items-center gap-2 flex-wrap"},Yn={class:"text-xs flex items-center gap-2"},Jn={class:"flex items-center justify-between gap-2"},Zn={class:"text-xs text-muted-foreground"},eo={key:0,class:"border border-red-300 bg-red-50 text-red-700 rounded-lg p-3 text-sm"},to={key:1,class:"border rounded-lg p-6 flex items-center justify-center gap-2 text-muted-foreground"},so={key:2,class:"flex-1 overflow-y-auto border rounded-lg p-3 bg-background"},no=X({__name:"InstanceInsightsPanel",props:{dbConnectionString:{},databaseName:{},dbType:{}},setup(n){const r=[{id:"activity",tabLabel:"Activity",subtitle:"Sessions, TPS, tuples and block I/O",icon:"hugeicons:artificial-intelligence-08"},{id:"state",tabLabel:"State",subtitle:"Active sessions, locks, prepared transactions",icon:"hugeicons:shield-01"},{id:"configuration",tabLabel:"Config",subtitle:"Searchable pg_settings",icon:"hugeicons:settings-01"},{id:"replication",tabLabel:"Replication",subtitle:"Replication stats and slots",icon:"hugeicons:database"}],u=$e(),s=I(()=>u.selectedConnection),{activeSection:o,autoRefresh:v,error:c,isInitialLoading:x,isActionLoading:h,isDashboardLoading:m,isStateLoading:_,isConfigurationLoading:$,isReplicationLoading:b,dashboard:p,state:S,configuration:l,replication:a,configurationSearch:d,refreshSection:T,refreshAll:j,cancelQuery:R,terminateConnection:F,dropReplicationSlot:U,toggleReplicationSlotStatus:q}=Hn(s);I(()=>r.find(A=>A.id===o.value));const k=I(()=>{var A,P,Q,Z;return o.value==="activity"?(A=p.value)==null?void 0:A.capturedAt:o.value==="state"?(P=S.value)==null?void 0:P.capturedAt:o.value==="configuration"?(Q=l.value)==null?void 0:Q.capturedAt:(Z=a.value)==null?void 0:Z.capturedAt}),M=()=>T("activity"),z=()=>T("state"),y=()=>T("configuration"),L=()=>T("replication"),K=A=>q(A);return(A,P)=>{var W,ye;const Q=me,Z=xe,ae=Ae,ve=ce,C=De,D=Be,Y=Pe;return f(),g("div",Vn,[e("div",jn,[e("div",Kn,[e("div",Un,[w(Q,{name:"hugeicons:database",class:"size-5 text-primary"}),P[4]||(P[4]=e("h2",{class:"text-base font-medium"},"Instance Insights",-1))]),e("div",Gn,[P[5]||(P[5]=N(" connection: ")),e("div",qn,[A.dbType?(f(),J(Re((W=t(Ke)(A.dbType))==null?void 0:W.icon),{key:0,class:"size-4!"})):O("",!0),e("span",Qn,i(A.databaseName),1)])]),(ye=t(p))!=null&&ye.version?(f(),g("div",Xn,[w(Z,{variant:"outline",class:"text-xxs h-5 px-1.5 font-normal"},{default:E(()=>[N(" PostgreSQL "+i(t(p).version),1)]),_:1})])):O("",!0)]),e("div",Wn,[e("div",Yn,[w(ae,{id:"insights-auto-refresh","model-value":t(v),"onUpdate:modelValue":P[0]||(P[0]=ee=>le(v)?v.value=ee:null),class:"cursor-pointer"},null,8,["model-value"]),P[6]||(P[6]=e("label",{for:"insights-auto-refresh",class:"cursor-pointer"}," Auto refresh ",-1))]),w(ve,{variant:"outline",size:"sm",disabled:t(x)||t(h),onClick:P[1]||(P[1]=ee=>t(j)()),class:"font-normal"},{default:E(()=>[w(Q,{name:"hugeicons:redo",class:"size-4"}),P[7]||(P[7]=N(" Refresh All "))]),_:1},8,["disabled"])])]),e("div",Jn,[w(Y,{modelValue:t(o),"onUpdate:modelValue":P[2]||(P[2]=ee=>le(o)?o.value=ee:null),class:"gap-0 flex-1 min-w-0"},{default:E(()=>[w(D,{size:"sm",class:"max-w-full overflow-x-auto justify-start!"},{default:E(()=>[(f(),g(H,null,V(r,ee=>w(C,{size:"xs",key:ee.id,value:ee.id,class:"rounded-sm cursor-pointer min-w-fit shrink-0",onClick:gr=>t(T)(ee.id,{silent:!0})},{default:E(()=>[w(Q,{name:ee.icon,class:"size-3.5!"},null,8,["name"]),N(" "+i(ee.tabLabel),1)]),_:2},1032,["value","onClick"])),64))]),_:1})]),_:1},8,["modelValue"]),e("div",Zn," Last updated: "+i(t(he)(t(k))),1)]),t(c)?(f(),g("div",eo,i(t(c)),1)):O("",!0),t(x)&&!t(p)?(f(),g("div",to,[w(Q,{name:"hugeicons:redo",class:"size-4 animate-spin"}),P[8]||(P[8]=N(" Loading instance insights... "))])):(f(),g("div",so,[te(w(sn,{dashboard:t(p),isLoading:t(m),isActionLoading:t(h),onRefresh:M},null,8,["dashboard","isLoading","isActionLoading"]),[[se,t(o)==="activity"]]),te(w(Fn,{state:t(S),isLoading:t(_),isActionLoading:t(h),onRefresh:z,onCancelQuery:t(R),onTerminateConnection:t(F)},null,8,["state","isLoading","isActionLoading","onCancelQuery","onTerminateConnection"]),[[se,t(o)==="state"]]),te(w(dn,{search:t(d),"onUpdate:search":P[3]||(P[3]=ee=>le(d)?d.value=ee:null),configuration:t(l),isLoading:t($),isActionLoading:t(h),onRefresh:y},null,8,["search","configuration","isLoading","isActionLoading"]),[[se,t(o)==="configuration"]]),te(w(Sn,{replication:t(a),isLoading:t(b),isActionLoading:t(h),onRefresh:L,onDropSlot:t(U),onToggleSlotStatus:K},null,8,["replication","isLoading","isActionLoading","onDropSlot"]),[[se,t(o)==="replication"]])]))])}}}),oo={key:0,class:"space-y-4"},ao={class:"flex items-start justify-between gap-3 flex-wrap"},io={class:"text-sm font-medium"},ro={class:"text-xs text-muted-foreground"},lo={key:1,class:"flex gap-2 flex-wrap"},uo={key:2,class:"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-4 gap-2.5"},co={class:"text-xs uppercase text-muted-foreground"},mo={class:"text-sm font-semibold leading-none tabular-nums"},po={key:0,class:"text-[11px] text-muted-foreground"},fo={key:3,class:"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-2.5"},go={class:"text-xs uppercase text-muted-foreground"},vo={class:"text-sm font-medium leading-tight break-words"},bo={key:0,class:"text-[11px] text-muted-foreground"},_o={key:4,class:"space-y-2"},ho={class:"font-medium"},yo={class:"text-xs mt-1"},xo={class:"text-sm font-normal"},$o={key:0,class:"text-xs text-muted-foreground"},So={key:0,class:"text-xs text-muted-foreground"},wo=360,ko=120,Io=44,Co=36,To=X({__name:"InstanceInsightsSectionRenderer",props:{section:{},search:{}},setup(n){const r=n,u=I(()=>{var m;return((m=r.search)==null?void 0:m.trim().toLowerCase())||""}),s=I(()=>r.section?!r.section.searchable||!u.value?r.section.tables||[]:(r.section.tables||[]).map(m=>({...m,rows:m.rows.filter(_=>Object.values(_).some($=>String($??"").toLowerCase().includes(u.value)))})):[]),o=m=>m<=0?ko:Math.min(wo,Io+m*Co),v=m=>m==="supported"?"border-emerald-300 bg-emerald-50 text-emerald-700":m==="conditional"?"border-amber-300 bg-amber-50 text-amber-700":"border-slate-300 bg-slate-50 text-slate-700",c=m=>m==="success"?"border-emerald-200 bg-emerald-50":m==="warning"?"border-amber-200 bg-amber-50":m==="danger"?"border-red-200 bg-red-50":m==="info"?"border-sky-200 bg-sky-50":"border-border bg-background",x=m=>m==="unsupported"?"border-amber-300 bg-amber-50 text-amber-700":m==="unavailable"?"border-red-300 bg-red-50 text-red-700":"border-emerald-300 bg-emerald-50 text-emerald-700",h=m=>m==="pass"?"border-emerald-200 bg-emerald-50 text-emerald-700":m==="warn"?"border-amber-200 bg-amber-50 text-amber-700":m==="fail"?"border-red-200 bg-red-50 text-red-700":"border-sky-200 bg-sky-50 text-sky-700";return(m,_)=>{var p,S,l,a;const $=xe,b=Se;return m.section?(f(),g("div",oo,[e("div",ao,[e("div",null,[e("h3",io,i(m.section.title),1),e("p",ro,i(m.section.subtitle),1)]),w($,{class:oe(x(m.section.status)),variant:"outline"},{default:E(()=>[N(i(m.section.status),1)]),_:1},8,["class"])]),m.section.statusMessage?(f(),g("div",{key:0,class:oe(["border rounded-lg p-3 text-sm",x(m.section.status)])},i(m.section.statusMessage),3)):O("",!0),(p=m.section.actions)!=null&&p.length?(f(),g("div",lo,[(f(!0),g(H,null,V(m.section.actions,d=>(f(),J($,{key:d.id,class:oe(v(d.state)),variant:"outline"},{default:E(()=>[N(i(d.label)+" · "+i(d.state),1)]),_:2},1032,["class"]))),128))])):O("",!0),(S=m.section.cards)!=null&&S.length?(f(),g("div",uo,[(f(!0),g(H,null,V(m.section.cards,d=>(f(),g("div",{key:d.id,class:oe(["h-full border rounded-lg p-2.5 space-y-1.5",c(d.tone)])},[e("p",co,i(d.label),1),e("p",mo,i(d.value),1),d.helperText?(f(),g("p",po,i(d.helperText),1)):O("",!0)],2))),128))])):O("",!0),(l=m.section.details)!=null&&l.length?(f(),g("div",fo,[(f(!0),g(H,null,V(m.section.details,d=>(f(),g("div",{key:`${d.label}-${d.value}`,class:oe(["border rounded-lg p-2.5 space-y-1",c(d.tone)])},[e("p",go,i(d.label),1),e("p",vo,i(d.value),1),d.helperText?(f(),g("p",bo,i(d.helperText),1)):O("",!0)],2))),128))])):O("",!0),(a=m.section.checks)!=null&&a.length?(f(),g("div",_o,[(f(!0),g(H,null,V(m.section.checks,d=>(f(),g("div",{key:d.id,class:oe(["border rounded-lg p-3 text-sm",h(d.status)])},[e("p",ho,i(d.label),1),e("p",yo,i(d.detail),1)],2))),128))])):O("",!0),(f(!0),g(H,null,V(t(s),d=>(f(),g("div",{key:d.id,class:"space-y-1.5"},[e("div",null,[e("h4",xo,i(d.title),1),d.description?(f(),g("p",$o,i(d.description),1)):O("",!0)]),e("div",{class:"max-h-[360px]",style:Ie({height:`${o(d.rows.length)}px`})},[w(b,{"column-defs":t(pe)({columns:t(Qe)(d.columns.map(T=>T.key)),rows:d.rows,columnKeyBy:"field"}),"row-data":t(fe)(d.rows),"column-types":t(ge),class:"h-full border rounded-md"},null,8,["column-defs","row-data","column-types"])],4),d.emptyMessage&&d.rows.length===0?(f(),g("p",So,i(d.emptyMessage),1)):O("",!0)]))),128))])):O("",!0)}}}),Lo=5e3;function Ro(n){const r=B(null),u=B("overview"),s=B(!0),o=B(""),v=B(null),c=B(!1),x=B(!1),h=I(()=>!!n.value),m=B(!0);Ce(()=>{m.value=!1}),Te(()=>{m.value=!0});const _=()=>{v.value=null,r.value=null,o.value="",u.value="overview"},$=async(d={})=>{var T,j;if(!h.value)return _(),null;d.silent||(x.value=!0);try{v.value=null;const R=await $fetch("/api/instance-insights/view",{method:"POST",body:{...ne(n.value)}});return r.value=R,R.sections.some(F=>F.id===u.value)||(u.value=((T=R.sections[0])==null?void 0:T.id)||"overview"),R}catch(R){const F=((j=R==null?void 0:R.data)==null?void 0:j.message)||(R==null?void 0:R.message)||(R==null?void 0:R.statusMessage)||"Failed to fetch instance insights";return v.value=F,null}finally{d.silent||(x.value=!1)}},b=async(d=u.value,T={})=>$(T),p=async(d={})=>$(d),S=async()=>{if(!h.value){_();return}c.value=!0,await $(),c.value=!1};re(()=>n.value,async d=>{if(!d){_();return}await S()},{immediate:!0});const{pause:l,resume:a}=Le(async()=>{!h.value||!m.value||await $({silent:!0})},Lo,{immediate:!1});return re(()=>s.value,d=>{d?a():l()},{immediate:!0}),{view:r,activeSection:u,autoRefresh:s,configurationSearch:o,error:v,isInitialLoading:c,isViewLoading:x,refreshSection:b,refreshAll:p}}const Ao={class:"flex flex-col h-full p-3 gap-3 overflow-hidden"},Po={class:"flex flex-col lg:flex-row lg:items-start lg:justify-between border rounded-lg p-3 gap-3 bg-background"},Bo={class:"space-y-2"},Do={class:"space-y-1"},Eo={class:"flex items-center gap-2"},No={class:"text-sm text-muted-foreground flex items-center gap-0.5"},Mo={class:"flex items-center gap-0.5"},Oo={class:"font-medium text-foreground"},Fo={key:0,class:"flex items-center gap-1.5 mt-0.5"},zo={key:0,class:"flex gap-2 flex-wrap"},Ho={class:"flex items-center gap-2 flex-wrap"},Vo={class:"text-xs flex items-center gap-2"},jo={class:"flex items-center justify-between gap-2"},Ko={class:"text-xs text-muted-foreground"},Uo={key:0,class:"border rounded-lg p-3 bg-background"},Go={class:"relative"},qo={key:1,class:"border border-red-300 bg-red-50 text-red-700 rounded-lg p-3 text-sm"},Qo={key:2,class:"border rounded-lg p-6 flex items-center justify-center gap-2 text-muted-foreground"},Xo={key:3,class:"flex-1 overflow-y-auto border rounded-lg p-3 bg-background"},Wo=X({__name:"MultiDbInstanceInsightsPanel",props:{dbConnectionString:{},databaseName:{},dbType:{}},setup(n){const r=$e(),{selectedConnection:u}=je(r),{view:s,activeSection:o,autoRefresh:v,configurationSearch:c,error:x,isInitialLoading:h,isViewLoading:m,refreshSection:_,refreshAll:$}=Ro(u),b=I(()=>{var l;return((l=s.value)==null?void 0:l.sections.find(a=>a.id===o.value))||null}),p=I(()=>{var l,a;return((l=b.value)==null?void 0:l.capturedAt)||((a=s.value)==null?void 0:a.capturedAt)||null}),S=l=>l==="supported"?"border-emerald-300 bg-emerald-50 text-emerald-700":l==="conditional"?"border-amber-300 bg-amber-50 text-amber-700":"border-slate-300 bg-slate-50 text-slate-700";return(l,a)=>{var M,z,y,L,K;const d=me,T=xe,j=Ae,R=ce,F=De,U=Be,q=Pe,k=Ve;return f(),g("div",Ao,[e("div",Po,[e("div",Bo,[e("div",Do,[e("div",Eo,[w(d,{name:"hugeicons:database",class:"size-5 text-primary"}),a[4]||(a[4]=e("h2",{class:"text-base font-medium"},"Instance Insights",-1))]),e("div",No,[a[5]||(a[5]=N(" connection: ")),e("div",Mo,[l.dbType?(f(),J(Re((M=t(Ke)(l.dbType))==null?void 0:M.icon),{key:0,class:"size-4!"})):O("",!0),e("span",Oo,i(l.databaseName),1)])]),(z=t(s))!=null&&z.version?(f(),g("div",Fo,[w(T,{variant:"outline",class:"text-xxs h-5 px-1.5 font-normal"},{default:E(()=>[N(i(l.dbType===t(ue).MARIADB?"MariaDB":l.dbType===t(ue).ORACLE?"Oracle":l.dbType===t(ue).SQLITE3?"SQLite":"MySQL")+" "+i(t(s).version),1)]),_:1})])):O("",!0)]),(L=(y=t(s))==null?void 0:y.actions)!=null&&L.length?(f(),g("div",zo,[(f(!0),g(H,null,V(t(s).actions,A=>(f(),J(T,{key:A.id,class:oe(S(A.state)),variant:"outline"},{default:E(()=>[N(i(A.label)+" · "+i(A.state),1)]),_:2},1032,["class"]))),128))])):O("",!0)]),e("div",Ho,[e("div",Vo,[w(j,{id:"insights-auto-refresh","model-value":t(v),"onUpdate:modelValue":a[0]||(a[0]=A=>le(v)?v.value=A:null),class:"cursor-pointer"},null,8,["model-value"]),a[6]||(a[6]=e("label",{for:"insights-auto-refresh",class:"cursor-pointer"}," Auto refresh ",-1))]),w(R,{variant:"outline",size:"sm",disabled:t(h)||t(m),class:"font-normal",onClick:a[1]||(a[1]=A=>t($)())},{default:E(()=>[w(d,{name:"hugeicons:redo",class:"size-4"}),a[7]||(a[7]=N(" Refresh All "))]),_:1},8,["disabled"])])]),e("div",jo,[w(q,{modelValue:t(o),"onUpdate:modelValue":a[2]||(a[2]=A=>le(o)?o.value=A:null),class:"gap-0 flex-1 min-w-0"},{default:E(()=>[w(U,{size:"sm",class:"max-w-full overflow-x-auto justify-start!"},{default:E(()=>{var A;return[(f(!0),g(H,null,V(((A=t(s))==null?void 0:A.sections)||[],P=>(f(),J(F,{size:"xs",key:P.id,value:P.id,class:"rounded-sm cursor-pointer min-w-fit shrink-0",onClick:Q=>t(_)(P.id,{silent:!0})},{default:E(()=>[N(i(P.title),1)]),_:2},1032,["value","onClick"]))),128))]}),_:1})]),_:1},8,["modelValue"]),e("div",Ko," Last updated: "+i(t(he)(t(p))),1)]),(K=t(b))!=null&&K.searchable?(f(),g("div",Uo,[e("div",Go,[w(d,{name:"hugeicons:search-01",class:"size-4 absolute left-2.5 top-1/2 -translate-y-1/2 text-muted-foreground"}),w(k,{modelValue:t(c),"onUpdate:modelValue":a[3]||(a[3]=A=>le(c)?c.value=A:null),type:"text",placeholder:t(b).searchPlaceholder||"Search...",class:"h-8 w-full pl-8 pr-3"},null,8,["modelValue","placeholder"])])])):O("",!0),t(x)?(f(),g("div",qo,i(t(x)),1)):O("",!0),t(h)&&!t(s)?(f(),g("div",Qo,[w(d,{name:"hugeicons:redo",class:"size-4 animate-spin"}),a[8]||(a[8]=N(" Loading instance insights... "))])):(f(),g("div",Xo,[w(To,{section:t(b),search:t(c)},null,8,["section","search"])]))])}}}),Yo={class:"space-y-4"},Jo={class:"grid gap-3 md:grid-cols-2"},Zo={class:"rounded-lg border p-3"},ea={class:"mt-1 text-lg font-medium"},ta={class:"rounded-lg border p-3"},sa={class:"mt-1 text-lg font-medium"},na={key:0,class:"rounded-lg border p-3"},oa={class:"mt-3 space-y-2 text-xs"},aa={class:"rounded-lg border p-3"},ia={class:"mt-3 space-y-2 text-xs"},ra={class:"flex items-start justify-between gap-3"},la={class:"font-medium"},da={class:"text-muted-foreground"},ua={class:"text-muted-foreground"},ca=X({__name:"RedisClientsSection",props:{clients:{},isActionLoading:{type:Boolean}},emits:["kill-client"],setup(n,{emit:r}){const u=r,s=new Intl.NumberFormat;function o(v){return v==null||v===""?"0":s.format(Number(v))}return(v,c)=>{var h,m,_,$,b;const x=ce;return f(),g("div",Yo,[e("div",Jo,[e("div",Zo,[c[0]||(c[0]=e("p",{class:"text-xs text-muted-foreground"},"Connected clients",-1)),e("p",ea,i(o((h=v.clients)==null?void 0:h.connectedClients)),1)]),e("div",ta,[c[1]||(c[1]=e("p",{class:"text-xs text-muted-foreground"},"Suspicious clients",-1)),e("p",sa,i(o((((m=v.clients)==null?void 0:m.suspiciousClients)||[]).length)),1)])]),(((_=v.clients)==null?void 0:_.suspiciousClients)||[]).length?(f(),g("div",na,[c[2]||(c[2]=e("h3",{class:"text-sm font-medium"},"Suspicious clients",-1)),e("div",oa,[(f(!0),g(H,null,V((($=v.clients)==null?void 0:$.suspiciousClients)||[],p=>(f(),g("div",{key:`${p.clientId}-${p.reason}`,class:"rounded-md bg-muted/20 px-3 py-2"},i(p.reason),1))),128))])])):O("",!0),e("div",aa,[c[4]||(c[4]=e("h3",{class:"text-sm font-medium"},"Client list",-1)),e("div",ia,[(f(!0),g(H,null,V(((b=v.clients)==null?void 0:b.clients)||[],p=>(f(),g("div",{key:p.id,class:"rounded-md bg-muted/20 px-3 py-2"},[e("div",ra,[e("div",null,[e("p",la,i(p.addr),1),e("p",da,i(p.name)+" · db "+i(p.db)+" · "+i(p.cmd),1),e("p",ua," age "+i(o(p.ageSeconds))+"s · idle "+i(o(p.idleSeconds))+"s ",1)]),w(x,{size:"sm",variant:"outline",disabled:v.isActionLoading,onClick:S=>u("kill-client",p.id)},{default:E(()=>c[3]||(c[3]=[N(" Kill client ")])),_:2},1032,["disabled","onClick"])])]))),128))])])])}}}),ma={class:"space-y-2"},pa={class:"text-muted-foreground"},fa=X({__name:"RedisConfigSection",props:{config:{}},setup(n){return(r,u)=>(f(),g("div",ma,[(f(!0),g(H,null,V(r.config||[],s=>(f(),g("div",{key:s.name,class:"flex items-center justify-between rounded-md border px-3 py-2 text-sm"},[e("span",null,i(s.name),1),e("span",pa,i(s.value||"not set"),1)]))),128))]))}}),ga={class:"space-y-4"},va={class:"grid gap-3 md:grid-cols-4"},ba={class:"rounded-lg border p-3"},_a={class:"mt-1 text-lg font-medium"},ha={class:"rounded-lg border p-3"},ya={class:"mt-1 text-lg font-medium"},xa={class:"rounded-lg border p-3"},$a={class:"mt-1 text-lg font-medium"},Sa={class:"rounded-lg border p-3"},wa={class:"mt-1 text-lg font-medium"},ka={class:"grid gap-4 lg:grid-cols-2"},Ia={class:"rounded-lg border p-3"},Ca={class:"mt-3 space-y-2 text-sm"},Ta={class:"text-muted-foreground"},La={class:"rounded-lg border p-3"},Ra={class:"mt-3 space-y-2 text-sm"},Aa={class:"text-muted-foreground"},Pa={class:"rounded-lg border p-3"},Ba={class:"mt-3 flex flex-wrap gap-2"},Da={class:"mt-3 text-xs text-muted-foreground"},Ea=X({__name:"RedisKeyspaceSection",props:{keyspace:{}},setup(n){const r=new Intl.NumberFormat;function u(s){return s==null||s===""?"0":r.format(Number(s))}return(s,o)=>{var c,x,h,m,_,$,b,p;const v=xe;return f(),g("div",ga,[e("div",va,[e("div",ba,[o[0]||(o[0]=e("p",{class:"text-xs text-muted-foreground"},"Expired key count",-1)),e("p",_a,i(u((c=s.keyspace)==null?void 0:c.expiredKeyCount)),1)]),e("div",ha,[o[1]||(o[1]=e("p",{class:"text-xs text-muted-foreground"},"Avg TTL",-1)),e("p",ya,i(u((x=s.keyspace)==null?void 0:x.avgTtl)),1)]),e("div",xa,[o[2]||(o[2]=e("p",{class:"text-xs text-muted-foreground"},"Keys without TTL",-1)),e("p",$a,i(u((h=s.keyspace)==null?void 0:h.keysWithoutTtl)),1)]),e("div",Sa,[o[3]||(o[3]=e("p",{class:"text-xs text-muted-foreground"},"Sampled keys",-1)),e("p",wa,i(u((m=s.keyspace)==null?void 0:m.sampledKeys)),1)])]),e("div",ka,[e("div",Ia,[o[4]||(o[4]=e("h3",{class:"text-sm font-medium"},"Databases",-1)),e("div",Ca,[(f(!0),g(H,null,V(((_=s.keyspace)==null?void 0:_.databases)||[],S=>(f(),g("div",{key:S.database,class:"flex items-center justify-between rounded-md bg-muted/20 px-3 py-2"},[e("span",null,i(S.database),1),e("span",Ta,i(u(S.keyCount))+" keys · "+i(u(S.expires))+" expiring · avg TTL "+i(u(S.avgTtl)),1)]))),128))])]),e("div",La,[o[5]||(o[5]=e("h3",{class:"text-sm font-medium"},"Top prefixes",-1)),e("div",Ra,[(f(!0),g(H,null,V((($=s.keyspace)==null?void 0:$.topPrefixes)||[],S=>(f(),g("div",{key:S.prefix,class:"flex items-center justify-between rounded-md bg-muted/20 px-3 py-2"},[e("span",null,i(S.prefix),1),e("span",Aa,i(u(S.keyCount))+" keys ",1)]))),128))])])]),e("div",Pa,[o[6]||(o[6]=e("h3",{class:"text-sm font-medium"},"Key type distribution",-1)),e("div",Ba,[(f(!0),g(H,null,V(((b=s.keyspace)==null?void 0:b.keyTypeDistribution)||[],S=>(f(),J(v,{key:S.type,variant:"outline"},{default:E(()=>[N(i(S.type)+" · "+i(u(S.count)),1)]),_:2},1024))),128))]),e("p",Da,i((p=s.keyspace)==null?void 0:p.hotKeysNote),1)])])}}}),Na={class:"space-y-4"},Ma={class:"grid gap-3 md:grid-cols-2 xl:grid-cols-4"},Oa={class:"rounded-lg border p-3"},Fa={class:"mt-1 text-lg font-medium"},za={class:"rounded-lg border p-3"},Ha={class:"mt-1 text-lg font-medium"},Va={class:"rounded-lg border p-3"},ja={class:"mt-1 text-lg font-medium"},Ka={class:"rounded-lg border p-3"},Ua={class:"mt-1 text-lg font-medium"},Ga={class:"grid gap-4 lg:grid-cols-2"},qa={class:"rounded-lg border p-3"},Qa={class:"mt-3 space-y-2 text-sm"},Xa={class:"text-muted-foreground"},Wa={class:"rounded-lg border p-3"},Ya={class:"mt-3 space-y-2 text-sm"},Ja={class:"flex items-center justify-between gap-2"},Za={class:"truncate"},ei={class:"mt-1 text-xs text-muted-foreground"},ti=X({__name:"RedisMemorySection",props:{memory:{}},setup(n){const r=new Intl.NumberFormat;function u(s){return s==null||s===""?"0":r.format(Number(s))}return(s,o)=>{var x,h,m,_,$,b,p,S;const v=Ee,c=xe;return f(),g("div",Na,[e("div",Ma,[e("div",Oa,[o[0]||(o[0]=e("p",{class:"text-xs text-muted-foreground"},"Used memory",-1)),e("p",Fa,i((x=s.memory)==null?void 0:x.usedMemoryHuman),1)]),e("div",za,[o[1]||(o[1]=e("p",{class:"text-xs text-muted-foreground"},"Peak memory",-1)),e("p",Ha,i((h=s.memory)==null?void 0:h.usedMemoryPeakHuman),1)]),e("div",Va,[o[2]||(o[2]=e("p",{class:"text-xs text-muted-foreground"},"Fragmentation",-1)),e("p",ja,i((m=s.memory)==null?void 0:m.memoryFragmentationRatio.toFixed(2)),1)]),e("div",Ka,[o[3]||(o[3]=e("p",{class:"text-xs text-muted-foreground"},"Maxmemory / policy",-1)),e("p",Ua,i((_=s.memory)==null?void 0:_.maxmemoryHuman)+" · "+i(($=s.memory)==null?void 0:$.maxmemoryPolicy),1)])]),(f(!0),g(H,null,V(((b=s.memory)==null?void 0:b.warnings)||[],l=>(f(),J(v,{key:l,variant:"secondary"},{default:E(()=>[N(i(l),1)]),_:2},1024))),128)),e("div",Ga,[e("div",qa,[o[4]||(o[4]=e("h3",{class:"text-sm font-medium"},"Top prefixes by memory",-1)),e("div",Qa,[(f(!0),g(H,null,V(((p=s.memory)==null?void 0:p.topPrefixesByMemory)||[],l=>(f(),g("div",{key:l.prefix,class:"flex items-center justify-between rounded-md bg-muted/20 px-3 py-2"},[e("span",null,i(l.prefix),1),e("span",Xa,i(u(l.keyCount))+" keys · "+i(u(l.memoryBytes))+" B ",1)]))),128))])]),e("div",Wa,[o[5]||(o[5]=e("h3",{class:"text-sm font-medium"},"Big keys detector",-1)),e("div",Ya,[(f(!0),g(H,null,V(((S=s.memory)==null?void 0:S.bigKeys)||[],l=>(f(),g("div",{key:l.key,class:"rounded-md bg-muted/20 px-3 py-2"},[e("div",Ja,[e("span",Za,i(l.key),1),w(c,{variant:"outline"},{default:E(()=>[N(i(l.type),1)]),_:2},1024)]),e("p",ei," TTL "+i(l.ttl>=0?l.ttl:"persisted")+" · "+i(u(l.memoryBytes))+" B ",1)]))),128))])])])])}}}),si={class:"space-y-4"},ni={class:"grid gap-3 md:grid-cols-2 xl:grid-cols-4"},oi={class:"text-xs text-muted-foreground"},ai={class:"mt-1 text-lg font-medium"},ii=X({__name:"RedisOverviewSection",props:{overview:{}},setup(n){const r=n,u=new Intl.NumberFormat;function s(c){return c==null||c===""?"0":u.format(Number(c))}function o(c){return`${(c*100).toFixed(1)}%`}const v=I(()=>{const c=r.overview;return c?[{label:"Redis version",value:c.redisVersion},{label:"Mode",value:c.mode},{label:"Uptime",value:We(c.uptimeSeconds)},{label:"Connected clients",value:s(c.connectedClients)},{label:"Used memory",value:c.usedMemoryHuman},{label:"Total keys",value:s(c.totalKeys)},{label:"Hit rate",value:o(c.hitRate)},{label:"Ops/sec",value:s(c.opsPerSec)},{label:"Evicted keys",value:s(c.evictedKeys)},{label:"Expired keys",value:s(c.expiredKeys)},{label:"Rejected connections",value:s(c.rejectedConnections)}]:[]});return(c,x)=>(f(),g("div",si,[e("div",ni,[(f(!0),g(H,null,V(t(v),h=>(f(),g("div",{key:h.label,class:"rounded-lg border p-3"},[e("p",oi,i(h.label),1),e("p",ai,i(h.value),1)]))),128))])]))}}),ri={class:"space-y-4"},li={class:"grid gap-3 md:grid-cols-3"},di={class:"rounded-lg border p-3"},ui={class:"mt-1 text-lg font-medium"},ci={class:"rounded-lg border p-3"},mi={class:"mt-1 text-lg font-medium"},pi={class:"rounded-lg border p-3"},fi={class:"mt-1 text-lg font-medium"},gi={class:"rounded-lg border p-3"},vi={class:"mt-3 whitespace-pre-wrap text-xs text-muted-foreground"},bi={class:"grid gap-4 lg:grid-cols-2"},_i={class:"rounded-lg border p-3"},hi={class:"mt-3 space-y-2 text-xs"},yi={class:"flex items-center justify-between gap-2"},xi={class:"font-medium"},$i={class:"mt-1 text-muted-foreground"},Si={class:"rounded-lg border p-3"},wi={class:"mt-3 space-y-2 text-xs"},ki={class:"text-muted-foreground"},Ii={class:"rounded-lg border p-3"},Ci={class:"mt-3 space-y-2 text-xs"},Ti={key:0,class:"text-muted-foreground"},Li={class:"text-muted-foreground"},Ri=X({__name:"RedisPerformanceSection",props:{performance:{}},setup(n){const r=new Intl.NumberFormat;function u(s){return s==null||s===""?"0":r.format(Number(s))}return(s,o)=>{var v,c,x,h,m,_,$,b;return f(),g("div",ri,[e("div",li,[e("div",di,[o[0]||(o[0]=e("p",{class:"text-xs text-muted-foreground"},"Ops/sec",-1)),e("p",ui,i(u((v=s.performance)==null?void 0:v.instantaneousOpsPerSec)),1)]),e("div",ci,[o[1]||(o[1]=e("p",{class:"text-xs text-muted-foreground"},"Total commands",-1)),e("p",mi,i(u((c=s.performance)==null?void 0:c.totalCommandsProcessed)),1)]),e("div",pi,[o[2]||(o[2]=e("p",{class:"text-xs text-muted-foreground"},"Blocked clients",-1)),e("p",fi,i(u((x=s.performance)==null?void 0:x.blockedClients)),1)])]),e("div",gi,[o[3]||(o[3]=e("h3",{class:"text-sm font-medium"},"Latency doctor",-1)),e("pre",vi,i(((h=s.performance)==null?void 0:h.latencyDoctor)||"No latency doctor output available."),1)]),e("div",bi,[e("div",_i,[o[4]||(o[4]=e("h3",{class:"text-sm font-medium"},"Slowlog",-1)),e("div",hi,[(f(!0),g(H,null,V(((m=s.performance)==null?void 0:m.slowlog)||[],p=>(f(),g("div",{key:p.id,class:"rounded-md bg-muted/20 px-3 py-2"},[e("div",yi,[e("span",xi,i(p.command||"unknown command"),1),e("span",null,i(u(p.durationMicros))+" µs",1)]),e("p",$i,i(p.clientAddr||"n/a")+" · "+i(p.timestamp||"unknown time"),1)]))),128))])]),e("div",Si,[o[5]||(o[5]=e("h3",{class:"text-sm font-medium"},"Command stats",-1)),e("div",wi,[(f(!0),g(H,null,V(((_=s.performance)==null?void 0:_.commandStats)||[],p=>(f(),g("div",{key:p.command,class:"flex items-center justify-between rounded-md bg-muted/20 px-3 py-2"},[e("span",null,i(p.command),1),e("span",ki,i(u(p.calls))+" calls · "+i(p.usecPerCall.toFixed(2))+" µs/call ",1)]))),128))])])]),e("div",Ii,[o[6]||(o[6]=e("h3",{class:"text-sm font-medium"},"Long-running Lua scripts",-1)),e("div",Ci,[((($=s.performance)==null?void 0:$.longRunningLuaScripts)||[]).length?O("",!0):(f(),g("div",Ti," No active Lua script clients detected. ")),(f(!0),g(H,null,V(((b=s.performance)==null?void 0:b.longRunningLuaScripts)||[],p=>(f(),g("div",{key:p.id,class:"flex items-center justify-between rounded-md bg-muted/20 px-3 py-2"},[e("span",null,i(p.addr),1),e("span",Li,i(p.cmd)+" · age "+i(u(p.ageSeconds))+"s ",1)]))),128))])])])}}}),Ai={class:"space-y-4"},Pi={class:"grid gap-3 md:grid-cols-2 xl:grid-cols-4"},Bi={class:"rounded-lg border p-3"},Di={class:"mt-1 text-lg font-medium"},Ei={class:"rounded-lg border p-3"},Ni={class:"mt-1 text-lg font-medium"},Mi={class:"rounded-lg border p-3"},Oi={class:"mt-1 text-lg font-medium"},Fi={class:"rounded-lg border p-3"},zi={class:"mt-1 text-lg font-medium"},Hi={class:"rounded-lg border p-3 text-sm text-muted-foreground space-y-1"},Vi={key:0},ji=X({__name:"RedisPersistenceSection",props:{persistence:{}},setup(n){const r=new Intl.NumberFormat;function u(s){return s==null||s===""?"0":r.format(Number(s))}return(s,o)=>{var c,x,h,m,_,$,b,p,S;const v=Ee;return f(),g("div",Ai,[e("div",Pi,[e("div",Bi,[o[0]||(o[0]=e("p",{class:"text-xs text-muted-foreground"},"RDB enabled",-1)),e("p",Di,i((c=s.persistence)!=null&&c.rdbEnabled?"Yes":"No"),1)]),e("div",Ei,[o[1]||(o[1]=e("p",{class:"text-xs text-muted-foreground"},"AOF enabled",-1)),e("p",Ni,i((x=s.persistence)!=null&&x.aofEnabled?"Yes":"No"),1)]),e("div",Mi,[o[2]||(o[2]=e("p",{class:"text-xs text-muted-foreground"},"AOF rewrite",-1)),e("p",Oi,i((h=s.persistence)!=null&&h.aofRewriteInProgress?"In progress":"Idle"),1)]),e("div",Fi,[o[3]||(o[3]=e("p",{class:"text-xs text-muted-foreground"},"Changes since save",-1)),e("p",zi,i(u((m=s.persistence)==null?void 0:m.changesSinceLastSave)),1)])]),(f(!0),g(H,null,V(((_=s.persistence)==null?void 0:_.warnings)||[],l=>(f(),J(v,{key:l,variant:"secondary"},{default:E(()=>[N(i(l),1)]),_:2},1024))),128)),e("div",Hi,[e("p",null," Last save status: "+i((($=s.persistence)==null?void 0:$.lastSaveStatus)||"unknown"),1),e("p",null," Last save time: "+i(((b=s.persistence)==null?void 0:b.lastSaveTime)||"unknown"),1),e("p",null," AOF last rewrite status: "+i(((p=s.persistence)==null?void 0:p.aofLastRewriteStatus)||"unknown"),1),(S=s.persistence)!=null&&S.lastBgsaveError?(f(),g("p",Vi," Last bgsave error: "+i(s.persistence.lastBgsaveError),1)):O("",!0)])])}}}),Ki={class:"space-y-4"},Ui={class:"grid gap-3 md:grid-cols-2 xl:grid-cols-4"},Gi={class:"rounded-lg border p-3"},qi={class:"mt-1 text-lg font-medium"},Qi={class:"rounded-lg border p-3"},Xi={class:"mt-1 text-lg font-medium"},Wi={class:"rounded-lg border p-3"},Yi={class:"mt-1 text-lg font-medium"},Ji={class:"rounded-lg border p-3"},Zi={class:"mt-1 text-lg font-medium"},er={class:"rounded-lg border p-3 text-sm text-muted-foreground space-y-1"},tr={class:"rounded-lg border p-3"},sr={class:"mt-3 space-y-2 text-xs"},nr={key:0,class:"text-muted-foreground"},or={class:"text-muted-foreground"},ar=X({__name:"RedisReplicationSection",props:{replication:{}},setup(n){const r=new Intl.NumberFormat;function u(s){return s==null||s===""?"0":r.format(Number(s))}return(s,o)=>{var v,c,x,h,m,_,$,b,p,S,l;return f(),g("div",Ki,[e("div",Ui,[e("div",Gi,[o[0]||(o[0]=e("p",{class:"text-xs text-muted-foreground"},"Role",-1)),e("p",qi,i(((v=s.replication)==null?void 0:v.role)||"unknown"),1)]),e("div",Qi,[o[1]||(o[1]=e("p",{class:"text-xs text-muted-foreground"},"Connected replicas",-1)),e("p",Xi,i(u((c=s.replication)==null?void 0:c.connectedReplicas)),1)]),e("div",Wi,[o[2]||(o[2]=e("p",{class:"text-xs text-muted-foreground"},"Master link status",-1)),e("p",Yi,i(((x=s.replication)==null?void 0:x.masterLinkStatus)||"n/a"),1)]),e("div",Ji,[o[3]||(o[3]=e("p",{class:"text-xs text-muted-foreground"},"Cluster state",-1)),e("p",Zi,i(((h=s.replication)==null?void 0:h.clusterState)||((m=s.replication)!=null&&m.clusterEnabled?"enabled":"disabled")),1)])]),e("div",er,[e("p",null,"Replication lag: "+i(((_=s.replication)==null?void 0:_.replicationLag)??"n/a"),1),e("p",null,"Sentinel masters: "+i((($=s.replication)==null?void 0:$.sentinelMasters)??"n/a"),1),e("p",null," Cluster slots assigned: "+i(((b=s.replication)==null?void 0:b.clusterSlotsAssigned)??"n/a"),1),e("p",null,"Cluster known nodes: "+i(((p=s.replication)==null?void 0:p.clusterKnownNodes)??"n/a"),1)]),e("div",tr,[o[4]||(o[4]=e("h3",{class:"text-sm font-medium"},"Replicas",-1)),e("div",sr,[(((S=s.replication)==null?void 0:S.replicas)||[]).length?O("",!0):(f(),g("div",nr," No replica nodes reported. ")),(f(!0),g(H,null,V(((l=s.replication)==null?void 0:l.replicas)||[],a=>(f(),g("div",{key:a.id,class:"flex items-center justify-between rounded-md bg-muted/20 px-3 py-2"},[e("span",null,i(a.addr),1),e("span",or,i(a.state)+" · lag "+i(a.lag??"n/a"),1)]))),128))])])])}}}),ir=5e3;function rr(n){const r=B("overview"),u=B(!0),s=B(null),o=B(!1),v=B(!1),c=B(!1),x=B(null),h=B(!0),m=I(()=>!!n.connection.value);Ce(()=>{h.value=!1}),Te(()=>{h.value=!0});const _=async(l=!1)=>{var a;if(!n.connection.value)return x.value=null,null;l||(v.value=!0);try{s.value=null;const d=await $fetch("/api/redis/instance-insights/overview",{method:"POST",body:{...ne(n.connection.value),method:n.connection.value.method,databaseIndex:n.databaseIndex.value}});return x.value=d,d}catch(d){return s.value=((a=d==null?void 0:d.data)==null?void 0:a.message)||(d==null?void 0:d.message)||(d==null?void 0:d.statusMessage)||"Failed to fetch Redis instance insights.",null}finally{l||(v.value=!1)}},$=async l=>{var a;if(!n.connection.value)return!1;c.value=!0;try{const d=await $fetch("/api/redis/instance-insights/kill-client",{method:"POST",body:{...ne(n.connection.value),method:n.connection.value.method,databaseIndex:n.databaseIndex.value,clientId:l}});return d.success?(be("Redis client terminated",{description:d.message}),await _(!0),!0):(be("Failed to terminate client",{description:d.message}),!1)}catch(d){return be("Failed to terminate client",{description:((a=d==null?void 0:d.data)==null?void 0:a.message)||(d==null?void 0:d.message)||"The Redis client could not be terminated."}),!1}finally{c.value=!1}},b=async()=>{await _()};re([()=>n.connection.value,()=>n.databaseIndex.value],async([l])=>{if(!l){x.value=null;return}o.value=!0,await _(),o.value=!1},{immediate:!0});const{pause:p,resume:S}=Le(async()=>{!m.value||!h.value||await _(!0)},ir,{immediate:!1});return re(()=>u.value,l=>{l?S():p()},{immediate:!0}),{activeSection:r,autoRefresh:u,error:s,isInitialLoading:o,isLoading:v,isActionLoading:c,insights:x,refresh:b,killClient:$}}const lr={class:"flex h-full flex-col gap-3 overflow-hidden p-3"},dr={class:"flex items-center gap-2 text-xs"},ur={key:1,class:"flex flex-1 items-center justify-center gap-2 rounded-lg border bg-background text-muted-foreground"},cr={key:2,class:"flex-1 overflow-y-auto rounded-lg border bg-background p-3 mt-2"},mr=X({__name:"RedisInstanceInsightsPanel",props:{databaseName:{},databaseIndex:{},databases:{},dbType:{}},emits:["update:databaseIndex"],setup(n,{emit:r}){const u=n,s=r,o=[{id:"overview",label:"Overview"},{id:"keyspace",label:"Keyspace"},{id:"memory",label:"Memory"},{id:"performance",label:"Performance"},{id:"clients",label:"Clients"},{id:"persistence",label:"Persistence"},{id:"replication",label:"Replication / Cluster"},{id:"config",label:"Config"}],v=$e(),c=I(()=>v.selectedConnection),{activeSection:x,autoRefresh:h,error:m,isInitialLoading:_,isLoading:$,isActionLoading:b,insights:p,refresh:S,killClient:l}=rr({connection:c,databaseIndex:I(()=>u.databaseIndex)});return(a,d)=>{const T=Ae,j=me,R=ce,F=Tt,U=De,q=Be,k=Ee,M=Pe;return f(),g("div",lr,[w(F,{icon:"hugeicons:activity-02",title:"Instance Insights"},{context:E(()=>[a.dbType===t(ue).REDIS?(f(),J(Re("hugeicons:database-sync-01"),{key:0})):O("",!0)]),actions:E(()=>[w(Lt,{compact:"","trigger-id":"redis-instance-insights-db-index","trigger-class":"bg-background",databases:a.databases,"database-index":a.databaseIndex,"onUpdate:databaseIndex":d[0]||(d[0]=z=>s("update:databaseIndex",z))},null,8,["databases","database-index"]),e("div",dr,[w(T,{id:"redis-insights-auto-refresh","model-value":t(h),"onUpdate:modelValue":d[1]||(d[1]=z=>le(h)?h.value=z:null)},null,8,["model-value"]),d[3]||(d[3]=e("label",{for:"redis-insights-auto-refresh",class:"cursor-pointer"}," Auto refresh ",-1))]),w(R,{size:"xxs",variant:"outline",disabled:t($)||t(b),onClick:t(S)},{default:E(()=>[w(j,{name:"hugeicons:redo",class:"size-3.5!"}),d[4]||(d[4]=N(" Refresh "))]),_:1},8,["disabled","onClick"])]),_:1}),w(M,{modelValue:t(x),"onUpdate:modelValue":d[2]||(d[2]=z=>le(x)?x.value=z:null),class:"flex flex-1 min-h-0 flex-col gap-0"},{default:E(()=>{var z,y,L,K,A,P,Q,Z;return[w(q,{size:"sm",class:"max-w-full justify-start! shrink-0 overflow-x-auto"},{default:E(()=>[(f(),g(H,null,V(o,ae=>w(U,{size:"xs",key:ae.id,value:ae.id,class:"min-w-fit shrink-0 cursor-pointer rounded-sm"},{default:E(()=>[N(i(ae.label),1)]),_:2},1032,["value"])),64))]),_:1}),t(m)?(f(),J(k,{key:0,variant:"destructive"},{default:E(()=>[N(i(t(m)),1)]),_:1})):O("",!0),t(_)&&!t(p)?(f(),g("div",ur,[w(j,{name:"hugeicons:redo",class:"size-4 animate-spin"}),d[5]||(d[5]=N(" Loading Redis instance insights... "))])):(f(),g("div",cr,[te(w(ii,{overview:(z=t(p))==null?void 0:z.overview},null,8,["overview"]),[[se,t(x)==="overview"]]),te(w(Ea,{keyspace:(y=t(p))==null?void 0:y.keyspace},null,8,["keyspace"]),[[se,t(x)==="keyspace"]]),te(w(ti,{memory:(L=t(p))==null?void 0:L.memory},null,8,["memory"]),[[se,t(x)==="memory"]]),te(w(Ri,{performance:(K=t(p))==null?void 0:K.performance},null,8,["performance"]),[[se,t(x)==="performance"]]),te(w(ca,{clients:(A=t(p))==null?void 0:A.clients,"is-action-loading":t(b),onKillClient:t(l)},null,8,["clients","is-action-loading","onKillClient"]),[[se,t(x)==="clients"]]),te(w(ji,{persistence:(P=t(p))==null?void 0:P.persistence},null,8,["persistence"]),[[se,t(x)==="persistence"]]),te(w(ar,{replication:(Q=t(p))==null?void 0:Q.replication},null,8,["replication"]),[[se,t(x)==="replication"]]),te(w(fa,{config:(Z=t(p))==null?void 0:Z.config},null,8,["config"]),[[se,t(x)==="config"]])]))]}),_:1},8,["modelValue"])])}}}),pr={class:"h-full"},fr={key:0,class:"h-full p-4 flex flex-col items-center justify-center text-muted-foreground"},Pr=X({__name:"index",setup(n){const r=Ze(),u=$e(),s=et(),{activeTab:o}=je(s),v=I(()=>String(r.params.connectionId||"")),c=I(()=>v.value?u.connections.find(b=>b.id===v.value):null),x=I(()=>{var b;return((b=c.value)==null?void 0:b.connectionString)||""}),h=I(()=>{var b;return(b=c.value)==null?void 0:b.type}),m=I(()=>{var b,p,S;return h.value===ue.REDIS?((b=c.value)==null?void 0:b.name)||"Redis":((p=c.value)==null?void 0:p.database)||((S=c.value)==null?void 0:S.name)||"database"}),_=I(()=>h.value===ue.REDIS?c.value??void 0:void 0),$=Rt({connection:_,mode:"meta"});return re(()=>{var b,p;return(p=(b=o.value)==null?void 0:b.metadata)==null?void 0:p.databaseIndex},b=>{typeof b=="number"&&($.selectedDatabaseIndex.value=b)},{immediate:!0}),(b,p)=>{const S=me;return f(),g("div",pr,[t(c)?t(h)===t(ue).REDIS?(f(),J(mr,{key:1,"database-name":t(m),"database-index":t($).selectedDatabaseIndex.value,databases:t($).databases.value,"db-type":t(h),"onUpdate:databaseIndex":p[0]||(p[0]=l=>t($).selectedDatabaseIndex.value=l)},null,8,["database-name","database-index","databases","db-type"])):t(h)===t(ue).POSTGRES?(f(),J(no,{key:2,"db-connection-string":t(x),"database-name":t(m),"db-type":t(h)},null,8,["db-connection-string","database-name","db-type"])):(f(),J(Wo,{key:3,"db-connection-string":t(x),"database-name":t(m),"db-type":t(h)},null,8,["db-connection-string","database-name","db-type"])):(f(),g("div",fr,[w(S,{name:"hugeicons:plug-socket",class:"size-12 mb-2 opacity-50"}),p[1]||(p[1]=e("p",{class:"text-sm"},"Select a connection to open Instance Insights",-1))]))])}}});export{Pr as default};
|