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
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import{_ as Qa,a as Wa,b as Ka}from"./BjK8Fug8.js";import{R as xe,ez as ce,Q as sa,eA as la,cA as ut,O as Pe,eB as Ya,c as M,eC as an,d as ee,d3 as Xa,I as Ke,e as L,o as T,m as y,l as Q,F as re,s as ve,k as K,a7 as he,w as c,f as l,a4 as pe,g as a,A as ie,a9 as be,t as z,aa as we,dV as on,u as Et,a as ra,dz as Ja,bw as Ee,ae as ge,r as J,b as ia,_ as sn,i as ye,h as ln,n as de,j as rn,q as Ct,v as Dn,x as cn,y as ca,z as F,C as Za,B as un,aY as At,ad as $t,cE as Ht,cD as ua,D as Qt,bh as dn,N as qe,aI as $e,cx as dt,cy as et,ai as H,aQ as En,an as De,aj as Me,ch as Oe,ar as je,ex as eo,eD as Ge,az as Wt,aA as An,eE as $n,eF as Le,bd as mn,b5 as fn,b6 as pn,b7 as vn,b8 as gn,bE as to,b9 as yn,ba as hn,bb as da,af as ma,E as Te,K as Ce,au as It,cW as no,aB as vt,av as gt,bL as ao,bR as oo,bM as so,bN as lo,bO as ro,bg as io,bP as co,bx as fa,by as pa,bz as va,cK as uo,bQ as mo,bc as Je,eG as fo,aD as bn,dF as po,G as _t,P as vo,S as go,e0 as yo,dC as ho,e1 as bo,e2 as wo,e3 as Rn,e4 as _o,eH as xo,cG as So,eI as To,a8 as Rt,eJ as Co,dU as Io,bJ as Do,eK as ga,eL as Eo,eM as Ao,eN as $o,eO as Kt,cn as kn,as as Ro,eP as xt,a2 as st,eQ as ko,T as ya,a3 as Oo,a0 as No,a1 as Lo,eR as Po,aX as Fo,aF as yt}from"./D7uoAo-G.js";import{F as Ye}from"./vGkKA7iH.js";import{i as Mo,g as Yt,a as Lt}from"./BG_B-fo0.js";import{_ as Uo}from"./CYu-xp_f.js";import{_ as kt,C as q,b as Vo,c as zo,d as jo,f as Pt}from"./uHyBIwWw.js";import{b as Bo,c as qo,d as Go,e as Ho,f as Qo}from"./COAycMg4.js";import{a as Be,_ as Wo,b as Ko,c as Yo}from"./DitYzGT4.js";import{u as ha,_ as ba}from"./DDQU7vSH.js";import{g as Ft}from"./C7A87LE3.js";import{u as Xo}from"./Clm3Z8VL.js";import{_ as Jo}from"./1VXrIDkr.js";import{_ as Zo}from"./BoPjUGS6.js";import{a as es,b as ts,c as ns,d as as,e as os}from"./39ZZCZCn.js";import{R as ze,u as wa,_ as ss}from"./BjpSpz5C.js";import{u as ls}from"./Cj9tYr3P.js";import{b as rs,d as is,e as cs}from"./Da1F0IxL.js";import{_ as us,e as ds,f as ms}from"./BbzZxPNQ.js";import{_ as Mt}from"./Bhm1GL_M.js";import{_ as Ut}from"./BNnChlxR.js";import"./CSPqdI4x.js";import"./B5rxJs06.js";import"./DRuCf0Sx.js";import"./CTYqoFvv.js";import"./C1TOiVRQ.js";import"./2TwRWQjG.js";var Re=(t=>(t.Superuser="superuser",t.User="user",t.Role="role",t))(Re||{});const fs=[{id:ce.Explorer,title:"Explorer",icon:"hugeicons:folder-file-storage"},{id:ce.Schemas,title:"Schemas",icon:"hugeicons:database"},{id:ce.ErdDiagram,title:"ErdDiagram",icon:"hugeicons:hierarchy-square-02"},{id:ce.UsersRoles,title:"Users & Roles",icon:"hugeicons:user-shield-01"},{id:ce.DatabaseTools,title:"Database Tools",icon:"hugeicons:block-game"},{id:ce.Agent,title:"AI Agent",icon:"hugeicons:robotic"}],_a={Explorer:ce.Explorer,Schemas:ce.Schemas,ERDiagram:ce.ErdDiagram,UsersRoles:ce.UsersRoles,DatabaseTools:ce.DatabaseTools,Agent:ce.Agent},Xt={type:xe.POSTGRES,method:sa.STRING},ps=new Set([xe.MYSQL,xe.MYSQL2,xe.MARIADB,xe.ORACLE,xe.SQLITE3,xe.BETTER_SQLITE3,xe.REDIS]),vs=new Set([xe.MYSQL,xe.MYSQL2,xe.MARIADB,xe.SQLITE3,xe.BETTER_SQLITE3,xe.REDIS]),xa=(t,e)=>t.filter(n=>!(n==="Agent"&&e&&ps.has(e)||n==="UsersRoles"&&e&&vs.has(e))).map(n=>_a[n]),Sa=()=>{const t=la(),e=ut(),n=Pe(),{trackEvent:o}=Ya(),r=M(()=>an(n.selectedConnection??Xt)),s=M(()=>{var d;return(d=n.selectedConnection)==null?void 0:d.type}),i=M(()=>xa(r.value.visibleActivityItems,s.value));return{activity:M(()=>fs.filter(d=>i.value.includes(d.id)).map(d=>({...d,isActive:t.activityActive===d.id}))),onChangeActivity:(d,f)=>{i.value.includes(d)&&(t.setActivityActive(d),f&&e.onToggleActivityBarPanel(),o("activity_bar",{activity:d}))}}},gs={class:"max-w-9 min-w-9 py-2"},ys={class:"flex flex-col justify-between h-full space-y-2"},hs={class:"flex flex-col items-center gap-1"},bs=ee({__name:"ActivityBar",setup(t){const{activity:e,onChangeActivity:n}=Sa();return Xa(),(o,r)=>{const s=ie,i=pe,m=be,u=we,d=he,f=on("auto-animate");return Ke((T(),L("div",gs,[y("div",ys,[y("div",hs,[(T(!0),L(re,null,ve(a(e),h=>(T(),K(d,null,{default:c(()=>[l(m,{"as-child":""},{default:c(()=>[l(i,{size:"iconMd",variant:h.isActive?"default":"ghost",onClick:b=>a(n)(h.id,!0)},{default:c(()=>[l(s,{name:h.icon,class:"size-5!"},null,8,["name"])]),_:2},1032,["variant","onClick"])]),_:2},1024),l(u,{side:"right"},{default:c(()=>[y("p",null,z(h.title),1)]),_:2},1024)]),_:2},1024))),256))]),Q("",!0)])])),[[f]])}}}),ws={class:"flex items-center gap-1"},_s=ee({__name:"ActivityBarHorizontal",setup(t){const{activity:e,onChangeActivity:n}=Sa();return(o,r)=>{const s=ie,i=pe,m=be,u=we,d=he;return T(),L("div",ws,[(T(!0),L(re,null,ve(a(e),f=>(T(),K(d,null,{default:c(()=>[l(m,{"as-child":""},{default:c(()=>[l(i,{size:"iconMd",variant:f.isActive?"default":"ghost",onClick:h=>a(n)(f.id)},{default:c(()=>[l(s,{name:f.icon,class:"size-5!"},null,8,["name"])]),_:2},1032,["variant","onClick"])]),_:2},1024),l(u,{side:"bottom"},{default:c(()=>[y("p",null,z(f.title),1)]),_:2},1024)]),_:2},1024))),256))])}}});var We=(t=>(t.Tables="Tables",t.Functions="Functions",t.Views="Views",t))(We||{}),Ne=(t=>(t.Root="Root",t))(Ne||{});const xs={key:0,class:"flex min-w-0 flex-1 items-center gap-2 overflow-hidden"},Ss={class:"min-w-0 truncate"},Ts={key:0,class:"flex max-w-[45%] flex-shrink-0 items-center gap-1 overflow-hidden"},Cs={key:1,class:"opacity-50"},Is={class:"flex items-center gap-2"},Ds={class:"truncate"},Es={key:0,class:"flex items-center gap-1 ml-auto flex-shrink-0"},As={key:1,class:"ml-auto text-xs text-muted-foreground"},$s=ee({__name:"ConnectionSelector",props:{class:{},workspaceId:{}},setup(t){const{createConnection:e,openWorkspaceWithConnection:n}=Et(),o=Pe(),r=ra(),{checkAndConfirm:s}=Ja(),i=ia(),{connectionId:m}=Ee(),{selectedConnection:u}=ge(o),d=t,f=J(!1),h=M(()=>Mo(i.public.sqlite3ConnectionsEnabled)),b=async C=>{if(typeof C=="string"&&C!==m.value){const _=w.value.find(x=>x.id===C);if(_&&Lt(_,h.value)||_&&!await s(_))return;await n({connId:C,wsId:d.workspaceId})}},p=J(!1),v=C=>{e(C)},g=()=>{p.value=!0,f.value=!1},w=M(()=>o.getConnectionsByWorkspaceId(d.workspaceId)),E=M(()=>u.value?r.getTagsByIds(u.value.tagIds??[]):[]);return(C,_)=>{const x=ie,$=Za,N=cn;return T(),L(re,null,[l(a(Uo),{open:a(p),"editing-connection":null,"onUpdate:open":_[0]||(_[0]=S=>p.value=S),onAddNew:v,workspaceId:C.workspaceId},null,8,["open","workspaceId"]),l(a(sn),{"onUpdate:modelValue":b,"model-value":a(m),open:a(f),"onUpdate:open":_[1]||(_[1]=S=>ye(f)?f.value=S:null),size:"sm"},{default:c(()=>[l(a(ln),{class:de(a(rn)(d.class,"w-48 min-w-0 cursor-pointer"))},{default:c(()=>{var S,A;return[a(u)?(T(),L("div",xs,[(T(),K(Ct((S=a(Yt)(a(u).type))==null?void 0:S.icon),{class:"size-4! min-w-4! flex-shrink-0"})),y("span",Ss,z((A=a(u))==null?void 0:A.name),1),a(E).length?(T(),L("div",Ts,[(T(!0),L(re,null,ve(a(E),O=>(T(),K(a(Dn),{key:O.id,tag:O},null,8,["tag"]))),128))])):Q("",!0)])):(T(),L("div",Cs,"Select connection"))]}),_:1},8,["class"]),l(N,null,{default:c(()=>[l(a(ca),null,{default:c(()=>[y("div",{class:"flex px-2 py-0.5 h-8 hover:bg-muted rounded-md font-normal text-sm items-center gap-1 cursor-pointer",onClick:g},[l(x,{name:"lucide:plus"}),_[2]||(_[2]=F(" Add new connection "))]),a(w).length?(T(),K($,{key:0})):Q("",!0),(T(!0),L(re,null,ve(a(w),S=>(T(),K(a(un),{class:"cursor-pointer",value:S.id,disabled:a(Lt)(S,a(h))},{default:c(()=>{var A;return[y("div",Is,[(T(),K(Ct((A=a(Yt)(S.type))==null?void 0:A.icon),{class:"size-4!"})),y("span",Ds,z(S.name),1),(S.tagIds??[]).length?(T(),L("div",Es,[(T(!0),L(re,null,ve(a(r).getTagsByIds(S.tagIds??[]),O=>(T(),K(a(Dn),{key:O.id,tag:O},null,8,["tag"]))),128))])):Q("",!0),a(Lt)(S,a(h))?(T(),L("span",As," Disabled ")):Q("",!0)])]}),_:2},1032,["value","disabled"]))),256))]),_:1})]),_:1})]),_:1},8,["model-value","open"])],64)}}}),Rs={key:0,class:"flex items-center gap-2 w-44 truncate"},ks={key:1,class:"opacity-50"},Os=ee({__name:"SchemaSelector",props:{class:{}},setup(t){const e=t,{setSchemaId:n}=Et(),o=At(),r=$t(),{activeSchema:s,schemasByContext:i}=ge(o),{schemaId:m}=ge(r);return(u,d)=>{const f=cn;return T(),K(a(sn),{"onUpdate:modelValue":d[0]||(d[0]=h=>{a(n)(h)}),"model-value":a(m),size:"sm"},{default:c(()=>[l(a(ln),{class:de(a(rn)(e.class,"w-48 cursor-pointer"))},{default:c(()=>{var h;return[a(s)?(T(),L("div",Rs,z((h=a(s))==null?void 0:h.name),1)):(T(),L("div",ks,"Select connection"))]}),_:1},8,["class"]),l(f,null,{default:c(()=>[l(a(ca),null,{default:c(()=>[(T(!0),L(re,null,ve(a(i),h=>(T(),K(a(un),{value:h.name,class:"cursor-pointer"},{default:c(()=>[F(z(h.name),1)]),_:2},1032,["value"]))),256))]),_:1})]),_:1})]),_:1},8,["model-value"])}}}),Ns={class:"flex flex-col w-full shrink-0"},Ls={key:0,class:"relative w-full items-center px-2 pt-1.5 space-y-1"},Ps={key:0},Fs={key:1},Ms={class:"text-sm leading-none"},Us={key:0,class:"flex items-center"},Vs={key:1,class:"px-2 pb-1"},zs={class:"relative w-full"},He=ee({__name:"ManagementSidebarHeader",props:Ht({title:{},showConnection:{type:Boolean,default:!1},showSchema:{type:Boolean,default:!1},workspaceId:{},showSearch:{type:Boolean,default:!1},searchPlaceholder:{default:"Search..."}},{search:{default:""},searchModifiers:{}}),emits:["update:search"],setup(t){const e=ua(t,"search"),n=()=>{e.value=""};return(o,r)=>(T(),L("div",Ns,[o.showConnection||o.showSchema?(T(),L("div",Ls,[o.showConnection?(T(),L("div",Ps,[r[1]||(r[1]=y("p",{class:"text-sm leading-none block pb-1"},"Connections",-1)),l($s,{class:"w-full!",workspaceId:o.workspaceId},null,8,["workspaceId"])])):Q("",!0),o.showSchema?(T(),L("div",Fs,[r[2]||(r[2]=y("p",{class:"text-sm leading-none block pb-1"},"Schemas",-1)),l(Os,{class:"w-full!"})])):Q("",!0),Qt(o.$slots,"details")])):Q("",!0),y("div",{class:de(["px-2 flex items-center justify-between",o.showConnection||o.showSchema?"pt-2":"pt-0.5"])},[y("p",Ms,z(o.title),1),o.$slots.actions?(T(),L("div",Us,[Qt(o.$slots,"actions")])):Q("",!0)],2),o.showSearch?(T(),L("div",Vs,[y("div",zs,[l(a(dn),{type:"text",placeholder:o.searchPlaceholder,class:"pr-6 w-full h-8",modelValue:e.value,"onUpdate:modelValue":r[0]||(r[0]=s=>e.value=s)},null,8,["placeholder","modelValue"]),e.value?(T(),L("div",{key:0,class:"absolute right-2 top-1.5 w-4 cursor-pointer hover:bg-accent",onClick:n},[l(a(ie),{name:"hugeicons:cancel-01",class:"stroke-3! text-muted-foreground"})])):Q("",!0)])])):Q("",!0)]))}}),js={class:"flex flex-col h-full w-full overflow-y-auto"},Bs=ee({__name:"ManagementErdDiagram",setup(t){const{connectToConnection:e}=Et(),n=At(),o=$t(),r=qe(),{activeSchema:s}=ge(n),{connectionId:i,workspaceId:m}=Ee(),{schemaId:u}=ge(o),d=J(!1),f=J(null),h=$e(""),b=dt(h,et),p=[Ne.Root],v=M(()=>{var N,S;const x={},$=((N=s==null?void 0:s.value)==null?void 0:N.tables)||[];if(x[Ne.Root]={id:Ne.Root,parentId:null,name:"All Tables",type:"folder",depth:0,iconOpen:"hugeicons:structure-folder",iconClose:"hugeicons:structure-folder",children:[],data:{tabViewType:H.AllERD}},$.forEach(A=>{var D;const O=En({schemaName:((D=s.value)==null?void 0:D.name)||"",tableName:A});x[O]={id:O,parentId:Ne.Root,name:A,type:"file",depth:1,iconOpen:"hugeicons:flow-connection",iconClose:"hugeicons:flow-connection",data:{tabViewType:H.DetailERD}},x[Ne.Root].children.push(O)}),b.value){const A=b.value.toLowerCase(),O={},D=x[Ne.Root],k=(S=D.children)==null?void 0:S.filter(R=>x[R].name.toLowerCase().includes(A));return k&&k.length>0&&(O[Ne.Root]={...D,children:k},k.forEach(R=>{O[R]=x[R]})),O}return x}),g=async()=>{if(!i.value)throw new Error("No connection selected");d.value=!0,await e({wsId:m.value,connId:i.value,isRefresh:!0}),d.value=!1},w=M(()=>f.value?!f.value.isExpandedAll:!0),E=()=>{var x,$;w.value?(x=f.value)==null||x.expandAll():($=f.value)==null||$.collapseAll()},C=async x=>{var D,k,R;if(!m.value)throw new Error("No workspace selected");if(!i.value)throw new Error("No connection selected");const $=(D=x.data)==null?void 0:D.tabViewType;if($!==H.AllERD&&$!==H.DetailERD)return;const N=u.value||((k=s.value)==null?void 0:k.name)||"",S=$===H.AllERD,A=S?void 0:x.id||En({schemaName:((R=s.value)==null?void 0:R.name)||"",tableName:x.name}),O=S?`erd-overview-${N||"all"}`:`erd-${A}`;await r.openTab({id:O,name:S?"All Tables":x.name,icon:x.iconOpen||x.iconClose||"hugeicons:structure-folder",iconClass:x.iconClass,type:$,routeName:S?"workspaceId-connectionId-erd":"workspaceId-connectionId-erd-tableId",routeParams:S?{workspaceId:m.value,connectionId:i.value}:{workspaceId:m.value,connectionId:i.value,tableId:A||""},connectionId:i.value,workspaceId:m.value,schemaId:N,metadata:{type:$,tableName:S?void 0:x.name,treeNodeId:x.id}}),await r.selectTab(O)},_=async x=>{const $=v.value[x];$&&await C($)};return De(()=>r.activeTab,x=>{var $,N,S,A,O;if(!x){($=f.value)==null||$.clearSelection();return}if(!((N=f.value)!=null&&N.isMouseInside)){if(x.type===H.AllERD){v.value[Ne.Root]&&((S=f.value)==null||S.focusItem(Ne.Root));return}if(x.type===H.DetailERD&&typeof((A=x.metadata)==null?void 0:A.treeNodeId)=="string"){(O=f.value)==null||O.focusItem(x.metadata.treeNodeId);return}}},{flush:"post",immediate:!0}),(x,$)=>{const N=ie,S=pe,A=be,O=we,D=he,k=Me;return T(),L("div",js,[l(a(He),{search:a(h),"onUpdate:search":$[0]||($[0]=R=>ye(h)?h.value=R:null),title:"ERD Diagram","show-connection":!0,"show-schema":!0,"workspace-id":a(m),"show-search":!0,"search-placeholder":"Search in diagram..."},{actions:c(()=>[l(D,null,{default:c(()=>[l(A,{"as-child":""},{default:c(()=>[l(S,{size:"iconSm",variant:"ghost",onClick:E},{default:c(()=>[l(N,{name:a(w)?"hugeicons:unfold-more":"hugeicons:unfold-less",class:"size-4! min-w-4"},null,8,["name"])]),_:1})]),_:1}),l(O,null,{default:c(()=>[F(z(a(w)?"Expand All":"Collapse All"),1)]),_:1})]),_:1}),l(D,null,{default:c(()=>[l(A,{"as-child":""},{default:c(()=>[l(S,{size:"iconSm",variant:"ghost",onClick:g},{default:c(()=>[l(N,{name:"hugeicons:redo",class:de(["size-4! min-w-4",a(d)&&"animate-spin"])},null,8,["class"])]),_:1})]),_:1}),l(O,null,{default:c(()=>$[1]||($[1]=[F(" Refresh ERD Data ")])),_:1})]),_:1})]),_:1},8,["search","workspace-id"]),Object.keys(a(v)).length===0?(T(),K(k,{key:0,title:"No tables found",desc:"There are no tables available to display in the ERD."})):Q("",!0),l(Ye,{ref_key:"fileTreeRef",ref:f,"init-expanded-ids":p,"storage-key":`${a(i)}-erd-tree`,"initial-data":a(v),"allow-drag-and-drop":!1,onClick:_},null,8,["storage-key","initial-data"])])}}}),qs={class:"w-full h-full overflow-y-auto"},Gs={class:"h-full"},Hs=ee({__name:"ManagementExplorerTree",props:{treeData:{},storageKey:{},persistenceExtension:{},contextMenuItems:{},validateRename:{type:Function}},emits:["click-node","rename-node","cancel-rename","context-node","move-node","select-node","clear-context-menu"],setup(t,{expose:e,emit:n}){const o=t,r=n,s=Oe("fileTreeRef"),i=p=>{var v;(v=s.value)==null||v.startEditing(p)},m=p=>{var v;(v=s.value)==null||v.focusItem(p)},u=()=>{var p;(p=s.value)==null||p.collapseAll()},d=()=>{var p;(p=s.value)==null||p.expandAll()},f=()=>{var p;(p=s.value)==null||p.clearSelection()},h=M(()=>{var p;return((p=s.value)==null?void 0:p.isMouseInside)??!1}),b=M(()=>{var p;return((p=s.value)==null?void 0:p.isExpandedAll)||!1});return e({startEditing:i,focusItem:m,collapseAll:u,expandAll:d,clearSelection:f,isMouseInside:h,isExpandedAll:b}),(p,v)=>(T(),L("div",qs,[l(kt,{"context-menu-items":p.contextMenuItems,onOnClearContextMenu:v[6]||(v[6]=g=>r("clear-context-menu"))},{default:c(()=>[y("div",Gs,[l(Ye,{ref_key:"fileTreeRef",ref:s,class:"pt-1","initial-data":p.treeData,"allow-drag-and-drop":!0,"allow-sort":!1,"validate-rename":p.validateRename,"storage-key":p.storageKey,"persistence-extension":o.persistenceExtension,onClick:v[0]||(v[0]=g=>r("click-node",g)),onRename:v[1]||(v[1]=(g,w)=>r("rename-node",g,w)),onCancelRename:v[2]||(v[2]=g=>r("cancel-rename",g)),onContextmenu:v[3]||(v[3]=g=>r("context-node",g)),onSelect:v[4]||(v[4]=g=>r("select-node",g)),onMove:v[5]||(v[5]=(g,w,E)=>r("move-node",g,w,E))},null,8,["initial-data","validate-rename","storage-key","persistence-extension"])])]),_:1},8,["context-menu-items"])]))}}),Qs=t=>{const e=J(null),n=s=>{e.value=t.resolveNodeById(s)},o=()=>{e.value=null},r=M(()=>{const s=[],i=e.value,m=(i==null?void 0:i.isFolder)||!i;return i&&s.push({title:i.title,type:q.LABEL}),m&&(s.push({title:"Add new file",icon:"lucide:file-plus-2",type:q.ACTION,select:()=>{var d;const u=(d=e.value)==null?void 0:d.id;je(()=>t.onCreateFile(u))}}),s.push({title:"Add new folder",icon:"lucide:folder-plus",type:q.ACTION,select:()=>{var d;const u=(d=e.value)==null?void 0:d.id;je(()=>t.onCreateFolder(u))}})),i&&(m&&s.push({type:q.SEPARATOR}),s.push({title:"Rename...",icon:"lucide:pencil",type:q.ACTION,select:()=>{var d;const u=(d=e.value)==null?void 0:d.id;u&&je(()=>t.onRename(u))}}),s.push({title:"Delete",icon:"lucide:trash",type:q.ACTION,select:()=>{const u=e.value;u&&je(()=>t.onDelete(u.id))}})),s});return{selectedItem:e,contextMenuItems:r,onRightClickItem:n,onClearContextMenu:o}},Ws=t=>{const e={},n=(o,r,s)=>{o.forEach(i=>{var u,d;const m=((u=i.children)==null?void 0:u.map(f=>f.id))??[];e[i.id]={id:i.id,parentId:r,name:i.title,type:i.isFolder?"folder":"file",depth:s,iconOpen:i.icon,iconClose:i.closeIcon||i.icon,iconClass:i.iconClass,children:i.isFolder?m:void 0},(d=i.children)!=null&&d.length&&n(i.children,i.id,s+1)})};return n(t,null,0),e},Ks=({startEditingNode:t,focusNode:e,collapseAll:n,expandAll:o,isExpandedAll:r})=>{const{workspaceId:s}=Ee(),i=eo(),{openCodeQueryTab:m}=Ge(),u=$e(""),d=dt(u,et),{treeNodeRef:f}=ge(i),h=$e([]),b=M(()=>d.value?f.value.searchByTitle(d.value):f.value.tree),p=M(()=>Ws(b.value)),v=M(()=>String(s.value)),g=async({nodeId:P,isFolder:U})=>{const W=P?f.value.findNode(P):null,B={title:"",id:An(),icon:"lucide:folder-open",closeIcon:"lucide:folder",workspaceId:s.value,createdAt:Wt().toISOString(),isFolder:!0,path:"",children:[]},X={title:"",id:An(),icon:"hugeicons:file-01",workspaceId:s.value,createdAt:Wt().toISOString(),isFolder:!1,variables:"",path:"",children:void 0},ne=U?B:X;f.value.insertNode((W==null?void 0:W.id)||null,ne),f.value.sortByTitle(),await je(),e(ne.id),t(ne.id)},w=()=>{if(h.value.length===0)return null;const P=h.value[0],U=f.value.findNode(P);return U?U.isFolder?U.id:U.parentId:null},E=()=>{g({nodeId:w(),isFolder:!1})},C=()=>{g({nodeId:w(),isFolder:!0})},_=P=>{h.value=P},x=P=>{f.value.deleteNode(P)},$=P=>{const U=f.value.findNode(P);U&&U.title===""&&x(U.id)},N=(P,U)=>{const W=f.value.findNode(P);if(!W)return;const B=U.trim();if(!f.value.isExitNodeNameInFolder(B,W.id,W.parentId||"")){if(!B){$(P);return}f.value.updateNode(W.id,{title:B}),je(()=>{e(W.id)})}},S=(P,U)=>{const W=f.value.findNode(P);if(!W)return!0;const B=U.trim();return B?f.value.isExitNodeNameInFolder(B,W.id,W.parentId||"")?"A file or folder with this name already exists":!0:"Name cannot be empty"},A=P=>{const U=f.value.findNode(P);U&&(e(U.id),t(U.id))},O=(P,U,W)=>{const B=f.value.findNode(U);if(!B)return;const X=B.isFolder?B.id:B.parentId;(Array.isArray(P)?P:[P]).forEach(te=>{const ae=f.value.findNode(te);ae&&(ae.parentId||null)!==(X||null)&&(f.value.moveNode(ae.id,X||null),f.value.sortByTitle())})},D=Qs({resolveNodeById:P=>f.value.findNode(P),onCreateFile:P=>{g({nodeId:P,isFolder:!1})},onCreateFolder:P=>{g({nodeId:P,isFolder:!0})},onRename:P=>{A(P)},onDelete:P=>{x(P)}}),k=()=>{r.value?n():o()},R=P=>{const U=f.value.findNode(P);!U||U.isFolder||m({id:U.id,name:U.title,icon:U.icon})};return{contextMenuItems:D.contextMenuItems,explorerStorageKey:v,mappedExplorerFileTreeData:p,onAddFile:E,onAddFolder:C,onSelectNode:_,onCancelEditNode:$,onClearContextMenu:D.onClearContextMenu,onClickNode:R,isExpandedAll:r,onToggleCollapseExplorer:k,onMoveNode:O,onRenameFile:N,onTreeContextMenu:D.onRightClickItem,searchInput:u,validateRename:S}},Ys={class:"flex flex-col h-full w-full overflow-y-auto"},Xs={class:"flex gap-2 justify-center"},On=ee({__name:"ManagementExplorer",setup(t){const e=qe(),n=Oe("treePanelRef"),{contextMenuItems:o,explorerStorageKey:r,mappedExplorerFileTreeData:s,onAddFile:i,onAddFolder:m,onCancelEditNode:u,onClearContextMenu:d,onClickNode:f,isExpandedAll:h,onToggleCollapseExplorer:b,onMoveNode:p,onRenameFile:v,onSelectNode:g,onTreeContextMenu:w,searchInput:E,validateRename:C}=Ks({startEditingNode:_=>{var x;return(x=n.value)==null?void 0:x.startEditing(_)},focusNode:_=>{var x;return(x=n.value)==null?void 0:x.focusItem(_)},collapseAll:()=>{var _;return(_=n.value)==null?void 0:_.collapseAll()},expandAll:()=>{var _;return(_=n.value)==null?void 0:_.expandAll()},isExpandedAll:M(()=>{var _;return((_=n.value)==null?void 0:_.isExpandedAll)??!1})});return De(()=>e.activeTab,_=>{var x,$,N,S;if(!_){(x=n.value)==null||x.clearSelection();return}if(!(($=n.value)!=null&&$.isMouseInside)&&(_==null?void 0:_.type)===H.CodeQuery){const A=(N=_.metadata)==null?void 0:N.treeNodeId;typeof A=="string"&&((S=n.value)==null||S.focusItem(A))}},{flush:"post",immediate:!0}),(_,x)=>{const $=ie,N=pe,S=be,A=we,O=he,D=Me;return T(),L("div",Ys,[l(a(He),{search:a(E),"onUpdate:search":x[0]||(x[0]=k=>ye(E)?E.value=k:null),title:"Explorer","show-search":!0},{actions:c(()=>[l(O,null,{default:c(()=>[l(S,{"as-child":""},{default:c(()=>[l(N,{size:"iconSm",variant:"ghost",onClick:a(i)},{default:c(()=>[l($,{name:"hugeicons:file-add",class:"size-4! min-w-4"})]),_:1},8,["onClick"])]),_:1}),l(A,null,{default:c(()=>x[1]||(x[1]=[F(" New File ")])),_:1})]),_:1}),l(O,null,{default:c(()=>[l(S,{"as-child":""},{default:c(()=>[l(N,{size:"iconSm",variant:"ghost",onClick:a(m)},{default:c(()=>[l($,{name:"hugeicons:folder-add",class:"size-4! min-w-4"})]),_:1},8,["onClick"])]),_:1}),l(A,null,{default:c(()=>x[2]||(x[2]=[F(" New Folder ")])),_:1})]),_:1}),l(O,null,{default:c(()=>[l(S,{"as-child":""},{default:c(()=>[l(N,{size:"iconSm",variant:"ghost",onClick:a(b)},{default:c(()=>[l($,{name:a(h)?"hugeicons:unfold-less":"hugeicons:unfold-more",class:"size-4! min-w-4"},null,8,["name"])]),_:1},8,["onClick"])]),_:1}),l(A,null,{default:c(()=>[F(z(a(h)?"Collapse All":"Expand All"),1)]),_:1})]),_:1})]),_:1},8,["search"]),Object.keys(a(s)).length===0?(T(),K(D,{key:0,title:"No files found",desc:"Create your first file or folder to get started."},{default:c(()=>[y("div",Xs,[l(N,{size:"xs",variant:"outline",onClick:a(i)},{default:c(()=>[l($,{name:"hugeicons:file-add"}),x[3]||(x[3]=F(" New File "))]),_:1},8,["onClick"]),l(N,{size:"xs",variant:"outline",onClick:a(m)},{default:c(()=>[l($,{name:"hugeicons:folder-add"}),x[4]||(x[4]=F(" New Folder "))]),_:1},8,["onClick"])])]),_:1})):(T(),K(Hs,{key:1,ref_key:"treePanelRef",ref:n,"tree-data":a(s),"storage-key":a(r),"context-menu-items":a(o),"validate-rename":a(C),onClickNode:a(f),onSelectNode:a(g),onRenameNode:a(v),onCancelRename:a(u),onContextNode:a(w),onMoveNode:a(p),onClearContextMenu:a(d)},null,8,["tree-data","storage-key","context-menu-items","validate-rename","onClickNode","onSelectNode","onRenameNode","onCancelRename","onContextNode","onMoveNode","onClearContextMenu"]))])}}});function Js(t,e,n=!1){return`DROP TABLE IF EXISTS "${t}"."${e}"${n?" CASCADE":""};`}function Zs(t,e,n){return`ALTER TABLE "${t}"."${e}" RENAME TO "${n}";`}function el(t,e,n=!1,o=!1){return`DROP ${n?"MATERIALIZED VIEW":"VIEW"} IF EXISTS "${t}"."${e}"${o?" CASCADE":""};`}function tl(t,e,n,o=!1){return`ALTER ${o?"MATERIALIZED VIEW":"VIEW"} "${t}"."${e}" RENAME TO "${n}";`}function nl(t,e,n=!1){return`REFRESH MATERIALIZED VIEW ${n?"CONCURRENTLY ":""}"${t}"."${e}";`}function al(t,e,n){return`SELECT ${n!=null&&n.length?n.map(r=>`"${r}"`).join(", "):"*"}
|
|
2
|
-
FROM "${t}"."${e}"
|
|
3
|
-
WHERE 1=1
|
|
4
|
-
-- Add your conditions here
|
|
5
|
-
LIMIT 100;`}const ol=(t,e)=>{const n=M(()=>{var r;return`${(r=t==null?void 0:t.value)==null?void 0:r.schemaName}.${We.Tables}`});return{fileTreeData:M(()=>{var v,g,w,E;const r=(v=t==null?void 0:t.value)==null?void 0:v.schemaName,s=((g=t==null?void 0:t.value)==null?void 0:g.tables)||[],i=((w=t==null?void 0:t.value)==null?void 0:w.functions)||[],m=((E=t==null?void 0:t.value)==null?void 0:E.views)||[],u={},d=(C,_)=>{const x=Bo(_);return`${C}(${x})`},f=(C,_,x,$,N,S)=>{u[C]={id:C,parentId:null,name:_,type:"folder",depth:0,iconOpen:x,iconClose:$,iconClass:S,children:[],data:{tabViewType:N}}},h=`${r}.${We.Functions}`,b=n.value,p=`${r}.${We.Views}`;if(f(h,We.Functions,"material-icon-theme:folder-functions-open","material-icon-theme:folder-functions",H.FunctionsOverview),f(b,We.Tables,"material-icon-theme:folder-database-open","material-icon-theme:folder-database",H.TableOverview),f(p,We.Views,"material-icon-theme:folder-enum-open","material-icon-theme:folder-enum",H.ViewOverview),i.forEach(({name:C,oId:_,type:x,parameters:$})=>{const N=`${r}.${String(_)}`,S=d(C,$);u[N]={id:N,parentId:h,name:S,type:"file",depth:1,iconOpen:"gravity-ui:function",iconClose:"gravity-ui:function",iconClass:x===$n.Function?"text-blue-400":"text-orange-400",data:{tabViewType:H.FunctionsDetail,itemValue:{title:S,name:C,id:_,parameters:$,tabViewType:H.FunctionsDetail,icon:"gravity-ui:function",iconClass:x===$n.Function?"text-blue-400":"text-orange-400"},parameters:$}},u[h].children.push(N)}),s.forEach(C=>{const _=`${r}.${C}`;u[_]={id:_,parentId:b,name:C,type:"file",depth:1,iconOpen:"hugeicons:grid-table",iconClose:"hugeicons:grid-table",iconClass:"text-yellow-400",data:{tabViewType:H.TableDetail,itemValue:{title:C,name:C,id:C,tabViewType:H.TableDetail,icon:"hugeicons:grid-table",iconClass:"text-yellow-400"}}},u[b].children.push(_)}),m.forEach(({name:C,oid:_,type:x})=>{const $=`${r}.${String(_)}`;u[$]={id:$,parentId:p,name:C,type:"file",depth:1,iconOpen:x===Le.View?"hugeicons:property-view":"hugeicons:property-new",iconClose:x===Le.View?"hugeicons:property-view":"hugeicons:property-new",iconClass:x===Le.View?"text-green-700":"text-orange-500",data:{tabViewType:H.ViewDetail,itemValue:{title:C,name:C,id:_,tabViewType:H.ViewDetail,icon:x===Le.View?"hugeicons:property-view":"hugeicons:property-new",iconClass:x===Le.View?"text-green-700":"text-orange-500"}}},u[p].children.push($)}),e.value){const C=e.value.toLowerCase(),_={};return[h,b,p].forEach(x=>{var S;const $=u[x];if(!$)return;const N=(S=$.children)==null?void 0:S.filter(A=>{const O=u[A];return O==null?void 0:O.name.toLowerCase().includes(C)});N&&N.length>0&&(_[x]={...$,children:N},N.forEach(A=>{_[A]=u[A]}))}),_}return u}),defaultFolderOpenId:n}},sl={class:"py-2"},ll=ee({__name:"RenameDialog",props:Ht({open:{type:Boolean},tabViewType:{},currentName:{}},{open:{type:Boolean,required:!0},openModifiers:{}}),emits:Ht(["confirm","cancel"],["update:open"]),setup(t,{emit:e}){const n=t,o=ua(t,"open"),r=e,s=J("");De(o,u=>{u&&(s.value=n.currentName||"")});const i=()=>{s.value&&s.value!==n.currentName?r("confirm",s.value):o.value=!1},m=()=>{o.value=!1,r("cancel")};return(u,d)=>(T(),K(a(mn),{open:o.value,"onUpdate:open":d[1]||(d[1]=f=>o.value=f)},{default:c(()=>[l(a(fn),{class:"border w-96!"},{default:c(()=>[l(a(pn),null,{default:c(()=>[l(a(vn),null,{default:c(()=>[F(" Rename "+z(u.tabViewType===a(H).FunctionsDetail?"Function":"Table"),1)]),_:1}),l(a(gn),null,{default:c(()=>[F(" Enter a new name for the "+z(u.tabViewType===a(H).FunctionsDetail?"function":"table")+". ",1)]),_:1})]),_:1}),y("div",sl,[l(a(dn),{modelValue:a(s),"onUpdate:modelValue":d[0]||(d[0]=f=>ye(s)?s.value=f:null),placeholder:`New ${u.tabViewType===a(H).FunctionsDetail?"function":"table"} name`,class:"w-full",onKeyup:to(i,["enter"])},null,8,["modelValue","placeholder"])]),l(a(yn),null,{default:c(()=>[l(a(hn),{onClick:m},{default:c(()=>d[2]||(d[2]=[F(" Cancel ")])),_:1}),l(a(da),{onClick:i},{default:c(()=>d[3]||(d[3]=[F(" Rename ")])),_:1})]),_:1})]),_:1})]),_:1},8,["open"]))}}),rl=ee({__name:"SqlPreviewDialog",props:{open:{type:Boolean},sql:{},title:{},isLoading:{type:Boolean}},emits:["update:open"],setup(t,{emit:e}){const n=t,o=e,{copied:r,handleCopy:s,getCopyIcon:i,getCopyTooltip:m}=ha(),u=()=>s(n.sql),d=()=>{o("update:open",!1)};return(f,h)=>{const b=ie,p=ba;return T(),K(a(mn),{open:f.open,"onUpdate:open":h[0]||(h[0]=v=>o("update:open",v))},{default:c(()=>[l(a(fn),{size:"preview"},{default:c(()=>[l(ma,{visible:f.isLoading},null,8,["visible"]),l(a(pn),null,{default:c(()=>[l(a(vn),{class:"flex items-center text-base font-medium"},{default:c(()=>[l(b,{name:"lucide:code",class:"size-4 mr-2"}),F(" "+z(f.title),1)]),_:1}),l(a(gn),null,{default:c(()=>h[1]||(h[1]=[F(" Generated SQL statement. Click copy to use. ")])),_:1})]),_:1}),l(p,{code:f.sql,"show-copy-button":"","max-height":"24rem"},null,8,["code"]),l(a(yn),null,{default:c(()=>[l(a(hn),{class:"border font-normal",onClick:d},{default:c(()=>h[2]||(h[2]=[F(" Close ")])),_:1}),l(a(da),{class:"border font-normal flex gap-1",onClick:u},{default:c(()=>[l(b,{name:a(i)(a(r)),class:"size-4"},null,8,["name"]),F(" "+z(a(m)(a(r),"Copy to Clipboard")),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["open"])}}});function il(t,e,n){const{getSchemaName:o,executeWithSafeMode:r,showSqlPreview:s,executeWithLoading:i}=n;return{onDeleteFunction:async()=>{if(!e.selectedItem.value||e.selectedItem.value.tabViewType!==H.FunctionsDetail||!e.selectedItem.value.name)return;const p=Go(o(),e.selectedItem.value.name,!1,e.selectedItem.value.parameters),v=e.selectedItem.value.name;await r(p,Be.Delete,async()=>{await i(async()=>{await $fetch("/api/functions/delete",{method:"POST",body:{...Te(t.connection.value),schemaName:o(),functionName:v}}),Ce.success("Function deleted successfully"),await t.onRefreshSchema()},e.isFetching,"Failed to delete function")})},onRenameFunction:()=>{!e.selectedItem.value||e.selectedItem.value.tabViewType!==H.FunctionsDetail||!e.selectedItem.value.name||(e.renameDialogType.value=H.FunctionsDetail,e.renameDialogValue.value=e.selectedItem.value.name,e.renameDialogOpen.value=!0,e.renameDialogParameters.value=e.selectedItem.value.parameters||"")},performRenameFunction:async p=>{const v=qo(o(),e.renameDialogValue.value,p,e.renameDialogParameters.value);await r(v,Be.Save,async()=>{await i(async()=>{await $fetch("/api/functions/rename",{method:"POST",body:{...Te(t.connection.value),schemaName:o(),oldName:e.renameDialogValue.value,newName:p}}),Ce.success("Function renamed successfully"),await t.onRefreshSchema()},e.isFetching,"Failed to rename function")})},onGenFunctionCallSQL:async()=>{e.selectedItem.value&&(s("","CALL Statement"),e.isFetching.value=!0,await i(async()=>{const p=await $fetch("/api/functions/signature",{method:"POST",body:{...Te(t.connection.value),functionId:e.selectedItem.value.id}}),v=o(),g=(p==null?void 0:p.name)||"";let w;if(p!=null&&p.parameters&&p.parameters.length>0){const E=p.parameters.filter(C=>C.mode==="IN"||C.mode==="INOUT"||C.mode==="VARIADIC");if(E.length>0){const C=E.map(x=>`${x.name}::${x.type}`).join(", "),_=E.map(x=>`:${x.name}`).join(", ");w=`-- ${C}
|
|
6
|
-
CALL "${v}"."${g}"(${_});`}else w=`CALL "${v}"."${g}"();`}else w=Ho(v,g);e.sqlPreviewDialogSQL.value=w},e.isFetching,"Failed to get function signature"))},onGenFunctionSelectSQL:async()=>{e.selectedItem.value&&(s("","SELECT Function"),e.isFetching.value=!0,await i(async()=>{const p=await $fetch("/api/functions/signature",{method:"POST",body:{...Te(t.connection.value),functionId:e.selectedItem.value.id}}),v=o(),g=(p==null?void 0:p.name)||"";let w;if(p!=null&&p.parameters&&p.parameters.length>0){const E=p.parameters.filter(C=>C.mode==="IN"||C.mode==="INOUT"||C.mode==="VARIADIC");if(E.length>0){const C=E.map(x=>`${x.name}::${x.type}`).join(", "),_=E.map(x=>`:${x.name}`).join(", ");w=`-- ${C}
|
|
7
|
-
SELECT * FROM "${v}"."${g}"(${_});`}else w=`SELECT * FROM "${v}"."${g}"();`}else w=Qo(v,g);e.sqlPreviewDialogSQL.value=w},e.isFetching,"Failed to get function signature"))},onGenFunctionDDL:async()=>{!e.selectedItem.value||e.selectedItem.value.tabViewType!==H.FunctionsDetail||await i(async()=>{s("","Function DDL");const p=await $fetch("/api/functions/definition",{method:"POST",body:{...Te(t.connection.value),functionId:e.selectedItem.value.id}});if(p)s(p,"Function DDL");else throw new Error("Could not retrieve function definition")},e.isFetching,"Failed to get function DDL")}}}var St=(t=>(t.CSV="csv",t.JSON="json",t.SQL="sql",t))(St||{});function cl(t,e,n){const{getSchemaName:o,executeWithSafeMode:r,showSqlPreview:s,getTableColumns:i,getTableColumnsMetadata:m,getPrimaryKeyColumns:u,getColumnPlaceholder:d,executeWithLoading:f}=n;return{onExportTableData:D=>{if(!e.selectedItem.value||e.selectedItem.value.tabViewType!==H.TableDetail||!e.selectedItem.value.name)return;const k=e.selectedItem.value.name,R=document.createElement("form");R.method="POST",R.action="/api/tables/export",R.style.display="none";const U={...Te(t.connection.value),schemaName:o(),tableName:k,format:D};for(const[W,B]of Object.entries(U))if(B!==void 0){const X=document.createElement("input");X.type="hidden",X.name=W,X.value=typeof B=="object"?JSON.stringify(B):B.toString(),R.appendChild(X)}document.body.appendChild(R),R.submit(),document.body.removeChild(R),Ce.info(`Exporting ${k} as ${D.toUpperCase()}...`)},onExportTableDataWithProgressInClient:async D=>{if(!e.selectedItem.value||e.selectedItem.value.tabViewType!==H.TableDetail||!e.selectedItem.value.name)return;const k=e.selectedItem.value.name,{downloadStream:R}=Xo(),P={sql:"application/sql",json:"application/json",csv:"text/csv"},U=Wt().format("YYYY-MM-DD_HH-mm");await R({url:"/api/tables/export",method:"POST",body:{...Te(t.connection.value),schemaName:o(),tableName:k,format:D},filename:`${k}_${U}.${D}`,contentType:P[D]})},onImportTableData:()=>{Ce.info("Import feature coming soon")},onDeleteTable:async()=>{if(!e.selectedItem.value||e.selectedItem.value.tabViewType!==H.TableDetail||!e.selectedItem.value.name)return;const D=Js(o(),e.selectedItem.value.name,!1);await r(D,Be.Delete,async()=>{await f(async()=>{await $fetch("/api/query/execute",{method:"POST",body:{...Te(t.connection.value),query:D}}),Ce.success("Table deleted successfully"),await t.onRefreshSchema()},e.isFetching,"Failed to delete table")})},onRenameTable:()=>{!e.selectedItem.value||e.selectedItem.value.tabViewType!==H.TableDetail||!e.selectedItem.value.name||(e.renameDialogType.value=H.TableDetail,e.renameDialogValue.value=e.selectedItem.value.name,e.renameDialogOpen.value=!0,e.renameDialogParameters.value="")},performRenameTable:async D=>{const k=Zs(o(),e.renameDialogValue.value,D);await r(k,Be.Save,async()=>{await f(async()=>{await $fetch("/api/query/execute",{method:"POST",body:{...Te(t.connection.value),query:k}}),Ce.success("Table renamed successfully"),await t.onRefreshSchema()},e.isFetching,"Failed to rename table")})},onGenSelectSQL:()=>{if(!e.selectedItem.value||!e.selectedItem.value.name)return;const D=i(e.selectedItem.value.name),k=o(),R=e.selectedItem.value.name,U=`SELECT ${D.length>0?D.map(W=>`"${W}"`).join(", "):"*"}
|
|
8
|
-
FROM "${k}"."${R}";
|
|
9
|
-
-- WHERE ?
|
|
10
|
-
-- LIMIT 100 OFFSET 0`;s(U,"SELECT Statement")},onGenInsertSQL:()=>{if(!e.selectedItem.value||!e.selectedItem.value.name)return;const D=m(e.selectedItem.value.name),k=o(),R=e.selectedItem.value.name;if(D.length>0){const P=D.map(B=>`"${B.name}"`).join(", "),U=D.map(B=>d(B)).join(", "),W=`INSERT INTO "${k}"."${R}" (${P})
|
|
11
|
-
VALUES (${U});`;s(W,"INSERT Statement")}else{const P=`INSERT INTO "${k}"."${R}" ("column1", "column2", ...)
|
|
12
|
-
VALUES (value1, value2, ...);`;s(P,"INSERT Statement")}},onGenUpdateSQL:()=>{if(!e.selectedItem.value||!e.selectedItem.value.name)return;const D=m(e.selectedItem.value.name),k=u(e.selectedItem.value.name),R=o(),P=e.selectedItem.value.name,U=D.filter(ne=>!k.includes(ne.name)),W=U.length>0?U.map(ne=>` "${ne.name}" = ${d(ne)}`).join(`,
|
|
13
|
-
`):` "column1" = value1,
|
|
14
|
-
"column2" = value2`,B=k.length>0?k.map(ne=>`"${ne}" = ?`).join(" AND "):"1=0 -- Add your WHERE clause",X=`UPDATE "${R}"."${P}"
|
|
15
|
-
SET
|
|
16
|
-
${W}
|
|
17
|
-
WHERE ${B};`;s(X,"UPDATE Statement")},onGenDeleteSQL:()=>{if(!e.selectedItem.value||!e.selectedItem.value.name)return;const D=u(e.selectedItem.value.name),k=o(),R=e.selectedItem.value.name,P=D.length>0?D.map(W=>`"${W}" = ?`).join(" AND "):"1=0 -- Add your WHERE clause (safety: 1=0 to prevent accidental deletes)",U=`DELETE FROM "${k}"."${R}"
|
|
18
|
-
WHERE ${P};`;s(U,"DELETE Statement")},onGenMergeSQL:()=>{if(!e.selectedItem.value||!e.selectedItem.value.name)return;const D=i(e.selectedItem.value.name),k=u(e.selectedItem.value.name),R=o(),P=e.selectedItem.value.name,U=Ft(P),W=D.length>0?D.map(le=>`"${le}"`).join(", "):'"column1", "column2"',B=`"${U}"`,X=k.length>0?k.map(le=>`${B}."${le}" = src."${le}"`).join(" AND "):`${B}."id" = src."id"`,ne=D.length>0?D.filter(le=>!k.includes(le)).map(le=>` "${le}" = src."${le}"`).join(`,
|
|
19
|
-
`):' "column1" = src."column1"',te=D.length>0?D.map(le=>`src."${le}"`).join(", "):'src."column1", src."column2"',ae=`MERGE INTO "${R}"."${P}" AS ${B}
|
|
20
|
-
USING (SELECT ${W} FROM source_table) AS src
|
|
21
|
-
ON ${X}
|
|
22
|
-
WHEN MATCHED THEN
|
|
23
|
-
UPDATE SET
|
|
24
|
-
${ne}
|
|
25
|
-
WHEN NOT MATCHED THEN
|
|
26
|
-
INSERT (${W})
|
|
27
|
-
VALUES (${te});`;s(ae,"MERGE Statement")},onGenInsertOnConflictSQL:()=>{if(!e.selectedItem.value||!e.selectedItem.value.name)return;const D=m(e.selectedItem.value.name),k=u(e.selectedItem.value.name),R=o(),P=e.selectedItem.value.name,U=D.length>0?D.map(ae=>`"${ae.name}"`).join(", "):'"column1", "column2"',W=D.length>0?D.map(ae=>d(ae)).join(", "):"value1, value2",B=k.length>0?k.map(ae=>`"${ae}"`).join(", "):'"id"',X=D.filter(ae=>!k.includes(ae.name)),ne=X.length>0?X.map(ae=>` "${ae.name}" = EXCLUDED."${ae.name}"`).join(`,
|
|
28
|
-
`):' "column1" = EXCLUDED."column1"',te=`INSERT INTO "${R}"."${P}" (${U})
|
|
29
|
-
VALUES (${W})
|
|
30
|
-
ON CONFLICT (${B})
|
|
31
|
-
DO UPDATE SET
|
|
32
|
-
${ne};`;s(te,"INSERT ON CONFLICT")},onGenUpdateFromSQL:()=>{if(!e.selectedItem.value||!e.selectedItem.value.name)return;const D=i(e.selectedItem.value.name),k=u(e.selectedItem.value.name),R=o(),P=e.selectedItem.value.name,W=`"${Ft(P)}"`,B=D.length>0?D.filter(te=>!k.includes(te)).map(te=>` "${te}" = src."${te}"`).join(`,
|
|
33
|
-
`):' "column1" = src."column1"',X=k.length>0?k.map(te=>`${W}."${te}" = src."${te}"`).join(" AND "):`${W}."id" = src."id"`,ne=`UPDATE "${R}"."${P}" AS ${W}
|
|
34
|
-
SET
|
|
35
|
-
${B}
|
|
36
|
-
FROM source_table AS src
|
|
37
|
-
WHERE ${X};`;s(ne,"UPDATE FROM")},onGenDeleteUsingSQL:()=>{if(!e.selectedItem.value||!e.selectedItem.value.name)return;const D=u(e.selectedItem.value.name),k=o(),R=e.selectedItem.value.name,U=`"${Ft(R)}"`,W=D.length>0?D.map(X=>`${U}."${X}" = src."${X}"`).join(" AND "):`${U}."id" = src."id"`,B=`DELETE FROM "${k}"."${R}" AS ${U}
|
|
38
|
-
USING source_table AS src
|
|
39
|
-
WHERE ${W};`;s(B,"DELETE USING")},onGenTableDDL:async()=>{!e.selectedItem.value||!e.selectedItem.value.name||(s("","Table DDL"),await f(async()=>{const D=await $fetch("/api/tables/ddl",{method:"POST",body:{...Te(t.connection.value),schemaName:o(),tableName:e.selectedItem.value.name}});s(D,"Table DDL")},e.isFetching,"Failed to get table DDL"))}}}function ul(t,e,n){const{getSchemaName:o,executeWithSafeMode:r,showSqlPreview:s,executeWithLoading:i}=n,m=g=>{var E;return(((E=t.activeSchema.value)==null?void 0:E.views)||[]).find(C=>C.oid===g)},u=g=>{var E,C;const w=(E=t.activeSchema.value)==null?void 0:E.viewDetails;return(C=w==null?void 0:w[g])!=null&&C.columns?w[g].columns.map(_=>_.name):[]};return{getViewInfo:m,getViewColumns:u,onGenViewSelectSQL:()=>{if(!e.selectedItem.value)return;const g=m(e.selectedItem.value.id),w=(g==null?void 0:g.name)||e.selectedItem.value.title,E=u(w),C=o(),_=al(C,w,E);s(_,"SELECT Statement")},onGenViewDDL:async()=>{if(!e.selectedItem.value)return;const g=m(e.selectedItem.value.id),w=(g==null?void 0:g.name)||e.selectedItem.value.title,E=(g==null?void 0:g.type)===Le.MaterializedView?"MATERIALIZED VIEW":"VIEW";s("",`${E} DDL`),await i(async()=>{const C=await $fetch("/api/views/definition",{method:"POST",body:{...Te(t.connection.value),viewId:e.selectedItem.value.id,schemaName:o(),viewName:w}});if(C&&C.definition)s(C.definition,`${E} DDL`);else throw new Error("Could not retrieve view definition")},e.isFetching,"Failed to get view DDL")},onRenameView:()=>{if(!e.selectedItem.value||e.selectedItem.value.tabViewType!==H.ViewDetail)return;const g=m(e.selectedItem.value.id),w=(g==null?void 0:g.name)||e.selectedItem.value.title;e.renameDialogType.value=H.ViewDetail,e.renameDialogValue.value=w,e.renameDialogOpen.value=!0,e.renameDialogParameters.value=""},performRenameView:async g=>{var x;const E=(((x=t.activeSchema.value)==null?void 0:x.views)||[]).find($=>$.name===e.renameDialogValue.value),C=(E==null?void 0:E.type)===Le.MaterializedView,_=tl(o(),e.renameDialogValue.value,g,C);await r(_,Be.Save,async()=>{await i(async()=>{await $fetch("/api/query/execute",{method:"POST",body:{...Te(t.connection.value),query:_}}),Ce.success("View renamed successfully"),await t.onRefreshSchema()},e.isFetching,"Failed to rename view")})},onDeleteView:async()=>{if(!e.selectedItem.value||e.selectedItem.value.tabViewType!==H.ViewDetail)return;const g=m(e.selectedItem.value.id),w=(g==null?void 0:g.name)||e.selectedItem.value.title,E=(g==null?void 0:g.type)===Le.MaterializedView,C=el(o(),w,E,!1);await r(C,Be.Delete,async()=>{await i(async()=>{await $fetch("/api/query/execute",{method:"POST",body:{...Te(t.connection.value),query:C}}),Ce.success("View deleted successfully"),await t.onRefreshSchema()},e.isFetching,"Failed to delete view")})},onRefreshMaterializedView:async()=>{if(!e.selectedItem.value||e.selectedItem.value.tabViewType!==H.ViewDetail)return;const g=m(e.selectedItem.value.id);if((g==null?void 0:g.type)!==Le.MaterializedView){Ce.error("Only materialized views can be refreshed");return}const w=(g==null?void 0:g.name)||e.selectedItem.value.title,E=nl(o(),w,!1);await r(E,Be.Save,async()=>{await i(async()=>{await $fetch("/api/query/execute",{method:"POST",body:{...Te(t.connection.value),query:E}}),Ce.success("Materialized view refreshed successfully")},e.isFetching,"Failed to refresh materialized view")})}}}const dl=t=>M(()=>[{title:"Rename...",icon:"hugeicons:pencil-edit-02",type:q.ACTION,select:t.onRenameFunction},{title:"Delete",icon:"hugeicons:delete-02",type:q.ACTION,select:t.onDeleteFunction},{type:q.SEPARATOR},{title:"Generate SQL",icon:"hugeicons:code",type:q.SUBMENU,items:[{title:"CALL",icon:"hugeicons:play",type:q.ACTION,select:t.onGenFunctionCallSQL},{title:"SELECT",icon:"hugeicons:table",type:q.ACTION,select:t.onGenFunctionSelectSQL},{type:q.SEPARATOR},{title:"DDL",icon:"hugeicons:document-code",type:q.ACTION,select:t.onGenFunctionDDL}]}]),ml=(t,e)=>M(()=>[{title:"Export Data",icon:"hugeicons:download-01",type:q.SUBMENU,items:[{title:"SQL (INSERT statements)",icon:"hugeicons:code",type:q.ACTION,select:()=>t.onExportTableData(St.SQL)},{title:"JSON",icon:"hugeicons:file-script",type:q.ACTION,select:()=>t.onExportTableData(St.JSON)},{title:"CSV",icon:"hugeicons:file-script",type:q.ACTION,select:()=>t.onExportTableData(St.CSV)}]},{title:"Import Data",icon:"hugeicons:upload-01",type:q.ACTION,disabled:!0},{type:q.SEPARATOR},{title:"Generate SQL",icon:"hugeicons:code",type:q.SUBMENU,items:[{title:"SELECT",icon:"hugeicons:table",type:q.ACTION,select:t.onGenSelectSQL},{title:"INSERT",icon:"hugeicons:plus-sign",type:q.ACTION,select:t.onGenInsertSQL},{title:"UPDATE",icon:"hugeicons:pencil-edit-02",type:q.ACTION,select:t.onGenUpdateSQL},{title:"DELETE",icon:"hugeicons:delete-01",type:q.ACTION,select:t.onGenDeleteSQL},{type:q.SEPARATOR},{title:"MERGE",icon:"hugeicons:git-merge",type:q.ACTION,select:t.onGenMergeSQL},{title:"INSERT ON CONFLICT",icon:"hugeicons:git-pull-request",type:q.ACTION,select:t.onGenInsertOnConflictSQL},{title:"UPDATE FROM",icon:"hugeicons:arrow-right-01",type:q.ACTION,select:t.onGenUpdateFromSQL},{title:"DELETE USING",icon:"hugeicons:delete-02",type:q.ACTION,select:t.onGenDeleteUsingSQL},{type:q.SEPARATOR},{title:"DDL",icon:"hugeicons:document-code",type:q.ACTION,select:t.onGenTableDDL}]},{type:q.SEPARATOR},{title:"Rename...",icon:"hugeicons:pencil-edit-02",type:q.ACTION,select:t.onRenameTable},{title:"Delete",icon:"hugeicons:delete-02",type:q.ACTION,select:t.onDeleteTable},{type:q.SEPARATOR},e]),fl=(t,e,n)=>M(()=>{const o=e.selectedItem.value?t.getViewInfo(e.selectedItem.value.id):null,r=(o==null?void 0:o.type)===Le.MaterializedView,s=[{title:"Generate SQL",icon:"hugeicons:code",type:q.SUBMENU,items:[{title:"SELECT",icon:"hugeicons:table",type:q.ACTION,select:t.onGenViewSelectSQL},{type:q.SEPARATOR},{title:"DDL",icon:"hugeicons:document-code",type:q.ACTION,select:t.onGenViewDDL}]},{type:q.SEPARATOR}];return r&&(s.push({title:"Refresh Materialized View",icon:"hugeicons:refresh",type:q.ACTION,select:t.onRefreshMaterializedView}),s.push({type:q.SEPARATOR})),s.push({title:"Rename...",icon:"hugeicons:pencil-edit-02",type:q.ACTION,select:t.onRenameView},{title:"Delete",icon:"hugeicons:delete-02",type:q.ACTION,select:t.onDeleteView},{type:q.SEPARATOR},n),s});function pl(t,e){const n=ut(),o=It(n,"quickQuerySafeModeEnabled"),r=J(!1),s=()=>{var E;return((E=t.activeSchema.value)==null?void 0:E.name)||"public"},i=E=>{const C=t.activeSchema.value;return C!=null&&C.tableDetails&&C.tableDetails[E]||null},m=E=>{const C=i(E);return C!=null&&C.columns?C.columns.sort((_,x)=>_.ordinal_position-x.ordinal_position):[]};return{getSchemaName:s,getTableMetadata:i,getTableColumnsMetadata:m,getTableColumns:E=>m(E).map(C=>C.name),getPrimaryKeyColumns:E=>{const C=i(E);return C!=null&&C.primary_keys?C.primary_keys.map(_=>_.column):[]},getColumnPlaceholder:E=>E.default_value?E.default_value:E.is_nullable?"NULL":`:${E.name}`,onRightClickItem:(E,C)=>{e.selectedItem.value=no(C.value)},showSqlPreview:(E,C)=>{e.sqlPreviewDialogSQL.value=E,e.sqlPreviewDialogTitle.value=C,e.sqlPreviewDialogOpen.value=!0},executeWithSafeMode:async(E,C,_)=>{o.value?(e.safeModeDialogSQL.value=E,e.safeModeDialogType.value=C,e.pendingAction.value=_,e.safeModeDialogOpen.value=!0):await _()},onSafeModeConfirm:async()=>{e.pendingAction.value&&(r.value=!0,await e.pendingAction.value(),r.value=!1,e.pendingAction.value=null),e.safeModeDialogOpen.value=!1},onSafeModeCancel:()=>{e.pendingAction.value=null,e.safeModeDialogOpen.value=!1},executeWithLoading:async(E,C=e.isFetching,_="An error occurred")=>{try{C.value=!0,await E()}catch(x){console.error(x);const $=x;Ce.error($.message||_),e.sqlPreviewDialogOpen.value=!1}finally{C.value=!1}},safeModeLoading:r}}function vl(){const t=J(null),e=J(!1),n=J(""),o=J(Be.Delete),r=J(null),s=J(null),i=J(!1),m=J(""),u=J(""),d=J(!1),f=J(""),h=J("Generated SQL"),b=J(!1);return{selectedItem:t,safeModeDialogOpen:e,safeModeDialogSQL:n,safeModeDialogType:o,pendingAction:r,renameDialogType:s,renameDialogOpen:i,renameDialogValue:m,renameDialogParameters:u,sqlPreviewDialogOpen:d,sqlPreviewDialogSQL:f,sqlPreviewDialogTitle:h,isFetching:b}}function gl(t){const e=Pe(),n={...t,connection:It(e,"selectedConnection")},o=vl(),r=pl(n,o),s=il(n,o,r),i=cl(n,o,r),m=ul(n,o,r),u=async()=>{const g=Ce.loading("Refreshing schema...");try{await t.onRefreshSchema(),Ce.success("Schema refreshed",{id:g})}catch(w){const E=w;Ce.error(E.message||"Failed to refresh schema",{id:g})}},d={title:"Refresh Schema",icon:"hugeicons:refresh",type:q.ACTION,select:u},f=dl(s),h=ml(i,d),b=fl(m,o,d),p=async g=>{o.renameDialogOpen.value=!1,o.renameDialogType.value===H.FunctionsDetail?await s.performRenameFunction(g):o.renameDialogType.value===H.TableDetail?await i.performRenameTable(g):o.renameDialogType.value===H.ViewDetail&&await m.performRenameView(g)},v=M(()=>{if(!o.selectedItem.value)return[d];switch(o.selectedItem.value.tabViewType){case H.FunctionsDetail:return f.value;case H.TableDetail:return h.value;case H.ViewDetail:return b.value;default:return[d]}});return{selectedItem:o.selectedItem,contextMenuItems:v,safeModeLoading:r.safeModeLoading,safeModeDialogOpen:o.safeModeDialogOpen,safeModeDialogSQL:o.safeModeDialogSQL,safeModeDialogType:o.safeModeDialogType,onSafeModeConfirm:r.onSafeModeConfirm,onSafeModeCancel:r.onSafeModeCancel,renameDialogType:o.renameDialogType,renameDialogOpen:o.renameDialogOpen,renameDialogValue:o.renameDialogValue,onConfirmRename:p,sqlPreviewDialogOpen:o.sqlPreviewDialogOpen,sqlPreviewDialogSQL:o.sqlPreviewDialogSQL,sqlPreviewDialogTitle:o.sqlPreviewDialogTitle,isFetching:o.isFetching,onRightClickItem:r.onRightClickItem}}const yl={class:"flex flex-col h-full w-full overflow-y-auto relative"},hl={key:0,class:"mx-2 mb-2 rounded-md border bg-background/80 px-3 py-2"},bl={class:"flex items-start gap-2"},wl={class:"min-w-0"},_l={class:"text-xs font-medium"},xl={key:0,class:"text-muted-foreground font-normal"},Sl={class:"text-xs text-muted-foreground break-words"},Tl={class:"h-full"},Cl=ee({__name:"ManagementSchemas",setup(t){const{connectToConnection:e}=Et(),n=At(),o=$t(),r=qe(),{openSchemaItemTab:s}=Ge(),{activeSchema:i,activeLoadSession:m}=ge(n),{connectionId:u,workspaceId:d}=Ee(),{schemaId:f}=ge(o),h=J(!1),b=Oe("fileTreeRef"),p=J(!1),v=$e(""),g=dt(v,et),{fileTreeData:w,defaultFolderOpenId:E}=ol(i,g),C=M(()=>Object.keys(w.value).length>0),_=M(()=>{var Z;return((Z=m.value)==null?void 0:Z.status)||"idle"}),x=M(()=>{switch(_.value){case"loading":case"waiting":return"hugeicons:loading-03";case"completed":return"lucide:circle-check-big";case"failed":return"lucide:triangle-alert";default:return"hugeicons:database"}}),$=M(()=>{switch(_.value){case"loading":return"Loading schemas";case"waiting":return"Still loading schemas";case"completed":return"Schemas ready";case"failed":return"Schema load failed";default:return""}}),N=M(()=>m.value?_.value==="failed"?m.value.errorMessage||m.value.statusMessage||"Failed to load schemas for this connection.":m.value.statusMessage||"":""),S=M(()=>!!m.value&&_.value!=="idle"),A=M(()=>_.value==="failed"?"Schema load failed":_.value==="loading"||_.value==="waiting"?"Loading schemas":"No data found"),O=M(()=>N.value?N.value:"There is no schemas data available for this connection."),D=async()=>{if(!u.value)throw new Error("No connection selected");h.value=!0,await e({wsId:d.value,connId:u.value,isRefresh:!0}),h.value=!1},k=()=>{b.value&&(p.value?(b.value.expandAll(),p.value=!1):(b.value.collapseAll(),p.value=!0))},R=M(()=>{var Z;return((Z=i.value)==null?void 0:Z.name)||"public"}),{selectedItem:P,contextMenuItems:U,safeModeDialogOpen:W,safeModeDialogSQL:B,safeModeDialogType:X,onSafeModeConfirm:ne,onSafeModeCancel:te,renameDialogType:ae,renameDialogOpen:le,renameDialogValue:j,onConfirmRename:I,sqlPreviewDialogOpen:V,sqlPreviewDialogSQL:Y,sqlPreviewDialogTitle:Ue,onRightClickItem:Ae,isFetching:se,safeModeLoading:Fe}=gl({schemaName:R,activeSchema:i,onRefreshSchema:D}),me=async Z=>{var Ie,_e;const oe=w.value[Z];if(!oe)return;const ue=(Ie=oe.data)==null?void 0:Ie.tabViewType,fe=(_e=oe.data)==null?void 0:_e.itemValue;!f.value||!ue||await s({id:Z,name:oe.name,type:ue,icon:(fe==null?void 0:fe.icon)||oe.iconOpen||oe.iconClose,iconClass:(fe==null?void 0:fe.iconClass)||oe.iconClass,itemValueId:fe==null?void 0:fe.id,treeNodeId:oe.id})},nt=(Z,oe)=>{var Ie,_e;const ue=w.value[Z];if(!ue)return;const fe=((Ie=ue.data)==null?void 0:Ie.itemValue)||{title:ue.name,name:ue.name,id:ue.id,tabViewType:(_e=ue.data)==null?void 0:_e.tabViewType,icon:ue.iconOpen||ue.iconClose,iconClass:ue.iconClass};Ae(oe,{value:fe})};return De(()=>r.activeTab,Z=>{var oe,ue,fe,Ie;if(!Z){(oe=b.value)==null||oe.clearSelection();return}if(!((ue=b.value)!=null&&ue.isMouseInside)&&((Z==null?void 0:Z.type)===H.TableDetail||(Z==null?void 0:Z.type)===H.TableOverview||(Z==null?void 0:Z.type)===H.ViewDetail||(Z==null?void 0:Z.type)===H.ViewOverview||(Z==null?void 0:Z.type)===H.FunctionsDetail||(Z==null?void 0:Z.type)===H.FunctionsOverview)){const _e=(fe=Z.metadata)==null?void 0:fe.treeNodeId;typeof _e=="string"&&((Ie=b.value)==null||Ie.focusItem(_e))}},{flush:"post",immediate:!0}),(Z,oe)=>{var ft;const ue=ie,fe=pe,Ie=be,_e=we,mt=he,at=Me;return T(),L("div",yl,[l(a(He),{search:a(v),"onUpdate:search":oe[0]||(oe[0]=Se=>ye(v)?v.value=Se:null),title:"Schemas","show-connection":!0,"show-schema":!0,"workspace-id":a(d),"show-search":!0,"search-placeholder":"Search in all tables or functions"},{actions:c(()=>[l(mt,null,{default:c(()=>[l(Ie,{"as-child":""},{default:c(()=>[l(fe,{size:"iconSm",variant:"ghost",onClick:k},{default:c(()=>[l(ue,{name:a(p)?"hugeicons:unfold-more":"hugeicons:unfold-less",class:"size-4! min-w-4"},null,8,["name"])]),_:1})]),_:1}),l(_e,null,{default:c(()=>[F(z(a(p)?"Expand All":"Collapse All"),1)]),_:1})]),_:1}),l(mt,null,{default:c(()=>[l(Ie,{"as-child":""},{default:c(()=>[l(fe,{size:"iconSm",variant:"ghost",onClick:D},{default:c(()=>[l(ue,{name:"hugeicons:redo",class:de(["size-4! min-w-4",a(h)&&"animate-spin"])},null,8,["class"])]),_:1})]),_:1}),l(_e,null,{default:c(()=>oe[5]||(oe[5]=[F(" Refresh Schema ")])),_:1})]),_:1})]),_:1},8,["search","workspace-id"]),a(S)?(T(),L("div",hl,[y("div",bl,[l(ue,{name:a(x),class:de(["size-4 min-w-4 mt-0.5",(a(_)==="loading"||a(_)==="waiting")&&"animate-spin",a(_)==="completed"&&"text-emerald-500",a(_)==="failed"&&"text-destructive"])},null,8,["name","class"]),y("div",wl,[y("p",_l,[F(z(a($))+" ",1),a(_)==="completed"&&((ft=a(m))==null?void 0:ft.schemaCount)!==void 0?(T(),L("span",xl," • "+z(a(m).schemaCount)+" schema"+z(a(m).schemaCount===1?"":"s"),1)):Q("",!0)]),y("p",Sl,z(a(N)),1)])])])):Q("",!0),a(C)?Q("",!0):(T(),K(at,{key:1,title:a(A),desc:a(O)},null,8,["title","desc"])),l(kt,{"context-menu-items":a(U),onOnClearContextMenu:oe[1]||(oe[1]=Se=>P.value=null)},{default:c(()=>[y("div",Tl,[l(Ye,{ref_key:"fileTreeRef",ref:b,"init-expanded-ids":[a(E)],"initial-data":a(w),"storage-key":`${a(u)}-schemas-tree`,"allow-drag-and-drop":!1,"delay-focus":0,onClick:me,onContextmenu:nt},null,8,["init-expanded-ids","initial-data","storage-key"])])]),_:1},8,["context-menu-items"]),l(Wo,{loading:a(Fe),open:a(W),sql:a(B),type:a(X),"onUpdate:open":oe[2]||(oe[2]=Se=>W.value=Se),onConfirm:a(ne),onCancel:a(te)},null,8,["loading","open","sql","type","onConfirm","onCancel"]),l(ll,{open:a(le),"onUpdate:open":oe[3]||(oe[3]=Se=>ye(le)?le.value=Se:null),tabViewType:a(ae),"current-name":a(j),onConfirm:a(I)},null,8,["open","tabViewType","current-name","onConfirm"]),l(rl,{open:a(V),sql:a(Y),title:a(Ue),isLoading:a(se),"onUpdate:open":oe[4]||(oe[4]=Se=>V.value=Se)},null,8,["open","sql","title","isLoading"])])}}}),Il={class:"flex flex-col h-full w-full overflow-hidden"},Dl={key:1,class:"flex-1 overflow-y-auto px-3 pb-4"},El={class:"space-y-2 mt-3"},Al=["disabled"],$l=["disabled"],Rl=["disabled"],kl=ee({__name:"ManagementDatabaseTools",setup(t){const e=Pe(),{openDatabaseToolsTab:n,openInstanceInsightsTab:o,openSchemaDiffTab:r}=Ge(),{connectionId:s,workspaceId:i}=Ee(),m=M(()=>s.value?e.connections.find(p=>p.id===s.value):null),u=M(()=>!!m.value),d=M(()=>{var p,v;return((p=m.value)==null?void 0:p.database)||((v=m.value)==null?void 0:v.name)||"database"}),f=M(()=>{var p,v;return((p=m.value)==null?void 0:p.providerKind)===vt.CLOUDFLARE_D1||((v=m.value)==null?void 0:v.providerKind)===vt.TURSO}),h=M(()=>{var p,v;return((p=m.value)==null?void 0:p.providerKind)===vt.CLOUDFLARE_D1?"Cloudflare D1 stays on the SQL path, but backup, instance insight, and schema diff are not available for the managed provider transport.":((v=m.value)==null?void 0:v.providerKind)===vt.TURSO?"Turso stays on the SQL path, but backup, instance insight, and schema diff are not available for the managed provider transport.":""}),b=async()=>{await n({databaseName:d.value})};return(p,v)=>{const g=Me,w=ie,E=pe,C=Jo;return T(),L("div",Il,[l(a(He),{title:"Database Tools","show-connection":!0,"workspace-id":a(i)},null,8,["workspace-id"]),a(u)?(T(),L("div",Dl,[y("div",El,[y("button",{class:"w-full flex items-center gap-3 rounded-lg border bg-background p-3 text-left transition-colors hover:bg-muted/20 cursor-pointer",disabled:a(f),onClick:v[0]||(v[0]=_=>b())},[l(E,{size:"iconMd",variant:"outline"},{default:c(()=>[l(w,{name:"hugeicons:database-import"})]),_:1}),v[3]||(v[3]=y("div",{class:"flex-1"},[y("p",{class:"text-sm font-medium"},"Backup & Restore"),y("p",{class:"text-xs text-muted-foreground"}," Export and restore database backups ")],-1)),l(w,{name:"hugeicons:external-link-01",class:"size-4 text-muted-foreground"})],8,Al),y("button",{class:"w-full flex items-center gap-3 rounded-lg border bg-background p-3 text-left transition-colors hover:bg-muted/20 disabled:cursor-not-allowed disabled:opacity-50 cursor-pointer",disabled:!a(u)||a(f),onClick:v[1]||(v[1]=_=>a(o)({databaseName:a(d)}))},[l(E,{size:"iconMd",variant:"outline"},{default:c(()=>[l(w,{name:"hugeicons:activity-02"})]),_:1}),v[4]||(v[4]=y("div",{class:"flex-1"},[y("p",{class:"text-sm font-medium"},"Instance Insights"),y("p",{class:"text-xs text-muted-foreground"}," Monitor activity & health ")],-1)),l(w,{name:"hugeicons:external-link-01",class:"size-4 text-muted-foreground"})],8,$l),y("button",{class:"w-full flex items-center gap-3 rounded-lg border bg-background p-3 text-left transition-colors hover:bg-muted/20 disabled:cursor-not-allowed disabled:opacity-50 cursor-pointer",disabled:!a(u)||a(f),onClick:v[2]||(v[2]=_=>a(r)())},[l(E,{size:"iconMd",variant:"outline"},{default:c(()=>[l(w,{name:"hugeicons:git-compare"})]),_:1}),v[5]||(v[5]=y("div",{class:"flex-1"},[y("p",{class:"text-sm font-medium"},"Schema Diff"),y("p",{class:"text-xs text-muted-foreground"}," Compare & sync schemas between connections ")],-1)),l(w,{name:"hugeicons:external-link-01",class:"size-4 text-muted-foreground"})],8,Rl),a(f)?(T(),K(C,{key:0,variant:"secondary"},{default:c(()=>[F(z(a(h)),1)]),_:1})):Q("",!0)])])):(T(),K(g,{key:0,title:"Select a connection",icon:"hugeicons:plug-socket"}))])}}}),Ol={class:"flex items-center justify-between"},Nl={class:"text-sm"},Ll={class:"flex items-center gap-1"},Pl={class:"h-full mt-4"},Fl={key:0,class:"space-y-2"},Ml={class:"space-y-2"},Ul={class:"grid grid-cols-2 gap-4"},Vl={class:"space-y-2"},zl={class:"relative"},jl={class:"space-y-2"},Bl={class:"grid grid-cols-2 gap-3 pt-2"},ql={class:"flex items-center space-x-2"},Gl={class:"flex items-center space-x-2"},Hl={class:"flex items-center space-x-2"},Ql={class:"flex items-center space-x-2"},Wl={key:0,class:"text-sm text-destructive space-y-1"},Kl={key:1,class:"space-y-2"},Yl={class:"space-y-2"},Xl={key:0,class:"p-3 rounded-md bg-amber-500/10 border border-amber-500/30 text-amber-600 dark:text-amber-400 text-sm"},Jl={class:"flex items-center gap-2"},Zl={class:"font-medium"},er={key:1,class:"space-y-2 pt-2"},tr={class:"flex items-center space-x-2"},nr={key:2,class:"flex items-center justify-center gap-2 py-8 text-muted-foreground"},ar={key:2,class:"space-y-2"},or={class:"flex items-center justify-between"},sr={key:0,class:"flex items-center justify-center gap-2 py-8 text-muted-foreground"},lr={key:1,class:"space-y-2 max-h-[50vh] overflow-y-auto"},rr={class:"flex items-center gap-2"},ir={class:"text-sm font-medium"},cr={class:"flex items-center gap-4"},ur={class:"flex items-center space-x-2"},dr={class:"flex items-center space-x-2"},mr={key:2,class:"flex flex-col items-center justify-center py-8 text-muted-foreground"},fr={key:3,class:"p-3 rounded-md bg-amber-500/10 border border-amber-500/30 text-amber-600 dark:text-amber-400 text-sm"},pr={class:"flex items-center gap-2"},vr={key:3,class:"space-y-2"},gr={class:"space-y-2"},yr={class:"grid grid-cols-4 gap-2"},hr={class:"flex items-center space-x-2 pt-2"},br={class:"space-y-2"},wr={class:"flex items-center space-x-2"},_r={class:"flex items-center space-x-2 pt-2"},xr={class:"space-y-2"},Sr={class:"grid grid-cols-3 gap-2"},Tr={class:"flex items-center space-x-2 pt-2"},Cr={class:"text-xs text-muted-foreground"},Ir={key:4,class:"space-y-2"},Dr={class:"space-y-2"},Er={class:"grid grid-cols-2 gap-1 text-sm"},Ar={class:"font-normal"},$r={class:"font-normal"},Rr={class:"font-normal"},kr={class:"font-normal"},Or={key:0},Nr={key:1},Lr={key:0,class:"p-3 rounded-md bg-destructive/10 border border-destructive/30 text-destructive text-sm"},Pr={class:"flex items-start gap-2"},Fr={class:"flex-1"},Mr={class:"text-xs mt-1 opacity-90"},Ur={class:"space-y-2"},Vr={class:"flex items-center justify-between"},zr={class:"max-h-[140px] w-full overflow-y-auto rounded-md border bg-muted/50"},jr={class:"flex gap-2 items-center"},Xe=5,Br=ee({__name:"CreateUserModal",props:{open:{type:Boolean},loading:{type:Boolean},databasesLoading:{type:Boolean},schemasLoading:{type:Boolean},databases:{},schemas:{},schemaObjects:{},currentDatabase:{},error:{}},emits:["update:open","confirm","cancel","clearError","fetchSchemas","fetchSchemaObjects"],setup(t,{emit:e}){const n=t,o=e,r=J(1),s=gt({roleName:"",password:"",canLogin:!0,canCreateDb:!1,canCreateRole:!1,isReplication:!1,connectionLimit:-1,validUntil:"",comment:""}),i=J(""),m=J(!1),u=M(()=>{var j;return((j=n.currentDatabase)==null?void 0:j.trim())||""}),d=M(()=>!i.value||!u.value?!1:i.value!==u.value),f=J(new Map),h=J("tables"),b=gt({scope:"all",privileges:new Set,applyToFuture:!1}),p=gt({scope:"all",privileges:new Set,applyToFuture:!1}),v=gt({scope:"all",privileges:new Set,applyToFuture:!1}),g=J(!1),w=M(()=>{const j=[];return s.roleName.trim()||j.push("Username is required"),s.roleName.includes(" ")&&j.push("Username cannot contain spaces"),j}),E=M(()=>w.value.length===0),C=M(()=>{for(const[,j]of f.value)if(j.has("USAGE"))return!0;return!1}),_=M(()=>{const j=[];for(const[I,V]of f.value)V.has("USAGE")&&j.push(I);return j}),x=M(()=>{const j=[];s.canLogin?(j.push("LOGIN"),s.password&&j.push(`PASSWORD '${s.password.replace(/'/g,"''")}'`)):j.push("NOLOGIN"),s.canCreateDb&&j.push("CREATEDB"),s.canCreateRole&&j.push("CREATEROLE"),s.isReplication&&j.push("REPLICATION"),s.connectionLimit>=0&&j.push(`CONNECTION LIMIT ${s.connectionLimit}`),s.validUntil&&j.push(`VALID UNTIL '${s.validUntil}'`);let I=`CREATE ROLE "${s.roleName}" WITH ${j.join(" ")};
|
|
40
|
-
`;i.value&&m.value&&(I+=`GRANT CONNECT ON DATABASE "${i.value}" TO "${s.roleName}";
|
|
41
|
-
`);for(const[V,Y]of f.value)Y.size>0&&(I+=`GRANT ${Array.from(Y).join(", ")} ON SCHEMA "${V}" TO "${s.roleName}";
|
|
42
|
-
`);for(const V of _.value)if(b.privileges.size>0){const Y=Array.from(b.privileges).join(", ");I+=`GRANT ${Y} ON ALL TABLES IN SCHEMA "${V}" TO "${s.roleName}";
|
|
43
|
-
`,b.applyToFuture&&(I+=`ALTER DEFAULT PRIVILEGES IN SCHEMA "${V}" GRANT ${Y} ON TABLES TO "${s.roleName}";
|
|
44
|
-
`)}for(const V of _.value)if(p.privileges.size>0){const Y=Array.from(p.privileges).join(", ");I+=`GRANT ${Y} ON ALL FUNCTIONS IN SCHEMA "${V}" TO "${s.roleName}";
|
|
45
|
-
`,p.applyToFuture&&(I+=`ALTER DEFAULT PRIVILEGES IN SCHEMA "${V}" GRANT ${Y} ON FUNCTIONS TO "${s.roleName}";
|
|
46
|
-
`)}for(const V of _.value)if(v.privileges.size>0){const Y=Array.from(v.privileges).join(", ");I+=`GRANT ${Y} ON ALL SEQUENCES IN SCHEMA "${V}" TO "${s.roleName}";
|
|
47
|
-
`,v.applyToFuture&&(I+=`ALTER DEFAULT PRIVILEGES IN SCHEMA "${V}" GRANT ${Y} ON SEQUENCES TO "${s.roleName}";
|
|
48
|
-
`)}return I}),{copied:$,handleCopy:N,getCopyIcon:S,getCopyIconClass:A,getCopyTooltip:O}=ha(),D=()=>N(x.value),k=()=>{if(r.value<Xe){if(r.value===2&&i.value){if(d.value){r.value=Xe;return}o("fetchSchemas")}r.value++}},R=()=>{if(r.value===Xe&&d.value){r.value=2;return}r.value>1&&r.value--},P=M(()=>r.value===1?E.value:r.value===2?!!i.value&&!n.databasesLoading:r.value===3?C.value:!0);De(i,()=>{f.value.clear(),b.privileges.clear(),b.applyToFuture=!1,p.privileges.clear(),p.applyToFuture=!1,v.privileges.clear(),v.applyToFuture=!1});const U=(j,I)=>{const V=f.value.get(j)??new Set,Y=new Set(V);Y.has(I)?Y.delete(I):Y.add(I),f.value.set(j,Y)},W=(j,I)=>{var V;return((V=f.value.get(j))==null?void 0:V.has(I))??!1},B=j=>{b.privileges.has(j)?b.privileges.delete(j):b.privileges.add(j)},X=j=>{p.privileges.has(j)?p.privileges.delete(j):p.privileges.add(j)},ne=j=>{v.privileges.has(j)?v.privileges.delete(j):v.privileges.add(j)},te=()=>{const j=[];for(const[V,Y]of f.value)Y.size>0&&j.push({schemaName:V,privileges:Array.from(Y)});const I=[];for(const V of _.value)b.privileges.size>0&&I.push({objectType:"table",schemaName:V,privileges:Array.from(b.privileges),applyToFuture:b.applyToFuture}),p.privileges.size>0&&I.push({objectType:"function",schemaName:V,privileges:Array.from(p.privileges),applyToFuture:p.applyToFuture}),v.privileges.size>0&&I.push({objectType:"sequence",schemaName:V,privileges:Array.from(v.privileges),applyToFuture:v.applyToFuture});o("confirm",{roleData:{roleName:s.roleName,password:s.password||void 0,canLogin:s.canLogin,canCreateDb:s.canCreateDb,canCreateRole:s.canCreateRole,isReplication:s.isReplication,connectionLimit:s.connectionLimit>=0?s.connectionLimit:void 0,validUntil:s.validUntil||void 0,comment:s.comment||void 0},databaseGrants:i.value&&m.value?[{databaseName:i.value,privileges:["CONNECT"]}]:[],schemaGrants:j,objectGrants:I})},ae=()=>{r.value=1,s.roleName="",s.password="",s.canLogin=!0,s.canCreateDb=!1,s.canCreateRole=!1,s.isReplication=!1,s.connectionLimit=-1,s.validUntil="",s.comment="",i.value="",m.value=!1,f.value.clear(),b.privileges.clear(),b.applyToFuture=!1,p.privileges.clear(),p.applyToFuture=!1,v.privileges.clear(),v.applyToFuture=!1,g.value=!1};De(()=>n.open,j=>{j||ae()}),De(r,()=>{o("clearError")});const le=["User Info","Database","Schemas","Objects","Review"];return(j,I)=>{const V=ie,Y=lo,Ue=ro,Ae=so,se=io,Fe=dn,me=Zo,nt=co,Z=ln,oe=un,ue=cn,fe=sn,Ie=Me,_e=va,mt=pa,at=uo,ft=fa,Se=pe,Va=be,za=we,ja=he,Ba=ba,qa=mo,Ga=oo,Ha=ao;return T(),K(Ha,{open:j.open,"onUpdate:open":I[16]||(I[16]=pt=>o("update:open",pt))},{default:c(()=>[l(Ga,{class:"w-[65vw] h-[60vh] max-w-[65vw]! gap-1 p-5 flex flex-col flex-1 overflow-hidden"},{default:c(()=>{var pt,Cn,In;return[l(Ae,null,{default:c(()=>[l(Y,{class:"flex items-center font-medium! gap-2"},{default:c(()=>[l(V,{name:"lucide:user-plus",class:"size-5 text-primary"}),I[17]||(I[17]=F(" Create New User/Role "))]),_:1}),l(Ue,null,{default:c(()=>[y("div",Ol,[y("span",Nl,"Step "+z(a(r))+": "+z(le[a(r)-1]),1),y("div",Ll,[(T(),L(re,null,ve(Xe,G=>y("div",{key:G,class:de(["w-6 h-1 rounded-full transition-colors",G<=a(r)?"bg-primary":"bg-muted"])},null,2)),64))])])]),_:1})]),_:1}),y("div",Pl,[a(r)===1?(T(),L("div",Fl,[y("div",Ml,[l(se,{for:"roleName"},{default:c(()=>I[18]||(I[18]=[F("Username "),y("span",{class:"text-destructive"},"*",-1)])),_:1}),l(Fe,{id:"roleName",modelValue:a(s).roleName,"onUpdate:modelValue":I[0]||(I[0]=G=>a(s).roleName=G),placeholder:"Enter username",class:de({"border-destructive":a(s).roleName&&a(w).some(G=>G.includes("Username"))})},null,8,["modelValue","class"])]),y("div",Ul,[y("div",Vl,[l(se,{for:"password"},{default:c(()=>I[19]||(I[19]=[F("Password")])),_:1}),y("div",zl,[l(Fe,{id:"password",modelValue:a(s).password,"onUpdate:modelValue":I[1]||(I[1]=G=>a(s).password=G),type:a(g)?"text":"password",placeholder:"Enter password",class:"pr-10"},null,8,["modelValue","type"]),y("button",{type:"button",class:"absolute right-2 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground",onClick:I[2]||(I[2]=G=>g.value=!a(g))},[l(V,{name:a(g)?"lucide:eye-off":"lucide:eye",class:"size-4"},null,8,["name"])])]),I[20]||(I[20]=y("p",{class:"text-xs text-amber-500 dark:text-amber-400"}," Leave blank to create a role without a password. ",-1))]),y("div",jl,[l(se,{for:"connectionLimit"},{default:c(()=>I[21]||(I[21]=[F("Connection Limit")])),_:1}),l(Fe,{id:"connectionLimit",modelValue:a(s).connectionLimit,"onUpdate:modelValue":I[3]||(I[3]=G=>a(s).connectionLimit=G),modelModifiers:{number:!0},type:"number",min:-1,placeholder:"No limit"},null,8,["modelValue"]),I[22]||(I[22]=y("p",{class:"text-xs text-muted-foreground"}," Use `-1` for no limit. ",-1))])]),y("div",Bl,[y("div",ql,[l(me,{id:"canLogin","model-value":a(s).canLogin,"onUpdate:modelValue":I[4]||(I[4]=G=>a(s).canLogin=G)},null,8,["model-value"]),l(se,{for:"canLogin",class:"text-sm font-normal cursor-pointer"},{default:c(()=>I[23]||(I[23]=[F("Can Login")])),_:1})]),y("div",Gl,[l(me,{id:"canCreateDb","model-value":a(s).canCreateDb,"onUpdate:modelValue":I[5]||(I[5]=G=>a(s).canCreateDb=G)},null,8,["model-value"]),l(se,{for:"canCreateDb",class:"text-sm font-normal cursor-pointer"},{default:c(()=>I[24]||(I[24]=[F("Create DB")])),_:1})]),y("div",Hl,[l(me,{id:"canCreateRole","model-value":a(s).canCreateRole,"onUpdate:modelValue":I[6]||(I[6]=G=>a(s).canCreateRole=G)},null,8,["model-value"]),l(se,{for:"canCreateRole",class:"text-sm font-normal cursor-pointer"},{default:c(()=>I[25]||(I[25]=[F("Create Role")])),_:1})]),y("div",Ql,[l(me,{id:"isReplication","model-value":a(s).isReplication,"onUpdate:modelValue":I[7]||(I[7]=G=>a(s).isReplication=G)},null,8,["model-value"]),l(se,{for:"isReplication",class:"text-sm font-normal cursor-pointer"},{default:c(()=>I[26]||(I[26]=[F("Replication")])),_:1})])]),a(w).length>0&&a(s).roleName?(T(),L("div",Wl,[(T(!0),L(re,null,ve(a(w),G=>(T(),L("div",{key:G,class:"flex items-center gap-1"},[l(V,{name:"lucide:x",class:"size-3"}),F(" "+z(G),1)]))),128))])):Q("",!0)])):a(r)===2?(T(),L("div",Kl,[y("div",Yl,[l(se,null,{default:c(()=>I[27]||(I[27]=[F("Select Database")])),_:1}),l(fe,{modelValue:a(i),"onUpdate:modelValue":I[8]||(I[8]=G=>ye(i)?i.value=G:null),disabled:j.databasesLoading},{default:c(()=>[l(Z,null,{default:c(()=>[l(nt,{placeholder:j.databasesLoading?"Loading databases...":"Choose a database"},null,8,["placeholder"])]),_:1}),l(ue,null,{default:c(()=>[(T(!0),L(re,null,ve(j.databases,G=>(T(),K(oe,{key:G.databaseName,value:G.databaseName},{default:c(()=>[F(z(G.databaseName),1)]),_:2},1032,["value"]))),128))]),_:1})]),_:1},8,["modelValue","disabled"])]),a(d)?(T(),L("div",Xl,[y("div",Jl,[l(V,{name:"lucide:info",class:"size-4"}),y("span",null,[I[28]||(I[28]=F(" You're connected to ")),y("span",Zl,z(a(u)),1),I[29]||(I[29]=F(". Schema and object permissions can only be configured for the connected database, so you'll go directly to Review for database-level grants. "))])])])):Q("",!0),a(i)&&!j.databasesLoading?(T(),L("div",er,[y("div",tr,[l(me,{id:"dbConnect","model-value":a(m),"onUpdate:modelValue":I[9]||(I[9]=G=>ye(m)?m.value=G:null)},null,8,["model-value"]),l(se,{for:"dbConnect",class:"text-sm font-normal cursor-pointer"},{default:c(()=>I[30]||(I[30]=[F(" Grant CONNECT permission ")])),_:1})]),I[31]||(I[31]=y("p",{class:"text-xs text-muted-foreground"}," CONNECT allows the user to connect to this database. ",-1))])):Q("",!0),j.databasesLoading?(T(),L("div",nr,[l(V,{name:"hugeicons:loading-03",class:"size-5 animate-spin text-muted-foreground"}),I[32]||(I[32]=y("p",{class:"text-sm"},"Loading databases...",-1))])):(pt=j.databases)!=null&&pt.length?Q("",!0):(T(),K(Ie,{key:3,title:"No databases available",desc:"No databases were found for this connection."}))])):a(r)===3?(T(),L("div",ar,[y("div",or,[l(se,null,{default:c(()=>I[33]||(I[33]=[F("Schema Permissions")])),_:1}),I[34]||(I[34]=y("span",{class:"text-xs text-muted-foreground"},"At least one USAGE required",-1))]),j.schemasLoading?(T(),L("div",sr,[l(V,{name:"hugeicons:loading-03",class:"size-5 animate-spin text-muted-foreground"}),I[35]||(I[35]=y("p",{class:"text-sm"},"Loading schemas...",-1))])):(Cn=j.schemas)!=null&&Cn.length?(T(),L("div",lr,[(T(!0),L(re,null,ve(j.schemas,G=>(T(),L("div",{key:G.schemaName,class:"flex items-center justify-between p-3 rounded-lg border bg-card hover:bg-accent/50 transition-colors"},[y("div",rr,[l(V,{name:"lucide:folder",class:"size-4 text-muted-foreground"}),y("span",ir,z(G.schemaName),1)]),y("div",cr,[y("div",ur,[l(me,{id:`schema-${G.schemaName}-usage`,"model-value":W(G.schemaName,"USAGE"),"onUpdate:modelValue":Nt=>U(G.schemaName,"USAGE")},null,8,["id","model-value","onUpdate:modelValue"]),l(se,{for:`schema-${G.schemaName}-usage`,class:"text-xs cursor-pointer"},{default:c(()=>I[36]||(I[36]=[F("USAGE")])),_:2},1032,["for"])]),y("div",dr,[l(me,{id:`schema-${G.schemaName}-create`,"model-value":W(G.schemaName,"CREATE"),"onUpdate:modelValue":Nt=>U(G.schemaName,"CREATE")},null,8,["id","model-value","onUpdate:modelValue"]),l(se,{for:`schema-${G.schemaName}-create`,class:"text-xs cursor-pointer"},{default:c(()=>I[37]||(I[37]=[F("CREATE")])),_:2},1032,["for"])])])]))),128))])):(T(),L("div",mr,[l(V,{name:"lucide:folder",class:"size-12 mb-2 opacity-50"}),I[38]||(I[38]=y("p",{class:"text-sm"},"No schemas found",-1))])),!a(C)&&((In=j.schemas)!=null&&In.length)?(T(),L("div",fr,[y("div",pr,[l(V,{name:"lucide:alert-triangle",class:"size-4"}),I[39]||(I[39]=y("span",null,"Select at least one schema with USAGE permission to continue",-1))])])):Q("",!0)])):a(r)===4?(T(),L("div",vr,[l(ft,{modelValue:a(h),"onUpdate:modelValue":I[14]||(I[14]=G=>ye(h)?h.value=G:null),class:"w-full"},{default:c(()=>[l(mt,{class:"w-full grid grid-cols-3"},{default:c(()=>[l(_e,{value:"tables"},{default:c(()=>[l(V,{name:"lucide:table",class:"size-4 mr-1"}),I[40]||(I[40]=F(" Tables "))]),_:1}),l(_e,{value:"functions"},{default:c(()=>[l(V,{name:"lucide:function-square",class:"size-4 mr-1"}),I[41]||(I[41]=F(" Functions "))]),_:1}),l(_e,{value:"sequences"},{default:c(()=>[l(V,{name:"lucide:list-ordered",class:"size-4 mr-1"}),I[42]||(I[42]=F(" Sequences "))]),_:1})]),_:1}),l(at,{value:"tables",class:"space-y-2 pt-4"},{default:c(()=>[y("div",gr,[l(se,{class:"text-sm"},{default:c(()=>I[43]||(I[43]=[F("Table Privileges")])),_:1}),y("div",yr,[(T(),L(re,null,ve(["SELECT","INSERT","UPDATE","DELETE"],G=>y("div",{key:G,class:"flex items-center space-x-2"},[l(me,{id:`table-${G}`,"model-value":a(b).privileges.has(G),"onUpdate:modelValue":Nt=>B(G)},null,8,["id","model-value","onUpdate:modelValue"]),l(se,{for:`table-${G}`,class:"text-xs cursor-pointer"},{default:c(()=>[F(z(G),1)]),_:2},1032,["for"])])),64))])]),y("div",hr,[l(me,{id:"tablesFuture","model-value":a(b).applyToFuture,"onUpdate:modelValue":I[10]||(I[10]=G=>a(b).applyToFuture=G)},null,8,["model-value"]),l(se,{for:"tablesFuture",class:"text-sm font-normal cursor-pointer"},{default:c(()=>I[44]||(I[44]=[F(" Apply to future tables (ALTER DEFAULT PRIVILEGES) ")])),_:1})])]),_:1}),l(at,{value:"functions",class:"space-y-2 pt-4"},{default:c(()=>[y("div",br,[l(se,{class:"text-sm"},{default:c(()=>I[45]||(I[45]=[F("Function Privileges")])),_:1}),y("div",wr,[l(me,{id:"func-execute","model-value":a(p).privileges.has("EXECUTE"),"onUpdate:modelValue":I[11]||(I[11]=G=>X("EXECUTE"))},null,8,["model-value"]),l(se,{for:"func-execute",class:"text-xs cursor-pointer"},{default:c(()=>I[46]||(I[46]=[F("EXECUTE")])),_:1})])]),y("div",_r,[l(me,{id:"funcFuture","model-value":a(p).applyToFuture,"onUpdate:modelValue":I[12]||(I[12]=G=>a(p).applyToFuture=G)},null,8,["model-value"]),l(se,{for:"funcFuture",class:"text-sm font-normal cursor-pointer"},{default:c(()=>I[47]||(I[47]=[F(" Apply to future functions ")])),_:1})])]),_:1}),l(at,{value:"sequences",class:"space-y-2 pt-4"},{default:c(()=>[y("div",xr,[l(se,{class:"text-sm"},{default:c(()=>I[48]||(I[48]=[F("Sequence Privileges")])),_:1}),y("div",Sr,[(T(),L(re,null,ve(["USAGE","SELECT"],G=>y("div",{key:G,class:"flex items-center space-x-2"},[l(me,{id:`seq-${G}`,"model-value":a(v).privileges.has(G),"onUpdate:modelValue":Nt=>ne(G)},null,8,["id","model-value","onUpdate:modelValue"]),l(se,{for:`seq-${G}`,class:"text-xs cursor-pointer"},{default:c(()=>[F(z(G),1)]),_:2},1032,["for"])])),64))])]),y("div",Tr,[l(me,{id:"seqFuture","model-value":a(v).applyToFuture,"onUpdate:modelValue":I[13]||(I[13]=G=>a(v).applyToFuture=G)},null,8,["model-value"]),l(se,{for:"seqFuture",class:"text-sm font-normal cursor-pointer"},{default:c(()=>I[49]||(I[49]=[F(" Apply to future sequences ")])),_:1})])]),_:1})]),_:1},8,["modelValue"]),y("p",Cr," Permissions will be applied to all objects in selected schemas: "+z(a(_).join(", ")||"none"),1)])):a(r)===5?(T(),L("div",Ir,[y("div",Dr,[I[54]||(I[54]=y("h4",{class:"text-sm font-medium"},"Summary",-1)),y("div",Er,[I[50]||(I[50]=y("div",{class:"text-muted-foreground"},"Username:",-1)),y("div",Ar,z(a(s).roleName),1),I[51]||(I[51]=y("div",{class:"text-muted-foreground"},"Type:",-1)),y("div",$r,z(a(s).canLogin?"User (login)":"Role"),1),I[52]||(I[52]=y("div",{class:"text-muted-foreground"},"Database:",-1)),y("div",Rr,z(a(i)||"None"),1),I[53]||(I[53]=y("div",{class:"text-muted-foreground"},"Schemas:",-1)),y("div",kr,[a(d)?(T(),L("span",Or,"Skipped")):(T(),L("span",Nr,z(a(_).length)+" selected",1))])])]),j.error?(T(),L("div",Lr,[y("div",Pr,[l(V,{name:"lucide:alert-circle",class:"size-4 mt-0.5 shrink-0"}),y("div",Fr,[I[55]||(I[55]=y("p",{class:"font-medium"},"Error creating user",-1)),y("p",Mr,z(j.error),1)])])])):Q("",!0),y("div",Ur,[y("div",Vr,[I[56]||(I[56]=y("h4",{class:"text-sm font-medium"},"Generated SQL",-1)),l(ja,null,{default:c(()=>[l(Va,{"as-child":""},{default:c(()=>[l(Se,{variant:"ghost",size:"xs",onClick:D},{default:c(()=>[l(V,{name:a(S)(a($)),class:de(["size-3 mr-1",a(A)(a($))])},null,8,["name","class"]),F(" "+z(a(O)(a($),"Copy")),1)]),_:1})]),_:1}),l(za,null,{default:c(()=>[F(z(a(O)(a($),"Copy SQL")),1)]),_:1})]),_:1})]),y("div",zr,[l(Ba,{code:a(x),"max-height":"140px"},null,8,["code"])])])])):Q("",!0)]),l(qa,{class:"gap-2 sm:gap-0"},{default:c(()=>[a(r)>1?(T(),K(Se,{key:0,variant:"outline",onClick:R,disabled:j.loading},{default:c(()=>[l(V,{name:"lucide:arrow-left",class:"size-4"}),I[57]||(I[57]=F(" Back "))]),_:1},8,["disabled"])):Q("",!0),I[60]||(I[60]=y("div",{class:"flex-1"},null,-1)),y("div",jr,[a(r)===1?(T(),K(Se,{key:0,variant:"outline",onClick:I[15]||(I[15]=G=>o("cancel")),disabled:j.loading},{default:c(()=>I[58]||(I[58]=[F(" Cancel ")])),_:1},8,["disabled"])):Q("",!0),a(r)<Xe?(T(),K(Se,{key:1,onClick:k,disabled:!a(P)},{default:c(()=>[F(z(a(r)===4?"Review":"Next")+" ",1),l(V,{name:"lucide:arrow-right",class:"size-4"})]),_:1},8,["disabled"])):Q("",!0),a(r)===Xe?(T(),K(Se,{key:2,onClick:te,disabled:j.loading||!a(E)},{default:c(()=>[j.loading?(T(),K(V,{key:0,name:"hugeicons:loading-03",class:"size-4 mr-2 animate-spin"})):Q("",!0),I[59]||(I[59]=F(" Create User "))]),_:1},8,["disabled"])):Q("",!0)])]),_:1})]}),_:1})]),_:1},8,["open"])}}}),qr={class:"text-sm"},Gr={class:"font-semibold text-foreground"},Hr={key:0,class:"flex items-start gap-2 p-3 rounded-md bg-destructive/10 border border-destructive/20"},Qr={class:"space-y-2"},Wr={class:"p-3 bg-muted/50 rounded-md border font-mono text-xs"},Kr=ee({__name:"DeleteUserDialog",props:{open:{type:Boolean},role:{},loading:{type:Boolean}},emits:["update:open","confirm","cancel"],setup(t,{emit:e}){const n=t,o=e,r=M(()=>n.role?`DROP ROLE IF EXISTS "${n.role.roleName}"`:"");return(s,i)=>{const m=ie,u=vn,d=gn,f=pn,h=hn,b=pe,p=yn,v=fn,g=mn;return T(),K(g,{open:s.open,"onUpdate:open":i[2]||(i[2]=w=>o("update:open",w))},{default:c(()=>[l(v,{class:"max-w-md"},{default:c(()=>[l(f,null,{default:c(()=>[l(u,{class:"flex items-center gap-2"},{default:c(()=>[l(m,{name:"lucide:trash-2",class:"size-5 text-destructive"}),i[3]||(i[3]=F(" Delete User/Role "))]),_:1}),s.role?(T(),K(d,{key:0,class:"space-y-4"},{default:c(()=>[y("div",qr,[i[4]||(i[4]=F(" Are you sure you want to delete the role ")),y("span",Gr,z(s.role.roleName),1),i[5]||(i[5]=F("? "))]),s.role.isSuperuser?(T(),L("div",Hr,[l(m,{name:"lucide:alert-triangle",class:"size-5 text-destructive shrink-0 mt-0.5"}),i[6]||(i[6]=y("div",{class:"text-sm text-destructive"},[y("span",{class:"font-semibold"},"Warning:"),F(" This is a superuser role. Deleting it may affect system functionality. ")],-1))])):Q("",!0),y("div",Qr,[i[7]||(i[7]=y("p",{class:"text-xs font-medium text-muted-foreground"}," Generated SQL: ",-1)),y("div",Wr,z(a(r)),1)]),i[8]||(i[8]=y("div",{class:"text-xs text-muted-foreground"}," This action cannot be undone. Objects owned by this role must be reassigned or dropped first. ",-1))]),_:1})):Q("",!0)]),_:1}),l(p,null,{default:c(()=>[l(h,{onClick:i[0]||(i[0]=w=>o("cancel")),disabled:s.loading},{default:c(()=>i[9]||(i[9]=[F(" Cancel ")])),_:1},8,["disabled"]),l(b,{variant:"destructive",disabled:s.loading,onClick:i[1]||(i[1]=w=>o("confirm"))},{default:c(()=>[s.loading?(T(),K(m,{key:0,name:"hugeicons:loading-03",class:"size-4 mr-2 animate-spin"})):Q("",!0),i[10]||(i[10]=F(" Delete Role "))]),_:1},8,["disabled"])]),_:1})]),_:1})]),_:1},8,["open"])}}}),Yr={class:"flex flex-col gap-1 py-1 h-full relative"},Xr={class:"h-full"},Jr=ee({__name:"UserRolesTree",props:{roles:{},loading:{type:Boolean},selectedRoleName:{},onCreateUser:{type:Function},canCreateUser:{type:Boolean},createUserDisabledReason:{},onDeleteUser:{type:Function},onRefresh:{type:Function}},setup(t,{expose:e}){const n=t,o=qe(),{openUserPermissionsTab:r}=Ge(),{workspaceId:s,connectionId:i}=Ee(),m=Oe("fileTreeRef"),u=J(null),d=J(!1),f=J(null),h=J(!1),b=[Re.User],p=M(()=>{const S={},A=[],O=[],D=[];for(const R of n.roles)R.isSuperuser?A.push(R):R.canLogin?O.push(R):D.push(R);const k=(R,P,U)=>{S[R.roleName]={id:R.roleName,parentId:P,name:R.roleName,type:"file",depth:U,iconClose:R.canLogin?"hugeicons:user-circle":"hugeicons:user-lock-01",iconClass:R.isSuperuser?"text-yellow-500":R.canLogin?"text-blue-400":"text-purple-400",data:{tabViewType:H.UserPermissions,roleData:R}}};return A.length>0&&(S[Re.Superuser]={id:Re.Superuser,parentId:null,name:`Superusers (${A.length})`,type:"folder",depth:0,iconOpen:"hugeicons:crown",iconClose:"hugeicons:crown",iconClass:"text-yellow-500",children:A.map(R=>R.roleName)},A.forEach(R=>k(R,Re.Superuser,1))),O.length>0&&(S[Re.User]={id:Re.User,parentId:null,name:`Users (${O.length})`,type:"folder",depth:0,iconOpen:"hugeicons:user",iconClose:"hugeicons:user",iconClass:"text-blue-500",children:O.map(R=>R.roleName)},O.forEach(R=>k(R,Re.User,1))),D.length>0&&(S[Re.Role]={id:Re.Role,parentId:null,name:`Roles (${D.length})`,type:"folder",depth:0,iconOpen:"hugeicons:user-group",iconClose:"hugeicons:user-group",iconClass:"text-purple-500",children:D.map(R=>R.roleName)},D.forEach(R=>k(R,Re.Role,1))),S}),v=S=>n.roles.find(A=>A.roleName===S),g=(S,A)=>{var D;const O=p.value[S];if(O)if(O.type==="folder")u.value={type:"category",category:O.id};else{const k=(D=O.data)==null?void 0:D.roleData;if(k)u.value={type:"role",role:k};else{const R=v(O.id);R&&(u.value={type:"role",role:R})}}},w=async S=>{var P;const A=p.value[S];if(!A||A.type==="folder"||!s.value||!i.value)return;const O=(P=A.data)==null?void 0:P.roleData,D=(O==null?void 0:O.roleName)||A.id,k=O!=null&&O.isSuperuser?"hugeicons:crown":O!=null&&O.canLogin?"hugeicons:user-circle":"hugeicons:user-lock-01",R=O!=null&&O.isSuperuser?"text-yellow-500":O!=null&&O.canLogin?"text-blue-400":"text-purple-400";await r({roleName:D,icon:k,iconClass:R,treeNodeId:A.id})},E=M(()=>{const S=[];if(!u.value)return S.push({title:"Create User",icon:"lucide:user-plus",type:q.ACTION,select:()=>{var A;return(A=n.onCreateUser)==null?void 0:A.call(n)},disabled:n.canCreateUser===!1}),S.push({type:q.SEPARATOR}),S.push({title:"Refresh",icon:"lucide:refresh-cw",type:q.ACTION,select:()=>{var A;return(A=n.onRefresh)==null?void 0:A.call(n)}}),S;if(u.value.type==="category"&&(S.push({title:"Users & Roles",type:q.LABEL}),S.push({title:"Create User",icon:"lucide:user-plus",type:q.ACTION,select:()=>{var A;return(A=n.onCreateUser)==null?void 0:A.call(n)},disabled:n.canCreateUser===!1}),S.push({type:q.SEPARATOR}),S.push({title:"Refresh",icon:"lucide:refresh-cw",type:q.ACTION,select:()=>{var A;return(A=n.onRefresh)==null?void 0:A.call(n)}})),u.value.type==="role"&&u.value.role){const A=u.value.role;S.push({title:A.roleName,type:q.LABEL}),S.push({title:"View Permissions",icon:"hugeicons:shield-01",type:q.ACTION,select:()=>{w(A.roleName)}}),S.push({type:q.SEPARATOR}),S.push({title:"Delete User",icon:"lucide:trash-2",type:q.ACTION,select:()=>{f.value=A,d.value=!0},disabled:A.isSuperuser}),S.push({type:q.SEPARATOR}),S.push({title:"Refresh",icon:"lucide:refresh-cw",type:q.ACTION,select:()=>{var O;return(O=n.onRefresh)==null?void 0:O.call(n)}})}return S}),C=()=>{u.value=null},_=async()=>{var S;if(f.value){h.value=!0;try{await((S=n.onDeleteUser)==null?void 0:S.call(n,f.value)),d.value=!1,f.value=null}finally{h.value=!1}}};De(()=>o.activeTab,S=>{var A,O,D,k;if(!S){(A=m.value)==null||A.clearSelection();return}if(!((O=m.value)!=null&&O.isMouseInside)&&(S==null?void 0:S.type)===H.UserPermissions&&typeof((D=S.metadata)==null?void 0:D.treeNodeId)=="string"){(k=m.value)==null||k.focusItem(S.metadata.treeNodeId);return}},{flush:"post",immediate:!0});const x=()=>{var S;(S=m.value)==null||S.expandAll()},$=()=>{var S;(S=m.value)==null||S.collapseAll()},N=M(()=>{var S;return((S=m.value)==null?void 0:S.isExpandedAll)??!1});return e({expandAll:x,collapseAll:$,isExpandedAll:N}),(S,A)=>{const O=ie,D=pe,k=Me;return T(),L(re,null,[y("div",Yr,[S.loading?(T(),K(ma,{key:0,visible:""})):S.roles.length?(T(),K(kt,{key:2,"context-menu-items":a(E),onOnClearContextMenu:C},{default:c(()=>[y("div",Xr,[l(Ye,{ref_key:"fileTreeRef",ref:m,"init-expanded-ids":b,"initial-data":a(p),"allow-drag-and-drop":!1,"delay-focus":0,"storage-key":`${a(i)}-user-roles-tree`,onClick:w,onContextmenu:g},null,8,["initial-data","storage-key"])])]),_:1},8,["context-menu-items"])):(T(),K(k,{key:1,title:"No roles found",desc:"There are no roles or users available for this connection."},{default:c(()=>[S.canCreateUser?(T(),K(D,{key:0,variant:"outline",size:"sm",onClick:S.onCreateUser},{default:c(()=>[l(O,{name:"hugeicons:user-add-01"}),A[2]||(A[2]=F(" Create User "))]),_:1},8,["onClick"])):Q("",!0)]),_:1}))]),l(Kr,{open:a(d),"onUpdate:open":A[0]||(A[0]=R=>ye(d)?d.value=R:null),role:a(f),loading:a(h),onConfirm:_,onCancel:A[1]||(A[1]=R=>{d.value=!1,f.value=null})},null,8,["open","role","loading"])],64)}}}),Zr={class:"flex flex-col h-full w-full overflow-hidden"},ei={key:1,class:"flex-1 overflow-y-auto min-h-0"},ti=ee({__name:"ManagementUsersAndPermission",setup(t){const e=Pe(),{connectionId:n,workspaceId:o}=Ee(),r=M(()=>{if(n.value)return e.connections.find(V=>V.id===n.value)}),s=M(()=>{var V;if(!r.value)return"";if(r.value.database)return r.value.database;if(r.value.connectionString)try{return((V=new URL(r.value.connectionString).pathname)==null?void 0:V.replace(/^\//,""))||""}catch{return""}return""}),i=M(()=>{if(!r.value)return"";if(r.value.username)return r.value.username;if(r.value.connectionString)try{return new URL(r.value.connectionString).username||""}catch{return""}return""}),{isLoading:m,roles:u,fetchRoles:d,refresh:f}=es(r),h=M(()=>i.value&&u.value.find(V=>V.roleName===i.value)||null),b=M(()=>!r.value||!h.value?!1:h.value.isSuperuser||h.value.canCreateRole),p=M(()=>r.value?h.value?b.value?"Create User":"Your role lacks CREATEROLE or SUPERUSER privileges":"Unable to verify role privileges for this connection":"Select a connection to create users"),{isCreating:v,createRole:g,deleteRole:w}=ts(r),{isLoading:E,databases:C,fetchDatabases:_}=ns(r),{isLoading:x,schemas:$,fetchSchemas:N}=as(r),{isGranting:S,grantBulkPermissions:A}=os(r),O=$e(""),D=dt(O,et),k=J(!1),R=J(!1),P=J(null),U=M(()=>{if(!D.value)return u.value;const V=D.value.toLowerCase();return u.value.filter(Y=>Y.roleName.toLowerCase().includes(V))});De(()=>r.value,async V=>{V&&await d()},{immediate:!0});const W=async()=>{k.value=!0,await f(),k.value=!1},B=Oe("userRolesTreeRef"),X=M(()=>B.value?!B.value.isExpandedAll:!0),ne=()=>{var V,Y;X.value?(V=B.value)==null||V.expandAll():(Y=B.value)==null||Y.collapseAll()},te=()=>{P.value=null},ae=()=>{b.value&&(R.value=!0,C.value=[],_())},le=async()=>{$.value=[],await N()},j=async V=>{P.value=null;try{const Y=await g(V.roleData);if(!(Y!=null&&Y.success)){P.value=(Y==null?void 0:Y.message)||"Failed to create user. Please check the username and try again.";return}if(V.databaseGrants.length>0||V.schemaGrants.length>0||V.objectGrants.length>0){const Ae=await A({roleName:V.roleData.roleName,databaseGrants:V.databaseGrants,schemaGrants:V.schemaGrants,objectGrants:V.objectGrants});if(Ae&&!Ae.success){P.value=`User created but some permissions failed: ${Ae.totalFailed} of ${Ae.results.length} grants failed.`;return}}R.value=!1,await f()}catch(Y){P.value=(Y==null?void 0:Y.message)||"Failed to create user"}},I=async V=>{const Y=await w(V.roleName);return Y!=null&&Y.success&&await f(),Y};return(V,Y)=>{const Ue=ie,Ae=pe,se=be,Fe=we,me=he,nt=Me;return T(),L("div",Zr,[l(a(He),{search:a(O),"onUpdate:search":Y[0]||(Y[0]=Z=>ye(O)?O.value=Z:null),title:"Users & Roles","show-connection":!0,"workspace-id":a(o),"show-search":!0,"search-placeholder":"Search users/roles..."},{actions:c(()=>[l(me,null,{default:c(()=>[l(se,{"as-child":""},{default:c(()=>[y("span",null,[l(Ae,{size:"iconSm",variant:"ghost",onClick:ae,disabled:!a(b)},{default:c(()=>[l(Ue,{name:"hugeicons:user-add-01",class:"size-4! min-w-4"})]),_:1},8,["disabled"])])]),_:1}),l(Fe,null,{default:c(()=>[F(z(a(p)),1)]),_:1})]),_:1}),l(me,null,{default:c(()=>[l(se,{"as-child":""},{default:c(()=>[l(Ae,{size:"iconSm",variant:"ghost",onClick:ne},{default:c(()=>[l(Ue,{name:a(X)?"hugeicons:unfold-more":"hugeicons:unfold-less",class:"size-4! min-w-4"},null,8,["name"])]),_:1})]),_:1}),l(Fe,null,{default:c(()=>[F(z(a(X)?"Expand All":"Collapse All"),1)]),_:1})]),_:1}),l(me,null,{default:c(()=>[l(se,{"as-child":""},{default:c(()=>[l(Ae,{size:"iconSm",variant:"ghost",onClick:W,disabled:a(k)||!a(r)},{default:c(()=>[l(Ue,{name:"hugeicons:redo",class:de(["size-4! min-w-4 ",a(k)&&"animate-spin"])},null,8,["class"])]),_:1},8,["disabled"])]),_:1}),l(Fe,null,{default:c(()=>Y[3]||(Y[3]=[F("Refresh Roles")])),_:1})]),_:1})]),_:1},8,["search","workspace-id"]),a(r)?(T(),L("div",ei,[l(Jr,{ref_key:"userRolesTreeRef",ref:B,roles:a(U),loading:a(m),onCreateUser:ae,canCreateUser:a(b),createUserDisabledReason:a(p),onDeleteUser:I,onRefresh:W},null,8,["roles","loading","canCreateUser","createUserDisabledReason"])])):(T(),K(nt,{key:0,title:"No selected connection",desc:"Select a connection to view roles"})),l(Br,{open:a(R),"onUpdate:open":Y[1]||(Y[1]=Z=>ye(R)?R.value=Z:null),loading:a(v)||a(S),databasesLoading:a(E),schemasLoading:a(x),databases:a(C),schemas:a($),currentDatabase:a(s),error:a(P),onConfirm:j,onCancel:Y[2]||(Y[2]=Z=>R.value=!1),onClearError:te,onFetchSchemas:le},null,8,["open","loading","databasesLoading","schemasLoading","databases","schemas","currentDatabase","error"])])}}}),ni={class:"h-full w-full overflow-y-auto"},ai={class:"h-full"},oi={key:1,class:"flex items-center"},si=ee({__name:"ManagementAgentHistoryTree",props:{contextMenuItems:{},historySectionId:{},storageKey:{},treeData:{},initExpandedIds:{},validateRename:{type:Function}},emits:["clear-context-menu","click-node","context-node","delete-history","rename-history","cancel-rename","new-thread"],setup(t,{expose:e,emit:n}){const o=n,r=Oe("treeRef");return e({clearSelection:()=>{var s;return(s=r.value)==null?void 0:s.clearSelection()},collapseAll:()=>{var s;return(s=r.value)==null?void 0:s.collapseAll()},expandAll:()=>{var s;return(s=r.value)==null?void 0:s.expandAll()},focusItem:s=>{var i;return(i=r.value)==null?void 0:i.focusItem(s)},startEditing:s=>{var i;return(i=r.value)==null?void 0:i.startEditing(s)},get isExpandedAll(){var s;return((s=r.value)==null?void 0:s.isExpandedAll)??!1},get isMouseInside(){var s;return((s=r.value)==null?void 0:s.isMouseInside)??!1}}),(s,i)=>{const m=ie,u=pe,d=be,f=we,h=he;return T(),L("div",ni,[l(kt,{"context-menu-items":s.contextMenuItems,onOnClearContextMenu:i[5]||(i[5]=b=>o("clear-context-menu"))},{default:c(()=>[y("div",ai,[l(Ye,{ref_key:"treeRef",ref:r,class:"pt-1","storage-key":s.storageKey,"initial-data":s.treeData,"init-expanded-ids":s.initExpandedIds,"allow-drag-and-drop":!1,"allow-sort":!1,"validate-rename":s.validateRename,onClick:i[1]||(i[1]=b=>o("click-node",b)),onContextmenu:i[2]||(i[2]=b=>o("context-node",b)),onRename:i[3]||(i[3]=(b,p)=>o("rename-history",b,p)),onCancelRename:i[4]||(i[4]=b=>o("cancel-rename",b))},{actions:c(({node:b})=>[b.id===s.historySectionId?(T(),K(h,{key:0},{default:c(()=>[l(d,{"as-child":""},{default:c(()=>[l(u,{size:"iconSm",variant:"ghost",onClick:i[0]||(i[0]=Je(p=>o("new-thread"),["stop"]))},{default:c(()=>[l(m,{name:"hugeicons:plus-sign",class:"size-3.5"})]),_:1})]),_:1}),l(f,null,{default:c(()=>i[6]||(i[6]=[F(" New thread ")])),_:1})]),_:1})):b.id.startsWith("agent-history-")?(T(),L("div",oi,[l(h,null,{default:c(()=>[l(d,{"as-child":""},{default:c(()=>[l(u,{size:"iconSm",variant:"outline",class:"text-muted-foreground hover:text-primary",onClick:Je(p=>{var v;return(v=a(r))==null?void 0:v.startEditing(b.id)},["stop"])},{default:c(()=>[l(m,{name:"hugeicons:edit-02",class:"size-3.5"})]),_:2},1032,["onClick"])]),_:2},1024),l(f,null,{default:c(()=>i[7]||(i[7]=[F(" Rename thread ")])),_:1})]),_:2},1024),l(h,null,{default:c(()=>[l(d,{"as-child":""},{default:c(()=>[l(u,{size:"iconSm",variant:"ghost",class:"text-muted-foreground hover:text-destructive",onClick:Je(p=>o("delete-history",b.id),["stop"])},{default:c(()=>[l(m,{name:"hugeicons:delete-02",class:"size-3.5"})]),_:2},1032,["onClick"])]),_:2},1024),l(f,null,{default:c(()=>i[8]||(i[8]=[F(" Delete thread ")])),_:1})]),_:2},1024)])):Q("",!0)]),_:1},8,["storage-key","initial-data","init-expanded-ids","validate-rename"])])]),_:1},8,["context-menu-items"])])}}}),Ta=(t,e,n)=>{var r;if(n.has(e))return;n.add(e),(((r=t[e])==null?void 0:r.children)||[]).forEach(s=>Ta(t,s,n))},li=t=>{const e=$t(),n=qe(),{workspaceId:o,connectionId:r}=Ee(),s=$e(""),i=dt(s,et),m=J([]),{currentWorkspaceId:u,histories:d,selectedNodeId:f,selectNode:h,startNewChat:b,deleteHistory:p,renameHistory:v,SECTION_NODE_IDS:g}=fo();bn(()=>{u.value=o.value||""});const w=M(()=>{const D=g.history,k=d.value.map(R=>({id:`agent-history-${R.id}`,parentId:D,name:R.title,type:"file",depth:1,iconOpen:"hugeicons:chatting-01",iconClose:"hugeicons:chatting-01",data:{preview:R.preview,updatedAt:R.updatedAt}}));return{[D]:{id:D,parentId:null,name:"Chat History",type:"folder",depth:0,iconOpen:"hugeicons:clock-05",iconClose:"hugeicons:clock-05",children:k.map(R=>R.id)},...Object.fromEntries(k.map(R=>[R.id,R]))}}),E=M(()=>{if(!i.value.trim())return w.value;const D=i.value.trim().toLowerCase(),k=new Set,R=w.value;Object.values(R).forEach(U=>{var X,ne;const W=typeof((X=U.data)==null?void 0:X.preview)=="string"?U.data.preview:"";if(!U.name.toLowerCase().includes(D)&&!W.toLowerCase().includes(D))return;Ta(R,U.id,k);let B=U.parentId;for(;B;)k.add(B),B=((ne=R[B])==null?void 0:ne.parentId)||null});const P={};return k.forEach(U=>{const W=R[U];W&&(P[U]={...W,children:(W.children||[]).filter(B=>k.has(B))})}),P}),C=async D=>{if(!o.value||!r.value)return;const k="agent-workspace";await n.openTab({id:k,workspaceId:o.value,connectionId:r.value,schemaId:e.schemaId||"",name:"AI Agent",icon:"hugeicons:robotic",type:H.AgentChat,routeName:"workspaceId-connectionId-agent-tabViewId",routeParams:{tabViewId:k,connectionId:r.value},metadata:{type:H.AgentChat,historyId:D}}),await n.selectTab(k)},_=async()=>{b(),await C()},x=D=>{D.startsWith("agent-history-")&&p(D.replace("agent-history-",""))},$=async D=>{D!==g.history&&D.startsWith("agent-history-")&&(h(D),await C(D.replace("agent-history-","")))},N=(D,k)=>{v(D,k)},S=D=>{if(D===g.history){m.value=[{title:"New Thread",icon:"hugeicons:quill-write-02",type:q.ACTION,select:()=>void _()}];return}if(!D.startsWith("agent-history-")){m.value=[];return}const k=D.replace("agent-history-","");m.value=[{title:"Open Thread",icon:"hugeicons:chat-spark-01",type:q.ACTION,select:()=>{h(D),C(k)}},{title:"Rename Thread",icon:"hugeicons:edit-02",type:q.ACTION,select:()=>{var R;(R=t.onRename)==null||R.call(t,D)}},{type:q.SEPARATOR},{title:"New Thread",icon:"hugeicons:quill-write-02",type:q.ACTION,select:()=>void _()},{type:q.SEPARATOR},{title:"Delete Thread",icon:"hugeicons:delete-02",type:q.ACTION,select:()=>p(k)}]},A=()=>{m.value=[]},O=()=>{if(t.isExpandedAll.value){t.collapseAll();return}t.expandAll()};return De(()=>f.value,async D=>{await je(),!(!D||!E.value[D])&&t.focusNode(D)},{flush:"post",immediate:!0}),{contextMenuItems:m,defaultExpandedNodeIds:[g.history],filteredHistoryTreeData:E,historySectionId:g.history,historyStorageKey:po.AGENT_HISTORY_TREE,isExpandedAll:t.isExpandedAll,onClearContextMenu:A,onClickNode:$,onCreateThread:_,onDeleteHistory:x,onRenameHistory:N,onToggleCollapseHistory:O,onTreeContextMenu:S,searchInput:s}},ri={class:"flex h-full w-full flex-col overflow-hidden"},ii={class:"flex flex-1 flex-col overflow-hidden"},ci={class:"flex-1 overflow-y-auto"},Nn=ee({__name:"ManagementAgent",setup(t){const{workspaceId:e}=Ee(),n=Oe("treePanelRef"),{contextMenuItems:o,defaultExpandedNodeIds:r,filteredHistoryTreeData:s,historySectionId:i,historyStorageKey:m,isExpandedAll:u,onClearContextMenu:d,onClickNode:f,onCreateThread:h,onDeleteHistory:b,onRenameHistory:p,onToggleCollapseHistory:v,onTreeContextMenu:g,searchInput:w}=li({focusNode:_=>{var x;return(x=n.value)==null?void 0:x.focusItem(_)},collapseAll:()=>{var _;return(_=n.value)==null?void 0:_.collapseAll()},expandAll:()=>{var _;return(_=n.value)==null?void 0:_.expandAll()},isExpandedAll:M(()=>{var _;return((_=n.value)==null?void 0:_.isExpandedAll)??!1}),onRename:_=>{var x;return(x=n.value)==null?void 0:x.startEditing(_)}}),E=M(()=>!u.value),C=M(()=>{var x;const _=s.value[i];return!_||(((x=_.children)==null?void 0:x.length)??0)===0});return(_,x)=>{const $=ie,N=pe,S=Me;return T(),L("div",ri,[l(a(He),{search:a(w),"onUpdate:search":x[0]||(x[0]=A=>ye(w)?w.value=A:null),title:"Chat History","show-search":!0,"show-connection":!0,"show-schema":!1,"workspace-id":a(e),"search-placeholder":"Search threads..."},{actions:c(()=>[l(a(he),null,{default:c(()=>[l(a(be),{"as-child":""},{default:c(()=>[l(N,{size:"iconSm",variant:"ghost",onClick:a(h)},{default:c(()=>[l($,{name:"hugeicons:plus-sign",class:"size-4"})]),_:1},8,["onClick"])]),_:1}),l(a(we),null,{default:c(()=>x[2]||(x[2]=[F(" New thread ")])),_:1})]),_:1}),l(a(he),null,{default:c(()=>[l(a(be),{"as-child":""},{default:c(()=>[l(N,{size:"iconSm",variant:"ghost",onClick:a(v)},{default:c(()=>[l($,{name:a(E)?"hugeicons:unfold-more":"hugeicons:unfold-less",class:"size-4"},null,8,["name"])]),_:1},8,["onClick"])]),_:1}),l(a(we),null,{default:c(()=>[F(z(a(E)?"Expand all":"Collapse all"),1)]),_:1})]),_:1})]),_:1},8,["search","workspace-id"]),y("div",ii,[y("div",ci,[a(C)?(T(),K(S,{key:0,title:"No chat history yet",desc:"Start a new thread to ask everything about your data!"},{default:c(()=>[l(N,{variant:"outline",size:"xs",onClick:a(h)},{default:c(()=>[l($,{name:"hugeicons:plus-sign"}),x[3]||(x[3]=F(" Start chat "))]),_:1},8,["onClick"])]),_:1})):Q("",!0),l(si,{ref_key:"treePanelRef",ref:n,"context-menu-items":a(o),"history-section-id":a(i),"storage-key":a(m),"tree-data":a(s),"init-expanded-ids":a(r),onClickNode:a(f),onContextNode:a(g),onClearContextMenu:a(d),onDeleteHistory:a(b),onRenameHistory:x[1]||(x[1]=(A,O)=>a(p)(A.replace("agent-history-",""),O)),onNewThread:a(h)},null,8,["context-menu-items","history-section-id","storage-key","tree-data","init-expanded-ids","onClickNode","onContextNode","onClearContextMenu","onDeleteHistory","onNewThread"])])])])}}}),ui={class:"min-h-0 flex-1 overflow-hidden"},di={key:0,class:"px-3 py-4 text-sm text-muted-foreground"},mi={key:1,class:"flex h-full items-center justify-center"},fi={key:2,class:"h-full"},pi={class:"flex items-center gap-1.5 text-xxs text-muted-foreground"},vi=["title"],gi={key:3,class:"h-full"},yi={class:"flex items-center gap-1.5 text-xxs text-muted-foreground"},hi=["title"],bi=ee({__name:"RedisKeyTree",props:{keys:{},selectedKey:{default:null},loading:{type:Boolean,default:!1},searchQuery:{default:""},viewMode:{default:ze.Tree}},emits:["select"],setup(t,{expose:e,emit:n}){const o=t,r=n,s=Oe("fileTreeRef"),i=Oe("flatTreeRef"),m=It(o,"searchQuery"),u=It(o,"keys"),{fileTreeData:d,flatFileTreeData:f,defaultFolderOpenIds:h,visibleKeys:b}=ls(u,m),p=$=>$===void 0||$<0?"persisted":$<60?`${$}s`:$<3600?`${Math.floor($/60)}m`:$<86400?`${Math.floor($/3600)}h`:`${Math.floor($/86400)}d`,v=$=>!($!=null&&$.data)||typeof $.data.kind!="string"?null:$.data,g=$=>{const N=v($);if(!N)return[];if(N.kind==="group"){const A=[];typeof N.keyCount=="number"&&A.push({label:`${N.keyCount} keys`,title:`Total keys: ${N.keyCount}`});const O=N.memoryUsage===null||N.memoryUsage===void 0?null:_t(N.memoryUsage);return O&&A.push({label:O,title:`Approx. size: ${O}`}),A}const S=[];return N.memoryUsageHuman&&S.push({label:N.memoryUsageHuman,title:`Size: ${N.memoryUsageHuman}`}),S.push({label:`ttl ${p(N.ttl)}`,title:N.ttl!==void 0&&N.ttl>=0?`Expires in ${Math.max(N.ttl,0)} seconds`:"No expiration"}),S},w=$=>{var A,O;const N=f.value[$],S=(A=N==null?void 0:N.data)==null?void 0:A.redisKey;((O=N==null?void 0:N.data)==null?void 0:O.kind)==="key"&&S&&r("select",S)},E=$=>{var A,O;const N=d.value[$],S=(A=N==null?void 0:N.data)==null?void 0:A.redisKey;((O=N==null?void 0:N.data)==null?void 0:O.kind)==="key"&&S&&r("select",S)};De(()=>o.selectedKey,$=>{const N=o.viewMode===ze.Tree?s.value:i.value;if(N){if(!$){N.clearSelection();return}N.focusItem(`redis-key:${$}`)}},{flush:"post",immediate:!0}),De(()=>o.searchQuery,async $=>{!s.value||!$.trim()||(await je(),s.value.expandAll())});const C=()=>{var $;($=s.value)==null||$.collapseAll()},_=()=>{var $;($=s.value)==null||$.expandAll()},x=M(()=>{var $;return(($=s.value)==null?void 0:$.isExpandedAll)??!1});return e({collapseAll:C,expandAll:_,isExpandedAll:x}),($,N)=>{const S=Me;return T(),L("div",ui,[$.loading?(T(),L("div",di," Loading Redis keys... ")):a(b).length===0?(T(),L("div",mi,[l(S,{title:"No keys found",desc:"No keys matched the current filter. Try adjusting the search or key pattern."})])):o.viewMode===a(ze).Tree?(T(),L("div",fi,[l(Ye,{ref_key:"fileTreeRef",ref:s,"init-expanded-ids":a(h),"initial-data":a(d),"storage-key":"redis-key-tree","allow-drag-and-drop":!1,"delay-focus":0,onClick:E},{actions:c(({node:A})=>[y("div",pi,[(T(!0),L(re,null,ve(g(A),O=>(T(),L("span",{key:`${A.id}-${O.label}`,class:"truncate",title:O.title},z(O.label),9,vi))),128))])]),_:1},8,["init-expanded-ids","initial-data"])])):(T(),L("div",gi,[l(Ye,{ref_key:"flatTreeRef",ref:i,"init-expanded-ids":[],"initial-data":a(f),"storage-key":"redis-key-list","allow-drag-and-drop":!1,"delay-focus":0,onClick:w},{actions:c(({node:A})=>[y("div",yi,[(T(!0),L(re,null,ve(g(A),O=>(T(),L("span",{key:`${A.id}-${O.label}`,class:"truncate",title:O.title},z(O.label),9,hi))),128))])]),_:1},8,["initial-data"])]))])}}}),wi={class:"flex flex-col h-full w-full overflow-hidden"},_i={class:"inline-flex items-center gap-1"},xi={class:"flex min-h-0 flex-1 flex-col overflow-hidden px-2 pb-3"},Si=ee({__name:"ManagementRedisBrowser",setup(t){const e=Pe(),{openRedisTab:n}=Ge(),{workspaceId:o}=Ee(),r=M(()=>e.selectedConnection),s=wa({connection:r}),{session:i,keys:m,databases:u,loadingKeys:d,selectedDatabaseIndex:f}=s,h=M(()=>{var S;return((S=i.value)==null?void 0:S.selectedKey)??null}),b=M({get:()=>{var S;return((S=i.value)==null?void 0:S.viewMode)??ze.Tree},set:S=>{i.value&&(i.value.viewMode=S)}}),p=[{value:ze.Tree,icon:"hugeicons:workflow-square-02",tooltip:"Tree view"},{value:ze.List,icon:"hugeicons:list-view",tooltip:"List view"}],v=J(""),g=Oe("treePanelRef"),w=M(()=>{var S;return((S=g.value)==null?void 0:S.isExpandedAll)??!1}),E=async S=>{f.value=S,i.value&&(i.value.selectedKey=null),await s.refreshKeys()},C=S=>typeof S!="string"?!1:Object.values(ze).includes(S),_=S=>{C(S)&&(b.value=S)},x=()=>{var S,A;if(w.value){(S=g.value)==null||S.collapseAll();return}(A=g.value)==null||A.expandAll()},$=async()=>{await s.refreshKeys()},N=async S=>{var O;await s.openKey(S);const A=((O=r.value)==null?void 0:O.id)||"redis";await n({id:`redis-browser-${A}`,name:"Redis Browser",type:H.RedisBrowser,metadata:{type:H.RedisBrowser,databaseIndex:s.selectedDatabaseIndex.value,keyPattern:s.keyPattern.value,selectedKey:S}})};return(S,A)=>{const O=ie,D=va,k=be,R=we,P=he,U=pa,W=fa,B=pe;return T(),L("div",wi,[l(a(He),{title:"Redis Browser","show-connection":!0,"workspace-id":a(o),"show-search":!0,"search-placeholder":"Search keys...",search:a(v),"onUpdate:search":A[0]||(A[0]=X=>ye(v)?v.value=X:null)},{details:c(()=>[l(ss,{databases:a(u),"database-index":a(f),"onUpdate:databaseIndex":E},null,8,["databases","database-index"])]),actions:c(()=>[y("div",_i,[l(W,{"model-value":a(b),"onUpdate:modelValue":_},{default:c(()=>[l(U,{size:"xxs",class:"w-full"},{default:c(()=>[(T(),L(re,null,ve(p,X=>l(P,{key:X.value},{default:c(()=>[l(k,{"as-child":""},{default:c(()=>[l(D,{size:"xxs",value:X.value,"aria-label":X.tooltip,class:"font-medium cursor-pointer text-primary/80"},{default:c(()=>[l(O,{name:X.icon,class:"size-3!"},null,8,["name"])]),_:2},1032,["value","aria-label"])]),_:2},1024),l(R,null,{default:c(()=>[F(z(X.tooltip),1)]),_:2},1024)]),_:2},1024)),64))]),_:1})]),_:1},8,["model-value"])]),l(P,null,{default:c(()=>[l(k,{"as-child":""},{default:c(()=>[a(b)===a(ze).Tree?(T(),K(B,{key:0,size:"iconSm",variant:"ghost",onClick:x},{default:c(()=>[l(O,{name:a(w)?"hugeicons:unfold-less":"hugeicons:unfold-more",class:"size-4! min-w-4"},null,8,["name"])]),_:1})):Q("",!0)]),_:1}),l(R,null,{default:c(()=>[F(z(a(w)?"Collapse All":"Expand All"),1)]),_:1})]),_:1}),l(P,null,{default:c(()=>[l(k,{"as-child":""},{default:c(()=>[l(B,{size:"iconSm",variant:"ghost",onClick:$},{default:c(()=>[l(O,{name:"hugeicons:redo",class:de(["size-4! min-w-4",a(d)&&"animate-spin"])},null,8,["class"])]),_:1})]),_:1}),l(R,null,{default:c(()=>A[1]||(A[1]=[F("Refresh Keys")])),_:1})]),_:1})]),_:1},8,["workspace-id","search"]),y("div",xi,[l(bi,{ref_key:"treePanelRef",ref:g,keys:a(m),"selected-key":a(h),loading:a(d),"search-query":a(v),"view-mode":a(b),onSelect:N},null,8,["keys","selected-key","loading","search-query","view-mode"])])])}}}),Ti={class:"flex flex-col h-full w-full overflow-hidden"},Ci={class:"flex-1 overflow-y-auto px-3 pb-4"},Ii={class:"space-y-2 mt-2"},Di=ee({__name:"ManagementRedisTools",setup(t){const e=Pe(),{openInstanceInsightsTab:n,openRedisTab:o}=Ge(),{workspaceId:r}=Ee(),s=M(()=>e.selectedConnection),i=wa({connection:s,mode:"meta"}),m=async()=>{var f;const d=((f=s.value)==null?void 0:f.id)||"redis";await o({id:`redis-pubsub-${d}`,name:"Redis Pub/Sub",type:H.RedisPubSub,metadata:{type:H.RedisPubSub,databaseIndex:i.selectedDatabaseIndex.value}})},u=async()=>{var d;await n({databaseName:((d=s.value)==null?void 0:d.name)||"Redis",databaseIndex:i.selectedDatabaseIndex.value})};return(d,f)=>{const h=ie;return T(),L("div",Ti,[l(a(He),{title:"Redis Tools","show-connection":!0,"workspace-id":a(r)},null,8,["workspace-id"]),y("div",Ci,[y("div",Ii,[y("button",{class:"w-full flex items-center gap-3 rounded-lg border bg-background p-3 text-left hover:bg-muted/20 transition-colors cursor-pointer",onClick:u},[l(a(pe),{size:"iconMd",variant:"outline"},{default:c(()=>[l(h,{name:"hugeicons:activity-02"})]),_:1}),f[0]||(f[0]=y("div",{class:"flex-1"},[y("p",{class:"text-sm font-medium"},"Instance Insights"),y("p",{class:"text-xs text-muted-foreground"}," Monitor Redis overview, memory, clients, persistence, and replication. ")],-1))]),y("button",{class:"w-full flex items-center gap-3 rounded-lg border bg-background p-3 text-left hover:bg-muted/20 transition-colors cursor-pointer",onClick:m},[l(a(pe),{size:"iconMd",variant:"outline"},{default:c(()=>[l(h,{name:"hugeicons:radio"})]),_:1}),f[1]||(f[1]=y("div",{class:"flex-1"},[y("p",{class:"text-sm font-medium"},"Pub/Sub"),y("p",{class:"text-xs text-muted-foreground"}," Subscribe to Redis channels, watch live messages, and publish test events. ")],-1))])])])])}}}),Ei={key:0,class:"w-full h-full flex flex-col"},Ai={key:1,class:"h-full px-4 py-5 flex flex-col gap-3 text-sm text-muted-foreground"},$i={class:"text-xs font-medium uppercase tracking-[0.18em] text-primary/70"},Ri={class:"text-base font-semibold text-foreground"},ki={class:"leading-6"},Oi=ee({__name:"PrimarySideBar",setup(t){const e=la(),n=Pe(),o=ut(),r=M(()=>an(n.selectedConnection??Xt)),s=M(()=>{var f;return(f=n.selectedConnection)==null?void 0:f.type}),i=M(()=>xa(r.value.visibleActivityItems,s.value)),m=M(()=>vo(n.selectedConnection??Xt));De(r,f=>{e.ensureActivityVisible(i.value,_a[f.defaultActivityItem])},{immediate:!0});const u=M(()=>m.value===go.REDIS?e.activityActive===ce.Explorer?On:e.activityActive===ce.Schemas?Si:e.activityActive===ce.DatabaseTools?Di:e.activityActive===ce.Agent?Nn:null:e.activityActive===ce.Explorer?On:e.activityActive===ce.Schemas?Cl:e.activityActive===ce.ErdDiagram?Bs:e.activityActive===ce.UsersRoles?ti:e.activityActive===ce.DatabaseTools?kl:e.activityActive===ce.Agent?Nn:null),d=M(()=>null);return(f,h)=>a(o).layoutSize[0]?(T(),L("div",Ei,[a(u)?(T(),K(yo,{key:0},[(T(),K(Ct(a(u))))],1024)):a(d)?(T(),L("div",Ai,[y("span",$i,z(a(d).eyebrow),1),y("h2",Ri,z(a(d).title),1),y("p",ki,z(a(d).description),1)])):Q("",!0)])):Q("",!0)}}),Ni={class:"w-full h-full flex flex-col",id:"preview-select-row"},Li=ee({__name:"SecondarySideBar",setup(t){return(e,n)=>(T(),L("div",Ni))}}),Pi={class:"truncate"},Fi={class:"min-w-0 truncate"},Mi={key:1,class:"flex max-w-28 flex-shrink-0 items-center gap-0.5 overflow-hidden"},Ui={class:"truncate"},Vi=ee({__name:"CurrentPositionPath",setup(t){const e=ho(),n=Pe(),o=qe(),r=At(),s=ra(),{selectedWorkspace:i}=ge(e),{selectedConnection:m}=ge(n),{activeSchema:u}=ge(r),{activeTab:d}=ge(o);M(()=>!!u.value&&!!m.value),M(()=>!!u.value&&!!m.value&&!!d.value);const f=M(()=>m.value?s.getTagsByIds(m.value.tagIds??[]):[]);return(h,b)=>{const p=ie;return T(),K(a(bo),null,{default:c(()=>[l(a(wo),{class:"gap-0.5! min-w-0 flex-nowrap"},{default:c(()=>{var v;return[l(a(Rn),{class:"min-w-0 text-xs"},{default:c(()=>{var g,w;return[(g=a(i))!=null&&g.icon?(T(),K(p,{key:0,name:a(i).icon,class:"size-3! flex-shrink-0"},null,8,["name"])):Q("",!0),y("span",Pi,z((w=a(i))==null?void 0:w.name),1)]}),_:1}),(v=a(m))!=null&&v.id?(T(),K(a(_o),{key:0})):Q("",!0),l(a(Rn),{class:"min-w-0 text-xs"},{default:c(()=>{var g,w,E,C;return[(g=a(m))!=null&&g.id?(T(),K(Ct((E=a(Yt)((w=a(m))==null?void 0:w.type))==null?void 0:E.icon),{key:0,class:"size-3! flex-shrink-0"})):Q("",!0),y("span",Fi,z((C=a(m))==null?void 0:C.name),1),a(f).length?(T(),L("div",Mi,[(T(!0),L(re,null,ve(a(f),_=>{var x;return T(),L("span",{key:_.id,class:de(["inline-flex h-3.5 max-w-14 flex-shrink-0 items-center gap-0.5 rounded-[3px] px-1 text-[9px] font-medium leading-none",((x=a(xo)[_.color])==null?void 0:x.badgeClass)??"bg-muted text-muted-foreground"])},[l(a(So),{color:_.color,size:"sm",class:"scale-75"},null,8,["color"]),y("span",Ui,z(_.name),1)],2)}),128))])):Q("",!0)]}),_:1})]}),_:1})]),_:1})}}}),zi=["disabled"],ji={class:"truncate leading-none"},Bi={class:"truncate leading-none"},qi={class:"flex flex-col gap-1"},Gi={class:"text-sm font-medium"},Hi={class:"text-xs text-muted-foreground"},Qi={key:0,class:"text-xs text-muted-foreground"},Wi={key:0,class:"text-xs text-muted-foreground whitespace-pre-wrap border rounded-sm p-2 bg-muted/30 max-h-32 overflow-y-auto"},Ki={key:1,class:"text-xs text-muted-foreground"},Yi={key:2,class:"h-1.5 w-full overflow-hidden rounded-full bg-muted"},Xi={key:3,class:"text-xs text-yellow-500"},Ji={key:4,class:"text-xs text-destructive"},Zi={key:5,class:"text-xs text-muted-foreground"},ec={class:"flex gap-2"},tc=ee({__name:"ElectronUpdateIndicator",setup(t){const e=J(!1),{isSupported:n,status:o,availableUpdate:r,readyToRestartUpdate:s,isBusy:i,lastCheckedAt:m,lastError:u,downloadTotalBytes:d,downloadedBytes:f,downloadProgress:h,isDownloadStalled:b,installUpdate:p,restartToApplyUpdate:v,cancelDownload:g,retryDownload:w}=To(),E=M(()=>s.value??r.value),C=M(()=>n.value?s.value?!0:["available","downloading"].includes(o.value)||o.value==="error"&&!!r.value:!1),_=M(()=>{var O;return(O=E.value)!=null&&O.date?new Intl.DateTimeFormat(void 0,{dateStyle:"medium",timeStyle:"short"}).format(new Date(E.value.date)):null}),x=M(()=>m.value?new Intl.DateTimeFormat(void 0,{dateStyle:"medium",timeStyle:"short"}).format(new Date(m.value)):null),$=M(()=>f.value?d.value?`${_t(f.value)} / ${_t(d.value)}`:`${_t(f.value)} downloaded`:null),N=M(()=>s.value?"hugeicons:package-delivered":o.value==="downloading"&&b.value?"hugeicons:alert-circle":o.value==="downloading"?"hugeicons:download-04":o.value==="error"?"hugeicons:alert-circle":"hugeicons:arrow-up-01"),S=M(()=>s.value?"border-green-500/40 bg-green-500/10 text-green-600 hover:bg-green-500/15":o.value==="downloading"&&b.value?"border-yellow-500/40 bg-yellow-500/10 text-yellow-600 hover:bg-yellow-500/15":o.value==="downloading"?"border-blue-500/40 bg-blue-500/10 text-blue-600 hover:bg-blue-500/15":o.value==="error"?"border-destructive/40 bg-destructive/10 text-destructive hover:bg-destructive/15":"border-blue-500/40 bg-blue-500/10 text-blue-600 hover:bg-blue-500/15"),A=M(()=>{var O,D,k,R;return s.value?`Apply update ${s.value.version}`:o.value==="downloading"&&b.value?`Update ${(O=E.value)==null?void 0:O.version} stalled`:o.value==="downloading"?`Update ${(D=E.value)==null?void 0:D.version} ${h.value}%`:o.value==="error"?`Update ${(k=E.value)==null?void 0:k.version} failed`:`Update ${(R=E.value)==null?void 0:R.version} available`});return(O,D)=>{const k=ie,R=be,P=we,U=he,W=is,B=pe,X=cs,ne=rs;return a(C)?(T(),L(re,{key:0},[a(s)?(T(),K(U,{key:0},{default:c(()=>[l(R,{"as-child":""},{default:c(()=>[y("button",{class:de(["h-5 max-w-[220px] flex items-center gap-1.5 rounded-sm border px-2 text-xs font-semibold cursor-pointer transition-colors",a(S)]),disabled:a(i),onClick:D[0]||(D[0]=te=>a(v)())},[l(k,{name:a(N),class:"size-4!"},null,8,["name"]),y("span",ji,z(a(A)),1)],10,zi)]),_:1}),l(P,null,{default:c(()=>[F(" v"+z(a(s).version)+" ready — click to restart ",1)]),_:1})]),_:1})):(T(),K(U,{key:1},{default:c(()=>[l(ne,{open:a(e),"onUpdate:open":D[4]||(D[4]=te=>ye(e)?e.value=te:null)},{default:c(()=>[l(W,{"as-child":""},{default:c(()=>[l(R,{"as-child":""},{default:c(()=>[y("button",{class:de(["h-5 max-w-[220px] flex items-center gap-1.5 rounded-sm border px-2 text-xs font-semibold cursor-pointer transition-colors",a(S)])},[l(k,{name:a(N),class:"size-4!"},null,8,["name"]),y("span",Bi,z(a(A)),1)],2)]),_:1}),l(P,null,{default:c(()=>{var te;return[F(" v"+z((te=a(r))==null?void 0:te.version)+" available ",1)]}),_:1})]),_:1}),l(X,{class:"w-80 p-4 flex flex-col gap-3",align:"end",side:"top"},{default:c(()=>{var te,ae,le;return[y("div",qi,[y("p",Gi," Update "+z((te=a(r))==null?void 0:te.version)+" is available ",1),y("p",Hi," Current version: "+z((ae=a(E))==null?void 0:ae.currentVersion),1),a(_)?(T(),L("p",Qi," Published: "+z(a(_)),1)):Q("",!0)]),(le=a(E))!=null&&le.body?(T(),L("p",Wi,z(a(E).body),1)):Q("",!0),a($)?(T(),L("p",Ki," Downloading: "+z(a($)),1)):Q("",!0),a(o)==="downloading"?(T(),L("div",Yi,[y("div",{class:"h-full rounded-full bg-blue-500 transition-all duration-300",style:Rt({width:`${a(h)}%`})},null,4)])):Q("",!0),a(b)?(T(),L("p",Xi," Download appears to have stalled. You can retry or cancel. ")):Q("",!0),a(u)&&a(o)==="error"?(T(),L("p",Ji,z(a(u)),1)):Q("",!0),a(x)?(T(),L("p",Zi," Last checked: "+z(a(x)),1)):Q("",!0),y("div",ec,[a(o)==="downloading"&&a(b)?(T(),L(re,{key:0},[l(B,{size:"sm",variant:"outline",class:"flex-1",onClick:D[1]||(D[1]=j=>a(g)())},{default:c(()=>D[5]||(D[5]=[F(" Cancel ")])),_:1}),l(B,{size:"sm",class:"flex-1",onClick:D[2]||(D[2]=j=>a(w)())},{default:c(()=>D[6]||(D[6]=[F(" Retry ")])),_:1})],64)):(T(),K(B,{key:1,size:"sm",class:"flex-1",disabled:a(i)||a(o)==="downloading",onClick:D[3]||(D[3]=j=>a(p)())},{default:c(()=>[F(z(a(o)==="downloading"?"Downloading…":a(o)==="error"?"Retry download":"Download update"),1)]),_:1},8,["disabled"]))])]}),_:1})]),_:1},8,["open"])]),_:1}))],64)):Q("",!0)}}}),nc={class:"w-full h-6 min-h-6 shadow px-2 flex items-center justify-between gap-2 bg-sidebar-accent"},ac={class:"flex min-w-0 flex-1 items-center gap-3 h-full overflow-hidden"},oc={class:"min-w-0 overflow-hidden"},sc={key:0,class:"min-w-0 flex-1 truncate text-center text-muted-foreground text-xs"},lc={class:"text-foreground inline"},rc={class:"flex flex-shrink-0 items-center gap-3"},ic=["href"],cc={class:"flex items-center gap-0.5 justify-center hover:bg-muted rounded cursor-pointer"},uc=["href"],dc={class:"flex items-center justify-center hover:bg-muted rounded cursor-pointer"},mc={class:"text-xxs text-foreground"},fc=ee({__name:"StatusBar",setup(t){const e=qe(),{openChangelog:n}=Co(),{openSettings:o}=Io(),{openInstanceInsightsTab:r}=Ge(),s=ia(),i=s.public.ggFormLink,m=s.public.githubLink,{activeTab:u}=ge(e),{workspaceId:d,connectionId:f}=Ee(),h=M(()=>!!d.value&&!!f.value),b=async()=>{await Do("/")},p=async()=>{await r()},v=M(()=>{var w;const g=(w=u.value)==null?void 0:w.type;if(!g)return"";switch(g){case H.AllERD:case H.DetailERD:return"erd";case H.TableOverview:case H.TableDetail:return"table";case H.FunctionsOverview:case H.FunctionsDetail:return"func";case H.ViewOverview:case H.ViewDetail:return"view";case H.CodeQuery:return"raw query";case H.DatabaseTools:return"db tools";case H.InstanceInsights:return"insights";default:return""}});return(g,w)=>{var $,N,S;const E=ie,C=be,_=we,x=he;return T(),L("div",nc,[y("div",ac,[l(x,null,{default:c(()=>[l(C,{"as-child":""},{default:c(()=>[y("div",{class:"flex flex-shrink-0 items-center h-full gap-0.5 hover:bg-muted px-1 rounded cursor-pointer",onClick:b},[l(E,{name:"hugeicons:home-06",class:"size-4!"}),w[2]||(w[2]=y("p",{class:"text-xs inline"},"Home",-1))])]),_:1}),l(_,null,{default:c(()=>w[3]||(w[3]=[F(" Back to Home ")])),_:1})]),_:1}),y("div",oc,[l(Vi)])]),a(u)?(T(),L("div",sc,[F(z(a(v))+": ",1),y("p",lc,z(($=a(u))!=null&&$.schemaId?`${(N=a(u))==null?void 0:N.schemaId}.`:"")+z((S=a(u))==null?void 0:S.name),1)])):Q("",!0),y("div",rc,[l(tc),l(x,null,{default:c(()=>[l(C,{"as-child":""},{default:c(()=>[y("a",{href:a(i),target:"_blank"},[y("div",cc,[l(E,{name:"hugeicons:chat-feedback-01",class:"size-4!"}),w[4]||(w[4]=y("span",{class:"text-xxs text-foreground"}," Feedback ",-1))])],8,ic)]),_:1}),l(_,null,{default:c(()=>w[5]||(w[5]=[F(" Give me Feedback ")])),_:1})]),_:1}),l(x,null,{default:c(()=>[l(C,{"as-child":""},{default:c(()=>[y("a",{href:a(m),target:"_blank"},[y("div",dc,[l(E,{name:"hugeicons:github",class:"size-4!"})])],8,uc)]),_:1}),l(_,null,{default:c(()=>w[6]||(w[6]=[F(" Star us on GitHub ⭐️ ")])),_:1})]),_:1}),l(x,null,{default:c(()=>[l(C,{"as-child":""},{default:c(()=>[y("div",{class:"flex items-center gap-0.5 rounded hover:bg-muted cursor-pointer",onClick:w[0]||(w[0]=(...A)=>a(n)&&a(n)(...A))},[l(E,{name:"hugeicons:git-merge",class:"size-4!"}),y("span",mc,z(a(s).public.version),1)])]),_:1}),l(_,null,{default:c(()=>[F(" Version: "+z(a(s).public.version),1)]),_:1})]),_:1}),l(x,null,{default:c(()=>[l(C,{"as-child":""},{default:c(()=>[y("div",{class:de(["flex items-center justify-center hover:bg-muted rounded cursor-pointer",!a(h)&&"opacity-50 cursor-not-allowed"]),onClick:p},[l(E,{name:"hugeicons:activity-02",class:"size-4!"})],2)]),_:1}),l(_,null,{default:c(()=>w[7]||(w[7]=[F(" Instance Insights ")])),_:1})]),_:1}),l(x,null,{default:c(()=>[l(C,{"as-child":""},{default:c(()=>[y("div",{class:"flex items-center justify-center hover:bg-muted rounded cursor-pointer",onClick:w[1]||(w[1]=A=>a(o)())},[l(E,{name:"hugeicons:settings-01",class:"size-4!"})])]),_:1}),l(_,null,{default:c(()=>w[8]||(w[8]=[F(" Settings (⌘,) ")])),_:1})]),_:1})])])}}}),pc="4.75rem";function vc({primarySideBarWidth:t,sidebarWidthPercentage:e,isDesktopMacWindow:n}){return e?n?`max(2.25rem, calc(${t}px - ${pc}))`:`${t}px`:"2.25rem"}var Vt={},ot={},Ln;function Ca(){if(Ln)return ot;Ln=1,Object.defineProperty(ot,"__esModule",{value:!0}),ot.bind=void 0;function t(e,n){var o=n.type,r=n.listener,s=n.options;return e.addEventListener(o,r,s),function(){e.removeEventListener(o,r,s)}}return ot.bind=t,ot}var Qe={},Pn;function gc(){if(Pn)return Qe;Pn=1;var t=Qe&&Qe.__assign||function(){return t=Object.assign||function(s){for(var i,m=1,u=arguments.length;m<u;m++){i=arguments[m];for(var d in i)Object.prototype.hasOwnProperty.call(i,d)&&(s[d]=i[d])}return s},t.apply(this,arguments)};Object.defineProperty(Qe,"__esModule",{value:!0}),Qe.bindAll=void 0;var e=Ca();function n(s){if(!(typeof s>"u"))return typeof s=="boolean"?{capture:s}:s}function o(s,i){if(i==null)return s;var m=t(t({},s),{options:t(t({},n(i)),n(s.options))});return m}function r(s,i,m){var u=i.map(function(d){var f=o(d,m);return(0,e.bind)(s,f)});return function(){u.forEach(function(f){return f()})}}return Qe.bindAll=r,Qe}var Fn;function yc(){return Fn||(Fn=1,function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.bindAll=t.bind=void 0;var e=Ca();Object.defineProperty(t,"bind",{enumerable:!0,get:function(){return e.bind}});var n=gc();Object.defineProperty(t,"bindAll",{enumerable:!0,get:function(){return n.bindAll}})}(Vt)),Vt}var Ze=yc(),Ia="data-pdnd-honey-pot";function Da(t){return t instanceof Element&&t.hasAttribute(Ia)}function wn(t){var e=document.elementsFromPoint(t.x,t.y),n=ga(e,2),o=n[0],r=n[1];return o?Da(o)?r??null:o:null}function rt(t){"@babel/helpers - typeof";return rt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},rt(t)}function hc(t,e){if(rt(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var o=n.call(t,e);if(rt(o)!="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function bc(t){var e=hc(t,"string");return rt(e)=="symbol"?e:e+""}function ke(t,e,n){return(e=bc(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var Ea=2147483647;function Mn(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),n.push.apply(n,o)}return n}function Un(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?Mn(Object(n),!0).forEach(function(o){ke(t,o,n[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Mn(Object(n)).forEach(function(o){Object.defineProperty(t,o,Object.getOwnPropertyDescriptor(n,o))})}return t}var it=2,Vn=it/2;function wc(t){return{x:Math.floor(t.x),y:Math.floor(t.y)}}function _c(t){return{x:t.x-Vn,y:t.y-Vn}}function xc(t){return{x:Math.max(t.x,0),y:Math.max(t.y,0)}}function Sc(t){return{x:Math.min(t.x,window.innerWidth-it),y:Math.min(t.y,window.innerHeight-it)}}function zn(t){var e=t.client,n=Sc(xc(_c(wc(e))));return DOMRect.fromRect({x:n.x,y:n.y,width:it,height:it})}function jn(t){var e=t.clientRect;return{left:"".concat(e.left,"px"),top:"".concat(e.top,"px"),width:"".concat(e.width,"px"),height:"".concat(e.height,"px")}}function Tc(t){var e=t.client,n=t.clientRect;return e.x>=n.x&&e.x<=n.x+n.width&&e.y>=n.y&&e.y<=n.y+n.height}function Cc(t){var e=t.initial,n=document.createElement("div");n.setAttribute(Ia,"true");var o=zn({client:e});Object.assign(n.style,Un(Un({backgroundColor:"transparent",position:"fixed",padding:0,margin:0,boxSizing:"border-box"},jn({clientRect:o})),{},{pointerEvents:"auto",zIndex:Ea})),document.body.appendChild(n);var r=Ze.bind(window,{type:"pointermove",listener:function(i){var m={x:i.clientX,y:i.clientY};o=zn({client:m}),Object.assign(n.style,jn({clientRect:o}))},options:{capture:!0}});return function(i){var m=i.current;if(r(),Tc({client:m,clientRect:o})){n.remove();return}function u(){d(),n.remove()}var d=Ze.bindAll(window,[{type:"pointerdown",listener:u},{type:"pointermove",listener:u},{type:"focusin",listener:u},{type:"focusout",listener:u},{type:"dragstart",listener:u},{type:"dragenter",listener:u},{type:"dragover",listener:u}],{capture:!0})}}function Ic(){var t=null;function e(){return t=null,Ze.bind(window,{type:"pointermove",listener:function(r){t={x:r.clientX,y:r.clientY}},options:{capture:!0}})}function n(){var o=null;return function(s){var i=s.eventName,m=s.payload;if(i==="onDragStart"){var u=m.location.initial.input,d=t??{x:u.clientX,y:u.clientY};o=Cc({initial:d})}if(i==="onDrop"){var f,h=m.location.current.input;(f=o)===null||f===void 0||f({current:{x:h.clientX,y:h.clientY}}),o=null,t=null}}}return{bindEvents:e,getOnPostDispatch:n}}function Dc(t){if(Array.isArray(t))return Eo(t)}function Ec(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function Ac(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
49
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Aa(t){return Dc(t)||Ec(t)||Ao(t)||Ac()}function _n(t){var e=null;return function(){if(!e){for(var o=arguments.length,r=new Array(o),s=0;s<o;s++)r[s]=arguments[s];var i=t.apply(this,r);e={result:i}}return e.result}}var $c=_n(function(){return navigator.userAgent.includes("Firefox")}),Ot=_n(function(){var e=navigator,n=e.userAgent;return n.includes("AppleWebKit")&&!n.includes("Chrome")}),Jt={isLeavingWindow:Symbol("leaving"),isEnteringWindow:Symbol("entering")};function Rc(t){var e=t.dragLeave;return Ot()?e.hasOwnProperty(Jt.isLeavingWindow):!1}(function(){if(typeof window>"u"||!Ot())return;function e(){return{enterCount:0,isOverWindow:!1}}var n=e();function o(){n=e()}Ze.bindAll(window,[{type:"dragstart",listener:function(){n.enterCount=0,n.isOverWindow=!0}},{type:"drop",listener:o},{type:"dragend",listener:o},{type:"dragenter",listener:function(s){!n.isOverWindow&&n.enterCount===0&&(s[Jt.isEnteringWindow]=!0),n.isOverWindow=!0,n.enterCount++}},{type:"dragleave",listener:function(s){n.enterCount--,n.isOverWindow&&n.enterCount===0&&(s[Jt.isLeavingWindow]=!0,n.isOverWindow=!1)}}],{capture:!0})})();function kc(t){return"nodeName"in t}function Oc(t){return kc(t)&&t.ownerDocument!==document}function Nc(t){var e=t.dragLeave,n=e.type,o=e.relatedTarget;return n!=="dragleave"?!1:Ot()?Rc({dragLeave:e}):o==null?!0:$c()?Oc(o):o instanceof HTMLIFrameElement}function Lc(t){var e=t.onDragEnd;return[{type:"pointermove",listener:function(){var n=0;return function(){if(n<20){n++;return}e()}}()},{type:"pointerdown",listener:e}]}function lt(t){return{altKey:t.altKey,button:t.button,buttons:t.buttons,ctrlKey:t.ctrlKey,metaKey:t.metaKey,shiftKey:t.shiftKey,clientX:t.clientX,clientY:t.clientY,pageX:t.pageX,pageY:t.pageY}}var Pc=function(e){var n=[],o=null,r=function(){for(var i=arguments.length,m=new Array(i),u=0;u<i;u++)m[u]=arguments[u];n=m,!o&&(o=requestAnimationFrame(function(){o=null,e.apply(void 0,n)}))};return r.cancel=function(){o&&(cancelAnimationFrame(o),o=null)},r},zt=Pc(function(t){return t()}),ht=function(){var t=null;function e(o){var r=requestAnimationFrame(function(){t=null,o()});t={frameId:r,fn:o}}function n(){t&&(cancelAnimationFrame(t.frameId),t.fn(),t=null)}return{schedule:e,flush:n}}();function Fc(t){var e=t.source,n=t.initial,o=t.dispatchEvent,r={dropTargets:[]};function s(m){o(m),r={dropTargets:m.payload.location.current.dropTargets}}var i={start:function(u){var d=u.nativeSetDragImage,f={current:n,previous:r,initial:n};s({eventName:"onGenerateDragPreview",payload:{source:e,location:f,nativeSetDragImage:d}}),ht.schedule(function(){s({eventName:"onDragStart",payload:{source:e,location:f}})})},dragUpdate:function(u){var d=u.current;ht.flush(),zt.cancel(),s({eventName:"onDropTargetChange",payload:{source:e,location:{initial:n,previous:r,current:d}}})},drag:function(u){var d=u.current;zt(function(){ht.flush();var f={initial:n,previous:r,current:d};s({eventName:"onDrag",payload:{source:e,location:f}})})},drop:function(u){var d=u.current,f=u.updatedSourcePayload;ht.flush(),zt.cancel(),s({eventName:"onDrop",payload:{source:f??e,location:{current:d,previous:r,initial:n}}})}};return i}var Zt={isActive:!1};function $a(){return!Zt.isActive}function Mc(t){return t.dataTransfer?t.dataTransfer.setDragImage.bind(t.dataTransfer):null}function Uc(t){var e=t.current,n=t.next;if(e.length!==n.length)return!0;for(var o=0;o<e.length;o++)if(e[o].element!==n[o].element)return!0;return!1}function Vc(t){var e=t.event,n=t.dragType,o=t.getDropTargetsOver,r=t.dispatchEvent;if(!$a())return;var s=zc({event:e,dragType:n,getDropTargetsOver:o});Zt.isActive=!0;var i={current:s};jt({event:e,current:s.dropTargets});var m=Fc({source:n.payload,dispatchEvent:r,initial:s});function u(p){var v=Uc({current:i.current.dropTargets,next:p.dropTargets});i.current=p,v&&m.dragUpdate({current:i.current})}function d(p){var v=lt(p),g=Da(p.target)?wn({x:v.clientX,y:v.clientY}):p.target,w=o({target:g,input:v,source:n.payload,current:i.current.dropTargets});w.length&&(p.preventDefault(),jt({event:p,current:w})),u({dropTargets:w,input:v})}function f(){i.current.dropTargets.length&&u({dropTargets:[],input:i.current.input}),m.drop({current:i.current,updatedSourcePayload:null}),h()}function h(){Zt.isActive=!1,b()}var b=Ze.bindAll(window,[{type:"dragover",listener:function(v){d(v),m.drag({current:i.current})}},{type:"dragenter",listener:d},{type:"dragleave",listener:function(v){Nc({dragLeave:v})&&(u({input:i.current.input,dropTargets:[]}),n.startedFrom==="external"&&f())}},{type:"drop",listener:function(v){if(i.current={dropTargets:i.current.dropTargets,input:lt(v)},!i.current.dropTargets.length){f();return}v.preventDefault(),jt({event:v,current:i.current.dropTargets}),m.drop({current:i.current,updatedSourcePayload:n.type==="external"?n.getDropPayload(v):null}),h()}},{type:"dragend",listener:function(v){i.current={dropTargets:i.current.dropTargets,input:lt(v)},f()}}].concat(Aa(Lc({onDragEnd:f}))),{capture:!0});m.start({nativeSetDragImage:Mc(e)})}function jt(t){var e,n=t.event,o=t.current,r=(e=o[0])===null||e===void 0?void 0:e.dropEffect;r!=null&&n.dataTransfer&&(n.dataTransfer.dropEffect=r)}function zc(t){var e=t.event,n=t.dragType,o=t.getDropTargetsOver,r=lt(e);if(n.startedFrom==="external")return{input:r,dropTargets:[]};var s=o({input:r,source:n.payload,target:e.target,current:[]});return{input:r,dropTargets:s}}var Bn={canStart:$a,start:Vc},en=new Map;function jc(t){var e=t.typeKey,n=t.mount,o=en.get(e);if(o)return o.usageCount++,o;var r={typeKey:e,unmount:n(),usageCount:1};return en.set(e,r),r}function Bc(t){var e=jc(t);return function(){e.usageCount--,!(e.usageCount>0)&&(e.unmount(),en.delete(t.typeKey))}}function tt(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return function(){e.forEach(function(r){return r()})}}function Ra(t,e){var n=e.attribute,o=e.value;return t.setAttribute(n,o),function(){return t.removeAttribute(n)}}function qn(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),n.push.apply(n,o)}return n}function Ve(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?qn(Object(n),!0).forEach(function(o){ke(t,o,n[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):qn(Object(n)).forEach(function(o){Object.defineProperty(t,o,Object.getOwnPropertyDescriptor(n,o))})}return t}function Bt(t,e){var n=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=qc(t))||e){n&&(t=n);var o=0,r=function(){};return{s:r,n:function(){return o>=t.length?{done:!0}:{done:!1,value:t[o++]}},e:function(d){throw d},f:r}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
50
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var s,i=!0,m=!1;return{s:function(){n=n.call(t)},n:function(){var d=n.next();return i=d.done,d},e:function(d){m=!0,s=d},f:function(){try{i||n.return==null||n.return()}finally{if(m)throw s}}}}function qc(t,e){if(t){if(typeof t=="string")return Gn(t,e);var n={}.toString.call(t).slice(8,-1);return n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set"?Array.from(t):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Gn(t,e):void 0}}function Gn(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,o=Array(e);n<e;n++)o[n]=t[n];return o}function qt(t){return t.slice(0).reverse()}function Gc(t){var e=t.typeKey,n=t.defaultDropEffect,o=new WeakMap,r="data-drop-target-for-".concat(e),s="[".concat(r,"]");function i(p){return o.set(p.element,p),function(){return o.delete(p.element)}}function m(p){return tt(Ra(p.element,{attribute:r,value:"true"}),i(p))}function u(p){var v,g,w,E,C=p.source,_=p.target,x=p.input,$=p.result,N=$===void 0?[]:$;if(_==null)return N;if(!(_ instanceof Element))return _ instanceof Node?u({source:C,target:_.parentElement,input:x,result:N}):N;var S=_.closest(s);if(S==null)return N;var A=o.get(S);if(A==null)return N;var O={input:x,source:C,element:A.element};if(A.canDrop&&!A.canDrop(O))return u({source:C,target:A.element.parentElement,input:x,result:N});var D=(v=(g=A.getData)===null||g===void 0?void 0:g.call(A,O))!==null&&v!==void 0?v:{},k=(w=(E=A.getDropEffect)===null||E===void 0?void 0:E.call(A,O))!==null&&w!==void 0?w:n,R={data:D,element:A.element,dropEffect:k,isActiveDueToStickiness:!1};return u({source:C,target:A.element.parentElement,input:x,result:[].concat(Aa(N),[R])})}function d(p){var v=p.eventName,g=p.payload,w=Bt(g.location.current.dropTargets),E;try{for(w.s();!(E=w.n()).done;){var C,_=E.value,x=o.get(_.element),$=Ve(Ve({},g),{},{self:_});x==null||(C=x[v])===null||C===void 0||C.call(x,$)}}catch(N){w.e(N)}finally{w.f()}}var f={onGenerateDragPreview:d,onDrag:d,onDragStart:d,onDrop:d,onDropTargetChange:function(v){var g=v.payload,w=new Set(g.location.current.dropTargets.map(function(X){return X.element})),E=new Set,C=Bt(g.location.previous.dropTargets),_;try{for(C.s();!(_=C.n()).done;){var x,$=_.value;E.add($.element);var N=o.get($.element),S=w.has($.element),A=Ve(Ve({},g),{},{self:$});if(N==null||(x=N.onDropTargetChange)===null||x===void 0||x.call(N,A),!S){var O;N==null||(O=N.onDragLeave)===null||O===void 0||O.call(N,A)}}}catch(X){C.e(X)}finally{C.f()}var D=Bt(g.location.current.dropTargets),k;try{for(D.s();!(k=D.n()).done;){var R,P,U=k.value;if(!E.has(U.element)){var W=Ve(Ve({},g),{},{self:U}),B=o.get(U.element);B==null||(R=B.onDropTargetChange)===null||R===void 0||R.call(B,W),B==null||(P=B.onDragEnter)===null||P===void 0||P.call(B,W)}}}catch(X){D.e(X)}finally{D.f()}}};function h(p){f[p.eventName](p)}function b(p){var v=p.source,g=p.target,w=p.input,E=p.current,C=u({source:v,target:g,input:w});if(C.length>=E.length)return C;for(var _=qt(E),x=qt(C),$=[],N=0;N<_.length;N++){var S,A=_[N],O=x[N];if(O!=null){$.push(O);continue}var D=$[N-1],k=_[N-1];if((D==null?void 0:D.element)!==(k==null?void 0:k.element))break;var R=o.get(A.element);if(!R)break;var P={input:w,source:v,element:R.element};if(R.canDrop&&!R.canDrop(P)||!((S=R.getIsSticky)!==null&&S!==void 0&&S.call(R,P)))break;$.push(Ve(Ve({},A),{},{isActiveDueToStickiness:!0}))}return qt($)}return{dropTargetForConsumers:m,getIsOver:b,dispatchEvent:h}}function Hc(t,e){var n=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=Qc(t))||e){n&&(t=n);var o=0,r=function(){};return{s:r,n:function(){return o>=t.length?{done:!0}:{done:!1,value:t[o++]}},e:function(d){throw d},f:r}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
51
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var s,i=!0,m=!1;return{s:function(){n=n.call(t)},n:function(){var d=n.next();return i=d.done,d},e:function(d){m=!0,s=d},f:function(){try{i||n.return==null||n.return()}finally{if(m)throw s}}}}function Qc(t,e){if(t){if(typeof t=="string")return Hn(t,e);var n={}.toString.call(t).slice(8,-1);return n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set"?Array.from(t):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Hn(t,e):void 0}}function Hn(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,o=Array(e);n<e;n++)o[n]=t[n];return o}function Qn(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),n.push.apply(n,o)}return n}function Wc(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?Qn(Object(n),!0).forEach(function(o){ke(t,o,n[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Qn(Object(n)).forEach(function(o){Object.defineProperty(t,o,Object.getOwnPropertyDescriptor(n,o))})}return t}function Kc(){var t=new Set,e=null;function n(s){e&&(!s.canMonitor||s.canMonitor(e.canMonitorArgs))&&e.active.add(s)}function o(s){var i=Wc({},s);return t.add(i),n(i),function(){t.delete(i),e&&e.active.delete(i)}}function r(s){var i=s.eventName,m=s.payload;if(i==="onGenerateDragPreview"){e={canMonitorArgs:{initial:m.location.initial,source:m.source},active:new Set};var u=Hc(t),d;try{for(u.s();!(d=u.n()).done;){var f=d.value;n(f)}}catch(w){u.e(w)}finally{u.f()}}if(e){for(var h=Array.from(e.active),b=0,p=h;b<p.length;b++){var v=p[b];if(e.active.has(v)){var g;(g=v[i])===null||g===void 0||g.call(v,m)}}i==="onDrop"&&(e.active.clear(),e=null)}}return{dispatchEvent:r,monitorForConsumers:o}}function Yc(t){var e=t.typeKey,n=t.mount,o=t.dispatchEventToSource,r=t.onPostDispatch,s=t.defaultDropEffect,i=Kc(),m=Gc({typeKey:e,defaultDropEffect:s});function u(h){o==null||o(h),m.dispatchEvent(h),i.dispatchEvent(h),r==null||r(h)}function d(h){var b=h.event,p=h.dragType;Bn.start({event:b,dragType:p,getDropTargetsOver:m.getIsOver,dispatchEvent:u})}function f(){function h(){var b={canStart:Bn.canStart,start:d};return n(b)}return Bc({typeKey:e,mount:h})}return{registerUsage:f,dropTarget:m.dropTargetForConsumers,monitor:i.monitorForConsumers}}var Xc=_n(function(){return navigator.userAgent.toLocaleLowerCase().includes("android")}),Jc="pdnd:android-fallback",Wn="text/plain",Zc="text/uri-list",eu="application/vnd.pdnd",Dt=new WeakMap;function tu(t){return Dt.set(t.element,t),function(){Dt.delete(t.element)}}var Kn=Ic(),xn=Yc({typeKey:"element",defaultDropEffect:"move",mount:function(e){return tt(Kn.bindEvents(),Ze.bind(document,{type:"dragstart",listener:function(o){var r,s,i,m,u,d;if(e.canStart(o)&&!o.defaultPrevented&&o.dataTransfer){var f=o.target;if(!(f instanceof HTMLElement))return null;var h=Dt.get(f);if(!h)return null;var b=lt(o),p={element:h.element,dragHandle:(r=h.dragHandle)!==null&&r!==void 0?r:null,input:b};if(h.canDrag&&!h.canDrag(p))return o.preventDefault(),null;if(h.dragHandle){var v=wn({x:b.clientX,y:b.clientY});if(!h.dragHandle.contains(v))return o.preventDefault(),null}var g=(s=(i=h.getInitialDataForExternal)===null||i===void 0?void 0:i.call(h,p))!==null&&s!==void 0?s:null;if(g)for(var w=0,E=Object.entries(g);w<E.length;w++){var C=ga(E[w],2),_=C[0],x=C[1];o.dataTransfer.setData(_,x??"")}Xc()&&!o.dataTransfer.types.includes(Wn)&&!o.dataTransfer.types.includes(Zc)&&o.dataTransfer.setData(Wn,Jc),o.dataTransfer.setData(eu,"");var $={element:h.element,dragHandle:(m=h.dragHandle)!==null&&m!==void 0?m:null,data:(u=(d=h.getInitialData)===null||d===void 0?void 0:d.call(h,p))!==null&&u!==void 0?u:{}},N={type:"element",payload:$,startedFrom:"internal"};e.start({event:o,dragType:N})}}}))},dispatchEventToSource:function(e){var n,o,r=e.eventName,s=e.payload;(n=Dt.get(s.source.element))===null||n===void 0||(o=n[r])===null||o===void 0||o.call(n,s)},onPostDispatch:Kn.getOnPostDispatch()}),nu=xn.dropTarget,Sn=xn.monitor;function au(t){return tt(xn.registerUsage(),tu(t),Ra(t.element,{attribute:"draggable",value:"true"}))}var ct=new Map,Tt=new Set;function ka(t){ou(t);var e=ct.get(t);if(e)return e;var n={timeOfEngagementStart:Date.now()};return ct.set(t,n),n}function ou(t){Tt.add(t)}function su(t){Tt.clear(),t(),ct.forEach(function(e,n){Tt.has(n)||ct.delete(n)}),Tt.clear()}function lu(){ct.clear()}var Yn=new Map;function ru(t){var e=Yn.get(t);if(e)return e;var n=iu(t);return Yn.set(t,n),n}function iu(t){var e={type:"idle"},n=[];function o(u){if(e.type==="running"){var d=u-e.timeLastFrameFinished,f=e,h=f.latestArgs,b=wn({x:h.location.current.input.clientX,y:h.location.current.input.clientY});su(function(){n.forEach(function(p){return p({underUsersPointer:b,latestArgs:h,timeSinceLastFrame:d})})}),e.timeLastFrameFinished=u,e.frameId=requestAnimationFrame(o)}}function r(){e.type!=="idle"&&(cancelAnimationFrame(e.frameId),lu(),e={type:"idle"})}function s(u){e.type==="idle"&&(e={type:"initializing",latestArgs:u,frameId:requestAnimationFrame(function(d){e.type==="initializing"&&(e={type:"running",timeLastFrameFinished:d,latestArgs:e.latestArgs,frameId:requestAnimationFrame(o)})})})}function i(u){if(e.type==="idle"){s(u);return}e.latestArgs=u}t({onDragStart:s,onDropTargetChange:i,onDrag:i,onDrop:r});var m={onFrame:function(d){n.push(d)}};return m}var tn="data-auto-scrollable",cu="[".concat(tn,'="true"]');function uu(t){return t.setAttribute(tn,"true"),function(){return t.removeAttribute(tn)}}function Xn(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),n.push.apply(n,o)}return n}function Jn(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?Xn(Object(n),!0).forEach(function(o){ke(t,o,n[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Xn(Object(n)).forEach(function(o){Object.defineProperty(t,o,Object.getOwnPropertyDescriptor(n,o))})}return t}var du={startHitboxAtPercentageRemainingOfElement:{top:.25,right:.25,bottom:.25,left:.25},maxScrollAtPercentageRemainingOfHitbox:{top:.5,right:.5,bottom:.5,left:.5},timeDampeningDurationMs:400,maxMainAxisHitboxSize:180},mu={standard:15*60,fast:25*60};function Oa(t){var e;return Jn(Jn({},du),{},{maxPixelScrollPerSecond:mu[(e=t==null?void 0:t.maxScrollSpeed)!==null&&e!==void 0?e:"standard"]})}var fu={top:function(e){return e.scrollTop>0},right:function(e){return Math.ceil(e.scrollLeft)+e.clientWidth<e.scrollWidth},bottom:function(e){return Math.ceil(e.scrollTop)+e.clientHeight<e.scrollHeight},left:function(e){return e.scrollLeft>0}},pu=["top","right","bottom","left"],vu={top:"vertical",right:"horizontal",bottom:"vertical",left:"horizontal"},Zn={start:"top",end:"bottom",point:"y",size:"height"},ea={start:"left",end:"right",point:"x",size:"width"},Na={vertical:{mainAxis:Zn,crossAxis:ea},horizontal:{mainAxis:ea,crossAxis:Zn}},Tn={top:"start",right:"end",bottom:"end",left:"start"};function bt(t){var e=t.edge,n=t.axis;return function(r){var s,i=r.clientRect,m=r.config,u=Na[n],d=u.mainAxis,f=u.crossAxis,h=Tn[e],b=Math.min(m.startHitboxAtPercentageRemainingOfElement[e]*i[d.size],m.maxMainAxisHitboxSize);return DOMRect.fromRect((s={},ke(s,d.point,h==="start"?i[d.point]:i[d.point]+i[d.size]-b),ke(s,f.point,i[f.point]),ke(s,d.size,b),ke(s,f.size,i[f.size]),s))}}var gu={top:bt({axis:"vertical",edge:"top"}),right:bt({axis:"horizontal",edge:"right"}),bottom:bt({axis:"vertical",edge:"bottom"}),left:bt({axis:"horizontal",edge:"left"})};function nn(t){var e=t.startOfRange,n=t.endOfRange,o=t.value,r=e<n;if(!r||o<e)return 0;if(o>n)return 1;var s=n-e;return(o-e)/s}function yu(t){var e=t.timeSinceLastFrame,n=t.config,o=n.maxPixelScrollPerSecond/1e3,r=Math.ceil(o*e),s=n.maxPixelScrollPerSecond/60;return Math.min(r,s)}function hu(t){var e=t.client,n=t.axis,o=t.edge,r=t.hitbox,s=t.config,i=Na[n].mainAxis,m=Tn[o],u=r[i.size]*s.maxScrollAtPercentageRemainingOfHitbox[o];if(m==="end")return nn({startOfRange:r[i.start],endOfRange:r[i.end]-u,value:e[i.point]});var d=nn({startOfRange:r[i.start]+u,endOfRange:r[i.end],value:e[i.point]});return 1-d}function wt(t){var e=t.client,n=t.timeSinceLastFrame,o=t.engagement,r=t.axis,s=t.hitbox,i=t.edge,m=t.isDistanceDampeningEnabled,u=t.config,d=yu({timeSinceLastFrame:n,config:u}),f=m?hu({client:e,edge:i,hitbox:s,axis:r,config:u}):1,h=nn({startOfRange:o.timeOfEngagementStart,endOfRange:o.timeOfEngagementStart+u.timeDampeningDurationMs,value:Date.now()}),b=f*h,p=Math.max(d*b,1),v=Tn[i];return v==="end"?p:-1*p}function bu(t,e){return e==="all"||t===e}function wu(t){var e=t.client,n=t.clientRect;return e.x>=n.x&&e.x<=n.x+n.width&&e.y>=n.y&&e.y<=n.y+n.height}function _u(t){return t.getBoundingClientRect()}function La(t){var e=t.element,n=t.input,o=t.timeSinceLastFrame,r=t.engagement,s=t.config,i=t.allowedAxis,m=t.getRect,u=m===void 0?_u:m,d={x:n.clientX,y:n.clientY},f=u(e),h=pu.reduce(function(v,g){var w=gu[g]({clientRect:f,config:s}),E=vu[g];return!bu(E,i)||!wu({client:d,clientRect:w})||!fu[g](e)||v.set(g,{edge:g,hitbox:w}),v},new Map),b=function(){var v="horizontal",g=h.get("left");if(g)return wt({client:d,edge:g.edge,hitbox:g.hitbox,axis:v,timeSinceLastFrame:o,engagement:r,isDistanceDampeningEnabled:!0,config:s});var w=h.get("right");return w?wt({client:d,edge:w.edge,hitbox:w.hitbox,axis:v,timeSinceLastFrame:o,engagement:r,isDistanceDampeningEnabled:!0,config:s}):0}(),p=function(){var v="vertical",g=h.get("bottom");if(g)return wt({client:d,edge:g.edge,hitbox:g.hitbox,axis:v,timeSinceLastFrame:o,engagement:r,isDistanceDampeningEnabled:!0,config:s});var w=h.get("top");return w?wt({client:d,edge:w.edge,hitbox:w.hitbox,axis:v,timeSinceLastFrame:o,engagement:r,isDistanceDampeningEnabled:!0,config:s}):0}();return{left:b,top:p}}function xu(t,e){var n=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=Su(t))||e){n&&(t=n);var o=0,r=function(){};return{s:r,n:function(){return o>=t.length?{done:!0}:{done:!1,value:t[o++]}},e:function(d){throw d},f:r}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
52
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var s,i=!0,m=!1;return{s:function(){n=n.call(t)},n:function(){var d=n.next();return i=d.done,d},e:function(d){m=!0,s=d},f:function(){try{i||n.return==null||n.return()}finally{if(m)throw s}}}}function Su(t,e){if(t){if(typeof t=="string")return ta(t,e);var n={}.toString.call(t).slice(8,-1);return n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set"?Array.from(t):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ta(t,e):void 0}}function ta(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,o=Array(e);n<e;n++)o[n]=t[n];return o}function Pa(t){return!!(t.top||t.left)}function Fa(t){var e,n,o,r=t.target,s=t.input,i=t.source,m=t.findEntry,u=t.timeSinceLastFrame,d=t.available,f=d===void 0?{top:!0,left:!0}:d;if(!Pa(f)||!r)return f;var h=r.closest(cu);if(!h)return f;var b=m(h);if(!b)return f;function p(){var x;return Fa({target:(x=h==null?void 0:h.parentElement)!==null&&x!==void 0?x:null,findEntry:m,source:i,timeSinceLastFrame:u,input:s,available:f})}var v={input:s,source:i,element:h};if(b.canScroll&&!b.canScroll(v))return p();var g=ka(h),w=Oa((e=b.getConfiguration)===null||e===void 0?void 0:e.call(b,v)),E=(n=(o=b.getAllowedAxis)===null||o===void 0?void 0:o.call(b,v))!==null&&n!==void 0?n:"all",C=La({element:h,engagement:g,input:s,timeSinceLastFrame:u,allowedAxis:E,config:w}),_={top:0,left:0};return f.top&&C.top!==0&&(_.top=C.top,f.top=!1),f.left&&C.left!==0&&(_.left=C.left,f.left=!1),(_.top!==0||_.left!==0)&&h.scrollBy(_),p()}function Tu(t){var e=t.input,n=t.timeSinceLastFrame,o=t.available,r=t.source,s=t.entries,i=document.documentElement,m={input:e,source:r,element:i},u=xu(s),d;try{for(u.s();!(d=u.n()).done;){var f,h,b,p=d.value;if(!(p.canScroll&&!p.canScroll(m))){var v=ka(i),g=Oa((f=p.getConfiguration)===null||f===void 0?void 0:f.call(p,m)),w=(h=(b=p.getAllowedAxis)===null||b===void 0?void 0:b.call(p,m))!==null&&h!==void 0?h:"all",E=La({element:i,engagement:v,input:e,config:g,allowedAxis:w,getRect:function(x){return DOMRect.fromRect({y:0,x:0,width:x.clientWidth,height:x.clientHeight})},timeSinceLastFrame:n}),C={top:o.top?E.top:0,left:o.left?E.left:0};(C.top!==0||C.left!==0)&&i.scrollBy(C);break}}}catch(_){u.e(_)}finally{u.f()}}function Cu(t){var e=t.input,n=t.findEntry,o=t.timeSinceLastFrame,r=t.source,s=t.getWindowScrollEntries,i=t.underUsersPointer,m=Fa({target:i,timeSinceLastFrame:o,input:e,source:r,findEntry:n});Pa(m)&&Tu({input:e,source:r,entries:s(),timeSinceLastFrame:o,available:m})}function na(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),n.push.apply(n,o)}return n}function Iu(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?na(Object(n),!0).forEach(function(o){ke(t,o,n[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):na(Object(n)).forEach(function(o){Object.defineProperty(t,o,Object.getOwnPropertyDescriptor(n,o))})}return t}function Du(t){var e=t.monitor,n=new Map,o=new Set;function r(d){return n.set(d.element,d),tt(uu(d.element),function(){return n.delete(d.element)})}function s(){var d=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},f=Iu({},d);return o.add(f),function(){return o.delete(f)}}function i(d){var f;return(f=n.get(d))!==null&&f!==void 0?f:null}function m(){return Array.from(o)}function u(d){var f=d.latestArgs,h=d.underUsersPointer,b=d.timeSinceLastFrame;Cu({input:f.location.current.input,source:f.source,findEntry:i,underUsersPointer:h,timeSinceLastFrame:b,getWindowScrollEntries:m})}return ru(e).onFrame(u),{autoScroll:r,autoScrollWindow:s}}var Eu=Du({monitor:Sn}),Au=Eu.autoScroll;function aa(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),n.push.apply(n,o)}return n}function oa(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?aa(Object(n),!0).forEach(function(o){ke(t,o,n[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):aa(Object(n)).forEach(function(o){Object.defineProperty(t,o,Object.getOwnPropertyDescriptor(n,o))})}return t}var $u={top:function(e,n){return Math.abs(n.y-e.top)},right:function(e,n){return Math.abs(e.right-n.x)},bottom:function(e,n){return Math.abs(e.bottom-n.y)},left:function(e,n){return Math.abs(n.x-e.left)}},Ma=Symbol("closestEdge");function Ru(t,e){var n,o,r=e.element,s=e.input,i=e.allowedEdges,m={x:s.clientX,y:s.clientY},u=r.getBoundingClientRect(),d=i.map(function(h){return{edge:h,value:$u[h](u,m)}}),f=(n=(o=d.sort(function(h,b){return h.value-b.value})[0])===null||o===void 0?void 0:o.edge)!==null&&n!==void 0?n:null;return oa(oa({},t),{},ke({},Ma,f))}function Ua(t){var e;return(e=t[Ma])!==null&&e!==void 0?e:null}function ku(t){var e=t.startIndex,n=t.closestEdgeOfTarget,o=t.indexOfTarget;if(e===-1||o===-1||e===o)return e;if(n==null)return o;var r=n==="right",s=e<o;return s?r?o:o-1:r?o+1:o}function Ou(t){var e=t.element,n=t.input;return function(o){var r=o.container,s=e.getBoundingClientRect(),i=r.getBoundingClientRect(),m=Math.min(n.clientX-s.x,i.width),u=Math.min(n.clientY-s.y,i.height);return{x:m,y:u}}}function Nu(){return{x:0,y:0}}function Lu(t){var e=t.render,n=t.nativeSetDragImage,o=t.getOffset,r=o===void 0?Nu:o,s=document.createElement("div");Object.assign(s.style,{position:"fixed",top:0,left:0,zIndex:Ea,pointerEvents:"none"}),document.body.append(s);var i=e({container:s});queueMicrotask(function(){var d=r({container:s});if(Ot()){var f=s.getBoundingClientRect();if(f.width===0)return;s.style.left="-".concat(f.width-1e-4,"px")}n==null||n(s,d.x,d.y)});function m(){u(),i==null||i(),document.body.removeChild(s)}var u=Sn({onDragStart:m,onDrop:m})}const Pu={class:"bg-background w-44 max-w-44 text-foreground rounded-md flex items-center gap-2 text-sm font-medium h-7 px-3 py-1.5"},Fu=ee({__name:"TabViewItemPreview",props:{icon:{},name:{}},setup(t){return(e,n)=>(T(),L("div",Pu,z(e.name),1))}}),Mu={class:"truncate"},Uu=ee({__name:"TabViewItem",props:{tab:{},isActive:{type:Boolean},selectTab:{type:Function},closeTab:{type:Function},onRightClickItem:{type:Function}},setup(t){const e=t,n=$e(),o=$e(),r=J(!1),s=J(!1),i=J(),m=J(!1);return bn(u=>{const d=Kt(n),f=Kt(o);if(!d||!f)return;const h=tt(au({element:d,getInitialData:()=>e.tab,onDragStart:b=>{r.value=!0},onDrop:()=>{r.value=!1,e.selectTab(e.tab.id)},onGenerateDragPreview:({location:b,nativeSetDragImage:p})=>{Lu({nativeSetDragImage:p,getOffset:Ou({element:d,input:b.current.input}),render({container:v}){return kn(Ro(Fu,{icon:e.tab.icon,name:e.tab.name},e.tab.name),v),()=>{kn(null,v)}}})}}),nu({element:f,getData:({input:b,element:p})=>{const v={id:e.tab.id};return Ru(v,{element:p,input:b,allowedEdges:["left","right"]})},canDrop:({source:b})=>!0,onDrag:({self:b,source:p,location:v})=>{const g=Ua(b.data);g&&(i.value=g)},onDragEnter:({self:b,source:p})=>{var g,w;const v=((g=b.data)==null?void 0:g.id)!==p.data.id;e.tab.id===((w=b.data)==null?void 0:w.id)&&v&&(m.value=!0)},onDragLeave:()=>{s.value=!1,m.value=!1},onDrop:({location:b})=>{s.value=!1,m.value=!1},getIsSticky:()=>!1}));u(()=>h())}),(u,d)=>{const f=ie,h=be,b=we,p=he,v=pe;return T(),L("div",{class:"relative",onContextmenu:d[2]||(d[2]=Je(()=>{u.onRightClickItem(u.tab)},["right"])),ref_key:"outerElementRef",ref:o},[y("div",{class:de(["pb-[1px]",["border rounded-t-md transition-all duration-300 ease-out",u.isActive?"bg-background shadow-xl border-b-transparent rounded-b-none":"border-transparent"]])},[l(v,{ref_key:"innerElementRef",ref:n,variant:"ghost",size:"sm",class:de(["h-7! max-w-44 justify-start! font-normal p-2! hover:[&>div]:opacity-100 border border-transparent",u.isActive?"bg-background rounded-b-none hover:bg-transparent ":"hover:bg-primary/10 hover:border-border",r.value?"bg-primary/5":""]),onClick:d[1]||(d[1]=Je(g=>u.selectTab(u.tab.id),["left"])),id:u.tab.id},{default:c(()=>[l(f,{name:u.tab.icon,class:de(a(rn)("size-4 min-w-4",u.tab.iconClass))},null,8,["name","class"]),l(p,{id:u.tab.id},{default:c(()=>[l(h,{"as-child":""},{default:c(()=>[y("div",Mu,z(u.tab.name),1)]),_:1}),l(b,{side:"bottom"},{default:c(()=>[y("p",null,z(u.tab.name),1)]),_:1})]),_:1},8,["id"]),y("div",{class:"hover:bg-accent p-0.5 rounded-full opacity-0",onClick:d[0]||(d[0]=Je(()=>u.closeTab(u.tab.id),["stop"]))},[l(a($o),{class:"size-3 stroke-[2.5]!"})])]),_:1},8,["class","id"])],2),m.value&&i.value?(T(),L("div",{key:0,class:"absolute h-7 w-0.5 top-0 rounded-md bg-accent-foreground",style:Rt({[i.value==="left"?"left":"right"]:"0px"})},null,4)):Q("",!0)],544)}}}),Vu={class:"flex items-center"},Gt=ee({__name:"TabViewOpenActions",props:{disabled:{type:Boolean,default:!1},measureOnly:{type:Boolean,default:!1}},emits:["openStarterSql","openNewSqlFile","openSchemaBrowser","openInstanceInsights"],setup(t,{emit:e}){const n=t,o=e;return(r,s)=>{const i=ie,m=pe;return T(),L("div",Vu,[n.measureOnly?(T(),L(re,{key:0},[l(m,{variant:"outline",size:"xxs",class:"rounded-r-none border-r-0 pr-0"},{default:c(()=>[l(i,{name:"hugeicons:plus-sign",class:"size-4 min-w-4"})]),_:1}),l(m,{variant:"outline",size:"xxs",class:"rounded-l-none border-l-0 pl-0 pr-1"},{default:c(()=>[l(i,{name:"hugeicons:arrow-down-01",class:"size-3!"})]),_:1})],64)):(T(),L(re,{key:1},[l(a(he),null,{default:c(()=>[l(a(be),{"as-child":""},{default:c(()=>[l(m,{variant:"outline",size:"xxs",class:"rounded-r-none border-r-0 pr-0",disabled:n.disabled,"aria-label":"New SQL file",onClick:s[0]||(s[0]=u=>o("openStarterSql"))},{default:c(()=>[l(i,{name:"hugeicons:plus-sign",class:"size-4 min-w-4"})]),_:1},8,["disabled"])]),_:1}),l(a(we),null,{default:c(()=>s[4]||(s[4]=[F("New SQL file")])),_:1})]),_:1}),l(a(us),null,{default:c(()=>[l(a(ds),{"as-child":""},{default:c(()=>[l(m,{variant:"outline",size:"xxs",class:"rounded-l-none border-l-0 pl-0 pr-1",disabled:n.disabled,"aria-label":"Open tab options"},{default:c(()=>[l(i,{name:"hugeicons:arrow-down-01",class:"size-3!"})]),_:1},8,["disabled"])]),_:1}),l(a(ms),{align:"end",class:"min-w-52"},{default:c(()=>[l(a(Ko),{class:"py-0"},{default:c(()=>s[5]||(s[5]=[F("Open new tab")])),_:1}),l(a(Yo)),l(a(Mt),{class:"h-8 cursor-pointer",onSelect:s[1]||(s[1]=u=>o("openNewSqlFile"))},{default:c(()=>[l(i,{name:"hugeicons:document-code",class:"mr-2 size-4 min-w-4"}),s[6]||(s[6]=F(" New SQL file "))]),_:1}),l(a(Mt),{class:"h-8 cursor-pointer",onSelect:s[2]||(s[2]=u=>o("openSchemaBrowser"))},{default:c(()=>[l(i,{name:"hugeicons:database",class:"mr-2 size-4 min-w-4"}),s[7]||(s[7]=F(" Schema browser "))]),_:1}),l(a(Mt),{class:"h-8 cursor-pointer",onSelect:s[3]||(s[3]=u=>o("openInstanceInsights"))},{default:c(()=>[l(i,{name:"hugeicons:activity-02",class:"mr-2 size-4 min-w-4"}),s[8]||(s[8]=F(" Instance insights "))]),_:1})]),_:1})]),_:1})],64))])}}}),zu=["data-electron-drag-region"],ju={class:"flex min-w-max items-end h-full"},Bu={key:0,class:"flex h-full shrink-0 items-center bg-sidebar-accent/50 pl-1 pr-1"},qu={class:"flex min-w-max items-end h-full"},Gu={key:0,class:"flex h-full shrink-0 items-center bg-sidebar-accent/50 pl-1 pr-1"},Hu=ee({__name:"TabViews",setup(t){const e=qe(),n=Pe(),{openStarterSqlTab:o,openNewSqlFileTab:r,openInstanceInsightsTab:s}=Ge(),{openCommandPalette:i}=ko(),{workspaceId:m,connectionId:u}=Ee(),{tabViews:d}=ge(e),f=$e(),h=$e(),b=$e(),p=$e(),v=J(!1),g=J(),{width:w}=xt(h),{width:E}=xt(b),{width:C}=xt(p),_=M(()=>an(n.selectedConnection??{type:xe.POSTGRES,method:sa.STRING})),x=M(()=>!!m.value&&!!u.value),$=M(()=>_.value.supportsQueryFiles),N=M(()=>!w.value||!C.value?!1:E.value+C.value>w.value),S=()=>{i()},A=M(()=>{if(!g.value)return!1;const D=d.value.length,k=d.value.findIndex(R=>{var P;return R.id===((P=g.value)==null?void 0:P.id)});return D>k+1});bn(D=>{const k=Kt(f);if(!k)return;const R=tt(Sn({onDragStart(P){v.value=!0},onDrop(P){v.value=!1;const{location:U,source:W}=P;if(!U.current.dropTargets.length)return;const B=W.data.id,X=U.current.dropTargets[0],ne=X.data.id,te=Ua(X.data);if(!te)return;const ae=d.value.findIndex(I=>I.id===B),le=d.value.findIndex(I=>I.id===ne),j=ku({startIndex:ae,indexOfTarget:le,closestEdgeOfTarget:te});e.moveTabTo(ae,j)}}),Au({element:k}));D(()=>{R()})});const O=M(()=>st());return(D,k)=>{const R=on("auto-animate");return T(),L("div",{class:de(["w-full flex items-end h-full gap-2 mx-1 -mb-0.5 min-w-0 relative",v.value?"bg-purple-50":""]),"data-electron-drag-region":O.value?"":void 0},[Q("",!0),y("div",{ref_key:"tabBarBodyRef",ref:h,class:"flex h-full min-w-0 flex-1 items-end"},[y("div",{ref_key:"elementRef",ref:f,class:"min-w-0 flex-1 overflow-x-auto hidden-scroll-container h-full"},[y("div",ju,[l(a(Vo),null,{default:c(()=>[l(a(zo),{"as-child":""},{default:c(()=>[Ke((T(),L("div",{ref_key:"tabsTrackRef",ref:b,class:"flex items-end"},[(T(!0),L(re,null,ve(a(d),P=>{var U;return T(),K(Uu,{key:P.id,tab:P,isActive:P.id===((U=a(e).activeTab)==null?void 0:U.id),selectTab:a(e).selectTab,closeTab:a(e).closeTab,onRightClickItem:()=>{g.value=P}},null,8,["tab","isActive","selectTab","closeTab","onRightClickItem"])}),128))])),[[R,{duration:120}]])]),_:1}),g.value?(T(),K(a(jo),{key:0,hideWhenDetached:"",class:"w-56"},{default:c(()=>[l(a(Pt),{onSelect:k[0]||(k[0]=P=>a(e).closeTab(g.value.id))},{default:c(()=>[k[6]||(k[6]=F(" Close ")),l(a(Ut),null,{default:c(()=>k[5]||(k[5]=[F("⌘W")])),_:1})]),_:1}),l(a(Pt),{onSelect:k[1]||(k[1]=P=>a(e).closeOtherTab(g.value.id))},{default:c(()=>[k[8]||(k[8]=F(" Close other ")),l(a(Ut),null,{default:c(()=>k[7]||(k[7]=[F("⌘AO")])),_:1})]),_:1}),l(a(Pt),{disabled:!A.value,onSelect:k[2]||(k[2]=P=>a(e).closeToTheRight(g.value.id))},{default:c(()=>[k[10]||(k[10]=F(" Close to the right ")),l(a(Ut),null,{default:c(()=>k[9]||(k[9]=[F("⌘AX")])),_:1})]),_:1},8,["disabled"])]),_:1})):Q("",!0)]),_:1}),$.value&&!N.value?(T(),L("div",Bu,[l(Gt,{disabled:!x.value,onOpenStarterSql:a(o),onOpenNewSqlFile:a(r),onOpenSchemaBrowser:S,onOpenInstanceInsights:a(s)},null,8,["disabled","onOpenStarterSql","onOpenNewSqlFile","onOpenInstanceInsights"])])):Q("",!0)])],512),y("div",qu,[$.value&&N.value?(T(),L("div",Gu,[l(Gt,{disabled:!x.value,onOpenStarterSql:a(o),onOpenNewSqlFile:a(r),onOpenSchemaBrowser:S,onOpenInstanceInsights:a(s)},null,8,["disabled","onOpenStarterSql","onOpenNewSqlFile","onOpenInstanceInsights"])])):Q("",!0)])],512),$.value?(T(),L("div",{key:1,ref_key:"actionsMeasureRef",ref:p,"aria-hidden":"true",class:"pointer-events-none invisible absolute flex h-full shrink-0 items-center bg-sidebar-accent/50 pl-1 pr-1"},[l(Gt,{"measure-only":""})],512)):Q("",!0)],10,zu)}}}),Qu=["data-electron-drag-region"],Wu=["data-electron-drag-region"],Ku={key:0,class:"vitrual-light-trafic-button"},Yu=["data-electron-drag-region"],Xu={class:"window-no-drag flex items-center gap-2"},Ju=ee({__name:"TabViewContainer",props:{primarySideBarWidth:{}},setup(t){const e=t,n=ya(),o=ut(),{isPrimarySidebarCollapsed:r,isSecondSidebarCollapsed:s}=ge(o),i=M(()=>Oo()),m=M(()=>No()&&Lo()),u=M(()=>vc({primarySideBarWidth:e.primarySideBarWidth,sidebarWidthPercentage:o.layoutSize[0],isDesktopMacWindow:m.value})),d=M(()=>!n.meta.notAllowRightPanel),f=async()=>{m.value&&st()&&await window.electronAPI.window.maximize()};return(h,b)=>{const p=ie,v=pe,g=be,w=we,E=he;return T(),L("div",{class:de(["w-screen h-9 select-none border-b pr-2 bg-sidebar-accent/50!",a(i)&&a(r)?"pl-[6rem]":"",a(m)&&"pl-[4.75rem]",a(i)&&"h-10.5 header-tab-view-pwa"]),onDblclick:f,"data-electron-drag-region":a(st)()?"":void 0},[y("div",{class:"flex justify-between items-center h-full","data-electron-drag-region":a(st)()?"":void 0},[y("div",{class:"window-no-drag flex items-center gap-1 h-full px-1",style:Rt({minWidth:a(u),justifyContent:a(r)?"center":"space-between"})},[a(i)&&!a(r)?(T(),L("div",Ku)):Q("",!0),a(r)?Q("",!0):(T(),L("div",{key:1,class:de(["flex justify-center w-full"]),"data-electron-drag-region":a(st)()?"":void 0},[l(a(_s))],8,Yu)),l(E,null,{default:c(()=>[l(g,{"as-child":""},{default:c(()=>[l(v,{variant:"ghost",size:"iconSm",onClick:b[0]||(b[0]=C=>a(o).onToggleActivityBarPanel())},{default:c(()=>[a(r)?(T(),K(p,{key:0,name:"hugeicons:sidebar-left",class:"size-5!"})):(T(),K(p,{key:1,name:"hugeicons:sidebar-left-01",class:"size-5!"}))]),_:1})]),_:1}),l(w,null,{default:c(()=>b[2]||(b[2]=[F(" Toggle Sidebar ")])),_:1})]),_:1})],4),l(Hu),y("div",Xu,[l(E,null,{default:c(()=>[l(g,{"as-child":""},{default:c(()=>[a(d)?(T(),K(v,{key:0,variant:"ghost",size:"iconSm",onClick:b[1]||(b[1]=C=>a(o).onToggleSecondSidebar())},{default:c(()=>[a(s)?(T(),K(p,{key:0,name:"hugeicons:sidebar-right",class:"size-5!"})):(T(),K(p,{key:1,name:"hugeicons:sidebar-right-01",class:"size-5!"}))]),_:1})):Q("",!0)]),_:1}),l(w,null,{default:c(()=>b[3]||(b[3]=[F(" Toggle Sidebar ")])),_:1})]),_:1})])],8,Wu)],42,Qu)}}}),Zu={class:"h-full flex overflow-y-auto w-screen max-w-screen overflow-x-hidden"},ed={class:"overflow-y-auto w-full h-full"},td={class:"flex flex-col overflow-y-auto w-full h-full"},nd={class:"h-full"},Ad=ee({__name:"default",setup(t){const e=ya(),n=Oe("primarySideBarPanel"),{width:o}=xt(n),r=ut(),{layoutSize:s,isPrimarySidebarCollapsed:i,bodySize:m}=ge(r),{chatUiVars:u}=Po(),d=M(()=>!e.meta.notAllowBottomPanel),f=M(()=>!e.meta.notAllowRightPanel);return Fo([{key:"meta+shift+b",callback:()=>{f.value&&r.onToggleSecondSidebar()}},{key:"meta+b",callback:()=>{r.onToggleActivityBarPanel()}},{key:"meta+j",callback:()=>{d.value&&r.onToggleBottomPanel()}}]),(h,b)=>{const p=Wa,v=Ka,g=Qa,w=on("auto-animate");return T(),K(g,{direction:"horizontal",id:"default-layout-group-1",onLayout:b[1]||(b[1]=E=>a(r).onResizeLayout(E))},{default:c(()=>[y("div",{class:"h-full w-screen flex flex-col flex-1 max-h-screen overflow-y-auto",style:Rt(a(u))},[l(a(Ju),{primarySideBarWidth:a(o)},null,8,["primarySideBarWidth"]),Ke((T(),L("div",Zu,[a(i)?(T(),K(a(bs),{key:0})):Q("",!0),l(p,{"min-size":10,"max-size":40,"default-size":a(s)[0],"collapsed-size":0,ref:"primarySideBarPanel",collapsible:"",id:"default-layout-group-1-panel-1",key:"primarySideBarPanel",class:"bg-sidebar/50 dark:bg-sidebar"},{default:c(()=>[l(a(Oi))]),_:1},8,["default-size"]),l(v,{class:"[&[data-state=hover]]:bg-primary/30! [&[data-state=drag]]:bg-primary/20!",id:"default-layout-group-1-resize-1","with-handle":""}),l(p,{id:"default-layout-group-1-panel-2",key:"contentPanel"},{default:c(()=>[y("div",ed,[l(g,{id:"default-layout-body-group",direction:"vertical",modelValue:a(m),"onUpdate:modelValue":b[0]||(b[0]=E=>ye(m)?m.value=E:null),onLayout:a(r).onResizeBody},{default:c(()=>[l(p,{id:"default-layout-body-group-panel-1",key:"default-layout-body-group-panel-1"},{default:c(()=>[y("div",td,[y("div",nd,[Qt(h.$slots,"default")])])]),_:3}),Ke(l(v,{class:"[&[data-state=hover]]:bg-primary/30! [&[data-state=drag]]:bg-primary/20!","with-handle":""},null,512),[[yt,a(d)]]),Ke(l(p,{"min-size":10,"max-size":70,"default-size":a(m)[1],"collapsed-size":0,collapsible:"",id:"default-layout-body-group-panel-2",key:"default-layout-body-group-panel-2"},{default:c(()=>b[2]||(b[2]=[y("div",{class:"flex flex-col flex-1 h-full p-1",id:"bottom-panel"},null,-1)])),_:1},8,["default-size"]),[[yt,a(d)]])]),_:3},8,["modelValue","onLayout"])])]),_:3}),Ke(l(v,{class:"[&[data-state=hover]]:bg-primary/30! [&[data-state=drag]]:bg-primary/20!",id:"default-layout-group-1-resize-2","with-handle":""},null,512),[[yt,a(f)]]),Ke(l(p,{id:"default-layout-group-1-panel-3","min-size":15,"max-size":40,"default-size":a(s)[2],"collapsed-size":0,collapsible:"",key:"secondarySideBarPanel",class:"bg-sidebar"},{default:c(()=>[l(a(Li))]),_:1},8,["default-size"]),[[yt,a(f)]])])),[[w,{duration:a(et)}]]),l(a(fc))],4)]),_:3})}}});export{Ad as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{d as ie,aI as me,r as _,c as g,an as M,aJ as fe,e as c,f as d,m as s,w as b,F as O,s as L,g as a,l as N,i as D,z as m,I as ue,J as ge,bf as Q,k as I,aj as xe,a4 as he,bg as ye,bh as _e,o as i,A as we,t as x,bi as ke,af as Ie,n as Se,bj as Re,bk as Te,ai as be,T as Ce,N as Ve,O as Pe,ae as Ke}from"./D7uoAo-G.js";import{_ as ze}from"./BOVFFCPB.js";import{_ as Ee,u as Ne}from"./BjpSpz5C.js";import{_ as Oe,a as Le}from"./CxZK-Vs6.js";import{i as Ue}from"./B41tp0B8.js";import{g as Ae,a as Be}from"./Cj9tYr3P.js";const je={class:"flex h-full flex-col gap-4 overflow-hidden p-4"},Me={class:"flex flex-wrap items-center gap-2"},De={class:"grid min-h-0 flex-1 gap-4 grid-cols-5"},Fe={class:"flex min-h-0 flex-col gap-4 col-span-2"},Je={class:"rounded-lg border bg-background p-4 space-y-4"},He={class:"space-y-3"},qe={class:"space-y-2"},We={class:"flex flex-wrap gap-2"},Ge={key:0,class:"space-y-2"},Qe={class:"space-y-2"},Xe={class:"min-w-0"},Ye={class:"truncate text-sm font-medium"},Ze={class:"text-xs text-muted-foreground"},et={class:"rounded-lg border bg-background p-4 space-y-4"},tt={class:"space-y-2"},st={class:"space-y-2"},at={class:"flex justify-end"},nt={class:"flex min-h-0 flex-col overflow-hidden rounded-lg border bg-background col-span-3"},lt={class:"border-b px-4 py-3"},ot={class:"flex flex-wrap items-center gap-2"},it={class:"min-h-0 flex-1 overflow-auto p-4"},dt={key:1,class:"space-y-3"},rt={class:"flex flex-wrap items-center gap-2 text-xs text-muted-foreground"},ut={class:"mt-2 overflow-auto rounded-md border bg-background p-3 text-xs"},ct=ie({__name:"RedisPubSubPanel",props:{connection:{},databaseIndex:{},databases:{}},emits:["update:databaseIndex"],setup(F,{emit:T}){const t=F,P=T,f=me(null),h=_([]),y=_(""),r=_(""),w=_(""),p=_(null),k=_(!1),U=_(!1),S=_(!1);let $=null;const J=g(()=>{var o;return((o=f.value)==null?void 0:o.subscription)??{sessionId:p.value,target:null,mode:null,targets:[]}}),K=g(()=>J.value.targets??[]),H=g(()=>{var o,n;return[{label:`${((o=f.value)==null?void 0:o.channels.length)??0} channels`},{label:`${((n=f.value)==null?void 0:n.patternCount)??0} patterns`},{label:K.value.length?`${K.value.length} active target${K.value.length===1?"":"s"}`:"Not subscribed"}]}),A=g(()=>h.value.slice().reverse()),X=o=>({method:o.method,stringConnection:o.connectionString,host:o.host,port:o.port,username:o.username,password:o.password,database:o.database,ssl:o.ssl,ssh:o.ssh}),q=async()=>{if(!t.connection){f.value=null;return}k.value=!0;try{f.value=await $fetch("/api/redis/pubsub/overview",{method:"POST",body:{...X(t.connection),databaseIndex:t.databaseIndex,sessionId:p.value}})}finally{k.value=!1}},de=async()=>{if(!p.value){h.value=[];return}const o=await $fetch("/api/redis/pubsub/messages",{method:"POST",body:{sessionId:p.value}});h.value=o.messages,f.value&&(f.value={...f.value,subscription:o.subscription})},B=async()=>{await Promise.all([q(),de()])},z=()=>{$&&(clearInterval($),$=null)},ae=()=>{z(),$=ke(()=>{B()},2e3)},re=async()=>{if(!(!t.connection||!y.value.trim())){U.value=!0;try{const o=await $fetch("/api/redis/pubsub/subscribe",{method:"POST",body:{...X(t.connection),databaseIndex:t.databaseIndex,target:y.value.trim(),sessionId:p.value}});p.value=o.subscription.sessionId,h.value=o.messages,y.value="";const n=o.subscription.targets.find(C=>C.mode==="channel");!r.value&&n&&(r.value=n.target),await q(),ae()}finally{U.value=!1}}},Y=async o=>{var V;if(!p.value)return;const n=p.value,C=await $fetch("/api/redis/pubsub/unsubscribe",{method:"POST",body:{sessionId:n,target:o??null}});if(!o||C.closed){p.value=null,h.value=[],z(),await q();return}await B(),(((V=f.value)==null?void 0:V.subscription.targets.length)??0)===0&&(p.value=null,h.value=[],z())},ne=async()=>{if(!(!t.connection||!r.value.trim())){S.value=!0;try{await $fetch("/api/redis/pubsub/publish",{method:"POST",body:{...X(t.connection),databaseIndex:t.databaseIndex,channel:r.value.trim(),payload:w.value}}),w.value="",await B()}finally{S.value=!1}}};return M(()=>{var o;return(o=f.value)==null?void 0:o.subscription.sessionId},o=>{p.value=o??null}),M(K,o=>{if(o.length===0){p.value&&z();return}if(!r.value){const n=o.find(C=>C.mode==="channel");n&&(r.value=n.target)}},{immediate:!0}),M(p,o=>{if(o){ae();return}z()}),M(()=>{var o;return[(o=t.connection)==null?void 0:o.id,t.databaseIndex]},async()=>{if(z(),p.value){await Y();return}h.value=[],await q()},{immediate:!0}),fe(()=>{z(),p.value&&$fetch("/api/redis/pubsub/unsubscribe",{method:"POST",body:{sessionId:p.value,target:null}}).catch(()=>{})}),(o,n)=>{const C=we,V=he,le=ze,Z=ye,j=_e,ee=xe;return i(),c("div",je,[d(le,{icon:"hugeicons:radio",title:"Pub/Sub",description:"Subscribe to a channel or pattern, publish test events, and watch live messages without leaving the detail flow."},{context:b(()=>n[5]||(n[5]=[])),actions:b(()=>[d(Ee,{compact:"","trigger-id":"redis-pubsub-db-index","trigger-class":"bg-background",databases:o.databases,"database-index":o.databaseIndex,"onUpdate:databaseIndex":n[0]||(n[0]=v=>P("update:databaseIndex",v))},null,8,["databases","database-index"]),d(V,{variant:"outline",size:"xxs",disabled:a(k),onClick:B},{default:b(()=>[d(C,{name:"hugeicons:redo",class:"size-3.5! min-w-3.5"}),n[6]||(n[6]=m(" Refresh "))]),_:1},8,["disabled"])]),_:1}),s("div",Me,[(i(!0),c(O,null,L(a(H),v=>(i(),I(a(Q),{key:v.label,variant:"outline",class:"h-6 px-2 text-[11px] font-normal"},{default:b(()=>[m(x(v.label),1)]),_:2},1024))),128))]),s("div",De,[s("div",Fe,[s("div",Je,[s("div",He,[n[12]||(n[12]=s("div",null,[s("div",null,[s("div",{class:"text-sm font-medium"},"Subscription"),s("p",{class:"text-xs text-muted-foreground"}," Add channels or wildcard patterns to the same live session. Pattern detection is automatic. ")])],-1)),s("div",qe,[d(Z,{for:"redis-pubsub-target"},{default:b(()=>n[7]||(n[7]=[m("Target")])),_:1}),d(j,{size:"sm",id:"redis-pubsub-target",modelValue:a(y),"onUpdate:modelValue":n[1]||(n[1]=v=>D(y)?y.value=v:null),placeholder:"orders.events or orders.*"},null,8,["modelValue"]),n[8]||(n[8]=s("p",{class:"text-xs text-muted-foreground"},[m(" Use a plain channel name or include wildcard characters like "),s("span",{class:"font-mono"},"*"),m(" and "),s("span",{class:"font-mono"},"?"),m(" for patterns. ")],-1))]),s("div",We,[d(V,{size:"xs",disabled:a(U),onClick:re},{default:b(()=>n[9]||(n[9]=[m(" Add target ")])),_:1},8,["disabled"]),d(V,{size:"xs",variant:"outline",disabled:!a(p),onClick:n[2]||(n[2]=v=>Y(void 0))},{default:b(()=>n[10]||(n[10]=[m(" Clear all ")])),_:1},8,["disabled"])]),a(K).length?(i(),c("div",Ge,[n[11]||(n[11]=s("div",{class:"text-xs font-medium uppercase tracking-[0.08em] text-muted-foreground"}," Active targets ",-1)),s("div",Qe,[(i(!0),c(O,null,L(a(K),v=>(i(),c("div",{key:v.target,class:"flex items-center justify-between gap-3 rounded-lg border bg-muted/10 px-3 py-2"},[s("div",Xe,[s("div",Ye,x(v.target),1),s("div",Ze,x(v.mode==="pattern"?"Pattern detected automatically":"Channel detected automatically"),1)]),d(V,{size:"iconSm",variant:"ghost","aria-label":`Remove ${v.target}`,onClick:e=>Y(v.target)},{default:b(()=>[d(C,{name:"hugeicons:cancel-01",class:"size-4! min-w-4"})]),_:2},1032,["aria-label","onClick"])]))),128))])])):N("",!0)])]),s("div",et,[n[16]||(n[16]=s("div",null,[s("div",{class:"text-sm font-medium"},"Publish"),s("p",{class:"text-xs text-muted-foreground"}," Send a quick payload to a channel and inspect the response stream on the right. ")],-1)),s("div",tt,[d(Z,{for:"redis-pubsub-channel"},{default:b(()=>n[13]||(n[13]=[m("Channel")])),_:1}),d(j,{size:"sm",id:"redis-pubsub-channel",modelValue:a(r),"onUpdate:modelValue":n[3]||(n[3]=v=>D(r)?r.value=v:null),placeholder:"orders.events"},null,8,["modelValue"])]),s("div",st,[d(Z,{for:"redis-pubsub-payload"},{default:b(()=>n[14]||(n[14]=[m("Payload")])),_:1}),ue(s("textarea",{id:"redis-pubsub-payload","onUpdate:modelValue":n[4]||(n[4]=v=>D(w)?w.value=v:null),class:"min-h-[140px] w-full rounded-lg border bg-background px-3 py-2 text-sm font-mono",placeholder:'{"event":"order.created"}'},null,512),[[ge,a(w)]])]),s("div",at,[d(V,{size:"sm",disabled:a(S),onClick:ne},{default:b(()=>n[15]||(n[15]=[m(" Publish ")])),_:1},8,["disabled"])])])]),s("div",nt,[s("div",lt,[s("div",ot,[n[18]||(n[18]=s("div",{class:"text-sm font-medium"},"Live Messages",-1)),d(a(Q),{variant:"outline",class:"h-5 px-1.5 text-xxs font-normal"},{default:b(()=>[m(x(a(A).length)+" messages ",1)]),_:1}),d(a(Q),{variant:"outline",class:"h-5 px-1.5 text-xxs font-normal"},{default:b(()=>n[17]||(n[17]=[m(" Polling 2s ")])),_:1})]),n[19]||(n[19]=s("div",{class:"mt-1 text-xs text-muted-foreground"}," Message polling stays active while the current subscription session is connected. ",-1))]),s("div",it,[a(A).length===0?(i(),I(ee,{key:0,title:"No Pub/Sub messages yet",desc:"Subscribe to a channel or pattern, then publish an event to watch it appear here."})):(i(),c("div",dt,[(i(!0),c(O,null,L(a(A),v=>(i(),c("div",{key:v.id,class:"rounded-lg border bg-muted/10 p-3"},[s("div",rt,[d(a(Q),{variant:"outline",class:"h-5 px-1.5 text-xxs font-normal text-foreground"},{default:b(()=>[m(x(v.channel),1)]),_:2},1024),v.pattern?(i(),I(a(Q),{key:0,variant:"outline",class:"h-5 px-1.5 text-xxs font-normal"},{default:b(()=>[m(" Pattern "+x(v.pattern),1)]),_:2},1024)):N("",!0),s("span",null,x(new Date(v.receivedAt).toLocaleTimeString()),1)]),s("pre",ut,[s("code",null,x(v.payload),1)])]))),128))]))])])])])}}}),pt={class:"h-full flex flex-col gap-3 p-4 overflow-auto"},vt={key:0,class:"relative min-h-[240px] overflow-hidden rounded-lg border bg-background"},bt={key:3,class:"space-y-4"},mt={class:"flex flex-col gap-1"},ft={class:"flex items-start gap-2"},gt={class:"text-sm font-semibold break-all"},xt={class:"text-xs text-muted-foreground"},ht={class:"flex flex-wrap items-center gap-2"},yt={class:"ml-auto flex items-center gap-2"},_t=["value"],wt={class:"grid gap-3 md:grid-cols-[220px_1fr] items-start"},kt={class:"space-y-1"},$t={class:"flex items-center gap-2"},It={class:"text-xs text-muted-foreground"},St={key:0,class:"text-xs text-destructive"},Rt={key:1,class:"space-y-3"},Tt=["readonly"],Ct={key:2,class:"min-h-[360px] overflow-hidden rounded-lg border"},Vt={key:3,class:"space-y-3"},Pt={class:"flex justify-end"},Kt={class:"overflow-hidden rounded-lg border"},zt={class:"w-full text-sm"},Et={class:"bg-muted/30 text-left"},Nt={key:1},Ot={class:"px-3 py-2 text-right"},Lt={key:0},Ut=["colspan"],At={key:4,class:"min-h-[320px] overflow-auto rounded-lg border bg-muted/20 p-3 text-xs"},Bt={class:"flex justify-end"},jt=ie({__name:"RedisValueEditor",props:{detail:{},loading:{type:Boolean},saving:{type:Boolean},canEdit:{type:Boolean},unavailableReason:{}},emits:["save","refresh"],setup(F,{emit:T}){const t=F,P=T,f=_(""),h=me(null),y=_("tree"),r=_([]),w=_(""),p=_(!1),k=_(5),U=[5,10,30],S=e=>e==null?e:JSON.parse(JSON.stringify(e)),$=(e,l)=>JSON.stringify(e)===JSON.stringify(l);M(()=>t.detail,e=>{f.value=(e==null?void 0:e.previewKind)==="text"?String(e.value??""):"",h.value=(e==null?void 0:e.previewKind)==="json"?S(e.value):null,r.value=e!=null&&e.tableRows?S(e.tableRows):[],w.value=(e==null?void 0:e.ttl)!==void 0&&e.ttl>=0?`${e.ttl}`:""},{immediate:!0});const J=g(()=>t.detail?typeof t.detail.value=="string"?t.detail.value:JSON.stringify(t.detail.value,null,2):""),K=g(()=>{var e;return t.unavailableReason?t.unavailableReason:((e=t.detail)==null?void 0:e.previewKind)==="readonly"?"Value editing is unavailable for this Redis type. TTL changes can still be saved.":""}),H=g(()=>{const e=w.value.trim();if(!e)return"";const l=Number.parseInt(e,10);return!Number.isFinite(l)||l<0?"TTL must be empty or a non-negative integer.":""}),A=g(()=>{if(!t.detail)return;const e=w.value.trim(),l=t.detail.ttl>=0?`${t.detail.ttl}`:"";if(e===l)return;if(!e)return null;const R=Number.parseInt(e,10);return Number.isFinite(R)&&R>=0?R:void 0}),X=g(()=>t.detail?[{label:`DB ${t.detail.databaseIndex}`},{label:t.detail.type},{label:`TTL ${t.detail.ttlLabel}`},{label:`Size ${t.detail.memoryUsageHuman??"n/a"}`},{label:t.detail.length!==null&&t.detail.length!==void 0?`Length ${t.detail.length}`:"Length n/a"},{label:`Encoding ${t.detail.encoding??"n/a"}`}]:[]),q=g(()=>!t.detail||t.detail.type==="none"?"hugeicons:database-02":Ae(t.detail.type)),de=g(()=>!t.detail||t.detail.type==="none"?"text-primary":Be(t.detail.type)),B=g(()=>!t.detail||!t.canEdit||H.value||t.saving?!1:A.value!==void 0),z=g(()=>"Update TTL"),ae=g(()=>{var e;return t.canEdit&&((e=t.detail)==null?void 0:e.previewKind)==="table"}),re=g(()=>{if(!t.detail)return!1;switch(t.detail.previewKind){case"text":return f.value!==String(t.detail.value??"");case"json":return!$(h.value,t.detail.value);case"table":return!$(r.value,t.detail.tableRows??[]);default:return!1}}),Y=g(()=>re.value||A.value!==void 0),ne=g(()=>!t.detail||!t.canEdit||H.value?!1:Y.value),o=(e,l,R)=>{var E,oe;const te=r.value.find(se=>se.id===e);if(!te)return;const W=(oe=(E=t.detail)==null?void 0:E.tableColumns)==null?void 0:oe.find(se=>se.key===l);te[l]=(W==null?void 0:W.type)==="number"?Number(R||0):R},n=()=>{var e;((e=t.detail)==null?void 0:e.tableKind)==="list"&&(r.value=r.value.map((l,R)=>({...l,index:R})))},C=()=>{var l;if(!((l=t.detail)!=null&&l.tableKind))return;const e=`row-${Date.now()}-${r.value.length}`;switch(t.detail.tableKind){case"hash":r.value.push({id:e,field:"",value:""});break;case"list":r.value.push({id:e,index:r.value.length,value:""});break;case"set":r.value.push({id:e,value:""});break;case"zset":r.value.push({id:e,value:"",score:0});break}},V=e=>{r.value=r.value.filter(l=>l.id!==e),n()},le=()=>{if(!t.detail||!ne.value)return;const e={previewKind:t.detail.previewKind,stringFormat:t.detail.stringFormat,tableKind:t.detail.tableKind,ttlSeconds:A.value,value:t.detail.value};t.detail.previewKind==="text"&&(e.value=f.value),t.detail.previewKind==="json"&&(e.value=h.value),t.detail.previewKind==="table"&&(e.value=S(r.value)),P("save",e)},Z=()=>{B.value&&le()};let j=null;const ee=()=>{j!==null&&(clearInterval(j),j=null)};return M([p,k,()=>{var e;return(e=t.detail)==null?void 0:e.key}],()=>{ee(),!(!p.value||!t.detail)&&(j=ke(()=>{!t.detail||t.loading||t.saving||P("refresh")},k.value*1e3))},{immediate:!0}),M(()=>t.detail,e=>{e||ee()}),fe(()=>{ee()}),(e,l)=>{var pe,ve;const R=xe,te=we,W=ye,E=he,oe=Le,se=Oe,ce=_e;return i(),c("div",pt,[e.loading&&!e.detail?(i(),c("div",vt,[l[7]||(l[7]=s("div",{class:"flex h-full min-h-[240px] items-center justify-center px-4 text-sm text-muted-foreground"}," Loading Redis key detail... ",-1)),d(a(Ie),{visible:!0})])):!e.detail&&!e.loading?(i(),I(R,{key:1,title:"Select a Redis key",desc:"Choose a key from the Redis browser to inspect its value and metadata."})):((pe=e.detail)==null?void 0:pe.type)==="none"?(i(),I(R,{key:2,icon:"icons:404",title:"Key not found",desc:"This key no longer exists. It may have expired or been deleted."})):e.detail?(i(),c("div",bt,[s("div",mt,[s("div",ft,[d(te,{name:a(q),class:Se(["mt-0.5 size-4 min-w-4",a(de)])},null,8,["name","class"]),s("div",gt,x(e.detail.key),1)]),s("div",xt,x(e.detail.type)+" key preview ",1)]),s("div",ht,[(i(!0),c(O,null,L(a(X),u=>(i(),I(a(Q),{key:u.label,variant:"outline",class:"h-6 px-2 text-[11px] font-normal"},{default:b(()=>[m(x(u.label),1)]),_:2},1024))),128)),s("div",yt,[d(a(Re),{id:"redis-auto-refresh",checked:a(p),"onUpdate:checked":l[0]||(l[0]=u=>D(p)?p.value=u:null)},null,8,["checked"]),d(W,{for:"redis-auto-refresh",class:"text-xs font-medium"},{default:b(()=>l[8]||(l[8]=[m(" Auto refresh ")])),_:1}),d(E,{variant:"ghost",size:"sm",class:"h-7 px-2 text-xs","aria-label":"Refresh key detail",disabled:e.loading||e.saving,onClick:l[1]||(l[1]=u=>P("refresh"))},{default:b(()=>[d(te,{name:"hugeicons:redo",class:"size-3.5! min-w-3.5"}),l[9]||(l[9]=m(" Refresh "))]),_:1},8,["disabled"]),a(p)?ue((i(),c("select",{key:0,"onUpdate:modelValue":l[2]||(l[2]=u=>D(k)?k.value=u:null),class:"h-7 rounded-md border bg-background px-2 text-xs","aria-label":"Auto refresh interval"},[(i(),c(O,null,L(U,u=>s("option",{key:u,value:u},x(u)+"s ",9,_t)),64))],512)),[[Te,a(k)]]):N("",!0)])]),a(K)?(i(),I(se,{key:0,class:"border-border bg-muted/20"},{default:b(()=>[d(oe,{class:"text-muted-foreground"},{default:b(()=>[m(x(a(K)),1)]),_:1})]),_:1})):N("",!0),s("div",wt,[s("div",kt,[d(W,{for:"redis-ttl-input"},{default:b(()=>l[10]||(l[10]=[m("TTL (seconds)")])),_:1}),s("div",$t,[d(ce,{id:"redis-ttl-input",size:"sm","model-value":a(w),disabled:!e.canEdit,placeholder:"Leave empty to persist","onUpdate:modelValue":l[3]||(l[3]=u=>w.value=String(u||""))},null,8,["model-value","disabled"]),d(E,{variant:"outline",size:"xs",disabled:!a(B),onClick:Z},{default:b(()=>[m(x(a(z)),1)]),_:1},8,["disabled"])]),s("p",It," Current: "+x(e.detail.ttlLabel),1),a(H)?(i(),c("p",St,x(a(H)),1)):N("",!0)])]),e.detail.previewKind==="text"?(i(),c("div",Rt,[ue(s("textarea",{"onUpdate:modelValue":l[4]||(l[4]=u=>D(f)?f.value=u:null),readonly:!e.canEdit,class:"min-h-[320px] w-full rounded-lg border bg-background px-3 py-2 text-sm font-mono"},null,8,Tt),[[ge,a(f)]])])):e.detail.previewKind==="json"?(i(),c("div",Ct,[d(a(Ue),{modelValue:a(h),"onUpdate:modelValue":l[5]||(l[5]=u=>D(h)?h.value=u:null),class:"h-[360px]",mode:a(y),navigationBar:!1,readOnly:!e.canEdit,onModeChange:l[6]||(l[6]=u=>y.value=u)},null,8,["modelValue","mode","readOnly"])])):e.detail.previewKind==="table"?(i(),c("div",Vt,[s("div",Pt,[a(ae)?(i(),I(E,{key:0,variant:"outline",size:"sm",onClick:C},{default:b(()=>l[11]||(l[11]=[m(" Add Row ")])),_:1})):N("",!0)]),s("div",Kt,[s("table",zt,[s("thead",Et,[s("tr",null,[(i(!0),c(O,null,L(e.detail.tableColumns,u=>(i(),c("th",{key:u.key,class:"px-3 py-2 font-medium"},x(u.label),1))),128)),l[12]||(l[12]=s("th",{class:"w-16 px-3 py-2 font-medium"},null,-1))])]),s("tbody",null,[(i(!0),c(O,null,L(a(r),u=>(i(),c("tr",{key:u.id,class:"border-t align-top"},[(i(!0),c(O,null,L(e.detail.tableColumns,G=>(i(),c("td",{key:G.key,class:"px-3 py-2"},[G.editable?(i(),I(ce,{key:0,size:"sm","model-value":`${u[G.key]??""}`,disabled:!e.canEdit,"onUpdate:modelValue":$e=>o(u.id,G.key,String($e||""))},null,8,["model-value","disabled","onUpdate:modelValue"])):(i(),c("span",Nt,x(u[G.key]),1))]))),128)),s("td",Ot,[d(E,{variant:"ghost",size:"sm",disabled:!e.canEdit,onClick:G=>V(u.id)},{default:b(()=>l[13]||(l[13]=[m(" Remove ")])),_:2},1032,["disabled","onClick"])])]))),128)),a(r).length===0?(i(),c("tr",Lt,[s("td",{colspan:(((ve=e.detail.tableColumns)==null?void 0:ve.length)||0)+1,class:"px-3 py-6 text-center text-sm text-muted-foreground"}," No rows available. ",8,Ut)])):N("",!0)])])])])):(i(),c("pre",At,[s("code",null,x(a(J)),1)])),s("div",Bt,[d(E,{size:"sm",disabled:e.saving||!a(ne),onClick:le},{default:b(()=>l[14]||(l[14]=[m(" Save Changes ")])),_:1},8,["disabled"])])])):N("",!0)])}}}),Mt=ie({__name:"RedisWorkspace",props:{connection:{},tabInfo:{}},setup(F){const T=F,t=Ne({connection:()=>T.connection,tabInfo:()=>T.tabInfo}),{canEditSelectedValue:P,databases:f,editUnavailableReason:h,loadingKeys:y,loadingSelectedKeyDetail:r,savingValue:w,selectedDatabaseIndex:p,selectedKeyDetail:k}=t,U=g(()=>{var S;return((S=T.tabInfo)==null?void 0:S.type)||be.RedisBrowser});return(S,$)=>a(U)===a(be).RedisPubSub?(i(),I(ct,{key:0,connection:T.connection,"database-index":a(p),databases:a(f),"onUpdate:databaseIndex":$[0]||($[0]=J=>a(t).selectedDatabaseIndex.value=J)},null,8,["connection","database-index","databases"])):(i(),I(jt,{key:1,detail:a(k),loading:a(y)||a(r),saving:a(w),"can-edit":a(P),"unavailable-reason":a(h),onSave:a(t).saveSelectedValue,onRefresh:$[1]||($[1]=J=>a(k)&&a(t).focusKey(a(k).key))},null,8,["detail","loading","saving","can-edit","unavailable-reason","onSave"]))}}),Gt=ie({__name:"[tabViewId]",setup(F){const T=Ce(),t=Ve(),P=Pe(),{tabViews:f}=Ke(t),h=g(()=>f.value.find(y=>y.id===T.params.tabViewId));return(y,r)=>(i(),I(Mt,{connection:a(P).selectedConnection,"tab-info":a(h)},null,8,["connection","tab-info"]))}});export{Gt as default};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./D8Z5BXgG.js","./D7uoAo-G.js","./entry.D1DMaixs.css","./BjK8Fug8.js","./2TwRWQjG.js","./DDQU7vSH.js","./C1TOiVRQ.js","./DRuCf0Sx.js","./BoPjUGS6.js","./nrlEwpIH.js","./B41tp0B8.js","./BkqB6n0T.js","./uHyBIwWw.js","./CTYqoFvv.js","./B5rxJs06.js","./BNnChlxR.js","./BaseDataGrid.C2ywM2-T.css","./CB56S0b2.js","./vGkKA7iH.js","./FileTree.CtTH3U6l.css","./ErdDiagram.Cnqgwj9d.css","./Culm7V2R.js","./AgentWorkspace.67IpTcyl.css"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{ag as _,ah as f,d as v,T as w,N as b,ae as h,O as y,c as a,ai as k,e as I,m as T,k as i,g as n,W as V,p as g,q as C,o,aj as P}from"./D7uoAo-G.js";const B=_(()=>f(()=>import("./D8Z5BXgG.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]),import.meta.url).then(t=>t.default||t.default||t)),x={class:"h-full w-full flex"},A={class:"flex-1 min-w-0 w-full"},N=v({__name:"[tabViewId]",setup(t){const s=w(),l=b(),{tabViews:u}=h(l),d=y(),e=a(()=>u.value.find(r=>r.id===s.params.tabViewId)),c=a(()=>{if(!e.value)return null;switch(e.value.type){case k.AgentChat:return B;default:return null}}),p=a(()=>e.value?{connectionId:e.value.connectionId,workspaceId:s.params.workspaceId,schemaName:e.value.schemaId||"",tabViewType:e.value.type,connections:d.connections}:{});return(r,E)=>{const m=P;return o(),I("div",x,[T("div",A,[n(c)?(o(),i(C(n(c)),V(g({key:0},n(p))),null,16)):(o(),i(m,{key:1,title:"Tab view not found",desc:"The requested tab could not be found. Please close this tab and try again."}))])])}}});export{N as default};
|