orcaq 1.1.5 → 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 (215) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/{CQzADP3y.js → 1VXrIDkr.js} +1 -1
  3. package/.output/public/_nuxt/1fIGBJPQ.js +1 -0
  4. package/.output/public/_nuxt/{BQfpgF4f.js → 1kY3DHv7.js} +1 -1
  5. package/.output/public/_nuxt/{CbANTWsS.js → 2TwRWQjG.js} +1 -1
  6. package/.output/public/_nuxt/{CWrGZxpH.js → 39ZZCZCn.js} +1 -1
  7. package/.output/public/_nuxt/{BmDMzOju.js → 3vYvhEat.js} +1 -1
  8. package/.output/public/_nuxt/9bnMBg54.js +1 -0
  9. package/.output/public/_nuxt/{BcuPgKcZ.js → B-u0WX5Q.js} +1 -1
  10. package/.output/public/_nuxt/{Di0QgSJz.js → B41tp0B8.js} +1 -1
  11. package/.output/public/_nuxt/B5rxJs06.js +1 -0
  12. package/.output/public/_nuxt/{jwI3t-NN.js → BCm7jnPt.js} +1 -1
  13. package/.output/public/_nuxt/BFMjnjgH.js +1 -0
  14. package/.output/public/_nuxt/{2bjDg-PP.js → BGAd-CMD.js} +1 -1
  15. package/.output/public/_nuxt/BG_B-fo0.js +1 -0
  16. package/.output/public/_nuxt/{DoIRSvuP.js → BLEKzUmC.js} +1 -1
  17. package/.output/public/_nuxt/BN2mQ8OV.js +20 -0
  18. package/.output/public/_nuxt/{XAHyd86s.js → BNnChlxR.js} +1 -1
  19. package/.output/public/_nuxt/BNyWhB4W.js +1 -0
  20. package/.output/public/_nuxt/{Dtfetpn0.js → BO-QgaRL.js} +1 -1
  21. package/.output/public/_nuxt/{D4dXVtWp.js → BOVFFCPB.js} +1 -1
  22. package/.output/public/_nuxt/{CFLipT9o.js → BRVpLa1E.js} +3 -3
  23. package/.output/public/_nuxt/{CtcvFTZM.js → BV4g1sVY.js} +1 -1
  24. package/.output/public/_nuxt/BXziI6Bt.js +3 -0
  25. package/.output/public/_nuxt/{BtWocXUF.js → BZQUF1W4.js} +1 -1
  26. package/.output/public/_nuxt/BZmEvFAZ.js +28 -0
  27. package/.output/public/_nuxt/B_G752SV.js +20 -0
  28. package/.output/public/_nuxt/Ba_fqsW2.js +1 -0
  29. package/.output/public/_nuxt/{DynamicTable.B3c2woGb.css → BaseDataGrid.C2ywM2-T.css} +1 -1
  30. package/.output/public/_nuxt/BbzZxPNQ.js +1 -0
  31. package/.output/public/_nuxt/{CGewvTrI.js → BhT0iBlH.js} +1 -1
  32. package/.output/public/_nuxt/Bhm1GL_M.js +1 -0
  33. package/.output/public/_nuxt/BiSZmDoN.js +1 -0
  34. package/.output/public/_nuxt/BjK8Fug8.js +1 -0
  35. package/.output/public/_nuxt/BjpSpz5C.js +1 -0
  36. package/.output/public/_nuxt/BkqB6n0T.js +1 -0
  37. package/.output/public/_nuxt/BoPjUGS6.js +1 -0
  38. package/.output/public/_nuxt/BtwwqY0e.js +1 -0
  39. package/.output/public/_nuxt/{BptGnFIG.js → BvD9dW-2.js} +1 -1
  40. package/.output/public/_nuxt/{CdVERIz5.js → Bw-4PosZ.js} +1 -1
  41. package/.output/public/_nuxt/C0l_59dE.js +1 -0
  42. package/.output/public/_nuxt/C1TOiVRQ.js +9 -0
  43. package/.output/public/_nuxt/{CQUEIz0K.js → C7A87LE3.js} +1 -1
  44. package/.output/public/_nuxt/C80Zs8U0.js +1 -0
  45. package/.output/public/_nuxt/CB56S0b2.js +39 -0
  46. package/.output/public/_nuxt/{i2P9wHne.js → CBgbjsPd.js} +1 -1
  47. package/.output/public/_nuxt/{_q4rKPCs.js → CCk2r9DD.js} +1 -1
  48. package/.output/public/_nuxt/CFZerEKx.js +2 -0
  49. package/.output/public/_nuxt/{CUU4aZu3.js → CG4v011f.js} +1 -1
  50. package/.output/public/_nuxt/{B9FaYCWq.js → CJnTtXrv.js} +1 -1
  51. package/.output/public/_nuxt/{Ba5PGSyB.js → CRDIOG8r.js} +1 -1
  52. package/.output/public/_nuxt/CSPqdI4x.js +1 -0
  53. package/.output/public/_nuxt/CTYqoFvv.js +1 -0
  54. package/.output/public/_nuxt/{hJtoF0XJ.js → CWGzL6OE.js} +1 -1
  55. package/.output/public/_nuxt/CYJEOEaU.js +1 -0
  56. package/.output/public/_nuxt/CYu-xp_f.js +1 -0
  57. package/.output/public/_nuxt/CZvnl0uO.js +52 -0
  58. package/.output/public/_nuxt/CadjlDLt.js +1 -0
  59. package/.output/public/_nuxt/{Ce7ha8Ij.js → CczQKYUP.js} +1 -1
  60. package/.output/public/_nuxt/CeXr_3vU.js +2 -0
  61. package/.output/public/_nuxt/{CY5xaULp.js → Ch-A9iSC.js} +1 -1
  62. package/.output/public/_nuxt/{MPvsaAca.js → Cj9tYr3P.js} +1 -1
  63. package/.output/public/_nuxt/Clm3Z8VL.js +1 -0
  64. package/.output/public/_nuxt/CpkrwN3Q.js +9 -0
  65. package/.output/public/_nuxt/{98JSO6jv.js → CrwM3gOU.js} +1 -1
  66. package/.output/public/_nuxt/{lID_8ynt.js → Culm7V2R.js} +1 -1
  67. package/.output/public/_nuxt/{ZS8y2W5x.js → CxZK-Vs6.js} +1 -1
  68. package/.output/public/_nuxt/{D0o3znGI.js → Cym7bWgs.js} +1 -1
  69. package/.output/public/_nuxt/CzBFxx8v.js +1 -0
  70. package/.output/public/_nuxt/{COm5WeiJ.js → D0oaRUYx.js} +1 -1
  71. package/.output/public/_nuxt/{BNM5p7H5.js → D7uoAo-G.js} +181 -181
  72. package/.output/public/_nuxt/D8KJQqug.js +1 -0
  73. package/.output/public/_nuxt/D8Z5BXgG.js +26 -0
  74. package/.output/public/_nuxt/{-lZvfnzr.js → D9Ycznwo.js} +1 -1
  75. package/.output/public/_nuxt/DDK9-_jm.js +1 -0
  76. package/.output/public/_nuxt/DDQU7vSH.js +1 -0
  77. package/.output/public/_nuxt/{C6Cu0sLe.js → DEjwIQuc.js} +1 -1
  78. package/.output/public/_nuxt/{B6tZoMuV.js → DLIUYAz9.js} +1 -1
  79. package/.output/public/_nuxt/{D2eDr3o2.js → DQdL5Jcl.js} +1 -1
  80. package/.output/public/_nuxt/{CZGnIeYQ.js → DRuCf0Sx.js} +1 -1
  81. package/.output/public/_nuxt/DSEkO8kW.js +1 -0
  82. package/.output/public/_nuxt/{BzOiQq7V.js → DSOwr8Hs.js} +4 -4
  83. package/.output/public/_nuxt/{BiDM-4Ma.js → DStg2VwN.js} +1 -1
  84. package/.output/public/_nuxt/{Di03NGSO.js → DTlu-CJn.js} +1 -1
  85. package/.output/public/_nuxt/{CGW0AH4b.js → DUvUg_V7.js} +1 -1
  86. package/.output/public/_nuxt/{BEhaJXPi.js → D_fdC3mJ.js} +1 -1
  87. package/.output/public/_nuxt/Da1F0IxL.js +1 -0
  88. package/.output/public/_nuxt/{Ds73uRhN.js → DcXAnOS1.js} +1 -1
  89. package/.output/public/_nuxt/DdtQIDaq.js +1 -0
  90. package/.output/public/_nuxt/Dfz8k_Rn.js +1 -0
  91. package/.output/public/_nuxt/DitYzGT4.js +1 -0
  92. package/.output/public/_nuxt/Djh3G2Nf.js +1 -0
  93. package/.output/public/_nuxt/DmWFeTaU.js +1 -0
  94. package/.output/public/_nuxt/{DcCuT_qB.js → DtgJAz2h.js} +1 -1
  95. package/.output/public/_nuxt/{DKGci8Z9.js → DuKway_J.js} +1 -1
  96. package/.output/public/_nuxt/{BqjI13AR.js → DxF9DsEl.js} +1 -1
  97. package/.output/public/_nuxt/{BX-UQU8e.js → DyFXtlg0.js} +1 -1
  98. package/.output/public/_nuxt/DzN4YRfa.js +7 -0
  99. package/.output/public/_nuxt/{B8-wNbMP.js → DzaPC1WB.js} +1 -1
  100. package/.output/public/_nuxt/{O78AcFB2.js → DzjHXopz.js} +1 -1
  101. package/.output/public/_nuxt/{default.B0xlD4Sl.css → FileTree.CtTH3U6l.css} +1 -1
  102. package/.output/public/_nuxt/{CopwM-Pr.js → LUfaevBS.js} +1 -1
  103. package/.output/public/_nuxt/PreviewRelationTable.BA0i90jA.css +1 -0
  104. package/.output/public/_nuxt/{DWkbgNG-.js → RFRrMFyH.js} +1 -1
  105. package/.output/public/_nuxt/{B1LoOOkn.js → RTN5rY4m.js} +1 -1
  106. package/.output/public/_nuxt/W-4KVxy4.js +22 -0
  107. package/.output/public/_nuxt/{DehrK61g.js → XVZ0obUR.js} +1 -1
  108. package/.output/public/_nuxt/Z5g5B4NJ.js +1 -0
  109. package/.output/public/_nuxt/_ltJfz1p.js +1 -0
  110. package/.output/public/_nuxt/builds/latest.json +1 -1
  111. package/.output/public/_nuxt/builds/meta/1cbed594-12e2-48e6-bea9-7a9159c3c1d3.json +1 -0
  112. package/.output/public/_nuxt/default.DixIpIal.css +1 -0
  113. package/.output/public/_nuxt/dkyHOJLf.js +1 -0
  114. package/.output/public/_nuxt/entry.D1DMaixs.css +1 -0
  115. package/.output/public/_nuxt/{D2uh44XM.js → gWmEw6BT.js} +1 -1
  116. package/.output/public/_nuxt/{index.P0q-dO_S.css → index.C4HrDOPM.css} +1 -1
  117. package/.output/public/_nuxt/ixgiI20S.js +1 -0
  118. package/.output/public/_nuxt/{LQx-wtAv.js → jJeqAxmP.js} +1 -1
  119. package/.output/public/_nuxt/lisFd8W1.js +2 -0
  120. package/.output/public/_nuxt/{DCaozlmM.js → nrlEwpIH.js} +2 -2
  121. package/.output/public/_nuxt/uHyBIwWw.js +1 -0
  122. package/.output/public/_nuxt/vGkKA7iH.js +16 -0
  123. package/.output/public/_nuxt/{BYWbdMZt.js → z1xPtaLw.js} +1 -1
  124. package/.output/server/chunks/_/db-connection.mjs +3 -0
  125. package/.output/server/chunks/_/db-connection.mjs.map +1 -1
  126. package/.output/server/chunks/_/registry.mjs +116 -0
  127. package/.output/server/chunks/_/registry.mjs.map +1 -0
  128. package/.output/server/chunks/_/{native-backup.mjs → runtime.mjs} +325 -164
  129. package/.output/server/chunks/_/runtime.mjs.map +1 -0
  130. package/.output/server/chunks/_/{native-backup-jobs.mjs → service.mjs} +185 -248
  131. package/.output/server/chunks/_/service.mjs.map +1 -0
  132. package/.output/server/chunks/_/sql-mutation-statements.mjs +496 -0
  133. package/.output/server/chunks/_/sql-mutation-statements.mjs.map +1 -0
  134. package/.output/server/chunks/_/tables.factory.mjs +57 -29
  135. package/.output/server/chunks/_/tables.factory.mjs.map +1 -1
  136. package/.output/server/chunks/build/client.manifest.mjs +816 -687
  137. package/.output/server/chunks/build/client.manifest.mjs.map +1 -1
  138. package/.output/server/chunks/nitro/nitro.mjs +692 -655
  139. package/.output/server/chunks/routes/api/database-backup/capability.get.mjs +7 -2
  140. package/.output/server/chunks/routes/api/database-backup/capability.get.mjs.map +1 -1
  141. package/.output/server/chunks/routes/api/database-export/export-database.mjs +4 -3
  142. package/.output/server/chunks/routes/api/database-export/export-database.mjs.map +1 -1
  143. package/.output/server/chunks/routes/api/database-export/jobs/_jobId/download.get.mjs +1 -20
  144. package/.output/server/chunks/routes/api/database-export/jobs/_jobId/download.get.mjs.map +1 -1
  145. package/.output/server/chunks/routes/api/database-export/jobs/_jobId_.get.mjs +1 -20
  146. package/.output/server/chunks/routes/api/database-export/jobs/_jobId_.get.mjs.map +1 -1
  147. package/.output/server/chunks/routes/api/database-import/import-database.mjs +14 -3
  148. package/.output/server/chunks/routes/api/database-import/import-database.mjs.map +1 -1
  149. package/.output/server/chunks/routes/api/database-import/jobs/_jobId_.get.mjs +1 -20
  150. package/.output/server/chunks/routes/api/database-import/jobs/_jobId_.get.mjs.map +1 -1
  151. package/.output/server/chunks/routes/api/tables/bulk-delete.post.mjs +18 -10
  152. package/.output/server/chunks/routes/api/tables/bulk-delete.post.mjs.map +1 -1
  153. package/.output/server/chunks/routes/api/tables/bulk-insert.post.mjs +90 -0
  154. package/.output/server/chunks/routes/api/tables/bulk-insert.post.mjs.map +1 -0
  155. package/.output/server/chunks/routes/api/tables/bulk-update.post.mjs +50 -9
  156. package/.output/server/chunks/routes/api/tables/bulk-update.post.mjs.map +1 -1
  157. package/.output/server/package.json +1 -2
  158. package/package.json +1 -1
  159. package/.output/public/_nuxt/0olA6U9-.js +0 -1
  160. package/.output/public/_nuxt/3MFLtJaB.js +0 -2
  161. package/.output/public/_nuxt/5eGdUlL5.js +0 -1
  162. package/.output/public/_nuxt/9N_axiMO.js +0 -1
  163. package/.output/public/_nuxt/B7-PqSUV.js +0 -1
  164. package/.output/public/_nuxt/BDMb-Pyv.js +0 -1
  165. package/.output/public/_nuxt/BN6ZmV2J.js +0 -1
  166. package/.output/public/_nuxt/BjdYdiyf.js +0 -1
  167. package/.output/public/_nuxt/By3LMj8D.js +0 -1
  168. package/.output/public/_nuxt/CAw6QK8a.js +0 -1
  169. package/.output/public/_nuxt/CGtwVe-7.js +0 -1
  170. package/.output/public/_nuxt/CJZf1MDD.js +0 -1
  171. package/.output/public/_nuxt/CKTZRDiI.js +0 -1
  172. package/.output/public/_nuxt/CQas_zLl.js +0 -20
  173. package/.output/public/_nuxt/CS5akSNT.js +0 -1
  174. package/.output/public/_nuxt/CTkQN1XK.js +0 -39
  175. package/.output/public/_nuxt/CUiGarir.js +0 -1
  176. package/.output/public/_nuxt/CYMhtSRb.js +0 -1
  177. package/.output/public/_nuxt/CYkdQXWd.js +0 -1
  178. package/.output/public/_nuxt/CZmkQ9aO.js +0 -2
  179. package/.output/public/_nuxt/Cc2igSge.js +0 -67
  180. package/.output/public/_nuxt/Cgf5py_m.js +0 -9
  181. package/.output/public/_nuxt/CpBFRs2a.js +0 -1
  182. package/.output/public/_nuxt/Cr2BKem3.js +0 -1
  183. package/.output/public/_nuxt/CuaktsoE.js +0 -1
  184. package/.output/public/_nuxt/D1veMm0L.js +0 -1
  185. package/.output/public/_nuxt/D3ZJP2ze.js +0 -1
  186. package/.output/public/_nuxt/DGuH4YHZ.js +0 -1
  187. package/.output/public/_nuxt/DJa6BJMa.js +0 -1
  188. package/.output/public/_nuxt/DTEzbo2c.js +0 -1
  189. package/.output/public/_nuxt/DUliC29v.js +0 -1
  190. package/.output/public/_nuxt/DW1m4Hxy.js +0 -1
  191. package/.output/public/_nuxt/DWnJMbXf.js +0 -1
  192. package/.output/public/_nuxt/DXQS6bj6.js +0 -2
  193. package/.output/public/_nuxt/Dah6izTx.js +0 -22
  194. package/.output/public/_nuxt/Dcz-n576.js +0 -1
  195. package/.output/public/_nuxt/DdUuVBMi.js +0 -1
  196. package/.output/public/_nuxt/Di_nUA-u.js +0 -7
  197. package/.output/public/_nuxt/DnPYRTtC.js +0 -1
  198. package/.output/public/_nuxt/DpyRXhd7.js +0 -1
  199. package/.output/public/_nuxt/DuMEW1lw.js +0 -1
  200. package/.output/public/_nuxt/DvATq7eC.js +0 -1
  201. package/.output/public/_nuxt/DwfS-MFd.js +0 -1
  202. package/.output/public/_nuxt/DyIuwJ7R.js +0 -1
  203. package/.output/public/_nuxt/OMgXwGIN.js +0 -26
  204. package/.output/public/_nuxt/QuickQuery.CJ7tNjo4.css +0 -1
  205. package/.output/public/_nuxt/Th_o-5A0.js +0 -1
  206. package/.output/public/_nuxt/ZDrzZQNQ.js +0 -1
  207. package/.output/public/_nuxt/builds/meta/5680cb77-cc14-4e94-a235-c54fb463e1ca.json +0 -1
  208. package/.output/public/_nuxt/entry.CNXXuHFL.css +0 -1
  209. package/.output/public/_nuxt/fkIyRXiG.js +0 -1
  210. package/.output/public/_nuxt/nZnnkbcv.js +0 -3
  211. package/.output/public/_nuxt/s75xJ0Ts.js +0 -10
  212. package/.output/server/chunks/_/native-backup-jobs.mjs.map +0 -1
  213. package/.output/server/chunks/_/native-backup.mjs.map +0 -1
  214. package/.output/server/node_modules/ag-grid-community/dist/package/main.esm.mjs +0 -50065
  215. package/.output/server/node_modules/ag-grid-community/package.json +0 -113
