orcaq 1.0.28 → 1.0.30
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/{S6q6IfIg.js → 6I72R6kW.js} +1 -1
- package/.output/public/_nuxt/{W0T58tNs.js → 8_EuFD3X.js} +1 -1
- package/.output/public/_nuxt/B6H7odCi.js +1 -0
- package/.output/public/_nuxt/B7nSJBpY.js +1 -0
- package/.output/public/_nuxt/{B-o1cyu1.js → BBNxNerU.js} +1 -1
- package/.output/public/_nuxt/BDKd-SA5.js +1 -0
- package/.output/public/_nuxt/{DAsY4LnG.js → BDRdbLz0.js} +1 -1
- package/.output/public/_nuxt/{T2yrk5P8.js → BKWWO5HE.js} +1 -1
- package/.output/public/_nuxt/{DhSSuHOz.js → BV6TSzbC.js} +4 -1
- package/.output/public/_nuxt/{BranJUWp.js → BVKG-F8j.js} +1 -1
- package/.output/public/_nuxt/{BHFnD9yO.js → BoGW82nK.js} +1 -1
- package/.output/public/_nuxt/Bs_ItSbk.js +1 -0
- package/.output/public/_nuxt/{BZEKLHO-.js → Btu7FO8S.js} +1 -1
- package/.output/public/_nuxt/C04Tz2vC.js +67 -0
- package/.output/public/_nuxt/{DNmOzKte.js → C4JPKbJK.js} +1 -1
- package/.output/public/_nuxt/{B7iORLht.js → C5KSeJUi.js} +5 -5
- package/.output/public/_nuxt/CDnZBTSk.js +1 -0
- package/.output/public/_nuxt/CKq06U7u.js +19 -0
- package/.output/public/_nuxt/{vU5dtBjy.js → CQpD-JHn.js} +1 -1
- package/.output/public/_nuxt/{DdMwxl0I.js → C_CjS9Yt.js} +1 -1
- package/.output/public/_nuxt/{BRpeq4XL.js → Chcc8yNZ.js} +1 -1
- package/.output/public/_nuxt/{Dwm3kp4S.js → ClnidwGv.js} +86 -86
- package/.output/public/_nuxt/{BV4_2PzU.js → CpzDNDcD.js} +1 -1
- package/.output/public/_nuxt/Cs1HkKH7.js +1 -0
- package/.output/public/_nuxt/{DgPgl0Vt.js → CsYOf3m-.js} +1 -1
- package/.output/public/_nuxt/{Ds4ET3BG.js → CtRc_P0d.js} +27 -27
- package/.output/public/_nuxt/Ctr2mpV9.js +2 -0
- package/.output/public/_nuxt/{SzZsnvJ-.js → CzF1NEwP.js} +1 -1
- package/.output/public/_nuxt/{D4jtSPyP.js → D2j2esR5.js} +2 -2
- package/.output/public/_nuxt/D4ZGn1tW.js +1 -0
- package/.output/public/_nuxt/{B3XOCDJg.js → D6YseYA6.js} +1 -1
- package/.output/public/_nuxt/{CbjqLbgu.js → D7EPcL9i.js} +1 -1
- package/.output/public/_nuxt/{DfL_wWxk.js → DCMJS6Fh.js} +1 -1
- package/.output/public/_nuxt/{rdXrKZa8.js → DFd73eNR.js} +1 -1
- package/.output/public/_nuxt/{BUuSKT2f.js → DQiMjOqm.js} +15 -15
- package/.output/public/_nuxt/{BQAF7cM_.js → DVe5MHjS.js} +1 -1
- package/.output/public/_nuxt/{BsnN2mQb.js → D_G1mAJ8.js} +2 -2
- package/.output/public/_nuxt/{DM73sEXg.js → De1hkrJC.js} +1 -1
- package/.output/public/_nuxt/DlfHMoPT.js +1 -0
- package/.output/public/_nuxt/{BIW9Rd2L.js → DnCs9xpG.js} +1 -1
- package/.output/public/_nuxt/DvJ2MjiW.js +2 -0
- package/.output/public/_nuxt/DynamicTable.B3c2woGb.css +1 -0
- package/.output/public/_nuxt/{CAcIcjka.js → DzJD_fir.js} +3 -3
- package/.output/public/_nuxt/{UrLgZoyE.js → Dzr_z_mY.js} +1 -1
- package/.output/public/_nuxt/{DftZZFKd.js → FyrDS92w.js} +104 -104
- package/.output/public/_nuxt/{BlWNlw-C.js → HQyqkOpZ.js} +1 -1
- package/.output/public/_nuxt/{BwddCgOY.js → KlH93fIm.js} +1 -1
- package/.output/public/_nuxt/{iDT-eQ46.js → MLO1tLKS.js} +1 -1
- package/.output/public/_nuxt/{D8s-WG7x.js → OEVyCyyD.js} +1 -1
- package/.output/public/_nuxt/{_fileId_.B3PtfMYN.css → _fileId_.DDOcnoDQ.css} +1 -1
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/0ab6db39-d52b-46b9-a687-0df3b4c65db5.json +1 -0
- package/.output/public/_nuxt/builds/meta/dev.json +1 -0
- package/.output/public/_nuxt/{CQNFvXDN.js → e_Ir8LP9.js} +1 -1
- package/.output/public/_nuxt/entry.XV7TCKso.css +1 -0
- package/.output/public/_nuxt/{DpyvTVPg.js → fRxmPZZB.js} +1 -1
- package/.output/public/_nuxt/{B0pvfm-W.js → h2fvG4Xe.js} +1 -1
- package/.output/public/_nuxt/llxtZpFD.js +160 -0
- package/.output/public/_nuxt/{CQr87mff.js → q4KcRwD-.js} +1 -1
- package/.output/public/_nuxt/{Cqe10li5.js → qIKg23Pc.js} +1 -1
- package/.output/public/_nuxt/{aKVabwds.js → txD20ixW.js} +1 -1
- package/.output/public/_nuxt/{CwtNS48a.js → ubO-cWd-.js} +1 -1
- package/.output/public/_nuxt/x2HBvptj.js +1 -0
- package/.output/public/_nuxt/{lN7hePE6.js → y68LmDX2.js} +1 -1
- package/.output/server/chunks/build/client.manifest.mjs +394 -382
- package/.output/server/chunks/build/client.manifest.mjs.map +1 -1
- package/.output/server/chunks/nitro/nitro.mjs +389 -372
- package/.output/server/chunks/routes/api/ai/agent.mjs +1 -0
- package/.output/server/chunks/routes/api/ai/agent.mjs.map +1 -1
- package/.output/server/chunks/routes/api/ai/chat.mjs +1 -0
- package/.output/server/chunks/routes/api/ai/chat.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-export/export-database.mjs +1 -0
- package/.output/server/chunks/routes/api/database-export/export-database.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-import/import-database.mjs +1 -0
- package/.output/server/chunks/routes/api/database-import/import-database.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/create-role.mjs +1 -0
- package/.output/server/chunks/routes/api/database-roles/create-role.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/delete-role.mjs +1 -0
- package/.output/server/chunks/routes/api/database-roles/delete-role.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/get-databases-with-permissions.mjs +1 -0
- package/.output/server/chunks/routes/api/database-roles/get-databases-with-permissions.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/get-databases.mjs +1 -0
- package/.output/server/chunks/routes/api/database-roles/get-databases.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/get-permissions.mjs +1 -0
- package/.output/server/chunks/routes/api/database-roles/get-permissions.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/get-role-inheritance.mjs +1 -0
- package/.output/server/chunks/routes/api/database-roles/get-role-inheritance.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/get-role.mjs +1 -0
- package/.output/server/chunks/routes/api/database-roles/get-role.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/get-roles.mjs +1 -0
- package/.output/server/chunks/routes/api/database-roles/get-roles.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/get-schema-objects.mjs +1 -0
- package/.output/server/chunks/routes/api/database-roles/get-schema-objects.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/get-schemas.mjs +1 -0
- package/.output/server/chunks/routes/api/database-roles/get-schemas.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/grant-bulk-permissions.mjs +1 -0
- package/.output/server/chunks/routes/api/database-roles/grant-bulk-permissions.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/grant-permission.mjs +1 -0
- package/.output/server/chunks/routes/api/database-roles/grant-permission.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/revoke-permission.mjs +1 -0
- package/.output/server/chunks/routes/api/database-roles/revoke-permission.mjs.map +1 -1
- package/.output/server/chunks/routes/api/functions/definition.post.mjs +1 -0
- package/.output/server/chunks/routes/api/functions/definition.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/functions/delete.post.mjs +1 -0
- package/.output/server/chunks/routes/api/functions/delete.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/functions/overview.post.mjs +1 -0
- package/.output/server/chunks/routes/api/functions/overview.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/functions/rename.post.mjs +1 -0
- package/.output/server/chunks/routes/api/functions/rename.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/functions/signature.post.mjs +1 -0
- package/.output/server/chunks/routes/api/functions/signature.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/functions/update.post.mjs +1 -0
- package/.output/server/chunks/routes/api/functions/update.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/instance-insights/cancel-query.post.mjs +1 -0
- package/.output/server/chunks/routes/api/instance-insights/cancel-query.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/instance-insights/configuration.post.mjs +1 -0
- package/.output/server/chunks/routes/api/instance-insights/configuration.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/instance-insights/dashboard.post.mjs +1 -0
- package/.output/server/chunks/routes/api/instance-insights/dashboard.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/instance-insights/drop-slot.post.mjs +1 -0
- package/.output/server/chunks/routes/api/instance-insights/drop-slot.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/instance-insights/replication.post.mjs +1 -0
- package/.output/server/chunks/routes/api/instance-insights/replication.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/instance-insights/state.post.mjs +1 -0
- package/.output/server/chunks/routes/api/instance-insights/state.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/instance-insights/terminate-connection.post.mjs +1 -0
- package/.output/server/chunks/routes/api/instance-insights/terminate-connection.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/instance-insights/toggle-slot-status.post.mjs +1 -0
- package/.output/server/chunks/routes/api/instance-insights/toggle-slot-status.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/managment-connection/health-check.mjs +1 -0
- package/.output/server/chunks/routes/api/managment-connection/health-check.mjs.map +1 -1
- package/.output/server/chunks/routes/api/metadata/erd.post.mjs +1 -0
- package/.output/server/chunks/routes/api/metadata/erd.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/metadata/meta-data.post.mjs +1 -0
- package/.output/server/chunks/routes/api/metadata/meta-data.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/metadata/reverse-schemas.post.mjs +1 -0
- package/.output/server/chunks/routes/api/metadata/reverse-schemas.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/metrics/monitor.post.mjs +1 -0
- package/.output/server/chunks/routes/api/metrics/monitor.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/query/execute.post.mjs +1 -0
- package/.output/server/chunks/routes/api/query/execute.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/query/raw-execute-stream.post.mjs +1 -0
- package/.output/server/chunks/routes/api/query/raw-execute-stream.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/query/raw-execute.post.mjs +1 -0
- package/.output/server/chunks/routes/api/query/raw-execute.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/bulk-delete.post.mjs +1 -0
- package/.output/server/chunks/routes/api/tables/bulk-delete.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/bulk-update.post.mjs +1 -0
- package/.output/server/chunks/routes/api/tables/bulk-update.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/ddl.post.mjs +1 -0
- package/.output/server/chunks/routes/api/tables/ddl.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/export.post.mjs +1 -0
- package/.output/server/chunks/routes/api/tables/export.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/indexes.post.mjs +1 -0
- package/.output/server/chunks/routes/api/tables/indexes.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/meta.post.mjs +1 -0
- package/.output/server/chunks/routes/api/tables/meta.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/overview.post.mjs +1 -0
- package/.output/server/chunks/routes/api/tables/overview.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/rls.post.mjs +1 -0
- package/.output/server/chunks/routes/api/tables/rls.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/rules.post.mjs +1 -0
- package/.output/server/chunks/routes/api/tables/rules.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/size.post.mjs +1 -0
- package/.output/server/chunks/routes/api/tables/size.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/structure.post.mjs +1 -0
- package/.output/server/chunks/routes/api/tables/structure.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/triggers.post.mjs +1 -0
- package/.output/server/chunks/routes/api/tables/triggers.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/views/definition.post.mjs +1 -0
- package/.output/server/chunks/routes/api/views/definition.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/views/dependencies.post.mjs +1 -0
- package/.output/server/chunks/routes/api/views/dependencies.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/views/explain.post.mjs +1 -0
- package/.output/server/chunks/routes/api/views/explain.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/views/indexes.post.mjs +1 -0
- package/.output/server/chunks/routes/api/views/indexes.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/views/meta.post.mjs +1 -0
- package/.output/server/chunks/routes/api/views/meta.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/views/overview.post.mjs +1 -0
- package/.output/server/chunks/routes/api/views/overview.post.mjs.map +1 -1
- package/.output/server/chunks/routes/renderer.mjs +1 -0
- package/.output/server/index.mjs +1 -0
- package/.output/server/index.mjs.map +1 -1
- package/.output/server/package.json +1 -1
- package/bin/cli.mjs +55 -9
- package/package.json +1 -1
- package/.output/public/_nuxt/ACi_yrrw.js +0 -1
- package/.output/public/_nuxt/B-E3EDXq.js +0 -21
- package/.output/public/_nuxt/B-rj9QI0.js +0 -1
- package/.output/public/_nuxt/BDPGejuO.js +0 -2
- package/.output/public/_nuxt/BHp-OX9z.js +0 -1
- package/.output/public/_nuxt/BJdgR-zN.js +0 -1
- package/.output/public/_nuxt/BSs5g8DH.js +0 -1
- package/.output/public/_nuxt/CO-m0olR.js +0 -2
- package/.output/public/_nuxt/CQQKPHb8.js +0 -225
- package/.output/public/_nuxt/CfblXyCF.js +0 -1
- package/.output/public/_nuxt/D9SCXF1G.js +0 -1
- package/.output/public/_nuxt/DynamicTable.BW0D7NXb.css +0 -1
- package/.output/public/_nuxt/GqcI3eLm.js +0 -67
- package/.output/public/_nuxt/builds/meta/1e32d709-950d-49a3-8d61-1b3385318747.json +0 -1
- package/.output/public/_nuxt/entry.Kia9TCip.css +0 -1
- package/.output/public/_nuxt/mW-nBTJP.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as ne,r as k,aC as ie,D as h,g as D,h as e,a as Y,l as b,m as re,e as V,p as M,v as _,b as n,I as ae,n as pe,o as B,as as Ie,R as we,W as ue,aG as be,a3 as ke,bj as Pe,bc as Oe,bk as Be,bh as W,M as fe,k as Ce,c as Le,s as De,aR as Me,bi as Ne,bl as de,bm as ce,t as Ee,F as ze,q as Fe,a6 as He}from"./DftZZFKd.js";import{_ as Ve,a as je,b as Ge}from"./B3XOCDJg.js";import{t as P,i as qe,a as Ue,b as Qe,m as Ke,k as We,g as Te,h as Ae,c as Xe,d as ye,e as Ye,f as Je,j as Ze,n as et,l as tt,S as st,o as nt,p as at,_ as Re,q as ot,r as _e,s as it,C as lt,u as rt,v as dt,E as me,w as ct,x as ut,y as pt,z as ft,A as mt,B as gt}from"./BQAF7cM_.js";import{f as vt}from"./BKltSiU0.js";import{f as ht}from"./-lZvfnzr.js";import{_ as ve}from"./Dwm3kp4S.js";import{b as se,a as bt}from"./BVmBXPoG.js";import{u as yt}from"./BUuSKT2f.js";import"./BZEKLHO-.js";import"./SzZsnvJ-.js";import"./Bdtn2mn5.js";var xe={value:"eq","<":"lt","<=":"lte",">":"gt",">=":"gte","=":"eq","!=":"ne","<>":"ne"},_t=function(){function t(s){var l=this._condVal=ye(s)?new RegExp(s):Ye(s)?s:null;if(l==null){var f="";P(f)}}return t.prototype.evaluate=function(s){var l=typeof s;return ye(l)?this._condVal.test(s):Je(l)?this._condVal.test(s+""):!1},t}(),xt=function(){function t(){}return t.prototype.evaluate=function(){return this.value},t}(),St=function(){function t(){}return t.prototype.evaluate=function(){for(var s=this.children,l=0;l<s.length;l++)if(!s[l].evaluate())return!1;return!0},t}(),It=function(){function t(){}return t.prototype.evaluate=function(){for(var s=this.children,l=0;l<s.length;l++)if(s[l].evaluate())return!0;return!1},t}(),Ct=function(){function t(){}return t.prototype.evaluate=function(){return!this.child.evaluate()},t}(),Lt=function(){function t(){}return t.prototype.evaluate=function(){for(var s=!!this.valueParser,l=this.getValue,f=l(this.valueGetterParam),r=s?this.valueParser(f):null,v=0;v<this.subCondList.length;v++)if(!this.subCondList[v].evaluate(s?r:f))return!1;return!0},t}();function he(t,s){if(t===!0||t===!1){var l=new xt;return l.value=t,l}var f="";return $e(t)||P(f),t.and?Se("and",t,s):t.or?Se("or",t,s):t.not?Tt(t,s):At(t,s)}function Se(t,s,l){var f=s[t],r="";Qe(f)||P(r),f.length||P(r);var v=t==="and"?new St:new It;return v.children=Ke(f,function(x){return he(x,l)}),v.children.length||P(r),v}function Tt(t,s){var l=t.not,f="";$e(l)||P(f);var r=new Ct;return r.child=he(l,s),r.child||P(f),r}function At(t,s){for(var l="",f=s.prepareGetValue(t),r=[],v=We(t),x=t.parser,C=x?Te(x):null,c=0;c<v.length;c++){var m=v[c];if(!(m==="parser"||s.valueGetterAttrMap.get(m))){var S=Ae(xe,m)?xe[m]:m,R=t[m],L=C?C(R):R,I=Xe(S,L)||S==="reg"&&new _t(L);I||P(l),r.push(I)}}r.length||P(l);var u=new Lt;return u.valueGetterParam=f,u.valueParser=C,u.getValue=s.getValue,u.subCondList=r,u}function $e(t){return qe(t)&&!Ue(t)}var Rt=function(){function t(s,l){this._cond=he(s,l)}return t.prototype.evaluate=function(){return this._cond.evaluate()},t}();function $t(t,s){return new Rt(t,s)}var wt={type:"echarts:filter",transform:function(t){for(var s=t.upstream,l,f=$t(t.config,{valueGetterAttrMap:Ze({dimension:!0}),prepareGetValue:function(C){var c="",m=C.dimension;Ae(C,"dimension")||P(c);var S=s.getDimensionInfo(m);return S||P(c),{dimIdx:S.index}},getValue:function(C){return s.retrieveValueFromItem(l,C.dimIdx)}}),r=[],v=0,x=s.count();v<x;v++)l=s.getRawDataItem(v),f.evaluate()&&r.push(l);return{data:r}}},kt={type:"echarts:sort",transform:function(t){var s=t.upstream,l=t.config,f="",r=et(l);r.length||P(f);var v=[];tt(r,function(S){var R=S.dimension,L=S.order,I=S.parser,u=S.incomparable;if(R==null&&P(f),L!=="asc"&&L!=="desc"&&P(f),u&&u!=="min"&&u!=="max"){var i="";P(i)}if(L!=="asc"&&L!=="desc"){var o="";P(o)}var T=s.getDimensionInfo(R);T||P(f);var $=I?Te(I):null;I&&!$&&P(f),v.push({dimIdx:T.index,parser:$,comparator:new st(L,u)})});var x=s.sourceFormat;x!==nt&&x!==at&&P(f);for(var C=[],c=0,m=s.count();c<m;c++)C.push(s.getRawDataItem(c));return C.sort(function(S,R){for(var L=0;L<v.length;L++){var I=v[L],u=s.retrieveValueFromItem(S,I.dimIdx),i=s.retrieveValueFromItem(R,I.dimIdx);I.parser&&(u=I.parser(u),i=I.parser(i));var o=I.comparator.evaluate(u,i);if(o!==0)return o}return 0}),{data:C}}};function Pt(t){t.registerTransform(wt),t.registerTransform(kt)}var Ot=function(t){Re(s,t);function s(){var l=t!==null&&t.apply(this,arguments)||this;return l.type="dataset",l}return s.prototype.init=function(l,f,r){t.prototype.init.call(this,l,f,r),this._sourceManager=new ot(this),_e(this)},s.prototype.mergeOption=function(l,f){t.prototype.mergeOption.call(this,l,f),_e(this)},s.prototype.optionUpdated=function(){this._sourceManager.dirty()},s.prototype.getSourceManager=function(){return this._sourceManager},s.type="dataset",s.defaultOption={seriesLayoutBy:it},s}(lt),Bt=function(t){Re(s,t);function s(){var l=t!==null&&t.apply(this,arguments)||this;return l.type="dataset",l}return s.type="dataset",s}(rt);function Dt(t){t.registerComponentModel(Ot),t.registerComponentView(Bt)}const X=t=>ht(t??0),q=t=>t==null?"0.00/s":`${t.toFixed(2)}/s`,ge=t=>t==null?"0%":`${t.toFixed(2)}%`,le=t=>{if(!t)return"-";const s=new Date(t);return Number.isNaN(s.getTime())?t:s.toLocaleString()},Mt=t=>{if(t==null)return"-";if(t<60)return`${t}s`;const s=Math.floor(t/60),l=t%60;if(s<60)return`${s}m ${l}s`;const f=Math.floor(s/60),r=s%60;return`${f}h ${r}m`},Nt=t=>t==null||t<=0?"0 B":vt(t).replace(" bytes"," B"),Et=t=>{if(!t)return"-";const s=t.replace(/\s+/g," ").trim();return s?s.length>320?`${s.slice(0,320)}...`:s:"-"},zt=t=>(t||"").toLowerCase().includes("idle in transaction"),Ft={class:"space-y-4"},Ht={class:"flex items-center justify-between"},Vt={key:0,class:"border border-red-300 bg-red-50 text-red-700 rounded-lg p-3 text-sm"},jt={class:"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-4 gap-2.5"},Gt={class:"h-full border rounded-lg p-2.5 space-y-2"},qt={class:"flex items-center gap-1"},Ut={class:"text-sm font-semibold leading-none tabular-nums"},Qt={class:"grid grid-cols-2 gap-x-3 gap-y-1 text-[11px]"},Kt={class:"text-muted-foreground"},Wt={class:"tabular-nums text-foreground"},Xt={class:"text-muted-foreground"},Yt={class:"tabular-nums text-foreground"},Jt={class:"text-muted-foreground"},Zt={class:"tabular-nums text-foreground"},es={class:"text-muted-foreground"},ts={class:"tabular-nums text-foreground"},ss={class:"h-full border rounded-lg p-2.5 space-y-2"},ns={class:"flex items-center gap-1"},as={class:"text-sm font-semibold leading-none tabular-nums"},os={class:"grid grid-cols-2 gap-x-3 gap-y-1 text-[11px]"},is={class:"text-muted-foreground"},ls={class:"tabular-nums text-foreground"},rs={class:"text-muted-foreground"},ds={class:"tabular-nums text-foreground"},cs={class:"text-muted-foreground"},us={class:"tabular-nums text-foreground"},ps={class:"text-muted-foreground"},fs={class:"tabular-nums text-foreground"},ms={class:"h-full border rounded-lg p-2.5 space-y-2"},gs={class:"flex items-center gap-1"},vs={class:"text-sm font-semibold leading-none tabular-nums"},hs={class:"grid grid-cols-2 gap-x-3 gap-y-1 text-[11px]"},bs={class:"text-muted-foreground"},ys={class:"tabular-nums text-foreground"},_s={class:"text-muted-foreground"},xs={class:"tabular-nums text-foreground"},Ss={class:"text-muted-foreground"},Is={class:"tabular-nums text-foreground"},Cs={class:"text-muted-foreground"},Ls={class:"tabular-nums text-foreground"},Ts={class:"h-full border rounded-lg p-2.5 space-y-2"},As={class:"flex items-center gap-1"},Rs={class:"text-sm font-semibold leading-none tabular-nums"},$s={class:"grid grid-cols-2 gap-x-3 gap-y-1 text-[11px]"},ws={class:"text-muted-foreground"},ks={class:"tabular-nums text-foreground"},Ps={class:"text-muted-foreground"},Os={class:"tabular-nums text-foreground"},Bs={class:"text-muted-foreground"},Ds={class:"tabular-nums text-foreground"},Ms={class:"text-muted-foreground"},Ns={class:"tabular-nums text-foreground"},Es={class:"grid grid-cols-1 xl:grid-cols-2 gap-3"},zs={class:"border rounded-lg p-2.5"},Fs={class:"insights-chart-container"},Hs={class:"border rounded-lg p-2.5"},Vs={class:"insights-chart-container"},js={class:"border rounded-lg p-2.5"},Gs={class:"insights-chart-container"},qs=ne({__name:"InstanceInsightsActivitySection",props:{dashboard:{},isLoading:{type:Boolean},isActionLoading:{type:Boolean},onRefresh:{type:Function}},setup(t){dt([ct,ut,pt,Dt,Pt,ft,mt,gt]);const s=t,l=k({}),f=k({}),r=k({}),v=(i,o)=>{o!=null&&o.selected&&(i.value={...o.selected})},x=i=>v(l,i),C=i=>v(f,i),c=i=>v(r,i),m=k([]);ie(()=>s.dashboard,i=>{if(!(i!=null&&i.capturedAt))return;const o=new Date(i.capturedAt).toLocaleTimeString(),T={capturedAt:i.capturedAt,label:o,sessionsTotal:i.sessions.total,sessionsActive:i.sessions.active,sessionsIdle:i.sessions.idle,tps:i.transactions.tps,commits:i.transactions.commitsPerSec,rollbacks:i.transactions.rollbacksPerSec,reads:i.blockIO.readsPerSec,hits:i.blockIO.hitsPerSec,hitRatio:i.blockIO.bufferHitRatio},$=m.value.findIndex(F=>F.capturedAt===T.capturedAt);if($>=0){m.value[$]=T;return}m.value.push(T),m.value.length>80&&(m.value=m.value.slice(-80))},{immediate:!0,deep:!0});const S=h(()=>m.value.map((i,o)=>({...i,idx:o}))),R=i=>Object.keys(i).length?i:void 0,L=h(()=>({tooltip:{trigger:"axis"},legend:{top:0,selected:R(l.value)},dataset:[{id:"sessions_raw",source:S.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"}}]})),I=h(()=>({tooltip:{trigger:"axis"},legend:{top:0,selected:R(f.value)},dataset:[{id:"transactions_dataset",source:S.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"}}]})),u=h(()=>({tooltip:{trigger:"axis"},legend:{top:0,selected:R(r.value)},dataset:[{id:"block_io_dataset",source:S.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(i,o)=>{var F,d,a,g,w,O,z,U,Q,J,Z,N,A,j,K,ee,te,p,y,H,E;const T=ae,$=re;return B(),D("div",Ft,[e("div",Ht,[o[2]||(o[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)),b($,{variant:"outline",size:"xs",disabled:i.isLoading||i.isActionLoading,class:"font-normal",onClick:o[0]||(o[0]=oe=>i.onRefresh())},{default:V(()=>[b(T,{name:"hugeicons:redo",class:pe(["size-4",i.isLoading&&"animate-spin"])},null,8,["class"]),o[1]||(o[1]=M(" Refresh Activity "))]),_:1},8,["disabled"])]),(F=i.dashboard)!=null&&F.sessions.exceedsThreshold?(B(),D("div",Vt,[o[3]||(o[3]=M(" Total connections are at ")),e("strong",null,_(n(ge)(i.dashboard.sessions.usagePercent)),1),o[4]||(o[4]=M(" of ")),o[5]||(o[5]=e("strong",null,"max_connections",-1)),o[6]||(o[6]=M(". Investigate connection pool usage. "))])):Y("",!0),e("div",jt,[e("div",Gt,[e("div",qt,[o[7]||(o[7]=e("p",{class:"text-xs uppercase text-muted-foreground"},"Sessions:",-1)),e("p",Ut,_(n(X)((d=i.dashboard)==null?void 0:d.sessions.total)),1)]),e("div",Qt,[e("p",Kt,[o[8]||(o[8]=e("span",null,"Active: ",-1)),e("span",Wt,_(n(X)((a=i.dashboard)==null?void 0:a.sessions.active)),1)]),e("p",Xt,[o[9]||(o[9]=e("span",null,"Idle: ",-1)),e("span",Yt,_(n(X)((g=i.dashboard)==null?void 0:g.sessions.idle)),1)]),e("p",Jt,[o[10]||(o[10]=e("span",null,"Max: ",-1)),e("span",Zt,_(n(X)((w=i.dashboard)==null?void 0:w.sessions.maxConnections)),1)]),e("p",es,[o[11]||(o[11]=e("span",null,"Usage: ",-1)),e("span",ts,_(n(ge)((O=i.dashboard)==null?void 0:O.sessions.usagePercent)),1)])])]),e("div",ss,[e("div",ns,[o[12]||(o[12]=e("p",{class:"text-xs uppercase text-muted-foreground"},"TPS:",-1)),e("p",as,_(n(q)((z=i.dashboard)==null?void 0:z.transactions.tps)),1)]),e("div",os,[e("p",is,[o[13]||(o[13]=e("span",null,"Commits/sec: ",-1)),e("span",ls,_(n(q)((U=i.dashboard)==null?void 0:U.transactions.commitsPerSec)),1)]),e("p",rs,[o[14]||(o[14]=e("span",null,"Rollbacks/sec: ",-1)),e("span",ds,_(n(q)((Q=i.dashboard)==null?void 0:Q.transactions.rollbacksPerSec)),1)]),e("p",cs,[o[15]||(o[15]=e("span",null,"Total Commits: ",-1)),e("span",us,_(n(X)((J=i.dashboard)==null?void 0:J.transactions.totalCommits)),1)]),e("p",ps,[o[16]||(o[16]=e("span",null,"Total Rollbacks: ",-1)),e("span",fs,_(n(X)((Z=i.dashboard)==null?void 0:Z.transactions.totalRollbacks)),1)])])]),e("div",ms,[e("div",gs,[o[17]||(o[17]=e("p",{class:"text-xs uppercase text-muted-foreground"},"Tuples:",-1)),e("p",vs,_(n(q)((N=i.dashboard)==null?void 0:N.tuples.insertsPerSec)),1)]),e("div",hs,[e("p",bs,[o[18]||(o[18]=e("span",null,"Updates: ",-1)),e("span",ys,_(n(q)((A=i.dashboard)==null?void 0:A.tuples.updatesPerSec)),1)]),e("p",_s,[o[19]||(o[19]=e("span",null,"Deletes: ",-1)),e("span",xs,_(n(q)((j=i.dashboard)==null?void 0:j.tuples.deletesPerSec)),1)]),e("p",Ss,[o[20]||(o[20]=e("span",null,"Fetched: ",-1)),e("span",Is,_(n(q)((K=i.dashboard)==null?void 0:K.tuples.fetchedPerSec)),1)]),e("p",Cs,[o[21]||(o[21]=e("span",null,"Returned: ",-1)),e("span",Ls,_(n(q)((ee=i.dashboard)==null?void 0:ee.tuples.returnedPerSec)),1)])])]),e("div",Ts,[e("div",As,[o[22]||(o[22]=e("p",{class:"text-xs uppercase text-muted-foreground"},"Block I/O:",-1)),e("p",Rs,_(n(ge)((te=i.dashboard)==null?void 0:te.blockIO.bufferHitRatio)),1)]),e("div",$s,[e("p",ws,[o[23]||(o[23]=e("span",null,"Reads/sec: ",-1)),e("span",ks,_(n(q)((p=i.dashboard)==null?void 0:p.blockIO.readsPerSec)),1)]),e("p",Ps,[o[24]||(o[24]=e("span",null,"Hits/sec: ",-1)),e("span",Os,_(n(q)((y=i.dashboard)==null?void 0:y.blockIO.hitsPerSec)),1)]),e("p",Bs,[o[25]||(o[25]=e("span",null,"Total Reads: ",-1)),e("span",Ds,_(n(X)((H=i.dashboard)==null?void 0:H.blockIO.totalReads)),1)]),e("p",Ms,[o[26]||(o[26]=e("span",null,"Total Hits: ",-1)),e("span",Ns,_(n(X)((E=i.dashboard)==null?void 0:E.blockIO.totalHits)),1)])])])]),e("div",Es,[e("div",zs,[o[27]||(o[27]=e("p",{class:"text-sm font-medium mb-1.5"},"Sessions Timeline",-1)),e("div",Fs,[b(n(me),{option:n(L),autoresize:"",class:"insights-chart",onLegendselectchanged:x},null,8,["option"])])]),e("div",Hs,[o[28]||(o[28]=e("p",{class:"text-sm font-medium mb-1.5"},"Transactions Timeline",-1)),e("div",Vs,[b(n(me),{option:n(I),autoresize:"",class:"insights-chart",onLegendselectchanged:C},null,8,["option"])])])]),e("div",js,[o[29]||(o[29]=e("p",{class:"text-sm font-medium mb-1.5"},"Block I/O Timeline",-1)),e("div",Gs,[b(n(me),{option:n(u),autoresize:"",class:"insights-chart",onLegendselectchanged:c},null,8,["option"])])])])}}}),Us=Ie(qs,[["__scopeId","data-v-ba36a884"]]),Qs={class:"space-y-4 h-full flex flex-col overflow-auto"},Ks={class:"flex items-center justify-between gap-2 flex-wrap"},Ws={class:"h-full"},Xs={class:"flex flex-col sm:flex-row sm:items-center gap-2 mb-2"},Ys={class:"relative flex-1"},Js=ne({__name:"InstanceInsightsConfigurationSection",props:{configuration:{},search:{},isLoading:{type:Boolean},isActionLoading:{type:Boolean},onRefresh:{type:Function}},emits:["update:search"],setup(t,{emit:s}){const l=t,f=s,r=h({get:()=>l.search,set:c=>f("update:search",c)}),v=h(()=>{var c;return((c=l.configuration)==null?void 0:c.rows)||[]}),x=h(()=>v.value.map(c=>({name:c.name,category:c.category,value:c.value,unit:c.unit||"-",requires_restart:c.pendingRestart?"yes":"no",description:c.description}))),C=h(()=>se(x.value));return(c,m)=>{const S=ae,R=re,L=we,I=ve;return B(),D("div",Qs,[e("div",Ks,[m[3]||(m[3]=e("div",null,[e("h3",{class:"text-sm font-medium"},"Configuration"),e("p",{class:"text-xs text-muted-foreground"},"Searchable pg_settings")],-1)),b(R,{variant:"outline",size:"xs",disabled:c.isLoading||c.isActionLoading,class:"font-normal",onClick:m[0]||(m[0]=u=>c.onRefresh())},{default:V(()=>[b(S,{name:"hugeicons:redo",class:pe(["size-4",c.isLoading&&"animate-spin"])},null,8,["class"]),m[2]||(m[2]=M(" Refresh Configuration "))]),_:1},8,["disabled"])]),e("div",Ws,[e("div",Xs,[e("div",Ys,[b(S,{name:"hugeicons:search-01",class:"size-4 absolute left-2.5 top-1/2 -translate-y-1/2 text-muted-foreground"}),b(L,{type:"text",placeholder:"Search setting name, category, or description...",class:"h-8 w-full pl-8 pr-3",modelValue:n(r),"onUpdate:modelValue":m[1]||(m[1]=u=>ue(r)?r.value=u:null)},null,8,["modelValue"])])]),b(I,{columns:n(C),data:n(x),class:"h-full border rounded-md",columnKeyBy:"field"},null,8,["columns","data"])])])}}}),Zs={class:"space-y-4"},en={class:"flex items-center justify-between"},tn={key:0,class:"border border-orange-300 bg-orange-50 text-orange-700 rounded-lg p-3 text-sm"},sn={class:"space-y-1.5"},nn={class:"space-y-1.5"},an={key:1,class:"border rounded-lg p-2.5"},on={class:"flex items-center justify-between gap-3 flex-wrap"},ln={class:"text-sm font-medium"},rn={class:"flex items-center gap-2"},dn=300,cn=120,un=44,pn=36,fn=ne({__name:"InstanceInsightsReplicationSection",props:{replication:{},isLoading:{type:Boolean},isActionLoading:{type:Boolean},onRefresh:{type:Function},onToggleSlotStatus:{type:Function},onDropSlot:{type:Function}},setup(t){const s=t,l=h(()=>{var d;return((d=s.replication)==null?void 0:d.replicationStats)||[]}),f=h(()=>{var d;return((d=s.replication)==null?void 0:d.replicationSlots)||[]}),r=k([]),v=d=>{r.value=d},x=h(()=>l.value.map(d=>({pid:d.pid,client_addr:d.clientAddr||"-",application:d.applicationName||"-",state:d.state||"-",sync_state:d.syncState||"-",reply_time:le(d.replyTime),write_lag:d.writeLag||"-",flush_lag:d.flushLag||"-",replay_lag:d.replayLag||"-"}))),C=["pid","client_addr","application","state","sync_state","reply_time","write_lag","flush_lag","replay_lag"],c=h(()=>x.value.length>0?se(x.value):bt(C)),m=h(()=>f.value.map(d=>({slot_name:d.slotName,slot_type:d.slotType,status:d.active?"on":"off",active_pid:d.activePid??"-",restart_lsn:d.restartLsn||"-",retained_wal:Nt(d.retainedBytes),temporary:d.temporary?"yes":"no"}))),S=h(()=>se(m.value)),R=d=>d<=0?cn:Math.min(dn,un+d*pn),L=h(()=>`${R(x.value.length)}px`),I=h(()=>`${R(m.value.length)}px`),u=h(()=>{var a;const d=String(((a=r.value[0])==null?void 0:a.slot_name)||"");return d&&f.value.find(g=>g.slotName===d)||null}),i=h(()=>{var d;return(d=u.value)!=null&&d.active?"off":"on"}),o=h(()=>i.value==="off"?"Turn Off Slot":"Turn On Slot"),T=d=>window.confirm(d),$=async()=>{u.value&&T(`Drop replication slot "${u.value.slotName}"? This action cannot be undone.`)&&await s.onDropSlot(u.value.slotName)},F=async()=>{u.value&&T(`Switch replication slot "${u.value.slotName}" to ${i.value.toUpperCase()} status?`)&&await s.onToggleSlotStatus({slotName:u.value.slotName,desiredStatus:i.value,activePid:u.value.activePid,slotType:u.value.slotType})};return(d,a)=>{var z;const g=ae,w=re,O=ve;return B(),D("div",Zs,[e("div",en,[a[2]||(a[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)),b(w,{variant:"outline",size:"xs",disabled:d.isLoading||d.isActionLoading,class:"font-normal",onClick:a[0]||(a[0]=U=>d.onRefresh())},{default:V(()=>[b(g,{name:"hugeicons:redo",class:pe(["size-4",d.isLoading&&"animate-spin"])},null,8,["class"]),a[1]||(a[1]=M(" Refresh Replication "))]),_:1},8,["disabled"])]),(z=d.replication)!=null&&z.staleSlotWarning?(B(),D("div",tn,_(d.replication.staleSlotWarning),1)):Y("",!0),e("div",sn,[a[3]||(a[3]=e("p",{class:"text-sm"},"Replication Stats",-1)),e("div",{class:"max-h-[300px]",style:be({height:n(L)})},[b(O,{columns:n(c),data:n(x),class:"h-full border rounded-md",columnKeyBy:"field"},null,8,["columns","data"])],4)]),e("div",nn,[a[4]||(a[4]=e("h4",{class:"text-sm font-normal"},"Replication Slots",-1)),e("div",{class:"max-h-[300px]",style:be({height:n(I)})},[b(O,{columns:n(S),data:n(m),selectedRows:n(r),class:"h-full border rounded-md",columnKeyBy:"field",onOnSelectedRows:v},null,8,["columns","data","selectedRows"])],4)]),n(u)?(B(),D("div",an,[e("div",on,[e("p",ln," Selected Slot: "+_(n(u).slotName)+" ("+_(n(u).active?"on":"off")+") · Active PID: "+_(n(u).activePid??"-"),1),e("div",rn,[b(w,{variant:"outline",size:"sm",disabled:d.isActionLoading,onClick:F},{default:V(()=>[M(_(n(o)),1)]),_:1},8,["disabled"]),b(w,{variant:"outline",size:"sm",disabled:d.isActionLoading,onClick:$},{default:V(()=>a[5]||(a[5]=[M(" Drop Slot ")])),_:1},8,["disabled"])])])])):Y("",!0)])}}}),mn={class:"space-y-4"},gn={class:"flex items-center justify-between"},vn={class:"space-y-1.5"},hn={class:"h-[360px]"},bn={key:0,class:"border rounded-lg p-2.5 space-y-2"},yn={class:"flex items-center justify-between gap-3 flex-wrap"},_n={class:"text-sm font-medium"},xn={class:"flex gap-2"},Sn=["innerHTML"],In={class:"grid grid-cols-1 xl:grid-cols-2 gap-3"},Cn={class:"space-y-1.5"},Ln={class:"h-[300px]"},Tn={class:"space-y-1.5"},An={class:"h-[300px]"},Rn=ne({__name:"InstanceInsightsStateSection",props:{state:{},isLoading:{type:Boolean},isActionLoading:{type:Boolean},onRefresh:{type:Function},onCancelQuery:{type:Function},onTerminateConnection:{type:Function}},setup(t){const s=t,{highlightSql:l}=yt(),f=h(()=>{var a;return((a=s.state)==null?void 0:a.sessions)||[]}),r=h(()=>{var a;return((a=s.state)==null?void 0:a.locks)||[]}),v=h(()=>{var a;return((a=s.state)==null?void 0:a.preparedTransactions)||[]}),x=k([]),C=a=>{x.value=a},c=h(()=>f.value.map(a=>({pid:a.pid,user:a.user,application:a.application||"-",client:a.client||"-",state:a.state||"-",wait_event:a.waitEvent||"-",blocking_pids:a.blockingPids.length?a.blockingPids.join(", "):"-",backend_start:le(a.backendStart),transaction_start:le(a.transactionStart),query_duration:Mt(a.durationSeconds),sql:Et(a.sql)}))),m=h(()=>se(c.value)),S=h(()=>r.value.map(a=>({lock_type:a.lockType,target_relation:a.targetRelation||"-",mode:a.mode,granted:a.granted?"yes":"no",pid:a.pid??"-",user:a.user||"-",state:a.state||"-"}))),R=h(()=>se(S.value)),L=h(()=>v.value.map(a=>({gid:a.gid,transaction:a.transaction,prepared:le(a.prepared),owner:a.owner,database:a.database}))),I=h(()=>se(L.value)),u=h(()=>{var g;const a=Number(((g=x.value[0])==null?void 0:g.pid)||0);return a&&f.value.find(w=>w.pid===a)||null}),i=a=>{if(!a||!a.trim())return"<pre><code>-</code></pre>";const g=a.replace(/\s+/g," ").trim(),w=g.length>900?`${g.slice(0,900)} ...`:g;return l(w)},o=h(()=>{var a;return i(((a=u.value)==null?void 0:a.sql)||null)}),T=(a,g)=>{const w=String(g.state||"");return zt(w)?"insights-danger-cell":void 0},$=a=>window.confirm(a),F=async()=>{u.value&&$(`Cancel query for PID ${u.value.pid}?`)&&await s.onCancelQuery(u.value.pid)},d=async()=>{u.value&&$(`Terminate connection for PID ${u.value.pid}?`)&&await s.onTerminateConnection(u.value.pid)};return(a,g)=>{const w=ae,O=re,z=ve;return B(),D("div",mn,[e("div",gn,[g[2]||(g[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)),b(O,{variant:"outline",size:"xs",disabled:a.isLoading||a.isActionLoading,class:"font-normal",onClick:g[0]||(g[0]=U=>a.onRefresh())},{default:V(()=>[b(w,{name:"hugeicons:redo",class:pe(["size-4",a.isLoading&&"animate-spin"])},null,8,["class"]),g[1]||(g[1]=M(" Refresh State "))]),_:1},8,["disabled"])]),e("div",vn,[g[3]||(g[3]=e("h4",{class:"text-sm font-normal"},"Active Sessions",-1)),e("div",hn,[b(z,{columns:n(m),data:n(c),selectedRows:n(x),getCellClass:T,class:"h-full border rounded-md",columnKeyBy:"field",onOnSelectedRows:C},null,8,["columns","data","selectedRows"])])]),n(u)?(B(),D("div",bn,[e("div",yn,[e("p",_n," Selected PID: "+_(n(u).pid)+" ("+_(n(u).state||"-")+") ",1),e("div",xn,[b(O,{variant:"outline",size:"sm",disabled:a.isActionLoading,onClick:F},{default:V(()=>g[4]||(g[4]=[M(" Cancel Query ")])),_:1},8,["disabled"]),b(O,{variant:"outline",size:"sm",disabled:a.isActionLoading,onClick:d},{default:V(()=>g[5]||(g[5]=[M(" Terminate Connection ")])),_:1},8,["disabled"])])]),e("div",null,[g[6]||(g[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:n(o)},null,8,Sn)])])):Y("",!0),e("div",In,[e("div",Cn,[g[7]||(g[7]=e("h4",{class:"text-sm font-normal"},"Locks",-1)),e("div",Ln,[b(z,{columns:n(R),data:n(S),class:"h-full border rounded-md",columnKeyBy:"field"},null,8,["columns","data"])])]),e("div",Tn,[g[8]||(g[8]=e("h4",{class:"text-sm font-normal"},"Prepared Transactions",-1)),e("div",An,[b(z,{columns:n(I),data:n(L),class:"h-full border rounded-md",columnKeyBy:"field"},null,8,["columns","data"])])])])])}}}),$n=Ie(Rn,[["__scopeId","data-v-2eab93d6"]]),wn=5e3;function kn(t){const s=k("activity"),l=k(!0),f=k(wn),r=k(null),v=k(!1),x=k(!1),C=k(!1),c=k(!1),m=k(!1),S=k(!1),R=k(null),L=k(null),I=k(null),u=k(null),i=k(""),o=ke(i,350),T=h(()=>!!t.value),$=k(!0);Pe(()=>{$.value=!1}),Oe(()=>{$.value=!0});const F=()=>{r.value=null,R.value=null,L.value=null,I.value=null,u.value=null},d=async(p,y)=>{var H;try{return r.value=null,await p()}catch(E){const oe=((H=E==null?void 0:E.data)==null?void 0:H.message)||(E==null?void 0:E.message)||(E==null?void 0:E.statusMessage)||y;return r.value=oe,null}},a=async(p={})=>{if(!T.value)return null;p.silent||(C.value=!0);const y=await d(async()=>await $fetch("/api/instance-insights/dashboard",{method:"POST",body:{...W(t.value)}}),"Failed to fetch activity dashboard");return y&&(R.value=y),p.silent||(C.value=!1),y},g=async(p={})=>{if(!T.value)return null;p.silent||(c.value=!0);const y=await d(async()=>await $fetch("/api/instance-insights/state",{method:"POST",body:{...W(t.value)}}),"Failed to fetch active sessions and locks");return y&&(L.value=y),p.silent||(c.value=!1),y},w=async(p={})=>{if(!T.value)return null;p.silent||(m.value=!0);const y=await d(async()=>await $fetch("/api/instance-insights/configuration",{method:"POST",body:{...W(t.value),search:o.value||void 0}}),"Failed to fetch PostgreSQL settings");return y&&(I.value=y),p.silent||(m.value=!1),y},O=async(p={})=>{if(!T.value)return null;p.silent||(S.value=!0);const y=await d(async()=>await $fetch("/api/instance-insights/replication",{method:"POST",body:{...W(t.value)}}),"Failed to fetch replication status");return y&&(u.value=y),p.silent||(S.value=!1),y},z=async(p=s.value,y={})=>{switch(p){case"activity":await a(y);break;case"state":await Promise.all([a({silent:!0}),g(y)]);break;case"configuration":await Promise.all([a({silent:!0}),w(y)]);break;case"replication":await Promise.all([a({silent:!0}),O(y)]);break;default:await a(y);break}},U=async(p={})=>{await Promise.all([a(p),g(p),w(p),O(p)])},Q=async(p,y)=>{if(!T.value)return!1;x.value=!0;const H=await d(p,"Action failed");return x.value=!1,H?(H.success?fe(y,{description:H.message}):fe(H.message,{description:"The server did not complete this action."}),H.success):(fe(r.value||"Action failed",{description:"Check database permissions and try again."}),!1)},J=async p=>{await Q(async()=>await $fetch("/api/instance-insights/cancel-query",{method:"POST",body:{...W(t.value),pid:p}}),`Cancelled query for PID ${p}`)&&await g({silent:!0})},Z=async p=>{await Q(async()=>await $fetch("/api/instance-insights/terminate-connection",{method:"POST",body:{...W(t.value),pid:p}}),`Terminated connection for PID ${p}`)&&(await g({silent:!0}),await a({silent:!0}))},N=async p=>{await Q(async()=>await $fetch("/api/instance-insights/drop-slot",{method:"POST",body:{...W(t.value),slotName:p}}),`Dropped replication slot "${p}"`)&&await O({silent:!0})},A=async p=>{await Q(async()=>await $fetch("/api/instance-insights/toggle-slot-status",{method:"POST",body:{...W(t.value),slotName:p.slotName,desiredStatus:p.desiredStatus,activePid:p.activePid??null,slotType:p.slotType??null}}),`Turned ${p.desiredStatus} slot "${p.slotName}"`)&&await O({silent:!0})},j=async()=>{if(!T.value){F();return}v.value=!0,await U(),v.value=!1};ie(()=>t.value,async p=>{if(!p){F();return}await j()},{immediate:!0}),ie(()=>o.value,async()=>{s.value!=="configuration"||!T.value||await w({silent:!0})}),ie(()=>s.value,async p=>{T.value&&(p==="state"&&!L.value&&await g(),p==="configuration"&&!I.value&&await w(),p==="replication"&&!u.value&&await O())});const{pause:K,resume:ee,isActive:te}=Be(async()=>{!T.value||!$.value||await z(s.value,{silent:!0})},f,{immediate:!1});return ie(()=>l.value,p=>{p?ee():K()},{immediate:!0}),{activeSection:s,autoRefresh:l,isAutoRefreshRunning:te,error:r,isInitialLoading:v,isActionLoading:x,isDashboardLoading:C,isStateLoading:c,isConfigurationLoading:m,isReplicationLoading:S,dashboard:R,state:L,configuration:I,replication:u,configurationSearch:i,refreshSection:z,refreshAll:U,fetchDashboard:a,fetchState:g,fetchConfiguration:w,fetchReplication:O,cancelQuery:J,terminateConnection:Z,dropReplicationSlot:N,toggleReplicationSlotStatus:A}}const Pn={class:"flex flex-col h-full p-3 gap-3 overflow-hidden"},On={class:"flex flex-col lg:flex-row lg:items-start lg:justify-between border rounded-lg p-3 gap-3 bg-background"},Bn={class:"space-y-1"},Dn={class:"flex items-center gap-2"},Mn={class:"text-sm text-muted-foreground flex items-center gap-0.5"},Nn={class:"flex items-center gap-0.5"},En={class:"font-medium text-foreground"},zn={key:0,class:"flex items-center gap-1.5 mt-0.5"},Fn={class:"flex items-center gap-2 flex-wrap"},Hn={class:"text-xs flex items-center gap-2"},Vn={class:"flex items-center justify-between gap-2"},jn={class:"text-xs text-muted-foreground"},Gn={key:0,class:"border border-red-300 bg-red-50 text-red-700 rounded-lg p-3 text-sm"},qn={key:1,class:"border rounded-lg p-6 flex items-center justify-center gap-2 text-muted-foreground"},Un={key:2,class:"flex-1 overflow-y-auto border rounded-lg p-3 bg-background"},Qn=ne({__name:"InstanceInsightsPanel",props:{dbConnectionString:{},databaseName:{},dbType:{}},setup(t){const s=[{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"}],{connectionStore:l}=Ce(),f=h(()=>l.selectedConnection),{activeSection:r,autoRefresh:v,error:x,isInitialLoading:C,isActionLoading:c,isDashboardLoading:m,isStateLoading:S,isConfigurationLoading:R,isReplicationLoading:L,dashboard:I,state:u,configuration:i,replication:o,configurationSearch:T,refreshSection:$,refreshAll:F,cancelQuery:d,terminateConnection:a,dropReplicationSlot:g,toggleReplicationSlotStatus:w}=kn(f);h(()=>s.find(N=>N.id===r.value));const O=h(()=>{var N,A,j,K;return r.value==="activity"?(N=I.value)==null?void 0:N.capturedAt:r.value==="state"?(A=u.value)==null?void 0:A.capturedAt:r.value==="configuration"?(j=i.value)==null?void 0:j.capturedAt:(K=o.value)==null?void 0:K.capturedAt}),z=()=>$("activity"),U=()=>$("state"),Q=()=>$("configuration"),J=()=>$("replication"),Z=N=>w(N);return(N,A)=>{var E,oe;const j=ae,K=Me,ee=Ne,te=re,p=Ge,y=je,H=Ve;return B(),D("div",Pn,[e("div",On,[e("div",Bn,[e("div",Dn,[b(j,{name:"hugeicons:database",class:"size-5 text-primary"}),A[4]||(A[4]=e("h2",{class:"text-lg font-medium"},"Instance Insights",-1))]),e("div",Mn,[A[5]||(A[5]=M(" connection: ")),e("div",Nn,[N.dbType?(B(),Le(De((E=n(Ee)(N.dbType))==null?void 0:E.icon),{key:0,class:"size-4!"})):Y("",!0),e("span",En,_(N.databaseName),1)])]),(oe=n(I))!=null&&oe.version?(B(),D("div",zn,[b(K,{variant:"outline",class:"text-[10px] h-5 px-1.5 font-normal"},{default:V(()=>[M(" PostgreSQL "+_(n(I).version),1)]),_:1})])):Y("",!0)]),e("div",Fn,[e("div",Hn,[b(ee,{id:"insights-auto-refresh","model-value":n(v),"onUpdate:modelValue":A[0]||(A[0]=G=>ue(v)?v.value=G:null),class:"cursor-pointer"},null,8,["model-value"]),A[6]||(A[6]=e("label",{for:"insights-auto-refresh",class:"cursor-pointer"}," Auto refresh ",-1))]),b(te,{variant:"outline",size:"sm",disabled:n(C)||n(c),onClick:A[1]||(A[1]=G=>n(F)()),class:"font-normal"},{default:V(()=>[b(j,{name:"hugeicons:redo",class:"size-4"}),A[7]||(A[7]=M(" Refresh All "))]),_:1},8,["disabled"])])]),e("div",Vn,[b(H,{modelValue:n(r),"onUpdate:modelValue":A[2]||(A[2]=G=>ue(r)?r.value=G:null),class:"gap-0 flex-1 min-w-0"},{default:V(()=>[b(y,{class:"h-8 max-w-full overflow-x-auto justify-start!"},{default:V(()=>[(B(),D(ze,null,Fe(s,G=>b(p,{key:G.id,value:G.id,class:"text-xs px-1.5 rounded-sm cursor-pointer min-w-fit shrink-0",onClick:Xn=>n($)(G.id,{silent:!0})},{default:V(()=>[b(j,{name:G.icon,class:"size-3.5!"},null,8,["name"]),M(" "+_(G.tabLabel),1)]),_:2},1032,["value","onClick"])),64))]),_:1})]),_:1},8,["modelValue"]),e("div",jn," Last updated: "+_(n(le)(n(O))),1)]),n(x)?(B(),D("div",Gn,_(n(x)),1)):Y("",!0),n(C)&&!n(I)?(B(),D("div",qn,[b(j,{name:"hugeicons:redo",class:"size-4 animate-spin"}),A[8]||(A[8]=M(" Loading instance insights... "))])):(B(),D("div",Un,[de(b(Us,{dashboard:n(I),isLoading:n(m),isActionLoading:n(c),onRefresh:z},null,8,["dashboard","isLoading","isActionLoading"]),[[ce,n(r)==="activity"]]),de(b($n,{state:n(u),isLoading:n(S),isActionLoading:n(c),onRefresh:U,onCancelQuery:n(d),onTerminateConnection:n(a)},null,8,["state","isLoading","isActionLoading","onCancelQuery","onTerminateConnection"]),[[ce,n(r)==="state"]]),de(b(Js,{search:n(T),"onUpdate:search":A[3]||(A[3]=G=>ue(T)?T.value=G:null),configuration:n(i),isLoading:n(R),isActionLoading:n(c),onRefresh:Q},null,8,["search","configuration","isLoading","isActionLoading"]),[[ce,n(r)==="configuration"]]),de(b(fn,{replication:n(o),isLoading:n(L),isActionLoading:n(c),onRefresh:J,onDropSlot:n(g),onToggleSlotStatus:Z},null,8,["replication","isLoading","isActionLoading","onDropSlot"]),[[ce,n(r)==="replication"]])]))])}}}),Kn={class:"h-full"},Wn={key:0,class:"h-full p-4 flex flex-col items-center justify-center text-muted-foreground"},ra=ne({__name:"index",setup(t){const s=He(),{connectionStore:l}=Ce(),f=h(()=>String(s.params.connectionId||"")),r=h(()=>f.value?l.connections.find(c=>c.id===f.value):null),v=h(()=>{var c;return((c=r.value)==null?void 0:c.connectionString)||""}),x=h(()=>{var c;return(c=r.value)==null?void 0:c.type}),C=h(()=>{var c,m;return((c=r.value)==null?void 0:c.database)||((m=r.value)==null?void 0:m.name)||"database"});return(c,m)=>{const S=ae;return B(),D("div",Kn,[n(v)?(B(),Le(Qn,{key:1,"db-connection-string":n(v),"database-name":n(C),"db-type":n(x)},null,8,["db-connection-string","database-name","db-type"])):(B(),D("div",Wn,[b(S,{name:"hugeicons:plug-socket",class:"size-12 mb-2 opacity-50"}),m[0]||(m[0]=e("p",{class:"text-sm"},"Select a connection to open Instance Insights",-1))]))])}}});export{ra as default};
|
|
1
|
+
import{d as ne,r as k,aC as ie,E as h,g as D,h as e,a as Y,l as b,m as re,e as V,p as M,x as _,b as n,q as ae,n as pe,o as B,as as Ie,R as we,W as ue,aG as be,a3 as ke,bh as Pe,ba as Oe,bi as Be,bf as W,M as fe,k as Ce,c as Le,t as De,aO as Me,bg as Ne,bj as de,bk as ce,v as Ee,F as ze,s as Fe,a6 as He}from"./FyrDS92w.js";import{_ as Ve,a as je,b as Ge}from"./D6YseYA6.js";import{t as P,i as qe,a as Ue,b as Qe,m as Ke,k as We,g as Te,h as Ae,c as Xe,d as ye,e as Ye,f as Je,j as Ze,n as et,l as tt,S as st,o as nt,p as at,_ as $e,q as ot,r as _e,s as it,C as lt,u as rt,v as dt,E as me,w as ct,x as ut,y as pt,z as ft,A as mt,B as gt}from"./DVe5MHjS.js";import{f as vt}from"./BKltSiU0.js";import{f as ht}from"./-lZvfnzr.js";import{_ as ve}from"./ClnidwGv.js";import{b as se,a as bt}from"./BVmBXPoG.js";import{u as yt}from"./DQiMjOqm.js";import"./Btu7FO8S.js";import"./CzF1NEwP.js";import"./Bdtn2mn5.js";var xe={value:"eq","<":"lt","<=":"lte",">":"gt",">=":"gte","=":"eq","!=":"ne","<>":"ne"},_t=function(){function t(s){var l=this._condVal=ye(s)?new RegExp(s):Ye(s)?s:null;if(l==null){var f="";P(f)}}return t.prototype.evaluate=function(s){var l=typeof s;return ye(l)?this._condVal.test(s):Je(l)?this._condVal.test(s+""):!1},t}(),xt=function(){function t(){}return t.prototype.evaluate=function(){return this.value},t}(),St=function(){function t(){}return t.prototype.evaluate=function(){for(var s=this.children,l=0;l<s.length;l++)if(!s[l].evaluate())return!1;return!0},t}(),It=function(){function t(){}return t.prototype.evaluate=function(){for(var s=this.children,l=0;l<s.length;l++)if(s[l].evaluate())return!0;return!1},t}(),Ct=function(){function t(){}return t.prototype.evaluate=function(){return!this.child.evaluate()},t}(),Lt=function(){function t(){}return t.prototype.evaluate=function(){for(var s=!!this.valueParser,l=this.getValue,f=l(this.valueGetterParam),r=s?this.valueParser(f):null,v=0;v<this.subCondList.length;v++)if(!this.subCondList[v].evaluate(s?r:f))return!1;return!0},t}();function he(t,s){if(t===!0||t===!1){var l=new xt;return l.value=t,l}var f="";return Re(t)||P(f),t.and?Se("and",t,s):t.or?Se("or",t,s):t.not?Tt(t,s):At(t,s)}function Se(t,s,l){var f=s[t],r="";Qe(f)||P(r),f.length||P(r);var v=t==="and"?new St:new It;return v.children=Ke(f,function(x){return he(x,l)}),v.children.length||P(r),v}function Tt(t,s){var l=t.not,f="";Re(l)||P(f);var r=new Ct;return r.child=he(l,s),r.child||P(f),r}function At(t,s){for(var l="",f=s.prepareGetValue(t),r=[],v=We(t),x=t.parser,C=x?Te(x):null,c=0;c<v.length;c++){var m=v[c];if(!(m==="parser"||s.valueGetterAttrMap.get(m))){var S=Ae(xe,m)?xe[m]:m,$=t[m],L=C?C($):$,I=Xe(S,L)||S==="reg"&&new _t(L);I||P(l),r.push(I)}}r.length||P(l);var u=new Lt;return u.valueGetterParam=f,u.valueParser=C,u.getValue=s.getValue,u.subCondList=r,u}function Re(t){return qe(t)&&!Ue(t)}var $t=function(){function t(s,l){this._cond=he(s,l)}return t.prototype.evaluate=function(){return this._cond.evaluate()},t}();function Rt(t,s){return new $t(t,s)}var wt={type:"echarts:filter",transform:function(t){for(var s=t.upstream,l,f=Rt(t.config,{valueGetterAttrMap:Ze({dimension:!0}),prepareGetValue:function(C){var c="",m=C.dimension;Ae(C,"dimension")||P(c);var S=s.getDimensionInfo(m);return S||P(c),{dimIdx:S.index}},getValue:function(C){return s.retrieveValueFromItem(l,C.dimIdx)}}),r=[],v=0,x=s.count();v<x;v++)l=s.getRawDataItem(v),f.evaluate()&&r.push(l);return{data:r}}},kt={type:"echarts:sort",transform:function(t){var s=t.upstream,l=t.config,f="",r=et(l);r.length||P(f);var v=[];tt(r,function(S){var $=S.dimension,L=S.order,I=S.parser,u=S.incomparable;if($==null&&P(f),L!=="asc"&&L!=="desc"&&P(f),u&&u!=="min"&&u!=="max"){var i="";P(i)}if(L!=="asc"&&L!=="desc"){var o="";P(o)}var T=s.getDimensionInfo($);T||P(f);var R=I?Te(I):null;I&&!R&&P(f),v.push({dimIdx:T.index,parser:R,comparator:new st(L,u)})});var x=s.sourceFormat;x!==nt&&x!==at&&P(f);for(var C=[],c=0,m=s.count();c<m;c++)C.push(s.getRawDataItem(c));return C.sort(function(S,$){for(var L=0;L<v.length;L++){var I=v[L],u=s.retrieveValueFromItem(S,I.dimIdx),i=s.retrieveValueFromItem($,I.dimIdx);I.parser&&(u=I.parser(u),i=I.parser(i));var o=I.comparator.evaluate(u,i);if(o!==0)return o}return 0}),{data:C}}};function Pt(t){t.registerTransform(wt),t.registerTransform(kt)}var Ot=function(t){$e(s,t);function s(){var l=t!==null&&t.apply(this,arguments)||this;return l.type="dataset",l}return s.prototype.init=function(l,f,r){t.prototype.init.call(this,l,f,r),this._sourceManager=new ot(this),_e(this)},s.prototype.mergeOption=function(l,f){t.prototype.mergeOption.call(this,l,f),_e(this)},s.prototype.optionUpdated=function(){this._sourceManager.dirty()},s.prototype.getSourceManager=function(){return this._sourceManager},s.type="dataset",s.defaultOption={seriesLayoutBy:it},s}(lt),Bt=function(t){$e(s,t);function s(){var l=t!==null&&t.apply(this,arguments)||this;return l.type="dataset",l}return s.type="dataset",s}(rt);function Dt(t){t.registerComponentModel(Ot),t.registerComponentView(Bt)}const X=t=>ht(t??0),q=t=>t==null?"0.00/s":`${t.toFixed(2)}/s`,ge=t=>t==null?"0%":`${t.toFixed(2)}%`,le=t=>{if(!t)return"-";const s=new Date(t);return Number.isNaN(s.getTime())?t:s.toLocaleString()},Mt=t=>{if(t==null)return"-";if(t<60)return`${t}s`;const s=Math.floor(t/60),l=t%60;if(s<60)return`${s}m ${l}s`;const f=Math.floor(s/60),r=s%60;return`${f}h ${r}m`},Nt=t=>t==null||t<=0?"0 B":vt(t).replace(" bytes"," B"),Et=t=>{if(!t)return"-";const s=t.replace(/\s+/g," ").trim();return s?s.length>320?`${s.slice(0,320)}...`:s:"-"},zt=t=>(t||"").toLowerCase().includes("idle in transaction"),Ft={class:"space-y-4"},Ht={class:"flex items-center justify-between"},Vt={key:0,class:"border border-red-300 bg-red-50 text-red-700 rounded-lg p-3 text-sm"},jt={class:"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-4 gap-2.5"},Gt={class:"h-full border rounded-lg p-2.5 space-y-2"},qt={class:"flex items-center gap-1"},Ut={class:"text-sm font-semibold leading-none tabular-nums"},Qt={class:"grid grid-cols-2 gap-x-3 gap-y-1 text-[11px]"},Kt={class:"text-muted-foreground"},Wt={class:"tabular-nums text-foreground"},Xt={class:"text-muted-foreground"},Yt={class:"tabular-nums text-foreground"},Jt={class:"text-muted-foreground"},Zt={class:"tabular-nums text-foreground"},es={class:"text-muted-foreground"},ts={class:"tabular-nums text-foreground"},ss={class:"h-full border rounded-lg p-2.5 space-y-2"},ns={class:"flex items-center gap-1"},as={class:"text-sm font-semibold leading-none tabular-nums"},os={class:"grid grid-cols-2 gap-x-3 gap-y-1 text-[11px]"},is={class:"text-muted-foreground"},ls={class:"tabular-nums text-foreground"},rs={class:"text-muted-foreground"},ds={class:"tabular-nums text-foreground"},cs={class:"text-muted-foreground"},us={class:"tabular-nums text-foreground"},ps={class:"text-muted-foreground"},fs={class:"tabular-nums text-foreground"},ms={class:"h-full border rounded-lg p-2.5 space-y-2"},gs={class:"flex items-center gap-1"},vs={class:"text-sm font-semibold leading-none tabular-nums"},hs={class:"grid grid-cols-2 gap-x-3 gap-y-1 text-[11px]"},bs={class:"text-muted-foreground"},ys={class:"tabular-nums text-foreground"},_s={class:"text-muted-foreground"},xs={class:"tabular-nums text-foreground"},Ss={class:"text-muted-foreground"},Is={class:"tabular-nums text-foreground"},Cs={class:"text-muted-foreground"},Ls={class:"tabular-nums text-foreground"},Ts={class:"h-full border rounded-lg p-2.5 space-y-2"},As={class:"flex items-center gap-1"},$s={class:"text-sm font-semibold leading-none tabular-nums"},Rs={class:"grid grid-cols-2 gap-x-3 gap-y-1 text-[11px]"},ws={class:"text-muted-foreground"},ks={class:"tabular-nums text-foreground"},Ps={class:"text-muted-foreground"},Os={class:"tabular-nums text-foreground"},Bs={class:"text-muted-foreground"},Ds={class:"tabular-nums text-foreground"},Ms={class:"text-muted-foreground"},Ns={class:"tabular-nums text-foreground"},Es={class:"grid grid-cols-1 xl:grid-cols-2 gap-3"},zs={class:"border rounded-lg p-2.5"},Fs={class:"insights-chart-container"},Hs={class:"border rounded-lg p-2.5"},Vs={class:"insights-chart-container"},js={class:"border rounded-lg p-2.5"},Gs={class:"insights-chart-container"},qs=ne({__name:"InstanceInsightsActivitySection",props:{dashboard:{},isLoading:{type:Boolean},isActionLoading:{type:Boolean},onRefresh:{type:Function}},setup(t){dt([ct,ut,pt,Dt,Pt,ft,mt,gt]);const s=t,l=k({}),f=k({}),r=k({}),v=(i,o)=>{o!=null&&o.selected&&(i.value={...o.selected})},x=i=>v(l,i),C=i=>v(f,i),c=i=>v(r,i),m=k([]);ie(()=>s.dashboard,i=>{if(!(i!=null&&i.capturedAt))return;const o=new Date(i.capturedAt).toLocaleTimeString(),T={capturedAt:i.capturedAt,label:o,sessionsTotal:i.sessions.total,sessionsActive:i.sessions.active,sessionsIdle:i.sessions.idle,tps:i.transactions.tps,commits:i.transactions.commitsPerSec,rollbacks:i.transactions.rollbacksPerSec,reads:i.blockIO.readsPerSec,hits:i.blockIO.hitsPerSec,hitRatio:i.blockIO.bufferHitRatio},R=m.value.findIndex(F=>F.capturedAt===T.capturedAt);if(R>=0){m.value[R]=T;return}m.value.push(T),m.value.length>80&&(m.value=m.value.slice(-80))},{immediate:!0,deep:!0});const S=h(()=>m.value.map((i,o)=>({...i,idx:o}))),$=i=>Object.keys(i).length?i:void 0,L=h(()=>({tooltip:{trigger:"axis"},legend:{top:0,selected:$(l.value)},dataset:[{id:"sessions_raw",source:S.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"}}]})),I=h(()=>({tooltip:{trigger:"axis"},legend:{top:0,selected:$(f.value)},dataset:[{id:"transactions_dataset",source:S.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"}}]})),u=h(()=>({tooltip:{trigger:"axis"},legend:{top:0,selected:$(r.value)},dataset:[{id:"block_io_dataset",source:S.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(i,o)=>{var F,d,a,g,w,O,z,U,Q,J,Z,N,A,j,K,ee,te,p,y,H,E;const T=ae,R=re;return B(),D("div",Ft,[e("div",Ht,[o[2]||(o[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)),b(R,{variant:"outline",size:"xs",disabled:i.isLoading||i.isActionLoading,class:"font-normal",onClick:o[0]||(o[0]=oe=>i.onRefresh())},{default:V(()=>[b(T,{name:"hugeicons:redo",class:pe(["size-4",i.isLoading&&"animate-spin"])},null,8,["class"]),o[1]||(o[1]=M(" Refresh Activity "))]),_:1},8,["disabled"])]),(F=i.dashboard)!=null&&F.sessions.exceedsThreshold?(B(),D("div",Vt,[o[3]||(o[3]=M(" Total connections are at ")),e("strong",null,_(n(ge)(i.dashboard.sessions.usagePercent)),1),o[4]||(o[4]=M(" of ")),o[5]||(o[5]=e("strong",null,"max_connections",-1)),o[6]||(o[6]=M(". Investigate connection pool usage. "))])):Y("",!0),e("div",jt,[e("div",Gt,[e("div",qt,[o[7]||(o[7]=e("p",{class:"text-xs uppercase text-muted-foreground"},"Sessions:",-1)),e("p",Ut,_(n(X)((d=i.dashboard)==null?void 0:d.sessions.total)),1)]),e("div",Qt,[e("p",Kt,[o[8]||(o[8]=e("span",null,"Active: ",-1)),e("span",Wt,_(n(X)((a=i.dashboard)==null?void 0:a.sessions.active)),1)]),e("p",Xt,[o[9]||(o[9]=e("span",null,"Idle: ",-1)),e("span",Yt,_(n(X)((g=i.dashboard)==null?void 0:g.sessions.idle)),1)]),e("p",Jt,[o[10]||(o[10]=e("span",null,"Max: ",-1)),e("span",Zt,_(n(X)((w=i.dashboard)==null?void 0:w.sessions.maxConnections)),1)]),e("p",es,[o[11]||(o[11]=e("span",null,"Usage: ",-1)),e("span",ts,_(n(ge)((O=i.dashboard)==null?void 0:O.sessions.usagePercent)),1)])])]),e("div",ss,[e("div",ns,[o[12]||(o[12]=e("p",{class:"text-xs uppercase text-muted-foreground"},"TPS:",-1)),e("p",as,_(n(q)((z=i.dashboard)==null?void 0:z.transactions.tps)),1)]),e("div",os,[e("p",is,[o[13]||(o[13]=e("span",null,"Commits/sec: ",-1)),e("span",ls,_(n(q)((U=i.dashboard)==null?void 0:U.transactions.commitsPerSec)),1)]),e("p",rs,[o[14]||(o[14]=e("span",null,"Rollbacks/sec: ",-1)),e("span",ds,_(n(q)((Q=i.dashboard)==null?void 0:Q.transactions.rollbacksPerSec)),1)]),e("p",cs,[o[15]||(o[15]=e("span",null,"Total Commits: ",-1)),e("span",us,_(n(X)((J=i.dashboard)==null?void 0:J.transactions.totalCommits)),1)]),e("p",ps,[o[16]||(o[16]=e("span",null,"Total Rollbacks: ",-1)),e("span",fs,_(n(X)((Z=i.dashboard)==null?void 0:Z.transactions.totalRollbacks)),1)])])]),e("div",ms,[e("div",gs,[o[17]||(o[17]=e("p",{class:"text-xs uppercase text-muted-foreground"},"Tuples:",-1)),e("p",vs,_(n(q)((N=i.dashboard)==null?void 0:N.tuples.insertsPerSec)),1)]),e("div",hs,[e("p",bs,[o[18]||(o[18]=e("span",null,"Updates: ",-1)),e("span",ys,_(n(q)((A=i.dashboard)==null?void 0:A.tuples.updatesPerSec)),1)]),e("p",_s,[o[19]||(o[19]=e("span",null,"Deletes: ",-1)),e("span",xs,_(n(q)((j=i.dashboard)==null?void 0:j.tuples.deletesPerSec)),1)]),e("p",Ss,[o[20]||(o[20]=e("span",null,"Fetched: ",-1)),e("span",Is,_(n(q)((K=i.dashboard)==null?void 0:K.tuples.fetchedPerSec)),1)]),e("p",Cs,[o[21]||(o[21]=e("span",null,"Returned: ",-1)),e("span",Ls,_(n(q)((ee=i.dashboard)==null?void 0:ee.tuples.returnedPerSec)),1)])])]),e("div",Ts,[e("div",As,[o[22]||(o[22]=e("p",{class:"text-xs uppercase text-muted-foreground"},"Block I/O:",-1)),e("p",$s,_(n(ge)((te=i.dashboard)==null?void 0:te.blockIO.bufferHitRatio)),1)]),e("div",Rs,[e("p",ws,[o[23]||(o[23]=e("span",null,"Reads/sec: ",-1)),e("span",ks,_(n(q)((p=i.dashboard)==null?void 0:p.blockIO.readsPerSec)),1)]),e("p",Ps,[o[24]||(o[24]=e("span",null,"Hits/sec: ",-1)),e("span",Os,_(n(q)((y=i.dashboard)==null?void 0:y.blockIO.hitsPerSec)),1)]),e("p",Bs,[o[25]||(o[25]=e("span",null,"Total Reads: ",-1)),e("span",Ds,_(n(X)((H=i.dashboard)==null?void 0:H.blockIO.totalReads)),1)]),e("p",Ms,[o[26]||(o[26]=e("span",null,"Total Hits: ",-1)),e("span",Ns,_(n(X)((E=i.dashboard)==null?void 0:E.blockIO.totalHits)),1)])])])]),e("div",Es,[e("div",zs,[o[27]||(o[27]=e("p",{class:"text-sm font-medium mb-1.5"},"Sessions Timeline",-1)),e("div",Fs,[b(n(me),{option:n(L),autoresize:"",class:"insights-chart",onLegendselectchanged:x},null,8,["option"])])]),e("div",Hs,[o[28]||(o[28]=e("p",{class:"text-sm font-medium mb-1.5"},"Transactions Timeline",-1)),e("div",Vs,[b(n(me),{option:n(I),autoresize:"",class:"insights-chart",onLegendselectchanged:C},null,8,["option"])])])]),e("div",js,[o[29]||(o[29]=e("p",{class:"text-sm font-medium mb-1.5"},"Block I/O Timeline",-1)),e("div",Gs,[b(n(me),{option:n(u),autoresize:"",class:"insights-chart",onLegendselectchanged:c},null,8,["option"])])])])}}}),Us=Ie(qs,[["__scopeId","data-v-ba36a884"]]),Qs={class:"space-y-4 h-full flex flex-col overflow-auto"},Ks={class:"flex items-center justify-between gap-2 flex-wrap"},Ws={class:"h-full"},Xs={class:"flex flex-col sm:flex-row sm:items-center gap-2 mb-2"},Ys={class:"relative flex-1"},Js=ne({__name:"InstanceInsightsConfigurationSection",props:{configuration:{},search:{},isLoading:{type:Boolean},isActionLoading:{type:Boolean},onRefresh:{type:Function}},emits:["update:search"],setup(t,{emit:s}){const l=t,f=s,r=h({get:()=>l.search,set:c=>f("update:search",c)}),v=h(()=>{var c;return((c=l.configuration)==null?void 0:c.rows)||[]}),x=h(()=>v.value.map(c=>({name:c.name,category:c.category,value:c.value,unit:c.unit||"-",requires_restart:c.pendingRestart?"yes":"no",description:c.description}))),C=h(()=>se(x.value));return(c,m)=>{const S=ae,$=re,L=we,I=ve;return B(),D("div",Qs,[e("div",Ks,[m[3]||(m[3]=e("div",null,[e("h3",{class:"text-sm font-medium"},"Configuration"),e("p",{class:"text-xs text-muted-foreground"},"Searchable pg_settings")],-1)),b($,{variant:"outline",size:"xs",disabled:c.isLoading||c.isActionLoading,class:"font-normal",onClick:m[0]||(m[0]=u=>c.onRefresh())},{default:V(()=>[b(S,{name:"hugeicons:redo",class:pe(["size-4",c.isLoading&&"animate-spin"])},null,8,["class"]),m[2]||(m[2]=M(" Refresh Configuration "))]),_:1},8,["disabled"])]),e("div",Ws,[e("div",Xs,[e("div",Ys,[b(S,{name:"hugeicons:search-01",class:"size-4 absolute left-2.5 top-1/2 -translate-y-1/2 text-muted-foreground"}),b(L,{type:"text",placeholder:"Search setting name, category, or description...",class:"h-8 w-full pl-8 pr-3",modelValue:n(r),"onUpdate:modelValue":m[1]||(m[1]=u=>ue(r)?r.value=u:null)},null,8,["modelValue"])])]),b(I,{columns:n(C),data:n(x),class:"h-full border rounded-md",columnKeyBy:"field"},null,8,["columns","data"])])])}}}),Zs={class:"space-y-4"},en={class:"flex items-center justify-between"},tn={key:0,class:"border border-orange-300 bg-orange-50 text-orange-700 rounded-lg p-3 text-sm"},sn={class:"space-y-1.5"},nn={class:"space-y-1.5"},an={key:1,class:"border rounded-lg p-2.5"},on={class:"flex items-center justify-between gap-3 flex-wrap"},ln={class:"text-sm font-medium"},rn={class:"flex items-center gap-2"},dn=300,cn=120,un=44,pn=36,fn=ne({__name:"InstanceInsightsReplicationSection",props:{replication:{},isLoading:{type:Boolean},isActionLoading:{type:Boolean},onRefresh:{type:Function},onToggleSlotStatus:{type:Function},onDropSlot:{type:Function}},setup(t){const s=t,l=h(()=>{var d;return((d=s.replication)==null?void 0:d.replicationStats)||[]}),f=h(()=>{var d;return((d=s.replication)==null?void 0:d.replicationSlots)||[]}),r=k([]),v=d=>{r.value=d},x=h(()=>l.value.map(d=>({pid:d.pid,client_addr:d.clientAddr||"-",application:d.applicationName||"-",state:d.state||"-",sync_state:d.syncState||"-",reply_time:le(d.replyTime),write_lag:d.writeLag||"-",flush_lag:d.flushLag||"-",replay_lag:d.replayLag||"-"}))),C=["pid","client_addr","application","state","sync_state","reply_time","write_lag","flush_lag","replay_lag"],c=h(()=>x.value.length>0?se(x.value):bt(C)),m=h(()=>f.value.map(d=>({slot_name:d.slotName,slot_type:d.slotType,status:d.active?"on":"off",active_pid:d.activePid??"-",restart_lsn:d.restartLsn||"-",retained_wal:Nt(d.retainedBytes),temporary:d.temporary?"yes":"no"}))),S=h(()=>se(m.value)),$=d=>d<=0?cn:Math.min(dn,un+d*pn),L=h(()=>`${$(x.value.length)}px`),I=h(()=>`${$(m.value.length)}px`),u=h(()=>{var a;const d=String(((a=r.value[0])==null?void 0:a.slot_name)||"");return d&&f.value.find(g=>g.slotName===d)||null}),i=h(()=>{var d;return(d=u.value)!=null&&d.active?"off":"on"}),o=h(()=>i.value==="off"?"Turn Off Slot":"Turn On Slot"),T=d=>window.confirm(d),R=async()=>{u.value&&T(`Drop replication slot "${u.value.slotName}"? This action cannot be undone.`)&&await s.onDropSlot(u.value.slotName)},F=async()=>{u.value&&T(`Switch replication slot "${u.value.slotName}" to ${i.value.toUpperCase()} status?`)&&await s.onToggleSlotStatus({slotName:u.value.slotName,desiredStatus:i.value,activePid:u.value.activePid,slotType:u.value.slotType})};return(d,a)=>{var z;const g=ae,w=re,O=ve;return B(),D("div",Zs,[e("div",en,[a[2]||(a[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)),b(w,{variant:"outline",size:"xs",disabled:d.isLoading||d.isActionLoading,class:"font-normal",onClick:a[0]||(a[0]=U=>d.onRefresh())},{default:V(()=>[b(g,{name:"hugeicons:redo",class:pe(["size-4",d.isLoading&&"animate-spin"])},null,8,["class"]),a[1]||(a[1]=M(" Refresh Replication "))]),_:1},8,["disabled"])]),(z=d.replication)!=null&&z.staleSlotWarning?(B(),D("div",tn,_(d.replication.staleSlotWarning),1)):Y("",!0),e("div",sn,[a[3]||(a[3]=e("p",{class:"text-sm"},"Replication Stats",-1)),e("div",{class:"max-h-[300px]",style:be({height:n(L)})},[b(O,{columns:n(c),data:n(x),class:"h-full border rounded-md",columnKeyBy:"field"},null,8,["columns","data"])],4)]),e("div",nn,[a[4]||(a[4]=e("h4",{class:"text-sm font-normal"},"Replication Slots",-1)),e("div",{class:"max-h-[300px]",style:be({height:n(I)})},[b(O,{columns:n(S),data:n(m),selectedRows:n(r),class:"h-full border rounded-md",columnKeyBy:"field",onOnSelectedRows:v},null,8,["columns","data","selectedRows"])],4)]),n(u)?(B(),D("div",an,[e("div",on,[e("p",ln," Selected Slot: "+_(n(u).slotName)+" ("+_(n(u).active?"on":"off")+") · Active PID: "+_(n(u).activePid??"-"),1),e("div",rn,[b(w,{variant:"outline",size:"sm",disabled:d.isActionLoading,onClick:F},{default:V(()=>[M(_(n(o)),1)]),_:1},8,["disabled"]),b(w,{variant:"outline",size:"sm",disabled:d.isActionLoading,onClick:R},{default:V(()=>a[5]||(a[5]=[M(" Drop Slot ")])),_:1},8,["disabled"])])])])):Y("",!0)])}}}),mn={class:"space-y-4"},gn={class:"flex items-center justify-between"},vn={class:"space-y-1.5"},hn={class:"h-[360px]"},bn={key:0,class:"border rounded-lg p-2.5 space-y-2"},yn={class:"flex items-center justify-between gap-3 flex-wrap"},_n={class:"text-sm font-medium"},xn={class:"flex gap-2"},Sn=["innerHTML"],In={class:"grid grid-cols-1 xl:grid-cols-2 gap-3"},Cn={class:"space-y-1.5"},Ln={class:"h-[300px]"},Tn={class:"space-y-1.5"},An={class:"h-[300px]"},$n=ne({__name:"InstanceInsightsStateSection",props:{state:{},isLoading:{type:Boolean},isActionLoading:{type:Boolean},onRefresh:{type:Function},onCancelQuery:{type:Function},onTerminateConnection:{type:Function}},setup(t){const s=t,{highlightSql:l}=yt(),f=h(()=>{var a;return((a=s.state)==null?void 0:a.sessions)||[]}),r=h(()=>{var a;return((a=s.state)==null?void 0:a.locks)||[]}),v=h(()=>{var a;return((a=s.state)==null?void 0:a.preparedTransactions)||[]}),x=k([]),C=a=>{x.value=a},c=h(()=>f.value.map(a=>({pid:a.pid,user:a.user,application:a.application||"-",client:a.client||"-",state:a.state||"-",wait_event:a.waitEvent||"-",blocking_pids:a.blockingPids.length?a.blockingPids.join(", "):"-",backend_start:le(a.backendStart),transaction_start:le(a.transactionStart),query_duration:Mt(a.durationSeconds),sql:Et(a.sql)}))),m=h(()=>se(c.value)),S=h(()=>r.value.map(a=>({lock_type:a.lockType,target_relation:a.targetRelation||"-",mode:a.mode,granted:a.granted?"yes":"no",pid:a.pid??"-",user:a.user||"-",state:a.state||"-"}))),$=h(()=>se(S.value)),L=h(()=>v.value.map(a=>({gid:a.gid,transaction:a.transaction,prepared:le(a.prepared),owner:a.owner,database:a.database}))),I=h(()=>se(L.value)),u=h(()=>{var g;const a=Number(((g=x.value[0])==null?void 0:g.pid)||0);return a&&f.value.find(w=>w.pid===a)||null}),i=a=>{if(!a||!a.trim())return"<pre><code>-</code></pre>";const g=a.replace(/\s+/g," ").trim(),w=g.length>900?`${g.slice(0,900)} ...`:g;return l(w)},o=h(()=>{var a;return i(((a=u.value)==null?void 0:a.sql)||null)}),T=(a,g)=>{const w=String(g.state||"");return zt(w)?"insights-danger-cell":void 0},R=a=>window.confirm(a),F=async()=>{u.value&&R(`Cancel query for PID ${u.value.pid}?`)&&await s.onCancelQuery(u.value.pid)},d=async()=>{u.value&&R(`Terminate connection for PID ${u.value.pid}?`)&&await s.onTerminateConnection(u.value.pid)};return(a,g)=>{const w=ae,O=re,z=ve;return B(),D("div",mn,[e("div",gn,[g[2]||(g[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)),b(O,{variant:"outline",size:"xs",disabled:a.isLoading||a.isActionLoading,class:"font-normal",onClick:g[0]||(g[0]=U=>a.onRefresh())},{default:V(()=>[b(w,{name:"hugeicons:redo",class:pe(["size-4",a.isLoading&&"animate-spin"])},null,8,["class"]),g[1]||(g[1]=M(" Refresh State "))]),_:1},8,["disabled"])]),e("div",vn,[g[3]||(g[3]=e("h4",{class:"text-sm font-normal"},"Active Sessions",-1)),e("div",hn,[b(z,{columns:n(m),data:n(c),selectedRows:n(x),getCellClass:T,class:"h-full border rounded-md",columnKeyBy:"field",onOnSelectedRows:C},null,8,["columns","data","selectedRows"])])]),n(u)?(B(),D("div",bn,[e("div",yn,[e("p",_n," Selected PID: "+_(n(u).pid)+" ("+_(n(u).state||"-")+") ",1),e("div",xn,[b(O,{variant:"outline",size:"sm",disabled:a.isActionLoading,onClick:F},{default:V(()=>g[4]||(g[4]=[M(" Cancel Query ")])),_:1},8,["disabled"]),b(O,{variant:"outline",size:"sm",disabled:a.isActionLoading,onClick:d},{default:V(()=>g[5]||(g[5]=[M(" Terminate Connection ")])),_:1},8,["disabled"])])]),e("div",null,[g[6]||(g[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:n(o)},null,8,Sn)])])):Y("",!0),e("div",In,[e("div",Cn,[g[7]||(g[7]=e("h4",{class:"text-sm font-normal"},"Locks",-1)),e("div",Ln,[b(z,{columns:n($),data:n(S),class:"h-full border rounded-md",columnKeyBy:"field"},null,8,["columns","data"])])]),e("div",Tn,[g[8]||(g[8]=e("h4",{class:"text-sm font-normal"},"Prepared Transactions",-1)),e("div",An,[b(z,{columns:n(I),data:n(L),class:"h-full border rounded-md",columnKeyBy:"field"},null,8,["columns","data"])])])])])}}}),Rn=Ie($n,[["__scopeId","data-v-2eab93d6"]]),wn=5e3;function kn(t){const s=k("activity"),l=k(!0),f=k(wn),r=k(null),v=k(!1),x=k(!1),C=k(!1),c=k(!1),m=k(!1),S=k(!1),$=k(null),L=k(null),I=k(null),u=k(null),i=k(""),o=ke(i,350),T=h(()=>!!t.value),R=k(!0);Pe(()=>{R.value=!1}),Oe(()=>{R.value=!0});const F=()=>{r.value=null,$.value=null,L.value=null,I.value=null,u.value=null},d=async(p,y)=>{var H;try{return r.value=null,await p()}catch(E){const oe=((H=E==null?void 0:E.data)==null?void 0:H.message)||(E==null?void 0:E.message)||(E==null?void 0:E.statusMessage)||y;return r.value=oe,null}},a=async(p={})=>{if(!T.value)return null;p.silent||(C.value=!0);const y=await d(async()=>await $fetch("/api/instance-insights/dashboard",{method:"POST",body:{...W(t.value)}}),"Failed to fetch activity dashboard");return y&&($.value=y),p.silent||(C.value=!1),y},g=async(p={})=>{if(!T.value)return null;p.silent||(c.value=!0);const y=await d(async()=>await $fetch("/api/instance-insights/state",{method:"POST",body:{...W(t.value)}}),"Failed to fetch active sessions and locks");return y&&(L.value=y),p.silent||(c.value=!1),y},w=async(p={})=>{if(!T.value)return null;p.silent||(m.value=!0);const y=await d(async()=>await $fetch("/api/instance-insights/configuration",{method:"POST",body:{...W(t.value),search:o.value||void 0}}),"Failed to fetch PostgreSQL settings");return y&&(I.value=y),p.silent||(m.value=!1),y},O=async(p={})=>{if(!T.value)return null;p.silent||(S.value=!0);const y=await d(async()=>await $fetch("/api/instance-insights/replication",{method:"POST",body:{...W(t.value)}}),"Failed to fetch replication status");return y&&(u.value=y),p.silent||(S.value=!1),y},z=async(p=s.value,y={})=>{switch(p){case"activity":await a(y);break;case"state":await Promise.all([a({silent:!0}),g(y)]);break;case"configuration":await Promise.all([a({silent:!0}),w(y)]);break;case"replication":await Promise.all([a({silent:!0}),O(y)]);break;default:await a(y);break}},U=async(p={})=>{await Promise.all([a(p),g(p),w(p),O(p)])},Q=async(p,y)=>{if(!T.value)return!1;x.value=!0;const H=await d(p,"Action failed");return x.value=!1,H?(H.success?fe(y,{description:H.message}):fe(H.message,{description:"The server did not complete this action."}),H.success):(fe(r.value||"Action failed",{description:"Check database permissions and try again."}),!1)},J=async p=>{await Q(async()=>await $fetch("/api/instance-insights/cancel-query",{method:"POST",body:{...W(t.value),pid:p}}),`Cancelled query for PID ${p}`)&&await g({silent:!0})},Z=async p=>{await Q(async()=>await $fetch("/api/instance-insights/terminate-connection",{method:"POST",body:{...W(t.value),pid:p}}),`Terminated connection for PID ${p}`)&&(await g({silent:!0}),await a({silent:!0}))},N=async p=>{await Q(async()=>await $fetch("/api/instance-insights/drop-slot",{method:"POST",body:{...W(t.value),slotName:p}}),`Dropped replication slot "${p}"`)&&await O({silent:!0})},A=async p=>{await Q(async()=>await $fetch("/api/instance-insights/toggle-slot-status",{method:"POST",body:{...W(t.value),slotName:p.slotName,desiredStatus:p.desiredStatus,activePid:p.activePid??null,slotType:p.slotType??null}}),`Turned ${p.desiredStatus} slot "${p.slotName}"`)&&await O({silent:!0})},j=async()=>{if(!T.value){F();return}v.value=!0,await U(),v.value=!1};ie(()=>t.value,async p=>{if(!p){F();return}await j()},{immediate:!0}),ie(()=>o.value,async()=>{s.value!=="configuration"||!T.value||await w({silent:!0})}),ie(()=>s.value,async p=>{T.value&&(p==="state"&&!L.value&&await g(),p==="configuration"&&!I.value&&await w(),p==="replication"&&!u.value&&await O())});const{pause:K,resume:ee,isActive:te}=Be(async()=>{!T.value||!R.value||await z(s.value,{silent:!0})},f,{immediate:!1});return ie(()=>l.value,p=>{p?ee():K()},{immediate:!0}),{activeSection:s,autoRefresh:l,isAutoRefreshRunning:te,error:r,isInitialLoading:v,isActionLoading:x,isDashboardLoading:C,isStateLoading:c,isConfigurationLoading:m,isReplicationLoading:S,dashboard:$,state:L,configuration:I,replication:u,configurationSearch:i,refreshSection:z,refreshAll:U,fetchDashboard:a,fetchState:g,fetchConfiguration:w,fetchReplication:O,cancelQuery:J,terminateConnection:Z,dropReplicationSlot:N,toggleReplicationSlotStatus:A}}const Pn={class:"flex flex-col h-full p-3 gap-3 overflow-hidden"},On={class:"flex flex-col lg:flex-row lg:items-start lg:justify-between border rounded-lg p-3 gap-3 bg-background"},Bn={class:"space-y-1"},Dn={class:"flex items-center gap-2"},Mn={class:"text-sm text-muted-foreground flex items-center gap-0.5"},Nn={class:"flex items-center gap-0.5"},En={class:"font-medium text-foreground"},zn={key:0,class:"flex items-center gap-1.5 mt-0.5"},Fn={class:"flex items-center gap-2 flex-wrap"},Hn={class:"text-xs flex items-center gap-2"},Vn={class:"flex items-center justify-between gap-2"},jn={class:"text-xs text-muted-foreground"},Gn={key:0,class:"border border-red-300 bg-red-50 text-red-700 rounded-lg p-3 text-sm"},qn={key:1,class:"border rounded-lg p-6 flex items-center justify-center gap-2 text-muted-foreground"},Un={key:2,class:"flex-1 overflow-y-auto border rounded-lg p-3 bg-background"},Qn=ne({__name:"InstanceInsightsPanel",props:{dbConnectionString:{},databaseName:{},dbType:{}},setup(t){const s=[{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"}],{connectionStore:l}=Ce(),f=h(()=>l.selectedConnection),{activeSection:r,autoRefresh:v,error:x,isInitialLoading:C,isActionLoading:c,isDashboardLoading:m,isStateLoading:S,isConfigurationLoading:$,isReplicationLoading:L,dashboard:I,state:u,configuration:i,replication:o,configurationSearch:T,refreshSection:R,refreshAll:F,cancelQuery:d,terminateConnection:a,dropReplicationSlot:g,toggleReplicationSlotStatus:w}=kn(f);h(()=>s.find(N=>N.id===r.value));const O=h(()=>{var N,A,j,K;return r.value==="activity"?(N=I.value)==null?void 0:N.capturedAt:r.value==="state"?(A=u.value)==null?void 0:A.capturedAt:r.value==="configuration"?(j=i.value)==null?void 0:j.capturedAt:(K=o.value)==null?void 0:K.capturedAt}),z=()=>R("activity"),U=()=>R("state"),Q=()=>R("configuration"),J=()=>R("replication"),Z=N=>w(N);return(N,A)=>{var E,oe;const j=ae,K=Me,ee=Ne,te=re,p=Ge,y=je,H=Ve;return B(),D("div",Pn,[e("div",On,[e("div",Bn,[e("div",Dn,[b(j,{name:"hugeicons:database",class:"size-5 text-primary"}),A[4]||(A[4]=e("h2",{class:"text-lg font-medium"},"Instance Insights",-1))]),e("div",Mn,[A[5]||(A[5]=M(" connection: ")),e("div",Nn,[N.dbType?(B(),Le(De((E=n(Ee)(N.dbType))==null?void 0:E.icon),{key:0,class:"size-4!"})):Y("",!0),e("span",En,_(N.databaseName),1)])]),(oe=n(I))!=null&&oe.version?(B(),D("div",zn,[b(K,{variant:"outline",class:"text-[10px] h-5 px-1.5 font-normal"},{default:V(()=>[M(" PostgreSQL "+_(n(I).version),1)]),_:1})])):Y("",!0)]),e("div",Fn,[e("div",Hn,[b(ee,{id:"insights-auto-refresh","model-value":n(v),"onUpdate:modelValue":A[0]||(A[0]=G=>ue(v)?v.value=G:null),class:"cursor-pointer"},null,8,["model-value"]),A[6]||(A[6]=e("label",{for:"insights-auto-refresh",class:"cursor-pointer"}," Auto refresh ",-1))]),b(te,{variant:"outline",size:"sm",disabled:n(C)||n(c),onClick:A[1]||(A[1]=G=>n(F)()),class:"font-normal"},{default:V(()=>[b(j,{name:"hugeicons:redo",class:"size-4"}),A[7]||(A[7]=M(" Refresh All "))]),_:1},8,["disabled"])])]),e("div",Vn,[b(H,{modelValue:n(r),"onUpdate:modelValue":A[2]||(A[2]=G=>ue(r)?r.value=G:null),class:"gap-0 flex-1 min-w-0"},{default:V(()=>[b(y,{class:"h-8 max-w-full overflow-x-auto justify-start!"},{default:V(()=>[(B(),D(ze,null,Fe(s,G=>b(p,{key:G.id,value:G.id,class:"text-xs px-1.5 rounded-sm cursor-pointer min-w-fit shrink-0",onClick:Xn=>n(R)(G.id,{silent:!0})},{default:V(()=>[b(j,{name:G.icon,class:"size-3.5!"},null,8,["name"]),M(" "+_(G.tabLabel),1)]),_:2},1032,["value","onClick"])),64))]),_:1})]),_:1},8,["modelValue"]),e("div",jn," Last updated: "+_(n(le)(n(O))),1)]),n(x)?(B(),D("div",Gn,_(n(x)),1)):Y("",!0),n(C)&&!n(I)?(B(),D("div",qn,[b(j,{name:"hugeicons:redo",class:"size-4 animate-spin"}),A[8]||(A[8]=M(" Loading instance insights... "))])):(B(),D("div",Un,[de(b(Us,{dashboard:n(I),isLoading:n(m),isActionLoading:n(c),onRefresh:z},null,8,["dashboard","isLoading","isActionLoading"]),[[ce,n(r)==="activity"]]),de(b(Rn,{state:n(u),isLoading:n(S),isActionLoading:n(c),onRefresh:U,onCancelQuery:n(d),onTerminateConnection:n(a)},null,8,["state","isLoading","isActionLoading","onCancelQuery","onTerminateConnection"]),[[ce,n(r)==="state"]]),de(b(Js,{search:n(T),"onUpdate:search":A[3]||(A[3]=G=>ue(T)?T.value=G:null),configuration:n(i),isLoading:n($),isActionLoading:n(c),onRefresh:Q},null,8,["search","configuration","isLoading","isActionLoading"]),[[ce,n(r)==="configuration"]]),de(b(fn,{replication:n(o),isLoading:n(L),isActionLoading:n(c),onRefresh:J,onDropSlot:n(g),onToggleSlotStatus:Z},null,8,["replication","isLoading","isActionLoading","onDropSlot"]),[[ce,n(r)==="replication"]])]))])}}}),Kn={class:"h-full"},Wn={key:0,class:"h-full p-4 flex flex-col items-center justify-center text-muted-foreground"},ra=ne({__name:"index",setup(t){const s=He(),{connectionStore:l}=Ce(),f=h(()=>String(s.params.connectionId||"")),r=h(()=>f.value?l.connections.find(c=>c.id===f.value):null),v=h(()=>{var c;return((c=r.value)==null?void 0:c.connectionString)||""}),x=h(()=>{var c;return(c=r.value)==null?void 0:c.type}),C=h(()=>{var c,m;return((c=r.value)==null?void 0:c.database)||((m=r.value)==null?void 0:m.name)||"database"});return(c,m)=>{const S=ae;return B(),D("div",Kn,[n(v)?(B(),Le(Qn,{key:1,"db-connection-string":n(v),"database-name":n(C),"db-type":n(x)},null,8,["db-connection-string","database-name","db-type"])):(B(),D("div",Wn,[b(S,{name:"hugeicons:plug-socket",class:"size-12 mb-2 opacity-50"}),m[0]||(m[0]=e("p",{class:"text-sm"},"Select a connection to open Instance Insights",-1))]))])}}});export{ra as default};
|