orcaq 1.1.6 → 1.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/{Lh0RfwhV.js → 1VXrIDkr.js} +1 -1
  3. package/.output/public/_nuxt/{ZVYA9HBl.js → 1fIGBJPQ.js} +1 -1
  4. package/.output/public/_nuxt/{BbawOYVr.js → 1kY3DHv7.js} +1 -1
  5. package/.output/public/_nuxt/{DDsaDrGo.js → 2TwRWQjG.js} +1 -1
  6. package/.output/public/_nuxt/{wrneOCBW.js → 39ZZCZCn.js} +1 -1
  7. package/.output/public/_nuxt/{BmEIj9l9.js → 3vYvhEat.js} +1 -1
  8. package/.output/public/_nuxt/{CEoM97rJ.js → 9bnMBg54.js} +1 -1
  9. package/.output/public/_nuxt/{ZNDxw-7x.js → B-u0WX5Q.js} +1 -1
  10. package/.output/public/_nuxt/{uDsvlLN0.js → B41tp0B8.js} +1 -1
  11. package/.output/public/_nuxt/{4LC09zKL.js → BCm7jnPt.js} +1 -1
  12. package/.output/public/_nuxt/{D29mzs5t.js → BFMjnjgH.js} +1 -1
  13. package/.output/public/_nuxt/{BEvswgw7.js → BGAd-CMD.js} +1 -1
  14. package/.output/public/_nuxt/{CP-7VdtS.js → BG_B-fo0.js} +1 -1
  15. package/.output/public/_nuxt/{Dd89Vyx8.js → BLEKzUmC.js} +1 -1
  16. package/.output/public/_nuxt/{DoNLWeqB.js → BN2mQ8OV.js} +1 -1
  17. package/.output/public/_nuxt/{DP6Az3fC.js → BNnChlxR.js} +1 -1
  18. package/.output/public/_nuxt/{BKAEFZqP.js → BNyWhB4W.js} +1 -1
  19. package/.output/public/_nuxt/{Bibtvqd8.js → BO-QgaRL.js} +1 -1
  20. package/.output/public/_nuxt/{DViCRsmA.js → BOVFFCPB.js} +1 -1
  21. package/.output/public/_nuxt/{BWg3wiuc.js → BRVpLa1E.js} +1 -1
  22. package/.output/public/_nuxt/{BJ8qQpib.js → BV4g1sVY.js} +1 -1
  23. package/.output/public/_nuxt/{_TExiQQQ.js → BXziI6Bt.js} +1 -1
  24. package/.output/public/_nuxt/{Df4wU3r0.js → BZQUF1W4.js} +1 -1
  25. package/.output/public/_nuxt/BZmEvFAZ.js +28 -0
  26. package/.output/public/_nuxt/B_G752SV.js +20 -0
  27. package/.output/public/_nuxt/{BusLuQ4Q.js → Ba_fqsW2.js} +1 -1
  28. package/.output/public/_nuxt/{DZFq5yqu.js → BbzZxPNQ.js} +1 -1
  29. package/.output/public/_nuxt/{BxZgIpkD.js → BhT0iBlH.js} +1 -1
  30. package/.output/public/_nuxt/{CoX1_N4R.js → Bhm1GL_M.js} +1 -1
  31. package/.output/public/_nuxt/{27ZsWTm2.js → BiSZmDoN.js} +1 -1
  32. package/.output/public/_nuxt/{DZVfXu09.js → BjK8Fug8.js} +1 -1
  33. package/.output/public/_nuxt/{G40WRC_L.js → BjpSpz5C.js} +1 -1
  34. package/.output/public/_nuxt/{Bok35x_B.js → BkqB6n0T.js} +1 -1
  35. package/.output/public/_nuxt/{6NXhlm49.js → BoPjUGS6.js} +1 -1
  36. package/.output/public/_nuxt/{B10QBDL6.js → BtwwqY0e.js} +1 -1
  37. package/.output/public/_nuxt/{FHx3Ejt6.js → BvD9dW-2.js} +1 -1
  38. package/.output/public/_nuxt/{Cvkyd5iW.js → Bw-4PosZ.js} +1 -1
  39. package/.output/public/_nuxt/C0l_59dE.js +1 -0
  40. package/.output/public/_nuxt/{__PEYcIB.js → C1TOiVRQ.js} +1 -1
  41. package/.output/public/_nuxt/{BoUZO_NV.js → C7A87LE3.js} +1 -1
  42. package/.output/public/_nuxt/{o60RgyTd.js → C80Zs8U0.js} +1 -1
  43. package/.output/public/_nuxt/{BnZ5qYkP.js → CB56S0b2.js} +9 -9
  44. package/.output/public/_nuxt/{CNPNWuzz.js → CBgbjsPd.js} +1 -1
  45. package/.output/public/_nuxt/{BCazdlgN.js → CCk2r9DD.js} +1 -1
  46. package/.output/public/_nuxt/{CCOlJAKS.js → CFZerEKx.js} +2 -2
  47. package/.output/public/_nuxt/{Bgj8Q52i.js → CG4v011f.js} +1 -1
  48. package/.output/public/_nuxt/{C4-wpUAK.js → CJnTtXrv.js} +1 -1
  49. package/.output/public/_nuxt/{DHyymmeR.js → CRDIOG8r.js} +1 -1
  50. package/.output/public/_nuxt/{XETGYn3c.js → CSPqdI4x.js} +1 -1
  51. package/.output/public/_nuxt/{DyDU0wFf.js → CTYqoFvv.js} +1 -1
  52. package/.output/public/_nuxt/{BbLqUOHs.js → CWGzL6OE.js} +1 -1
  53. package/.output/public/_nuxt/{CZLVBTJx.js → CYJEOEaU.js} +1 -1
  54. package/.output/public/_nuxt/{BTvOPFKG.js → CYu-xp_f.js} +1 -1
  55. package/.output/public/_nuxt/CZvnl0uO.js +52 -0
  56. package/.output/public/_nuxt/{DsPClaxV.js → CadjlDLt.js} +1 -1
  57. package/.output/public/_nuxt/{BJoSd_uV.js → CczQKYUP.js} +1 -1
  58. package/.output/public/_nuxt/{CHAVZu6b.js → CeXr_3vU.js} +2 -2
  59. package/.output/public/_nuxt/{BAasx5OS.js → Ch-A9iSC.js} +1 -1
  60. package/.output/public/_nuxt/{Bap1X7GD.js → Cj9tYr3P.js} +1 -1
  61. package/.output/public/_nuxt/Clm3Z8VL.js +1 -0
  62. package/.output/public/_nuxt/{F8eHh68O.js → CpkrwN3Q.js} +8 -8
  63. package/.output/public/_nuxt/{CO0Pa76w.js → CrwM3gOU.js} +1 -1
  64. package/.output/public/_nuxt/{DeVs4gEL.js → Culm7V2R.js} +1 -1
  65. package/.output/public/_nuxt/{Cl3VX8Um.js → CxZK-Vs6.js} +1 -1
  66. package/.output/public/_nuxt/{DLA-ioQ4.js → Cym7bWgs.js} +1 -1
  67. package/.output/public/_nuxt/CzBFxx8v.js +1 -0
  68. package/.output/public/_nuxt/{BCa-NKh0.js → D0oaRUYx.js} +1 -1
  69. package/.output/public/_nuxt/{DgGwe7jd.js → D7uoAo-G.js} +133 -133
  70. package/.output/public/_nuxt/{CvDZBOay.js → D8KJQqug.js} +1 -1
  71. package/.output/public/_nuxt/{DlymFQ5D.js → D8Z5BXgG.js} +3 -3
  72. package/.output/public/_nuxt/{DdbhVPqD.js → DDK9-_jm.js} +1 -1
  73. package/.output/public/_nuxt/{CnQob-tn.js → DDQU7vSH.js} +1 -1
  74. package/.output/public/_nuxt/{BuSZbOQO.js → DEjwIQuc.js} +1 -1
  75. package/.output/public/_nuxt/{yLATXAxG.js → DLIUYAz9.js} +1 -1
  76. package/.output/public/_nuxt/{DYPm3mWQ.js → DQdL5Jcl.js} +1 -1
  77. package/.output/public/_nuxt/{EZ0owjER.js → DRuCf0Sx.js} +1 -1
  78. package/.output/public/_nuxt/DSEkO8kW.js +1 -0
  79. package/.output/public/_nuxt/{DYqShb5v.js → DSOwr8Hs.js} +4 -4
  80. package/.output/public/_nuxt/{Cf6n9dsT.js → DStg2VwN.js} +1 -1
  81. package/.output/public/_nuxt/{Ci7hrFNN.js → DTlu-CJn.js} +1 -1
  82. package/.output/public/_nuxt/{CCK1so3F.js → DUvUg_V7.js} +1 -1
  83. package/.output/public/_nuxt/{CBjcd4cE.js → D_fdC3mJ.js} +1 -1
  84. package/.output/public/_nuxt/{BhzzQZRC.js → Da1F0IxL.js} +1 -1
  85. package/.output/public/_nuxt/{C6bwwZAc.js → DcXAnOS1.js} +1 -1
  86. package/.output/public/_nuxt/DdtQIDaq.js +1 -0
  87. package/.output/public/_nuxt/Dfz8k_Rn.js +1 -0
  88. package/.output/public/_nuxt/{Dpm6rnHk.js → DitYzGT4.js} +1 -1
  89. package/.output/public/_nuxt/{NMm6Vanu.js → Djh3G2Nf.js} +1 -1
  90. package/.output/public/_nuxt/DmWFeTaU.js +1 -0
  91. package/.output/public/_nuxt/{x85BV7y_.js → DtgJAz2h.js} +1 -1
  92. package/.output/public/_nuxt/{3jfBYqJb.js → DuKway_J.js} +1 -1
  93. package/.output/public/_nuxt/{7nPLTDFM.js → DxF9DsEl.js} +1 -1
  94. package/.output/public/_nuxt/{C9ZBCJdc.js → DyFXtlg0.js} +1 -1
  95. package/.output/public/_nuxt/DzN4YRfa.js +7 -0
  96. package/.output/public/_nuxt/{B_hWP06g.js → DzaPC1WB.js} +1 -1
  97. package/.output/public/_nuxt/{wH-P-_6A.js → DzjHXopz.js} +1 -1
  98. package/.output/public/_nuxt/{CE0zlNDo.js → LUfaevBS.js} +1 -1
  99. package/.output/public/_nuxt/{DRX1aIGD.js → RFRrMFyH.js} +1 -1
  100. package/.output/public/_nuxt/{CROH8wgk.js → RTN5rY4m.js} +1 -1
  101. package/.output/public/_nuxt/{Un5zjlKE.js → XVZ0obUR.js} +1 -1
  102. package/.output/public/_nuxt/{B5HZeat4.js → Z5g5B4NJ.js} +1 -1
  103. package/.output/public/_nuxt/_ltJfz1p.js +1 -0
  104. package/.output/public/_nuxt/builds/latest.json +1 -1
  105. package/.output/public/_nuxt/builds/meta/1cbed594-12e2-48e6-bea9-7a9159c3c1d3.json +1 -0
  106. package/.output/public/_nuxt/{DtOg0Asw.js → dkyHOJLf.js} +1 -1
  107. package/.output/public/_nuxt/entry.D1DMaixs.css +1 -0
  108. package/.output/public/_nuxt/{habs8oz6.js → gWmEw6BT.js} +1 -1
  109. package/.output/public/_nuxt/ixgiI20S.js +1 -0
  110. package/.output/public/_nuxt/{C6CFIGob.js → jJeqAxmP.js} +1 -1
  111. package/.output/public/_nuxt/{P_2SRa71.js → lisFd8W1.js} +2 -2
  112. package/.output/public/_nuxt/{CoQ_oOia.js → nrlEwpIH.js} +1 -1
  113. package/.output/public/_nuxt/{6wO6CbCo.js → uHyBIwWw.js} +1 -1
  114. package/.output/public/_nuxt/{dDqgUqt5.js → vGkKA7iH.js} +1 -1
  115. package/.output/public/_nuxt/{C445d10Z.js → z1xPtaLw.js} +1 -1
  116. package/.output/server/chunks/_/registry.mjs +116 -0
  117. package/.output/server/chunks/_/registry.mjs.map +1 -0
  118. package/.output/server/chunks/_/{native-backup.mjs → runtime.mjs} +325 -164
  119. package/.output/server/chunks/_/runtime.mjs.map +1 -0
  120. package/.output/server/chunks/_/{native-backup-jobs.mjs → service.mjs} +185 -248
  121. package/.output/server/chunks/_/service.mjs.map +1 -0
  122. package/.output/server/chunks/build/client.manifest.mjs +734 -723
  123. package/.output/server/chunks/build/client.manifest.mjs.map +1 -1
  124. package/.output/server/chunks/nitro/nitro.mjs +659 -652
  125. package/.output/server/chunks/routes/api/database-backup/capability.get.mjs +7 -2
  126. package/.output/server/chunks/routes/api/database-backup/capability.get.mjs.map +1 -1
  127. package/.output/server/chunks/routes/api/database-export/export-database.mjs +4 -3
  128. package/.output/server/chunks/routes/api/database-export/export-database.mjs.map +1 -1
  129. package/.output/server/chunks/routes/api/database-export/jobs/_jobId/download.get.mjs +1 -20
  130. package/.output/server/chunks/routes/api/database-export/jobs/_jobId/download.get.mjs.map +1 -1
  131. package/.output/server/chunks/routes/api/database-export/jobs/_jobId_.get.mjs +1 -20
  132. package/.output/server/chunks/routes/api/database-export/jobs/_jobId_.get.mjs.map +1 -1
  133. package/.output/server/chunks/routes/api/database-import/import-database.mjs +14 -3
  134. package/.output/server/chunks/routes/api/database-import/import-database.mjs.map +1 -1
  135. package/.output/server/chunks/routes/api/database-import/jobs/_jobId_.get.mjs +1 -20
  136. package/.output/server/chunks/routes/api/database-import/jobs/_jobId_.get.mjs.map +1 -1
  137. package/.output/server/package.json +1 -1
  138. package/package.json +1 -1
  139. package/.output/public/_nuxt/4OV_5qQE.js +0 -1
  140. package/.output/public/_nuxt/B3iNzG14.js +0 -1
  141. package/.output/public/_nuxt/Bf2bW_MY.js +0 -7
  142. package/.output/public/_nuxt/C7C1kq_N.js +0 -1
  143. package/.output/public/_nuxt/CN8b9qPP.js +0 -1
  144. package/.output/public/_nuxt/CUws2Uv7.js +0 -1
  145. package/.output/public/_nuxt/Cl5p4EQY.js +0 -1
  146. package/.output/public/_nuxt/D9MMtvTu.js +0 -52
  147. package/.output/public/_nuxt/DM8LJTsg.js +0 -1
  148. package/.output/public/_nuxt/ORit_vRp.js +0 -1
  149. package/.output/public/_nuxt/ZhP2FY6Y.js +0 -1
  150. package/.output/public/_nuxt/builds/meta/47c294b1-d6b3-4974-bd50-5046ae0a393e.json +0 -1
  151. package/.output/public/_nuxt/dSX5D8ur.js +0 -28
  152. package/.output/public/_nuxt/entry.CGwcggc4.css +0 -1
  153. package/.output/server/chunks/_/native-backup-jobs.mjs.map +0 -1
  154. package/.output/server/chunks/_/native-backup.mjs.map +0 -1