@@ -1,2 +0,0 @@
1
- import{d as D,aa as ht,r as O,aK as _t,k as A,l as V,g as o,o as S,w as l,D as R,ak as kt,aJ as yt,e as B,m as I,n as j,j as z,u as Ie,a as je,dz as Ve,az as bt,A as L,c as oe,b as We,aq as Ke,f as i,a0 as F,z as W,F as Y,s as ne,q as Ye,t as U,aY as Ct,a_ as xt,a$ as $t,v as Ge,N as St,O as Et,Q as Tt,R as It,S as Wt,T as Mt,U as At,V as Bt,a5 as ge,dA as Dt,a6 as Lt,a3 as Me,a1 as ve,W as we,p as $e,aS as Ne,dB as Nt,at as Pt,aT as Ot,bm as Rt,aN as Ht,dC as Ft,dD as he,dE as Ae,K as Pe,aG as Q,aH as Qe,X as Be,Y as De,bn as Je,$ as Xe,dF as zt,bs as qt,Z as Ut,i as te,_ as jt,bj as Vt,x as Kt,y as Yt,C as Gt,B as Qt,dG as Jt,dH as Xt,dI as Zt,aP as eo,cY as to,dr as oo}from"./BNM5p7H5.js";import{i as Ze,g as et,a as se}from"./BN6ZmV2J.js";import{_ as tt}from"./DpyRXhd7.js";import{i as no,_ as Se}from"./DW1m4Hxy.js";import{F as so,u as ro,a as io,b as ao,c as lo,E as co,d as uo,t as po,e as _e}from"./CFLipT9o.js";import{_ as mo,a as fo,b as vo,e as wo,c as go}from"./Th_o-5A0.js";import{_ as ho}from"./CZGnIeYQ.js";import{_ as _o,j as ko,k as yo}from"./DGuH4YHZ.js";import{_ as bo}from"./CKTZRDiI.js";import"./CYMhtSRb.js";import"./BjdYdiyf.js";var Co=D({__name:"AvatarFallback",props:{delayMs:{type:Number,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(e){const t=e,s=no();ht();const r=O(t.delayMs===void 0);return _t(n=>{if(t.delayMs&&yt){const a=window.setTimeout(()=>{r.value=!0},t.delayMs);n(()=>{window.clearTimeout(a)})}}),(n,a)=>r.value&&o(s).imageLoadingStatus.value!=="loaded"?(S(),A(o(kt),{key:0,"as-child":n.asChild,as:n.as},{default:l(()=>[R(n.$slots,"default")]),_:3},8,["as-child","as"])):V("v-if",!0)}}),xo=Co;const $o={"data-slot":"table-container",class:"relative w-full overflow-auto"},So=D({__name:"Table",props:{class:{}},setup(e){const t=e;return(s,r)=>(S(),B("div",$o,[I("table",{"data-slot":"table",class:j(o(z)("w-full caption-bottom text-sm",t.class))},[R(s.$slots,"default")],2)]))}}),Eo=D({__name:"TableBody",props:{class:{}},setup(e){const t=e;return(s,r)=>(S(),B("tbody",{"data-slot":"table-body",class:j(o(z)("[&_tr:last-child]:border-0",t.class))},[R(s.$slots,"default")],2))}}),ae=D({__name:"TableCell",props:{class:{}},setup(e){const t=e;return(s,r)=>(S(),B("td",{"data-slot":"table-cell",class:j(o(z)("p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",t.class))},[R(s.$slots,"default")],2))}}),Oe=D({__name:"TableRow",props:{class:{}},setup(e){const t=e;return(s,r)=>(S(),B("tr",{"data-slot":"table-row",class:j(o(z)("hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors",t.class))},[R(s.$slots,"default")],2))}}),le=D({__name:"TableHead",props:{class:{}},setup(e){const t=e;return(s,r)=>(S(),B("th",{"data-slot":"table-head",class:j(o(z)("text-muted-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",t.class))},[R(s.$slots,"default")],2))}}),To=D({__name:"TableHeader",props:{class:{}},setup(e){const t=e;return(s,r)=>(S(),B("thead",{"data-slot":"table-header",class:j(o(z)("[&_tr]:border-b",t.class))},[R(s.$slots,"default")],2))}}),Io={key:1,class:"rounded-md border border-border w-full"},Wo={class:"flex items-center gap-2 truncate"},Mo={class:"w-80"},Ao={class:"text-muted-foreground truncate"},Bo={class:"flex flex-wrap gap-1"},Do={class:"flex items-center justify-end gap-1"},Lo=D({__name:"ConnectionsList",props:{connections:{}},emits:["edit","delete","create"],setup(e,{emit:t}){const{openWorkspaceWithConnection:s}=Ie(),r=je(),{checkAndConfirm:n}=Ve(),a=We(),v=e,w=t,u=O(null),c=bt(L,{name:"hugeicons:database"}),d=oe(()=>Ze(a.public.sqlite3ConnectionsEnabled)),E=_=>{if(_.method!==ge.STRING||!_.connectionString)return null;try{return Dt(_.connectionString)}catch{return null}},p=_=>_.type===Lt.ORACLE?_.serviceName:_.database,g=_=>{if(_.method===ge.FILE){const k=_.filePath||"SQLite file not selected";return{summary:k,tooltip:k}}if(_.method===ge.STRING){const k=E(_),T=_.connectionString||"Invalid connection string";return k?{summary:`${k.host}${k.database?`:${k.database}`:""}`,tooltip:`${k.host}${k.port?`:${k.port}`:""}${k.database?`/${k.database}`:""}`}:{summary:T,tooltip:T}}const m=_.host||"Host not set",x=p(_);return{summary:`${m}${x?`:${x}`:""}`,tooltip:`${m}${_.port?`:${_.port}`:""}${x?`/${x}`:""}`}},f=oe(()=>v.connections.map(_=>{var m;return{connection:_,details:g(_),icon:((m=et(_.type))==null?void 0:m.icon)??c}})),$=_=>{u.value=_},b=()=>{u.value&&(w("delete",u.value),u.value=null)},C=async _=>{se(_,d.value)||!await n(_)||s({connId:_.id,wsId:_.workspaceId})};return(_,m)=>{const x=Ke;return v.connections.length===0?(S(),A(x,{key:0,title:"No connections yet",desc:"Click Add Connection to create your first database connection."},{default:l(()=>[i(o(F),{size:"sm",variant:"outline",onClick:m[0]||(m[0]=k=>w("create"))},{default:l(()=>[i(o(L),{name:"hugeicons:plus-sign",class:"size-4!"}),m[3]||(m[3]=W(" Add Connection "))]),_:1})]),_:1})):(S(),B("div",Io,[i(o(So),null,{default:l(()=>[i(o(To),null,{default:l(()=>[i(o(Oe),{class:"hover:bg-transparent"},{default:l(()=>[i(o(le),null,{default:l(()=>m[4]||(m[4]=[W("Name")])),_:1}),i(o(le),null,{default:l(()=>m[5]||(m[5]=[W("Connection Details")])),_:1}),i(o(le),null,{default:l(()=>m[6]||(m[6]=[W("Tag Envs")])),_:1}),i(o(le),{class:"text-right"},{default:l(()=>m[7]||(m[7]=[W("Actions")])),_:1})]),_:1})]),_:1}),i(o(Eo),null,{default:l(()=>[(S(!0),B(Y,null,ne(f.value,k=>(S(),A(o(Oe),{key:k.connection.id,class:"hover:bg-muted/30 w-full"},{default:l(()=>[i(o(ae),null,{default:l(()=>[I("div",Wo,[(S(),A(Ye(k.icon),{class:"size-5!"})),W(" "+U(k.connection.name),1)])]),_:2},1024),i(o(ae),null,{default:l(()=>[i(o(Ct),null,{default:l(()=>[i(o(xt),{"as-child":""},{default:l(()=>[I("div",Mo,[I("div",Ao,U(k.details.summary),1)])]),_:2},1024),i(o($t),null,{default:l(()=>[I("p",null,U(k.details.tooltip),1)]),_:2},1024)]),_:2},1024)]),_:2},1024),i(o(ae),null,{default:l(()=>[I("div",Bo,[(S(!0),B(Y,null,ne(o(r).getTagsByIds(k.connection.tagIds??[]),T=>(S(),A(o(Ge),{key:T.id,tag:T},null,8,["tag"]))),128))])]),_:2},1024),i(o(ae),{class:"text-right"},{default:l(()=>[I("div",Do,[i(o(F),{variant:"outline",size:"iconMd",onClick:T=>_.$emit("edit",k.connection)},{default:l(()=>[i(o(L),{name:"hugeicons:edit-02"})]),_:2},1032,["onClick"]),i(o(F),{variant:"outline",size:"iconMd",onClick:T=>$(k.connection.id)},{default:l(()=>[i(o(L),{name:"hugeicons:delete-02"})]),_:2},1032,["onClick"]),i(o(F),{variant:"default",size:"sm",disabled:o(se)(k.connection,d.value),onClick:T=>C(k.connection)},{default:l(()=>[i(o(L),{name:"hugeicons:square-arrow-up-right"}),W(" "+U(o(se)(k.connection,d.value)?"Disabled":"Connect"),1)]),_:2},1032,["disabled","onClick"])])]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1}),i(o(St),{open:!!u.value,"onUpdate:open":m[2]||(m[2]=k=>!k)},{default:l(()=>[i(o(Et),{class:"border"},{default:l(()=>[i(o(Tt),null,{default:l(()=>[i(o(It),null,{default:l(()=>m[8]||(m[8]=[W("Are you sure?")])),_:1}),i(o(Wt),null,{default:l(()=>m[9]||(m[9]=[W(" This will permanently delete this database connection. This action cannot be undone. ")])),_:1})]),_:1}),i(o(Mt),null,{default:l(()=>[i(o(At),{class:"border",onClick:m[1]||(m[1]=k=>u.value=null)},{default:l(()=>m[10]||(m[10]=[W("Cancel")])),_:1}),i(o(Bt),{class:"border bg-red-600 hover:bg-red-700",onClick:b},{default:l(()=>m[11]||(m[11]=[W(" Delete ")])),_:1})]),_:1})]),_:1})]),_:1},8,["open"])]))}}}),No=D({__name:"CardFooter",props:{class:{}},setup(e){const t=e;return(s,r)=>(S(),B("div",{"data-slot":"card-footer",class:j(o(z)("flex items-center px-6 [.border-t]:pt-6",t.class))},[R(s.$slots,"default")],2))}}),Po=D({__name:"CardHeader",props:{class:{}},setup(e){const t=e;return(s,r)=>(S(),B("div",{"data-slot":"card-header",class:j(o(z)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",t.class))},[R(s.$slots,"default")],2))}}),Oo=D({__name:"CardTitle",props:{class:{}},setup(e){const t=e;return(s,r)=>(S(),B("h3",{"data-slot":"card-title",class:j(o(z)("leading-none font-semibold",t.class))},[R(s.$slots,"default")],2))}}),Ro={class:"flex flex-col items-center"},Ho={class:"w-full"},Fo={class:"flex items-center justify-between rounded-md bg-card py-4"},zo=D({__name:"ManagementConnection",props:{connections:{},workspaceId:{}},setup(e){const t=O(!1),{createConnection:s}=Ie(),r=Me(),n=O(null),a=()=>{n.value=null,t.value=!0},v=d=>{s(d)},w=d=>{r.updateConnection(d)},u=d=>{n.value=d,t.value=!0},c=d=>{r.onDeleteConnection(d)};return(d,E)=>{const p=L;return S(),B("div",Ro,[I("div",Ho,[I("div",Fo,[E[2]||(E[2]=I("div",null,[I("h1",{class:"text-xl font-medium"},"Management Connections"),I("p",{class:"text-muted-foreground"}," Manage your database connections in one place ")],-1)),i(o(F),{id:"tour-add-connection-btn",size:"sm",variant:"outline",onClick:a},{default:l(()=>[i(p,{name:"lucide:plus",class:"size-4!"}),E[1]||(E[1]=W(" Add Connection "))]),_:1})]),i(Lo,{connections:d.connections,onEdit:u,onDelete:c,onCreate:a},null,8,["connections"]),i(tt,{open:t.value,"editing-connection":n.value,"onUpdate:open":E[0]||(E[0]=g=>t.value=g),onAddNew:v,onUpdate:w,workspaceId:d.workspaceId},null,8,["open","editing-connection","workspaceId"])])])}}}),qo={class:"w-full overflow-x-auto"},Uo=D({__name:"ManagementConnectionModal",props:{open:{},connections:{},workspaceId:{}},emits:["update:open"],setup(e,{emit:t}){const s=t;return(r,n)=>(S(),A(o(ve),{open:!!r.open,"onUpdate:open":n[0]||(n[0]=a=>s("update:open",a))},{default:l(()=>[i(o(we),{class:"w-[95vw]! max-w-[55vw]!"},{default:l(()=>[I("div",qo,[i(zo,{connections:r.connections,"workspace-id":r.workspaceId},null,8,["connections","workspace-id"])])]),_:1})]),_:1},8,["open"]))}}),Ee=D({__name:"AvatarFallback",props:{delayMs:{},asChild:{type:Boolean},as:{},class:{}},setup(e){const t=e,s=oe(()=>{const{class:r,...n}=t;return n});return(r,n)=>(S(),A(o(xo),$e({"data-slot":"avatar-fallback"},s.value,{class:o(z)("bg-muted flex size-full items-center justify-center rounded-full",t.class)}),{default:l(()=>[R(r.$slots,"default")]),_:3},16,["class"]))}}),ot=Symbol();function Le(){const e=Ne(so),t=Ne(ot);if(!e)throw new Error("useFormField should be used within <FormField>");const{name:s}=e,r=t,n={valid:lo(s),isDirty:ao(s),isTouched:io(s),error:ro(s)};return{id:r,name:s,formItemId:`${r}-form-item`,formDescriptionId:`${r}-form-item-description`,formMessageId:`${r}-form-item-message`,...n}}const ke=D({__name:"FormControl",setup(e){const{error:t,formItemId:s,formDescriptionId:r,formMessageId:n}=Le();return(a,v)=>(S(),A(o(Nt),{id:o(s),"data-slot":"form-control","aria-describedby":o(t)?`${o(r)} ${o(n)}`:`${o(r)}`,"aria-invalid":!!o(t)},{default:l(()=>[R(a.$slots,"default")]),_:3},8,["id","aria-describedby","aria-invalid"]))}}),ye=D({__name:"FormItem",props:{class:{}},setup(e){const t=e,s=Pt();return Ot(ot,s),(r,n)=>(S(),B("div",{"data-slot":"form-item",class:j(o(z)("grid gap-2",t.class))},[R(r.$slots,"default")],2))}}),be=D({__name:"FormLabel",props:{for:{},asChild:{type:Boolean},as:{},class:{}},setup(e){const t=e,{error:s,formItemId:r}=Le();return(n,a)=>(S(),A(o(Rt),{"data-slot":"form-label","data-error":!!o(s),class:j(o(z)("data-[error=true]:text-destructive-foreground",t.class)),for:o(r)},{default:l(()=>[R(n.$slots,"default")]),_:3},8,["data-error","class","for"]))}}),Ce=D({__name:"FormMessage",props:{class:{}},setup(e){const t=e,{name:s,formMessageId:r}=Le();return(n,a)=>(S(),A(o(co),{id:o(r),"data-slot":"form-message",as:"p",name:Ht(o(s)),class:j(o(z)("text-destructive-foreground text-sm",t.class))},null,8,["id","name","class"]))}}),nt=["lucide:badge","lucide:building-2","lucide:bone","lucide:book","hugeicons:ai-brain-05","lucide:circle-dashed","lucide:chess-bishop","lucide:chess-king","lucide:chess-pawn","lucide:chess-queen","lucide:chess-rook","lucide:fan","lucide:skull","lucide:ship-wheel","lucide:bug","lucide:hamburger"],pe=nt[0],jo=Ft({name:he({message:"Workspace name is required."}),desc:he().optional(),icon:he().default(pe)});function Vo(e){const t=Ae(),s=uo({validationSchema:po(jo),initialValues:e.workspace?{name:e.workspace.name,desc:e.workspace.desc,icon:e.workspace.icon||pe}:{name:`My workspace ${(e==null?void 0:e.workspaceSeq)||0}`,icon:pe},name:"workspace-form"}),r=s.handleSubmit(n=>{!!e.workspace?(t.updateWorkspace({...e.workspace,desc:(n==null?void 0:n.desc)||void 0,name:n.name,icon:n.icon}),Pe("Workspace has been updated",{description:Q().toString()})):(t.createWorkspace({desc:(n==null?void 0:n.desc)||void 0,id:Qe(),name:n.name,icon:n.icon,createdAt:Q().toISOString()}),Pe("Workspace has been created",{description:Q().toString()})),e.onClose()});return{form:s,onSubmit:r}}const Ko={class:"grid grid-cols-8 gap-2"},st=D({__name:"CreateWorkspaceModal",props:{open:{},workspace:{},workspaceSeq:{}},emits:["update:open"],setup(e,{emit:t}){const s=e,r=t,n=()=>{r("update:open",!1)},{onSubmit:a}=Vo({workspace:s.workspace,workspaceSeq:s.workspaceSeq,onClose:n});return(v,w)=>{const u=L;return S(),A(o(ve),{open:!!v.open,"onUpdate:open":w[1]||(w[1]=c=>r("update:open",c))},{default:l(()=>[i(o(we),null,{default:l(()=>[i(o(Be),null,{default:l(()=>[i(o(De),null,{default:l(()=>[W(U(v.workspace?"Update workspace":"New workspace"),1)]),_:1})]),_:1}),I("form",{class:"space-y-4",onSubmit:w[0]||(w[0]=(...c)=>o(a)&&o(a)(...c))},[i(o(_e),{name:"icon"},{default:l(({componentField:c})=>[i(o(ye),null,{default:l(()=>[i(o(be),null,{default:l(()=>w[2]||(w[2]=[W("Icon")])),_:1}),i(o(ke),null,{default:l(()=>[i(o(mo),null,{default:l(()=>[i(o(fo),{"as-child":""},{default:l(()=>[i(o(Se),{id:"tour-workspace-icon",class:"cursor-pointer focus:ring-2 focus:ring-primary focus:outline-none",tabindex:"0",role:"button","aria-label":"Select workspace icon"},{default:l(()=>[i(o(Ee),null,{default:l(()=>[i(u,{name:c.modelValue||"hugeicons:folder-01",class:"size-5!"},null,8,["name"])]),_:2},1024)]),_:2},1024)]),_:2},1024),i(o(vo),{class:"w-full p-4"},{default:l(()=>[I("div",Ko,[(S(!0),B(Y,null,ne(o(nt),d=>(S(),A(o(Se),{onClick:E=>c.onChange(d),key:d,class:"cursor-pointer"},{default:l(()=>[i(o(Ee),null,{default:l(()=>[i(u,{name:d,class:"size-5!"},null,8,["name"])]),_:2},1024)]),_:2},1032,["onClick"]))),128))])]),_:2},1024)]),_:2},1024)]),_:2},1024),i(o(Ce))]),_:2},1024)]),_:1}),i(o(_e),{name:"name"},{default:l(({componentField:c})=>[i(o(ye),null,{default:l(()=>[i(o(be),{class:"gap-1"},{default:l(()=>w[3]||(w[3]=[W("Name "),I("span",{class:"text-red-500"},"*",-1)])),_:1}),i(o(ke),null,{default:l(()=>[i(o(Je),$e({id:"tour-workspace-name",type:"text",placeholder:"Workspace name"},c),null,16)]),_:2},1024),i(o(Ce))]),_:2},1024)]),_:1}),i(o(_e),{name:"desc"},{default:l(({componentField:c})=>[i(o(ye),null,{default:l(()=>[i(o(be),null,{default:l(()=>w[4]||(w[4]=[W("Description")])),_:1}),i(o(ke),null,{default:l(()=>[i(o(ho),$e({id:"tour-workspace-desc",placeholder:"Workspace description ..."},c),null,16)]),_:2},1024),i(o(Ce))]),_:2},1024)]),_:1}),i(o(Xe),{class:"mt-4"},{default:l(()=>[i(o(F),{id:"tour-workspace-create",type:"submit"},{default:l(()=>[W(U(v.workspace?"Update":"Create"),1)]),_:1})]),_:1})],32)]),_:1})]),_:1},8,["open"])}}}),Yo=D({__name:"RestoreDataModal",props:{open:{type:Boolean}},emits:["update:open"],setup(e,{emit:t}){const s=t,r=O(null),n=()=>{var a;r.value&&!r.value.canClose()||((a=r.value)==null||a.resetState(),s("update:open",!1))};return(a,v)=>{const w=L;return S(),A(o(ve),{open:a.open,"onUpdate:open":n},{default:l(()=>[i(o(we),{class:"sm:max-w-2xl flex flex-col"},{default:l(()=>[i(o(Be),null,{default:l(()=>[i(o(De),{class:"flex items-center gap-2"},{default:l(()=>[i(w,{name:"hugeicons:file-download",class:"size-4!"}),v[0]||(v[0]=W(" Restore Data "))]),_:1})]),_:1}),i(o(zt),{ref_key:"importPanelRef",ref:r,layout:"modal","success-action-label":"Close","success-action-mode":"emit",onSuccessAction:n},null,512)]),_:1})]),_:1},8,["open"])}}});var ue={exports:{}},Go=ue.exports,Re;function Qo(){return Re||(Re=1,function(e,t){(function(s,r){e.exports=r()})(Go,function(){return function(s,r,n){s=s||{};var a=r.prototype,v={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function w(c,d,E,p){return a.fromToBase(c,d,E,p)}n.en.relativeTime=v,a.fromToBase=function(c,d,E,p,g){for(var f,$,b,C=E.$locale().relativeTime||v,_=s.thresholds||[{l:"s",r:44,d:"second"},{l:"m",r:89},{l:"mm",r:44,d:"minute"},{l:"h",r:89},{l:"hh",r:21,d:"hour"},{l:"d",r:35},{l:"dd",r:25,d:"day"},{l:"M",r:45},{l:"MM",r:10,d:"month"},{l:"y",r:17},{l:"yy",d:"year"}],m=_.length,x=0;x<m;x+=1){var k=_[x];k.d&&(f=p?n(c).diff(E,k.d,!0):E.diff(c,k.d,!0));var T=(s.rounding||Math.round)(Math.abs(f));if(b=f>0,T<=k.r||!k.r){T<=1&&x>0&&(k=_[x-1]);var P=C[k.l];g&&(T=g(""+T)),$=typeof P=="string"?P.replace("%d",T):P(T,d,k.l,b);break}}if(d)return $;var q=b?C.future:C.past;return typeof q=="function"?q($):q.replace("%s",$)},a.to=function(c,d){return w(c,d,this,!0)},a.from=function(c,d){return w(c,d,this)};var u=function(c){return c.$u?n.utc():n()};a.toNow=function(c){return this.to(u(this),c)},a.fromNow=function(c){return this.from(u(this),c)}}})}(ue)),ue.exports}var Jo=Qo();const Xo=qt(Jo);function Zo(e){const{createConnection:t,openWorkspaceWithConnection:s}=Ie(),r=Ae(),n=Me(),{checkAndConfirm:a}=Ve(),v=O(!1),w=O(!1),u=O(!1),c=O(),d=O(!1),E=()=>{w.value=!1,r.deleteWorkspace(e.workspace.id)},p=oe(()=>n.getConnectionsByWorkspaceId(e.workspace.id));return{workspaceStore:r,isOpenEditModal:v,isOpenDeleteModal:w,isOpenConnectionSelector:u,dropdownTriggerRef:c,isModalCreateConnectionOpen:d,connections:p,onConfirmDelete:E,onOpenWorkspace:()=>{var C;(C=e.onSelectWorkspace)==null||C.call(e,e.workspace.id)},onOpenConnectionSelector:()=>{u.value=!0},onOpenWorkspaceWithConnection:async C=>{u.value=!1;const _=p.value.find(m=>m.id===C);_&&!await a(_)||await s({connId:C,wsId:e.workspace.id})},handleAddConnection:C=>{t(C)}}}const en=D({__name:"DeleteWorkspaceModal",props:{open:{},onConfirm:{type:Function}},emits:["update:open"],setup(e,{emit:t}){const s=t;return(r,n)=>{const a=F,v=we;return S(),A(o(ve),{open:!!r.open,"onUpdate:open":n[0]||(n[0]=w=>s("update:open",w))},{default:l(()=>[i(v,null,{default:l(()=>[i(o(Be),null,{default:l(()=>[i(o(De),null,{default:l(()=>n[1]||(n[1]=[W("Delete workspace")])),_:1}),i(o(Ut),null,{default:l(()=>n[2]||(n[2]=[W(" Are you sure you want to delete this workspace? "),I("br",null,null,-1),W(" All data will be permanently deleted this action cannot be undone. ")])),_:1})]),_:1}),i(o(Xe),null,{default:l(()=>[i(a,{type:"submit",onClick:r.onConfirm,variant:"default"},{default:l(()=>n[3]||(n[3]=[W(" Delete ")])),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["open"])}}}),tn={class:"flex items-center space-x-2"},on={class:"space-y-1"},nn={class:"text-sm line-clamp-2 break-words break-all text-left"},sn={class:"flex items-center pt-2"},rn={class:"text-xs text-muted-foreground"},an={class:"flex items-center pt-2"},ln={key:0,class:"text-xs text-muted-foreground"},dn={key:1,class:"text-xs text-muted-foreground"},cn={class:"flex items-center pt-2"},un={class:"text-xs text-muted-foreground"},pn={class:"flex items-center gap-1"},mn={class:"flex items-center gap-2 min-w-0"},fn={class:"truncate"},vn={key:0,class:"flex items-center gap-1 ml-auto flex-shrink-0"},wn={key:1,class:"ml-auto text-xs text-muted-foreground"},gn=D({__name:"WorkspaceCard",props:{workspace:{},onOpenWorkspace:{type:Function}},emits:["onSelectWorkspace"],setup(e,{emit:t}){Q.extend(Xo);const s=je(),r=We(),n=oe(()=>Ze(r.public.sqlite3ConnectionsEnabled)),a=e,v=t,{workspaceStore:w,isOpenEditModal:u,isOpenDeleteModal:c,isOpenConnectionSelector:d,dropdownTriggerRef:E,isModalCreateConnectionOpen:p,connections:g,onConfirmDelete:f,onOpenWorkspace:$,onOpenConnectionSelector:b,onOpenWorkspaceWithConnection:C,handleAddConnection:_}=Zo({workspace:a.workspace,onSelectWorkspace:m=>v("onSelectWorkspace",m)});return(m,x)=>{const k=Ee,T=Se,P=ko,q=bo,X=yo,Z=_o,G=Gt,ee=Yt;return S(),B(Y,null,[o(p)?(S(),A(o(tt),{key:0,open:o(p),"editing-connection":null,"onUpdate:open":x[0]||(x[0]=M=>p.value=M),onAddNew:o(_),workspaceId:m.workspace.id},null,8,["open","onAddNew","workspaceId"])):V("",!0),o(u)?(S(),A(st,{key:1,open:o(u),"onUpdate:open":x[1]||(x[1]=M=>te(u)?u.value=M:null),workspace:m.workspace,workspaceSeq:o(w).workspaces.length},null,8,["open","workspace","workspaceSeq"])):V("",!0),o(c)?(S(),A(en,{key:2,open:o(c),"onUpdate:open":x[2]||(x[2]=M=>te(c)?c.value=M:null),onConfirm:o(f)},null,8,["open","onConfirm"])):V("",!0),i(o(go),{class:"gap-4 justify-between!"},{default:l(()=>[i(o(Po),{class:"flex justify-between px-4"},{default:l(()=>[I("div",tn,[i(T,null,{default:l(()=>[i(k,null,{default:l(()=>[i(o(L),{name:m.workspace.icon,class:"size-5!"},null,8,["name"])]),_:1})]),_:1}),I("div",null,[i(o(Oo),{class:"line-clamp-1"},{default:l(()=>[W(U(m.workspace.name),1)]),_:1})])]),i(Z,null,{default:l(()=>[i(P,null,{default:l(()=>[i(o(F),{size:"icon",variant:"ghost"},{default:l(()=>[i(o(L),{name:"hugeicons:more-vertical-circle-01",class:"size-4!"})]),_:1})]),_:1}),i(X,null,{default:l(()=>[i(q,{class:"cursor-pointer flex items-center",onClick:x[3]||(x[3]=M=>u.value=!0)},{default:l(()=>[i(o(L),{name:"hugeicons:pencil-edit-02",class:"size-4! min-w-4"}),x[9]||(x[9]=W(" Edit workspace "))]),_:1}),i(q,{class:"cursor-pointer flex items-center",disabled:""},{default:l(()=>[i(o(L),{name:"hugeicons:link-04",class:"size-4! min-w-4"}),x[10]||(x[10]=W(" Invite "))]),_:1}),i(q,{class:"cursor-pointer flex items-center",onClick:x[4]||(x[4]=M=>c.value=!0)},{default:l(()=>[i(o(L),{name:"hugeicons:delete-02",class:"size-4! min-w-4"}),x[11]||(x[11]=W(" Delete workspace "))]),_:1})]),_:1})]),_:1})]),_:1}),i(o(wo),{class:"grid gap-4 overflow-hidden px-4"},{default:l(()=>[I("div",on,[I("p",nn,U(m.workspace.desc),1),I("div",sn,[i(o(L),{name:"hugeicons:connect",class:"mr-2 h-4 w-4 opacity-70"}),I("span",rn," Connection : "+U(o(g).length),1)]),I("div",an,[i(o(L),{name:"hugeicons:clock-05",class:"mr-2 h-4 w-4 opacity-70"}),m.workspace.lastOpened?(S(),B("span",ln," Last opened : "+U(o(Q)(m.workspace.lastOpened).fromNow()),1)):(S(),B("span",dn," Last opened : -/- "))]),I("div",cn,[i(o(L),{name:"hugeicons:clock-01",class:"mr-2 h-4 w-4 opacity-70"}),I("span",un," Created : "+U(o(Q)(m.workspace.createdAt).fromNow()),1)])])]),_:1}),i(o(No),{class:"px-4"},{default:l(()=>[i(o(jt),{open:o(d),"onUpdate:open":x[8]||(x[8]=M=>te(d)?d.value=M:null)},{default:l(()=>[i(o(F),{id:`tour-open-workspace-${m.workspace.id}`,ref_key:"dropdownTriggerRef",ref:E,variant:"default",class:"w-full flex items-center justify-between",onClick:x[6]||(x[6]=M=>o($)()),size:"sm"},{default:l(()=>[I("div",pn,[i(o(L),{name:"hugeicons:square-arrow-up-right",class:"h-4 w-4"}),x[12]||(x[12]=W(" Open workspace "))]),i(o(F),{size:"iconSm",variant:"ghost",onClick:x[5]||(x[5]=Vt(M=>o(b)(),["stop"]))},{default:l(()=>[i(o(L),{name:"hugeicons:arrow-down-01",class:"size-5!"})]),_:1})]),_:1},8,["id"]),i(o(Kt),{reference:o(E)},{default:l(()=>[i(ee,null,{default:l(()=>[I("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:x[7]||(x[7]=M=>p.value=!0)},[i(o(L),{name:"hugeicons:plus-sign"}),x[13]||(x[13]=W(" Add new connection "))]),o(g).length?(S(),A(G,{key:0})):V("",!0),(S(!0),B(Y,null,ne(o(g),M=>(S(),A(o(Qt),{class:"cursor-pointer",value:M.id,key:M.id,disabled:o(se)(M,o(n)),onSelect:K=>o(C)(M.id)},{default:l(()=>{var K;return[I("div",mn,[(S(),A(Ye((K=o(et)(M.type))==null?void 0:K.icon),{class:"size-4! shrink-0"})),I("span",fn,U(M.name),1),(M.tagIds??[]).length?(S(),B("div",vn,[(S(!0),B(Y,null,ne(o(s).getTagsByIds(M.tagIds??[]),ie=>(S(),A(o(Ge),{key:ie.id,tag:ie},null,8,["tag"]))),128))])):V("",!0),o(se)(M,o(n))?(S(),B("span",wn," Disabled ")):V("",!0)])]}),_:2},1032,["value","disabled","onSelect"]))),128))]),_:1})]),_:1},8,["reference"])]),_:1},8,["open"])]),_:1})]),_:1})],64)}}}),hn={class:"flex items-center justify-between mt-2"},_n={class:"container flex flex-col items-start gap-1 py-2"},kn={class:"text-3xl flex items-center gap-2 font-bold leading-tight tracking-tighter lg:leading-[1.1]"},yn={class:"flex items-center gap-2 shrink-0"},bn=D({__name:"WorkspaceHeader",props:{isShowButtonCreate:{type:Boolean},isShowButtonRestore:{type:Boolean}},emits:["create","restore"],setup(e,{emit:t}){const s=t;return(r,n)=>{const a=L;return S(),B("div",hn,[I("div",_n,[I("h1",kn,[n[2]||(n[2]=W(" Hello ")),i(a,{name:"hugeicons:waving-hand-01"})]),n[3]||(n[3]=I("p",{class:"max-w-2xl text-lg font-light text-foreground"}," Welcome to your workspaces ",-1))]),I("div",yn,[r.isShowButtonRestore?(S(),A(o(F),{key:0,type:"button",variant:"outline",size:"sm",onClick:n[0]||(n[0]=v=>s("restore"))},{default:l(()=>[i(a,{name:"lucide:upload"}),n[4]||(n[4]=W(" Restore Data "))]),_:1})):V("",!0),r.isShowButtonCreate?(S(),A(o(F),{key:1,id:"tour-new-workspace-btn",variant:"outline",size:"sm",onClick:n[1]||(n[1]=v=>s("create"))},{default:l(()=>[i(a,{name:"lucide:plus"}),n[5]||(n[5]=W(" New Workspace "))]),_:1})):V("",!0)])])}}});let Te={},rt;function xe(e={}){Te={animate:!0,allowClose:!0,overlayClickBehavior:"close",overlayOpacity:.7,smoothScroll:!1,disableActiveInteraction:!1,showProgress:!1,stagePadding:10,stageRadius:5,popoverOffset:10,showButtons:["next","previous","close"],disableButtons:[],overlayColor:"#000",...e}}function h(e){return e?Te[e]:Te}function Cn(e){rt=e}function H(){return rt}let me={};function de(e,t){me[e]=t}function J(e){var t;(t=me[e])==null||t.call(me)}function xn(){me={}}function ce(e,t,s,r){return(e/=r/2)<1?s/2*e*e+t:-s/2*(--e*(e-2)-1)+t}function it(e){const t='a[href]:not([disabled]), button:not([disabled]), textarea:not([disabled]), input[type="text"]:not([disabled]), input[type="radio"]:not([disabled]), input[type="checkbox"]:not([disabled]), select:not([disabled])';return e.flatMap(s=>{const r=s.matches(t),n=Array.from(s.querySelectorAll(t));return[...r?[s]:[],...n]}).filter(s=>getComputedStyle(s).pointerEvents!=="none"&&En(s))}function at(e){if(!e||Sn(e))return;const t=h("smoothScroll"),s=e.offsetHeight>window.innerHeight;e.scrollIntoView({behavior:!t||$n(e)?"auto":"smooth",inline:"center",block:s?"start":"center"})}function $n(e){if(!e||!e.parentElement)return;const t=e.parentElement;return t.scrollHeight>t.clientHeight}function Sn(e){const t=e.getBoundingClientRect();return t.top>=0&&t.left>=0&&t.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&t.right<=(window.innerWidth||document.documentElement.clientWidth)}function En(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)}let fe={};function N(e,t){fe[e]=t}function y(e){return e?fe[e]:fe}function He(){fe={}}function Tn(e,t,s,r){let n=y("__activeStagePosition");const a=n||s.getBoundingClientRect(),v=r.getBoundingClientRect(),w=ce(e,a.x,v.x-a.x,t),u=ce(e,a.y,v.y-a.y,t),c=ce(e,a.width,v.width-a.width,t),d=ce(e,a.height,v.height-a.height,t);n={x:w,y:u,width:c,height:d},dt(n),N("__activeStagePosition",n)}function lt(e){if(!e)return;const t=e.getBoundingClientRect(),s={x:t.x,y:t.y,width:t.width,height:t.height};N("__activeStagePosition",s),dt(s)}function In(){const e=y("__activeStagePosition"),t=y("__overlaySvg");if(!e)return;if(!t){console.warn("No stage svg found.");return}const s=window.innerWidth,r=window.innerHeight;t.setAttribute("viewBox",`0 0 ${s} ${r}`)}function Wn(e){const t=Mn(e);document.body.appendChild(t),pt(t,s=>{s.target.tagName==="path"&&J("overlayClick")}),N("__overlaySvg",t)}function dt(e){const t=y("__overlaySvg");if(!t){Wn(e);return}const s=t.firstElementChild;if((s==null?void 0:s.tagName)!=="path")throw new Error("no path element found in stage svg");s.setAttribute("d",ct(e))}function Mn(e){const t=window.innerWidth,s=window.innerHeight,r=document.createElementNS("http://www.w3.org/2000/svg","svg");r.classList.add("driver-overlay","driver-overlay-animated"),r.setAttribute("viewBox",`0 0 ${t} ${s}`),r.setAttribute("xmlSpace","preserve"),r.setAttribute("xmlnsXlink","http://www.w3.org/1999/xlink"),r.setAttribute("version","1.1"),r.setAttribute("preserveAspectRatio","xMinYMin slice"),r.style.fillRule="evenodd",r.style.clipRule="evenodd",r.style.strokeLinejoin="round",r.style.strokeMiterlimit="2",r.style.zIndex="10000",r.style.position="fixed",r.style.top="0",r.style.left="0",r.style.width="100%",r.style.height="100%";const n=document.createElementNS("http://www.w3.org/2000/svg","path");return n.setAttribute("d",ct(e)),n.style.fill=h("overlayColor")||"rgb(0,0,0)",n.style.opacity=`${h("overlayOpacity")}`,n.style.pointerEvents="auto",n.style.cursor="auto",r.appendChild(n),r}function ct(e){const t=window.innerWidth,s=window.innerHeight,r=h("stagePadding")||0,n=h("stageRadius")||0,a=e.width+r*2,v=e.height+r*2,w=Math.min(n,a/2,v/2),u=Math.floor(Math.max(w,0)),c=e.x-r+u,d=e.y-r,E=a-u*2,p=v-u*2;return`M${t},0L0,0L0,${s}L${t},${s}L${t},0Z
2
- M${c},${d} h${E} a${u},${u} 0 0 1 ${u},${u} v${p} a${u},${u} 0 0 1 -${u},${u} h-${E} a${u},${u} 0 0 1 -${u},-${u} v-${p} a${u},${u} 0 0 1 ${u},-${u} z`}function An(){const e=y("__overlaySvg");e&&e.remove()}function Bn(){const e=document.getElementById("driver-dummy-element");if(e)return e;let t=document.createElement("div");return t.id="driver-dummy-element",t.style.width="0",t.style.height="0",t.style.pointerEvents="none",t.style.opacity="0",t.style.position="fixed",t.style.top="50%",t.style.left="50%",document.body.appendChild(t),t}function Fe(e){const{element:t}=e;let s=typeof t=="function"?t():typeof t=="string"?document.querySelector(t):t;s||(s=Bn()),Ln(s,e)}function Dn(){const e=y("__activeElement"),t=y("__activeStep");e&&(lt(e),In(),ft(e,t))}function Ln(e,t){var s;const r=Date.now(),n=y("__activeStep"),a=y("__activeElement")||e,v=!a||a===e,w=e.id==="driver-dummy-element",u=a.id==="driver-dummy-element",c=h("animate"),d=t.onHighlightStarted||h("onHighlightStarted"),E=(t==null?void 0:t.onHighlighted)||h("onHighlighted"),p=(n==null?void 0:n.onDeselected)||h("onDeselected"),g=h(),f=y();!v&&p&&p(u?void 0:a,n,{config:g,state:f,driver:H()}),d&&d(w?void 0:e,t,{config:g,state:f,driver:H()});const $=!v&&c;let b=!1;Hn(),N("previousStep",n),N("previousElement",a),N("activeStep",t),N("activeElement",e);const C=()=>{if(y("__transitionCallback")!==C)return;const _=Date.now()-r,m=400-_<=400/2;t.popover&&m&&!b&&$&&(ze(e,t),b=!0),h("animate")&&_<400?Tn(_,400,a,e):(lt(e),E&&E(w?void 0:e,t,{config:h(),state:y(),driver:H()}),N("__transitionCallback",void 0),N("__previousStep",n),N("__previousElement",a),N("__activeStep",t),N("__activeElement",e)),window.requestAnimationFrame(C)};N("__transitionCallback",C),window.requestAnimationFrame(C),at(e),!$&&t.popover&&ze(e,t),a.classList.remove("driver-active-element","driver-no-interaction"),a.removeAttribute("aria-haspopup"),a.removeAttribute("aria-expanded"),a.removeAttribute("aria-controls"),((s=t.disableActiveInteraction)!=null?s:h("disableActiveInteraction"))&&e.classList.add("driver-no-interaction"),e.classList.add("driver-active-element"),e.setAttribute("aria-haspopup","dialog"),e.setAttribute("aria-expanded","true"),e.setAttribute("aria-controls","driver-popover-content")}function Nn(){var e;(e=document.getElementById("driver-dummy-element"))==null||e.remove(),document.querySelectorAll(".driver-active-element").forEach(t=>{t.classList.remove("driver-active-element","driver-no-interaction"),t.removeAttribute("aria-haspopup"),t.removeAttribute("aria-expanded"),t.removeAttribute("aria-controls")})}function re(){const e=y("__resizeTimeout");e&&window.cancelAnimationFrame(e),N("__resizeTimeout",window.requestAnimationFrame(Dn))}function Pn(e){var t;if(!y("isInitialized")||!(e.key==="Tab"||e.keyCode===9))return;const s=y("__activeElement"),r=(t=y("popover"))==null?void 0:t.wrapper,n=it([...r?[r]:[],...s?[s]:[]]),a=n[0],v=n[n.length-1];if(e.preventDefault(),e.shiftKey){const w=n[n.indexOf(document.activeElement)-1]||v;w==null||w.focus()}else{const w=n[n.indexOf(document.activeElement)+1]||a;w==null||w.focus()}}function ut(e){var t;((t=h("allowKeyboardControl"))==null||t)&&(e.key==="Escape"?J("escapePress"):e.key==="ArrowRight"?J("arrowRightPress"):e.key==="ArrowLeft"&&J("arrowLeftPress"))}function pt(e,t,s){const r=(n,a)=>{const v=n.target;e.contains(v)&&((!s||s(v))&&(n.preventDefault(),n.stopPropagation(),n.stopImmediatePropagation()),a==null||a(n))};document.addEventListener("pointerdown",r,!0),document.addEventListener("mousedown",r,!0),document.addEventListener("pointerup",r,!0),document.addEventListener("mouseup",r,!0),document.addEventListener("click",n=>{r(n,t)},!0)}function On(){window.addEventListener("keyup",ut,!1),window.addEventListener("keydown",Pn,!1),window.addEventListener("resize",re),window.addEventListener("scroll",re)}function Rn(){window.removeEventListener("keyup",ut),window.removeEventListener("resize",re),window.removeEventListener("scroll",re)}function Hn(){const e=y("popover");e&&(e.wrapper.style.display="none")}function ze(e,t){var s,r;let n=y("popover");n&&document.body.removeChild(n.wrapper),n=zn(),document.body.appendChild(n.wrapper);const{title:a,description:v,showButtons:w,disableButtons:u,showProgress:c,nextBtnText:d=h("nextBtnText")||"Next &rarr;",prevBtnText:E=h("prevBtnText")||"&larr; Previous",progressText:p=h("progressText")||"{current} of {total}"}=t.popover||{};n.nextButton.innerHTML=d,n.previousButton.innerHTML=E,n.progress.innerHTML=p,a?(n.title.innerHTML=a,n.title.style.display="block"):n.title.style.display="none",v?(n.description.innerHTML=v,n.description.style.display="block"):n.description.style.display="none";const g=w||h("showButtons"),f=c||h("showProgress")||!1,$=(g==null?void 0:g.includes("next"))||(g==null?void 0:g.includes("previous"))||f;n.closeButton.style.display=g.includes("close")?"block":"none",$?(n.footer.style.display="flex",n.progress.style.display=f?"block":"none",n.nextButton.style.display=g.includes("next")?"block":"none",n.previousButton.style.display=g.includes("previous")?"block":"none"):n.footer.style.display="none";const b=u||h("disableButtons")||[];b!=null&&b.includes("next")&&(n.nextButton.disabled=!0,n.nextButton.classList.add("driver-popover-btn-disabled")),b!=null&&b.includes("previous")&&(n.previousButton.disabled=!0,n.previousButton.classList.add("driver-popover-btn-disabled")),b!=null&&b.includes("close")&&(n.closeButton.disabled=!0,n.closeButton.classList.add("driver-popover-btn-disabled"));const C=n.wrapper;C.style.display="block",C.style.left="",C.style.top="",C.style.bottom="",C.style.right="",C.id="driver-popover-content",C.setAttribute("role","dialog"),C.setAttribute("aria-labelledby","driver-popover-title"),C.setAttribute("aria-describedby","driver-popover-description");const _=n.arrow;_.className="driver-popover-arrow";const m=((s=t.popover)==null?void 0:s.popoverClass)||h("popoverClass")||"";C.className=`driver-popover ${m}`.trim(),pt(n.wrapper,P=>{var q,X,Z;const G=P.target,ee=((q=t.popover)==null?void 0:q.onNextClick)||h("onNextClick"),M=((X=t.popover)==null?void 0:X.onPrevClick)||h("onPrevClick"),K=((Z=t.popover)==null?void 0:Z.onCloseClick)||h("onCloseClick");if(G.closest(".driver-popover-next-btn"))return ee?ee(e,t,{config:h(),state:y(),driver:H()}):J("nextClick");if(G.closest(".driver-popover-prev-btn"))return M?M(e,t,{config:h(),state:y(),driver:H()}):J("prevClick");if(G.closest(".driver-popover-close-btn"))return K?K(e,t,{config:h(),state:y(),driver:H()}):J("closeClick")},P=>!(n!=null&&n.description.contains(P))&&!(n!=null&&n.title.contains(P))&&typeof P.className=="string"&&P.className.includes("driver-popover")),N("popover",n);const x=((r=t.popover)==null?void 0:r.onPopoverRender)||h("onPopoverRender");x&&x(n,{config:h(),state:y(),driver:H()}),ft(e,t),at(C);const k=e.classList.contains("driver-dummy-element"),T=it([C,...k?[]:[e]]);T.length>0&&T[0].focus()}function mt(){const e=y("popover");if(!(e!=null&&e.wrapper))return;const t=e.wrapper.getBoundingClientRect(),s=h("stagePadding")||0,r=h("popoverOffset")||0;return{width:t.width+s+r,height:t.height+s+r,realWidth:t.width,realHeight:t.height}}function qe(e,t){const{elementDimensions:s,popoverDimensions:r,popoverPadding:n,popoverArrowDimensions:a}=t;return e==="start"?Math.max(Math.min(s.top-n,window.innerHeight-r.realHeight-a.width),a.width):e==="end"?Math.max(Math.min(s.top-(r==null?void 0:r.realHeight)+s.height+n,window.innerHeight-(r==null?void 0:r.realHeight)-a.width),a.width):e==="center"?Math.max(Math.min(s.top+s.height/2-(r==null?void 0:r.realHeight)/2,window.innerHeight-(r==null?void 0:r.realHeight)-a.width),a.width):0}function Ue(e,t){const{elementDimensions:s,popoverDimensions:r,popoverPadding:n,popoverArrowDimensions:a}=t;return e==="start"?Math.max(Math.min(s.left-n,window.innerWidth-r.realWidth-a.width),a.width):e==="end"?Math.max(Math.min(s.left-(r==null?void 0:r.realWidth)+s.width+n,window.innerWidth-(r==null?void 0:r.realWidth)-a.width),a.width):e==="center"?Math.max(Math.min(s.left+s.width/2-(r==null?void 0:r.realWidth)/2,window.innerWidth-(r==null?void 0:r.realWidth)-a.width),a.width):0}function ft(e,t){const s=y("popover");if(!s)return;const{align:r="start",side:n="left"}=(t==null?void 0:t.popover)||{},a=r,v=e.id==="driver-dummy-element"?"over":n,w=h("stagePadding")||0,u=mt(),c=s.arrow.getBoundingClientRect(),d=e.getBoundingClientRect(),E=d.top-u.height;let p=E>=0;const g=window.innerHeight-(d.bottom+u.height);let f=g>=0;const $=d.left-u.width;let b=$>=0;const C=window.innerWidth-(d.right+u.width);let _=C>=0;const m=!p&&!f&&!b&&!_;let x=v;if(v==="top"&&p?_=b=f=!1:v==="bottom"&&f?_=b=p=!1:v==="left"&&b?_=p=f=!1:v==="right"&&_&&(b=p=f=!1),v==="over"){const k=window.innerWidth/2-u.realWidth/2,T=window.innerHeight/2-u.realHeight/2;s.wrapper.style.left=`${k}px`,s.wrapper.style.right="auto",s.wrapper.style.top=`${T}px`,s.wrapper.style.bottom="auto"}else if(m){const k=window.innerWidth/2-(u==null?void 0:u.realWidth)/2,T=10;s.wrapper.style.left=`${k}px`,s.wrapper.style.right="auto",s.wrapper.style.bottom=`${T}px`,s.wrapper.style.top="auto"}else if(b){const k=Math.min($,window.innerWidth-(u==null?void 0:u.realWidth)-c.width),T=qe(a,{elementDimensions:d,popoverDimensions:u,popoverPadding:w,popoverArrowDimensions:c});s.wrapper.style.left=`${k}px`,s.wrapper.style.top=`${T}px`,s.wrapper.style.bottom="auto",s.wrapper.style.right="auto",x="left"}else if(_){const k=Math.min(C,window.innerWidth-(u==null?void 0:u.realWidth)-c.width),T=qe(a,{elementDimensions:d,popoverDimensions:u,popoverPadding:w,popoverArrowDimensions:c});s.wrapper.style.right=`${k}px`,s.wrapper.style.top=`${T}px`,s.wrapper.style.bottom="auto",s.wrapper.style.left="auto",x="right"}else if(p){const k=Math.min(E,window.innerHeight-u.realHeight-c.width);let T=Ue(a,{elementDimensions:d,popoverDimensions:u,popoverPadding:w,popoverArrowDimensions:c});s.wrapper.style.top=`${k}px`,s.wrapper.style.left=`${T}px`,s.wrapper.style.bottom="auto",s.wrapper.style.right="auto",x="top"}else if(f){const k=Math.min(g,window.innerHeight-(u==null?void 0:u.realHeight)-c.width);let T=Ue(a,{elementDimensions:d,popoverDimensions:u,popoverPadding:w,popoverArrowDimensions:c});s.wrapper.style.left=`${T}px`,s.wrapper.style.bottom=`${k}px`,s.wrapper.style.top="auto",s.wrapper.style.right="auto",x="bottom"}m?s.arrow.classList.add("driver-popover-arrow-none"):Fn(a,x,e)}function Fn(e,t,s){const r=y("popover");if(!r)return;const n=s.getBoundingClientRect(),a=mt(),v=r.arrow,w=a.width,u=window.innerWidth,c=n.width,d=n.left,E=a.height,p=window.innerHeight,g=n.top,f=n.height;v.className="driver-popover-arrow";let $=t,b=e;if(t==="top"?(d+c<=0?($="right",b="end"):d+c-w<=0&&($="top",b="start"),d>=u?($="left",b="end"):d+w>=u&&($="top",b="end")):t==="bottom"?(d+c<=0?($="right",b="start"):d+c-w<=0&&($="bottom",b="start"),d>=u?($="left",b="start"):d+w>=u&&($="bottom",b="end")):t==="left"?(g+f<=0?($="bottom",b="end"):g+f-E<=0&&($="left",b="start"),g>=p?($="top",b="end"):g+E>=p&&($="left",b="end")):t==="right"&&(g+f<=0?($="bottom",b="start"):g+f-E<=0&&($="right",b="start"),g>=p?($="top",b="start"):g+E>=p&&($="right",b="end")),!$)v.classList.add("driver-popover-arrow-none");else{v.classList.add(`driver-popover-arrow-side-${$}`),v.classList.add(`driver-popover-arrow-align-${b}`);const C=s.getBoundingClientRect(),_=v.getBoundingClientRect(),m=h("stagePadding")||0,x=C.left-m<window.innerWidth&&C.right+m>0&&C.top-m<window.innerHeight&&C.bottom+m>0;t==="bottom"&&x&&(_.x>C.x&&_.x+_.width<C.x+C.width?r.wrapper.style.transform="translateY(0)":(v.classList.remove(`driver-popover-arrow-align-${b}`),v.classList.add("driver-popover-arrow-none"),r.wrapper.style.transform=`translateY(-${m/2}px)`))}}function zn(){const e=document.createElement("div");e.classList.add("driver-popover");const t=document.createElement("div");t.classList.add("driver-popover-arrow");const s=document.createElement("header");s.id="driver-popover-title",s.classList.add("driver-popover-title"),s.style.display="none",s.innerText="Popover Title";const r=document.createElement("div");r.id="driver-popover-description",r.classList.add("driver-popover-description"),r.style.display="none",r.innerText="Popover description is here";const n=document.createElement("button");n.type="button",n.classList.add("driver-popover-close-btn"),n.setAttribute("aria-label","Close"),n.innerHTML="&times;";const a=document.createElement("footer");a.classList.add("driver-popover-footer");const v=document.createElement("span");v.classList.add("driver-popover-progress-text"),v.innerText="";const w=document.createElement("span");w.classList.add("driver-popover-navigation-btns");const u=document.createElement("button");u.type="button",u.classList.add("driver-popover-prev-btn"),u.innerHTML="&larr; Previous";const c=document.createElement("button");return c.type="button",c.classList.add("driver-popover-next-btn"),c.innerHTML="Next &rarr;",w.appendChild(u),w.appendChild(c),a.appendChild(v),a.appendChild(w),e.appendChild(n),e.appendChild(t),e.appendChild(s),e.appendChild(r),e.appendChild(a),{wrapper:e,arrow:t,title:s,description:r,footer:a,previousButton:u,nextButton:c,closeButton:n,footerButtons:w,progress:v}}function qn(){var e;const t=y("popover");t&&((e=t.wrapper.parentElement)==null||e.removeChild(t.wrapper))}function Un(e={}){xe(e);function t(){h("allowClose")&&d()}function s(){const p=h("overlayClickBehavior");if(h("allowClose")&&p==="close"){d();return}if(typeof p=="function"){const g=y("__activeStep"),f=y("__activeElement");p(f,g,{config:h(),state:y(),driver:H()});return}p==="nextStep"&&r()}function r(){const p=y("activeIndex"),g=h("steps")||[];if(typeof p>"u")return;const f=p+1;g[f]?c(f):d()}function n(){const p=y("activeIndex"),g=h("steps")||[];if(typeof p>"u")return;const f=p-1;g[f]?c(f):d()}function a(p){(h("steps")||[])[p]?c(p):d()}function v(){var p;if(y("__transitionCallback"))return;const g=y("activeIndex"),f=y("__activeStep"),$=y("__activeElement");if(typeof g>"u"||typeof f>"u"||typeof y("activeIndex")>"u")return;const b=((p=f.popover)==null?void 0:p.onPrevClick)||h("onPrevClick");if(b)return b($,f,{config:h(),state:y(),driver:H()});n()}function w(){var p;if(y("__transitionCallback"))return;const g=y("activeIndex"),f=y("__activeStep"),$=y("__activeElement");if(typeof g>"u"||typeof f>"u")return;const b=((p=f.popover)==null?void 0:p.onNextClick)||h("onNextClick");if(b)return b($,f,{config:h(),state:y(),driver:H()});r()}function u(){y("isInitialized")||(N("isInitialized",!0),document.body.classList.add("driver-active",h("animate")?"driver-fade":"driver-simple"),On(),de("overlayClick",s),de("escapePress",t),de("arrowLeftPress",v),de("arrowRightPress",w))}function c(p=0){var g,f,$,b,C,_,m,x;const k=h("steps");if(!k){console.error("No steps to drive through"),d();return}if(!k[p]){d();return}N("__activeOnDestroyed",document.activeElement),N("activeIndex",p);const T=k[p],P=k[p+1],q=k[p-1],X=((g=T.popover)==null?void 0:g.doneBtnText)||h("doneBtnText")||"Done",Z=h("allowClose"),G=typeof((f=T.popover)==null?void 0:f.showProgress)<"u"?($=T.popover)==null?void 0:$.showProgress:h("showProgress"),ee=(((b=T.popover)==null?void 0:b.progressText)||h("progressText")||"{{current}} of {{total}}").replace("{{current}}",`${p+1}`).replace("{{total}}",`${k.length}`),M=((C=T.popover)==null?void 0:C.showButtons)||h("showButtons"),K=["next","previous",...Z?["close"]:[]].filter(gt=>!(M!=null&&M.length)||M.includes(gt)),ie=((_=T.popover)==null?void 0:_.onNextClick)||h("onNextClick"),vt=((m=T.popover)==null?void 0:m.onPrevClick)||h("onPrevClick"),wt=((x=T.popover)==null?void 0:x.onCloseClick)||h("onCloseClick");Fe({...T,popover:{showButtons:K,nextBtnText:P?void 0:X,disableButtons:[...q?[]:["previous"]],showProgress:G,progressText:ee,onNextClick:ie||(()=>{P?c(p+1):d()}),onPrevClick:vt||(()=>{c(p-1)}),onCloseClick:wt||(()=>{d()}),...(T==null?void 0:T.popover)||{}}})}function d(p=!0){const g=y("__activeElement"),f=y("__activeStep"),$=y("__activeOnDestroyed"),b=h("onDestroyStarted");if(p&&b){const m=!g||(g==null?void 0:g.id)==="driver-dummy-element";b(m?void 0:g,f,{config:h(),state:y(),driver:H()});return}const C=(f==null?void 0:f.onDeselected)||h("onDeselected"),_=h("onDestroyed");if(document.body.classList.remove("driver-active","driver-fade","driver-simple"),Rn(),qn(),Nn(),An(),xn(),He(),g&&f){const m=g.id==="driver-dummy-element";C&&C(m?void 0:g,f,{config:h(),state:y(),driver:H()}),_&&_(m?void 0:g,f,{config:h(),state:y(),driver:H()})}$&&$.focus()}const E={isActive:()=>y("isInitialized")||!1,refresh:re,drive:(p=0)=>{u(),c(p)},setConfig:xe,setSteps:p=>{He(),xe({...h(),steps:p})},getConfig:h,getState:y,getActiveIndex:()=>y("activeIndex"),isFirstStep:()=>y("activeIndex")===0,isLastStep:()=>{const p=h("steps")||[],g=y("activeIndex");return g!==void 0&&g===p.length-1},getActiveStep:()=>y("activeStep"),getActiveElement:()=>y("activeElement"),getPreviousElement:()=>y("previousElement"),getPreviousStep:()=>y("previousStep"),moveNext:r,movePrevious:n,moveTo:a,hasNextStep:()=>{const p=h("steps")||[],g=y("activeIndex");return g!==void 0&&!!p[g+1]},hasPreviousStep:()=>{const p=h("steps")||[],g=y("activeIndex");return g!==void 0&&!!p[g-1]},highlight:p=>{u(),Fe({...p,popover:p.popover?{showButtons:[],showProgress:!1,progressText:"",...p.popover}:void 0})},destroy:()=>{d(!1)}};return Cn(E),E}function jn({isOpenCreateWSModal:e,isOpenSelectConnectionModal:t,workspaceId:s,workspaceStore:r,onSelectWorkspace:n}){const a=Jt(Xt.HAS_SEEN_TOUR,!1,Zt());return{startTour:()=>{a.value=!0;const w=document.getElementById("tour-new-workspace-btn")?"#tour-new-workspace-btn":"#tour-new-workspace-btn-empty",c=Un({popoverClass:"driver-theme-system",showProgress:!0,allowClose:!0,steps:[{popover:{title:"Welcome to OrcaQ!",description:"Let us take a quick tour to get you familiar with the app."}},{element:"#tour-workspace-area",popover:{title:"Workspaces",description:"This is where you manage your workspaces."}},{element:w,popover:{title:"Create Workspace",description:"Click here to create a new workspace.",onNextClick:()=>{e.value=!0,setTimeout(()=>c.moveNext(),500)}}},{element:"#tour-workspace-icon",popover:{title:"Workspace Icon",description:"Choose an icon to identify your workspace."}},{element:"#tour-workspace-name",popover:{title:"Workspace Name",description:"Enter a unique name for your workspace."}},{element:"#tour-workspace-desc",popover:{title:"Workspace Description",description:"Provide a brief description."}},{element:"#tour-workspace-create",popover:{title:"Save Workspace",description:"After filling out the form, click here to create it.",onNextClick:()=>{const d=Qe();r.createWorkspace({desc:"My first workspace created from tour",id:d,name:"My Tour Workspace",icon:pe,createdAt:Q().toISOString()}),e.value=!1,s.value=d,setTimeout(()=>{c.moveNext()},600)}}},{element:document.getElementById(`tour-open-workspace-${s.value}`)||"#tour-workspace-area",popover:{title:"New Workspace Card",description:'Your new workspace appears here. Click "Open workspace" to manage its connections.',onNextClick:()=>{const d=document.getElementById(`tour-open-workspace-${s.value}`);d?d.click():(n(s.value),t.value=!0),setTimeout(()=>{c.moveNext()},800)}}},{element:"#tour-add-connection-btn",popover:{title:"Add Connection",description:"Inside a workspace, you can manage and add database connections.",onNextClick:()=>{var d;(d=document.getElementById("tour-add-connection-btn"))==null||d.click(),setTimeout(()=>c.moveNext(),600)}}},{element:"#tour-database-type-cards",popover:{title:"Select Database",description:"First, choose the database engine you want to connect to."}},{element:"#tour-database-type-next",popover:{title:"Next Step",description:"Click Next after selecting your database engine.",onNextClick:()=>{const d=document.querySelector("#tour-database-type-cards > div");d?(d.click(),setTimeout(()=>{var E;(E=document.getElementById("tour-database-type-next"))==null||E.click(),setTimeout(()=>c.moveNext(),600)},100)):c.moveNext()}}},{element:"#tour-connection-method-tabs",popover:{title:"Connection Method",description:"You can choose between connection string or form based setup."}},{element:"#tour-connection-string-tab",popover:{title:"Connection String Method",description:"Click here to use the connection string option.",onNextClick:()=>{var d;(d=document.getElementById("tour-connection-string-tab"))==null||d.click(),setTimeout(()=>c.moveNext(),300)}}},{element:"#connection-string",popover:{title:"Enter URI",description:"Paste your database URI here for quick access."}},{element:"#tour-connection-form-tab",popover:{title:"Connection Form Method",description:"Or click here to manually enter host, port, username, and password.",onNextClick:()=>{var d;(d=document.getElementById("tour-connection-form-tab"))==null||d.click(),setTimeout(()=>c.moveNext(),300)}}},{element:"#tour-create-update-connection-btn",popover:{title:"Create Connection",description:"After filling out the connection details, click here to save it."}},{popover:{title:"Tour Completed!",description:"You are now ready to use OrcaQ! Happy querying.",onNextClick:()=>{c.destroy()}}}],onDestroyStarted:()=>{e.value=!1,t.value=!1,document.querySelectorAll('[role="dialog"]').forEach(E=>{const p=E.querySelector('button[aria-label="Close"]');p&&p.click()}),document.dispatchEvent(new KeyboardEvent("keydown",{key:"Escape"})),c.destroy()}});c.drive()}}}function Vn(){const e=Ae(),t=Me(),s=eo(""),r=O(""),n=to(s,oo),a=oe(()=>(e.workspaces||[]).filter(c=>c.name.toLowerCase().includes(n.value.toLowerCase()))),v=O(!1),w=O(!1);return{workspaceStore:e,connectionStore:t,search:s,workspaceId:r,mappedWorkspaces:a,isOpenSelectConnectionModal:v,isOpenCreateWSModal:w,onSelectWorkspace:c=>{v.value=!0,r.value=c}}}const Kn={id:"tour-workspace-area",class:"flex flex-col h-full overflow-y-auto p-4 pt-0 space-y-4 relative"},Yn={class:"flex items-center gap-2"},Gn={class:"relative flex-1"},Qn={key:0,class:"grid grid-cols-3 gap-4 overflow-y-auto"},Jn={class:"flex items-center gap-2"},Xn=["href"],Zn=D({__name:"Workspaces",setup(e){const{workspaceStore:t,connectionStore:s,search:r,workspaceId:n,mappedWorkspaces:a,isOpenSelectConnectionModal:v,isOpenCreateWSModal:w,onSelectWorkspace:u}=Vn(),{startTour:c}=jn({isOpenCreateWSModal:w,isOpenSelectConnectionModal:v,workspaceId:n,workspaceStore:t,onSelectWorkspace:u}),d=O(!1),p=We().public.ggFormLink;return(g,f)=>{const $=L,b=Je,C=F,_=Ke;return S(),B(Y,null,[o(w)?(S(),A(st,{key:0,open:o(w),"onUpdate:open":f[0]||(f[0]=m=>te(w)?w.value=m:null),workspaceSeq:o(t).workspaces.length},null,8,["open","workspaceSeq"])):V("",!0),i(Yo,{open:d.value,"onUpdate:open":f[1]||(f[1]=m=>d.value=m)},null,8,["open"]),i(o(Uo),{open:o(v),"onUpdate:open":f[2]||(f[2]=m=>te(v)?v.value=m:null),connections:o(s).getConnectionsByWorkspaceId(o(n)),"workspace-id":o(n)},null,8,["open","connections","workspace-id"]),I("div",Kn,[i(bn,{onCreate:f[3]||(f[3]=m=>w.value=!0),onRestore:f[4]||(f[4]=m=>d.value=!0),"is-show-button-create":!!o(a).length,"is-show-button-restore":!!o(a).length},null,8,["is-show-button-create","is-show-button-restore"]),I("div",Yn,[I("div",Gn,[i($,{name:"hugeicons:search-01",class:"absolute left-2.5 -translate-y-1/2 top-1/2 size-4"}),i(b,{type:"text",modelValue:o(r),"onUpdate:modelValue":f[5]||(f[5]=m=>te(r)?r.value=m:null),placeholder:"Search workspaces...",class:"pl-10 w-full"},null,8,["modelValue"])])]),o(a).length?(S(),B("div",Qn,[(S(!0),B(Y,null,ne(o(a),m=>(S(),A(gn,{workspace:m,onOnSelectWorkspace:o(u)},null,8,["workspace","onOnSelectWorkspace"]))),256))])):(S(),A(_,{key:1,title:"No workspaces found",desc:"There is nothing here to show. Let's create your first workspace."},{default:l(()=>[I("div",Jn,[i(C,{id:"tour-new-workspace-btn-empty",variant:"default",size:"sm",onClick:f[6]||(f[6]=m=>w.value=!0)},{default:l(()=>[i($,{name:"hugeicons:plus-sign"}),f[8]||(f[8]=W(" New Workspace "))]),_:1}),i(C,{variant:"outline",size:"sm",onClick:f[7]||(f[7]=m=>d.value=!0)},{default:l(()=>[i($,{name:"lucide:upload"}),f[9]||(f[9]=W(" Restore Data "))]),_:1}),i(C,{variant:"secondary",size:"sm",onClick:o(c)},{default:l(()=>[i($,{name:"hugeicons:book-open-02"}),f[10]||(f[10]=W(" Take a tour "))]),_:1},8,["onClick"])])]),_:1})),i(C,{class:"fixed bottom-0 right-4 z-10",variant:"secondary"},{default:l(()=>[I("a",{href:o(p),target:"_blank"},[i($,{name:"hugeicons:chat-feedback-01"}),f[11]||(f[11]=W(" Give me Feedback "))],8,Xn)]),_:1}),i(C,{class:"fixed bottom-16 right-4",variant:"secondary",onClick:o(c),title:"Start Tour"},{default:l(()=>[i($,{name:"hugeicons:book-open-02"}),f[12]||(f[12]=W(" Take a tour "))]),_:1},8,["onClick"])])],64)}}}),us=D({__name:"index",setup(e){return(t,s)=>(S(),A(o(Zn)))}});export{us as default};
@@ -1 +0,0 @@
1
- import{b1 as $,r as m,aP as O,c as p,K as E,aB as C,au as K,ap as _,d as F,e as V,o as R,n as P,k as N,l as U,f as B,w as D,z as A,t as w,g as x,bm as W,_ as j,h as q,m as g,x as z,F as L,s as H,B as M}from"./BNM5p7H5.js";var G=(a=>(a.Tree="tree",a.List="list",a))(G||{});const Y=(a,s=0)=>({connectionId:a,selectedDatabaseIndex:s,viewMode:"tree",keyPattern:"*",keyTypeFilter:[],selectedKey:null,activeTool:"browser"}),J=$("redis-workspace",()=>{const a=m({}),s=(d,n=0)=>(a.value[d]||(a.value[d]=Y(d,n)),a.value[d]);return{sessions:a,ensureSession:s,patchSession:(d,n)=>{Object.assign(s(d),n)}}}),Q=a=>{const s=Number.parseInt(a||"0",10);return Number.isFinite(s)?s:0},X=a=>{var s,t,d;if(typeof a=="string")return a;if(a&&typeof a=="object"){const n=a;return((s=n.data)==null?void 0:s.message)||((d=(t=n.response)==null?void 0:t._data)==null?void 0:d.message)||n.message||"Request failed."}return"Request failed."},Z=(a,s)=>{const t=X(a);return/READONLY/i.test(t)?"This Redis endpoint is read-only. Value updates are unavailable.":/NOPERM|NOAUTH|WRONGPASS|ACL/i.test(t)?"The connected Redis account does not have permission to edit values.":""},T=a=>({method:a.method,stringConnection:a.connectionString,host:a.host,port:a.port,username:a.username,password:a.password,database:a.database,ssl:a.ssl,ssh:a.ssh});function ee({connection:a,session:s,store:t}){const d=m([]),n=m([]),r=O(null),v=m(!1),f=m(!1),l=m(!1),o=m("");let e=0;const c=p(()=>!!r.value&&!o.value),y=async()=>{if(!a.value||!s.value){d.value=[],n.value=[],r.value=null;return}v.value=!0;try{const i=await $fetch("/api/redis/browser",{method:"POST",body:{...T(a.value),databaseIndex:s.value.selectedDatabaseIndex,keyPattern:s.value.keyPattern}});d.value=i.keys,n.value=i.databases,o.value=""}finally{v.value=!1}},b=async()=>{if(!a.value||!s.value){n.value=[];return}n.value=await $fetch("/api/redis/browser/databases",{method:"POST",body:{...T(a.value),databaseIndex:s.value.selectedDatabaseIndex}})},u=async(i=(k=>(k=s.value)==null?void 0:k.selectedKey)())=>{if(!a.value||!s.value||!i){r.value=null,o.value="",f.value=!1;return}const S=++e;r.value=null,f.value=!0;try{const I=await $fetch("/api/redis/browser/value",{method:"POST",body:{...T(a.value),databaseIndex:s.value.selectedDatabaseIndex,key:i}});if(S!==e)return;r.value=I,o.value=""}finally{S===e&&(f.value=!1)}},h=async i=>{s.value&&t.patchSession(s.value.connectionId,{selectedKey:i,activeTool:"browser"})};return{keys:d,databases:n,selectedKeyDetail:r,loadingKeys:v,loadingSelectedKeyDetail:f,savingValue:l,editUnavailableReason:o,canEditSelectedValue:c,refreshKeys:y,refreshDatabases:b,refreshSelectedKeyDetail:u,openKey:h,focusKey:async i=>{s.value&&(await h(i),await u(i))},saveSelectedValue:async i=>{var k;if(!(!a.value||!((k=s.value)!=null&&k.selectedKey))){l.value=!0;try{r.value=await $fetch("/api/redis/browser/value",{method:"PATCH",body:{...T(a.value),databaseIndex:s.value.selectedDatabaseIndex,key:s.value.selectedKey,previewKind:i.previewKind,stringFormat:i.stringFormat,tableKind:i.tableKind,ttlSeconds:i.ttlSeconds,value:i.value}}),o.value="",E.success("Redis key saved successfully",{description:`Updated ${s.value.selectedKey}`})}catch(S){const I=Z(S);if(I){o.value=I;return}console.error("[useRedisWorkspace] Failed to save Redis value",S)}finally{l.value=!1}}}}}function ue(a){const s=C(a.connection),t=a.tabInfo?C(a.tabInfo):void 0,d=a.mode??"browser",n=J(),r=p(()=>{var e;return(e=s.value)!=null&&e.id?n.ensureSession(s.value.id,Q(s.value.database)):null}),v=p({get:()=>{var e;return((e=r.value)==null?void 0:e.selectedDatabaseIndex)??0},set:e=>{r.value&&n.patchSession(r.value.connectionId,{selectedDatabaseIndex:e})}}),f=p({get:()=>{var e;return((e=r.value)==null?void 0:e.keyPattern)??"*"},set:e=>{r.value&&n.patchSession(r.value.connectionId,{keyPattern:e||"*"})}}),l=ee({connection:s,session:r,store:n}),o=m(!1);return K(()=>t==null?void 0:t.value,async e=>{var c,y,b,u;if(!(!r.value||!e)){if(e.type===_.RedisPubSub){n.patchSession(r.value.connectionId,{activeTool:"pubsub",selectedDatabaseIndex:typeof((c=e.metadata)==null?void 0:c.databaseIndex)=="number"?e.metadata.databaseIndex:r.value.selectedDatabaseIndex}),l.refreshDatabases();return}o.value=!0;try{n.patchSession(r.value.connectionId,{activeTool:"browser",selectedDatabaseIndex:typeof((y=e.metadata)==null?void 0:y.databaseIndex)=="number"?e.metadata.databaseIndex:r.value.selectedDatabaseIndex,keyPattern:typeof((b=e.metadata)==null?void 0:b.keyPattern)=="string"?e.metadata.keyPattern:r.value.keyPattern,selectedKey:typeof((u=e.metadata)==null?void 0:u.selectedKey)=="string"?e.metadata.selectedKey:r.value.selectedKey}),await l.refreshKeys(),l.refreshSelectedKeyDetail()}finally{o.value=!1}}},{immediate:!0}),K(()=>{var e,c;return[(e=r.value)==null?void 0:e.selectedDatabaseIndex,(c=r.value)==null?void 0:c.keyPattern]},([e,c],y)=>{if(!(t!=null&&t.value)||t.value.type!==_.RedisBrowser||o.value)return;const[b,u]=y??[];e===b&&c===u||l.refreshKeys()}),K(()=>{var e;return(e=r.value)==null?void 0:e.selectedKey},(e,c)=>{!(t!=null&&t.value)||t.value.type!==_.RedisBrowser||o.value||e===c||l.refreshSelectedKeyDetail(e)}),K(()=>{var e;return(e=r.value)==null?void 0:e.selectedDatabaseIndex},(e,c)=>{if(e!==c){if(t!=null&&t.value){t.value.type===_.RedisPubSub&&l.refreshDatabases();return}d==="meta"&&l.refreshDatabases()}}),K(()=>{var e;return(e=s.value)==null?void 0:e.id},e=>{if(!(!e||t!=null&&t.value)){if(d==="meta"){l.refreshDatabases();return}l.refreshKeys()}},{immediate:!0}),{session:r,keys:l.keys,databases:l.databases,selectedKeyDetail:l.selectedKeyDetail,loadingKeys:l.loadingKeys,loadingSelectedKeyDetail:l.loadingSelectedKeyDetail,savingValue:l.savingValue,selectedDatabaseIndex:v,keyPattern:f,canEditSelectedValue:l.canEditSelectedValue,editUnavailableReason:l.editUnavailableReason,refreshKeys:l.refreshKeys,openKey:l.openKey,focusKey:l.focusKey,saveSelectedValue:l.saveSelectedValue}}const ae={class:"flex min-w-0 items-center gap-1.5 pr-5 text-left"},te={class:"flex min-w-0 items-center gap-2"},se={class:"truncate"},le={class:"text-xxs text-muted-foreground"},ie=F({__name:"RedisDBSelector",props:{databases:{},databaseIndex:{},compact:{type:Boolean},label:{},triggerId:{},triggerClass:{}},emits:["update:databaseIndex"],setup(a,{emit:s}){const t=a,d=s,n=p(()=>t.databases.length>0?t.databases:[{index:t.databaseIndex,label:`DB ${t.databaseIndex}`,keyCount:0,expires:0,avgTtl:null}]),r=p(()=>t.triggerId||"redis-db-index"),v=p(()=>n.value.find(l=>l.index===t.databaseIndex)??n.value[0]),f=p(()=>t.compact?["h-6! w-fit gap-1 px-2 text-xs",t.triggerClass].filter(Boolean).join(" "):["w-full",t.triggerClass].filter(Boolean).join(" "));return(l,o)=>{const e=q,c=M,y=z,b=j;return R(),V("div",{class:P(l.compact?"w-[132px]":"space-y-1")},[l.compact?U("",!0):(R(),N(x(W),{key:0,for:x(r)},{default:D(()=>[A(w(l.label||"Databases"),1)]),_:1},8,["for"])),B(b,{"model-value":String(l.databaseIndex),"onUpdate:modelValue":o[0]||(o[0]=u=>d("update:databaseIndex",Number(u)||0))},{default:D(()=>[B(e,{id:x(r),size:"sm",class:P(x(f))},{default:D(()=>{var u,h;return[g("div",ae,[g("span",{class:P(l.compact?"truncate text-xs":"truncate text-sm")},w(((u=x(v))==null?void 0:u.label)||"Select DB"),3),g("span",{class:P(["shrink-0 text-muted-foreground",(l.compact,"text-xxs")])},w(((h=x(v))==null?void 0:h.keyCount)??0)+" keys ",3)])]}),_:1},8,["id","class"]),B(y,null,{default:D(()=>[(R(!0),V(L,null,H(x(n),u=>(R(),N(c,{key:u.index,value:String(u.index)},{default:D(()=>[g("div",te,[g("span",se,w(u.label),1),g("span",le,w(u.keyCount)+" keys ",1)])]),_:2},1032,["value"]))),128))]),_:1})]),_:1},8,["model-value"])],2)}}});export{G as R,ie as _,ue as u};
@@ -1 +0,0 @@
1
- import{d as r,a8 as m,c as a,e as c,k as p,g as o,f as l,m as u,o as e,A as _}from"./BNM5p7H5.js";import"./Dcz-n576.js";import{_ as d}from"./DnPYRTtC.js";import"./D4dXVtWp.js";import"./ZS8y2W5x.js";import"./DehrK61g.js";import"./BN6ZmV2J.js";import"./DpyRXhd7.js";import"./Th_o-5A0.js";import"./CYMhtSRb.js";import"./BjdYdiyf.js";import"./CZGnIeYQ.js";import"./Cgf5py_m.js";import"./CS5akSNT.js";import"./CbANTWsS.js";const f={class:"h-full"},x={key:0,class:"h-full p-4 flex flex-col items-center justify-center text-muted-foreground"},R=r({__name:"index",setup(k){const s=m(),t=a(()=>String(s.params.connectionId||""));return(g,n)=>{const i=_;return e(),c("div",f,[o(t)?(e(),p(o(d),{key:1,"source-connection-id":o(t)},null,8,["source-connection-id"])):(e(),c("div",x,[l(i,{name:"hugeicons:plug-socket",class:"size-12 mb-2 opacity-50"}),n[0]||(n[0]=u("p",{class:"text-sm"},"Select a connection to open Schema Diff",-1))]))])}}});export{R as default};
@@ -1 +0,0 @@
1
- import{d as f,k as d,o as $,w as e,f as a,W as g,X as w,Y as D,z as t,t as s,Z as k,$ as v,a0 as y,a1 as B}from"./BNM5p7H5.js";const Q=f({__name:"QuickQueryErrorPopup",props:{open:{type:Boolean},title:{default:"Query error!"},message:{},actionLabel:{default:"OK"}},emits:["update:open"],setup(C){return(o,n)=>{const i=D,p=w,_=k,c=y,r=v,m=g,u=B;return $(),d(u,{open:!!o.open,"onUpdate:open":n[1]||(n[1]=l=>o.$emit("update:open",l))},{default:e(()=>[a(m,{class:"w-[30vw] min-w-96"},{default:e(()=>[a(p,{class:"pb-0"},{default:e(()=>[a(i,null,{default:e(()=>[t(s(o.title),1)]),_:1})]),_:1}),a(_,{class:"decoration-wavy underline decoration-red-600 overflow-auto max-h-[30vh]"},{default:e(()=>[t(s(o.message),1)]),_:1}),a(r,{class:"pt-0"},{default:e(()=>[a(c,{onClick:n[0]||(n[0]=l=>o.$emit("update:open",!1)),class:"w-full"},{default:e(()=>[t(s(o.actionLabel),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["open"])}}});export{Q as _};
@@ -1 +0,0 @@
1
- import{_ as e}from"./Di_nUA-u.js";import{d as r,a8 as c,c as n,k as m,g as o,o as p}from"./BNM5p7H5.js";import"./BN6ZmV2J.js";import"./D4dXVtWp.js";import"./ZS8y2W5x.js";import"./Dcz-n576.js";import"./Cgf5py_m.js";import"./CS5akSNT.js";import"./CbANTWsS.js";import"./DyIuwJ7R.js";const C=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{C as default};
@@ -1 +0,0 @@
1
- import{az as m,a6 as a,A as f,aA as ie,a4 as le,a5 as r,aB as N,r as E,aC as G,aD as y,aE as B,aF as T,a as ce,c as v,ah as ue,au as O,aG as de,aH as he,aI as D}from"./BNM5p7H5.js";const Se=[{type:a.POSTGRES,name:"PostgreSQL",icon:m(f,{name:"logos:postgresql"}),isSupport:!0,description:"Relational SQL workflows"},{type:a.MYSQL,name:"MySQL",icon:m(f,{name:"logos:mysql"}),isSupport:!0,isBeta:!0,description:"Relational SQL workflows"},{type:a.MARIADB,name:"MariaDB",icon:m(f,{name:"logos:mariadb-icon"}),isSupport:!0,isBeta:!0,description:"Relational SQL workflows"},{type:a.ORACLE,name:"Oracle",icon:m(f,{name:"simple-icons:oracle",class:"text-red-500"}),isSupport:!1,unsupportedLabel:"Coming soon",description:"Relational SQL workflows"},{type:a.SQLITE3,name:"SQLite",icon:m(f,{name:"file-icons:sqlite"}),isSupport:!0,isBeta:!0,description:"Local file, Cloudflare D1, Turso"},{type:a.REDIS,name:"Redis",icon:m(f,{name:"logos:redis"}),isSupport:!0,isBeta:!0,description:"Browser, workbench, analysis"},{type:a.MSSQL,name:"SQL Server",icon:m(f,{name:"simple-icons:microsoftsqlserver"}),isSupport:!1,unsupportedLabel:"Coming soon"},{type:a.SNOWFLAKE,name:"Snowflake",icon:m(f,{name:"simple-icons:snowflake"}),isSupport:!1,unsupportedLabel:"Coming soon"}],ve={[a.MYSQL2]:a.MYSQL,[a.BETTER_SQLITE3]:a.SQLITE3},pe={[a.POSTGRES]:"5432",[a.MYSQL]:"3306",[a.MARIADB]:"3306",[a.MYSQL2]:"3306",[a.REDIS]:"6379",[a.MSSQL]:"1433",[a.ORACLE]:"1521",[a.BETTER_SQLITE3]:"0",[a.SQLITE3]:"0",[a.SNOWFLAKE]:"443"},Te=t=>{const u=ve[t]??t;return Se.find(d=>d.type===u)},Ae=t=>t!==!1&&t!=="false"&&t!=="0",Re=(t,u)=>t.type===a.SQLITE3&&!u;function me(t){const u=ie({type:t.type,method:t.method,providerKind:"providerKind"in t?t.providerKind:void 0,managedSqlite:"managedSqlite"in t?t.managedSqlite:void 0}),d=le({type:t.type,method:t.method,providerKind:u,managedSqlite:"managedSqlite"in t?t.managedSqlite:void 0});return t.method===r.MANAGED?{...t,providerKind:u,family:d}:{...t,providerKind:u,family:d}}const fe={healthCheck:t=>$fetch("/api/managment-connection/health-check",{method:"POST",body:me(t)})},Ee=new Set([r.STRING,r.FORM]),_=t=>t?t===a.SQLITE3?[r.FILE,r.MANAGED]:[r.STRING,r.FORM]:[],R=()=>({provider:T.CLOUDFLARE_D1,accountId:"",databaseId:"",databaseName:"",apiToken:"",url:"",authToken:"",branchName:""}),Y=t=>t===T.TURSO?D.TURSO:D.CLOUDFLARE_D1,ge=t=>t===a.ORACLE?"serviceName":"database",Le=t=>{switch(t){case a.POSTGRES:return"postgresql";case a.MARIADB:return"mariadb";case a.ORACLE:return"oracledb";case a.REDIS:return"redis";case a.SNOWFLAKE:return"snowflake";case a.MYSQL:case a.MYSQL2:return"mysql";default:return""}},Ie=t=>{const u=t.replace(/\\/g,"/");return`sqlite3://${u.startsWith("/")?"":"/"}${u}`},be=t=>{const u=t.split(/[\\/]/).pop()||"";return u.replace(/\.(sqlite3?|db3?)$/i,"")||u};function Ce(t){const u=N(t.open),d=N(t.editingConnection),$=N(t.workspaceId),I=E(1),c=E(a.POSTGRES),g=E("my-abc-db"),l=E(r.STRING),b=E(""),e=G({host:"",port:"",username:"",password:"",database:"",serviceName:"",filePath:"",sslEnabled:!1,sslMode:B.DISABLE,sslCA:"",sslCert:"",sslKey:"",sslRejectUnauthorized:!0,sshEnabled:!1,sshHost:"",sshPort:22,sshUsername:"",sshAuthMethod:y.PASSWORD,sshPassword:"",sshPrivateKey:"",sshStoreInKeychain:!0,sshUseKey:!1}),i=G(R()),C=E([]),h=E("idle"),p=E(""),j=ce(),H=v(()=>_(c.value)),w=v(()=>ue()),W=v(()=>l.value===r.FILE),K=v(()=>{var n;return c.value===a.SQLITE3&&w.value&&typeof window<"u"&&typeof((n=window.electronAPI)==null?void 0:n.window.pickSqliteFile)=="function"}),A=v(()=>ge(c.value)==="serviceName"),z=v(()=>A.value?"Service Name":"Database"),x=v(()=>A.value?"ORCLPDB1":"my_database"),M=v(()=>Ee.has(l.value)),L=n=>n&&pe[n]||"",V=()=>{const n=j.tags.find(o=>o.name==="dev");return n?[n.id]:[]},J=()=>{if(!(!e.sslEnabled||!M.value))return{mode:e.sslMode,ca:e.sslCA,cert:e.sslCert,key:e.sslKey,rejectUnauthorized:e.sslRejectUnauthorized}},X=()=>{if(!(!e.sshEnabled||!M.value))return{enabled:!0,host:e.sshHost,port:e.sshPort,username:e.sshUsername,authMethod:e.sshUseKey?y.KEY:y.PASSWORD,password:e.sshPassword,privateKey:e.sshPrivateKey,storeInKeychain:e.sshStoreInKeychain,useSshKey:e.sshUseKey}},k=()=>{const n={host:e.host,port:e.port||L(c.value),username:e.username,password:e.password,ssl:J(),ssh:X()};return A.value?n.serviceName=e.serviceName:n.database=e.database,n},q=()=>i.provider===T.TURSO?{provider:T.TURSO,url:i.url,authToken:i.authToken,branchName:i.branchName}:{provider:T.CLOUDFLARE_D1,accountId:i.accountId,databaseId:i.databaseId,databaseName:i.databaseName,apiToken:i.apiToken},Z=()=>{const n=Le(c.value),o=e.port||L(c.value),s=A.value?e.serviceName:e.database;if(!n||!e.host||!e.username||!s)return;const P=e.password?`${e.username}:${e.password}`:e.username;return`${n}://${P}@${e.host}${o?`:${o}`:""}/${s}`},ee=()=>{const n=c.value;if(!n)throw new Error("Database type is required.");return l.value===r.STRING?{type:n,method:r.STRING,stringConnection:b.value}:l.value===r.FILE?{type:a.SQLITE3,method:r.FILE,filePath:e.filePath}:l.value===r.MANAGED?{type:a.SQLITE3,method:r.MANAGED,providerKind:Y(i.provider),managedSqlite:q()}:{type:n,method:r.FORM,...k()}},Q=()=>{I.value=1,c.value=a.POSTGRES,g.value="my-abc-db",l.value=r.STRING,b.value="",e.host="",e.port=L(a.POSTGRES),e.username="",e.password="",e.database="",e.serviceName="",e.filePath="",e.sslEnabled=!1,e.sslMode=B.DISABLE,e.sslCA="",e.sslCert="",e.sslKey="",e.sslRejectUnauthorized=!0,e.sshEnabled=!1,e.sshHost="",e.sshPort=22,e.sshUsername="",e.sshAuthMethod=y.PASSWORD,e.sshPassword="",e.sshPrivateKey="",e.sshStoreInKeychain=!0,e.sshUseKey=!1,Object.assign(i,R()),C.value=V(),h.value="idle",p.value=""},se=()=>{I.value===1&&c.value&&(I.value=2)},ae=()=>{I.value=1,h.value="idle",p.value=""},F=async()=>{var n;if(l.value===r.FILE&&!w.value)return h.value="error",p.value="SQLite file connections are available only in the desktop app.",!1;h.value="testing",p.value="";try{const o=await fe.healthCheck(ee());return o.isConnectedSuccess?(h.value="success",p.value="",!0):(h.value="error",p.value=o.message||"Connection failed. Please check your details and try again.",!1)}catch(o){return h.value="error",p.value=((n=o==null?void 0:o.data)==null?void 0:n.message)||(o==null?void 0:o.message)||"Connection failed. Please check your details and try again.",!1}},te=async()=>{var P,U;const o=!!!d.value;if(o&&!await F())return;const s={workspaceId:$.value,id:((P=d.value)==null?void 0:P.id)||he(),name:g.value,type:c.value,method:l.value,createdAt:((U=d.value)==null?void 0:U.createdAt)||de().toISOString(),tagIds:[...C.value]};if(l.value===r.STRING)s.connectionString=b.value;else if(l.value===r.FILE)s.filePath=e.filePath,s.connectionString=Ie(e.filePath),s.providerKind=D.SQLITE_FILE;else if(l.value===r.MANAGED)s.providerKind=Y(i.provider),s.managedSqlite=q();else{const S=k();s.host=S.host,s.port=S.port,s.username=S.username,s.password=S.password,s.database=S.database,s.serviceName=S.serviceName,s.ssl=S.ssl,s.ssh=S.ssh,s.connectionString=Z()}o?t.onAddNew(s):t.onUpdate(s),t.onClose()},ne=()=>{switch(c.value){case a.POSTGRES:return"postgresql://username:password@localhost:5432/database";case a.MYSQL:case a.MYSQL2:return"mysql://username:password@localhost:3306/database";case a.MARIADB:return"mariadb://username:password@localhost:3306/database";case a.ORACLE:return"oracledb://username:password@localhost:1521/ORCLPDB1";case a.REDIS:return"redis://username:password@localhost:6379";case a.SNOWFLAKE:return"snowflake://username:password@account.snowflakecomputing.com:443/database";case a.SQLITE3:return"/Users/you/data/app.sqlite";default:return""}},oe=async()=>{var o;if(!K.value)return;const n=await((o=window.electronAPI)==null?void 0:o.window.pickSqliteFile());n&&(e.filePath=n,!d.value&&g.value==="my-abc-db"&&(g.value=be(n)),h.value="idle")},re=v(()=>g.value?l.value===r.STRING?!!b.value:l.value===r.FILE?w.value&&!!e.filePath:l.value===r.MANAGED?i.provider===T.TURSO?!!(i.url&&i.authToken):!!(i.accountId&&i.databaseId&&i.apiToken):A.value?!!(e.host&&(e.port||L(c.value))&&e.username&&e.password&&e.serviceName):!!(e.host&&(e.port||L(c.value))&&e.username&&e.database):!1);return O(c,n=>{const o=_(n);o.length>0&&!o.includes(l.value)&&(l.value=o[0]),n===a.SQLITE3?(e.host="",e.port="",e.username="",e.password="",e.database="",e.serviceName="",e.sslEnabled=!1,e.sshEnabled=!1):(e.filePath="",Object.assign(i,R()),n!==a.ORACLE&&(e.serviceName=""),d.value||(e.port=L(n))),h.value="idle"}),O(l,n=>{n!==r.FILE&&(e.filePath=""),n!==r.MANAGED&&Object.assign(i,R()),h.value="idle"}),O(u,n=>{var o;if(n)if(d.value){const s=d.value;g.value=s.name,c.value=s.type,l.value=s.method,b.value=s.connectionString||"",e.host=s.host||"",e.port=s.port||"",e.username=s.username||"",e.password=s.password||"",e.database=s.database||"",e.serviceName=s.serviceName||"",e.filePath=s.filePath||"",Object.assign(i,{...R(),...s.managedSqlite??{}}),e.sslEnabled=!!s.ssl,s.ssl&&(e.sslMode=s.ssl.mode,e.sslCA=s.ssl.ca||"",e.sslCert=s.ssl.cert||"",e.sslKey=s.ssl.key||"",e.sslRejectUnauthorized=s.ssl.rejectUnauthorized??!0),e.sshEnabled=!!((o=s.ssh)!=null&&o.enabled),s.ssh&&(e.sshHost=s.ssh.host||"",e.sshPort=s.ssh.port||22,e.sshUsername=s.ssh.username||"",e.sshAuthMethod=s.ssh.authMethod||y.PASSWORD,e.sshPassword=s.ssh.password||"",e.sshPrivateKey=s.ssh.privateKey||"",e.sshStoreInKeychain=s.ssh.storeInKeychain??!0,e.sshUseKey=s.ssh.useSshKey??s.ssh.authMethod===y.KEY),C.value=[...s.tagIds??[]],I.value=2}else Q()},{immediate:!0}),{step:I,dbType:c,connectionName:g,connectionMethod:l,connectionString:b,formData:e,managedSqlite:i,tagIds:C,testStatus:h,testErrorMessage:p,handleNext:se,handleBack:ae,handleTestConnection:F,handleCreateConnection:te,getDefaultPort:()=>L(c.value),getConnectionPlaceholder:ne,availableConnectionMethods:H,structuredTargetLabel:z,structuredTargetPlaceholder:x,canUseNetworkOptions:M,canPickSqliteFile:K,isFileMethod:W,isFormValid:re,pickSqliteFile:oe,resetForm:Q}}export{Re as a,Se as d,Te as g,Ae as i,Ce as u};
@@ -1 +0,0 @@
1
- import{d as b,ar as N,as as T,aj as D,aa as C,k as h,o as y,w as v,D as g,g as e,ak as k,at as $,r as u,c as w,au as A,av as F,aw as I,f as M,p as H,l as P,ax as V,ay as E}from"./BNM5p7H5.js";const[O,j]=D("CollapsibleRoot");var S=b({__name:"CollapsibleRoot",props:{defaultOpen:{type:Boolean,required:!1,default:!1},open:{type:Boolean,required:!1,default:void 0},disabled:{type:Boolean,required:!1},unmountOnHide:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["update:open"],setup(i,{expose:d,emit:s}){const o=i,n=N(o,"open",s,{defaultValue:o.defaultOpen,passive:o.open===void 0}),{disabled:l,unmountOnHide:p}=T(o);return j({contentId:"",disabled:l,open:n,unmountOnHide:p,onOpenToggle:()=>{l.value||(n.value=!n.value)}}),d({open:n}),C(),(r,f)=>(y(),h(e(k),{as:r.as,"as-child":o.asChild,"data-state":e(n)?"open":"closed","data-disabled":e(l)?"":void 0},{default:v(()=>[g(r.$slots,"default",{open:e(n)})]),_:3},8,["as","as-child","data-state","data-disabled"]))}}),J=S,L=b({inheritAttrs:!1,__name:"CollapsibleContent",props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["contentFound"],setup(i,{emit:d}){const s=i,o=d,t=O();t.contentId||(t.contentId=$(void 0,"reka-collapsible-content"));const n=u(),{forwardRef:l,currentElement:p}=C(),r=u(0),f=u(0),q=w(()=>t.open.value),m=u(q.value),c=u();A(()=>{var a;return[q.value,(a=n.value)==null?void 0:a.present]},async()=>{await E();const a=p.value;if(!a)return;c.value=c.value||{transitionDuration:a.style.transitionDuration,animationName:a.style.animationName},a.style.transitionDuration="0s",a.style.animationName="none";const _=a.getBoundingClientRect();f.value=_.height,r.value=_.width,m.value||(a.style.transitionDuration=c.value.transitionDuration,a.style.animationName=c.value.animationName)},{immediate:!0});const x=w(()=>m.value&&t.open.value);return F(()=>{requestAnimationFrame(()=>{m.value=!1})}),I(p,"beforematch",a=>{requestAnimationFrame(()=>{t.onOpenToggle(),o("contentFound")})}),(a,_)=>(y(),h(e(V),{ref_key:"presentRef",ref:n,present:a.forceMount||e(t).open.value,"force-mount":!0},{default:v(({present:B})=>{var R;return[M(e(k),H(a.$attrs,{id:e(t).contentId,ref:e(l),"as-child":s.asChild,as:a.as,hidden:B?void 0:e(t).unmountOnHide.value?"":"until-found","data-state":x.value?void 0:e(t).open.value?"open":"closed","data-disabled":(R=e(t).disabled)!=null&&R.value?"":void 0,style:{"--reka-collapsible-content-height":`${f.value}px`,"--reka-collapsible-content-width":`${r.value}px`}}),{default:v(()=>[!e(t).unmountOnHide.value||B?g(a.$slots,"default",{key:0}):P("v-if",!0)]),_:2},1040,["id","as-child","as","hidden","data-state","data-disabled","style"])]}),_:3},8,["present"]))}}),K=L,z=b({__name:"CollapsibleTrigger",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(i){const d=i;C();const s=O();return(o,t)=>{var n,l;return y(),h(e(k),{type:o.as==="button"?"button":void 0,as:o.as,"as-child":d.asChild,"aria-controls":e(s).contentId,"aria-expanded":e(s).open.value,"data-state":e(s).open.value?"open":"closed","data-disabled":(n=e(s).disabled)!=null&&n.value?"":void 0,disabled:(l=e(s).disabled)==null?void 0:l.value,onClick:e(s).onOpenToggle},{default:v(()=>[g(o.$slots,"default")]),_:3},8,["type","as","as-child","aria-controls","aria-expanded","data-state","data-disabled","disabled","onClick"])}}}),Q=z;export{J as C,K as a,Q as b};
@@ -1 +0,0 @@
1
- import{G as Qe,d as U,r as L,au as re,c as T,e as _,m as e,l as N,f as S,a0 as ce,w as E,z as M,t as a,g as t,o as f,A as me,n as oe,cX as De,bn as Fe,i as le,aZ as Se,cY as Xe,cZ as ke,co as we,cp as Ie,E as ne,K as fe,a3 as he,k as W,q as Te,I as te,aM as se,bl as _e,bp as Ce,bD as Le,bE as Re,F as D,s as F,bF as Ae,am as He,a6 as ue,a8 as We,a2 as Ye}from"./BNM5p7H5.js";import{g as Ve}from"./BN6ZmV2J.js";import{t as K,i as Ze,a as Je,b as et,m as tt,k as st,g as ze,h as je,c as nt,d as Ee,e as ot,f as at,j as it,n as rt,l as lt,S as dt,o as ut,p as ct,_ as Ke,q as mt,r as Me,s as pt,C as ft,u as gt,v as vt,E as xe,w as bt,x as _t,y as ht,z as yt,A as xt,B as $t}from"./lID_8ynt.js";import{f as St}from"./-lZvfnzr.js";import{_ as ye}from"./CuaktsoE.js";import{b as ge,a as Ue}from"./BVmBXPoG.js";import{u as kt}from"./CbANTWsS.js";import{_ as wt}from"./D4dXVtWp.js";import{_ as Pe}from"./CQzADP3y.js";import{_ as It,u as Tt}from"./5eGdUlL5.js";import"./Di0QgSJz.js";import"./CS5akSNT.js";var Ne={value:"eq","<":"lt","<=":"lte",">":"gt",">=":"gte","=":"eq","!=":"ne","<>":"ne"},Ct=function(){function n(i){var c=this._condVal=Ee(i)?new RegExp(i):ot(i)?i:null;if(c==null){var s="";K(s)}}return n.prototype.evaluate=function(i){var c=typeof i;return Ee(c)?this._condVal.test(i):at(c)?this._condVal.test(i+""):!1},n}(),Lt=function(){function n(){}return n.prototype.evaluate=function(){return this.value},n}(),Rt=function(){function n(){}return n.prototype.evaluate=function(){for(var i=this.children,c=0;c<i.length;c++)if(!i[c].evaluate())return!1;return!0},n}(),At=function(){function n(){}return n.prototype.evaluate=function(){for(var i=this.children,c=0;c<i.length;c++)if(i[c].evaluate())return!0;return!1},n}(),Pt=function(){function n(){}return n.prototype.evaluate=function(){return!this.child.evaluate()},n}(),Bt=function(){function n(){}return n.prototype.evaluate=function(){for(var i=!!this.valueParser,c=this.getValue,s=c(this.valueGetterParam),o=i?this.valueParser(s):null,h=0;h<this.subCondList.length;h++)if(!this.subCondList[h].evaluate(i?o:s))return!1;return!0},n}();function Be(n,i){if(n===!0||n===!1){var c=new Lt;return c.value=n,c}var s="";return Ge(n)||K(s),n.and?Oe("and",n,i):n.or?Oe("or",n,i):n.not?Et(n,i):Mt(n,i)}function Oe(n,i,c){var s=i[n],o="";et(s)||K(o),s.length||K(o);var h=n==="and"?new Rt:new At;return h.children=tt(s,function(p){return Be(p,c)}),h.children.length||K(o),h}function Et(n,i){var c=n.not,s="";Ge(c)||K(s);var o=new Pt;return o.child=Be(c,i),o.child||K(s),o}function Mt(n,i){for(var c="",s=i.prepareGetValue(n),o=[],h=st(n),p=n.parser,$=p?ze(p):null,b=0;b<h.length;b++){var u=h[b];if(!(u==="parser"||i.valueGetterAttrMap.get(u))){var k=je(Ne,u)?Ne[u]:u,w=n[u],y=$?$(w):w,m=nt(k,y)||k==="reg"&&new Ct(y);m||K(c),o.push(m)}}o.length||K(c);var v=new Bt;return v.valueGetterParam=s,v.valueParser=$,v.getValue=i.getValue,v.subCondList=o,v}function Ge(n){return Ze(n)&&!Je(n)}var Nt=function(){function n(i,c){this._cond=Be(i,c)}return n.prototype.evaluate=function(){return this._cond.evaluate()},n}();function Ot(n,i){return new Nt(n,i)}var Dt={type:"echarts:filter",transform:function(n){for(var i=n.upstream,c,s=Ot(n.config,{valueGetterAttrMap:it({dimension:!0}),prepareGetValue:function($){var b="",u=$.dimension;je($,"dimension")||K(b);var k=i.getDimensionInfo(u);return k||K(b),{dimIdx:k.index}},getValue:function($){return i.retrieveValueFromItem(c,$.dimIdx)}}),o=[],h=0,p=i.count();h<p;h++)c=i.getRawDataItem(h),s.evaluate()&&o.push(c);return{data:o}}},Ft={type:"echarts:sort",transform:function(n){var i=n.upstream,c=n.config,s="",o=rt(c);o.length||K(s);var h=[];lt(o,function(k){var w=k.dimension,y=k.order,m=k.parser,v=k.incomparable;if(w==null&&K(s),y!=="asc"&&y!=="desc"&&K(s),v&&v!=="min"&&v!=="max"){var l="";K(l)}if(y!=="asc"&&y!=="desc"){var r="";K(r)}var d=i.getDimensionInfo(w);d||K(s);var R=m?ze(m):null;m&&!R&&K(s),h.push({dimIdx:d.index,parser:R,comparator:new dt(y,v)})});var p=i.sourceFormat;p!==ut&&p!==ct&&K(s);for(var $=[],b=0,u=i.count();b<u;b++)$.push(i.getRawDataItem(b));return $.sort(function(k,w){for(var y=0;y<h.length;y++){var m=h[y],v=i.retrieveValueFromItem(k,m.dimIdx),l=i.retrieveValueFromItem(w,m.dimIdx);m.parser&&(v=m.parser(v),l=m.parser(l));var r=m.comparator.evaluate(v,l);if(r!==0)return r}return 0}),{data:$}}};function Ht(n){n.registerTransform(Dt),n.registerTransform(Ft)}var Vt=function(n){Ke(i,n);function i(){var c=n!==null&&n.apply(this,arguments)||this;return c.type="dataset",c}return i.prototype.init=function(c,s,o){n.prototype.init.call(this,c,s,o),this._sourceManager=new mt(this),Me(this)},i.prototype.mergeOption=function(c,s){n.prototype.mergeOption.call(this,c,s),Me(this)},i.prototype.optionUpdated=function(){this._sourceManager.dirty()},i.prototype.getSourceManager=function(){return this._sourceManager},i.type="dataset",i.defaultOption={seriesLayoutBy:pt},i}(ft),zt=function(n){Ke(i,n);function i(){var c=n!==null&&n.apply(this,arguments)||this;return c.type="dataset",c}return i.type="dataset",i}(gt);function jt(n){n.registerComponentModel(Vt),n.registerComponentView(zt)}const de=n=>St(n??0),ie=n=>n==null?"0.00/s":`${n.toFixed(2)}/s`,$e=n=>n==null?"0%":`${n.toFixed(2)}%`,ve=n=>{if(!n)return"-";const i=new Date(n);return Number.isNaN(i.getTime())?n:i.toLocaleString()},qe=n=>{if(n==null)return"-";if(n<60)return`${n}s`;const i=Math.floor(n/60),c=n%60;if(i<60)return`${i}m ${c}s`;const s=Math.floor(i/60),o=i%60;return`${s}h ${o}m`},Kt=n=>n==null||n<=0?"0 B":Qe(n).replace(" bytes"," B"),Ut=n=>{if(!n)return"-";const i=n.replace(/\s+/g," ").trim();return i?i.length>320?`${i.slice(0,320)}...`:i:"-"},Gt=n=>(n||"").toLowerCase().includes("idle in transaction"),qt={class:"space-y-4"},Qt={class:"flex items-center justify-between"},Xt={key:0,class:"border border-red-300 bg-red-50 text-red-700 rounded-lg p-3 text-sm"},Wt={class:"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-4 gap-2.5"},Yt={class:"h-full border rounded-lg p-2.5 space-y-2"},Zt={class:"flex items-center gap-1"},Jt={class:"text-sm font-semibold leading-none tabular-nums"},es={class:"grid grid-cols-2 gap-x-3 gap-y-1 text-[11px]"},ts={class:"text-muted-foreground"},ss={class:"tabular-nums text-foreground"},ns={class:"text-muted-foreground"},os={class:"tabular-nums text-foreground"},as={class:"text-muted-foreground"},is={class:"tabular-nums text-foreground"},rs={class:"text-muted-foreground"},ls={class:"tabular-nums text-foreground"},ds={class:"h-full border rounded-lg p-2.5 space-y-2"},us={class:"flex items-center gap-1"},cs={class:"text-sm font-semibold leading-none tabular-nums"},ms={class:"grid grid-cols-2 gap-x-3 gap-y-1 text-[11px]"},ps={class:"text-muted-foreground"},fs={class:"tabular-nums text-foreground"},gs={class:"text-muted-foreground"},vs={class:"tabular-nums text-foreground"},bs={class:"text-muted-foreground"},_s={class:"tabular-nums text-foreground"},hs={class:"text-muted-foreground"},ys={class:"tabular-nums text-foreground"},xs={class:"h-full border rounded-lg p-2.5 space-y-2"},$s={class:"flex items-center gap-1"},Ss={class:"text-sm font-semibold leading-none tabular-nums"},ks={class:"grid grid-cols-2 gap-x-3 gap-y-1 text-[11px]"},ws={class:"text-muted-foreground"},Is={class:"tabular-nums text-foreground"},Ts={class:"text-muted-foreground"},Cs={class:"tabular-nums text-foreground"},Ls={class:"text-muted-foreground"},Rs={class:"tabular-nums text-foreground"},As={class:"text-muted-foreground"},Ps={class:"tabular-nums text-foreground"},Bs={class:"h-full border rounded-lg p-2.5 space-y-2"},Es={class:"flex items-center gap-1"},Ms={class:"text-sm font-semibold leading-none tabular-nums"},Ns={class:"grid grid-cols-2 gap-x-3 gap-y-1 text-[11px]"},Os={class:"text-muted-foreground"},Ds={class:"tabular-nums text-foreground"},Fs={class:"text-muted-foreground"},Hs={class:"tabular-nums text-foreground"},Vs={class:"text-muted-foreground"},zs={class:"tabular-nums text-foreground"},js={class:"text-muted-foreground"},Ks={class:"tabular-nums text-foreground"},Us={class:"grid grid-cols-1 xl:grid-cols-2 gap-3"},Gs={class:"border rounded-lg p-2.5"},qs={class:"insights-chart-container"},Qs={class:"border rounded-lg p-2.5"},Xs={class:"insights-chart-container"},Ws={class:"border rounded-lg p-2.5"},Ys={class:"insights-chart-container"},Zs=U({__name:"InstanceInsightsActivitySection",props:{dashboard:{},isLoading:{type:Boolean},isActionLoading:{type:Boolean},onRefresh:{type:Function}},setup(n){vt([bt,_t,ht,jt,Ht,yt,xt,$t]);const i=n,c=L({}),s=L({}),o=L({}),h=(l,r)=>{r!=null&&r.selected&&(l.value={...r.selected})},p=l=>h(c,l),$=l=>h(s,l),b=l=>h(o,l),u=L([]);re(()=>i.dashboard,l=>{if(!(l!=null&&l.capturedAt))return;const r=new Date(l.capturedAt).toLocaleTimeString(),d={capturedAt:l.capturedAt,label:r,sessionsTotal:l.sessions.total,sessionsActive:l.sessions.active,sessionsIdle:l.sessions.idle,tps:l.transactions.tps,commits:l.transactions.commitsPerSec,rollbacks:l.transactions.rollbacksPerSec,reads:l.blockIO.readsPerSec,hits:l.blockIO.hitsPerSec,hitRatio:l.blockIO.bufferHitRatio},R=u.value.findIndex(V=>V.capturedAt===d.capturedAt);if(R>=0){u.value[R]=d;return}u.value.push(d),u.value.length>80&&(u.value=u.value.slice(-80))},{immediate:!0,deep:!0});const k=T(()=>u.value.map((l,r)=>({...l,idx:r}))),w=l=>Object.keys(l).length?l:void 0,y=T(()=>({tooltip:{trigger:"axis"},legend:{top:0,selected:w(c.value)},dataset:[{id:"sessions_raw",source:k.value},{id:"sessions_filtered",fromDatasetId:"sessions_raw",transform:{type:"filter",config:{dimension:"idx",gte:0}}}],grid:{left:45,right:20,top:34,bottom:24},xAxis:{type:"category",boundaryGap:!1},yAxis:{type:"value"},series:[{name:"Total",type:"line",smooth:!0,datasetId:"sessions_filtered",encode:{x:"label",y:"sessionsTotal"}},{name:"Active",type:"line",smooth:!0,datasetId:"sessions_filtered",encode:{x:"label",y:"sessionsActive"}},{name:"Idle",type:"line",smooth:!0,datasetId:"sessions_filtered",encode:{x:"label",y:"sessionsIdle"}}]})),m=T(()=>({tooltip:{trigger:"axis"},legend:{top:0,selected:w(s.value)},dataset:[{id:"transactions_dataset",source:k.value}],grid:{left:45,right:20,top:34,bottom:24},xAxis:{type:"category",boundaryGap:!0},yAxis:[{type:"value",name:"TPS"},{type:"value",name:"Commit/Rollback"}],series:[{name:"TPS",type:"line",smooth:!0,yAxisIndex:0,datasetId:"transactions_dataset",encode:{x:"label",y:"tps"}},{name:"Commits/s",type:"bar",yAxisIndex:1,datasetId:"transactions_dataset",encode:{x:"label",y:"commits"}},{name:"Rollbacks/s",type:"bar",yAxisIndex:1,datasetId:"transactions_dataset",encode:{x:"label",y:"rollbacks"}}]})),v=T(()=>({tooltip:{trigger:"axis"},legend:{top:0,selected:w(o.value)},dataset:[{id:"block_io_dataset",source:k.value}],grid:{left:45,right:20,top:34,bottom:24},xAxis:{type:"category",boundaryGap:!0},yAxis:[{type:"value",name:"Blocks/s"},{type:"value",name:"Hit %",min:0,max:100}],series:[{name:"Reads/s",type:"bar",yAxisIndex:0,datasetId:"block_io_dataset",encode:{x:"label",y:"reads"}},{name:"Hits/s",type:"bar",yAxisIndex:0,datasetId:"block_io_dataset",encode:{x:"label",y:"hits"}},{name:"Buffer Hit Ratio",type:"line",smooth:!0,yAxisIndex:1,datasetId:"block_io_dataset",encode:{x:"label",y:"hitRatio"}}]}));return(l,r)=>{var V,x,g,C,O,H,j,z,q,Y,Z,B,A,G,J,ae,pe,I,P,X,Q;const d=me,R=ce;return f(),_("div",qt,[e("div",Qt,[r[2]||(r[2]=e("div",null,[e("h3",{class:"text-sm font-medium"},"Activity Dashboard"),e("p",{class:"text-xs text-muted-foreground"}," Sessions, TPS, tuples and block I/O ")],-1)),S(R,{variant:"outline",size:"xs",disabled:l.isLoading||l.isActionLoading,class:"font-normal",onClick:r[0]||(r[0]=be=>l.onRefresh())},{default:E(()=>[S(d,{name:"hugeicons:redo",class:oe(["size-4",l.isLoading&&"animate-spin"])},null,8,["class"]),r[1]||(r[1]=M(" Refresh Activity "))]),_:1},8,["disabled"])]),(V=l.dashboard)!=null&&V.sessions.exceedsThreshold?(f(),_("div",Xt,[r[3]||(r[3]=M(" Total connections are at ")),e("strong",null,a(t($e)(l.dashboard.sessions.usagePercent)),1),r[4]||(r[4]=M(" of ")),r[5]||(r[5]=e("strong",null,"max_connections",-1)),r[6]||(r[6]=M(". Investigate connection pool usage. "))])):N("",!0),e("div",Wt,[e("div",Yt,[e("div",Zt,[r[7]||(r[7]=e("p",{class:"text-xs uppercase text-muted-foreground"},"Sessions:",-1)),e("p",Jt,a(t(de)((x=l.dashboard)==null?void 0:x.sessions.total)),1)]),e("div",es,[e("p",ts,[r[8]||(r[8]=e("span",null,"Active: ",-1)),e("span",ss,a(t(de)((g=l.dashboard)==null?void 0:g.sessions.active)),1)]),e("p",ns,[r[9]||(r[9]=e("span",null,"Idle: ",-1)),e("span",os,a(t(de)((C=l.dashboard)==null?void 0:C.sessions.idle)),1)]),e("p",as,[r[10]||(r[10]=e("span",null,"Max: ",-1)),e("span",is,a(t(de)((O=l.dashboard)==null?void 0:O.sessions.maxConnections)),1)]),e("p",rs,[r[11]||(r[11]=e("span",null,"Usage: ",-1)),e("span",ls,a(t($e)((H=l.dashboard)==null?void 0:H.sessions.usagePercent)),1)])])]),e("div",ds,[e("div",us,[r[12]||(r[12]=e("p",{class:"text-xs uppercase text-muted-foreground"},"TPS:",-1)),e("p",cs,a(t(ie)((j=l.dashboard)==null?void 0:j.transactions.tps)),1)]),e("div",ms,[e("p",ps,[r[13]||(r[13]=e("span",null,"Commits/sec: ",-1)),e("span",fs,a(t(ie)((z=l.dashboard)==null?void 0:z.transactions.commitsPerSec)),1)]),e("p",gs,[r[14]||(r[14]=e("span",null,"Rollbacks/sec: ",-1)),e("span",vs,a(t(ie)((q=l.dashboard)==null?void 0:q.transactions.rollbacksPerSec)),1)]),e("p",bs,[r[15]||(r[15]=e("span",null,"Total Commits: ",-1)),e("span",_s,a(t(de)((Y=l.dashboard)==null?void 0:Y.transactions.totalCommits)),1)]),e("p",hs,[r[16]||(r[16]=e("span",null,"Total Rollbacks: ",-1)),e("span",ys,a(t(de)((Z=l.dashboard)==null?void 0:Z.transactions.totalRollbacks)),1)])])]),e("div",xs,[e("div",$s,[r[17]||(r[17]=e("p",{class:"text-xs uppercase text-muted-foreground"},"Tuples:",-1)),e("p",Ss,a(t(ie)((B=l.dashboard)==null?void 0:B.tuples.insertsPerSec)),1)]),e("div",ks,[e("p",ws,[r[18]||(r[18]=e("span",null,"Updates: ",-1)),e("span",Is,a(t(ie)((A=l.dashboard)==null?void 0:A.tuples.updatesPerSec)),1)]),e("p",Ts,[r[19]||(r[19]=e("span",null,"Deletes: ",-1)),e("span",Cs,a(t(ie)((G=l.dashboard)==null?void 0:G.tuples.deletesPerSec)),1)]),e("p",Ls,[r[20]||(r[20]=e("span",null,"Fetched: ",-1)),e("span",Rs,a(t(ie)((J=l.dashboard)==null?void 0:J.tuples.fetchedPerSec)),1)]),e("p",As,[r[21]||(r[21]=e("span",null,"Returned: ",-1)),e("span",Ps,a(t(ie)((ae=l.dashboard)==null?void 0:ae.tuples.returnedPerSec)),1)])])]),e("div",Bs,[e("div",Es,[r[22]||(r[22]=e("p",{class:"text-xs uppercase text-muted-foreground"},"Block I/O:",-1)),e("p",Ms,a(t($e)((pe=l.dashboard)==null?void 0:pe.blockIO.bufferHitRatio)),1)]),e("div",Ns,[e("p",Os,[r[23]||(r[23]=e("span",null,"Reads/sec: ",-1)),e("span",Ds,a(t(ie)((I=l.dashboard)==null?void 0:I.blockIO.readsPerSec)),1)]),e("p",Fs,[r[24]||(r[24]=e("span",null,"Hits/sec: ",-1)),e("span",Hs,a(t(ie)((P=l.dashboard)==null?void 0:P.blockIO.hitsPerSec)),1)]),e("p",Vs,[r[25]||(r[25]=e("span",null,"Total Reads: ",-1)),e("span",zs,a(t(de)((X=l.dashboard)==null?void 0:X.blockIO.totalReads)),1)]),e("p",js,[r[26]||(r[26]=e("span",null,"Total Hits: ",-1)),e("span",Ks,a(t(de)((Q=l.dashboard)==null?void 0:Q.blockIO.totalHits)),1)])])])]),e("div",Us,[e("div",Gs,[r[27]||(r[27]=e("p",{class:"text-sm font-medium mb-1.5"},"Sessions Timeline",-1)),e("div",qs,[S(t(xe),{option:t(y),autoresize:"",class:"insights-chart",onLegendselectchanged:p},null,8,["option"])])]),e("div",Qs,[r[28]||(r[28]=e("p",{class:"text-sm font-medium mb-1.5"},"Transactions Timeline",-1)),e("div",Xs,[S(t(xe),{option:t(m),autoresize:"",class:"insights-chart",onLegendselectchanged:$},null,8,["option"])])])]),e("div",Ws,[r[29]||(r[29]=e("p",{class:"text-sm font-medium mb-1.5"},"Block I/O Timeline",-1)),e("div",Ys,[S(t(xe),{option:t(v),autoresize:"",class:"insights-chart",onLegendselectchanged:b},null,8,["option"])])])])}}}),Js=De(Zs,[["__scopeId","data-v-ba36a884"]]),en={class:"space-y-4 h-full flex flex-col overflow-auto"},tn={class:"flex items-center justify-between gap-2 flex-wrap"},sn={class:"h-full"},nn={class:"flex flex-col sm:flex-row sm:items-center gap-2 mb-2"},on={class:"relative flex-1"},an=U({__name:"InstanceInsightsConfigurationSection",props:{configuration:{},search:{},isLoading:{type:Boolean},isActionLoading:{type:Boolean},onRefresh:{type:Function}},emits:["update:search"],setup(n,{emit:i}){const c=n,s=i,o=T({get:()=>c.search,set:b=>s("update:search",b)}),h=T(()=>{var b;return((b=c.configuration)==null?void 0:b.rows)||[]}),p=T(()=>h.value.map(b=>({name:b.name,category:b.category,value:b.value,unit:b.unit||"-",requires_restart:b.pendingRestart?"yes":"no",description:b.description}))),$=T(()=>ge(p.value));return(b,u)=>{const k=me,w=ce,y=Fe,m=ye;return f(),_("div",en,[e("div",tn,[u[3]||(u[3]=e("div",null,[e("h3",{class:"text-sm font-medium"},"Configuration"),e("p",{class:"text-xs text-muted-foreground"},"Searchable pg_settings")],-1)),S(w,{variant:"outline",size:"xs",disabled:b.isLoading||b.isActionLoading,class:"font-normal",onClick:u[0]||(u[0]=v=>b.onRefresh())},{default:E(()=>[S(k,{name:"hugeicons:redo",class:oe(["size-4",b.isLoading&&"animate-spin"])},null,8,["class"]),u[2]||(u[2]=M(" Refresh Configuration "))]),_:1},8,["disabled"])]),e("div",sn,[e("div",nn,[e("div",on,[S(k,{name:"hugeicons:search-01",class:"size-4 absolute left-2.5 top-1/2 -translate-y-1/2 text-muted-foreground"}),S(y,{type:"text",placeholder:"Search setting name, category, or description...",class:"h-8 w-full pl-8 pr-3",modelValue:t(o),"onUpdate:modelValue":u[1]||(u[1]=v=>le(o)?o.value=v:null)},null,8,["modelValue"])])]),S(m,{columns:t($),data:t(p),class:"h-full border rounded-md",columnKeyBy:"field"},null,8,["columns","data"])])])}}}),rn={class:"space-y-4"},ln={class:"flex items-center justify-between"},dn={key:0,class:"border border-orange-300 bg-orange-50 text-orange-700 rounded-lg p-3 text-sm"},un={class:"space-y-1.5"},cn={class:"space-y-1.5"},mn={key:1,class:"border rounded-lg p-2.5"},pn={class:"flex items-center justify-between gap-3 flex-wrap"},fn={class:"text-sm font-medium"},gn={class:"flex items-center gap-2"},vn=300,bn=120,_n=44,hn=36,yn=U({__name:"InstanceInsightsReplicationSection",props:{replication:{},isLoading:{type:Boolean},isActionLoading:{type:Boolean},onRefresh:{type:Function},onToggleSlotStatus:{type:Function},onDropSlot:{type:Function}},setup(n){const i=n,c=T(()=>{var x;return((x=i.replication)==null?void 0:x.replicationStats)||[]}),s=T(()=>{var x;return((x=i.replication)==null?void 0:x.replicationSlots)||[]}),o=L([]),h=x=>{o.value=x},p=T(()=>c.value.map(x=>({pid:x.pid,client_addr:x.clientAddr||"-",application:x.applicationName||"-",state:x.state||"-",sync_state:x.syncState||"-",reply_time:ve(x.replyTime),write_lag:x.writeLag||"-",flush_lag:x.flushLag||"-",replay_lag:x.replayLag||"-"}))),$=["pid","client_addr","application","state","sync_state","reply_time","write_lag","flush_lag","replay_lag"],b=T(()=>p.value.length>0?ge(p.value):Ue($)),u=T(()=>s.value.map(x=>({slot_name:x.slotName,slot_type:x.slotType,status:x.active?"on":"off",active_pid:x.activePid??"-",restart_lsn:x.restartLsn||"-",retained_wal:Kt(x.retainedBytes),temporary:x.temporary?"yes":"no"}))),k=T(()=>ge(u.value)),w=x=>x<=0?bn:Math.min(vn,_n+x*hn),y=T(()=>`${w(p.value.length)}px`),m=T(()=>`${w(u.value.length)}px`),v=T(()=>{var g;const x=String(((g=o.value[0])==null?void 0:g.slot_name)||"");return x&&s.value.find(C=>C.slotName===x)||null}),l=T(()=>{var x;return(x=v.value)!=null&&x.active?"off":"on"}),r=T(()=>l.value==="off"?"Turn Off Slot":"Turn On Slot"),d=x=>window.confirm(x),R=async()=>{v.value&&d(`Drop replication slot "${v.value.slotName}"? This action cannot be undone.`)&&await i.onDropSlot(v.value.slotName)},V=async()=>{v.value&&d(`Switch replication slot "${v.value.slotName}" to ${l.value.toUpperCase()} status?`)&&await i.onToggleSlotStatus({slotName:v.value.slotName,desiredStatus:l.value,activePid:v.value.activePid,slotType:v.value.slotType})};return(x,g)=>{var j;const C=me,O=ce,H=ye;return f(),_("div",rn,[e("div",ln,[g[2]||(g[2]=e("div",null,[e("h3",{class:"text-sm font-medium"},"Replication"),e("p",{class:"text-xs text-muted-foreground"},"Replication stats and slots")],-1)),S(O,{variant:"outline",size:"xs",disabled:x.isLoading||x.isActionLoading,class:"font-normal",onClick:g[0]||(g[0]=z=>x.onRefresh())},{default:E(()=>[S(C,{name:"hugeicons:redo",class:oe(["size-4",x.isLoading&&"animate-spin"])},null,8,["class"]),g[1]||(g[1]=M(" Refresh Replication "))]),_:1},8,["disabled"])]),(j=x.replication)!=null&&j.staleSlotWarning?(f(),_("div",dn,a(x.replication.staleSlotWarning),1)):N("",!0),e("div",un,[g[3]||(g[3]=e("p",{class:"text-sm"},"Replication Stats",-1)),e("div",{class:"max-h-[300px]",style:Se({height:t(y)})},[S(H,{columns:t(b),data:t(p),class:"h-full border rounded-md",columnKeyBy:"field"},null,8,["columns","data"])],4)]),e("div",cn,[g[4]||(g[4]=e("h4",{class:"text-sm font-normal"},"Replication Slots",-1)),e("div",{class:"max-h-[300px]",style:Se({height:t(m)})},[S(H,{columns:t(k),data:t(u),selectedRows:t(o),class:"h-full border rounded-md",columnKeyBy:"field",onOnSelectedRows:h},null,8,["columns","data","selectedRows"])],4)]),t(v)?(f(),_("div",mn,[e("div",pn,[e("p",fn," Selected Slot: "+a(t(v).slotName)+" ("+a(t(v).active?"on":"off")+") · Active PID: "+a(t(v).activePid??"-"),1),e("div",gn,[S(O,{variant:"outline",size:"sm",disabled:x.isActionLoading,onClick:V},{default:E(()=>[M(a(t(r)),1)]),_:1},8,["disabled"]),S(O,{variant:"outline",size:"sm",disabled:x.isActionLoading,onClick:R},{default:E(()=>g[5]||(g[5]=[M(" Drop Slot ")])),_:1},8,["disabled"])])])])):N("",!0)])}}}),xn={class:"space-y-4"},$n={class:"flex items-center justify-between"},Sn={class:"space-y-1.5"},kn={class:"h-[360px]"},wn={key:0,class:"border rounded-lg p-2.5 space-y-2"},In={class:"flex items-center justify-between gap-3 flex-wrap"},Tn={class:"text-sm font-medium"},Cn={class:"flex gap-2"},Ln=["innerHTML"],Rn={class:"grid grid-cols-1 xl:grid-cols-2 gap-3"},An={class:"space-y-1.5"},Pn={class:"h-[300px]"},Bn={class:"space-y-1.5"},En={class:"h-[300px]"},Mn=U({__name:"InstanceInsightsStateSection",props:{state:{},isLoading:{type:Boolean},isActionLoading:{type:Boolean},onRefresh:{type:Function},onCancelQuery:{type:Function},onTerminateConnection:{type:Function}},setup(n){const i=n,{highlightSql:c}=kt(),s=T(()=>{var g;return((g=i.state)==null?void 0:g.sessions)||[]}),o=T(()=>{var g;return((g=i.state)==null?void 0:g.locks)||[]}),h=T(()=>{var g;return((g=i.state)==null?void 0:g.preparedTransactions)||[]}),p=L([]),$=g=>{p.value=g},b=T(()=>s.value.map(g=>({pid:g.pid,user:g.user,application:g.application||"-",client:g.client||"-",state:g.state||"-",wait_event:g.waitEvent||"-",blocking_pids:g.blockingPids.length?g.blockingPids.join(", "):"-",backend_start:ve(g.backendStart),transaction_start:ve(g.transactionStart),query_duration:qe(g.durationSeconds),sql:Ut(g.sql)}))),u=T(()=>ge(b.value)),k=T(()=>o.value.map(g=>({lock_type:g.lockType,target_relation:g.targetRelation||"-",mode:g.mode,granted:g.granted?"yes":"no",pid:g.pid??"-",user:g.user||"-",state:g.state||"-"}))),w=T(()=>ge(k.value)),y=T(()=>h.value.map(g=>({gid:g.gid,transaction:g.transaction,prepared:ve(g.prepared),owner:g.owner,database:g.database}))),m=T(()=>ge(y.value)),v=T(()=>{var C;const g=Number(((C=p.value[0])==null?void 0:C.pid)||0);return g&&s.value.find(O=>O.pid===g)||null}),l=g=>{if(!g||!g.trim())return"<pre><code>-</code></pre>";const C=g.replace(/\s+/g," ").trim(),O=C.length>900?`${C.slice(0,900)} ...`:C;return c(O)},r=T(()=>{var g;return l(((g=v.value)==null?void 0:g.sql)||null)}),d=(g,C)=>{const O=String(C.state||"");return Gt(O)?"insights-danger-cell":void 0},R=g=>window.confirm(g),V=async()=>{v.value&&R(`Cancel query for PID ${v.value.pid}?`)&&await i.onCancelQuery(v.value.pid)},x=async()=>{v.value&&R(`Terminate connection for PID ${v.value.pid}?`)&&await i.onTerminateConnection(v.value.pid)};return(g,C)=>{const O=me,H=ce,j=ye;return f(),_("div",xn,[e("div",$n,[C[2]||(C[2]=e("div",null,[e("h3",{class:"text-sm font-medium"},"State"),e("p",{class:"text-xs text-muted-foreground"}," Active sessions, locks, prepared transactions ")],-1)),S(H,{variant:"outline",size:"xs",disabled:g.isLoading||g.isActionLoading,class:"font-normal",onClick:C[0]||(C[0]=z=>g.onRefresh())},{default:E(()=>[S(O,{name:"hugeicons:redo",class:oe(["size-4",g.isLoading&&"animate-spin"])},null,8,["class"]),C[1]||(C[1]=M(" Refresh State "))]),_:1},8,["disabled"])]),e("div",Sn,[C[3]||(C[3]=e("h4",{class:"text-sm font-normal"},"Active Sessions",-1)),e("div",kn,[S(j,{columns:t(u),data:t(b),selectedRows:t(p),getCellClass:d,class:"h-full border rounded-md",columnKeyBy:"field",onOnSelectedRows:$},null,8,["columns","data","selectedRows"])])]),t(v)?(f(),_("div",wn,[e("div",In,[e("p",Tn," Selected PID: "+a(t(v).pid)+" ("+a(t(v).state||"-")+") ",1),e("div",Cn,[S(H,{variant:"outline",size:"sm",disabled:g.isActionLoading,onClick:V},{default:E(()=>C[4]||(C[4]=[M(" Cancel Query ")])),_:1},8,["disabled"]),S(H,{variant:"outline",size:"sm",disabled:g.isActionLoading,onClick:x},{default:E(()=>C[5]||(C[5]=[M(" Terminate Connection ")])),_:1},8,["disabled"])])]),e("div",null,[C[6]||(C[6]=e("p",{class:"text-xs text-muted-foreground mb-1"},"SQL Preview",-1)),e("div",{class:"sql-preview border rounded-md overflow-hidden",innerHTML:t(r)},null,8,Ln)])])):N("",!0),e("div",Rn,[e("div",An,[C[7]||(C[7]=e("h4",{class:"text-sm font-normal"},"Locks",-1)),e("div",Pn,[S(j,{columns:t(w),data:t(k),class:"h-full border rounded-md",columnKeyBy:"field"},null,8,["columns","data"])])]),e("div",Bn,[C[8]||(C[8]=e("h4",{class:"text-sm font-normal"},"Prepared Transactions",-1)),e("div",En,[S(j,{columns:t(m),data:t(y),class:"h-full border rounded-md",columnKeyBy:"field"},null,8,["columns","data"])])])])])}}}),Nn=De(Mn,[["__scopeId","data-v-2eab93d6"]]),On=5e3;function Dn(n){const i=L("activity"),c=L(!0),s=L(On),o=L(null),h=L(!1),p=L(!1),$=L(!1),b=L(!1),u=L(!1),k=L(!1),w=L(null),y=L(null),m=L(null),v=L(null),l=L(""),r=Xe(l,350),d=T(()=>!!n.value),R=L(!0);ke(()=>{R.value=!1}),we(()=>{R.value=!0});const V=()=>{o.value=null,w.value=null,y.value=null,m.value=null,v.value=null},x=async(I,P)=>{var X;try{return o.value=null,await I()}catch(Q){const be=((X=Q==null?void 0:Q.data)==null?void 0:X.message)||(Q==null?void 0:Q.message)||(Q==null?void 0:Q.statusMessage)||P;return o.value=be,null}},g=async(I={})=>{if(!d.value)return null;I.silent||($.value=!0);const P=await x(async()=>await $fetch("/api/instance-insights/dashboard",{method:"POST",body:{...ne(n.value)}}),"Failed to fetch activity dashboard");return P&&(w.value=P),I.silent||($.value=!1),P},C=async(I={})=>{if(!d.value)return null;I.silent||(b.value=!0);const P=await x(async()=>await $fetch("/api/instance-insights/state",{method:"POST",body:{...ne(n.value)}}),"Failed to fetch active sessions and locks");return P&&(y.value=P),I.silent||(b.value=!1),P},O=async(I={})=>{if(!d.value)return null;I.silent||(u.value=!0);const P=await x(async()=>await $fetch("/api/instance-insights/configuration",{method:"POST",body:{...ne(n.value),search:r.value||void 0}}),"Failed to fetch PostgreSQL settings");return P&&(m.value=P),I.silent||(u.value=!1),P},H=async(I={})=>{if(!d.value)return null;I.silent||(k.value=!0);const P=await x(async()=>await $fetch("/api/instance-insights/replication",{method:"POST",body:{...ne(n.value)}}),"Failed to fetch replication status");return P&&(v.value=P),I.silent||(k.value=!1),P},j=async(I=i.value,P={})=>{switch(I){case"activity":await g(P);break;case"state":await Promise.all([g({silent:!0}),C(P)]);break;case"configuration":await Promise.all([g({silent:!0}),O(P)]);break;case"replication":await Promise.all([g({silent:!0}),H(P)]);break;default:await g(P);break}},z=async(I={})=>{await Promise.all([g(I),C(I),O(I),H(I)])},q=async(I,P)=>{if(!d.value)return!1;p.value=!0;const X=await x(I,"Action failed");return p.value=!1,X?(X.success?fe(P,{description:X.message}):fe(X.message,{description:"The server did not complete this action."}),X.success):(fe(o.value||"Action failed",{description:"Check database permissions and try again."}),!1)},Y=async I=>{await q(async()=>await $fetch("/api/instance-insights/cancel-query",{method:"POST",body:{...ne(n.value),pid:I}}),`Cancelled query for PID ${I}`)&&await C({silent:!0})},Z=async I=>{await q(async()=>await $fetch("/api/instance-insights/terminate-connection",{method:"POST",body:{...ne(n.value),pid:I}}),`Terminated connection for PID ${I}`)&&(await C({silent:!0}),await g({silent:!0}))},B=async I=>{await q(async()=>await $fetch("/api/instance-insights/drop-slot",{method:"POST",body:{...ne(n.value),slotName:I}}),`Dropped replication slot "${I}"`)&&await H({silent:!0})},A=async I=>{await q(async()=>await $fetch("/api/instance-insights/toggle-slot-status",{method:"POST",body:{...ne(n.value),slotName:I.slotName,desiredStatus:I.desiredStatus,activePid:I.activePid??null,slotType:I.slotType??null}}),`Turned ${I.desiredStatus} slot "${I.slotName}"`)&&await H({silent:!0})},G=async()=>{if(!d.value){V();return}h.value=!0,await z(),h.value=!1};re(()=>n.value,async I=>{if(!I){V();return}await G()},{immediate:!0}),re(()=>r.value,async()=>{i.value!=="configuration"||!d.value||await O({silent:!0})}),re(()=>i.value,async I=>{d.value&&(I==="state"&&!y.value&&await C(),I==="configuration"&&!m.value&&await O(),I==="replication"&&!v.value&&await H())});const{pause:J,resume:ae,isActive:pe}=Ie(async()=>{!d.value||!R.value||await j(i.value,{silent:!0})},s,{immediate:!1});return re(()=>c.value,I=>{I?ae():J()},{immediate:!0}),{activeSection:i,autoRefresh:c,isAutoRefreshRunning:pe,error:o,isInitialLoading:h,isActionLoading:p,isDashboardLoading:$,isStateLoading:b,isConfigurationLoading:u,isReplicationLoading:k,dashboard:w,state:y,configuration:m,replication:v,configurationSearch:l,refreshSection:j,refreshAll:z,fetchDashboard:g,fetchState:C,fetchConfiguration:O,fetchReplication:H,cancelQuery:Y,terminateConnection:Z,dropReplicationSlot:B,toggleReplicationSlotStatus:A}}const Fn={class:"flex flex-col h-full p-3 gap-3 overflow-hidden"},Hn={class:"flex flex-col lg:flex-row lg:items-start lg:justify-between border rounded-lg p-3 gap-3 bg-background"},Vn={class:"space-y-1"},zn={class:"flex items-center gap-2"},jn={class:"text-sm text-muted-foreground flex items-center gap-0.5"},Kn={class:"flex items-center gap-0.5"},Un={class:"font-medium text-foreground"},Gn={key:0,class:"flex items-center gap-1.5 mt-0.5"},qn={class:"flex items-center gap-2 flex-wrap"},Qn={class:"text-xs flex items-center gap-2"},Xn={class:"flex items-center justify-between gap-2"},Wn={class:"text-xs text-muted-foreground"},Yn={key:0,class:"border border-red-300 bg-red-50 text-red-700 rounded-lg p-3 text-sm"},Zn={key:1,class:"border rounded-lg p-6 flex items-center justify-center gap-2 text-muted-foreground"},Jn={key:2,class:"flex-1 overflow-y-auto border rounded-lg p-3 bg-background"},eo=U({__name:"InstanceInsightsPanel",props:{dbConnectionString:{},databaseName:{},dbType:{}},setup(n){const i=[{id:"activity",tabLabel:"Activity",subtitle:"Sessions, TPS, tuples and block I/O",icon:"hugeicons:artificial-intelligence-08"},{id:"state",tabLabel:"State",subtitle:"Active sessions, locks, prepared transactions",icon:"hugeicons:shield-01"},{id:"configuration",tabLabel:"Config",subtitle:"Searchable pg_settings",icon:"hugeicons:settings-01"},{id:"replication",tabLabel:"Replication",subtitle:"Replication stats and slots",icon:"hugeicons:database"}],c=he(),s=T(()=>c.selectedConnection),{activeSection:o,autoRefresh:h,error:p,isInitialLoading:$,isActionLoading:b,isDashboardLoading:u,isStateLoading:k,isConfigurationLoading:w,isReplicationLoading:y,dashboard:m,state:v,configuration:l,replication:r,configurationSearch:d,refreshSection:R,refreshAll:V,cancelQuery:x,terminateConnection:g,dropReplicationSlot:C,toggleReplicationSlotStatus:O}=Dn(s);T(()=>i.find(B=>B.id===o.value));const H=T(()=>{var B,A,G,J;return o.value==="activity"?(B=m.value)==null?void 0:B.capturedAt:o.value==="state"?(A=v.value)==null?void 0:A.capturedAt:o.value==="configuration"?(G=l.value)==null?void 0:G.capturedAt:(J=r.value)==null?void 0:J.capturedAt}),j=()=>R("activity"),z=()=>R("state"),q=()=>R("configuration"),Y=()=>R("replication"),Z=B=>O(B);return(B,A)=>{var Q,be;const G=me,J=_e,ae=Ce,pe=ce,I=Ae,P=Re,X=Le;return f(),_("div",Fn,[e("div",Hn,[e("div",Vn,[e("div",zn,[S(G,{name:"hugeicons:database",class:"size-5 text-primary"}),A[4]||(A[4]=e("h2",{class:"text-base font-medium"},"Instance Insights",-1))]),e("div",jn,[A[5]||(A[5]=M(" connection: ")),e("div",Kn,[B.dbType?(f(),W(Te((Q=t(Ve)(B.dbType))==null?void 0:Q.icon),{key:0,class:"size-4!"})):N("",!0),e("span",Un,a(B.databaseName),1)])]),(be=t(m))!=null&&be.version?(f(),_("div",Gn,[S(J,{variant:"outline",class:"text-xxs h-5 px-1.5 font-normal"},{default:E(()=>[M(" PostgreSQL "+a(t(m).version),1)]),_:1})])):N("",!0)]),e("div",qn,[e("div",Qn,[S(ae,{id:"insights-auto-refresh","model-value":t(h),"onUpdate:modelValue":A[0]||(A[0]=ee=>le(h)?h.value=ee:null),class:"cursor-pointer"},null,8,["model-value"]),A[6]||(A[6]=e("label",{for:"insights-auto-refresh",class:"cursor-pointer"}," Auto refresh ",-1))]),S(pe,{variant:"outline",size:"sm",disabled:t($)||t(b),onClick:A[1]||(A[1]=ee=>t(V)()),class:"font-normal"},{default:E(()=>[S(G,{name:"hugeicons:redo",class:"size-4"}),A[7]||(A[7]=M(" Refresh All "))]),_:1},8,["disabled"])])]),e("div",Xn,[S(X,{modelValue:t(o),"onUpdate:modelValue":A[2]||(A[2]=ee=>le(o)?o.value=ee:null),class:"gap-0 flex-1 min-w-0"},{default:E(()=>[S(P,{class:"h-8 max-w-full overflow-x-auto justify-start!"},{default:E(()=>[(f(),_(D,null,F(i,ee=>S(I,{key:ee.id,value:ee.id,class:"text-xs px-1.5 rounded-sm cursor-pointer min-w-fit shrink-0",onClick:mr=>t(R)(ee.id,{silent:!0})},{default:E(()=>[S(G,{name:ee.icon,class:"size-3.5!"},null,8,["name"]),M(" "+a(ee.tabLabel),1)]),_:2},1032,["value","onClick"])),64))]),_:1})]),_:1},8,["modelValue"]),e("div",Wn," Last updated: "+a(t(ve)(t(H))),1)]),t(p)?(f(),_("div",Yn,a(t(p)),1)):N("",!0),t($)&&!t(m)?(f(),_("div",Zn,[S(G,{name:"hugeicons:redo",class:"size-4 animate-spin"}),A[8]||(A[8]=M(" Loading instance insights... "))])):(f(),_("div",Jn,[te(S(Js,{dashboard:t(m),isLoading:t(u),isActionLoading:t(b),onRefresh:j},null,8,["dashboard","isLoading","isActionLoading"]),[[se,t(o)==="activity"]]),te(S(Nn,{state:t(v),isLoading:t(k),isActionLoading:t(b),onRefresh:z,onCancelQuery:t(x),onTerminateConnection:t(g)},null,8,["state","isLoading","isActionLoading","onCancelQuery","onTerminateConnection"]),[[se,t(o)==="state"]]),te(S(an,{search:t(d),"onUpdate:search":A[3]||(A[3]=ee=>le(d)?d.value=ee:null),configuration:t(l),isLoading:t(w),isActionLoading:t(b),onRefresh:q},null,8,["search","configuration","isLoading","isActionLoading"]),[[se,t(o)==="configuration"]]),te(S(yn,{replication:t(r),isLoading:t(y),isActionLoading:t(b),onRefresh:Y,onDropSlot:t(C),onToggleSlotStatus:Z},null,8,["replication","isLoading","isActionLoading","onDropSlot"]),[[se,t(o)==="replication"]])]))])}}}),to={key:0,class:"space-y-4"},so={class:"flex items-start justify-between gap-3 flex-wrap"},no={class:"text-sm font-medium"},oo={class:"text-xs text-muted-foreground"},ao={key:1,class:"flex gap-2 flex-wrap"},io={key:2,class:"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-4 gap-2.5"},ro={class:"text-xs uppercase text-muted-foreground"},lo={class:"text-sm font-semibold leading-none tabular-nums"},uo={key:0,class:"text-[11px] text-muted-foreground"},co={key:3,class:"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-2.5"},mo={class:"text-xs uppercase text-muted-foreground"},po={class:"text-sm font-medium leading-tight break-words"},fo={key:0,class:"text-[11px] text-muted-foreground"},go={key:4,class:"space-y-2"},vo={class:"font-medium"},bo={class:"text-xs mt-1"},_o={class:"text-sm font-normal"},ho={key:0,class:"text-xs text-muted-foreground"},yo={key:0,class:"text-xs text-muted-foreground"},xo=360,$o=120,So=44,ko=36,wo=U({__name:"InstanceInsightsSectionRenderer",props:{section:{},search:{}},setup(n){const i=n,c=T(()=>{var u;return((u=i.search)==null?void 0:u.trim().toLowerCase())||""}),s=T(()=>i.section?!i.section.searchable||!c.value?i.section.tables||[]:(i.section.tables||[]).map(u=>({...u,rows:u.rows.filter(k=>Object.values(k).some(w=>String(w??"").toLowerCase().includes(c.value)))})):[]),o=u=>u<=0?$o:Math.min(xo,So+u*ko),h=u=>u==="supported"?"border-emerald-300 bg-emerald-50 text-emerald-700":u==="conditional"?"border-amber-300 bg-amber-50 text-amber-700":"border-slate-300 bg-slate-50 text-slate-700",p=u=>u==="success"?"border-emerald-200 bg-emerald-50":u==="warning"?"border-amber-200 bg-amber-50":u==="danger"?"border-red-200 bg-red-50":u==="info"?"border-sky-200 bg-sky-50":"border-border bg-background",$=u=>u==="unsupported"?"border-amber-300 bg-amber-50 text-amber-700":u==="unavailable"?"border-red-300 bg-red-50 text-red-700":"border-emerald-300 bg-emerald-50 text-emerald-700",b=u=>u==="pass"?"border-emerald-200 bg-emerald-50 text-emerald-700":u==="warn"?"border-amber-200 bg-amber-50 text-amber-700":u==="fail"?"border-red-200 bg-red-50 text-red-700":"border-sky-200 bg-sky-50 text-sky-700";return(u,k)=>{var m,v,l,r;const w=_e,y=ye;return u.section?(f(),_("div",to,[e("div",so,[e("div",null,[e("h3",no,a(u.section.title),1),e("p",oo,a(u.section.subtitle),1)]),S(w,{class:oe($(u.section.status)),variant:"outline"},{default:E(()=>[M(a(u.section.status),1)]),_:1},8,["class"])]),u.section.statusMessage?(f(),_("div",{key:0,class:oe(["border rounded-lg p-3 text-sm",$(u.section.status)])},a(u.section.statusMessage),3)):N("",!0),(m=u.section.actions)!=null&&m.length?(f(),_("div",ao,[(f(!0),_(D,null,F(u.section.actions,d=>(f(),W(w,{key:d.id,class:oe(h(d.state)),variant:"outline"},{default:E(()=>[M(a(d.label)+" · "+a(d.state),1)]),_:2},1032,["class"]))),128))])):N("",!0),(v=u.section.cards)!=null&&v.length?(f(),_("div",io,[(f(!0),_(D,null,F(u.section.cards,d=>(f(),_("div",{key:d.id,class:oe(["h-full border rounded-lg p-2.5 space-y-1.5",p(d.tone)])},[e("p",ro,a(d.label),1),e("p",lo,a(d.value),1),d.helperText?(f(),_("p",uo,a(d.helperText),1)):N("",!0)],2))),128))])):N("",!0),(l=u.section.details)!=null&&l.length?(f(),_("div",co,[(f(!0),_(D,null,F(u.section.details,d=>(f(),_("div",{key:`${d.label}-${d.value}`,class:oe(["border rounded-lg p-2.5 space-y-1",p(d.tone)])},[e("p",mo,a(d.label),1),e("p",po,a(d.value),1),d.helperText?(f(),_("p",fo,a(d.helperText),1)):N("",!0)],2))),128))])):N("",!0),(r=u.section.checks)!=null&&r.length?(f(),_("div",go,[(f(!0),_(D,null,F(u.section.checks,d=>(f(),_("div",{key:d.id,class:oe(["border rounded-lg p-3 text-sm",b(d.status)])},[e("p",vo,a(d.label),1),e("p",bo,a(d.detail),1)],2))),128))])):N("",!0),(f(!0),_(D,null,F(t(s),d=>(f(),_("div",{key:d.id,class:"space-y-1.5"},[e("div",null,[e("h4",_o,a(d.title),1),d.description?(f(),_("p",ho,a(d.description),1)):N("",!0)]),e("div",{class:"max-h-[360px]",style:Se({height:`${o(d.rows.length)}px`})},[S(y,{columns:t(Ue)(d.columns.map(R=>R.key)),data:d.rows,class:"h-full border rounded-md",columnKeyBy:"field"},null,8,["columns","data"])],4),d.emptyMessage&&d.rows.length===0?(f(),_("p",yo,a(d.emptyMessage),1)):N("",!0)]))),128))])):N("",!0)}}}),Io=5e3;function To(n){const i=L(null),c=L("overview"),s=L(!0),o=L(""),h=L(null),p=L(!1),$=L(!1),b=T(()=>!!n.value),u=L(!0);ke(()=>{u.value=!1}),we(()=>{u.value=!0});const k=()=>{h.value=null,i.value=null,o.value="",c.value="overview"},w=async(d={})=>{var R,V;if(!b.value)return k(),null;d.silent||($.value=!0);try{h.value=null;const x=await $fetch("/api/instance-insights/view",{method:"POST",body:{...ne(n.value)}});return i.value=x,x.sections.some(g=>g.id===c.value)||(c.value=((R=x.sections[0])==null?void 0:R.id)||"overview"),x}catch(x){const g=((V=x==null?void 0:x.data)==null?void 0:V.message)||(x==null?void 0:x.message)||(x==null?void 0:x.statusMessage)||"Failed to fetch instance insights";return h.value=g,null}finally{d.silent||($.value=!1)}},y=async(d=c.value,R={})=>w(R),m=async(d={})=>w(d),v=async()=>{if(!b.value){k();return}p.value=!0,await w(),p.value=!1};re(()=>n.value,async d=>{if(!d){k();return}await v()},{immediate:!0});const{pause:l,resume:r}=Ie(async()=>{!b.value||!u.value||await w({silent:!0})},Io,{immediate:!1});return re(()=>s.value,d=>{d?r():l()},{immediate:!0}),{view:i,activeSection:c,autoRefresh:s,configurationSearch:o,error:h,isInitialLoading:p,isViewLoading:$,refreshSection:y,refreshAll:m}}const Co={class:"flex flex-col h-full p-3 gap-3 overflow-hidden"},Lo={class:"flex flex-col lg:flex-row lg:items-start lg:justify-between border rounded-lg p-3 gap-3 bg-background"},Ro={class:"space-y-2"},Ao={class:"space-y-1"},Po={class:"flex items-center gap-2"},Bo={class:"text-sm text-muted-foreground flex items-center gap-0.5"},Eo={class:"flex items-center gap-0.5"},Mo={class:"font-medium text-foreground"},No={key:0,class:"flex items-center gap-1.5 mt-0.5"},Oo={key:0,class:"flex gap-2 flex-wrap"},Do={class:"flex items-center gap-2 flex-wrap"},Fo={class:"text-xs flex items-center gap-2"},Ho={class:"flex items-center justify-between gap-2"},Vo={class:"text-xs text-muted-foreground"},zo={key:0,class:"border rounded-lg p-3 bg-background"},jo={class:"relative"},Ko={key:1,class:"border border-red-300 bg-red-50 text-red-700 rounded-lg p-3 text-sm"},Uo={key:2,class:"border rounded-lg p-6 flex items-center justify-center gap-2 text-muted-foreground"},Go={key:3,class:"flex-1 overflow-y-auto border rounded-lg p-3 bg-background"},qo=U({__name:"MultiDbInstanceInsightsPanel",props:{dbConnectionString:{},databaseName:{},dbType:{}},setup(n){const i=he(),{selectedConnection:c}=He(i),{view:s,activeSection:o,autoRefresh:h,configurationSearch:p,error:$,isInitialLoading:b,isViewLoading:u,refreshSection:k,refreshAll:w}=To(c),y=T(()=>{var l;return((l=s.value)==null?void 0:l.sections.find(r=>r.id===o.value))||null}),m=T(()=>{var l,r;return((l=y.value)==null?void 0:l.capturedAt)||((r=s.value)==null?void 0:r.capturedAt)||null}),v=l=>l==="supported"?"border-emerald-300 bg-emerald-50 text-emerald-700":l==="conditional"?"border-amber-300 bg-amber-50 text-amber-700":"border-slate-300 bg-slate-50 text-slate-700";return(l,r)=>{var j,z,q,Y,Z;const d=me,R=_e,V=Ce,x=ce,g=Ae,C=Re,O=Le,H=Fe;return f(),_("div",Co,[e("div",Lo,[e("div",Ro,[e("div",Ao,[e("div",Po,[S(d,{name:"hugeicons:database",class:"size-5 text-primary"}),r[4]||(r[4]=e("h2",{class:"text-base font-medium"},"Instance Insights",-1))]),e("div",Bo,[r[5]||(r[5]=M(" connection: ")),e("div",Eo,[l.dbType?(f(),W(Te((j=t(Ve)(l.dbType))==null?void 0:j.icon),{key:0,class:"size-4!"})):N("",!0),e("span",Mo,a(l.databaseName),1)])]),(z=t(s))!=null&&z.version?(f(),_("div",No,[S(R,{variant:"outline",class:"text-xxs h-5 px-1.5 font-normal"},{default:E(()=>[M(a(l.dbType===t(ue).MARIADB?"MariaDB":l.dbType===t(ue).ORACLE?"Oracle":l.dbType===t(ue).SQLITE3?"SQLite":"MySQL")+" "+a(t(s).version),1)]),_:1})])):N("",!0)]),(Y=(q=t(s))==null?void 0:q.actions)!=null&&Y.length?(f(),_("div",Oo,[(f(!0),_(D,null,F(t(s).actions,B=>(f(),W(R,{key:B.id,class:oe(v(B.state)),variant:"outline"},{default:E(()=>[M(a(B.label)+" · "+a(B.state),1)]),_:2},1032,["class"]))),128))])):N("",!0)]),e("div",Do,[e("div",Fo,[S(V,{id:"insights-auto-refresh","model-value":t(h),"onUpdate:modelValue":r[0]||(r[0]=B=>le(h)?h.value=B:null),class:"cursor-pointer"},null,8,["model-value"]),r[6]||(r[6]=e("label",{for:"insights-auto-refresh",class:"cursor-pointer"}," Auto refresh ",-1))]),S(x,{variant:"outline",size:"sm",disabled:t(b)||t(u),class:"font-normal",onClick:r[1]||(r[1]=B=>t(w)())},{default:E(()=>[S(d,{name:"hugeicons:redo",class:"size-4"}),r[7]||(r[7]=M(" Refresh All "))]),_:1},8,["disabled"])])]),e("div",Ho,[S(O,{modelValue:t(o),"onUpdate:modelValue":r[2]||(r[2]=B=>le(o)?o.value=B:null),class:"gap-0 flex-1 min-w-0"},{default:E(()=>[S(C,{class:"h-8 max-w-full overflow-x-auto justify-start!"},{default:E(()=>{var B;return[(f(!0),_(D,null,F(((B=t(s))==null?void 0:B.sections)||[],A=>(f(),W(g,{key:A.id,value:A.id,class:"text-xs px-1.5 rounded-sm cursor-pointer min-w-fit shrink-0",onClick:G=>t(k)(A.id,{silent:!0})},{default:E(()=>[M(a(A.title),1)]),_:2},1032,["value","onClick"]))),128))]}),_:1})]),_:1},8,["modelValue"]),e("div",Vo," Last updated: "+a(t(ve)(t(m))),1)]),(Z=t(y))!=null&&Z.searchable?(f(),_("div",zo,[e("div",jo,[S(d,{name:"hugeicons:search-01",class:"size-4 absolute left-2.5 top-1/2 -translate-y-1/2 text-muted-foreground"}),S(H,{modelValue:t(p),"onUpdate:modelValue":r[3]||(r[3]=B=>le(p)?p.value=B:null),type:"text",placeholder:t(y).searchPlaceholder||"Search...",class:"h-8 w-full pl-8 pr-3"},null,8,["modelValue","placeholder"])])])):N("",!0),t($)?(f(),_("div",Ko,a(t($)),1)):N("",!0),t(b)&&!t(s)?(f(),_("div",Uo,[S(d,{name:"hugeicons:redo",class:"size-4 animate-spin"}),r[8]||(r[8]=M(" Loading instance insights... "))])):(f(),_("div",Go,[S(wo,{section:t(y),search:t(p)},null,8,["section","search"])]))])}}}),Qo={class:"space-y-4"},Xo={class:"grid gap-3 md:grid-cols-2"},Wo={class:"rounded-lg border p-3"},Yo={class:"mt-1 text-lg font-medium"},Zo={class:"rounded-lg border p-3"},Jo={class:"mt-1 text-lg font-medium"},ea={key:0,class:"rounded-lg border p-3"},ta={class:"mt-3 space-y-2 text-xs"},sa={class:"rounded-lg border p-3"},na={class:"mt-3 space-y-2 text-xs"},oa={class:"flex items-start justify-between gap-3"},aa={class:"font-medium"},ia={class:"text-muted-foreground"},ra={class:"text-muted-foreground"},la=U({__name:"RedisClientsSection",props:{clients:{},isActionLoading:{type:Boolean}},emits:["kill-client"],setup(n,{emit:i}){const c=i,s=new Intl.NumberFormat;function o(h){return h==null||h===""?"0":s.format(Number(h))}return(h,p)=>{var b,u,k,w,y;const $=ce;return f(),_("div",Qo,[e("div",Xo,[e("div",Wo,[p[0]||(p[0]=e("p",{class:"text-xs text-muted-foreground"},"Connected clients",-1)),e("p",Yo,a(o((b=h.clients)==null?void 0:b.connectedClients)),1)]),e("div",Zo,[p[1]||(p[1]=e("p",{class:"text-xs text-muted-foreground"},"Suspicious clients",-1)),e("p",Jo,a(o((((u=h.clients)==null?void 0:u.suspiciousClients)||[]).length)),1)])]),(((k=h.clients)==null?void 0:k.suspiciousClients)||[]).length?(f(),_("div",ea,[p[2]||(p[2]=e("h3",{class:"text-sm font-medium"},"Suspicious clients",-1)),e("div",ta,[(f(!0),_(D,null,F(((w=h.clients)==null?void 0:w.suspiciousClients)||[],m=>(f(),_("div",{key:`${m.clientId}-${m.reason}`,class:"rounded-md bg-muted/20 px-3 py-2"},a(m.reason),1))),128))])])):N("",!0),e("div",sa,[p[4]||(p[4]=e("h3",{class:"text-sm font-medium"},"Client list",-1)),e("div",na,[(f(!0),_(D,null,F(((y=h.clients)==null?void 0:y.clients)||[],m=>(f(),_("div",{key:m.id,class:"rounded-md bg-muted/20 px-3 py-2"},[e("div",oa,[e("div",null,[e("p",aa,a(m.addr),1),e("p",ia,a(m.name)+" · db "+a(m.db)+" · "+a(m.cmd),1),e("p",ra," age "+a(o(m.ageSeconds))+"s · idle "+a(o(m.idleSeconds))+"s ",1)]),S($,{size:"sm",variant:"outline",disabled:h.isActionLoading,onClick:v=>c("kill-client",m.id)},{default:E(()=>p[3]||(p[3]=[M(" Kill client ")])),_:2},1032,["disabled","onClick"])])]))),128))])])])}}}),da={class:"space-y-2"},ua={class:"text-muted-foreground"},ca=U({__name:"RedisConfigSection",props:{config:{}},setup(n){return(i,c)=>(f(),_("div",da,[(f(!0),_(D,null,F(i.config||[],s=>(f(),_("div",{key:s.name,class:"flex items-center justify-between rounded-md border px-3 py-2 text-sm"},[e("span",null,a(s.name),1),e("span",ua,a(s.value||"not set"),1)]))),128))]))}}),ma={class:"space-y-4"},pa={class:"grid gap-3 md:grid-cols-4"},fa={class:"rounded-lg border p-3"},ga={class:"mt-1 text-lg font-medium"},va={class:"rounded-lg border p-3"},ba={class:"mt-1 text-lg font-medium"},_a={class:"rounded-lg border p-3"},ha={class:"mt-1 text-lg font-medium"},ya={class:"rounded-lg border p-3"},xa={class:"mt-1 text-lg font-medium"},$a={class:"grid gap-4 lg:grid-cols-2"},Sa={class:"rounded-lg border p-3"},ka={class:"mt-3 space-y-2 text-sm"},wa={class:"text-muted-foreground"},Ia={class:"rounded-lg border p-3"},Ta={class:"mt-3 space-y-2 text-sm"},Ca={class:"text-muted-foreground"},La={class:"rounded-lg border p-3"},Ra={class:"mt-3 flex flex-wrap gap-2"},Aa={class:"mt-3 text-xs text-muted-foreground"},Pa=U({__name:"RedisKeyspaceSection",props:{keyspace:{}},setup(n){const i=new Intl.NumberFormat;function c(s){return s==null||s===""?"0":i.format(Number(s))}return(s,o)=>{var p,$,b,u,k,w,y,m;const h=_e;return f(),_("div",ma,[e("div",pa,[e("div",fa,[o[0]||(o[0]=e("p",{class:"text-xs text-muted-foreground"},"Expired key count",-1)),e("p",ga,a(c((p=s.keyspace)==null?void 0:p.expiredKeyCount)),1)]),e("div",va,[o[1]||(o[1]=e("p",{class:"text-xs text-muted-foreground"},"Avg TTL",-1)),e("p",ba,a(c(($=s.keyspace)==null?void 0:$.avgTtl)),1)]),e("div",_a,[o[2]||(o[2]=e("p",{class:"text-xs text-muted-foreground"},"Keys without TTL",-1)),e("p",ha,a(c((b=s.keyspace)==null?void 0:b.keysWithoutTtl)),1)]),e("div",ya,[o[3]||(o[3]=e("p",{class:"text-xs text-muted-foreground"},"Sampled keys",-1)),e("p",xa,a(c((u=s.keyspace)==null?void 0:u.sampledKeys)),1)])]),e("div",$a,[e("div",Sa,[o[4]||(o[4]=e("h3",{class:"text-sm font-medium"},"Databases",-1)),e("div",ka,[(f(!0),_(D,null,F(((k=s.keyspace)==null?void 0:k.databases)||[],v=>(f(),_("div",{key:v.database,class:"flex items-center justify-between rounded-md bg-muted/20 px-3 py-2"},[e("span",null,a(v.database),1),e("span",wa,a(c(v.keyCount))+" keys · "+a(c(v.expires))+" expiring · avg TTL "+a(c(v.avgTtl)),1)]))),128))])]),e("div",Ia,[o[5]||(o[5]=e("h3",{class:"text-sm font-medium"},"Top prefixes",-1)),e("div",Ta,[(f(!0),_(D,null,F(((w=s.keyspace)==null?void 0:w.topPrefixes)||[],v=>(f(),_("div",{key:v.prefix,class:"flex items-center justify-between rounded-md bg-muted/20 px-3 py-2"},[e("span",null,a(v.prefix),1),e("span",Ca,a(c(v.keyCount))+" keys ",1)]))),128))])])]),e("div",La,[o[6]||(o[6]=e("h3",{class:"text-sm font-medium"},"Key type distribution",-1)),e("div",Ra,[(f(!0),_(D,null,F(((y=s.keyspace)==null?void 0:y.keyTypeDistribution)||[],v=>(f(),W(h,{key:v.type,variant:"outline"},{default:E(()=>[M(a(v.type)+" · "+a(c(v.count)),1)]),_:2},1024))),128))]),e("p",Aa,a((m=s.keyspace)==null?void 0:m.hotKeysNote),1)])])}}}),Ba={class:"space-y-4"},Ea={class:"grid gap-3 md:grid-cols-2 xl:grid-cols-4"},Ma={class:"rounded-lg border p-3"},Na={class:"mt-1 text-lg font-medium"},Oa={class:"rounded-lg border p-3"},Da={class:"mt-1 text-lg font-medium"},Fa={class:"rounded-lg border p-3"},Ha={class:"mt-1 text-lg font-medium"},Va={class:"rounded-lg border p-3"},za={class:"mt-1 text-lg font-medium"},ja={class:"grid gap-4 lg:grid-cols-2"},Ka={class:"rounded-lg border p-3"},Ua={class:"mt-3 space-y-2 text-sm"},Ga={class:"text-muted-foreground"},qa={class:"rounded-lg border p-3"},Qa={class:"mt-3 space-y-2 text-sm"},Xa={class:"flex items-center justify-between gap-2"},Wa={class:"truncate"},Ya={class:"mt-1 text-xs text-muted-foreground"},Za=U({__name:"RedisMemorySection",props:{memory:{}},setup(n){const i=new Intl.NumberFormat;function c(s){return s==null||s===""?"0":i.format(Number(s))}return(s,o)=>{var $,b,u,k,w,y,m,v;const h=Pe,p=_e;return f(),_("div",Ba,[e("div",Ea,[e("div",Ma,[o[0]||(o[0]=e("p",{class:"text-xs text-muted-foreground"},"Used memory",-1)),e("p",Na,a(($=s.memory)==null?void 0:$.usedMemoryHuman),1)]),e("div",Oa,[o[1]||(o[1]=e("p",{class:"text-xs text-muted-foreground"},"Peak memory",-1)),e("p",Da,a((b=s.memory)==null?void 0:b.usedMemoryPeakHuman),1)]),e("div",Fa,[o[2]||(o[2]=e("p",{class:"text-xs text-muted-foreground"},"Fragmentation",-1)),e("p",Ha,a((u=s.memory)==null?void 0:u.memoryFragmentationRatio.toFixed(2)),1)]),e("div",Va,[o[3]||(o[3]=e("p",{class:"text-xs text-muted-foreground"},"Maxmemory / policy",-1)),e("p",za,a((k=s.memory)==null?void 0:k.maxmemoryHuman)+" · "+a((w=s.memory)==null?void 0:w.maxmemoryPolicy),1)])]),(f(!0),_(D,null,F(((y=s.memory)==null?void 0:y.warnings)||[],l=>(f(),W(h,{key:l,variant:"secondary"},{default:E(()=>[M(a(l),1)]),_:2},1024))),128)),e("div",ja,[e("div",Ka,[o[4]||(o[4]=e("h3",{class:"text-sm font-medium"},"Top prefixes by memory",-1)),e("div",Ua,[(f(!0),_(D,null,F(((m=s.memory)==null?void 0:m.topPrefixesByMemory)||[],l=>(f(),_("div",{key:l.prefix,class:"flex items-center justify-between rounded-md bg-muted/20 px-3 py-2"},[e("span",null,a(l.prefix),1),e("span",Ga,a(c(l.keyCount))+" keys · "+a(c(l.memoryBytes))+" B ",1)]))),128))])]),e("div",qa,[o[5]||(o[5]=e("h3",{class:"text-sm font-medium"},"Big keys detector",-1)),e("div",Qa,[(f(!0),_(D,null,F(((v=s.memory)==null?void 0:v.bigKeys)||[],l=>(f(),_("div",{key:l.key,class:"rounded-md bg-muted/20 px-3 py-2"},[e("div",Xa,[e("span",Wa,a(l.key),1),S(p,{variant:"outline"},{default:E(()=>[M(a(l.type),1)]),_:2},1024)]),e("p",Ya," TTL "+a(l.ttl>=0?l.ttl:"persisted")+" · "+a(c(l.memoryBytes))+" B ",1)]))),128))])])])])}}}),Ja={class:"space-y-4"},ei={class:"grid gap-3 md:grid-cols-2 xl:grid-cols-4"},ti={class:"text-xs text-muted-foreground"},si={class:"mt-1 text-lg font-medium"},ni=U({__name:"RedisOverviewSection",props:{overview:{}},setup(n){const i=n,c=new Intl.NumberFormat;function s(p){return p==null||p===""?"0":c.format(Number(p))}function o(p){return`${(p*100).toFixed(1)}%`}const h=T(()=>{const p=i.overview;return p?[{label:"Redis version",value:p.redisVersion},{label:"Mode",value:p.mode},{label:"Uptime",value:qe(p.uptimeSeconds)},{label:"Connected clients",value:s(p.connectedClients)},{label:"Used memory",value:p.usedMemoryHuman},{label:"Total keys",value:s(p.totalKeys)},{label:"Hit rate",value:o(p.hitRate)},{label:"Ops/sec",value:s(p.opsPerSec)},{label:"Evicted keys",value:s(p.evictedKeys)},{label:"Expired keys",value:s(p.expiredKeys)},{label:"Rejected connections",value:s(p.rejectedConnections)}]:[]});return(p,$)=>(f(),_("div",Ja,[e("div",ei,[(f(!0),_(D,null,F(t(h),b=>(f(),_("div",{key:b.label,class:"rounded-lg border p-3"},[e("p",ti,a(b.label),1),e("p",si,a(b.value),1)]))),128))])]))}}),oi={class:"space-y-4"},ai={class:"grid gap-3 md:grid-cols-3"},ii={class:"rounded-lg border p-3"},ri={class:"mt-1 text-lg font-medium"},li={class:"rounded-lg border p-3"},di={class:"mt-1 text-lg font-medium"},ui={class:"rounded-lg border p-3"},ci={class:"mt-1 text-lg font-medium"},mi={class:"rounded-lg border p-3"},pi={class:"mt-3 whitespace-pre-wrap text-xs text-muted-foreground"},fi={class:"grid gap-4 lg:grid-cols-2"},gi={class:"rounded-lg border p-3"},vi={class:"mt-3 space-y-2 text-xs"},bi={class:"flex items-center justify-between gap-2"},_i={class:"font-medium"},hi={class:"mt-1 text-muted-foreground"},yi={class:"rounded-lg border p-3"},xi={class:"mt-3 space-y-2 text-xs"},$i={class:"text-muted-foreground"},Si={class:"rounded-lg border p-3"},ki={class:"mt-3 space-y-2 text-xs"},wi={key:0,class:"text-muted-foreground"},Ii={class:"text-muted-foreground"},Ti=U({__name:"RedisPerformanceSection",props:{performance:{}},setup(n){const i=new Intl.NumberFormat;function c(s){return s==null||s===""?"0":i.format(Number(s))}return(s,o)=>{var h,p,$,b,u,k,w,y;return f(),_("div",oi,[e("div",ai,[e("div",ii,[o[0]||(o[0]=e("p",{class:"text-xs text-muted-foreground"},"Ops/sec",-1)),e("p",ri,a(c((h=s.performance)==null?void 0:h.instantaneousOpsPerSec)),1)]),e("div",li,[o[1]||(o[1]=e("p",{class:"text-xs text-muted-foreground"},"Total commands",-1)),e("p",di,a(c((p=s.performance)==null?void 0:p.totalCommandsProcessed)),1)]),e("div",ui,[o[2]||(o[2]=e("p",{class:"text-xs text-muted-foreground"},"Blocked clients",-1)),e("p",ci,a(c(($=s.performance)==null?void 0:$.blockedClients)),1)])]),e("div",mi,[o[3]||(o[3]=e("h3",{class:"text-sm font-medium"},"Latency doctor",-1)),e("pre",pi,a(((b=s.performance)==null?void 0:b.latencyDoctor)||"No latency doctor output available."),1)]),e("div",fi,[e("div",gi,[o[4]||(o[4]=e("h3",{class:"text-sm font-medium"},"Slowlog",-1)),e("div",vi,[(f(!0),_(D,null,F(((u=s.performance)==null?void 0:u.slowlog)||[],m=>(f(),_("div",{key:m.id,class:"rounded-md bg-muted/20 px-3 py-2"},[e("div",bi,[e("span",_i,a(m.command||"unknown command"),1),e("span",null,a(c(m.durationMicros))+" µs",1)]),e("p",hi,a(m.clientAddr||"n/a")+" · "+a(m.timestamp||"unknown time"),1)]))),128))])]),e("div",yi,[o[5]||(o[5]=e("h3",{class:"text-sm font-medium"},"Command stats",-1)),e("div",xi,[(f(!0),_(D,null,F(((k=s.performance)==null?void 0:k.commandStats)||[],m=>(f(),_("div",{key:m.command,class:"flex items-center justify-between rounded-md bg-muted/20 px-3 py-2"},[e("span",null,a(m.command),1),e("span",$i,a(c(m.calls))+" calls · "+a(m.usecPerCall.toFixed(2))+" µs/call ",1)]))),128))])])]),e("div",Si,[o[6]||(o[6]=e("h3",{class:"text-sm font-medium"},"Long-running Lua scripts",-1)),e("div",ki,[(((w=s.performance)==null?void 0:w.longRunningLuaScripts)||[]).length?N("",!0):(f(),_("div",wi," No active Lua script clients detected. ")),(f(!0),_(D,null,F(((y=s.performance)==null?void 0:y.longRunningLuaScripts)||[],m=>(f(),_("div",{key:m.id,class:"flex items-center justify-between rounded-md bg-muted/20 px-3 py-2"},[e("span",null,a(m.addr),1),e("span",Ii,a(m.cmd)+" · age "+a(c(m.ageSeconds))+"s ",1)]))),128))])])])}}}),Ci={class:"space-y-4"},Li={class:"grid gap-3 md:grid-cols-2 xl:grid-cols-4"},Ri={class:"rounded-lg border p-3"},Ai={class:"mt-1 text-lg font-medium"},Pi={class:"rounded-lg border p-3"},Bi={class:"mt-1 text-lg font-medium"},Ei={class:"rounded-lg border p-3"},Mi={class:"mt-1 text-lg font-medium"},Ni={class:"rounded-lg border p-3"},Oi={class:"mt-1 text-lg font-medium"},Di={class:"rounded-lg border p-3 text-sm text-muted-foreground space-y-1"},Fi={key:0},Hi=U({__name:"RedisPersistenceSection",props:{persistence:{}},setup(n){const i=new Intl.NumberFormat;function c(s){return s==null||s===""?"0":i.format(Number(s))}return(s,o)=>{var p,$,b,u,k,w,y,m,v;const h=Pe;return f(),_("div",Ci,[e("div",Li,[e("div",Ri,[o[0]||(o[0]=e("p",{class:"text-xs text-muted-foreground"},"RDB enabled",-1)),e("p",Ai,a((p=s.persistence)!=null&&p.rdbEnabled?"Yes":"No"),1)]),e("div",Pi,[o[1]||(o[1]=e("p",{class:"text-xs text-muted-foreground"},"AOF enabled",-1)),e("p",Bi,a(($=s.persistence)!=null&&$.aofEnabled?"Yes":"No"),1)]),e("div",Ei,[o[2]||(o[2]=e("p",{class:"text-xs text-muted-foreground"},"AOF rewrite",-1)),e("p",Mi,a((b=s.persistence)!=null&&b.aofRewriteInProgress?"In progress":"Idle"),1)]),e("div",Ni,[o[3]||(o[3]=e("p",{class:"text-xs text-muted-foreground"},"Changes since save",-1)),e("p",Oi,a(c((u=s.persistence)==null?void 0:u.changesSinceLastSave)),1)])]),(f(!0),_(D,null,F(((k=s.persistence)==null?void 0:k.warnings)||[],l=>(f(),W(h,{key:l,variant:"secondary"},{default:E(()=>[M(a(l),1)]),_:2},1024))),128)),e("div",Di,[e("p",null," Last save status: "+a(((w=s.persistence)==null?void 0:w.lastSaveStatus)||"unknown"),1),e("p",null," Last save time: "+a(((y=s.persistence)==null?void 0:y.lastSaveTime)||"unknown"),1),e("p",null," AOF last rewrite status: "+a(((m=s.persistence)==null?void 0:m.aofLastRewriteStatus)||"unknown"),1),(v=s.persistence)!=null&&v.lastBgsaveError?(f(),_("p",Fi," Last bgsave error: "+a(s.persistence.lastBgsaveError),1)):N("",!0)])])}}}),Vi={class:"space-y-4"},zi={class:"grid gap-3 md:grid-cols-2 xl:grid-cols-4"},ji={class:"rounded-lg border p-3"},Ki={class:"mt-1 text-lg font-medium"},Ui={class:"rounded-lg border p-3"},Gi={class:"mt-1 text-lg font-medium"},qi={class:"rounded-lg border p-3"},Qi={class:"mt-1 text-lg font-medium"},Xi={class:"rounded-lg border p-3"},Wi={class:"mt-1 text-lg font-medium"},Yi={class:"rounded-lg border p-3 text-sm text-muted-foreground space-y-1"},Zi={class:"rounded-lg border p-3"},Ji={class:"mt-3 space-y-2 text-xs"},er={key:0,class:"text-muted-foreground"},tr={class:"text-muted-foreground"},sr=U({__name:"RedisReplicationSection",props:{replication:{}},setup(n){const i=new Intl.NumberFormat;function c(s){return s==null||s===""?"0":i.format(Number(s))}return(s,o)=>{var h,p,$,b,u,k,w,y,m,v,l;return f(),_("div",Vi,[e("div",zi,[e("div",ji,[o[0]||(o[0]=e("p",{class:"text-xs text-muted-foreground"},"Role",-1)),e("p",Ki,a(((h=s.replication)==null?void 0:h.role)||"unknown"),1)]),e("div",Ui,[o[1]||(o[1]=e("p",{class:"text-xs text-muted-foreground"},"Connected replicas",-1)),e("p",Gi,a(c((p=s.replication)==null?void 0:p.connectedReplicas)),1)]),e("div",qi,[o[2]||(o[2]=e("p",{class:"text-xs text-muted-foreground"},"Master link status",-1)),e("p",Qi,a((($=s.replication)==null?void 0:$.masterLinkStatus)||"n/a"),1)]),e("div",Xi,[o[3]||(o[3]=e("p",{class:"text-xs text-muted-foreground"},"Cluster state",-1)),e("p",Wi,a(((b=s.replication)==null?void 0:b.clusterState)||((u=s.replication)!=null&&u.clusterEnabled?"enabled":"disabled")),1)])]),e("div",Yi,[e("p",null,"Replication lag: "+a(((k=s.replication)==null?void 0:k.replicationLag)??"n/a"),1),e("p",null,"Sentinel masters: "+a(((w=s.replication)==null?void 0:w.sentinelMasters)??"n/a"),1),e("p",null," Cluster slots assigned: "+a(((y=s.replication)==null?void 0:y.clusterSlotsAssigned)??"n/a"),1),e("p",null,"Cluster known nodes: "+a(((m=s.replication)==null?void 0:m.clusterKnownNodes)??"n/a"),1)]),e("div",Zi,[o[4]||(o[4]=e("h3",{class:"text-sm font-medium"},"Replicas",-1)),e("div",Ji,[(((v=s.replication)==null?void 0:v.replicas)||[]).length?N("",!0):(f(),_("div",er," No replica nodes reported. ")),(f(!0),_(D,null,F(((l=s.replication)==null?void 0:l.replicas)||[],r=>(f(),_("div",{key:r.id,class:"flex items-center justify-between rounded-md bg-muted/20 px-3 py-2"},[e("span",null,a(r.addr),1),e("span",tr,a(r.state)+" · lag "+a(r.lag??"n/a"),1)]))),128))])])])}}}),nr=5e3;function or(n){const i=L("overview"),c=L(!0),s=L(null),o=L(!1),h=L(!1),p=L(!1),$=L(null),b=L(!0),u=T(()=>!!n.connection.value);ke(()=>{b.value=!1}),we(()=>{b.value=!0});const k=async(l=!1)=>{var r;if(!n.connection.value)return $.value=null,null;l||(h.value=!0);try{s.value=null;const d=await $fetch("/api/redis/instance-insights/overview",{method:"POST",body:{...ne(n.connection.value),method:n.connection.value.method,databaseIndex:n.databaseIndex.value}});return $.value=d,d}catch(d){return s.value=((r=d==null?void 0:d.data)==null?void 0:r.message)||(d==null?void 0:d.message)||(d==null?void 0:d.statusMessage)||"Failed to fetch Redis instance insights.",null}finally{l||(h.value=!1)}},w=async l=>{var r;if(!n.connection.value)return!1;p.value=!0;try{const d=await $fetch("/api/redis/instance-insights/kill-client",{method:"POST",body:{...ne(n.connection.value),method:n.connection.value.method,databaseIndex:n.databaseIndex.value,clientId:l}});return d.success?(fe("Redis client terminated",{description:d.message}),await k(!0),!0):(fe("Failed to terminate client",{description:d.message}),!1)}catch(d){return fe("Failed to terminate client",{description:((r=d==null?void 0:d.data)==null?void 0:r.message)||(d==null?void 0:d.message)||"The Redis client could not be terminated."}),!1}finally{p.value=!1}},y=async()=>{await k()};re([()=>n.connection.value,()=>n.databaseIndex.value],async([l])=>{if(!l){$.value=null;return}o.value=!0,await k(),o.value=!1},{immediate:!0});const{pause:m,resume:v}=Ie(async()=>{!u.value||!b.value||await k(!0)},nr,{immediate:!1});return re(()=>c.value,l=>{l?v():m()},{immediate:!0}),{activeSection:i,autoRefresh:c,error:s,isInitialLoading:o,isLoading:h,isActionLoading:p,insights:$,refresh:y,killClient:w}}const ar={class:"flex h-full flex-col gap-3 overflow-hidden p-3"},ir={class:"flex items-center gap-2 text-xs"},rr={key:1,class:"flex flex-1 items-center justify-center gap-2 rounded-lg border bg-background text-muted-foreground"},lr={key:2,class:"flex-1 overflow-y-auto rounded-lg border bg-background p-3 mt-2"},dr=U({__name:"RedisInstanceInsightsPanel",props:{databaseName:{},databaseIndex:{},databases:{},dbType:{}},emits:["update:databaseIndex"],setup(n,{emit:i}){const c=n,s=i,o=[{id:"overview",label:"Overview"},{id:"keyspace",label:"Keyspace"},{id:"memory",label:"Memory"},{id:"performance",label:"Performance"},{id:"clients",label:"Clients"},{id:"persistence",label:"Persistence"},{id:"replication",label:"Replication / Cluster"},{id:"config",label:"Config"}],h=he(),p=T(()=>h.selectedConnection),{activeSection:$,autoRefresh:b,error:u,isInitialLoading:k,isLoading:w,isActionLoading:y,insights:m,refresh:v,killClient:l}=or({connection:p,databaseIndex:T(()=>c.databaseIndex)});return(r,d)=>{const R=Ce,V=me,x=ce,g=wt,C=Ae,O=Re,H=Pe,j=Le;return f(),_("div",ar,[S(g,{icon:"hugeicons:activity-02",title:"Instance Insights"},{context:E(()=>[r.dbType===t(ue).REDIS?(f(),W(Te("hugeicons:database-sync-01"),{key:0})):N("",!0)]),actions:E(()=>[S(It,{compact:"","trigger-id":"redis-instance-insights-db-index","trigger-class":"bg-background",databases:r.databases,"database-index":r.databaseIndex,"onUpdate:databaseIndex":d[0]||(d[0]=z=>s("update:databaseIndex",z))},null,8,["databases","database-index"]),e("div",ir,[S(R,{id:"redis-insights-auto-refresh","model-value":t(b),"onUpdate:modelValue":d[1]||(d[1]=z=>le(b)?b.value=z:null)},null,8,["model-value"]),d[3]||(d[3]=e("label",{for:"redis-insights-auto-refresh",class:"cursor-pointer"}," Auto refresh ",-1))]),S(x,{size:"xxs",variant:"outline",disabled:t(w)||t(y),onClick:t(v)},{default:E(()=>[S(V,{name:"hugeicons:redo",class:"size-3.5!"}),d[4]||(d[4]=M(" Refresh "))]),_:1},8,["disabled","onClick"])]),_:1}),S(j,{modelValue:t($),"onUpdate:modelValue":d[2]||(d[2]=z=>le($)?$.value=z:null),class:"flex flex-1 min-h-0 flex-col gap-0"},{default:E(()=>{var z,q,Y,Z,B,A,G,J;return[S(O,{class:"h-8 max-w-full justify-start! shrink-0 overflow-x-auto"},{default:E(()=>[(f(),_(D,null,F(o,ae=>S(C,{key:ae.id,value:ae.id,class:"min-w-fit shrink-0 cursor-pointer rounded-sm px-1.5 text-xs"},{default:E(()=>[M(a(ae.label),1)]),_:2},1032,["value"])),64))]),_:1}),t(u)?(f(),W(H,{key:0,variant:"destructive"},{default:E(()=>[M(a(t(u)),1)]),_:1})):N("",!0),t(k)&&!t(m)?(f(),_("div",rr,[S(V,{name:"hugeicons:redo",class:"size-4 animate-spin"}),d[5]||(d[5]=M(" Loading Redis instance insights... "))])):(f(),_("div",lr,[te(S(ni,{overview:(z=t(m))==null?void 0:z.overview},null,8,["overview"]),[[se,t($)==="overview"]]),te(S(Pa,{keyspace:(q=t(m))==null?void 0:q.keyspace},null,8,["keyspace"]),[[se,t($)==="keyspace"]]),te(S(Za,{memory:(Y=t(m))==null?void 0:Y.memory},null,8,["memory"]),[[se,t($)==="memory"]]),te(S(Ti,{performance:(Z=t(m))==null?void 0:Z.performance},null,8,["performance"]),[[se,t($)==="performance"]]),te(S(la,{clients:(B=t(m))==null?void 0:B.clients,"is-action-loading":t(y),onKillClient:t(l)},null,8,["clients","is-action-loading","onKillClient"]),[[se,t($)==="clients"]]),te(S(Hi,{persistence:(A=t(m))==null?void 0:A.persistence},null,8,["persistence"]),[[se,t($)==="persistence"]]),te(S(sr,{replication:(G=t(m))==null?void 0:G.replication},null,8,["replication"]),[[se,t($)==="replication"]]),te(S(ca,{config:(J=t(m))==null?void 0:J.config},null,8,["config"]),[[se,t($)==="config"]])]))]}),_:1},8,["modelValue"])])}}}),ur={class:"h-full"},cr={key:0,class:"h-full p-4 flex flex-col items-center justify-center text-muted-foreground"},wr=U({__name:"index",setup(n){const i=We(),c=he(),s=Ye(),{activeTab:o}=He(s),h=T(()=>String(i.params.connectionId||"")),p=T(()=>h.value?c.connections.find(y=>y.id===h.value):null),$=T(()=>{var y;return((y=p.value)==null?void 0:y.connectionString)||""}),b=T(()=>{var y;return(y=p.value)==null?void 0:y.type}),u=T(()=>{var y,m,v;return b.value===ue.REDIS?((y=p.value)==null?void 0:y.name)||"Redis":((m=p.value)==null?void 0:m.database)||((v=p.value)==null?void 0:v.name)||"database"}),k=T(()=>b.value===ue.REDIS?p.value??void 0:void 0),w=Tt({connection:k,mode:"meta"});return re(()=>{var y,m;return(m=(y=o.value)==null?void 0:y.metadata)==null?void 0:m.databaseIndex},y=>{typeof y=="number"&&(w.selectedDatabaseIndex.value=y)},{immediate:!0}),(y,m)=>{const v=me;return f(),_("div",ur,[t(p)?t(b)===t(ue).REDIS?(f(),W(dr,{key:1,"database-name":t(u),"database-index":t(w).selectedDatabaseIndex.value,databases:t(w).databases.value,"db-type":t(b),"onUpdate:databaseIndex":m[0]||(m[0]=l=>t(w).selectedDatabaseIndex.value=l)},null,8,["database-name","database-index","databases","db-type"])):t(b)===t(ue).POSTGRES?(f(),W(eo,{key:2,"db-connection-string":t($),"database-name":t(u),"db-type":t(b)},null,8,["db-connection-string","database-name","db-type"])):(f(),W(qo,{key:3,"db-connection-string":t($),"database-name":t(u),"db-type":t(b)},null,8,["db-connection-string","database-name","db-type"])):(f(),_("div",cr,[S(v,{name:"hugeicons:plug-socket",class:"size-12 mb-2 opacity-50"}),m[1]||(m[1]=e("p",{class:"text-sm"},"Select a connection to open Instance Insights",-1))]))])}}});export{wr as default};
@@ -1 +0,0 @@
1
- import{d,aj as q,r as D,k as p,o as i,w as u,f as M,g as e,ak as h,bS as V,D as c,bT as P,ax as $,p as f,bU as w,ae as R,ar as k,ab as v,ac as y,as as z,c as B,aa as C,a9 as S,bM as I,n as j,j as b,m as E}from"./BNM5p7H5.js";import{M as F}from"./DGuH4YHZ.js";import{C as A}from"./DCaozlmM.js";const[N,L]=q(["MenuCheckboxItem","MenuRadioItem"],"MenuItemIndicatorContext");var O=d({__name:"MenuItemIndicator",props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(s){const t=N({modelValue:D(!1)});return(a,r)=>(i(),p(e($),{present:a.forceMount||e(P)(e(t).modelValue.value)||e(t).modelValue.value===!0},{default:u(()=>[M(e(h),{as:a.as,"as-child":a.asChild,"data-state":e(V)(e(t).modelValue.value)},{default:u(()=>[c(a.$slots,"default")]),_:3},8,["as","as-child","data-state"])]),_:3},8,["present"]))}}),T=O,U=d({__name:"MenuGroup",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(s){const t=s;return(a,r)=>(i(),p(e(h),f({role:"group"},t),{default:u(()=>[c(a.$slots,"default")]),_:3},16))}}),H=U;const[J,K]=q("MenuRadioGroup");var Q=d({__name:"MenuRadioGroup",props:{modelValue:{type:null,required:!1,default:""},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["update:modelValue"],setup(s,{emit:t}){const a=s,r=t,l=w(a,["modelValue"]),n=R(l),o=k(a,"modelValue",r);return K({modelValue:o,onValueChange:_=>{o.value=_}}),(_,m)=>(i(),p(H,v(y(e(n))),{default:u(()=>[c(_.$slots,"default",{modelValue:e(o)})]),_:3},16))}}),W=Q,X=d({__name:"MenuRadioItem",props:{value:{type:null,required:!0},disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["select"],setup(s,{emit:t}){const a=s,r=t,l=w(a,["value"]),n=R(l),{value:o}=z(a),_=J(),m=B(()=>_.modelValue.value===(o==null?void 0:o.value));return L({modelValue:m}),(x,g)=>(i(),p(F,f({role:"menuitemradio"},e(n),{"aria-checked":m.value,"data-state":e(V)(m.value),onSelect:g[0]||(g[0]=async G=>{r("select",G),e(_).onValueChange(e(o))})}),{default:u(()=>[c(x.$slots,"default")]),_:3},16,["aria-checked","data-state"]))}}),Y=X,Z=d({__name:"DropdownMenuItemIndicator",props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(s){const t=s;return C(),(a,r)=>(i(),p(e(T),v(y(t)),{default:u(()=>[c(a.$slots,"default")]),_:3},16))}}),ee=Z,ae=d({__name:"DropdownMenuRadioGroup",props:{modelValue:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["update:modelValue"],setup(s,{emit:t}){const a=s,l=S(t);return C(),(n,o)=>(i(),p(e(W),v(y({...a,...e(l)})),{default:u(()=>[c(n.$slots,"default")]),_:3},16))}}),te=ae,se=d({__name:"DropdownMenuRadioItem",props:{value:{type:null,required:!0},disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["select"],setup(s,{emit:t}){const l=I(s,t);return C(),(n,o)=>(i(),p(e(Y),v(y(e(l))),{default:u(()=>[c(n.$slots,"default")]),_:3},16))}}),oe=se;const de=d({__name:"BreadcrumbLink",props:{asChild:{type:Boolean},as:{default:"a"},class:{}},setup(s){const t=s;return(a,r)=>(i(),p(e(h),{"data-slot":"breadcrumb-link",as:a.as,"as-child":a.asChild,class:j(e(b)("hover:text-foreground transition-colors",t.class))},{default:u(()=>[c(a.$slots,"default")]),_:3},8,["as","as-child","class"]))}}),pe=d({__name:"DropdownMenuRadioGroup",props:{modelValue:{},asChild:{type:Boolean},as:{}},emits:["update:modelValue"],setup(s,{emit:t}){const l=I(s,t);return(n,o)=>(i(),p(e(te),f({"data-slot":"dropdown-menu-radio-group"},e(l)),{default:u(()=>[c(n.$slots,"default")]),_:3},16))}}),re={class:"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center"},ie=d({__name:"DropdownMenuRadioItem",props:{value:{},disabled:{type:Boolean},textValue:{},asChild:{type:Boolean},as:{},class:{}},emits:["select"],setup(s,{emit:t}){const a=s,r=t,l=B(()=>{const{class:o,..._}=a;return _}),n=I(l,r);return(o,_)=>(i(),p(e(oe),f({"data-slot":"dropdown-menu-radio-item"},e(n),{class:e(b)("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",a.class)}),{default:u(()=>[E("span",re,[M(e(ee),null,{default:u(()=>[M(e(A),{class:"size-2 fill-current"})]),_:1})]),c(o.$slots,"default")]),_:3},16,["class"]))}});export{ee as D,pe as _,ie as a,de as b,L as p};
@@ -1 +0,0 @@
1
- import{s as a,c as s,a as e,C as t}from"./DWkbgNG-.js";import{_ as i}from"./BzOiQq7V.js";import"./BEhaJXPi.js";import"./hJtoF0XJ.js";import"./B1LoOOkn.js";import"./DKGci8Z9.js";import"./BNM5p7H5.js";var n={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{n as diagram};
@@ -1 +0,0 @@
1
- import{r as v,c as C,aJ as L,av as y,aK as w,aL as E,d as m,as as I,aa as q,au as A,I as k,aM as B,g as u,k as g,o as _,w as h,D as S,ak as x,p as M}from"./BNM5p7H5.js";import{i as R}from"./DW1m4Hxy.js";function p(a,t){return a?t?(a.src!==t&&(a.src=t),a.complete&&a.naturalWidth>0?"loaded":"loading"):"error":"idle"}function D(a,{referrerPolicy:t,crossOrigin:r}={}){const s=v(!1),o=v(null),i=C(()=>s.value?(!o.value&&L&&(o.value=new window.Image),o.value):null),n=v(p(i.value,a.value)),d=l=>()=>{s.value&&(n.value=l)};return y(()=>{s.value=!0,w(l=>{const e=i.value;if(!e)return;n.value=p(e,a.value);const c=d("loaded"),f=d("error");e.addEventListener("load",c),e.addEventListener("error",f),t!=null&&t.value&&(e.referrerPolicy=t.value),typeof(r==null?void 0:r.value)=="string"&&(e.crossOrigin=r.value),l(()=>{e.removeEventListener("load",c),e.removeEventListener("error",f)})})}),E(()=>{s.value=!1}),n}var $=m({__name:"AvatarImage",props:{src:{type:String,required:!0},referrerPolicy:{type:null,required:!1},crossOrigin:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"img"}},emits:["loadingStatusChange"],setup(a,{emit:t}){const r=a,s=t,{src:o,referrerPolicy:i,crossOrigin:n}=I(r);q();const d=R(),l=D(o,{referrerPolicy:i,crossOrigin:n});return A(l,e=>{s("loadingStatusChange",e),e!=="idle"&&(d.imageLoadingStatus.value=e)},{immediate:!0}),(e,c)=>k((_(),g(u(x),{role:"img","as-child":e.asChild,as:e.as,src:u(o),referrerpolicy:u(i),crossorigin:u(n)},{default:h(()=>[S(e.$slots,"default")]),_:3},8,["as-child","as","src","referrerpolicy","crossorigin"])),[[B,u(l)==="loaded"]])}}),j=$;const J=m({__name:"AvatarImage",props:{src:{},referrerPolicy:{},crossOrigin:{},asChild:{type:Boolean},as:{}},setup(a){const t=a;return(r,s)=>(_(),g(u(j),M({"data-slot":"avatar-image"},t,{class:"aspect-square size-full"}),{default:h(()=>[S(r.$slots,"default")]),_:3},16))}});export{J as _};
@@ -1 +0,0 @@
1
- import{d,a9 as p,aa as v,k as i,o as u,w as l,D as c,ab as f,ac as m,g as t,ad as _,ae as g,p as x,j as w}from"./BNM5p7H5.js";import{M as y}from"./DGuH4YHZ.js";var b=d({__name:"DropdownMenuItem",props:{disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["select"],setup(s,{emit:a}){const r=s,e=p(a);return v(),(n,h)=>(u(),i(t(y),f(m({...r,...t(e)})),{default:l(()=>[c(n.$slots,"default")]),_:3},16))}}),P=b;const k=d({__name:"DropdownMenuItem",props:{disabled:{type:Boolean},textValue:{},asChild:{type:Boolean},as:{},class:{},inset:{type:Boolean},variant:{default:"default"}},setup(s){const a=s,r=_(a,"inset","variant"),o=g(r);return(e,n)=>(u(),i(t(P),x({"data-slot":"dropdown-menu-item","data-inset":e.inset?"":void 0,"data-variant":e.variant},t(o),{class:t(w)("focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive-foreground data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/40 data-[variant=destructive]:focus:text-destructive-foreground data-[variant=destructive]:*:[svg]:!text-destructive-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",a.class)}),{default:l(()=>[c(e.$slots,"default")]),_:3},16,["data-inset","data-variant","class"]))}});export{k as _};