@@ -1,52 +0,0 @@
1
- import{_ as Qa,a as Wa,b as Ka}from"./DZVfXu09.js";import{R as xe,ez as ce,Q as sa,eA as la,cC as ut,O as Pe,eB as Ya,c as M,eC as an,d as ne,d3 as Xa,I as Ke,e as L,o as T,m as y,l as W,F as le,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 V,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 P,C as Za,B as un,aY as At,ad as $t,cK as Ht,co as ua,D as Qt,bh as dn,N as qe,aI as $e,cz as dt,cA 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,cJ 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,cF 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"./DgGwe7jd.js";import{F as Ye}from"./dDqgUqt5.js";import{i as Mo,g as Yt,a as Lt}from"./CP-7VdtS.js";import{_ as Uo}from"./BTvOPFKG.js";import{_ as kt,C as q,b as Vo,c as zo,d as jo,f as Pt}from"./6wO6CbCo.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"./Dpm6rnHk.js";import{u as ha,_ as ba}from"./CnQob-tn.js";import{g as Ft}from"./BoUZO_NV.js";import{u as Xo}from"./B3iNzG14.js";import{_ as Jo}from"./Lh0RfwhV.js";import{_ as Zo}from"./6NXhlm49.js";import{a as es,b as ts,c as ns,d as as,e as os}from"./wrneOCBW.js";import{R as ze,u as wa,_ as ss}from"./G40WRC_L.js";import{u as ls}from"./Bap1X7GD.js";import{b as rs,d as is,e as cs}from"./BhzzQZRC.js";import{_ as us,e as ds,f as ms}from"./DZFq5yqu.js";import{_ as Mt}from"./CoX1_N4R.js";import{_ as Ut}from"./DP6Az3fC.js";import"./XETGYn3c.js";import"./B5rxJs06.js";import"./EZ0owjER.js";import"./DyDU0wFf.js";import"./__PEYcIB.js";import"./DDsaDrGo.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=ne({__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(le,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,V(h.title),1)]),_:2},1024)]),_:2},1024))),256))]),W("",!0)])])),[[f]])}}}),ws={class:"flex items-center gap-1"},_s=ne({__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(le,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,V(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=ne({__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)),D=M(()=>u.value?r.getTagsByIds(u.value.tagIds??[]):[]);return(C,_)=>{const x=ie,A=Za,N=cn;return T(),L(le,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,E;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,V((E=a(u))==null?void 0:E.name),1),a(D).length?(T(),L("div",Ts,[(T(!0),L(le,null,ve(a(D),$=>(T(),K(a(Dn),{key:$.id,tag:$},null,8,["tag"]))),128))])):W("",!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]=P(" Add new connection "))]),a(w).length?(T(),K(A,{key:0})):W("",!0),(T(!0),L(le,null,ve(a(w),S=>(T(),K(a(un),{class:"cursor-pointer",value:S.id,disabled:a(Lt)(S,a(h))},{default:c(()=>{var E;return[y("div",Is,[(T(),K(Ct((E=a(Yt)(S.type))==null?void 0:E.icon),{class:"size-4!"})),y("span",Ds,V(S.name),1),(S.tagIds??[]).length?(T(),L("div",Es,[(T(!0),L(le,null,ve(a(r).getTagsByIds(S.tagIds??[]),$=>(T(),K(a(Dn),{key:$.id,tag:$},null,8,["tag"]))),128))])):W("",!0),a(Lt)(S,a(h))?(T(),L("span",As," Disabled ")):W("",!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=ne({__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,V((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(le,null,ve(a(i),h=>(T(),K(a(un),{value:h.name,class:"cursor-pointer"},{default:c(()=>[P(V(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=ne({__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"])])):W("",!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!"})])):W("",!0),Qt(o.$slots,"details")])):W("",!0),y("div",{class:de(["px-2 flex items-center justify-between",o.showConnection||o.showSchema?"pt-2":"pt-0.5"])},[y("p",Ms,V(o.title),1),o.$slots.actions?(T(),L("div",Us,[Qt(o.$slots,"actions")])):W("",!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"})])):W("",!0)])])):W("",!0)]))}}),js={class:"flex flex-col h-full w-full overflow-y-auto"},Bs=ne({__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={},A=((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}},A.forEach(E=>{var R;const $=En({schemaName:((R=s.value)==null?void 0:R.name)||"",tableName:E});x[$]={id:$,parentId:Ne.Root,name:E,type:"file",depth:1,iconOpen:"hugeicons:flow-connection",iconClose:"hugeicons:flow-connection",data:{tabViewType:H.DetailERD}},x[Ne.Root].children.push($)}),b.value){const E=b.value.toLowerCase(),$={},R=x[Ne.Root],O=(S=R.children)==null?void 0:S.filter(k=>x[k].name.toLowerCase().includes(E));return O&&O.length>0&&($[Ne.Root]={...R,children:O},O.forEach(k=>{$[k]=x[k]})),$}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),D=()=>{var x,A;w.value?(x=f.value)==null||x.expandAll():(A=f.value)==null||A.collapseAll()},C=async x=>{var R,O,k;if(!m.value)throw new Error("No workspace selected");if(!i.value)throw new Error("No connection selected");const A=(R=x.data)==null?void 0:R.tabViewType;if(A!==H.AllERD&&A!==H.DetailERD)return;const N=u.value||((O=s.value)==null?void 0:O.name)||"",S=A===H.AllERD,E=S?void 0:x.id||En({schemaName:((k=s.value)==null?void 0:k.name)||"",tableName:x.name}),$=S?`erd-overview-${N||"all"}`:`erd-${E}`;await r.openTab({id:$,name:S?"All Tables":x.name,icon:x.iconOpen||x.iconClose||"hugeicons:structure-folder",iconClass:x.iconClass,type:A,routeName:S?"workspaceId-connectionId-erd":"workspaceId-connectionId-erd-tableId",routeParams:S?{workspaceId:m.value,connectionId:i.value}:{workspaceId:m.value,connectionId:i.value,tableId:E||""},connectionId:i.value,workspaceId:m.value,schemaId:N,metadata:{type:A,tableName:S?void 0:x.name,treeNodeId:x.id}}),await r.selectTab($)},_=async x=>{const A=v.value[x];A&&await C(A)};return De(()=>r.activeTab,x=>{var A,N,S,E,$;if(!x){(A=f.value)==null||A.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((E=x.metadata)==null?void 0:E.treeNodeId)=="string"){($=f.value)==null||$.focusItem(x.metadata.treeNodeId);return}}},{flush:"post",immediate:!0}),(x,A)=>{const N=ie,S=pe,E=be,$=we,R=he,O=Me;return T(),L("div",js,[l(a(He),{search:a(h),"onUpdate:search":A[0]||(A[0]=k=>ye(h)?h.value=k: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(R,null,{default:c(()=>[l(E,{"as-child":""},{default:c(()=>[l(S,{size:"iconSm",variant:"ghost",onClick:D},{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($,null,{default:c(()=>[P(V(a(w)?"Expand All":"Collapse All"),1)]),_:1})]),_:1}),l(R,null,{default:c(()=>[l(E,{"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($,null,{default:c(()=>A[1]||(A[1]=[P(" Refresh ERD Data ")])),_:1})]),_:1})]),_:1},8,["search","workspace-id"]),Object.keys(a(v)).length===0?(T(),K(O,{key:0,title:"No tables found",desc:"There are no tables available to display in the ERD."})):W("",!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=ne({__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,D)=>r("move-node",g,w,D))},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:F,isFolder:U})=>{const Q=F?f.value.findNode(F):null,j={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},Z=U?j:X;f.value.insertNode((Q==null?void 0:Q.id)||null,Z),f.value.sortByTitle(),await je(),e(Z.id),t(Z.id)},w=()=>{if(h.value.length===0)return null;const F=h.value[0],U=f.value.findNode(F);return U?U.isFolder?U.id:U.parentId:null},D=()=>{g({nodeId:w(),isFolder:!1})},C=()=>{g({nodeId:w(),isFolder:!0})},_=F=>{h.value=F},x=F=>{f.value.deleteNode(F)},A=F=>{const U=f.value.findNode(F);U&&U.title===""&&x(U.id)},N=(F,U)=>{const Q=f.value.findNode(F);if(!Q)return;const j=U.trim();if(!f.value.isExitNodeNameInFolder(j,Q.id,Q.parentId||"")){if(!j){A(F);return}f.value.updateNode(Q.id,{title:j}),je(()=>{e(Q.id)})}},S=(F,U)=>{const Q=f.value.findNode(F);if(!Q)return!0;const j=U.trim();return j?f.value.isExitNodeNameInFolder(j,Q.id,Q.parentId||"")?"A file or folder with this name already exists":!0:"Name cannot be empty"},E=F=>{const U=f.value.findNode(F);U&&(e(U.id),t(U.id))},$=(F,U,Q)=>{const j=f.value.findNode(U);if(!j)return;const X=j.isFolder?j.id:j.parentId;(Array.isArray(F)?F:[F]).forEach(ae=>{const te=f.value.findNode(ae);te&&(te.parentId||null)!==(X||null)&&(f.value.moveNode(te.id,X||null),f.value.sortByTitle())})},R=Qs({resolveNodeById:F=>f.value.findNode(F),onCreateFile:F=>{g({nodeId:F,isFolder:!1})},onCreateFolder:F=>{g({nodeId:F,isFolder:!0})},onRename:F=>{E(F)},onDelete:F=>{x(F)}}),O=()=>{r.value?n():o()},k=F=>{const U=f.value.findNode(F);!U||U.isFolder||m({id:U.id,name:U.title,icon:U.icon})};return{contextMenuItems:R.contextMenuItems,explorerStorageKey:v,mappedExplorerFileTreeData:p,onAddFile:D,onAddFolder:C,onSelectNode:_,onCancelEditNode:A,onClearContextMenu:R.onClearContextMenu,onClickNode:k,isExpandedAll:r,onToggleCollapseExplorer:O,onMoveNode:$,onRenameFile:N,onTreeContextMenu:R.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=ne({__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:D,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,A,N,S;if(!_){(x=n.value)==null||x.clearSelection();return}if(!((A=n.value)!=null&&A.isMouseInside)&&(_==null?void 0:_.type)===H.CodeQuery){const E=(N=_.metadata)==null?void 0:N.treeNodeId;typeof E=="string"&&((S=n.value)==null||S.focusItem(E))}},{flush:"post",immediate:!0}),(_,x)=>{const A=ie,N=pe,S=be,E=we,$=he,R=Me;return T(),L("div",Ys,[l(a(He),{search:a(D),"onUpdate:search":x[0]||(x[0]=O=>ye(D)?D.value=O:null),title:"Explorer","show-search":!0},{actions:c(()=>[l($,null,{default:c(()=>[l(S,{"as-child":""},{default:c(()=>[l(N,{size:"iconSm",variant:"ghost",onClick:a(i)},{default:c(()=>[l(A,{name:"hugeicons:file-add",class:"size-4! min-w-4"})]),_:1},8,["onClick"])]),_:1}),l(E,null,{default:c(()=>x[1]||(x[1]=[P(" New File ")])),_:1})]),_:1}),l($,null,{default:c(()=>[l(S,{"as-child":""},{default:c(()=>[l(N,{size:"iconSm",variant:"ghost",onClick:a(m)},{default:c(()=>[l(A,{name:"hugeicons:folder-add",class:"size-4! min-w-4"})]),_:1},8,["onClick"])]),_:1}),l(E,null,{default:c(()=>x[2]||(x[2]=[P(" New Folder ")])),_:1})]),_:1}),l($,null,{default:c(()=>[l(S,{"as-child":""},{default:c(()=>[l(N,{size:"iconSm",variant:"ghost",onClick:a(b)},{default:c(()=>[l(A,{name:a(h)?"hugeicons:unfold-less":"hugeicons:unfold-more",class:"size-4! min-w-4"},null,8,["name"])]),_:1},8,["onClick"])]),_:1}),l(E,null,{default:c(()=>[P(V(a(h)?"Collapse All":"Expand All"),1)]),_:1})]),_:1})]),_:1},8,["search"]),Object.keys(a(s)).length===0?(T(),K(R,{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(A,{name:"hugeicons:file-add"}),x[3]||(x[3]=P(" New File "))]),_:1},8,["onClick"]),l(N,{size:"xs",variant:"outline",onClick:a(m)},{default:c(()=>[l(A,{name:"hugeicons:folder-add"}),x[4]||(x[4]=P(" 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,D;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=((D=t==null?void 0:t.value)==null?void 0:D.views)||[],u={},d=(C,_)=>{const x=Bo(_);return`${C}(${x})`},f=(C,_,x,A,N,S)=>{u[C]={id:C,parentId:null,name:_,type:"folder",depth:0,iconOpen:x,iconClose:A,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:A})=>{const N=`${r}.${String(_)}`,S=d(C,A);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:A,tabViewType:H.FunctionsDetail,icon:"gravity-ui:function",iconClass:x===$n.Function?"text-blue-400":"text-orange-400"},parameters:A}},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 A=`${r}.${String(_)}`;u[A]={id:A,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(A)}),e.value){const C=e.value.toLowerCase(),_={};return[h,b,p].forEach(x=>{var S;const A=u[x];if(!A)return;const N=(S=A.children)==null?void 0:S.filter(E=>{const $=u[E];return $==null?void 0:$.name.toLowerCase().includes(C)});N&&N.length>0&&(_[x]={...A,children:N},N.forEach(E=>{_[E]=u[E]}))}),_}return u}),defaultFolderOpenId:n}},sl={class:"py-2"},ll=ne({__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(()=>[P(" Rename "+V(u.tabViewType===a(H).FunctionsDetail?"Function":"Table"),1)]),_:1}),l(a(gn),null,{default:c(()=>[P(" Enter a new name for the "+V(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]=[P(" Cancel ")])),_:1}),l(a(da),{onClick:i},{default:c(()=>d[3]||(d[3]=[P(" Rename ")])),_:1})]),_:1})]),_:1})]),_:1},8,["open"]))}}),rl=ne({__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"}),P(" "+V(f.title),1)]),_:1}),l(a(gn),null,{default:c(()=>h[1]||(h[1]=[P(" 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]=[P(" 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"]),P(" "+V(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 D=p.parameters.filter(C=>C.mode==="IN"||C.mode==="INOUT"||C.mode==="VARIADIC");if(D.length>0){const C=D.map(x=>`${x.name}::${x.type}`).join(", "),_=D.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 D=p.parameters.filter(C=>C.mode==="IN"||C.mode==="INOUT"||C.mode==="VARIADIC");if(D.length>0){const C=D.map(x=>`${x.name}::${x.type}`).join(", "),_=D.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:R=>{if(!e.selectedItem.value||e.selectedItem.value.tabViewType!==H.TableDetail||!e.selectedItem.value.name)return;const O=e.selectedItem.value.name,k=document.createElement("form");k.method="POST",k.action="/api/tables/export",k.style.display="none";const U={...Te(t.connection.value),schemaName:o(),tableName:O,format:R};for(const[Q,j]of Object.entries(U))if(j!==void 0){const X=document.createElement("input");X.type="hidden",X.name=Q,X.value=typeof j=="object"?JSON.stringify(j):j.toString(),k.appendChild(X)}document.body.appendChild(k),k.submit(),document.body.removeChild(k),Ce.info(`Exporting ${O} as ${R.toUpperCase()}...`)},onExportTableDataWithProgressInClient:async R=>{if(!e.selectedItem.value||e.selectedItem.value.tabViewType!==H.TableDetail||!e.selectedItem.value.name)return;const O=e.selectedItem.value.name,{downloadStream:k}=Xo(),F={sql:"application/sql",json:"application/json",csv:"text/csv"},U=Wt().format("YYYY-MM-DD_HH-mm");await k({url:"/api/tables/export",method:"POST",body:{...Te(t.connection.value),schemaName:o(),tableName:O,format:R},filename:`${O}_${U}.${R}`,contentType:F[R]})},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 R=Js(o(),e.selectedItem.value.name,!1);await r(R,Be.Delete,async()=>{await f(async()=>{await $fetch("/api/query/execute",{method:"POST",body:{...Te(t.connection.value),query:R}}),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 R=>{const O=Zs(o(),e.renameDialogValue.value,R);await r(O,Be.Save,async()=>{await f(async()=>{await $fetch("/api/query/execute",{method:"POST",body:{...Te(t.connection.value),query:O}}),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 R=i(e.selectedItem.value.name),O=o(),k=e.selectedItem.value.name,U=`SELECT ${R.length>0?R.map(Q=>`"${Q}"`).join(", "):"*"}
8
- FROM "${O}"."${k}";
9
- -- WHERE ?
10
- -- LIMIT 100 OFFSET 0`;s(U,"SELECT Statement")},onGenInsertSQL:()=>{if(!e.selectedItem.value||!e.selectedItem.value.name)return;const R=m(e.selectedItem.value.name),O=o(),k=e.selectedItem.value.name;if(R.length>0){const F=R.map(j=>`"${j.name}"`).join(", "),U=R.map(j=>d(j)).join(", "),Q=`INSERT INTO "${O}"."${k}" (${F})
11
- VALUES (${U});`;s(Q,"INSERT Statement")}else{const F=`INSERT INTO "${O}"."${k}" ("column1", "column2", ...)
12
- VALUES (value1, value2, ...);`;s(F,"INSERT Statement")}},onGenUpdateSQL:()=>{if(!e.selectedItem.value||!e.selectedItem.value.name)return;const R=m(e.selectedItem.value.name),O=u(e.selectedItem.value.name),k=o(),F=e.selectedItem.value.name,U=R.filter(Z=>!O.includes(Z.name)),Q=U.length>0?U.map(Z=>` "${Z.name}" = ${d(Z)}`).join(`,
13
- `):` "column1" = value1,
14
- "column2" = value2`,j=O.length>0?O.map(Z=>`"${Z}" = ?`).join(" AND "):"1=0 -- Add your WHERE clause",X=`UPDATE "${k}"."${F}"
15
- SET
16
- ${Q}
17
- WHERE ${j};`;s(X,"UPDATE Statement")},onGenDeleteSQL:()=>{if(!e.selectedItem.value||!e.selectedItem.value.name)return;const R=u(e.selectedItem.value.name),O=o(),k=e.selectedItem.value.name,F=R.length>0?R.map(Q=>`"${Q}" = ?`).join(" AND "):"1=0 -- Add your WHERE clause (safety: 1=0 to prevent accidental deletes)",U=`DELETE FROM "${O}"."${k}"
18
- WHERE ${F};`;s(U,"DELETE Statement")},onGenMergeSQL:()=>{if(!e.selectedItem.value||!e.selectedItem.value.name)return;const R=i(e.selectedItem.value.name),O=u(e.selectedItem.value.name),k=o(),F=e.selectedItem.value.name,U=Ft(F),Q=R.length>0?R.map(re=>`"${re}"`).join(", "):'"column1", "column2"',j=`"${U}"`,X=O.length>0?O.map(re=>`${j}."${re}" = src."${re}"`).join(" AND "):`${j}."id" = src."id"`,Z=R.length>0?R.filter(re=>!O.includes(re)).map(re=>` "${re}" = src."${re}"`).join(`,
19
- `):' "column1" = src."column1"',ae=R.length>0?R.map(re=>`src."${re}"`).join(", "):'src."column1", src."column2"',te=`MERGE INTO "${k}"."${F}" AS ${j}
20
- USING (SELECT ${Q} FROM source_table) AS src
21
- ON ${X}
22
- WHEN MATCHED THEN
23
- UPDATE SET
24
- ${Z}
25
- WHEN NOT MATCHED THEN
26
- INSERT (${Q})
27
- VALUES (${ae});`;s(te,"MERGE Statement")},onGenInsertOnConflictSQL:()=>{if(!e.selectedItem.value||!e.selectedItem.value.name)return;const R=m(e.selectedItem.value.name),O=u(e.selectedItem.value.name),k=o(),F=e.selectedItem.value.name,U=R.length>0?R.map(te=>`"${te.name}"`).join(", "):'"column1", "column2"',Q=R.length>0?R.map(te=>d(te)).join(", "):"value1, value2",j=O.length>0?O.map(te=>`"${te}"`).join(", "):'"id"',X=R.filter(te=>!O.includes(te.name)),Z=X.length>0?X.map(te=>` "${te.name}" = EXCLUDED."${te.name}"`).join(`,
28
- `):' "column1" = EXCLUDED."column1"',ae=`INSERT INTO "${k}"."${F}" (${U})
29
- VALUES (${Q})
30
- ON CONFLICT (${j})
31
- DO UPDATE SET
32
- ${Z};`;s(ae,"INSERT ON CONFLICT")},onGenUpdateFromSQL:()=>{if(!e.selectedItem.value||!e.selectedItem.value.name)return;const R=i(e.selectedItem.value.name),O=u(e.selectedItem.value.name),k=o(),F=e.selectedItem.value.name,Q=`"${Ft(F)}"`,j=R.length>0?R.filter(ae=>!O.includes(ae)).map(ae=>` "${ae}" = src."${ae}"`).join(`,
33
- `):' "column1" = src."column1"',X=O.length>0?O.map(ae=>`${Q}."${ae}" = src."${ae}"`).join(" AND "):`${Q}."id" = src."id"`,Z=`UPDATE "${k}"."${F}" AS ${Q}
34
- SET
35
- ${j}
36
- FROM source_table AS src
37
- WHERE ${X};`;s(Z,"UPDATE FROM")},onGenDeleteUsingSQL:()=>{if(!e.selectedItem.value||!e.selectedItem.value.name)return;const R=u(e.selectedItem.value.name),O=o(),k=e.selectedItem.value.name,U=`"${Ft(k)}"`,Q=R.length>0?R.map(X=>`${U}."${X}" = src."${X}"`).join(" AND "):`${U}."id" = src."id"`,j=`DELETE FROM "${O}"."${k}" AS ${U}
38
- USING source_table AS src
39
- WHERE ${Q};`;s(j,"DELETE USING")},onGenTableDDL:async()=>{!e.selectedItem.value||!e.selectedItem.value.name||(s("","Table DDL"),await f(async()=>{const R=await $fetch("/api/tables/ddl",{method:"POST",body:{...Te(t.connection.value),schemaName:o(),tableName:e.selectedItem.value.name}});s(R,"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 D;return(((D=t.activeSchema.value)==null?void 0:D.views)||[]).find(C=>C.oid===g)},u=g=>{var D,C;const w=(D=t.activeSchema.value)==null?void 0:D.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,D=u(w),C=o(),_=al(C,w,D);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,D=(g==null?void 0:g.type)===Le.MaterializedView?"MATERIALIZED VIEW":"VIEW";s("",`${D} 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,`${D} 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 D=(((x=t.activeSchema.value)==null?void 0:x.views)||[]).find(A=>A.name===e.renameDialogValue.value),C=(D==null?void 0:D.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,D=(g==null?void 0:g.type)===Le.MaterializedView,C=el(o(),w,D,!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,D=nl(o(),w,!1);await r(D,Be.Save,async()=>{await i(async()=>{await $fetch("/api/query/execute",{method:"POST",body:{...Te(t.connection.value),query:D}}),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 D;return((D=t.activeSchema.value)==null?void 0:D.name)||"public"},i=D=>{const C=t.activeSchema.value;return C!=null&&C.tableDetails&&C.tableDetails[D]||null},m=D=>{const C=i(D);return C!=null&&C.columns?C.columns.sort((_,x)=>_.ordinal_position-x.ordinal_position):[]};return{getSchemaName:s,getTableMetadata:i,getTableColumnsMetadata:m,getTableColumns:D=>m(D).map(C=>C.name),getPrimaryKeyColumns:D=>{const C=i(D);return C!=null&&C.primary_keys?C.primary_keys.map(_=>_.column):[]},getColumnPlaceholder:D=>D.default_value?D.default_value:D.is_nullable?"NULL":`:${D.name}`,onRightClickItem:(D,C)=>{e.selectedItem.value=no(C.value)},showSqlPreview:(D,C)=>{e.sqlPreviewDialogSQL.value=D,e.sqlPreviewDialogTitle.value=C,e.sqlPreviewDialogOpen.value=!0},executeWithSafeMode:async(D,C,_)=>{o.value?(e.safeModeDialogSQL.value=D,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(D,C=e.isFetching,_="An error occurred")=>{try{C.value=!0,await D()}catch(x){console.error(x);const A=x;Ce.error(A.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 D=w;Ce.error(D.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=ne({__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:D}=ol(i,g),C=M(()=>Object.keys(w.value).length>0),_=M(()=>{var ee;return((ee=m.value)==null?void 0:ee.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"}}),A=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"),E=M(()=>_.value==="failed"?"Schema load failed":_.value==="loading"||_.value==="waiting"?"Loading schemas":"No data found"),$=M(()=>N.value?N.value:"There is no schemas data available for this connection."),R=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},O=()=>{b.value&&(p.value?(b.value.expandAll(),p.value=!1):(b.value.collapseAll(),p.value=!0))},k=M(()=>{var ee;return((ee=i.value)==null?void 0:ee.name)||"public"}),{selectedItem:F,contextMenuItems:U,safeModeDialogOpen:Q,safeModeDialogSQL:j,safeModeDialogType:X,onSafeModeConfirm:Z,onSafeModeCancel:ae,renameDialogType:te,renameDialogOpen:re,renameDialogValue:B,onConfirmRename:I,sqlPreviewDialogOpen:z,sqlPreviewDialogSQL:Y,sqlPreviewDialogTitle:Ue,onRightClickItem:Ae,isFetching:se,safeModeLoading:Fe}=gl({schemaName:k,activeSchema:i,onRefreshSchema:R}),me=async ee=>{var Ie,_e;const oe=w.value[ee];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:ee,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=(ee,oe)=>{var Ie,_e;const ue=w.value[ee];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,ee=>{var oe,ue,fe,Ie;if(!ee){(oe=b.value)==null||oe.clearSelection();return}if(!((ue=b.value)!=null&&ue.isMouseInside)&&((ee==null?void 0:ee.type)===H.TableDetail||(ee==null?void 0:ee.type)===H.TableOverview||(ee==null?void 0:ee.type)===H.ViewDetail||(ee==null?void 0:ee.type)===H.ViewOverview||(ee==null?void 0:ee.type)===H.FunctionsDetail||(ee==null?void 0:ee.type)===H.FunctionsOverview)){const _e=(fe=ee.metadata)==null?void 0:fe.treeNodeId;typeof _e=="string"&&((Ie=b.value)==null||Ie.focusItem(_e))}},{flush:"post",immediate:!0}),(ee,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:O},{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(()=>[P(V(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:R},{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]=[P(" 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,[P(V(a(A))+" ",1),a(_)==="completed"&&((ft=a(m))==null?void 0:ft.schemaCount)!==void 0?(T(),L("span",xl," • "+V(a(m).schemaCount)+" schema"+V(a(m).schemaCount===1?"":"s"),1)):W("",!0)]),y("p",Sl,V(a(N)),1)])])])):W("",!0),a(C)?W("",!0):(T(),K(at,{key:1,title:a(E),desc:a($)},null,8,["title","desc"])),l(kt,{"context-menu-items":a(U),onOnClearContextMenu:oe[1]||(oe[1]=Se=>F.value=null)},{default:c(()=>[y("div",Tl,[l(Ye,{ref_key:"fileTreeRef",ref:b,"init-expanded-ids":[a(D)],"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(Q),sql:a(j),type:a(X),"onUpdate:open":oe[2]||(oe[2]=Se=>Q.value=Se),onConfirm:a(Z),onCancel:a(ae)},null,8,["loading","open","sql","type","onConfirm","onCancel"]),l(ll,{open:a(re),"onUpdate:open":oe[3]||(oe[3]=Se=>ye(re)?re.value=Se:null),tabViewType:a(te),"current-name":a(B),onConfirm:a(I)},null,8,["open","tabViewType","current-name","onConfirm"]),l(rl,{open:a(z),sql:a(Y),title:a(Ue),isLoading:a(se),"onUpdate:open":oe[4]||(oe[4]=Se=>z.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=ne({__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,D=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(D,{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(D,{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(D,{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(()=>[P(V(a(h)),1)]),_:1})):W("",!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=ne({__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 B;return((B=n.currentDatabase)==null?void 0:B.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 B=[];return s.roleName.trim()||B.push("Username is required"),s.roleName.includes(" ")&&B.push("Username cannot contain spaces"),B}),D=M(()=>w.value.length===0),C=M(()=>{for(const[,B]of f.value)if(B.has("USAGE"))return!0;return!1}),_=M(()=>{const B=[];for(const[I,z]of f.value)z.has("USAGE")&&B.push(I);return B}),x=M(()=>{const B=[];s.canLogin?(B.push("LOGIN"),s.password&&B.push(`PASSWORD '${s.password.replace(/'/g,"''")}'`)):B.push("NOLOGIN"),s.canCreateDb&&B.push("CREATEDB"),s.canCreateRole&&B.push("CREATEROLE"),s.isReplication&&B.push("REPLICATION"),s.connectionLimit>=0&&B.push(`CONNECTION LIMIT ${s.connectionLimit}`),s.validUntil&&B.push(`VALID UNTIL '${s.validUntil}'`);let I=`CREATE ROLE "${s.roleName}" WITH ${B.join(" ")};
40
- `;i.value&&m.value&&(I+=`GRANT CONNECT ON DATABASE "${i.value}" TO "${s.roleName}";
41
- `);for(const[z,Y]of f.value)Y.size>0&&(I+=`GRANT ${Array.from(Y).join(", ")} ON SCHEMA "${z}" TO "${s.roleName}";
42
- `);for(const z of _.value)if(b.privileges.size>0){const Y=Array.from(b.privileges).join(", ");I+=`GRANT ${Y} ON ALL TABLES IN SCHEMA "${z}" TO "${s.roleName}";
43
- `,b.applyToFuture&&(I+=`ALTER DEFAULT PRIVILEGES IN SCHEMA "${z}" GRANT ${Y} ON TABLES TO "${s.roleName}";
44
- `)}for(const z of _.value)if(p.privileges.size>0){const Y=Array.from(p.privileges).join(", ");I+=`GRANT ${Y} ON ALL FUNCTIONS IN SCHEMA "${z}" TO "${s.roleName}";
45
- `,p.applyToFuture&&(I+=`ALTER DEFAULT PRIVILEGES IN SCHEMA "${z}" GRANT ${Y} ON FUNCTIONS TO "${s.roleName}";
46
- `)}for(const z of _.value)if(v.privileges.size>0){const Y=Array.from(v.privileges).join(", ");I+=`GRANT ${Y} ON ALL SEQUENCES IN SCHEMA "${z}" TO "${s.roleName}";
47
- `,v.applyToFuture&&(I+=`ALTER DEFAULT PRIVILEGES IN SCHEMA "${z}" GRANT ${Y} ON SEQUENCES TO "${s.roleName}";
48
- `)}return I}),{copied:A,handleCopy:N,getCopyIcon:S,getCopyIconClass:E,getCopyTooltip:$}=ha(),R=()=>N(x.value),O=()=>{if(r.value<Xe){if(r.value===2&&i.value){if(d.value){r.value=Xe;return}o("fetchSchemas")}r.value++}},k=()=>{if(r.value===Xe&&d.value){r.value=2;return}r.value>1&&r.value--},F=M(()=>r.value===1?D.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=(B,I)=>{const z=f.value.get(B)??new Set,Y=new Set(z);Y.has(I)?Y.delete(I):Y.add(I),f.value.set(B,Y)},Q=(B,I)=>{var z;return((z=f.value.get(B))==null?void 0:z.has(I))??!1},j=B=>{b.privileges.has(B)?b.privileges.delete(B):b.privileges.add(B)},X=B=>{p.privileges.has(B)?p.privileges.delete(B):p.privileges.add(B)},Z=B=>{v.privileges.has(B)?v.privileges.delete(B):v.privileges.add(B)},ae=()=>{const B=[];for(const[z,Y]of f.value)Y.size>0&&B.push({schemaName:z,privileges:Array.from(Y)});const I=[];for(const z of _.value)b.privileges.size>0&&I.push({objectType:"table",schemaName:z,privileges:Array.from(b.privileges),applyToFuture:b.applyToFuture}),p.privileges.size>0&&I.push({objectType:"function",schemaName:z,privileges:Array.from(p.privileges),applyToFuture:p.applyToFuture}),v.privileges.size>0&&I.push({objectType:"sequence",schemaName:z,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:B,objectGrants:I})},te=()=>{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,B=>{B||te()}),De(r,()=>{o("clearError")});const re=["User Info","Database","Schemas","Objects","Review"];return(B,I)=>{const z=ie,Y=lo,Ue=ro,Ae=so,se=io,Fe=dn,me=Zo,nt=co,ee=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:B.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(z,{name:"lucide:user-plus",class:"size-5 text-primary"}),I[17]||(I[17]=P(" Create New User/Role "))]),_:1}),l(Ue,null,{default:c(()=>[y("div",Ol,[y("span",Nl,"Step "+V(a(r))+": "+V(re[a(r)-1]),1),y("div",Ll,[(T(),L(le,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]=[P("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]=[P("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(z,{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]=[P("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]=[P("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]=[P("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]=[P("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]=[P("Replication")])),_:1})])]),a(w).length>0&&a(s).roleName?(T(),L("div",Wl,[(T(!0),L(le,null,ve(a(w),G=>(T(),L("div",{key:G,class:"flex items-center gap-1"},[l(z,{name:"lucide:x",class:"size-3"}),P(" "+V(G),1)]))),128))])):W("",!0)])):a(r)===2?(T(),L("div",Kl,[y("div",Yl,[l(se,null,{default:c(()=>I[27]||(I[27]=[P("Select Database")])),_:1}),l(fe,{modelValue:a(i),"onUpdate:modelValue":I[8]||(I[8]=G=>ye(i)?i.value=G:null),disabled:B.databasesLoading},{default:c(()=>[l(ee,null,{default:c(()=>[l(nt,{placeholder:B.databasesLoading?"Loading databases...":"Choose a database"},null,8,["placeholder"])]),_:1}),l(ue,null,{default:c(()=>[(T(!0),L(le,null,ve(B.databases,G=>(T(),K(oe,{key:G.databaseName,value:G.databaseName},{default:c(()=>[P(V(G.databaseName),1)]),_:2},1032,["value"]))),128))]),_:1})]),_:1},8,["modelValue","disabled"])]),a(d)?(T(),L("div",Xl,[y("div",Jl,[l(z,{name:"lucide:info",class:"size-4"}),y("span",null,[I[28]||(I[28]=P(" You're connected to ")),y("span",Zl,V(a(u)),1),I[29]||(I[29]=P(". Schema and object permissions can only be configured for the connected database, so you'll go directly to Review for database-level grants. "))])])])):W("",!0),a(i)&&!B.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]=[P(" 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))])):W("",!0),B.databasesLoading?(T(),L("div",nr,[l(z,{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=B.databases)!=null&&pt.length?W("",!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]=[P("Schema Permissions")])),_:1}),I[34]||(I[34]=y("span",{class:"text-xs text-muted-foreground"},"At least one USAGE required",-1))]),B.schemasLoading?(T(),L("div",sr,[l(z,{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=B.schemas)!=null&&Cn.length?(T(),L("div",lr,[(T(!0),L(le,null,ve(B.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(z,{name:"lucide:folder",class:"size-4 text-muted-foreground"}),y("span",ir,V(G.schemaName),1)]),y("div",cr,[y("div",ur,[l(me,{id:`schema-${G.schemaName}-usage`,"model-value":Q(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]=[P("USAGE")])),_:2},1032,["for"])]),y("div",dr,[l(me,{id:`schema-${G.schemaName}-create`,"model-value":Q(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]=[P("CREATE")])),_:2},1032,["for"])])])]))),128))])):(T(),L("div",mr,[l(z,{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=B.schemas)!=null&&In.length)?(T(),L("div",fr,[y("div",pr,[l(z,{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))])])):W("",!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(z,{name:"lucide:table",class:"size-4 mr-1"}),I[40]||(I[40]=P(" Tables "))]),_:1}),l(_e,{value:"functions"},{default:c(()=>[l(z,{name:"lucide:function-square",class:"size-4 mr-1"}),I[41]||(I[41]=P(" Functions "))]),_:1}),l(_e,{value:"sequences"},{default:c(()=>[l(z,{name:"lucide:list-ordered",class:"size-4 mr-1"}),I[42]||(I[42]=P(" 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]=[P("Table Privileges")])),_:1}),y("div",yr,[(T(),L(le,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=>j(G)},null,8,["id","model-value","onUpdate:modelValue"]),l(se,{for:`table-${G}`,class:"text-xs cursor-pointer"},{default:c(()=>[P(V(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]=[P(" 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]=[P("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]=[P("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]=[P(" 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]=[P("Sequence Privileges")])),_:1}),y("div",Sr,[(T(),L(le,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=>Z(G)},null,8,["id","model-value","onUpdate:modelValue"]),l(se,{for:`seq-${G}`,class:"text-xs cursor-pointer"},{default:c(()=>[P(V(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]=[P(" Apply to future sequences ")])),_:1})])]),_:1})]),_:1},8,["modelValue"]),y("p",Cr," Permissions will be applied to all objects in selected schemas: "+V(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,V(a(s).roleName),1),I[51]||(I[51]=y("div",{class:"text-muted-foreground"},"Type:",-1)),y("div",$r,V(a(s).canLogin?"User (login)":"Role"),1),I[52]||(I[52]=y("div",{class:"text-muted-foreground"},"Database:",-1)),y("div",Rr,V(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,V(a(_).length)+" selected",1))])])]),B.error?(T(),L("div",Lr,[y("div",Pr,[l(z,{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,V(B.error),1)])])])):W("",!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:R},{default:c(()=>[l(z,{name:a(S)(a(A)),class:de(["size-3 mr-1",a(E)(a(A))])},null,8,["name","class"]),P(" "+V(a($)(a(A),"Copy")),1)]),_:1})]),_:1}),l(za,null,{default:c(()=>[P(V(a($)(a(A),"Copy SQL")),1)]),_:1})]),_:1})]),y("div",zr,[l(Ba,{code:a(x),"max-height":"140px"},null,8,["code"])])])])):W("",!0)]),l(qa,{class:"gap-2 sm:gap-0"},{default:c(()=>[a(r)>1?(T(),K(Se,{key:0,variant:"outline",onClick:k,disabled:B.loading},{default:c(()=>[l(z,{name:"lucide:arrow-left",class:"size-4"}),I[57]||(I[57]=P(" Back "))]),_:1},8,["disabled"])):W("",!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:B.loading},{default:c(()=>I[58]||(I[58]=[P(" Cancel ")])),_:1},8,["disabled"])):W("",!0),a(r)<Xe?(T(),K(Se,{key:1,onClick:O,disabled:!a(F)},{default:c(()=>[P(V(a(r)===4?"Review":"Next")+" ",1),l(z,{name:"lucide:arrow-right",class:"size-4"})]),_:1},8,["disabled"])):W("",!0),a(r)===Xe?(T(),K(Se,{key:2,onClick:ae,disabled:B.loading||!a(D)},{default:c(()=>[B.loading?(T(),K(z,{key:0,name:"hugeicons:loading-03",class:"size-4 mr-2 animate-spin"})):W("",!0),I[59]||(I[59]=P(" Create User "))]),_:1},8,["disabled"])):W("",!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=ne({__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]=P(" Delete User/Role "))]),_:1}),s.role?(T(),K(d,{key:0,class:"space-y-4"},{default:c(()=>[y("div",qr,[i[4]||(i[4]=P(" Are you sure you want to delete the role ")),y("span",Gr,V(s.role.roleName),1),i[5]||(i[5]=P("? "))]),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:"),P(" This is a superuser role. Deleting it may affect system functionality. ")],-1))])):W("",!0),y("div",Qr,[i[7]||(i[7]=y("p",{class:"text-xs font-medium text-muted-foreground"}," Generated SQL: ",-1)),y("div",Wr,V(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})):W("",!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]=[P(" 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"})):W("",!0),i[10]||(i[10]=P(" 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=ne({__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={},E=[],$=[],R=[];for(const k of n.roles)k.isSuperuser?E.push(k):k.canLogin?$.push(k):R.push(k);const O=(k,F,U)=>{S[k.roleName]={id:k.roleName,parentId:F,name:k.roleName,type:"file",depth:U,iconClose:k.canLogin?"hugeicons:user-circle":"hugeicons:user-lock-01",iconClass:k.isSuperuser?"text-yellow-500":k.canLogin?"text-blue-400":"text-purple-400",data:{tabViewType:H.UserPermissions,roleData:k}}};return E.length>0&&(S[Re.Superuser]={id:Re.Superuser,parentId:null,name:`Superusers (${E.length})`,type:"folder",depth:0,iconOpen:"hugeicons:crown",iconClose:"hugeicons:crown",iconClass:"text-yellow-500",children:E.map(k=>k.roleName)},E.forEach(k=>O(k,Re.Superuser,1))),$.length>0&&(S[Re.User]={id:Re.User,parentId:null,name:`Users (${$.length})`,type:"folder",depth:0,iconOpen:"hugeicons:user",iconClose:"hugeicons:user",iconClass:"text-blue-500",children:$.map(k=>k.roleName)},$.forEach(k=>O(k,Re.User,1))),R.length>0&&(S[Re.Role]={id:Re.Role,parentId:null,name:`Roles (${R.length})`,type:"folder",depth:0,iconOpen:"hugeicons:user-group",iconClose:"hugeicons:user-group",iconClass:"text-purple-500",children:R.map(k=>k.roleName)},R.forEach(k=>O(k,Re.Role,1))),S}),v=S=>n.roles.find(E=>E.roleName===S),g=(S,E)=>{var R;const $=p.value[S];if($)if($.type==="folder")u.value={type:"category",category:$.id};else{const O=(R=$.data)==null?void 0:R.roleData;if(O)u.value={type:"role",role:O};else{const k=v($.id);k&&(u.value={type:"role",role:k})}}},w=async S=>{var F;const E=p.value[S];if(!E||E.type==="folder"||!s.value||!i.value)return;const $=(F=E.data)==null?void 0:F.roleData,R=($==null?void 0:$.roleName)||E.id,O=$!=null&&$.isSuperuser?"hugeicons:crown":$!=null&&$.canLogin?"hugeicons:user-circle":"hugeicons:user-lock-01",k=$!=null&&$.isSuperuser?"text-yellow-500":$!=null&&$.canLogin?"text-blue-400":"text-purple-400";await r({roleName:R,icon:O,iconClass:k,treeNodeId:E.id})},D=M(()=>{const S=[];if(!u.value)return S.push({title:"Create User",icon:"lucide:user-plus",type:q.ACTION,select:()=>{var E;return(E=n.onCreateUser)==null?void 0:E.call(n)},disabled:n.canCreateUser===!1}),S.push({type:q.SEPARATOR}),S.push({title:"Refresh",icon:"lucide:refresh-cw",type:q.ACTION,select:()=>{var E;return(E=n.onRefresh)==null?void 0:E.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 E;return(E=n.onCreateUser)==null?void 0:E.call(n)},disabled:n.canCreateUser===!1}),S.push({type:q.SEPARATOR}),S.push({title:"Refresh",icon:"lucide:refresh-cw",type:q.ACTION,select:()=>{var E;return(E=n.onRefresh)==null?void 0:E.call(n)}})),u.value.type==="role"&&u.value.role){const E=u.value.role;S.push({title:E.roleName,type:q.LABEL}),S.push({title:"View Permissions",icon:"hugeicons:shield-01",type:q.ACTION,select:()=>{w(E.roleName)}}),S.push({type:q.SEPARATOR}),S.push({title:"Delete User",icon:"lucide:trash-2",type:q.ACTION,select:()=>{f.value=E,d.value=!0},disabled:E.isSuperuser}),S.push({type:q.SEPARATOR}),S.push({title:"Refresh",icon:"lucide:refresh-cw",type:q.ACTION,select:()=>{var $;return($=n.onRefresh)==null?void 0:$.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 E,$,R,O;if(!S){(E=m.value)==null||E.clearSelection();return}if(!(($=m.value)!=null&&$.isMouseInside)&&(S==null?void 0:S.type)===H.UserPermissions&&typeof((R=S.metadata)==null?void 0:R.treeNodeId)=="string"){(O=m.value)==null||O.focusItem(S.metadata.treeNodeId);return}},{flush:"post",immediate:!0});const x=()=>{var S;(S=m.value)==null||S.expandAll()},A=()=>{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:A,isExpandedAll:N}),(S,E)=>{const $=ie,R=pe,O=Me;return T(),L(le,null,[y("div",Yr,[S.loading?(T(),K(ma,{key:0,visible:""})):S.roles.length?(T(),K(kt,{key:2,"context-menu-items":a(D),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(O,{key:1,title:"No roles found",desc:"There are no roles or users available for this connection."},{default:c(()=>[S.canCreateUser?(T(),K(R,{key:0,variant:"outline",size:"sm",onClick:S.onCreateUser},{default:c(()=>[l($,{name:"hugeicons:user-add-01"}),E[2]||(E[2]=P(" Create User "))]),_:1},8,["onClick"])):W("",!0)]),_:1}))]),l(Kr,{open:a(d),"onUpdate:open":E[0]||(E[0]=k=>ye(d)?d.value=k:null),role:a(f),loading:a(h),onConfirm:_,onCancel:E[1]||(E[1]=k=>{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=ne({__name:"ManagementUsersAndPermission",setup(t){const e=Pe(),{connectionId:n,workspaceId:o}=Ee(),r=M(()=>{if(n.value)return e.connections.find(z=>z.id===n.value)}),s=M(()=>{var z;if(!r.value)return"";if(r.value.database)return r.value.database;if(r.value.connectionString)try{return((z=new URL(r.value.connectionString).pathname)==null?void 0:z.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(z=>z.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:D,databases:C,fetchDatabases:_}=ns(r),{isLoading:x,schemas:A,fetchSchemas:N}=as(r),{isGranting:S,grantBulkPermissions:E}=os(r),$=$e(""),R=dt($,et),O=J(!1),k=J(!1),F=J(null),U=M(()=>{if(!R.value)return u.value;const z=R.value.toLowerCase();return u.value.filter(Y=>Y.roleName.toLowerCase().includes(z))});De(()=>r.value,async z=>{z&&await d()},{immediate:!0});const Q=async()=>{O.value=!0,await f(),O.value=!1},j=Oe("userRolesTreeRef"),X=M(()=>j.value?!j.value.isExpandedAll:!0),Z=()=>{var z,Y;X.value?(z=j.value)==null||z.expandAll():(Y=j.value)==null||Y.collapseAll()},ae=()=>{F.value=null},te=()=>{b.value&&(k.value=!0,C.value=[],_())},re=async()=>{A.value=[],await N()},B=async z=>{F.value=null;try{const Y=await g(z.roleData);if(!(Y!=null&&Y.success)){F.value=(Y==null?void 0:Y.message)||"Failed to create user. Please check the username and try again.";return}if(z.databaseGrants.length>0||z.schemaGrants.length>0||z.objectGrants.length>0){const Ae=await E({roleName:z.roleData.roleName,databaseGrants:z.databaseGrants,schemaGrants:z.schemaGrants,objectGrants:z.objectGrants});if(Ae&&!Ae.success){F.value=`User created but some permissions failed: ${Ae.totalFailed} of ${Ae.results.length} grants failed.`;return}}k.value=!1,await f()}catch(Y){F.value=(Y==null?void 0:Y.message)||"Failed to create user"}},I=async z=>{const Y=await w(z.roleName);return Y!=null&&Y.success&&await f(),Y};return(z,Y)=>{const Ue=ie,Ae=pe,se=be,Fe=we,me=he,nt=Me;return T(),L("div",Zr,[l(a(He),{search:a($),"onUpdate:search":Y[0]||(Y[0]=ee=>ye($)?$.value=ee: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:te,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(()=>[P(V(a(p)),1)]),_:1})]),_:1}),l(me,null,{default:c(()=>[l(se,{"as-child":""},{default:c(()=>[l(Ae,{size:"iconSm",variant:"ghost",onClick:Z},{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(()=>[P(V(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:Q,disabled:a(O)||!a(r)},{default:c(()=>[l(Ue,{name:"hugeicons:redo",class:de(["size-4! min-w-4 ",a(O)&&"animate-spin"])},null,8,["class"])]),_:1},8,["disabled"])]),_:1}),l(Fe,null,{default:c(()=>Y[3]||(Y[3]=[P("Refresh Roles")])),_:1})]),_:1})]),_:1},8,["search","workspace-id"]),a(r)?(T(),L("div",ei,[l(Jr,{ref_key:"userRolesTreeRef",ref:j,roles:a(U),loading:a(m),onCreateUser:te,canCreateUser:a(b),createUserDisabledReason:a(p),onDeleteUser:I,onRefresh:Q},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(k),"onUpdate:open":Y[1]||(Y[1]=ee=>ye(k)?k.value=ee:null),loading:a(v)||a(S),databasesLoading:a(D),schemasLoading:a(x),databases:a(C),schemas:a(A),currentDatabase:a(s),error:a(F),onConfirm:B,onCancel:Y[2]||(Y[2]=ee=>k.value=!1),onClearError:ae,onFetchSchemas:re},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=ne({__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]=[P(" 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]=[P(" 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]=[P(" Delete thread ")])),_:1})]),_:2},1024)])):W("",!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 R=g.history,O=d.value.map(k=>({id:`agent-history-${k.id}`,parentId:R,name:k.title,type:"file",depth:1,iconOpen:"hugeicons:chatting-01",iconClose:"hugeicons:chatting-01",data:{preview:k.preview,updatedAt:k.updatedAt}}));return{[R]:{id:R,parentId:null,name:"Chat History",type:"folder",depth:0,iconOpen:"hugeicons:clock-05",iconClose:"hugeicons:clock-05",children:O.map(k=>k.id)},...Object.fromEntries(O.map(k=>[k.id,k]))}}),D=M(()=>{if(!i.value.trim())return w.value;const R=i.value.trim().toLowerCase(),O=new Set,k=w.value;Object.values(k).forEach(U=>{var X,Z;const Q=typeof((X=U.data)==null?void 0:X.preview)=="string"?U.data.preview:"";if(!U.name.toLowerCase().includes(R)&&!Q.toLowerCase().includes(R))return;Ta(k,U.id,O);let j=U.parentId;for(;j;)O.add(j),j=((Z=k[j])==null?void 0:Z.parentId)||null});const F={};return O.forEach(U=>{const Q=k[U];Q&&(F[U]={...Q,children:(Q.children||[]).filter(j=>O.has(j))})}),F}),C=async R=>{if(!o.value||!r.value)return;const O="agent-workspace";await n.openTab({id:O,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:O,connectionId:r.value},metadata:{type:H.AgentChat,historyId:R}}),await n.selectTab(O)},_=async()=>{b(),await C()},x=R=>{R.startsWith("agent-history-")&&p(R.replace("agent-history-",""))},A=async R=>{R!==g.history&&R.startsWith("agent-history-")&&(h(R),await C(R.replace("agent-history-","")))},N=(R,O)=>{v(R,O)},S=R=>{if(R===g.history){m.value=[{title:"New Thread",icon:"hugeicons:quill-write-02",type:q.ACTION,select:()=>void _()}];return}if(!R.startsWith("agent-history-")){m.value=[];return}const O=R.replace("agent-history-","");m.value=[{title:"Open Thread",icon:"hugeicons:chat-spark-01",type:q.ACTION,select:()=>{h(R),C(O)}},{title:"Rename Thread",icon:"hugeicons:edit-02",type:q.ACTION,select:()=>{var k;(k=t.onRename)==null||k.call(t,R)}},{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(O)}]},E=()=>{m.value=[]},$=()=>{if(t.isExpandedAll.value){t.collapseAll();return}t.expandAll()};return De(()=>f.value,async R=>{await je(),!(!R||!D.value[R])&&t.focusNode(R)},{flush:"post",immediate:!0}),{contextMenuItems:m,defaultExpandedNodeIds:[g.history],filteredHistoryTreeData:D,historySectionId:g.history,historyStorageKey:po.AGENT_HISTORY_TREE,isExpandedAll:t.isExpandedAll,onClearContextMenu:E,onClickNode:A,onCreateThread:_,onDeleteHistory:x,onRenameHistory:N,onToggleCollapseHistory:$,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=ne({__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(_)}}),D=M(()=>!u.value),C=M(()=>{var x;const _=s.value[i];return!_||(((x=_.children)==null?void 0:x.length)??0)===0});return(_,x)=>{const A=ie,N=pe,S=Me;return T(),L("div",ri,[l(a(He),{search:a(w),"onUpdate:search":x[0]||(x[0]=E=>ye(w)?w.value=E: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(A,{name:"hugeicons:plus-sign",class:"size-4"})]),_:1},8,["onClick"])]),_:1}),l(a(we),null,{default:c(()=>x[2]||(x[2]=[P(" 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(A,{name:a(D)?"hugeicons:unfold-more":"hugeicons:unfold-less",class:"size-4"},null,8,["name"])]),_:1},8,["onClick"])]),_:1}),l(a(we),null,{default:c(()=>[P(V(a(D)?"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(A,{name:"hugeicons:plus-sign"}),x[3]||(x[3]=P(" Start chat "))]),_:1},8,["onClick"])]),_:1})):W("",!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]=(E,$)=>a(p)(E.replace("agent-history-",""),$)),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=ne({__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=A=>A===void 0||A<0?"persisted":A<60?`${A}s`:A<3600?`${Math.floor(A/60)}m`:A<86400?`${Math.floor(A/3600)}h`:`${Math.floor(A/86400)}d`,v=A=>!(A!=null&&A.data)||typeof A.data.kind!="string"?null:A.data,g=A=>{const N=v(A);if(!N)return[];if(N.kind==="group"){const E=[];typeof N.keyCount=="number"&&E.push({label:`${N.keyCount} keys`,title:`Total keys: ${N.keyCount}`});const $=N.memoryUsage===null||N.memoryUsage===void 0?null:_t(N.memoryUsage);return $&&E.push({label:$,title:`Approx. size: ${$}`}),E}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=A=>{var E,$;const N=f.value[A],S=(E=N==null?void 0:N.data)==null?void 0:E.redisKey;(($=N==null?void 0:N.data)==null?void 0:$.kind)==="key"&&S&&r("select",S)},D=A=>{var E,$;const N=d.value[A],S=(E=N==null?void 0:N.data)==null?void 0:E.redisKey;(($=N==null?void 0:N.data)==null?void 0:$.kind)==="key"&&S&&r("select",S)};De(()=>o.selectedKey,A=>{const N=o.viewMode===ze.Tree?s.value:i.value;if(N){if(!A){N.clearSelection();return}N.focusItem(`redis-key:${A}`)}},{flush:"post",immediate:!0}),De(()=>o.searchQuery,async A=>{!s.value||!A.trim()||(await je(),s.value.expandAll())});const C=()=>{var A;(A=s.value)==null||A.collapseAll()},_=()=>{var A;(A=s.value)==null||A.expandAll()},x=M(()=>{var A;return((A=s.value)==null?void 0:A.isExpandedAll)??!1});return e({collapseAll:C,expandAll:_,isExpandedAll:x}),(A,N)=>{const S=Me;return T(),L("div",ui,[A.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:D},{actions:c(({node:E})=>[y("div",pi,[(T(!0),L(le,null,ve(g(E),$=>(T(),L("span",{key:`${E.id}-${$.label}`,class:"truncate",title:$.title},V($.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:E})=>[y("div",yi,[(T(!0),L(le,null,ve(g(E),$=>(T(),L("span",{key:`${E.id}-${$.label}`,class:"truncate",title:$.title},V($.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=ne({__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}),D=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,E;if(w.value){(S=g.value)==null||S.collapseAll();return}(E=g.value)==null||E.expandAll()},A=async()=>{await s.refreshKeys()},N=async S=>{var $;await s.openKey(S);const E=(($=r.value)==null?void 0:$.id)||"redis";await n({id:`redis-browser-${E}`,name:"Redis Browser",type:H.RedisBrowser,metadata:{type:H.RedisBrowser,databaseIndex:s.selectedDatabaseIndex.value,keyPattern:s.keyPattern.value,selectedKey:S}})};return(S,E)=>{const $=ie,R=va,O=be,k=we,F=he,U=pa,Q=fa,j=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":E[0]||(E[0]=X=>ye(v)?v.value=X:null)},{details:c(()=>[l(ss,{databases:a(u),"database-index":a(f),"onUpdate:databaseIndex":D},null,8,["databases","database-index"])]),actions:c(()=>[y("div",_i,[l(Q,{"model-value":a(b),"onUpdate:modelValue":_},{default:c(()=>[l(U,{size:"xxs",class:"w-full"},{default:c(()=>[(T(),L(le,null,ve(p,X=>l(F,{key:X.value},{default:c(()=>[l(O,{"as-child":""},{default:c(()=>[l(R,{size:"xxs",value:X.value,"aria-label":X.tooltip,class:"font-medium cursor-pointer text-primary/80"},{default:c(()=>[l($,{name:X.icon,class:"size-3!"},null,8,["name"])]),_:2},1032,["value","aria-label"])]),_:2},1024),l(k,null,{default:c(()=>[P(V(X.tooltip),1)]),_:2},1024)]),_:2},1024)),64))]),_:1})]),_:1},8,["model-value"])]),l(F,null,{default:c(()=>[l(O,{"as-child":""},{default:c(()=>[a(b)===a(ze).Tree?(T(),K(j,{key:0,size:"iconSm",variant:"ghost",onClick:x},{default:c(()=>[l($,{name:a(w)?"hugeicons:unfold-less":"hugeicons:unfold-more",class:"size-4! min-w-4"},null,8,["name"])]),_:1})):W("",!0)]),_:1}),l(k,null,{default:c(()=>[P(V(a(w)?"Collapse All":"Expand All"),1)]),_:1})]),_:1}),l(F,null,{default:c(()=>[l(O,{"as-child":""},{default:c(()=>[l(j,{size:"iconSm",variant:"ghost",onClick:A},{default:c(()=>[l($,{name:"hugeicons:redo",class:de(["size-4! min-w-4",a(d)&&"animate-spin"])},null,8,["class"])]),_:1})]),_:1}),l(k,null,{default:c(()=>E[1]||(E[1]=[P("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=ne({__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=ne({__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,V(a(d).eyebrow),1),y("h2",Ri,V(a(d).title),1),y("p",ki,V(a(d).description),1)])):W("",!0)])):W("",!0)}}),Ni={class:"w-full h-full flex flex-col",id:"preview-select-row"},Li=ne({__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=ne({__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"])):W("",!0),y("span",Pi,V((w=a(i))==null?void 0:w.name),1)]}),_:1}),(v=a(m))!=null&&v.id?(T(),K(a(_o),{key:0})):W("",!0),l(a(Rn),{class:"min-w-0 text-xs"},{default:c(()=>{var g,w,D,C;return[(g=a(m))!=null&&g.id?(T(),K(Ct((D=a(Yt)((w=a(m))==null?void 0:w.type))==null?void 0:D.icon),{key:0,class:"size-3! flex-shrink-0"})):W("",!0),y("span",Fi,V((C=a(m))==null?void 0:C.name),1),a(f).length?(T(),L("div",Mi,[(T(!0),L(le,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,V(_.name),1)],2)}),128))])):W("",!0)]}),_:1})]}),_:1})]),_:1})}}}),zi=["disabled"],ji={class:"text-xxs font-medium leading-none"},Bi={class:"flex flex-col gap-1"},qi={class:"text-sm font-medium"},Gi={class:"text-xs text-muted-foreground"},Hi={key:0,class:"text-xs text-muted-foreground"},Qi={key:0,class:"text-xs text-muted-foreground whitespace-pre-wrap border rounded-md p-2 bg-muted/30 max-h-32 overflow-y-auto"},Wi={key:1,class:"text-xs text-muted-foreground"},Ki={key:2,class:"h-1.5 w-full overflow-hidden rounded-full bg-muted"},Yi={key:3,class:"text-xs text-yellow-500"},Xi={key:4,class:"text-xs text-destructive"},Ji={key:5,class:"text-xs text-muted-foreground"},Zi={class:"flex gap-2"},ec=ne({__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(),D=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 E;return(E=D.value)!=null&&E.date?new Intl.DateTimeFormat(void 0,{dateStyle:"medium",timeStyle:"short"}).format(new Date(D.value.date)):null}),x=M(()=>m.value?new Intl.DateTimeFormat(void 0,{dateStyle:"medium",timeStyle:"short"}).format(new Date(m.value)):null),A=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(()=>o.value==="error"?"text-destructive":o.value==="downloading"&&b.value?"text-yellow-500":s.value?"text-green-500":"text-blue-500");return(E,$)=>{const R=ie,O=be,k=we,F=he,U=is,Q=pe,j=cs,X=rs;return a(C)?(T(),L(le,{key:0},[a(s)?(T(),K(F,{key:0},{default:c(()=>[l(O,{"as-child":""},{default:c(()=>[y("button",{class:de(["flex items-center gap-1 px-1 rounded hover:bg-muted cursor-pointer transition-colors",a(S)]),disabled:a(i),onClick:$[0]||($[0]=Z=>a(v)())},[l(R,{name:a(N),class:"size-3.5!"},null,8,["name"]),$[5]||($[5]=y("span",{class:"text-xxs font-medium leading-none"},"Restart to update",-1))],10,zi)]),_:1}),l(k,null,{default:c(()=>[P(" v"+V(a(s).version)+" ready — click to restart ",1)]),_:1})]),_:1})):(T(),K(F,{key:1},{default:c(()=>[l(X,{open:a(e),"onUpdate:open":$[4]||($[4]=Z=>ye(e)?e.value=Z:null)},{default:c(()=>[l(U,{"as-child":""},{default:c(()=>[l(O,{"as-child":""},{default:c(()=>{var Z,ae,te;return[y("button",{class:de(["flex items-center gap-1 px-1 rounded hover:bg-muted cursor-pointer transition-colors",a(S)])},[l(R,{name:a(N),class:"size-3.5!"},null,8,["name"]),y("span",ji,[a(o)==="downloading"&&a(b)?(T(),L(le,{key:0},[P(" v"+V((Z=a(D))==null?void 0:Z.version)+" · stalled ",1)],64)):a(o)==="downloading"?(T(),L(le,{key:1},[P(" v"+V((ae=a(D))==null?void 0:ae.version)+" · "+V(a(h))+"% ",1)],64)):(T(),L(le,{key:2},[P("v"+V((te=a(D))==null?void 0:te.version),1)],64))])],2)]}),_:1}),l(k,null,{default:c(()=>{var Z;return[P(" v"+V((Z=a(r))==null?void 0:Z.version)+" available ",1)]}),_:1})]),_:1}),l(j,{class:"w-80 p-4 flex flex-col gap-3",align:"end",side:"top"},{default:c(()=>{var Z,ae,te;return[y("div",Bi,[y("p",qi," Update "+V((Z=a(r))==null?void 0:Z.version)+" is available ",1),y("p",Gi," Current version: "+V((ae=a(D))==null?void 0:ae.currentVersion),1),a(_)?(T(),L("p",Hi," Published: "+V(a(_)),1)):W("",!0)]),(te=a(D))!=null&&te.body?(T(),L("p",Qi,V(a(D).body),1)):W("",!0),a(A)?(T(),L("p",Wi," Downloading: "+V(a(A)),1)):W("",!0),a(o)==="downloading"?(T(),L("div",Ki,[y("div",{class:"h-full rounded-full bg-blue-500 transition-all duration-300",style:Rt({width:`${a(h)}%`})},null,4)])):W("",!0),a(b)?(T(),L("p",Yi," Download appears to have stalled. You can retry or cancel. ")):W("",!0),a(u)&&a(o)==="error"?(T(),L("p",Xi,V(a(u)),1)):W("",!0),a(x)?(T(),L("p",Ji," Last checked: "+V(a(x)),1)):W("",!0),y("div",Zi,[a(o)==="downloading"&&a(b)?(T(),L(le,{key:0},[l(Q,{size:"sm",variant:"outline",class:"flex-1",onClick:$[1]||($[1]=re=>a(g)())},{default:c(()=>$[6]||($[6]=[P(" Cancel ")])),_:1}),l(Q,{size:"sm",class:"flex-1",onClick:$[2]||($[2]=re=>a(w)())},{default:c(()=>$[7]||($[7]=[P(" Retry ")])),_:1})],64)):(T(),K(Q,{key:1,size:"sm",class:"flex-1",disabled:a(i)||a(o)==="downloading",onClick:$[3]||($[3]=re=>a(p)())},{default:c(()=>[P(V(a(o)==="downloading"?"Downloading…":a(o)==="error"?"Retry download":"Download update"),1)]),_:1},8,["disabled"]))])]}),_:1})]),_:1},8,["open"])]),_:1}))],64)):W("",!0)}}}),tc={class:"w-full h-6 min-h-6 shadow px-2 flex items-center justify-between gap-2 bg-sidebar-accent"},nc={class:"flex min-w-0 flex-1 items-center gap-3 h-full overflow-hidden"},ac={class:"min-w-0 overflow-hidden"},oc={key:0,class:"min-w-0 flex-1 truncate text-center text-muted-foreground text-xs"},sc={class:"text-foreground inline"},lc={class:"flex flex-shrink-0 items-center gap-3"},rc=["href"],ic={class:"flex items-center gap-0.5 justify-center hover:bg-muted rounded cursor-pointer"},cc=["href"],uc={class:"flex items-center justify-center hover:bg-muted rounded cursor-pointer"},dc={class:"text-xxs text-foreground"},mc=ne({__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 A,N,S;const D=ie,C=be,_=we,x=he;return T(),L("div",tc,[y("div",nc,[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(D,{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]=[P(" Back to Home ")])),_:1})]),_:1}),y("div",ac,[l(Vi)])]),a(u)?(T(),L("div",oc,[P(V(a(v))+": ",1),y("p",sc,V((A=a(u))!=null&&A.schemaId?`${(N=a(u))==null?void 0:N.schemaId}.`:"")+V((S=a(u))==null?void 0:S.name),1)])):W("",!0),y("div",lc,[l(ec),l(x,null,{default:c(()=>[l(C,{"as-child":""},{default:c(()=>[y("a",{href:a(i),target:"_blank"},[y("div",ic,[l(D,{name:"hugeicons:chat-feedback-01",class:"size-4!"}),w[4]||(w[4]=y("span",{class:"text-xxs text-foreground"}," Feedback ",-1))])],8,rc)]),_:1}),l(_,null,{default:c(()=>w[5]||(w[5]=[P(" 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",uc,[l(D,{name:"hugeicons:github",class:"size-4!"})])],8,cc)]),_:1}),l(_,null,{default:c(()=>w[6]||(w[6]=[P(" 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]=(...E)=>a(n)&&a(n)(...E))},[l(D,{name:"hugeicons:git-merge",class:"size-4!"}),y("span",dc,V(a(s).public.version),1)])]),_:1}),l(_,null,{default:c(()=>[P(" Version: "+V(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(D,{name:"hugeicons:activity-02",class:"size-4!"})],2)]),_:1}),l(_,null,{default:c(()=>w[7]||(w[7]=[P(" 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]=E=>a(o)())},[l(D,{name:"hugeicons:settings-01",class:"size-4!"})])]),_:1}),l(_,null,{default:c(()=>w[8]||(w[8]=[P(" Settings (⌘,) ")])),_:1})]),_:1})])])}}}),fc="4.75rem";function pc({primarySideBarWidth:t,sidebarWidthPercentage:e,isDesktopMacWindow:n}){return e?n?`max(2.25rem, calc(${t}px - ${fc}))`:`${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 vc(){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 gc(){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=vc();Object.defineProperty(t,"bindAll",{enumerable:!0,get:function(){return n.bindAll}})}(Vt)),Vt}var Ze=gc(),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 yc(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 hc(t){var e=yc(t,"string");return rt(e)=="symbol"?e:e+""}function ke(t,e,n){return(e=hc(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 bc(t){return{x:Math.floor(t.x),y:Math.floor(t.y)}}function wc(t){return{x:t.x-Vn,y:t.y-Vn}}function _c(t){return{x:Math.max(t.x,0),y:Math.max(t.y,0)}}function xc(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=xc(_c(wc(bc(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 Sc(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 Tc(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(),Sc({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 Cc(){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=Tc({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 Ic(t){if(Array.isArray(t))return Eo(t)}function Dc(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function Ec(){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 Ic(t)||Dc(t)||Ao(t)||Ec()}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 Ac=_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 $c(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 Rc(t){return"nodeName"in t}function kc(t){return Rc(t)&&t.ownerDocument!==document}function Oc(t){var e=t.dragLeave,n=e.type,o=e.relatedTarget;return n!=="dragleave"?!1:Ot()?$c({dragLeave:e}):o==null?!0:Ac()?kc(o):o instanceof HTMLIFrameElement}function Nc(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 Lc=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=Lc(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 Pc(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 Fc(t){return t.dataTransfer?t.dataTransfer.setDragImage.bind(t.dataTransfer):null}function Mc(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 Uc(t){var e=t.event,n=t.dragType,o=t.getDropTargetsOver,r=t.dispatchEvent;if(!$a())return;var s=Vc({event:e,dragType:n,getDropTargetsOver:o});Zt.isActive=!0;var i={current:s};jt({event:e,current:s.dropTargets});var m=Pc({source:n.payload,dispatchEvent:r,initial:s});function u(p){var v=Mc({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){Oc({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(Nc({onDragEnd:f}))),{capture:!0});m.start({nativeSetDragImage:Fc(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 Vc(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:Uc},en=new Map;function zc(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 jc(t){var e=zc(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=Bc(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 Bc(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 qc(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,D,C=p.source,_=p.target,x=p.input,A=p.result,N=A===void 0?[]:A;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 E=o.get(S);if(E==null)return N;var $={input:x,source:C,element:E.element};if(E.canDrop&&!E.canDrop($))return u({source:C,target:E.element.parentElement,input:x,result:N});var R=(v=(g=E.getData)===null||g===void 0?void 0:g.call(E,$))!==null&&v!==void 0?v:{},O=(w=(D=E.getDropEffect)===null||D===void 0?void 0:D.call(E,$))!==null&&w!==void 0?w:n,k={data:R,element:E.element,dropEffect:O,isActiveDueToStickiness:!1};return u({source:C,target:E.element.parentElement,input:x,result:[].concat(Aa(N),[k])})}function d(p){var v=p.eventName,g=p.payload,w=Bt(g.location.current.dropTargets),D;try{for(w.s();!(D=w.n()).done;){var C,_=D.value,x=o.get(_.element),A=Ve(Ve({},g),{},{self:_});x==null||(C=x[v])===null||C===void 0||C.call(x,A)}}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})),D=new Set,C=Bt(g.location.previous.dropTargets),_;try{for(C.s();!(_=C.n()).done;){var x,A=_.value;D.add(A.element);var N=o.get(A.element),S=w.has(A.element),E=Ve(Ve({},g),{},{self:A});if(N==null||(x=N.onDropTargetChange)===null||x===void 0||x.call(N,E),!S){var $;N==null||($=N.onDragLeave)===null||$===void 0||$.call(N,E)}}}catch(X){C.e(X)}finally{C.f()}var R=Bt(g.location.current.dropTargets),O;try{for(R.s();!(O=R.n()).done;){var k,F,U=O.value;if(!D.has(U.element)){var Q=Ve(Ve({},g),{},{self:U}),j=o.get(U.element);j==null||(k=j.onDropTargetChange)===null||k===void 0||k.call(j,Q),j==null||(F=j.onDragEnter)===null||F===void 0||F.call(j,Q)}}}catch(X){R.e(X)}finally{R.f()}}};function h(p){f[p.eventName](p)}function b(p){var v=p.source,g=p.target,w=p.input,D=p.current,C=u({source:v,target:g,input:w});if(C.length>=D.length)return C;for(var _=qt(D),x=qt(C),A=[],N=0;N<_.length;N++){var S,E=_[N],$=x[N];if($!=null){A.push($);continue}var R=A[N-1],O=_[N-1];if((R==null?void 0:R.element)!==(O==null?void 0:O.element))break;var k=o.get(E.element);if(!k)break;var F={input:w,source:v,element:k.element};if(k.canDrop&&!k.canDrop(F)||!((S=k.getIsSticky)!==null&&S!==void 0&&S.call(k,F)))break;A.push(Ve(Ve({},E),{},{isActiveDueToStickiness:!0}))}return qt(A)}return{dropTargetForConsumers:m,getIsOver:b,dispatchEvent:h}}function Gc(t,e){var n=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=Hc(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 Hc(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 Qc(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 Wc(){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=Qc({},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=Gc(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 Kc(t){var e=t.typeKey,n=t.mount,o=t.dispatchEventToSource,r=t.onPostDispatch,s=t.defaultDropEffect,i=Wc(),m=qc({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 jc({typeKey:e,mount:h})}return{registerUsage:f,dropTarget:m.dropTargetForConsumers,monitor:i.monitorForConsumers}}var Yc=_n(function(){return navigator.userAgent.toLocaleLowerCase().includes("android")}),Xc="pdnd:android-fallback",Wn="text/plain",Jc="text/uri-list",Zc="application/vnd.pdnd",Dt=new WeakMap;function eu(t){return Dt.set(t.element,t),function(){Dt.delete(t.element)}}var Kn=Cc(),xn=Kc({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,D=Object.entries(g);w<D.length;w++){var C=ga(D[w],2),_=C[0],x=C[1];o.dataTransfer.setData(_,x??"")}Yc()&&!o.dataTransfer.types.includes(Wn)&&!o.dataTransfer.types.includes(Jc)&&o.dataTransfer.setData(Wn,Xc),o.dataTransfer.setData(Zc,"");var A={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:A,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()}),tu=xn.dropTarget,Sn=xn.monitor;function nu(t){return tt(xn.registerUsage(),eu(t),Ra(t.element,{attribute:"draggable",value:"true"}))}var ct=new Map,Tt=new Set;function ka(t){au(t);var e=ct.get(t);if(e)return e;var n={timeOfEngagementStart:Date.now()};return ct.set(t,n),n}function au(t){Tt.add(t)}function ou(t){Tt.clear(),t(),ct.forEach(function(e,n){Tt.has(n)||ct.delete(n)}),Tt.clear()}function su(){ct.clear()}var Yn=new Map;function lu(t){var e=Yn.get(t);if(e)return e;var n=ru(t);return Yn.set(t,n),n}function ru(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});ou(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),su(),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",iu="[".concat(tn,'="true"]');function cu(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 uu={startHitboxAtPercentageRemainingOfElement:{top:.25,right:.25,bottom:.25,left:.25},maxScrollAtPercentageRemainingOfHitbox:{top:.5,right:.5,bottom:.5,left:.5},timeDampeningDurationMs:400,maxMainAxisHitboxSize:180},du={standard:15*60,fast:25*60};function Oa(t){var e;return Jn(Jn({},uu),{},{maxPixelScrollPerSecond:du[(e=t==null?void 0:t.maxScrollSpeed)!==null&&e!==void 0?e:"standard"]})}var mu={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}},fu=["top","right","bottom","left"],pu={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 vu={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 gu(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 yu(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=gu({timeSinceLastFrame:n,config:u}),f=m?yu({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 hu(t,e){return e==="all"||t===e}function bu(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 wu(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?wu:m,d={x:n.clientX,y:n.clientY},f=u(e),h=fu.reduce(function(v,g){var w=vu[g]({clientRect:f,config:s}),D=pu[g];return!hu(D,i)||!bu({client:d,clientRect:w})||!mu[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 _u(t,e){var n=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=xu(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 xu(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(iu);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)),D=(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:D,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 Su(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=_u(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",D=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?D.top:0,left:o.left?D.left:0};(C.top!==0||C.left!==0)&&i.scrollBy(C);break}}}catch(_){u.e(_)}finally{u.f()}}function Tu(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)&&Su({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 Cu(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 Iu(t){var e=t.monitor,n=new Map,o=new Set;function r(d){return n.set(d.element,d),tt(cu(d.element),function(){return n.delete(d.element)})}function s(){var d=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},f=Cu({},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;Tu({input:f.location.current.input,source:f.source,findEntry:i,underUsersPointer:h,timeSinceLastFrame:b,getWindowScrollEntries:m})}return lu(e).onFrame(u),{autoScroll:r,autoScrollWindow:s}}var Du=Iu({monitor:Sn}),Eu=Du.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 Au={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 $u(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:Au[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 Ru(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 ku(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 Ou(){return{x:0,y:0}}function Nu(t){var e=t.render,n=t.nativeSetDragImage,o=t.getOffset,r=o===void 0?Ou: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 Lu={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"},Pu=ne({__name:"TabViewItemPreview",props:{icon:{},name:{}},setup(t){return(e,n)=>(T(),L("div",Lu,V(e.name),1))}}),Fu={class:"truncate"},Mu=ne({__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(nu({element:d,getInitialData:()=>e.tab,onDragStart:b=>{r.value=!0},onDrop:()=>{r.value=!1,e.selectTab(e.tab.id)},onGenerateDragPreview:({location:b,nativeSetDragImage:p})=>{Nu({nativeSetDragImage:p,getOffset:ku({element:d,input:b.current.input}),render({container:v}){return kn(Ro(Pu,{icon:e.tab.icon,name:e.tab.name},e.tab.name),v),()=>{kn(null,v)}}})}}),tu({element:f,getData:({input:b,element:p})=>{const v={id:e.tab.id};return $u(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",Fu,V(u.tab.name),1)]),_:1}),l(b,{side:"bottom"},{default:c(()=>[y("p",null,V(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)):W("",!0)],544)}}}),Uu={class:"flex items-center"},Gt=ne({__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",Uu,[n.measureOnly?(T(),L(le,{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(le,{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]=[P("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]=[P("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]=P(" 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]=P(" 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]=P(" Instance insights "))]),_:1})]),_:1})]),_:1})],64))])}}}),Vu=["data-electron-drag-region"],zu={class:"flex min-w-max items-end h-full"},ju={key:0,class:"flex h-full shrink-0 items-center bg-sidebar-accent/50 pl-1 pr-1"},Bu={class:"flex min-w-max items-end h-full"},qu={key:0,class:"flex h-full shrink-0 items-center bg-sidebar-accent/50 pl-1 pr-1"},Gu=ne({__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:D}=xt(b),{width:C}=xt(p),_=M(()=>an(n.selectedConnection??{type:xe.POSTGRES,method:sa.STRING})),x=M(()=>!!m.value&&!!u.value),A=M(()=>_.value.supportsQueryFiles),N=M(()=>!w.value||!C.value?!1:D.value+C.value>w.value),S=()=>{i()},E=M(()=>{if(!g.value)return!1;const R=d.value.length,O=d.value.findIndex(k=>{var F;return k.id===((F=g.value)==null?void 0:F.id)});return R>O+1});bn(R=>{const O=Kt(f);if(!O)return;const k=tt(Sn({onDragStart(F){v.value=!0},onDrop(F){v.value=!1;const{location:U,source:Q}=F;if(!U.current.dropTargets.length)return;const j=Q.data.id,X=U.current.dropTargets[0],Z=X.data.id,ae=Ua(X.data);if(!ae)return;const te=d.value.findIndex(I=>I.id===j),re=d.value.findIndex(I=>I.id===Z),B=Ru({startIndex:te,indexOfTarget:re,closestEdgeOfTarget:ae});e.moveTabTo(te,B)}}),Eu({element:O}));R(()=>{k()})});const $=M(()=>st());return(R,O)=>{const k=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":$.value?"":void 0},[W("",!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",zu,[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(le,null,ve(a(d),F=>{var U;return T(),K(Mu,{key:F.id,tab:F,isActive:F.id===((U=a(e).activeTab)==null?void 0:U.id),selectTab:a(e).selectTab,closeTab:a(e).closeTab,onRightClickItem:()=>{g.value=F}},null,8,["tab","isActive","selectTab","closeTab","onRightClickItem"])}),128))])),[[k,{duration:120}]])]),_:1}),g.value?(T(),K(a(jo),{key:0,hideWhenDetached:"",class:"w-56"},{default:c(()=>[l(a(Pt),{onSelect:O[0]||(O[0]=F=>a(e).closeTab(g.value.id))},{default:c(()=>[O[6]||(O[6]=P(" Close ")),l(a(Ut),null,{default:c(()=>O[5]||(O[5]=[P("⌘W")])),_:1})]),_:1}),l(a(Pt),{onSelect:O[1]||(O[1]=F=>a(e).closeOtherTab(g.value.id))},{default:c(()=>[O[8]||(O[8]=P(" Close other ")),l(a(Ut),null,{default:c(()=>O[7]||(O[7]=[P("⌘AO")])),_:1})]),_:1}),l(a(Pt),{disabled:!E.value,onSelect:O[2]||(O[2]=F=>a(e).closeToTheRight(g.value.id))},{default:c(()=>[O[10]||(O[10]=P(" Close to the right ")),l(a(Ut),null,{default:c(()=>O[9]||(O[9]=[P("⌘AX")])),_:1})]),_:1},8,["disabled"])]),_:1})):W("",!0)]),_:1}),A.value&&!N.value?(T(),L("div",ju,[l(Gt,{disabled:!x.value,onOpenStarterSql:a(o),onOpenNewSqlFile:a(r),onOpenSchemaBrowser:S,onOpenInstanceInsights:a(s)},null,8,["disabled","onOpenStarterSql","onOpenNewSqlFile","onOpenInstanceInsights"])])):W("",!0)])],512),y("div",Bu,[A.value&&N.value?(T(),L("div",qu,[l(Gt,{disabled:!x.value,onOpenStarterSql:a(o),onOpenNewSqlFile:a(r),onOpenSchemaBrowser:S,onOpenInstanceInsights:a(s)},null,8,["disabled","onOpenStarterSql","onOpenNewSqlFile","onOpenInstanceInsights"])])):W("",!0)])],512),A.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)):W("",!0)],10,Vu)}}}),Hu=["data-electron-drag-region"],Qu=["data-electron-drag-region"],Wu={key:0,class:"vitrual-light-trafic-button"},Ku=["data-electron-drag-region"],Yu={class:"window-no-drag flex items-center gap-2"},Xu=ne({__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(()=>pc({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,D=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",Wu)):W("",!0),a(r)?W("",!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,Ku)),l(D,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]=[P(" Toggle Sidebar ")])),_:1})]),_:1})],4),l(Gu),y("div",Yu,[l(D,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})):W("",!0)]),_:1}),l(w,null,{default:c(()=>b[3]||(b[3]=[P(" Toggle Sidebar ")])),_:1})]),_:1})])],8,Qu)],42,Hu)}}}),Ju={class:"h-full flex overflow-y-auto w-screen max-w-screen overflow-x-hidden"},Zu={class:"overflow-y-auto w-full h-full"},ed={class:"flex flex-col overflow-y-auto w-full h-full"},td={class:"h-full"},Ed=ne({__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]=D=>a(r).onResizeLayout(D))},{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(Xu),{primarySideBarWidth:a(o)},null,8,["primarySideBarWidth"]),Ke((T(),L("div",Ju,[a(i)?(T(),K(a(bs),{key:0})):W("",!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",Zu,[l(g,{id:"default-layout-body-group",direction:"vertical",modelValue:a(m),"onUpdate:modelValue":b[0]||(b[0]=D=>ye(m)?m.value=D: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",ed,[y("div",td,[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(mc))],4)]),_:3})}}});export{Ed as default};
@@ -1 +0,0 @@
1
- import{_ as e}from"./Bf2bW_MY.js";import{d as r,T as c,c as n,k as m,g as o,o as p}from"./DgGwe7jd.js";import"./CP-7VdtS.js";import"./DViCRsmA.js";import"./Cl3VX8Um.js";import"./BKAEFZqP.js";import"./CnQob-tn.js";import"./__PEYcIB.js";import"./DDsaDrGo.js";import"./B3iNzG14.js";const h=r({__name:"[name]",setup(s){const t=c(),i=n(()=>t.params.connectionId),a=n(()=>t.params.name);return(_,u)=>(p(),m(o(e),{"connection-id":o(i),"initial-tab":o(a)},null,8,["connection-id","initial-tab"]))}});export{h as default};
@@ -1 +0,0 @@
1
- import{s as e,b as r,a,S as s}from"./DLA-ioQ4.js";import{_ as i}from"./DYqShb5v.js";import"./CROH8wgk.js";import"./3jfBYqJb.js";import"./DgGwe7jd.js";var p={parser:a,get db(){return new s(2)},renderer:r,styles:e,init:i(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};export{p as diagram};
@@ -1 +0,0 @@
1
- import{_ as o}from"./C6CFIGob.js";import{d as e,k as t,o as r}from"./DgGwe7jd.js";import"./BnZ5qYkP.js";import"./dDqgUqt5.js";import"./CE0zlNDo.js";const d=e({__name:"index",setup(a){return(i,m)=>(r(),t(o,{"table-id":void 0}))}});export{d as default};
@@ -1 +0,0 @@
1
- {"id":"47c294b1-d6b3-4974-bd50-5046ae0a393e","timestamp":1779640856359,"matcher":{"static":{},"wildcard":{},"dynamic":{}},"prerendered":[]}