orcaq 1.1.3 → 1.1.4

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 (133) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/{Co7e2XML.js → -sZwfgN3.js} +1 -1
  3. package/.output/public/_nuxt/1iqadsOZ.js +1 -0
  4. package/.output/public/_nuxt/2WkPV7Mp.js +22 -0
  5. package/.output/public/_nuxt/{CmjR7OTc.js → 2XEGje4L.js} +1 -1
  6. package/.output/public/_nuxt/{BYOPXIhP.js → 5cKDQgbQ.js} +1 -1
  7. package/.output/public/_nuxt/{Ckry8tuC.js → B8rT4ISg.js} +2 -2
  8. package/.output/public/_nuxt/{DVkCRFXi.js → B9Yq_mZo.js} +1 -1
  9. package/.output/public/_nuxt/{BCAMWuzu.js → BCFLQ_rL.js} +1 -1
  10. package/.output/public/_nuxt/{DChDHsIe.js → BIHJR--x.js} +1 -1
  11. package/.output/public/_nuxt/{DJBO_9pO.js → BN9sUptU.js} +1 -1
  12. package/.output/public/_nuxt/{DX8ecA59.js → BNkZeak0.js} +1 -1
  13. package/.output/public/_nuxt/{qRiDKEr7.js → BNqd1Zca.js} +1 -1
  14. package/.output/public/_nuxt/BOZgY48g.js +1 -0
  15. package/.output/public/_nuxt/{DA4Xn6lm.js → BQFJwqXj.js} +1 -1
  16. package/.output/public/_nuxt/{C-Pa1rIR.js → BSBcOKKj.js} +1 -1
  17. package/.output/public/_nuxt/{CtCx-4nJ.js → BVl8VKr5.js} +1 -1
  18. package/.output/public/_nuxt/{vaJvtND9.js → BWphy0Pi.js} +1 -1
  19. package/.output/public/_nuxt/{B_ERKujF.js → BXp87mMj.js} +4 -4
  20. package/.output/public/_nuxt/{j23gQsG7.js → BYY9MB0h.js} +1 -1
  21. package/.output/public/_nuxt/{g9ZMnTLJ.js → BYav_5oM.js} +1 -1
  22. package/.output/public/_nuxt/{BG-rJefG.js → B_J4rjuT.js} +1 -1
  23. package/.output/public/_nuxt/{BzzgEvr9.js → B_U4hCvn.js} +2 -2
  24. package/.output/public/_nuxt/{DgJOougY.js → BdCzQG_z.js} +1 -1
  25. package/.output/public/_nuxt/{CGq9Twnj.js → BdX6JvdH.js} +1 -1
  26. package/.output/public/_nuxt/{BigePTMZ.js → BdaSWOzD.js} +1 -1
  27. package/.output/public/_nuxt/{D0lW43G8.js → BfSmOVMj.js} +119 -119
  28. package/.output/public/_nuxt/{VNOocds9.js → BiMJOLHR.js} +1 -1
  29. package/.output/public/_nuxt/{5oARMrld.js → BlRPNODF.js} +1 -1
  30. package/.output/public/_nuxt/BmREJclf.js +1 -0
  31. package/.output/public/_nuxt/{DPq8O9CC.js → Bp1mKnR0.js} +1 -1
  32. package/.output/public/_nuxt/{hIbRoJ89.js → BqZGP9WI.js} +1 -1
  33. package/.output/public/_nuxt/{Ohrg3hU7.js → BqjMHuu8.js} +1 -1
  34. package/.output/public/_nuxt/{BzywwPw6.js → Brupmvos.js} +1 -1
  35. package/.output/public/_nuxt/{BcyZ-eCi.js → BsA8eQHh.js} +1 -1
  36. package/.output/public/_nuxt/Bwe8I9vL.js +1 -0
  37. package/.output/public/_nuxt/{DvWEWtFg.js → BxdkXfb_.js} +1 -1
  38. package/.output/public/_nuxt/{Db3rTgnd.js → C20WaARR.js} +1 -1
  39. package/.output/public/_nuxt/{Czr647QE.js → C2kyA9ZS.js} +1 -1
  40. package/.output/public/_nuxt/C4HRDaS8.js +1 -0
  41. package/.output/public/_nuxt/{eOeO5uM0.js → C5zTeLKh.js} +1 -1
  42. package/.output/public/_nuxt/{wodl4bLW.js → C6r_nDJz.js} +1 -1
  43. package/.output/public/_nuxt/{C0vscAQB.js → C6yADG7D.js} +1 -1
  44. package/.output/public/_nuxt/{bkzIFcLw.js → CBfQCVFf.js} +1 -1
  45. package/.output/public/_nuxt/{CqkctA6I.js → CDPrFhDR.js} +1 -1
  46. package/.output/public/_nuxt/{CbHZwHBV.js → CFOJLBf2.js} +1 -1
  47. package/.output/public/_nuxt/{BdZsZgcB.js → CJhlBUX_.js} +1 -1
  48. package/.output/public/_nuxt/{syq5mCJi.js → CLXbv9E5.js} +1 -1
  49. package/.output/public/_nuxt/{BseVuOZ1.js → CMT3TfI0.js} +1 -1
  50. package/.output/public/_nuxt/{BMLhg7hE.js → CRX1CszZ.js} +1 -1
  51. package/.output/public/_nuxt/{B-4cXhNx.js → CYaqLaPZ.js} +1 -1
  52. package/.output/public/_nuxt/{CHMlsxJw.js → Cih6uwf6.js} +1 -1
  53. package/.output/public/_nuxt/{BZ4ThSRp.js → CmzTcheK.js} +1 -1
  54. package/.output/public/_nuxt/{D28ykMUi.js → CrNrSEll.js} +1 -1
  55. package/.output/public/_nuxt/{DKLk0T0H.js → CwgI7YXL.js} +1 -1
  56. package/.output/public/_nuxt/{CtB2-SFY.js → CxSk31iP.js} +1 -1
  57. package/.output/public/_nuxt/CyEWn2V2.js +1 -0
  58. package/.output/public/_nuxt/{CtkhwZY7.js → D-pZQQ02.js} +1 -1
  59. package/.output/public/_nuxt/{BmAp-sfn.js → D0mrO5vS.js} +1 -1
  60. package/.output/public/_nuxt/{CfseWBL0.js → D3ujZRkc.js} +1 -1
  61. package/.output/public/_nuxt/{CvFjsYJZ.js → D4PtOV7Y.js} +1 -1
  62. package/.output/public/_nuxt/{CL_1HDtg.js → D65Keo_g.js} +1 -1
  63. package/.output/public/_nuxt/{DOAixkpJ.js → D6c_aTbv.js} +1 -1
  64. package/.output/public/_nuxt/{Du5Ka6uI.js → D9SUnmGh.js} +1 -1
  65. package/.output/public/_nuxt/{CkjXKCQH.js → DDIVwUV6.js} +1 -1
  66. package/.output/public/_nuxt/{C9kgALYc.js → DDS9xPxH.js} +1 -1
  67. package/.output/public/_nuxt/{CjpXgncp.js → DEsdpKnm.js} +1 -1
  68. package/.output/public/_nuxt/{C-pX1zRI.js → DHnV-0Qj.js} +1 -1
  69. package/.output/public/_nuxt/{v41yYOa9.js → DIoeBtoF.js} +3 -3
  70. package/.output/public/_nuxt/{CS4EJV3B.js → DKJfWiWm.js} +1 -1
  71. package/.output/public/_nuxt/{DJXB1Li8.js → DKhuBYhy.js} +1 -1
  72. package/.output/public/_nuxt/DLTvS7Vr.js +2 -0
  73. package/.output/public/_nuxt/{Cf460dGA.js → DNgNuAci.js} +1 -1
  74. package/.output/public/_nuxt/{Buh0pI3n.js → DNpk_jbU.js} +1 -1
  75. package/.output/public/_nuxt/{DLBsdU7G.js → DQCTvlJf.js} +1 -1
  76. package/.output/public/_nuxt/DQf3b-ld.js +1 -0
  77. package/.output/public/_nuxt/{BYxQJ0gE.js → DT4w6IwV.js} +1 -1
  78. package/.output/public/_nuxt/{Dtl3qje7.js → DUqYnCG7.js} +1 -1
  79. package/.output/public/_nuxt/{KynNdNgX.js → DYqNroD1.js} +1 -1
  80. package/.output/public/_nuxt/{DQdA5Twt.js → DZ9fd-xA.js} +1 -1
  81. package/.output/public/_nuxt/{Ch0I4juX.js → DaiufW99.js} +1 -1
  82. package/.output/public/_nuxt/{DpBeiFQV.js → DdRczQp2.js} +2 -2
  83. package/.output/public/_nuxt/{Nof0nVJ6.js → DdW7QNKl.js} +1 -1
  84. package/.output/public/_nuxt/{BtuY54_l.js → Ddtv9Dxp.js} +1 -1
  85. package/.output/public/_nuxt/Dfzgj0Oq.js +1 -0
  86. package/.output/public/_nuxt/DgRHzRny.js +1 -0
  87. package/.output/public/_nuxt/{BzVvHKKC.js → DijSUoYv.js} +1 -1
  88. package/.output/public/_nuxt/Dm-rJ5VH.js +1 -0
  89. package/.output/public/_nuxt/{DrdbRRXx.js → DmpCN34M.js} +1 -1
  90. package/.output/public/_nuxt/{Chx1IK9D.js → DoB1FFC2.js} +1 -1
  91. package/.output/public/_nuxt/Dp2UQPgO.js +1 -0
  92. package/.output/public/_nuxt/{BccuQbKA.js → DryPPXlb.js} +1 -1
  93. package/.output/public/_nuxt/{BqHKqsJ5.js → DyCQWd5B.js} +3 -3
  94. package/.output/public/_nuxt/{C-I81xfB.js → Ef-1UUMy.js} +1 -1
  95. package/.output/public/_nuxt/{Cbo6GmdE.js → HP3PGEjt.js} +1 -1
  96. package/.output/public/_nuxt/{Dunt8-TF.js → KK3goksi.js} +1 -1
  97. package/.output/public/_nuxt/{9sDqz0uT.js → MC96ynYQ.js} +1 -1
  98. package/.output/public/_nuxt/{BKFPmrcv.js → N6_KTIJr.js} +1 -1
  99. package/.output/public/_nuxt/{BZmDBfmV.js → TKeZJpIw.js} +1 -1
  100. package/.output/public/_nuxt/{CRqiHVA4.js → UHOKyE8O.js} +1 -1
  101. package/.output/public/_nuxt/{CLQzuV82.js → Z42SRPvO.js} +1 -1
  102. package/.output/public/_nuxt/{BC6CdfCG.js → _Od8x2z5.js} +1 -1
  103. package/.output/public/_nuxt/{NYpsF1lW.js → bpGjU0QQ.js} +1 -1
  104. package/.output/public/_nuxt/builds/latest.json +1 -1
  105. package/.output/public/_nuxt/builds/meta/9b89410f-7683-420e-9dea-d15741f0e6ce.json +1 -0
  106. package/.output/public/_nuxt/{CmOZ0DCP.js → doR1dsEF.js} +1 -1
  107. package/.output/public/_nuxt/{DRh-06Hb.js → e04t7nee.js} +1 -1
  108. package/.output/public/_nuxt/entry.DEE2Ngsu.css +1 -0
  109. package/.output/public/_nuxt/{CCmd8DpQ.js → g4lEPr__.js} +1 -1
  110. package/.output/public/_nuxt/{C4zYnWdF.js → l12ZvGEh.js} +1 -1
  111. package/.output/public/_nuxt/{YdOCcCRS.js → u7qmw6wa.js} +1 -1
  112. package/.output/public/_nuxt/{CY_CG0AU.js → xoY3RXI7.js} +1 -1
  113. package/.output/public/_nuxt/{CSExCj8O.js → ziSTJBFH.js} +1 -1
  114. package/.output/server/chunks/build/client.manifest.mjs +650 -649
  115. package/.output/server/chunks/build/client.manifest.mjs.map +1 -1
  116. package/.output/server/chunks/nitro/nitro.mjs +642 -642
  117. package/.output/server/package.json +1 -1
  118. package/package.json +1 -1
  119. package/.output/public/_nuxt/BkN-uAef.js +0 -1
  120. package/.output/public/_nuxt/C4FrpL8k.js +0 -1
  121. package/.output/public/_nuxt/Chvs1m1n.js +0 -1
  122. package/.output/public/_nuxt/Cty7uMrC.js +0 -1
  123. package/.output/public/_nuxt/DTvJImVU.js +0 -1
  124. package/.output/public/_nuxt/DakKehZj.js +0 -1
  125. package/.output/public/_nuxt/DfyynWBR.js +0 -1
  126. package/.output/public/_nuxt/DkQCknMw.js +0 -1
  127. package/.output/public/_nuxt/MWrJVKEf.js +0 -2
  128. package/.output/public/_nuxt/Rrce0BXL.js +0 -22
  129. package/.output/public/_nuxt/Y-MEKhtd.js +0 -1
  130. package/.output/public/_nuxt/bYQCSC5-.js +0 -1
  131. package/.output/public/_nuxt/builds/meta/ad11b978-8fdd-4bb2-9b38-1d6fe93f994e.json +0 -1
  132. package/.output/public/_nuxt/entry.DxCQuGXb.css +0 -1
  133. package/.output/public/_nuxt/klVlxnpt.js +0 -1
@@ -0,0 +1,22 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./DEsdpKnm.js","./BfSmOVMj.js","./entry.DEE2Ngsu.css"])))=>i.map(i=>d[i]);
2
+ var ks=Object.defineProperty;var $s=(s,e,t)=>e in s?ks(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t;var oe=(s,e,t)=>$s(s,typeof e!="symbol"?e+"":e,t);import{a6 as Z,d as X,bU as zs,ae as As,ar as Ls,k as I,o as v,w as h,D as xe,g as i,p as ss,bT as Ot,bS as Ms,a9 as Ns,aa as Is,ab as Os,ac as Ps,er as Ds,L as ns,es as rt,et as Vs,c as P,bM as qs,j as et,m as f,f as p,bN as Fs,de as St,e as A,z as O,l as Q,a1 as wt,W as _t,X as Et,Y as Tt,A as fe,Z as Bs,t as V,$ as as,a0 as Se,bj as Rt,F as ee,s as ne,n as pe,a_ as ie,a$ as ue,aY as ce,r as K,i as Ae,eu as js,ev as Us,ew as os,ex as rs,ey as Hs,bk as ls,ez as Qs,eA as Ws,ek as Ks,el as Gs,em as Ys,eB as Ue,dl as Js,au as de,av as kt,aQ as $t,aT as $e,q as Zs,aS as qe,aR as Xs,aZ as Fe,az as en,ay as Ce,ch as is,am as us,eC as tn,ee as sn,aq as Ke,G as nn,bX as Pt,bV as an,bl as on,bD as rn,bE as ln,bF as un,eD as cn,aP as Qe,aL as dn,P as cs,aC as mn,aH as pn,eE as Dt,ao as ds,eF as fn,eG as zt,eH as hn,eI as vn,eJ as gn,eK as yn,eL as xn,M as bn,eM as ms,ba as Cn,bb as ut,eN as Sn,bd as wn,bc as _n,eO as En,be as Tn,bf as Rn,eP as kn,bg as $n,eQ as Vt,eR as zn,eS as An,bi as Ln,eT as Mn,bC as Nn,a8 as ps,eU as In,a3 as On,a as Pn,aK as Dn,b9 as Vn,cp as qn}from"./BfSmOVMj.js";import{_ as Fn,u as Bn}from"./BiMJOLHR.js";import{_ as jn}from"./CJhlBUX_.js";import{_ as Un}from"./D-pZQQ02.js";import{_ as At}from"./Ef-1UUMy.js";import{c as fs,d as hs,e as vs,C as U,f as Hn,g as tt,h as Qn,i as Wn,j as Kn,k as Gn,_ as ct,a as dt,b as Yn}from"./B9Yq_mZo.js";import{_ as Jn,a as Zn,b as Xn}from"./UHOKyE8O.js";import{f as gt,a as We,b as Ye}from"./-lZvfnzr.js";import{M as ea,_ as qt,j as Ft,k as Bt}from"./KK3goksi.js";import{p as ta,D as sa,_ as na,a as mt,b as aa}from"./CBfQCVFf.js";import{_ as jt}from"./DDIVwUV6.js";import{_ as oa}from"./HP3PGEjt.js";import{s as ra}from"./CrNrSEll.js";import{_ as la}from"./CRX1CszZ.js";import{u as ia}from"./doR1dsEF.js";import{_ as Lt,c as Ut,a as pt,e as Ht,b as Qt}from"./BCFLQ_rL.js";import{i as ua}from"./DNgNuAci.js";import{_ as gs}from"./DUqYnCG7.js";import{r as ca}from"./BdX6JvdH.js";import{c as da,a as ma,m as pa}from"./Dm-rJ5VH.js";import"./u7qmw6wa.js";import"./C2kyA9ZS.js";import"./DoB1FFC2.js";import"./D3ujZRkc.js";import"./C20WaARR.js";import"./BSBcOKKj.js";import"./CS5akSNT.js";class fa{constructor(e){this.rawError=e}get nomaltliztionErrror(){var t;const e=((t=this.rawError)==null?void 0:t.message)||"Error parsing SQL execution.";if(!this.rawError)return{message:e};switch(this.rawError.dbType){case Z.POSTGRES:return this.normalizePostgresError(e);case Z.MYSQL:return this.normalizeMysqlError(e);case Z.SQLITE3:return this.normalizeSqliteError(e);case Z.MARIADB:return this.normalizeMysqlError(e);case Z.ORACLE:return this.normalizeOracleError(e);default:return{message:e}}}normalizePostgresError(e){let t;return this.rawError.position&&(t=typeof this.rawError.position=="string"?Number(this.rawError.position):this.rawError.position,Number.isNaN(t)&&(t=void 0)),{message:this.rawError.message||e,position:t,hint:this.rawError.hint}}normalizeMysqlError(e){return{message:this.rawError.sqlMessage||this.rawError.message||e,hint:this.rawError.code?`Error Code: ${this.rawError.code}`:void 0}}normalizeSqliteError(e){return{message:this.rawError.message||e,hint:this.rawError.code?`Error Code: ${this.rawError.code}`:void 0}}normalizeOracleError(e){return{message:this.rawError.message||e,hint:this.rawError.errorNum?`ORA-${String(this.rawError.errorNum).padStart(5,"0")}`:void 0}}}var ha=X({__name:"MenuCheckboxItem",props:{modelValue:{type:[Boolean,String],required:!1,default:!1},disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["select","update:modelValue"],setup(s,{emit:e}){const t=s,n=e,o=zs(t,["modelValue"]),a=As(o),r=Ls(t,"modelValue",n);return ta({modelValue:r}),(l,u)=>(v(),I(ea,ss({role:"menuitemcheckbox"},i(a),{"aria-checked":i(Ot)(i(r))?"mixed":i(r),"data-state":i(Ms)(i(r)),onSelect:u[0]||(u[0]=async d=>{n("select",d),i(Ot)(i(r))?r.value=!0:r.value=!i(r)})}),{default:h(()=>[xe(l.$slots,"default",{modelValue:i(r)})]),_:3},16,["aria-checked","data-state"]))}}),va=ha,ga=X({__name:"DropdownMenuCheckboxItem",props:{modelValue:{type:[Boolean,String],required:!1},disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["select","update:modelValue"],setup(s,{emit:e}){const t=s,o=Ns(e);return Is(),(a,r)=>(v(),I(i(va),Os(Ps({...t,...i(o)})),{default:h(()=>[xe(a.$slots,"default")]),_:3},16))}}),ya=ga;function Mt(s,e){s.dispatch(Ds(s.state,e))}function xa(s){return s===Z.POSTGRES?"postgres-positional":s===Z.ORACLE?"oracle-positional":"question-mark"}function ba(s,e,t,n={}){if(!Object.keys(e).length)return s;const o=n.style??xa(t);let a=n.startIndex??1,r="",l=0;for(;l<s.length;){const u=s[l];if(u==="'"){const d=l++;for(;l<s.length;)if(s[l]==="'"&&s[l+1]==="'")l+=2;else if(s[l]==="'"){l++;break}else l++;r+=s.slice(d,l);continue}if(u==='"'){const d=l++;for(;l<s.length&&s[l]!=='"';)l++;l++,r+=s.slice(d,l);continue}if(u==="$"&&t===Z.POSTGRES){const d=l;let m="$",c=l+1;for(;c<s.length&&s[c]!=="$"&&/[a-zA-Z0-9_]/.test(s[c]);)m+=s[c++];if(c<s.length&&s[c]==="$"){m+="$",c++;const g=s.indexOf(m,c);if(g!==-1){l=g+m.length,r+=s.slice(d,l);continue}}}if(u===":"&&l+1<s.length&&/[a-zA-Z_]/.test(s[l+1])){const d=l++;let m="";for(;l<s.length&&/[a-zA-Z0-9_]/.test(s[l]);)m+=s[l++];m in e?o==="postgres-positional"?r+=`$${a++}`:o==="oracle-positional"?r+=`:${a++}`:r+="?":r+=s.slice(d,l);continue}r+=u,l++}return r}function Ca(s,e,t){if(s===e)return t;let n=0,o=0;for(;o<t&&n<s.length;){const a=s[n],r=e[o],l=/\s/.test(a),u=/\s/.test(r);if(l&&u){n++,o++;continue}if(a===":"&&(r==="$"||r==="?"||r===":")){for(;n<s.length&&/[:a-zA-Z0-9_]/.test(s[n]);)n++;if(r==="$")for(;o<e.length&&/[$0-9]/.test(e[o]);)o++;else if(r===":")for(;o<e.length&&/[:0-9]/.test(e[o]);)o++;else o++;if(o>=t)return n;continue}a===r?(n++,o++):n++}return n}function Wt({editorView:s,originalSql:e,statementFrom:t,fileParameters:n={},errorDetail:o,clientType:a,queryPrefix:r}){if(!s||!o)return;const{message:l,position:u}=o.normalizeError||new fa(o).nomaltliztionErrror;if(!u){wa(s,t,e,l);return}const d=`${r}${e}`,m=ba(d,n,a),c=Ca(d,m,u),g=Math.max(c-1,0)-((r==null?void 0:r.length)||0),{from:x,to:S}=Sa(e,t,g);Mt(s,[{from:x,to:S,severity:"error",message:l}])}function Sa(s,e,t){let n=t;for(;n<s.length&&!/[\s\n\r\t]/.test(s[n]);)n++;return{from:e+t,to:e+n}}function wa(s,e,t,n){const o=[{from:e,to:e+t.length,severity:"error",message:n}];Mt(s,o)}function _a(s){Mt(s,[])}const Ea=s=>ns.of([{key:"Mod-Enter",mac:"Cmd-Enter",run:e=>{const{currentStatements:t}=rt(e),n=Vs(e);return t.length&&s({currentStatements:t,treeNodes:n||[]}),!0},preventDefault:!0}]),Ta={class:"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center"},Ra=X({__name:"DropdownMenuCheckboxItem",props:{modelValue:{type:[Boolean,String]},disabled:{type:Boolean},textValue:{},asChild:{type:Boolean},as:{},class:{}},emits:["select","update:modelValue"],setup(s,{emit:e}){const t=s,n=e,o=P(()=>{const{class:r,...l}=t;return l}),a=qs(o,n);return(r,l)=>(v(),I(i(ya),ss({"data-slot":"dropdown-menu-checkbox-item"},i(a),{class:i(et)("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",t.class)}),{default:h(()=>[f("span",Ta,[p(i(sa),null,{default:h(()=>[p(i(Fs),{class:"size-4"})]),_:1})]),xe(r.$slots,"default")]),_:3},16,["class"]))}}),ka={},$a={class:"p-4 flex flex-col items-center justify-center h-full text-center space-y-4"},za={class:"text-muted-foreground space-y-3"},Aa={class:"list-disc text-sm list-inside text-left space-y-2"};function La(s,e){const t=Un,n=jn,o=At;return v(),A("div",$a,[p(n,{class:"rounded-2xl size-20 shadow-md"},{default:h(()=>[p(t,{src:"/logo.png",alt:"@unovue"})]),_:1}),f("div",za,[e[7]||(e[7]=f("h2",{class:"text-md font-normal text-foreground"},"Getting Started",-1)),f("ol",Aa,[e[5]||(e[5]=f("li",null,[f("span",{class:"font-normal text-foreground"},"Write your query"),O(" in the editor. ")],-1)),e[6]||(e[6]=f("li",null,[f("span",{class:"font-normal text-foreground"},"Click inside your query"),O(" to select it. ")],-1)),f("li",null,[e[1]||(e[1]=O(" Click ")),e[2]||(e[2]=f("span",{class:"text-foreground font-normal"},"'Execute current'",-1)),e[3]||(e[3]=O(" or use shortcut ")),p(o,{class:"font-normal border rounded-md p-1 px-1.5 text-foreground"},{default:h(()=>e[0]||(e[0]=[O("⌘↵")])),_:1}),e[4]||(e[4]=O(" to run the query. "))])])])])}const Ma=St(ka,[["render",La]]),Na={class:"font-medium text-foreground"},Ia={class:"font-medium text-foreground"},Oa=X({__name:"RawQueryConnectionConfirmDialog",props:{open:{type:Boolean},targetConnectionName:{},currentConnectionName:{}},emits:["confirm","cancel"],setup(s,{emit:e}){const t=e,n=()=>{t("confirm")},o=()=>{t("cancel")};return(a,r)=>{const l=fe;return a.open?(v(),I(i(wt),{key:0,open:a.open,"onUpdate:open":r[0]||(r[0]=u=>!u&&o())},{default:h(()=>[p(i(_t),{class:"max-w-md"},{default:h(()=>[p(i(Et),null,{default:h(()=>[p(i(Tt),{class:"flex items-center gap-2"},{default:h(()=>[p(l,{name:"hugeicons:alert-02",class:"size-5 text-amber-500"}),r[1]||(r[1]=O(" Confirm query execution "))]),_:1}),p(i(Bs),null,{default:h(()=>[r[2]||(r[2]=O(" This query will execute on ")),f("span",Na,V(a.targetConnectionName),1),r[3]||(r[3]=O(" . The current connection is ")),f("span",Ia,V(a.currentConnectionName),1),r[4]||(r[4]=O(" . Make sure before executing. "))]),_:1})]),_:1}),p(i(as),null,{default:h(()=>[p(i(Se),{variant:"outline",onClick:o},{default:h(()=>r[5]||(r[5]=[O("Cancel")])),_:1}),p(i(Se),{class:"gap-1",onClick:n},{default:h(()=>[p(l,{name:"lucide:play",class:"size-4"}),r[6]||(r[6]=O(" Execute "))]),_:1})]),_:1})]),_:1})]),_:1},8,["open"])):Q("",!0)}}}),Pa={key:1,class:"text-xs text-muted-foreground ml-2"},Da=X({__name:"RawQueryEditorContextMenu",props:{contextMenuItems:{}},emits:["update:open"],setup(s,{emit:e}){const t=e,n=a=>typeof a>"u"?!0:!!a,o=a=>{t("update:open",a)};return(a,r)=>{const l=hs,u=Hn,d=fe,m=At,c=tt,g=Qn,x=Kn,S=Gn,b=Wn,y=vs,C=fs;return v(),I(C,{"onUpdate:open":o},{default:h(()=>[p(l,{"as-child":""},{default:h(()=>[xe(a.$slots,"default")]),_:3}),p(y,{class:"min-w-56",onCloseAutoFocus:r[0]||(r[0]=Rt(()=>{},["prevent"]))},{default:h(()=>[(v(!0),A(ee,null,ne(a.contextMenuItems,(E,$)=>(v(),A(ee,{key:$},[E.type===i(U).LABEL&&n(E.condition)?(v(),I(u,{key:0,class:"font-medium text-xs text-muted-foreground"},{default:h(()=>[O(V(E.title),1)]),_:2},1024)):E.type===i(U).ACTION&&n(E.condition)?(v(),I(c,{key:1,onSelect:E.select,disabled:E.disabled},{default:h(()=>[E.icon?(v(),I(d,{key:0,name:E.icon,class:"size-4! min-w-4 text-muted-foreground"},null,8,["name"])):Q("",!0),O(" "+V(E.title)+" ",1),E.shortcut?(v(),I(m,{key:1},{default:h(()=>[O(V(E.shortcut),1)]),_:2},1024)):Q("",!0)]),_:2},1032,["onSelect","disabled"])):E.type===i(U).SEPARATOR&&n(E.condition)?(v(),I(g,{key:2})):E.type===i(U).SUBMENU&&n(E.condition)?(v(),I(b,{key:3,disabled:!E.items||E.items.length===0},{default:h(()=>[p(x,null,{default:h(()=>[E.icon?(v(),I(d,{key:0,name:E.icon,class:"size-4! min-w-4 text-muted-foreground mr-2"},null,8,["name"])):Q("",!0),O(" "+V(E.title)+" ",1),E.desc?(v(),A("span",Pa,V(E.desc),1)):Q("",!0)]),_:2},1024),p(S,{class:pe("min-w-52")},{default:h(()=>[(v(!0),A(ee,null,ne(E.items,(L,_)=>(v(),A(ee,{key:_},[L.type===i(U).ACTION&&n(L.condition)?(v(),I(c,{key:0,onSelect:L.select},{default:h(()=>[L.icon?(v(),I(d,{key:0,name:L.icon,class:"size-4! min-w-4 text-muted-foreground"},null,8,["name"])):Q("",!0),O(" "+V(L.title)+" ",1),L.shortcut?(v(),I(m,{key:1},{default:h(()=>[O(V(L.shortcut),1)]),_:2},1024)):Q("",!0)]),_:2},1032,["onSelect"])):L.type===i(U).LABEL&&n(L.condition)?(v(),I(u,{key:1,class:"font-medium text-xs text-muted-foreground"},{default:h(()=>[O(V(L.title),1)]),_:2},1024)):L.type===i(U).SEPARATOR&&n(L.condition)?(v(),I(g,{key:2})):Q("",!0)],64))),128))]),_:2},1024)]),_:2},1032,["disabled"])):Q("",!0)],64))),128))]),_:1})]),_:3})}}}),Va={},qa={class:"mb-2 flex items-center gap-1.5 text-sm font-semibold"};function Fa(s,e){const t=fe,n=Se,o=Zn,a=ie,r=ue,l=Xn,u=Jn,d=ce;return v(),I(d,null,{default:h(()=>[p(u,null,{default:h(()=>[p(a,{"as-child":""},{default:h(()=>[p(o,{"as-child":""},{default:h(()=>[p(n,{size:"iconSm",variant:"ghost",class:"h-4 w-4 p-0 text-muted-foreground hover:text-foreground",title:"How to use query variables","aria-label":"How to use query variables"},{default:h(()=>[p(t,{name:"hugeicons:help-circle",class:"size-3.5!"})]),_:1})]),_:1})]),_:1}),p(r,null,{default:h(()=>e[0]||(e[0]=[f("p",null,"How to use query variables",-1)])),_:1}),p(l,{side:"top",align:"start",class:"w-[440px] p-4 text-xs"},{default:h(()=>[f("p",qa,[p(t,{name:"hugeicons:help-circle",class:"size-4!"}),e[1]||(e[1]=O(" Passing variables in queries "))]),e[2]||(e[2]=f("p",{class:"mb-3 text-muted-foreground"},[O(" Use "),f("code",{class:"rounded bg-muted px-1"},":variable_name"),O(" syntax to bind parameters. For array operators, cast to the correct type: ")],-1)),e[3]||(e[3]=f("div",{class:"space-y-3"},[f("div",null,[f("p",{class:"mb-1 font-medium text-foreground"},[f("code",{class:"rounded bg-muted px-1"},"= ANY()")]),f("pre",{class:"overflow-x-auto whitespace-pre-wrap break-all rounded bg-muted p-2 text-xs"},`WHERE id = ANY (ARRAY[:your_variable]::integer[])
3
+ WHERE status = ANY (ARRAY[:statuses]::text[])`)]),f("div",null,[f("p",{class:"mb-1 font-medium text-foreground"},[f("code",{class:"rounded bg-muted px-1"},"IN()")]),f("pre",{class:"overflow-x-auto whitespace-pre-wrap break-all rounded bg-muted p-2 text-xs"},`WHERE id IN (:your_variable)
4
+ WHERE name IN (:names)`)]),f("div",null,[f("p",{class:"mb-1 font-medium text-foreground"},"Scalar variable"),f("pre",{class:"overflow-x-auto whitespace-pre-wrap break-all rounded bg-muted p-2 text-xs"},`WHERE created_at > :start_date
5
+ WHERE user_id = :user_id`)])],-1)),e[4]||(e[4]=f("p",{class:"mt-3 border-t pt-2 text-muted-foreground"},[O(" Replace "),f("code",{class:"rounded bg-muted px-1"},"alias_type"),O(" with the actual PostgreSQL type, e.g. "),f("code",{class:"rounded bg-muted px-1"},"integer"),O(", "),f("code",{class:"rounded bg-muted px-1"},"uuid"),O(", "),f("code",{class:"rounded bg-muted px-1"},"text"),O(". ")],-1))]),_:1})]),_:1})]),_:1})}const Ba=St(Va,[["render",Fa]]),ja={class:"h-fit py-1 flex items-center justify-between px-2"},Ua={class:"flex items-center gap-2"},Ha={class:"font-normal text-xs text-muted-foreground"},Qa={key:0,class:"font-normal text-xs text-muted-foreground"},Wa={key:0,class:"flex items-center gap-1"},Ka={key:1,class:"flex items-center gap-1"},Ga={key:2},Ya={key:0},Ja={key:1},Za={class:"flex gap-1"},Xa={class:"flex items-center"},eo={class:"flex items-center"},to={key:0},so={key:1},no=X({__name:"RawQueryEditorFooter",props:{cursorInfo:{},isHaveOneExecute:{type:Boolean},executeLoading:{type:Boolean},executeErrors:{type:Boolean},isStreaming:{type:Boolean},streamingRowCount:{},queryTime:{},rawQueryResultsLength:{},isRawViewMode:{type:Boolean},explainAnalyzeOptionItems:{},serializeMode:{},isSupportFormat:{type:Boolean},isSupportVariable:{type:Boolean},isExplainSupported:{type:Boolean}},emits:["onFormatCurrentStatement","onFormatAll","onExplainAnalyzeCurrent","toggleExplainOption","update:serializeMode","onExecuteCurrent","update:isRawViewMode","onCancelQuery"],setup(s){const e=K(!1);return(t,n)=>{const o=Ba,a=fe,r=At,l=Se;return v(),A("div",ja,[f("div",Ua,[f("div",Ha," Ln "+V(t.cursorInfo.line)+", Col "+V(t.cursorInfo.column),1),t.isSupportVariable?(v(),I(o,{key:0})):Q("",!0)]),t.isHaveOneExecute?(v(),A("div",Qa,[t.isStreaming?(v(),A("span",Wa,[p(a,{name:"hugeicons:loading-03",class:"size-4! animate-spin"}),O(" Streaming... "+V(i(gt)(t.streamingRowCount))+" rows ",1)])):t.executeLoading?(v(),A("span",Ka,[n[9]||(n[9]=O("Processing ")),p(a,{name:"hugeicons:loading-03",class:"size-4! animate-spin"})])):(v(),A("span",Ga,[t.executeErrors?(v(),A("span",Ya," Query: 1 error in "+V(i(We)(t.queryTime)),1)):(v(),A("span",Ja," Query success: "+V(i(gt)(t.rawQueryResultsLength))+" rows in "+V(i(We)(t.queryTime)),1))]))])):Q("",!0),f("div",Za,[t.isSupportFormat?(v(),I(i(ce),{key:0},{default:h(()=>[p(i(ie),null,{default:h(()=>[f("div",Xa,[p(l,{onClick:n[0]||(n[0]=u=>t.$emit("onFormatCurrentStatement")),variant:"outline",size:"xxs",class:"rounded-r-none"},{default:h(()=>[p(a,{name:"hugeicons:magic-wand-01"}),n[11]||(n[11]=O(" Format ")),p(r,null,{default:h(()=>n[10]||(n[10]=[O("⌘S")])),_:1})]),_:1}),p(i(qt),null,{default:h(()=>[p(i(Ft),{"as-child":""},{default:h(()=>[p(l,{variant:"outline",size:"iconSm",class:"rounded-l-none border-l-0 px-2"},{default:h(()=>[p(a,{name:"hugeicons:arrow-down-01",class:"size-4! min-w-4"})]),_:1})]),_:1}),p(i(Bt),{align:"end",class:"min-w-44"},{default:h(()=>[p(i(ct),{class:"py-0"},{default:h(()=>n[12]||(n[12]=[O("Format Options ")])),_:1}),p(i(dt)),p(i(jt),{onClick:n[1]||(n[1]=u=>t.$emit("onFormatCurrentStatement")),class:"h-6 cursor-pointer"},{default:h(()=>[n[14]||(n[14]=O(" Current Statement ")),p(r,null,{default:h(()=>n[13]||(n[13]=[O("⌘S")])),_:1})]),_:1}),p(i(jt),{onClick:n[2]||(n[2]=u=>t.$emit("onFormatAll")),class:"h-6 cursor-pointer"},{default:h(()=>[n[16]||(n[16]=O(" All Statement ")),p(r,null,{default:h(()=>n[15]||(n[15]=[O("⇧⌥F")])),_:1})]),_:1})]),_:1})]),_:1})])]),_:1}),p(i(ue),null,{default:h(()=>n[17]||(n[17]=[f("p",null,"Format current statement (⌘S)",-1)])),_:1})]),_:1})):Q("",!0),t.isExplainSupported?(v(),I(i(ce),{key:1},{default:h(()=>[p(i(ie),null,{default:h(()=>[f("div",eo,[p(l,{onClick:n[3]||(n[3]=u=>t.$emit("onExplainAnalyzeCurrent")),variant:"outline",size:"xxs",class:"rounded-r-none"},{default:h(()=>[p(a,{name:"hugeicons:analytics-up"}),n[19]||(n[19]=O(" Explain ")),p(r,null,{default:h(()=>n[18]||(n[18]=[O("⌘E")])),_:1})]),_:1}),p(i(qt),{open:i(e),"onUpdate:open":n[6]||(n[6]=u=>Ae(e)?e.value=u:null)},{default:h(()=>[p(i(Ft),{"as-child":""},{default:h(()=>[p(l,{variant:"outline",size:"iconSm",class:"rounded-l-none border-l-0 px-2"},{default:h(()=>[p(a,{name:"hugeicons:arrow-down-01",class:"size-4! min-w-4"})]),_:1})]),_:1}),p(i(Bt),{align:"end",class:"min-w-52"},{default:h(()=>[p(i(ct),{class:"py-0"},{default:h(()=>n[20]||(n[20]=[O("Explain Analyze Options")])),_:1}),p(i(dt)),(v(!0),A(ee,null,ne(t.explainAnalyzeOptionItems,u=>(v(),I(i(Ra),{key:u.key,"model-value":u.checked,onSelect:n[4]||(n[4]=Rt(()=>{},["prevent"])),"onUpdate:modelValue":d=>t.$emit("toggleExplainOption",u.key),class:"h-6 cursor-pointer"},{default:h(()=>[O(V(u.label),1)]),_:2},1032,["model-value","onUpdate:modelValue"]))),128)),p(i(dt)),p(i(ct),{class:"py-0"},{default:h(()=>n[21]||(n[21]=[O("Serialize")])),_:1}),p(i(na),{"model-value":t.serializeMode,"onUpdate:modelValue":n[5]||(n[5]=u=>t.$emit("update:serializeMode",u))},{default:h(()=>[p(i(mt),{value:"NONE",class:"h-6 cursor-pointer"},{default:h(()=>n[22]||(n[22]=[O("None")])),_:1}),p(i(mt),{value:"TEXT",class:"h-6 cursor-pointer"},{default:h(()=>n[23]||(n[23]=[O("Text")])),_:1}),p(i(mt),{value:"BINARY",class:"h-6 cursor-pointer"},{default:h(()=>n[24]||(n[24]=[O("Binary")])),_:1})]),_:1},8,["model-value"])]),_:1})]),_:1},8,["open"])])]),_:1}),p(i(ue),null,{default:h(()=>n[25]||(n[25]=[f("p",null,"Run Explain Analyze (⌘E) or open options",-1)])),_:1})]),_:1})):Q("",!0),p(i(ce),null,{default:h(()=>[p(i(ie),{"as-child":""},{default:h(()=>[t.isStreaming||t.executeLoading?(v(),I(l,{key:0,onClick:n[7]||(n[7]=u=>t.$emit("onCancelQuery")),variant:"outline",size:"xxs"},{default:h(()=>[p(a,{name:"hugeicons:stop",class:"size-4! text-red-500"}),n[26]||(n[26]=O(" Cancel query "))]),_:1})):(v(),I(l,{key:1,onClick:n[8]||(n[8]=u=>t.$emit("onExecuteCurrent")),variant:"outline",size:"xxs"},{default:h(()=>[p(a,{name:"hugeicons:play"}),n[28]||(n[28]=O(" Execute current ")),p(r,null,{default:h(()=>n[27]||(n[27]=[O("⌘↵")])),_:1})]),_:1}))]),_:1}),p(i(ue),null,{default:h(()=>[t.isStreaming||t.executeLoading?(v(),A("p",to,"Cancel query")):(v(),A("p",so,"Execute Query (⌘↵)"))]),_:1})]),_:1})])])}}}),ys=X({__name:"VariableEditor",props:{fileVariables:{}},emits:["updateVariables"],setup(s,{emit:e}){const t=e,n=K({line:1,column:1}),o=[js(`Please input your json variable
6
+ {
7
+ "key": "value"
8
+ }`),ra(r=>{try{return Hs(r,{type:"space",size:2})}catch{return r}}),Us(),os(),rs(Qs())],a=r=>{t("updateVariables",r)};return(r,l)=>(v(),I(ls,{"onUpdate:modelValue":a,"onUpdate:cursorInfo":l[0]||(l[0]=u=>n.value=u),modelValue:r.fileVariables,extensions:o,disabled:!1,ref:"codeEditorRef"},null,8,["modelValue"]))}}),ao={class:"h-full flex flex-col overflow-y-auto"},oo=X({__name:"AddVariableModal",props:{open:{},fileVariables:{}},emits:["update:open","updateVariables"],setup(s,{emit:e}){const t=e,n=async o=>{t("updateVariables",o)};return(o,a)=>(v(),I(i(wt),{class:"",open:!!o.open,"onUpdate:open":a[1]||(a[1]=r=>t("update:open",r))},{default:h(()=>[p(i(_t),{class:"w-[60vw] h-[50vh] flex flex-col justify-between min-w-[60vw]"},{default:h(()=>[p(i(Et),null,{default:h(()=>[p(i(Tt),null,{default:h(()=>a[2]||(a[2]=[O(" Add Variable "),f("a",{class:"underline",href:"https://www.w3schools.com/js/js_json_syntax.asp",target:"_blank"}," (JSON format)",-1)])),_:1})]),_:1}),f("div",ao,[p(ys,{onUpdateVariables:n,fileVariables:o.fileVariables},null,8,["fileVariables"])]),p(i(as),{class:"mt-2"},{default:h(()=>[p(i(Se),{onClick:a[0]||(a[0]=r=>t("update:open",!1))},{default:h(()=>a[3]||(a[3]=[O(" Save ")])),_:1})]),_:1})]),_:1})]),_:1},8,["open"]))}}),ro=X({__name:"RawQueryConfigModal",props:{open:{}},emits:["update:open"],setup(s,{emit:e}){const t=e;return(n,o)=>(v(),I(i(wt),{class:"",open:!!n.open,"onUpdate:open":o[0]||(o[0]=a=>t("update:open",a))},{default:h(()=>[p(i(_t),{class:"w-[50vw] h-[70vh] flex flex-col justify-between min-w-[50vw]"},{default:h(()=>[p(i(Et),null,{default:h(()=>[p(i(Tt),null,{default:h(()=>o[1]||(o[1]=[O(" Editor configs ")])),_:1})]),_:1}),p(Ws)]),_:1})]),_:1},8,["open"]))}}),lo={class:"flex items-center justify-between p-1 rounded-md bg-muted"},io={class:"flex gap-2 items-center"},uo={key:0},co={key:1},mo=X({__name:"RawQueryEditorHeader",props:{currentFileInfo:{},fileVariables:{},workspaceId:{},selectedConnectionId:{},disableConnectionSwitch:{type:Boolean},connections:{},connection:{},isRedisConnection:{type:Boolean},isSupportVariable:{type:Boolean},redisDatabases:{},redisDatabaseIndex:{},codeEditorLayout:{}},emits:["update:connectionId","update:redisDatabaseIndex","update:updateFileVariables"],setup(s){const e=K(!1),t=K(!1),n=K(!1),o=()=>{e.value=!0},a=()=>{t.value=!0};return(r,l)=>{const u=fe,d=aa,m=Ys,c=Gs,g=Ks,x=Se;return v(),A(ee,null,[p(oo,{onUpdateVariables:l[0]||(l[0]=S=>r.$emit("update:updateFileVariables",S)),"file-variables":r.fileVariables,open:i(e),"onUpdate:open":l[1]||(l[1]=S=>Ae(e)?e.value=S:null)},null,8,["file-variables","open"]),p(ro,{open:i(t),"onUpdate:open":l[2]||(l[2]=S=>Ae(t)?t.value=S:null)},null,8,["open"]),f("div",lo,[f("div",null,[p(g,null,{default:h(()=>[p(c,{class:"gap-0!"},{default:h(()=>[p(m,null,{default:h(()=>[p(d,{class:"flex items-center gap-0.5"},{default:h(()=>{var S,b;return[p(u,{name:(S=r.currentFileInfo)==null?void 0:S.icon},null,8,["name"]),O(" "+V((b=r.currentFileInfo)==null?void 0:b.title),1)]}),_:1})]),_:1})]),_:1})]),_:1})]),f("div",io,[r.isSupportVariable&&r.codeEditorLayout===i(Ue).horizontal?(v(),I(i(ce),{key:0},{default:h(()=>[p(i(ie),{"as-child":""},{default:h(()=>[p(x,{onClick:o,variant:"outline",size:"xxs",class:"relative"},{default:h(()=>[i(n)?(v(),I(u,{key:0,name:"lucide:triangle-alert",class:"absolute -top-1 -right-1 text-red-400"})):Q("",!0),p(u,{name:"hugeicons:absolute"}),l[5]||(l[5]=O(" Add variables "))]),_:1})]),_:1}),p(i(ue),null,{default:h(()=>l[6]||(l[6]=[f("p",null,"Add variables",-1)])),_:1})]),_:1})):Q("",!0),p(i(ce),null,{default:h(()=>[p(i(ie),{"as-child":""},{default:h(()=>[p(oa,{connectionId:r.selectedConnectionId,"onUpdate:connectionId":l[3]||(l[3]=S=>r.$emit("update:connectionId",S)),connections:r.connections,connection:r.connection,disabled:r.disableConnectionSwitch,class:"w-fit h-6! px-1.5",workspaceId:r.workspaceId},null,8,["connectionId","connections","connection","disabled","workspaceId"])]),_:1}),p(i(ue),null,{default:h(()=>[r.disableConnectionSwitch?(v(),A("p",uo," Connection switch is locked because the current connection has a strict mode tag ")):(v(),A("p",co,"Select connection"))]),_:1})]),_:1}),r.isRedisConnection?(v(),I(Fn,{key:1,compact:"","trigger-id":"raw-query-redis-db-index","trigger-class":"bg-background",databases:r.redisDatabases||[],"database-index":r.redisDatabaseIndex??0,"onUpdate:databaseIndex":l[4]||(l[4]=S=>r.$emit("update:redisDatabaseIndex",S))},null,8,["databases","database-index"])):Q("",!0),p(i(ce),null,{default:h(()=>[p(i(ie),{"as-child":""},{default:h(()=>[p(x,{onClick:a,variant:"outline",size:"iconSm"},{default:h(()=>[p(u,{name:"hugeicons:dashboard-square-02"})]),_:1})]),_:1}),p(i(ue),null,{default:h(()=>l[7]||(l[7]=[f("p",null,"Query Settings",-1)])),_:1})]),_:1})])])],64)}}}),Je={__name:"splitpanes",props:{horizontal:{type:Boolean,default:!1},pushOtherPanes:{type:Boolean,default:!0},maximizePanes:{type:Boolean,default:!0},rtl:{type:Boolean,default:!1},firstSplitter:{type:Boolean,default:!1}},emits:["ready","resize","resized","pane-click","pane-maximize","pane-add","pane-remove","splitter-click","splitter-dblclick"],setup(s,{emit:e}){const t=e,n=s,o=Js(),a=K([]),r=P(()=>a.value.reduce((w,k)=>(w[~~k.id]=k)&&w,{})),l=P(()=>a.value.length),u=K(null),d=K(!1),m=K({mouseDown:!1,dragging:!1,activeSplitter:null,cursorOffset:0}),c=K({splitter:null,timeoutId:null}),g=P(()=>({[`splitpanes splitpanes--${n.horizontal?"horizontal":"vertical"}`]:!0,"splitpanes--dragging":m.value.dragging})),x=()=>{document.addEventListener("mousemove",y,{passive:!1}),document.addEventListener("mouseup",C),"ontouchstart"in window&&(document.addEventListener("touchmove",y,{passive:!1}),document.addEventListener("touchend",C))},S=()=>{document.removeEventListener("mousemove",y,{passive:!1}),document.removeEventListener("mouseup",C),"ontouchstart"in window&&(document.removeEventListener("touchmove",y,{passive:!1}),document.removeEventListener("touchend",C))},b=(w,k)=>{const M=w.target.closest(".splitpanes__splitter");if(M){const{left:z,top:N}=M.getBoundingClientRect(),{clientX:R,clientY:F}="ontouchstart"in window&&w.touches?w.touches[0]:w;m.value.cursorOffset=n.horizontal?F-N:R-z}x(),m.value.mouseDown=!0,m.value.activeSplitter=k},y=w=>{m.value.mouseDown&&(w.preventDefault(),m.value.dragging=!0,requestAnimationFrame(()=>{D(_(w)),ae("resize",{event:w},!0)}))},C=w=>{m.value.dragging&&(window.getSelection().removeAllRanges(),ae("resized",{event:w},!0)),m.value.mouseDown=!1,m.value.activeSplitter=null,setTimeout(()=>{m.value.dragging=!1,S()},100)},E=(w,k)=>{"ontouchstart"in window&&(w.preventDefault(),c.value.splitter===k?(clearTimeout(c.value.timeoutId),c.value.timeoutId=null,$(w,k),c.value.splitter=null):(c.value.splitter=k,c.value.timeoutId=setTimeout(()=>c.value.splitter=null,500))),m.value.dragging||ae("splitter-click",{event:w,index:k},!0)},$=(w,k)=>{if(ae("splitter-dblclick",{event:w,index:k},!0),n.maximizePanes){let M=0;a.value=a.value.map((z,N)=>(z.size=N===k?z.max:z.min,N!==k&&(M+=z.min),z)),a.value[k].size-=M,ae("pane-maximize",{event:w,index:k,pane:a.value[k]}),ae("resized",{event:w,index:k},!0)}},L=(w,k)=>{ae("pane-click",{event:w,index:r.value[k].index,pane:r.value[k]})},_=w=>{const k=u.value.getBoundingClientRect(),{clientX:M,clientY:z}="ontouchstart"in window&&w.touches?w.touches[0]:w;return{x:M-(n.horizontal?0:m.value.cursorOffset)-k.left,y:z-(n.horizontal?m.value.cursorOffset:0)-k.top}},B=w=>{w=w[n.horizontal?"y":"x"];const k=u.value[n.horizontal?"clientHeight":"clientWidth"];return n.rtl&&!n.horizontal&&(w=k-w),w*100/k},D=w=>{const k=m.value.activeSplitter;let M={prevPanesSize:H(k),nextPanesSize:W(k),prevReachedMinPanes:0,nextReachedMinPanes:0};const z=0+(n.pushOtherPanes?0:M.prevPanesSize),N=100-(n.pushOtherPanes?0:M.nextPanesSize),R=Math.max(Math.min(B(w),N),z);let F=[k,k+1],Y=a.value[F[0]]||null,se=a.value[F[1]]||null;const be=Y.max<100&&R>=Y.max+M.prevPanesSize,De=se.max<100&&R<=100-(se.max+W(k+1));if(be||De){be?(Y.size=Y.max,se.size=Math.max(100-Y.max-M.prevPanesSize-M.nextPanesSize,0)):(Y.size=Math.max(100-se.max-M.prevPanesSize-W(k+1),0),se.size=se.max);return}if(n.pushOtherPanes){const je=T(M,R);if(!je)return;({sums:M,panesToResize:F}=je),Y=a.value[F[0]]||null,se=a.value[F[1]]||null}Y!==null&&(Y.size=Math.min(Math.max(R-M.prevPanesSize-M.prevReachedMinPanes,Y.min),Y.max)),se!==null&&(se.size=Math.min(Math.max(100-R-M.nextPanesSize-M.nextReachedMinPanes,se.min),se.max))},T=(w,k)=>{const M=m.value.activeSplitter,z=[M,M+1];return k<w.prevPanesSize+a.value[z[0]].min&&(z[0]=q(M).index,w.prevReachedMinPanes=0,z[0]<M&&a.value.forEach((N,R)=>{R>z[0]&&R<=M&&(N.size=N.min,w.prevReachedMinPanes+=N.min)}),w.prevPanesSize=H(z[0]),z[0]===void 0)?(w.prevReachedMinPanes=0,a.value[0].size=a.value[0].min,a.value.forEach((N,R)=>{R>0&&R<=M&&(N.size=N.min,w.prevReachedMinPanes+=N.min)}),a.value[z[1]].size=100-w.prevReachedMinPanes-a.value[0].min-w.prevPanesSize-w.nextPanesSize,null):k>100-w.nextPanesSize-a.value[z[1]].min&&(z[1]=G(M).index,w.nextReachedMinPanes=0,z[1]>M+1&&a.value.forEach((N,R)=>{R>M&&R<z[1]&&(N.size=N.min,w.nextReachedMinPanes+=N.min)}),w.nextPanesSize=W(z[1]-1),z[1]===void 0)?(w.nextReachedMinPanes=0,a.value.forEach((N,R)=>{R<l.value-1&&R>=M+1&&(N.size=N.min,w.nextReachedMinPanes+=N.min)}),a.value[z[0]].size=100-w.prevPanesSize-W(z[0]-1),null):{sums:w,panesToResize:z}},H=w=>a.value.reduce((k,M,z)=>k+(z<w?M.size:0),0),W=w=>a.value.reduce((k,M,z)=>k+(z>w+1?M.size:0),0),q=w=>[...a.value].reverse().find(k=>k.index<w&&k.size>k.min)||{},G=w=>a.value.find(k=>k.index>w+1&&k.size>k.min)||{},j=()=>{var w;const k=Array.from(((w=u.value)==null?void 0:w.children)||[]);for(const M of k){const z=M.classList.contains("splitpanes__pane"),N=M.classList.contains("splitpanes__splitter");!z&&!N&&(M.remove(),console.warn("Splitpanes: Only <pane> elements are allowed at the root of <splitpanes>. One of your DOM nodes was removed."))}},te=(w,k,M=!1)=>{const z=w-1,N=document.createElement("div");N.classList.add("splitpanes__splitter"),M||(N.onmousedown=R=>b(R,z),typeof window<"u"&&"ontouchstart"in window&&(N.ontouchstart=R=>b(R,z)),N.onclick=R=>E(R,z+1)),N.ondblclick=R=>$(R,z+1),k.parentNode.insertBefore(N,k)},ge=w=>{w.onmousedown=void 0,w.onclick=void 0,w.ondblclick=void 0,w.remove()},he=()=>{var w;const k=Array.from(((w=u.value)==null?void 0:w.children)||[]);for(const z of k)z.className.includes("splitpanes__splitter")&&ge(z);let M=0;for(const z of k)z.className.includes("splitpanes__pane")&&(!M&&n.firstSplitter?te(M,z,!0):M&&te(M,z),M++)},Me=({uid:w,...k})=>{const M=r.value[w];for(const[z,N]of Object.entries(k))M[z]=N},Ne=w=>{var k;let M=-1;Array.from(((k=u.value)==null?void 0:k.children)||[]).some(z=>(z.className.includes("splitpanes__pane")&&M++,z.isSameNode(w.el))),a.value.splice(M,0,{...w,index:M}),a.value.forEach((z,N)=>z.index=N),d.value&&Ce(()=>{he(),_e({addedPane:a.value[M]}),ae("pane-add",{pane:a.value[M]})})},Ie=w=>{const k=a.value.findIndex(z=>z.id===w);a.value[k].el=null;const M=a.value.splice(k,1)[0];a.value.forEach((z,N)=>z.index=N),Ce(()=>{he(),ae("pane-remove",{pane:M}),_e({removedPane:{...M}})})},_e=(w={})=>{!w.addedPane&&!w.removedPane?me():a.value.some(k=>k.givenSize!==null||k.min||k.max<100)?Re(w):Oe(),d.value&&ae("resized")},Oe=()=>{const w=100/l.value;let k=0;const M=[],z=[];for(const N of a.value)N.size=Math.max(Math.min(w,N.max),N.min),k-=N.size,N.size>=N.max&&M.push(N.id),N.size<=N.min&&z.push(N.id);k>.1&&Ee(k,M,z)},me=()=>{let w=100;const k=[],M=[];let z=0;for(const R of a.value)w-=R.size,R.givenSize!==null&&z++,R.size>=R.max&&k.push(R.id),R.size<=R.min&&M.push(R.id);let N=100;if(w>.1){for(const R of a.value)R.givenSize===null&&(R.size=Math.max(Math.min(w/(l.value-z),R.max),R.min)),N-=R.size;N>.1&&Ee(N,k,M)}},Re=({addedPane:w,removedPane:k}={})=>{let M=100/l.value,z=0;const N=[],R=[];((w==null?void 0:w.givenSize)??null)!==null&&(M=(100-w.givenSize)/(l.value-1));for(const F of a.value)z-=F.size,F.size>=F.max&&N.push(F.id),F.size<=F.min&&R.push(F.id);if(!(Math.abs(z)<.1)){for(const F of a.value)(w==null?void 0:w.givenSize)!==null&&(w==null?void 0:w.id)===F.id||(F.size=Math.max(Math.min(M,F.max),F.min)),z-=F.size,F.size>=F.max&&N.push(F.id),F.size<=F.min&&R.push(F.id);z>.1&&Ee(z,N,R)}},Ee=(w,k,M)=>{let z;w>0?z=w/(l.value-k.length):z=w/(l.value-M.length),a.value.forEach((N,R)=>{if(w>0&&!k.includes(N.id)){const F=Math.max(Math.min(N.size+z,N.max),N.min),Y=F-N.size;w-=Y,N.size=F}else if(!M.includes(N.id)){const F=Math.max(Math.min(N.size+z,N.max),N.min),Y=F-N.size;w-=Y,N.size=F}}),Math.abs(w)>.1&&Ce(()=>{d.value&&console.warn("Splitpanes: Could not resize panes correctly due to their constraints.")})},ae=(w,k=void 0,M=!1)=>{const z=(k==null?void 0:k.index)??m.value.activeSplitter??null;t(w,{...k,...z!==null&&{index:z},...M&&z!==null&&{prevPane:a.value[z-(n.firstSplitter?1:0)],nextPane:a.value[z+(n.firstSplitter?0:1)]},panes:a.value.map(N=>({min:N.min,max:N.max,size:N.size}))})};de(()=>n.firstSplitter,()=>he()),kt(()=>{j(),he(),_e(),ae("ready"),d.value=!0}),$t(()=>d.value=!1);const Pe=()=>{var w;return en("div",{ref:u,class:g.value},(w=o.default)==null?void 0:w.call(o))};return $e("panes",a),$e("indexedPanes",r),$e("horizontal",P(()=>n.horizontal)),$e("requestUpdate",Me),$e("onPaneAdd",Ne),$e("onPaneRemove",Ie),$e("onPaneClick",L),(w,k)=>(v(),I(Zs(Pe)))}},ze={__name:"pane",props:{size:{type:[Number,String]},minSize:{type:[Number,String],default:0},maxSize:{type:[Number,String],default:100}},setup(s){var e;const t=s,n=qe("requestUpdate"),o=qe("onPaneAdd"),a=qe("horizontal"),r=qe("onPaneRemove"),l=qe("onPaneClick"),u=(e=Xs())==null?void 0:e.uid,d=qe("indexedPanes"),m=P(()=>d.value[u]),c=K(null),g=P(()=>{const y=isNaN(t.size)||t.size===void 0?0:parseFloat(t.size);return Math.max(Math.min(y,S.value),x.value)}),x=P(()=>{const y=parseFloat(t.minSize);return isNaN(y)?0:y}),S=P(()=>{const y=parseFloat(t.maxSize);return isNaN(y)?100:y}),b=P(()=>{var y;return`${a.value?"height":"width"}: ${(y=m.value)==null?void 0:y.size}%`});return de(()=>g.value,y=>n({uid:u,size:y})),de(()=>x.value,y=>n({uid:u,min:y})),de(()=>S.value,y=>n({uid:u,max:y})),kt(()=>{o({id:u,el:c.value,min:x.value,max:S.value,givenSize:t.size===void 0?null:g.value,size:g.value})}),$t(()=>r(u)),(y,C)=>(v(),A("div",{ref_key:"paneEl",ref:c,class:"splitpanes__pane",onClick:C[0]||(C[0]=E=>i(l)(E,y._.uid)),style:Fe(b.value)},[xe(y.$slots,"default")],4))}},po={class:"w-full h-full"},fo={class:"flex flex-col w-full h-full overflow-y-auto"},ho={class:"flex flex-col flex-1 h-full p-1"},vo={class:"flex flex-col flex-1 h-full p-1 pl-0 relative"},go=X({__name:"RawQueryLayout",props:{layout:{},customLayout:{},showResultPanel:{type:Boolean}},setup(s){const e=s,t=is(),{editorLayoutSizes:n,editorLayoutInnerVariableSizes:o}=us(t),a=_=>{n.value=[_[0].size,_[1].size]},r=_=>{o.value=[_[0].size,_[1].size]},l=P(()=>n.value[0]),u=P(()=>o.value[0]),d=P(()=>o.value[1]),m=P(()=>n.value[1]),c=P(()=>e.layout===Ue.horizontalWithVariables||e.layout===Ue.vertical),g=P(()=>e.layout===Ue.horizontalWithVariables),x=P(()=>!!e.customLayout),S=P(()=>{var _;return((_=e.customLayout)==null?void 0:_.direction)==="vertical"}),b=P(()=>{var _,B;return((B=(_=e.customLayout)==null?void 0:_.innerSplit)==null?void 0:B.direction)==="vertical"}),y=_=>{var T,H,W,q,G;const B=(T=e.customLayout)==null?void 0:T.id;if(!B)return((W=(H=e.customLayout)==null?void 0:H.panels[_])==null?void 0:W.defaultSize)??50;const D=t.customLayoutSizes[B];return(D==null?void 0:D.panels[_])??((G=(q=e.customLayout)==null?void 0:q.panels[_])==null?void 0:G.defaultSize)??50},C=_=>{var T,H,W,q,G,j,te;const B=(T=e.customLayout)==null?void 0:T.id;if(!B)return((q=(W=(H=e.customLayout)==null?void 0:H.innerSplit)==null?void 0:W.panels[_])==null?void 0:q.defaultSize)??50;const D=t.customLayoutSizes[B];return(D==null?void 0:D.innerPanels[_])??((te=(j=(G=e.customLayout)==null?void 0:G.innerSplit)==null?void 0:j.panels[_])==null?void 0:te.defaultSize)??50},E=_=>{var D;const B=(D=e.customLayout)==null?void 0:D.id;B&&t.updateCustomLayoutSizes(B,_.map(T=>T.size))},$=_=>{var T,H,W;const B=(T=e.customLayout)==null?void 0:T.id;if(!B)return;const D=((H=t.customLayoutSizes[B])==null?void 0:H.panels)??((W=e.customLayout)==null?void 0:W.panels.map(q=>q.defaultSize))??[];t.updateCustomLayoutSizes(B,D,_.map(q=>q.size))},L={content:"flex flex-col w-full h-full overflow-y-auto",variables:"flex flex-col flex-1 h-full p-1",result:"flex flex-col flex-1 h-full p-1 pl-0 relative"};return(_,B)=>(v(),A("div",po,[i(x)&&_.customLayout?(v(),I(i(Je),{key:0,class:"default-theme",horizontal:i(S),onResize:B[1]||(B[1]=D=>E(D.panes))},{default:h(()=>[(v(!0),A(ee,null,ne(_.customLayout.panels,(D,T)=>(v(),A(ee,{key:T},[_.customLayout.innerSplit&&_.customLayout.innerSplit.panelIndex===T?(v(),I(i(ze),{key:0,size:y(T),"min-size":D.minSize,"max-size":D.maxSize},{default:h(()=>[p(i(Je),{horizontal:i(b),class:"default-theme",onResize:B[0]||(B[0]=H=>$(H.panes))},{default:h(()=>[(v(!0),A(ee,null,ne(_.customLayout.innerSplit.panels,(H,W)=>(v(),I(i(ze),{key:`inner-${W}`,size:C(W),"min-size":H.minSize,"max-size":H.maxSize},{default:h(()=>[f("div",{class:pe(L[H.slot])},[xe(_.$slots,H.slot)],2)]),_:2},1032,["size","min-size","max-size"]))),128))]),_:3},8,["horizontal"])]),_:2},1032,["size","min-size","max-size"])):(v(),I(i(ze),{key:1,size:y(T),"min-size":D.minSize,"max-size":D.maxSize},{default:h(()=>[f("div",{class:pe(L[D.slot])},[xe(_.$slots,D.slot)],2)]),_:2},1032,["size","min-size","max-size"]))],64))),128))]),_:3},8,["horizontal"])):(v(),I(i(Je),{key:1,onResize:B[3]||(B[3]=D=>a(D.panes)),class:"default-theme",horizontal:_.layout===i(Ue).vertical},{default:h(()=>[p(i(ze),{size:i(l)},{default:h(()=>[p(i(Je),{horizontal:i(g),onResize:B[2]||(B[2]=D=>i(c)?r(D.panes):null)},{default:h(()=>[p(i(ze),{size:i(c)?i(u):100,"min-size":"30"},{default:h(()=>[f("div",fo,[xe(_.$slots,"content")])]),_:3},8,["size"]),i(c)?(v(),I(i(ze),{key:0,size:i(d),"min-size":"0","max-size":"70"},{default:h(()=>[f("div",ho,[xe(_.$slots,"variables")])]),_:3},8,["size"])):Q("",!0)]),_:3},8,["horizontal"])]),_:3},8,["size"]),e.showResultPanel!==!1?(v(),I(i(ze),{key:0,size:i(m),"min-size":"0","max-size":"80"},{default:h(()=>[f("div",vo,[xe(_.$slots,"result")])]),_:3},8,["size"])):Q("",!0)]),_:3},8,["horizontal"]))]))}}),Nt={SELECT:"DML",INSERT:"DML",UPDATE:"DML",DELETE:"DML",MERGE:"DML",VALUES:"DML",TRUNCATE:"DML",COPY:"DML",CREATE:"DDL",ALTER:"DDL",DROP:"DDL",COMMENT:"DDL",ANALYZE:"DDL",VACUUM:"DDL",REINDEX:"DDL",CLUSTER:"DDL","REFRESH MATERIALIZED VIEW":"DDL","IMPORT FOREIGN SCHEMA":"DDL","SECURITY LABEL":"DDL",GRANT:"DCL",REVOKE:"DCL",BEGIN:"TCL",COMMIT:"TCL",ROLLBACK:"TCL",SAVEPOINT:"TCL","RELEASE SAVEPOINT":"TCL","ROLLBACK TO SAVEPOINT":"TCL","PREPARE TRANSACTION":"TCL","COMMIT PREPARED":"TCL","ROLLBACK PREPARED":"TCL","SET TRANSACTION":"TCL",SET:"SYSTEM",SHOW:"SYSTEM",RESET:"SYSTEM",DISCARD:"SYSTEM",EXPLAIN:"SYSTEM",LOAD:"SYSTEM",LOCK:"SYSTEM",MOVE:"SYSTEM",FETCH:"SYSTEM",CLOSE:"SYSTEM",DECLARE:"SYSTEM",DEALLOCATE:"SYSTEM",PREPARE:"SYSTEM",EXECUTE:"SYSTEM",LISTEN:"SYSTEM",UNLISTEN:"SYSTEM",NOTIFY:"SYSTEM",DO:"SYSTEM",ABORT:"SYSTEM",CHECKPOINT:"SYSTEM"},yo=Object.keys(Nt).sort((s,e)=>e.length-s.length),xs=s=>{const e=s.toUpperCase().trim().replace(/;$/,"");for(const t of yo)if(e===t||e.startsWith(`${t} `))return t;return e.split(/\s+/)[0]||e},xo=s=>{const e=s.toUpperCase().trim(),t=xs(e);if(["SELECT","VALUES","SHOW","EXPLAIN","TABLE"].includes(t))return!1;const o=Nt[t];return!!(["INSERT","UPDATE","DELETE","TRUNCATE","COPY","MERGE","CALL","DO"].includes(t)||o==="DDL"||o==="DCL"||["SET","RESET","GRANT","REVOKE","COMMENT","ANALYZE","VACUUM","REINDEX","CLUSTER"].includes(t)||["CREATE","DROP","ALTER"].includes(t))},bo=(s,e)=>{const t=s||"Query",n=e??0;return["INSERT","UPDATE","DELETE"].includes(t.toUpperCase())?`${t} successful. ${n} rows affected.`:`${t} successful.`};class Be{constructor(e,t){oe(this,"cmd");oe(this,"commandKey");oe(this,"rowCount");this.cmd=e.toUpperCase().trim(),this.commandKey=xs(this.cmd),this.rowCount=t}isMutation(){return xo(this.cmd)}getMessage(e){return e?bo(this.cmd,this.rowCount):""}getCategory(){return Nt[this.commandKey]??"UNKNOWN"}build(){const e=this.isMutation();return{isMutation:e,message:this.getMessage(e),category:this.getCategory()}}}class Co extends Be{isMutation(){return["VACUUM","ANALYZE","REINDEX","CLUSTER"].includes(this.commandKey)?!0:super.isMutation()}}class yt extends Be{isMutation(){return this.commandKey==="OPTIMIZE"?!0:super.isMutation()}getMessage(e){return this.commandKey==="TRUNCATE"?"TRUNCATE successful.":super.getMessage(e)}}class So extends yt{}class bs extends Be{isMutation(){return this.commandKey==="TRUNCATE"?!0:super.isMutation()}getMessage(e){return this.commandKey==="INSERT"?`INSERT successful. ${this.rowCount} row(s) affected.`:super.getMessage(e)}}class wo extends bs{}class Kt extends Be{}class _o extends Be{getMessage(e){return this.commandKey==="MERGE"?`MERGE successful. ${this.rowCount} rows affected.`:super.getMessage(e)}}class Eo extends Be{getMessage(e){return this.commandKey==="TRUNCATE"?"TRUNCATE successful.":this.commandKey==="MERGE"?`MERGE successful. ${this.rowCount} rows affected.`:super.getMessage(e)}}const To={[Z.POSTGRES]:Co,[Z.MARIADB]:yt,[Z.MYSQL]:yt,[Z.MYSQL2]:So,[Z.REDIS]:Kt,[Z.SQLITE3]:bs,[Z.SNOWFLAKE]:Kt,[Z.BETTER_SQLITE3]:wo,[Z.MSSQL]:_o,[Z.ORACLE]:Eo},Ro=(s,e=0,t=Z.POSTGRES)=>{const n=To[t];if(!n)throw new Error(`Unsupported database client type: "${t}"`);return new n(s,e).build()};function Gt(s,e){return Object.prototype.hasOwnProperty.call(s,e)}function ko(s,e){if(Array.isArray(s))return Object.fromEntries(e.map((a,r)=>[a.name,s[r]]));const t=s;if(!e.length)return{...t};const n={};let o=!1;return e.forEach((a,r)=>{if(Gt(t,a.name)){n[a.name]=t[a.name],o=!0;return}const l=String(r);Gt(t,l)&&(n[a.name]=t[l],o=!0)}),o?n:{...t}}function $o(s,e){return s.map(t=>ko(t,e))}const zo={class:"h-full flex flex-col p-2"},Ao={class:"flex items-center justify-between mb-2"},Lo={class:"flex items-center gap-2 text-xs text-muted-foreground"},Mo={key:0,class:"mb-3 p-2 bg-muted/50 rounded-md border text-xs"},No={class:"text-muted-foreground mb-1 flex items-center gap-1"},Io={class:"text-[11px] line-clamp-2"},Oo={key:1,class:"mb-3 p-3 bg-red-50 border border-red-200 rounded-md text-sm text-red-600"},Po={class:"flex items-center gap-2"},Do={key:2,class:"flex-1 flex items-center justify-center text-muted-foreground"},Vo={class:"text-center"},qo={class:"text-sm mb-1"},Fo={class:"flex flex-wrap justify-center gap-2"},Bo={key:0,class:"whitespace-pre-wrap"},jo={key:1,class:"prose prose-sm dark:prose-invert max-w-none prose-pre:bg-muted prose-pre:text-foreground"},Uo={key:0,class:"whitespace-pre-wrap"},Ho={key:1,class:"flex gap-3"},Qo={class:"bg-muted rounded-lg p-3 text-sm"},Wo={class:"flex items-center gap-2"},Ko={key:4,class:"flex flex-col gap-2"},Go=X({__name:"ResultTabAgentView",props:{activeTab:{}},setup(s){const e=s,t=P(()=>e.activeTab.metadata.statementQuery),{selectedProvider:n,selectedModel:o,isLoading:a,error:r,messages:l,hasApiKey:u,currentProvider:d,sendMessage:m,clearChat:c}=ia({body:()=>({sqlContext:t.value})}),{openSettings:g}=sn(),x=K(""),S=K(null),b=async E=>{if(E.preventDefault(),!x.value.trim()||a.value)return;const $=x.value;x.value="",await m($),await Ce(),y()},y=()=>{S.value&&(S.value.scrollTop=S.value.scrollHeight)};de(()=>l.value.length,()=>{Ce(()=>y())}),de(()=>{const E=l.value[l.value.length-1];return E!=null&&E.parts?E.parts.filter($=>$.type==="text").map($=>$.text).join(""):""},()=>{Ce(()=>y())});const C=async E=>{await m(E),await Ce(),y()};return(E,$)=>{var T,H,W;const L=fe,_=Se,B=Ke,D=la;return v(),A("div",zo,[f("div",Ao,[f("div",Lo,[p(L,{name:"hugeicons:chat-bot",class:"size-4"}),$[8]||($[8]=f("span",null,"SQL Assistant",-1)),f("div",null,[p(i(ce),null,{default:h(()=>[p(i(ie),{"as-child":""},{default:h(()=>[f("div",null,[p(tn,{provider:i(n),"onUpdate:provider":$[0]||($[0]=q=>Ae(n)?n.value=q:null),model:i(o),"onUpdate:model":$[1]||($[1]=q=>Ae(o)?o.value=q:null),class:"min-w-[160px] h-6!"},null,8,["provider","model"])])]),_:1}),p(i(ue),null,{default:h(()=>$[7]||($[7]=[f("p",null,"Select AI Model",-1)])),_:1})]),_:1})])]),p(i(ce),null,{default:h(()=>[p(i(ie),{"as-child":""},{default:h(()=>[p(_,{variant:"ghost",size:"xs",onClick:i(c),disabled:i(l).length===0},{default:h(()=>[p(L,{name:"lucide:trash-2",class:"size-3.5"})]),_:1},8,["onClick","disabled"])]),_:1}),p(i(ue),null,{default:h(()=>$[9]||($[9]=[f("p",null,"Clear chat history",-1)])),_:1})]),_:1})]),i(t)?(v(),A("div",Mo,[f("div",No,[p(L,{name:"hugeicons:sql",class:"size-3"}),$[10]||($[10]=O(" Current Query Context: "))]),f("code",Io,V(i(t)),1)])):Q("",!0),i(r)?(v(),A("div",Oo,[f("div",Po,[p(L,{name:"lucide:alert-circle",class:"size-4"}),O(" "+V(i(r)),1)])])):Q("",!0),i(u)?(v(),A("div",{key:3,ref_key:"messagesContainer",ref:S,class:"flex-1 overflow-y-auto space-y-4 mb-4"},[i(l).length===0?(v(),I(B,{key:0,title:"Agent Chat",desc:"Ask me anything about your SQL query"},{default:h(()=>[f("div",Fo,[p(_,{variant:"outline",size:"xs",onClick:$[3]||($[3]=q=>C("Explain this query"))},{default:h(()=>$[14]||($[14]=[O(" Explain this query ")])),_:1}),p(_,{variant:"outline",size:"xs",onClick:$[4]||($[4]=q=>C("How can I optimize this query?"))},{default:h(()=>$[15]||($[15]=[O(" Optimize query ")])),_:1}),p(_,{variant:"outline",size:"xs",onClick:$[5]||($[5]=q=>C("What are potential issues with this query?"))},{default:h(()=>$[16]||($[16]=[O(" Find issues ")])),_:1})])]),_:1})):Q("",!0),(v(!0),A(ee,null,ne(i(l),q=>(v(),A("div",{key:q.id,class:pe(["flex gap-3",q.role==="user"?"justify-end":"justify-start"])},[f("div",{class:pe(["max-w-[80%] rounded-lg p-3 text-sm",q.role==="user"?"bg-primary text-primary-foreground":"bg-muted"])},[q.role==="user"?(v(!0),A(ee,{key:0},ne(q.parts,(G,j)=>(v(),A(ee,{key:j},[G.type==="text"?(v(),A("span",Bo,V(G.text),1)):Q("",!0)],64))),128)):(v(),A("div",jo,[(v(!0),A(ee,null,ne(q.parts,(G,j)=>(v(),A(ee,{key:j},[G.type==="text"?(v(),A("span",Uo,V(G.text),1)):Q("",!0)],64))),128))]))],2)],2))),128)),i(a)&&(!((T=i(l)[i(l).length-1])!=null&&T.parts)||((W=(H=i(l)[i(l).length-1])==null?void 0:H.parts)==null?void 0:W.length)===0)?(v(),A("div",Ho,[f("div",Qo,[f("div",Wo,[p(L,{name:"hugeicons:loading-03",class:"size-4 animate-spin"}),$[17]||($[17]=f("span",{class:"text-muted-foreground"},"Thinking...",-1))])])])):Q("",!0)],512)):(v(),A("div",Do,[f("div",Vo,[p(L,{name:"lucide:key",class:"size-12 mb-3 opacity-50 mx-auto"}),f("p",qo," No API key configured for "+V(i(d).name),1),$[13]||($[13]=f("p",{class:"text-xs text-muted-foreground mb-3"}," Configure your API keys in Settings → Agent ",-1)),p(i(ce),null,{default:h(()=>[p(i(ie),{"as-child":""},{default:h(()=>[p(_,{variant:"outline",size:"sm",class:"text-xs",onClick:$[2]||($[2]=q=>i(g)("Agent"))},{default:h(()=>[p(L,{name:"lucide:settings",class:"size-4 mr-1"}),$[11]||($[11]=O(" Open Settings "))]),_:1})]),_:1}),p(i(ue),null,{default:h(()=>$[12]||($[12]=[f("p",null,"Open functionality settings",-1)])),_:1})]),_:1})])])),i(u)?(v(),A("div",Ko,[f("form",{onSubmit:b,class:"flex gap-2 relative"},[p(D,{modelValue:i(x),"onUpdate:modelValue":$[6]||($[6]=q=>Ae(x)?x.value=q:null),placeholder:"Ask about your SQL query...",disabled:i(a),class:"min-h-4!"},null,8,["modelValue","disabled"]),p(i(ce),null,{default:h(()=>[p(i(ie),{"as-child":""},{default:h(()=>[p(_,{type:"submit",size:"iconSm",class:"absolute right-2 top-1/2 -translate-y-1/2 rounded-full",disabled:!i(x).trim()||i(a)},{default:h(()=>[p(L,{name:i(a)?"hugeicons:loading-03":"lucide:arrow-up",class:pe(["size-4",i(a)?"animate-spin":""])},null,8,["name","class"])]),_:1},8,["disabled"])]),_:1}),p(i(ue),null,{default:h(()=>$[18]||($[18]=[f("p",null,"Send message",-1)])),_:1})]),_:1})],32)])):Q("",!0)])}}}),Yo={class:"h-full p-2 overflow-y-auto"},Jo={key:0,class:"space-y-2"},Zo={class:"flex items-center justify-between gap-2"},Xo={class:"flex items-center gap-1"},er={class:"text-sm pl-5 text-muted-foreground decoration-wavy underline decoration-red-600"},tr={key:0,class:"pl-5 mt-1 text-sm text-amber-600/90 font-medium"},sr={class:"pt-2 border-t"},nr={class:"error-query-container"},ar={key:0,class:"pt-2 border-t"},or=X({__name:"ResultTabErrorView",props:{activeTab:{}},emits:["onChangeView"],setup(s,{emit:e}){const t=s,n=e,o=x=>!!x.metadata.executeErrors,a=P(()=>{var S,b;const x=(S=t.activeTab.metadata.executeErrors)==null?void 0:S.data;return((b=x==null?void 0:x.normalizeError)==null?void 0:b.position)||null}),r=P(()=>{var b;const x=t.activeTab.metadata.executeErrors,S=x==null?void 0:x.data;return((b=S==null?void 0:S.normalizeError)==null?void 0:b.message)||(x==null?void 0:x.message)||""}),l=P(()=>{var S,b;const x=(S=t.activeTab.metadata.executeErrors)==null?void 0:S.data;return((b=x==null?void 0:x.normalizeError)==null?void 0:b.hint)||null}),u=P(()=>{const x=t.activeTab.metadata.statementQuery;if(!x)return[];const S=a.value,b=[];if(S&&S>0){const y=S-1;let C=y;for(;C<x.length&&x[C]!==`
9
+ `&&x[C]!=="\r"&&x[C]!==" "&&x[C]!==" ";)C++;C<=y&&(C=Math.min(y+1,x.length)),b.push({start:y,end:C,properties:{class:"error-highlight"}})}return b}),d=async()=>{if(typeof window>"u")return;await Ce();const x=document.querySelector(".error-query-container .error-highlight");x&&x.scrollIntoView({behavior:"smooth",block:"center",inline:"nearest"})};de(()=>u.value,()=>{d()},{flush:"post"});const m=P(()=>{var S;const x={...((S=t.activeTab.metadata.executeErrors)==null?void 0:S.data)||{}};return x==null||delete x.normalizeError,x?typeof x=="string"?x:JSON.stringify(x,null,2):""}),c=P(()=>t.activeTab.metadata.statementQuery||""),g=()=>{n("onChangeView","agent")};return(x,S)=>{var C;const b=fe,y=Lt;return v(),A("div",Yo,[o(x.activeTab)?(v(),A("div",Jo,[f("div",Zo,[f("div",null,[f("div",Xo,[p(b,{name:"hugeicons:alert-02",class:"size-4 text-red-500 mt-0.5"}),S[0]||(S[0]=f("div",{class:"font-medium text-red-600"},"Error Message",-1))]),f("span",er,V(r.value),1),l.value?(v(),A("div",tr," Hint: "+V(l.value),1)):Q("",!0)]),p(i(Se),{onClick:g,size:"xs",variant:"outline"},{default:h(()=>[p(b,{name:"hugeicons:ai-brain-04",class:"size-4"}),S[1]||(S[1]=O(" Ask AI to fix this error "))]),_:1})]),f("div",sr,[S[2]||(S[2]=f("div",{class:"mb-2"},[f("span",{class:"font-normal text-sm text-muted-foreground flex items-center gap-1"}," View executed query : ")],-1)),f("div",nr,[p(y,{code:c.value,decorations:u.value,"show-copy-button":""},null,8,["code","decorations"])])]),(C=x.activeTab.metadata.executeErrors)!=null&&C.data?(v(),A("div",ar,[S[3]||(S[3]=f("div",{class:"flex items-center justify-between mb-2"},[f("div",{class:"text-sm text-muted-foreground"},"Error Details:")],-1)),p(y,{code:m.value,language:"json"},null,8,["code"])])):Q("",!0)])):Q("",!0)])}}}),rr=St(or,[["__scopeId","data-v-d4daf140"]]),lr={class:"h-full p-4 space-y-3 overflow-y-auto"},ir={class:"space-y-2"},ur={class:"flex items-center gap-2 text-sm"},cr={class:"font-medium"},dr={class:"flex items-center gap-2 text-sm"},mr={class:"font-medium"},pr={class:"flex items-center gap-2 text-sm"},fr={class:"font-medium"},hr={class:"flex items-center gap-2 text-sm"},vr={class:"font-medium"},gr={class:"flex items-center gap-2 text-sm"},yr={class:"font-medium"},xr={key:0,class:"flex items-center gap-2 text-sm"},br={class:"font-medium"},Cr={class:"pt-3 border-t"},Sr={key:0,class:"pt-3 border-t"},wr={class:"flex flex-wrap gap-1"},_r=X({__name:"ResultTabInfoView",props:{activeTab:{}},setup(s){const e=s,t=typeof TextEncoder<"u"?new TextEncoder:null,n=P(()=>{var a;const o=((a=e.activeTab)==null?void 0:a.result)??[];if(!t)return{bytes:0,formatted:"N/A"};try{const r=JSON.stringify(o),l=r?t.encode(r).length:0;return{bytes:l,formatted:nn(l)}}catch{return{bytes:0,formatted:"N/A"}}});return(o,a)=>{var u,d,m,c;const r=fe,l=Lt;return v(),A("div",lr,[f("div",ir,[f("div",ur,[p(r,{name:"hugeicons:clock-01",class:"size-4 text-muted-foreground"}),a[0]||(a[0]=f("span",{class:"text-muted-foreground"},"Query Time:",-1)),f("span",cr,V(i(We)(o.activeTab.metadata.queryTime)),1)]),f("div",dr,[p(r,{name:"hugeicons:summation-01",class:"size-4 text-muted-foreground"}),a[1]||(a[1]=f("span",{class:"text-muted-foreground"},"Rows:",-1)),f("span",mr,V(i(gt)(((u=o.activeTab.result)==null?void 0:u.length)||0)),1)]),f("div",pr,[p(r,{name:"hugeicons:file-02",class:"size-4 text-muted-foreground"}),a[2]||(a[2]=f("span",{class:"text-muted-foreground"},"Result Size:",-1)),f("span",fr,V(n.value.formatted),1)]),f("div",hr,[p(r,{name:"hugeicons:chart-column",class:"size-4 text-muted-foreground"}),a[3]||(a[3]=f("span",{class:"text-muted-foreground"},"Columns:",-1)),f("span",vr,V(((d=o.activeTab.metadata.fieldDefs)==null?void 0:d.length)||0),1)]),f("div",gr,[p(r,{name:"hugeicons:calendar-03",class:"size-4 text-muted-foreground"}),a[4]||(a[4]=f("span",{class:"text-muted-foreground"},"Executed At:",-1)),f("span",yr,V(((m=o.activeTab.metadata.executedAt)==null?void 0:m.toLocaleString())||"N/A"),1)]),o.activeTab.metadata.connection?(v(),A("div",xr,[p(r,{name:"hugeicons:plug-socket",class:"size-4 text-muted-foreground"}),a[5]||(a[5]=f("span",{class:"text-muted-foreground"},"Connection:",-1)),f("span",br,V(o.activeTab.metadata.connection.name||"Unknown"),1)])):Q("",!0)]),f("div",Cr,[a[6]||(a[6]=f("div",{class:"text-sm text-muted-foreground mb-2"},"Query:",-1)),p(l,{code:o.activeTab.metadata.statementQuery||""},null,8,["code"])]),(c=o.activeTab.metadata.fieldDefs)!=null&&c.length?(v(),A("div",Sr,[a[7]||(a[7]=f("div",{class:"text-sm text-muted-foreground mb-2"},"Fields:",-1)),f("div",wr,[(v(!0),A(ee,null,ne(o.activeTab.metadata.fieldDefs,g=>(v(),A("span",{key:g.name,class:"text-xs bg-muted px-2 py-1 rounded"},V(g.name),1))),128))])])):Q("",!0)])}}}),Er={class:"h-full flex flex-col flex-1 overflow-hidden"},Tr=X({__name:"ResultTabRawView",props:{formattedData:{},executeLoading:{type:Boolean},isStreaming:{type:Boolean}},setup(s){const e=s;return(t,n)=>{const o=Ke;return v(),A("div",Er,[e.formattedData.length===0&&!t.executeLoading&&!t.isStreaming?(v(),I(o,{key:0,title:"No Raw Data",desc:"The query returned no records to display as JSON."})):(v(),I(i(ua),{key:1,modelValue:e.formattedData,mode:"text",readOnly:!0,navigationBar:!1,class:"h-full"},null,8,["modelValue"]))])}}}),Rr=X({__name:"RawQueryContextMenu",props:{cellContextMenu:{},cellHeaderContextMenu:{},data:{},selectedRows:{},tableName:{},schemaName:{}},emits:["onClearContextMenu"],setup(s,{emit:e}){const t=s,n=e,o=P(()=>{var b,y,C,E;return((y=(b=t.cellContextMenu)==null?void 0:b.column)==null?void 0:y.getColId())??((E=(C=t.cellHeaderContextMenu)==null?void 0:C.column)==null?void 0:E.getColId())}),a=P(()=>{var b,y,C;return((b=t.cellContextMenu)==null?void 0:b.column.getColDef().headerName)??((C=(y=t.cellHeaderContextMenu)==null?void 0:y.column)==null?void 0:C.getColDef().headerName)??""}),r=b=>{Ut(t.selectedRows||[],a.value??"",b)},l=b=>{Ut(t.data||[],a.value??"",b)},u=b=>pt(t.selectedRows||[],t.tableName||"table_data",b,t.schemaName),d=b=>pt(t.data||[],t.tableName||"table_data",b,t.schemaName),m=b=>Ht(t.selectedRows||[],t.tableName||"table_data",b,"selected",t.schemaName),c=b=>Ht(t.data||[],t.tableName||"table_data",b,"all",t.schemaName),g=()=>{var y;const b=(y=t.cellContextMenu)==null?void 0:y.value;if(b!==void 0){if(typeof b=="object")return Qt(JSON.stringify(b));Qt(String(b))}},x=()=>{var b;if(t.cellContextMenu){const y=(b=t.cellContextMenu)==null?void 0:b.data;pt([y],t.tableName||"table_data","csv-no-header",t.schemaName)}},S=P(()=>{var D;const b=!!t.cellContextMenu,y=t.selectedRows.length>0,C=t.selectedRows.length,E=((D=t.data)==null?void 0:D.length)||0,$=!!o.value,L=[{type:U.LABEL,title:`${C} selected`,condition:y&&b},{type:U.ACTION,title:"Copy as text",icon:"hugeicons:file-01",select:()=>r("list"),condition:y&&b},{type:U.ACTION,title:"Copy as JSON",icon:"hugeicons:code",select:()=>r("json"),condition:y&&b},{type:U.SEPARATOR,condition:y&&b},{type:U.LABEL,title:"All data in column"},{type:U.ACTION,title:"Copy as text",icon:"hugeicons:file-01",select:()=>l("list")},{type:U.ACTION,title:"Copy as JSON",icon:"hugeicons:code",select:()=>l("json")}],_=[{type:U.LABEL,title:`${C} selected row(s)`,condition:y},{type:U.ACTION,title:"Copy as CSV/TSV",icon:"hugeicons:csv-02",select:()=>u("csv-no-header"),condition:y},{type:U.ACTION,title:"Copy as JSON",icon:"hugeicons:code",select:()=>u("json"),condition:y},{type:U.ACTION,title:"Copy as SQL",icon:"hugeicons:database",select:()=>u("sql"),condition:y},{type:U.SEPARATOR,condition:y},{type:U.LABEL,title:"All rows"},{type:U.ACTION,title:"Copy as CSV/TSV",icon:"hugeicons:csv-02",select:()=>d("csv-no-header")},{type:U.ACTION,title:"Copy as JSON",icon:"hugeicons:code",select:()=>d("json")},{type:U.ACTION,title:"Copy as SQL",icon:"hugeicons:database",select:()=>d("sql")}],B=[{type:U.LABEL,title:`${C} selected row${C>1?"s":""}`,condition:y},{type:U.ACTION,title:"Export as CSV",icon:"hugeicons:csv-01",select:()=>m("csv-no-header"),condition:y},{type:U.ACTION,title:"Export as CSV (have headers)",icon:"hugeicons:csv-01",select:()=>m("csv-with-header"),condition:y},{type:U.ACTION,title:"Export as JSON",icon:"hugeicons:code",select:()=>m("json"),condition:y},{type:U.ACTION,title:"Export as SQL",icon:"hugeicons:database",select:()=>m("sql"),condition:y},{type:U.SEPARATOR,condition:y},{type:U.LABEL,title:`All ${E.toLocaleString()} row${E!==1?"s":""}`},{type:U.ACTION,title:"Export as CSV",icon:"hugeicons:csv-01",select:()=>c("csv-no-header")},{type:U.ACTION,title:"Export as CSV (have headers)",icon:"hugeicons:csv-01",select:()=>c("csv-with-header")},{type:U.ACTION,title:"Export as JSON",icon:"hugeicons:code",select:()=>c("json")},{type:U.ACTION,title:"Export as SQL",icon:"hugeicons:database",select:()=>c("sql")}];return[{type:U.ACTION,title:"Copy current cell",icon:"hugeicons:copy-02",select:g,condition:b},{type:U.ACTION,title:"Copy current row",icon:"hugeicons:copy-02",select:x,condition:y&&b},{type:U.SEPARATOR,condition:b},{type:U.SUBMENU,title:"Copy column",icon:"hugeicons:layout-3-column",items:L,condition:$,desc:a.value||"Select a column"},{type:U.SUBMENU,title:"Copy row(s)",icon:"hugeicons:layout-3-row",items:_},{type:U.SEPARATOR},{type:U.SUBMENU,title:"Export",icon:"hugeicons:file-download",items:B}]});return(b,y)=>(v(),I(i(Yn),{contextMenuItems:i(S),onOnClearContextMenu:y[0]||(y[0]=C=>n("onClearContextMenu"))},{default:h(()=>[xe(b.$slots,"default")]),_:3},8,["contextMenuItems"]))}}),kr={class:"h-full w-full"},$r=X({__name:"ResultTabResultView",props:{activeTab:{},activeTabColumns:{},formattedData:{},executeLoading:{type:Boolean},isStreaming:{type:Boolean}},setup(s){const e=s,t=K(),n=K([]),o=d=>{n.value=d},a=P(()=>n.value||[]),r=P(()=>{var d;return Ro(e.activeTab.metadata.command||"",e.activeTab.metadata.rowCount||0,(d=e.activeTab.metadata.connection)==null?void 0:d.type)}),l=P(()=>r.value.isMutation),u=P(()=>r.value.message);return(d,m)=>{var x,S;const c=Ke,g=gs;return v(),A("div",kr,[d.activeTab.result.length===0&&i(l)&&!d.executeLoading&&!d.isStreaming?(v(),I(c,{key:0,desc:i(u),hiddenIcon:"",class:"h-full"},null,8,["desc"])):d.activeTab.result.length===0&&!d.executeLoading&&!d.isStreaming?(v(),I(c,{key:1,title:"No Results",desc:"The query returned no records.",class:"h-full"})):(v(),I(Rr,{key:2,data:d.formattedData||[],selectedRows:i(a)||[],cellContextMenu:(x=i(t))==null?void 0:x.cellContextMenu,cellHeaderContextMenu:(S=i(t))==null?void 0:S.cellHeaderContextMenu,onOnClearContextMenu:m[0]||(m[0]=b=>{var y;return(y=i(t))==null?void 0:y.clearCellContextMenu()})},{default:h(()=>[p(g,{ref_key:"rawQueryTableRef",ref:t,columns:d.activeTabColumns,data:d.formattedData||[],selectedRows:i(n),onOnSelectedRows:o,class:"h-full","skip-re-column-size":"",columnKeyBy:"field"},null,8,["columns","data","selectedRows"])]),_:1},8,["data","selectedRows","cellContextMenu","cellHeaderContextMenu"]))])}}});var st=(s=>(s.GRID="grid",s.TIMELINE="time-line",s.RAW="raw",s))(st||{});const zr=[{value:"time-line",label:"Timeline",icon:"hugeicons:chart-line-data-01"},{value:"grid",label:"Grid",icon:"hugeicons:grid-table"},{value:"raw",label:"Raw",icon:"hugeicons:3rd-bracket"}],Ar={class:"flex items-center justify-between px-3 py-2 border-b shrink-0"},Lr={class:"flex items-center gap-3 min-w-0"},Mr={class:"flex items-center gap-2 flex-wrap"},Nr={class:"flex flex-col gap-1 max-w-[250px] sm:max-w-xs"},Ir={class:"text-[11px] text-muted-foreground list-disc pl-3 break-words whitespace-normal"},Or={class:"flex flex-col gap-1 max-w-[250px] sm:max-w-xs"},Pr={class:"text-[11px] text-muted-foreground list-disc pl-3 break-words whitespace-normal"},Dr={class:"flex flex-col gap-1 max-w-[250px] sm:max-w-xs"},Vr={class:"text-[11px] text-muted-foreground list-disc pl-3 break-words whitespace-normal"},qr={class:"flex items-center gap-2 shrink-0"},Fr=X({__name:"ExplainPlanHeader",props:Pt({summaryStats:{},isExpanded:{type:Boolean}},{modelValue:{required:!0},modelModifiers:{}}),emits:Pt(["toggle-expand"],["update:modelValue"]),setup(s,{emit:e}){const t=e,n=an(s,"modelValue");return(o,a)=>{const r=fe,l=on,u=ie,d=ue,m=ce,c=un,g=ln,x=rn,S=Se;return v(),A("div",Ar,[f("div",Lr,[p(r,{name:"hugeicons:analytics-up",class:"size-4 text-muted-foreground"}),a[6]||(a[6]=f("span",{class:"text-sm font-medium"},"Execution Plan",-1)),f("div",Mr,[o.summaryStats.executionTime!==void 0?(v(),I(l,{key:0,variant:"outline",class:"text-[11px] h-5 gap-1"},{default:h(()=>[p(r,{name:"hugeicons:clock-01",class:"size-3"}),O(" "+V(i(We)(o.summaryStats.executionTime)),1)]),_:1})):Q("",!0),o.summaryStats.planningTime!==void 0?(v(),I(l,{key:1,variant:"outline",class:"text-[11px] h-5 gap-1"},{default:h(()=>[O(" Planning: "+V(i(We)(o.summaryStats.planningTime)),1)]),_:1})):Q("",!0),o.summaryStats.nodeCount>0?(v(),I(m,{key:2},{default:h(()=>{var b;return[p(u,{"as-child":""},{default:h(()=>[p(l,{variant:"outline",class:"text-[11px] h-5 gap-1 cursor-help"},{default:h(()=>[O(V(o.summaryStats.nodeCount)+" nodes ",1)]),_:1})]),_:1}),(b=o.summaryStats.allNodes)!=null&&b.length?(v(),I(d,{key:0},{default:h(()=>[f("div",Nr,[a[2]||(a[2]=f("span",{class:"font-medium text-xs"},"Nodes:",-1)),f("ul",Ir,[(v(!0),A(ee,null,ne(o.summaryStats.allNodes,y=>(v(),A("li",{key:y.id},V(y.label),1))),128))])])]),_:1})):Q("",!0)]}),_:1})):(v(),I(l,{key:3,variant:"outline",class:"text-[11px] h-5 gap-1"},{default:h(()=>a[3]||(a[3]=[O(" 0 nodes ")])),_:1})),o.summaryStats.expensiveCount>0?(v(),I(m,{key:4},{default:h(()=>{var b;return[p(u,{"as-child":""},{default:h(()=>[p(l,{variant:"outline",class:"text-[11px] h-5 gap-1 border-amber-300 text-amber-700 dark:text-amber-400 cursor-help"},{default:h(()=>[O(V(o.summaryStats.expensiveCount)+" expensive ",1)]),_:1})]),_:1}),(b=o.summaryStats.expensiveNodes)!=null&&b.length?(v(),I(d,{key:0},{default:h(()=>[f("div",Or,[a[4]||(a[4]=f("span",{class:"font-medium text-xs"},"Expensive Nodes:",-1)),f("ul",Pr,[(v(!0),A(ee,null,ne(o.summaryStats.expensiveNodes,y=>(v(),A("li",{key:y.id},V(y.label),1))),128))])])]),_:1})):Q("",!0)]}),_:1})):Q("",!0),o.summaryStats.slowCount>0?(v(),I(m,{key:5},{default:h(()=>{var b;return[p(u,{"as-child":""},{default:h(()=>[p(l,{variant:"outline",class:"text-[11px] h-5 gap-1 border-red-300 text-red-700 dark:text-red-400 cursor-help"},{default:h(()=>[O(V(o.summaryStats.slowCount)+" slowest ",1)]),_:1})]),_:1}),(b=o.summaryStats.slowNodes)!=null&&b.length?(v(),I(d,{key:0},{default:h(()=>[f("div",Dr,[a[5]||(a[5]=f("span",{class:"font-medium text-xs"},"Slowest Node(s):",-1)),f("ul",Vr,[(v(!0),A(ee,null,ne(o.summaryStats.slowNodes,y=>(v(),A("li",{key:y.id},V(y.label),1))),128))])])]),_:1})):Q("",!0)]}),_:1})):Q("",!0)])]),f("div",qr,[p(x,{modelValue:n.value,"onUpdate:modelValue":a[0]||(a[0]=b=>n.value=b),class:"gap-0"},{default:h(()=>[p(g,{class:"h-6"},{default:h(()=>[(v(!0),A(ee,null,ne(i(zr),b=>(v(),I(c,{key:b.value,value:b.value,class:"text-xs px-1 rounded-sm cursor-pointer"},{default:h(()=>[p(r,{name:b.icon,class:"size-3.5!"},null,8,["name"]),O(" "+V(b.label),1)]),_:2},1032,["value"]))),128))]),_:1})]),_:1},8,["modelValue"]),p(S,{variant:"outline",size:"iconSm",onClick:a[1]||(a[1]=b=>t("toggle-expand"))},{default:h(()=>[p(r,{name:o.isExpanded?"hugeicons:arrow-shrink":"hugeicons:arrow-expand",class:"size-3.5"},null,8,["name"])]),_:1})])])}}}),Br={class:"flex items-center text-xs h-full w-full overflow-hidden whitespace-nowrap"},jr={key:0,class:"text-muted-foreground shrink-0 whitespace-pre",style:{"font-family":"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace !important"}},Ur={key:1,class:"font-normal shrink-0"},Hr={key:2,class:"text-xxs pl-0.5 text-muted-foreground truncate shrink min-w-0"},Qr=X({__name:"ExplainOperationCell",props:{params:{}},setup(s){const e=s,t=P(()=>{var n;return((n=e.params)==null?void 0:n.data)??{}});return(n,o)=>(v(),A("div",Br,[i(t).treePrefix?(v(),A("span",jr,V(i(t).treePrefix),1)):Q("",!0),i(t).nodeType?(v(),A("span",Ur,V(i(t).nodeType),1)):Q("",!0),i(t).contextLabel?(v(),A("span",Hr,V(i(t).contextLabel),1)):Q("",!0)]))}}),Yt={"Seq Scan":"scan","Index Scan":"scan","Index Only Scan":"scan","Bitmap Index Scan":"scan","Bitmap Heap Scan":"scan","CTE Scan":"scan","Function Scan":"scan","Values Scan":"scan","Subquery Scan":"scan",Aggregate:"agg",HashAggregate:"agg",GroupAggregate:"agg",Sort:"sort","Incremental Sort":"sort",Hash:"hash","Hash Join":"join","Merge Join":"join","Nested Loop":"join"},le=s=>s?String(s).replace(/^[\[]|[\]]$/g,"").replace(/"/g,"").trim():"",Wr=s=>s==="Seq Scan"?"bad":Yt[s]?Yt[s]:s.includes("Join")?"join":s.includes("Scan")?"scan":s.includes("Aggregate")?"agg":s.includes("Sort")?"sort":"other",Jt=(s,e,t)=>{for(let n=e+1;n<s.length;n++){const o=s[n].depth??0;if(o<t)return!1;if(o===t)return!0}return!1},Kr=(s,e)=>{const n=s[e].depth??0;if(n===0)return"";const o=[];for(let r=1;r<n;r++)o.push(Jt(s,e,r)?"│ ":" ");const a=!Jt(s,e,n);return o.push(a?"└─ ":"├─ "),o.join("")},Gr=s=>{const e=le(s.hashCond),t=le(s.mergeCond),n=le(s.joinFilter),o=le(s.joinType).toLowerCase();if(o||e||t||n){const b=e||t||n,y=o?`${o} `:"";return{label:b?`${y}on ${b}`.trim():`${y}join`.trim(),kind:"join"}}const a=le(s.indexCond),r=le(s.recheckCond),l=le(s.tidCond);if(a)return{label:`on ${a}`,kind:"relation"};if(r)return{label:`recheck: ${r}`,kind:"relation"};if(l)return{label:`tid: ${l}`,kind:"relation"};const u=le(s.sortKey);if(u)return{label:`by ${u}`,kind:"sort"};const d=le(s.groupKey),m=le(s.hashKey);if(d||m)return{label:`by ${d||m}`,kind:"group"};const c=le(s.oneTimeFilter);if(c)return{label:`one-time: ${c}`,kind:"relation"};const g=le(s.filter);if(g)return{label:`filter: ${g}`,kind:"relation"};const x=le(s.cteName);if(x)return{label:`cte: ${x}`,kind:"relation"};const S=le(s.subplanName);if(S)return{label:`subplan: ${S}`,kind:"relation"};if(s.relation){const b=s.alias&&s.alias!==s.relation?` (${s.alias})`:"";return{label:`on ${s.relation}${b}`,kind:"relation"}}return{label:"",kind:""}},Yr=s=>[...s].map(e=>{var d,m;const t=e["Plan Rows"]||0,n=e["Actual Rows"]||0,o=e.estimateRatio,a=e["Actual Startup Time"]||0,r=e["Plan Width"]||0,l=e.rowEstimateAccuracy||"accurate",u=[`Node: ${e["Node Type"]}`,e["Relation Name"]?`Relation: ${e["Relation Name"]}`:"",`Depth: ${e.depth}`,`Startup time: ${a.toFixed(3)} ms`,`Total time: ${(e["Actual Total Time"]||0).toFixed(3)} ms`,`Actual rows: ${n.toLocaleString()}`,`Plan rows: ${t.toLocaleString()}`,o!==void 0?`Estimate ratio: ${o}x (${l})`:"Estimate ratio: -",`Total cost: ${(e["Total Cost"]||0).toFixed(2)}`,`Plan width: ${r}`,`Loops: ${(e["Actual Loops"]||0).toLocaleString()}`,`Slowest: ${e.isSlowest?"yes":"no"}`,`Expensive: ${e.isExpensive?"yes":"no"}`].filter(Boolean).join(`
10
+ `);return{id:e.id,order:e.index,nodeType:e["Node Type"],relation:e["Relation Name"],alias:e.Alias,sortKey:((d=e["Sort Key"])==null?void 0:d.join(", "))??"",joinType:e["Join Type"]??"",groupKey:((m=e["Group Key"])==null?void 0:m.join(", "))??"",hashKey:"",filter:e.Filter??"",joinFilter:"",oneTimeFilter:"",indexCond:"",hashCond:e["Hash Cond"]??"",mergeCond:e["Merge Cond"]??"",recheckCond:"",tidCond:"",cteName:"",subplanName:"",timeMs:e["Actual Total Time"]||0,rows:n,planRows:t,estimateRatio:o,cost:e["Total Cost"]||0,width:r,loops:e["Actual Loops"]||0,depth:e.depth,indentPx:e.depth*16,hitReadRatio:e.hitReadRatio,isSlowest:e.isSlowest,isExpensive:e.isExpensive,tooltipLines:u}}),Jr=s=>{const e=s.reduce((t,n)=>t+(n.timeMs||0),0)||1;return s.map((t,n)=>{const o=Kr(s,n),{label:a,kind:r}=Gr(t),l=t.isSlowest?"slowest":t.isExpensive?"expensive":"normal";return{order:t.order,timeMs:t.timeMs,rows:t.rows,planRows:t.planRows,estimateRatioValue:t.estimateRatio,cost:t.cost,width:t.width,loops:t.loops,hitReadRatio:t.hitReadRatio,isSlowest:t.isSlowest,isExpensive:t.isExpensive,orderLabel:`${t.order}`,queryPercentLabel:`${(t.timeMs/e*100).toFixed(2)}%`,timeSpentLabel:`${t.timeMs.toFixed(3)} ms`,rowsLabel:t.rows.toLocaleString(),planRowsLabel:t.planRows.toLocaleString(),estimateLabel:t.estimateRatio!==void 0?`${t.estimateRatio}×`:"-",costLabel:t.cost.toFixed(2),widthLabel:t.width,loopsLabel:t.loops.toLocaleString(),hitReadRatioLabel:t.hitReadRatio!==void 0?`${(t.hitReadRatio*100).toFixed(2)}%`:"-",statusLabel:l,treePrefix:o,nodeType:t.nodeType,nodeTypeCategory:Wr(t.nodeType),contextLabel:a,contextKind:r}})},Zr={class:"h-full p-2"},Xr=X({__name:"ExplainGridPane",props:{nodes:{}},setup(s){const e=s,t=P(()=>Yr(e.nodes)),n=P(()=>Jr(t.value)),o=P(()=>[{headerName:"#",field:"orderLabel",width:30,sortable:!0,resizable:!0,filter:!1,cellClass:"cellCenter"},{headerName:"Operation",field:"operationLabel",width:350,sortable:!1,resizable:!0,filter:!0,cellRenderer:"ExplainOperationCell",cellClass:"operation-cell",valueGetter:r=>`${r.data.treePrefix}${r.data.nodeType} ${r.data.contextLabel}`},{headerName:"Status",field:"statusLabel",width:96,sortable:!0,resizable:!0,filter:!0,cellClass:r=>{const l=r.value;return l==="slowest"?"cellCenter bg-red-300! dark:bg-red-900":l==="expensive"?"cellCenter bg-orange-100! dark:bg-orange-900":"cellCenter"}},{headerName:"Time Spent",field:"timeSpentLabel",width:110,sortable:!0,resizable:!0,filter:!0,cellClass:"cellCenter "},{headerName:"% of Query",field:"queryPercentLabel",width:96,sortable:!0,resizable:!0,filter:!0,cellClass:"cellCenter "},{headerName:"Actual Rows",field:"rowsLabel",width:96,sortable:!0,resizable:!0,filter:!0,cellClass:"cellCenter "},{headerName:"Plan Rows",field:"planRowsLabel",width:88,sortable:!0,resizable:!0,filter:!0,cellClass:"cellCenter "},{headerName:"Estim",field:"estimateLabel",width:76,sortable:!0,resizable:!0,filter:!0,cellClass:r=>{var u;const l=Number((u=r.data)==null?void 0:u.estimateRatioValue);return Number.isFinite(l)?l<.1||l>10?"cellCenter bg-red-200 dark:bg-red-900":l>=.1&&l<.5||l>2&&l<=10?"cellCenter bg-orange-100 dark:bg-orange-900":"cellCenter ":"cellCenter "}},{headerName:"Cost",field:"costLabel",width:88,sortable:!0,resizable:!0,filter:!0,cellClass:"cellCenter "},{headerName:"Hit Read Ratio",field:"hitReadRatioLabel",width:110,sortable:!0,resizable:!0,filter:!0,cellClass:"cellCenter "},{headerName:"Width",field:"widthLabel",width:72,sortable:!0,resizable:!0,filter:!0,cellClass:"cellCenter "},{headerName:"Loops",field:"loopsLabel",width:72,sortable:!0,resizable:!0,filter:!0,cellClass:"cellCenter "}]),a={ExplainOperationCell:Qr};return(r,l)=>(v(),A("div",Zr,[p(i(gs),{class:"h-full",columns:[],data:[],"column-key-by":"index","skip-re-column-size":"","has-hash-index":!1,"override-column-defs":i(o),"override-row-data":i(n),"external-components":a},null,8,["override-column-defs","override-row-data"])]))}}),el={class:"h-full p-2"},tl={class:"rounded-lg border p-2 flex flex-col h-full min-h-0"},sl={class:"flex justify-between items-center mb-4"},nl={class:"text-sm font-bold text-muted-foreground uppercase flex items-center gap-2"},al={key:0,class:"h-full grid place-items-center text-sm text-muted-foreground"},ol={key:1,class:"flex-1 overflow-auto relative"},rl={class:"min-w-[680px] text-xs"},ll={class:"flex border-b pb-2 mb-2 sticky top-0 bg-background z-10 font-medium text-muted-foreground"},il={class:"flex-1 relative h-4"},ul={class:"absolute right-0"},cl={class:"pb-2"},dl=["onMouseenter"],ml={class:"w-[28%] min-w-[190px] max-w-[260px] px-2 flex items-center overflow-hidden"},pl={class:"truncate flex items-center gap-1"},fl={class:"font-mono text-xxs text-right shrink-0 text-muted-foreground"},hl={class:"flex flex-col truncate"},vl=["title"],gl={key:0,class:"text-muted-foreground text-xxs truncate"},yl={key:0},xl={class:"flex-1 relative h-6 mx-2"},bl={class:"space-y-2 text-xs"},Cl={class:"font-semibold flex items-center gap-1"},Sl={class:"grid grid-cols-2 gap-x-3 gap-y-1 text-[11px]"},wl={class:"font-mono"},_l={class:"font-mono"},El={class:"font-mono"},Tl={class:"font-mono"},Rl={class:"font-mono"},kl={class:"font-mono"},$l={class:"font-mono"},zl={class:"font-mono"},Al={key:0,class:"text-[11px] text-muted-foreground"},Ll={key:0},Ze=14,Ml=X({__name:"ExplainTimelineChartPane",props:{nodes:{},totalTime:{}},setup(s){const e=s,t=K(null),n=P(()=>{const c=[...e.nodes].filter(x=>typeof x["Actual Startup Time"]=="number"&&typeof x["Actual Total Time"]=="number").map(x=>{const S=x["Actual Startup Time"]||0,b=x["Actual Total Time"]||0,y=Math.max(0,b-S);return{id:x.id,nodeType:x["Node Type"],relation:x["Relation Name"],alias:x.Alias,depth:x.depth,actualRows:x["Actual Rows"],actualLoops:x["Actual Loops"],planRows:x["Plan Rows"],totalCost:x["Total Cost"],start:S,end:b,duration:y}}),g=(x,S)=>{for(let b=x+1;b<c.length;b+=1){const y=c[b].depth;if(y<S)return!1;if(y===S)return!0}return!1};return c.map((x,S)=>{const b=[];for(let y=1;y<x.depth;y+=1)g(S,y)&&b.push(y);return{...x,continuationLevels:b,hasNextSibling:x.depth>0?g(S,x.depth):!1}})}),o=P(()=>{const c=n.value.length?Math.max(...n.value.map(g=>g.end)):0;return Math.max(e.totalTime||0,c,1)}),a=(c,g)=>{const x=o.value>0?o.value:1,S=c/x*100,b=Math.max(g/x*100,.5);return{left:`${S}%`,width:`${b}%`}},r=c=>{const g=o.value>0?o.value:1;return(c/g*100).toFixed(2)},l=c=>`${Math.max(c,0)*Ze}px`,u=c=>`${(c-1)*Ze+Ze/2}px`,d=`${Ze/2}px`,m=c=>c==="Seq Scan"?"bg-gray-400 dark:bg-gray-600":c.includes("Scan")?"bg-gray-300 dark:bg-gray-700":c.includes("Join")?"bg-gray-500 dark:bg-gray-500":c==="Sort"?"bg-gray-300 dark:bg-gray-600":(c.includes("Aggregate"),"bg-gray-400 dark:bg-gray-600");return(c,g)=>{const x=fe,S=ie,b=ue,y=ce;return v(),A("div",el,[f("div",tl,[f("div",sl,[f("h3",nl,[p(x,{name:"hugeicons:clock-01",class:"size-4"}),g[1]||(g[1]=O(" Execution Plan Timeline "))]),g[2]||(g[2]=f("span",{class:"text-xs text-muted-foreground"},"Hover for details",-1))]),i(n).length===0?(v(),A("div",al," No timeline data available ")):(v(),A("div",ol,[f("div",rl,[f("div",ll,[g[7]||(g[7]=f("div",{class:"w-[28%] min-w-[190px] max-w-[260px] pl-2"}," Node Hierarchy ",-1)),f("div",il,[g[3]||(g[3]=f("div",{class:"absolute left-0"},"0ms",-1)),f("div",ul,V(i(Ye)(i(o))),1),g[4]||(g[4]=f("div",{class:"absolute left-1/4 border-l h-full"},null,-1)),g[5]||(g[5]=f("div",{class:"absolute left-1/2 border-l h-full"},null,-1)),g[6]||(g[6]=f("div",{class:"absolute left-3/4 border-l h-full"},null,-1))])]),f("div",cl,[(v(!0),A(ee,null,ne(i(n),C=>(v(),A("div",{key:C.id,class:pe(["flex items-center group rounded transition-colors hover:bg-muted",i(t)===C.id?"bg-muted/40":""]),onMouseenter:E=>t.value=C.id,onMouseleave:g[0]||(g[0]=E=>t.value=null)},[f("div",ml,[f("div",{class:"relative shrink-0 h-7",style:Fe({width:l(C.depth)})},[(v(!0),A(ee,null,ne(C.continuationLevels,E=>(v(),A("div",{key:`${C.id}-v-${E}`,class:"absolute top-0 bottom-0 border-l border-dashed border-muted-foreground/35",style:Fe({left:u(E)})},null,4))),128)),C.depth>0?(v(),A(ee,{key:0},[f("div",{class:"absolute top-0 border-l border-dashed border-muted-foreground/45",style:Fe({left:u(C.depth),height:C.hasNextSibling?"100%":"50%"})},null,4),f("div",{class:"absolute top-1/2 -translate-y-1/2 border-t border-dashed border-muted-foreground/45",style:Fe({left:u(C.depth),width:d})},null,4)],64)):Q("",!0)],4),f("div",pl,[f("span",fl," #"+V(C.id.replace("ep-","")),1),f("div",hl,[f("span",{class:"truncate font-medium text-sm",title:C.nodeType},V(C.nodeType),9,vl),C.relation?(v(),A("span",gl,[O(V(C.relation)+" ",1),C.alias&&C.alias!==C.relation?(v(),A("span",yl,"("+V(C.alias)+")",1)):Q("",!0)])):Q("",!0)])])]),f("div",xl,[g[16]||(g[16]=cn('<div class="absolute top-0 bottom-0 left-0 w-px bg-muted"></div><div class="absolute top-0 bottom-0 right-0 w-px bg-muted"></div><div class="absolute top-0 bottom-0 left-1/4 w-px bg-muted"></div><div class="absolute top-0 bottom-0 left-1/2 w-px bg-muted"></div><div class="absolute top-0 bottom-0 left-3/4 w-px bg-muted"></div>',5)),p(y,null,{default:h(()=>[p(S,{"as-child":""},{default:h(()=>[f("div",{class:pe(["absolute top-1 bottom-1 rounded-sm transition-all shadow-sm opacity-90 cursor-default",[m(C.nodeType),i(t)===C.id?"brightness-105 ring-2 ring-border z-10":""]]),style:Fe(a(C.start,C.duration))},null,6)]),_:2},1024),p(b,{side:"top","side-offset":8,class:"max-w-[360px]"},{default:h(()=>{var E,$,L,_;return[f("div",bl,[f("div",Cl,[p(x,{name:"hugeicons:flow-square",class:"size-3.5"}),O(" "+V(C.nodeType),1)]),f("div",Sl,[g[8]||(g[8]=f("span",{class:"text-muted-foreground"},"Start",-1)),f("span",wl,V(i(Ye)(C.start)),1),g[9]||(g[9]=f("span",{class:"text-muted-foreground"},"End",-1)),f("span",_l,V(i(Ye)(C.end)),1),g[10]||(g[10]=f("span",{class:"text-muted-foreground"},"Duration",-1)),f("span",El,V(i(Ye)(C.duration)),1),g[11]||(g[11]=f("span",{class:"text-muted-foreground"},"Share",-1)),f("span",Tl,V(r(C.duration))+"%",1),g[12]||(g[12]=f("span",{class:"text-muted-foreground"},"Rows",-1)),f("span",Rl,V(((E=C.actualRows)==null?void 0:E.toLocaleString())??"-"),1),g[13]||(g[13]=f("span",{class:"text-muted-foreground"},"Plan Rows",-1)),f("span",kl,V((($=C.planRows)==null?void 0:$.toLocaleString())??"-"),1),g[14]||(g[14]=f("span",{class:"text-muted-foreground"},"Loops",-1)),f("span",$l,V(((L=C.actualLoops)==null?void 0:L.toLocaleString())??"-"),1),g[15]||(g[15]=f("span",{class:"text-muted-foreground"},"Total Cost",-1)),f("span",zl,V(((_=C.totalCost)==null?void 0:_.toFixed(2))??"-"),1)]),C.relation?(v(),A("div",Al,[O(" Relation: "+V(C.relation)+" ",1),C.alias&&C.alias!==C.relation?(v(),A("span",Ll,"("+V(C.alias)+")",1)):Q("",!0)])):Q("",!0)])]}),_:2},1024)]),_:2},1024)])],42,dl))),128))])])]))])])}}}),Nl={class:"h-full overflow-auto p-2"},Il=X({__name:"ExplainRawPane",props:{rawText:{}},setup(s){const e=s,t=P(()=>{const n=e.rawText.trim();return n.startsWith("{")||n.startsWith("[")?"json":"sql"});return(n,o)=>{const a=Lt;return v(),A("div",Nl,[p(a,{code:n.rawText,language:t.value,"max-height":"100%"},null,8,["code","language"])])}}});let lt=0;const Ol=()=>(lt+=1,`ep-${lt}`),Zt=s=>s==null?"":typeof s=="string"?s:typeof s=="number"||typeof s=="boolean"?String(s):JSON.stringify(s),Pl=s=>{const e=(s["Shared Hit Blocks"]??0)+(s["Local Hit Blocks"]??0),t=(s["Shared Read Blocks"]??0)+(s["Local Read Blocks"]??0),n=e+t;if(!(n<=0))return Number((e/n).toFixed(4))},Dl=(s,e)=>{const t=e["Plan Rows"],n=e["Actual Rows"];if(t!==void 0&&n!==void 0&&t>0&&n>=0){s.estimateRatio=Number((n/t).toFixed(2));const o=n/t;o>10?s.rowEstimateAccuracy="underestimate":o<.1?s.rowEstimateAccuracy="overestimate":s.rowEstimateAccuracy="accurate"}s.hitReadRatio=Pl(e),(e["Total Cost"]!==void 0&&e["Total Cost"]>1e3||e["Actual Total Time"]!==void 0&&e["Actual Total Time"]>100)&&(s.isExpensive=!0)},Vl=s=>{let e=0,t="";for(const o of s){const a=o.children.reduce((l,u)=>l+(u["Actual Total Time"]??0)*(u["Actual Loops"]??1),0)/(o["Actual Loops"]??1),r=Math.max(0,(o["Actual Total Time"]??0)-a);r>e&&(e=r,t=o.id)}const n=s.find(o=>o.id===t);n&&(n.isSlowest=!0)},Cs=(s,e,t)=>{const{Plans:n,...o}=s,a=s["Node Type"]||"Unknown Node",r=s["Relation Name"],l={...o,id:Ol(),index:lt,label:r?`${a} on ${r}`:a,estimateRatio:void 0,hitReadRatio:void 0,isExpensive:!1,isSlowest:!1,rowEstimateAccuracy:void 0,depth:e,children:(n??[]).map(u=>Cs(u,e+1,t))};return t.push(l),Dl(l,s),l},ql=(s,e)=>{lt=0;const t=[],n=Cs(s.Plan,0,t),o={"Planning Time":s["Planning Time"],"Execution Time":s["Execution Time"],totalCost:n["Total Cost"],triggersInfo:(s.Triggers??[]).map(Zt),jitInfo:[],settingsInfo:s.Settings?Object.entries(s.Settings).map(([r,l])=>`${r}: ${Zt(l)}`):[],rawText:e};Vl(t);const a=[...t].sort((r,l)=>r.index-l.index);return{root:n,summary:o,allNodes:a}},Fl=s=>{const e={triggersInfo:[],jitInfo:[],settingsInfo:[],rawText:s},t=s.match(/Planning Time:\s*(\d+\.?\d*)\s*ms/i),n=s.match(/Execution Time:\s*(\d+\.?\d*)\s*ms/i);return t&&(e["Planning Time"]=Number.parseFloat(t[1])),n&&(e["Execution Time"]=Number.parseFloat(n[1])),{root:null,summary:e,allNodes:[]}},xt=s=>{if(!s)return null;if(typeof s=="string")try{return xt(JSON.parse(s))}catch{return null}return Array.isArray(s)?s.length?xt(s[0]):null:typeof s=="object"&&s!==null&&"Plan"in s&&typeof s.Plan=="object"?s:null},Ss=(s,e)=>{var t;if(!(s!=null&&s.length))return null;if(Array.isArray(s[0]))return s[0][0]??null;if(typeof s[0]=="object"&&s[0]!==null){const n=s[0],o=Object.keys(n).find(a=>a.toUpperCase()==="QUERY PLAN")||((t=e==null?void 0:e[0])==null?void 0:t.name)||Object.keys(n)[0];return o?n[o]??null:null}return s[0]??null},Bl=(s,e)=>{const t=Ss(s,e);return t==null?"":typeof t=="string"?t:JSON.stringify(t,null,2)},jl=s=>{const e=typeof s=="string"?s:JSON.stringify(s,null,2),t=xt(s);return t?ql(t,e):Fl(e)},Ul={class:"h-full min-h-0"},Hl={key:0,class:"h-full flex flex-col items-center justify-center gap-2 text-muted-foreground"},Ql=X({__name:"ResultTabExplainView",props:{activeTab:{}},setup(s){const e=s,t=K(st.GRID),n=K(!1),o=P(()=>Ss(e.activeTab.result,e.activeTab.metadata.fieldDefs)),a=P(()=>Bl(e.activeTab.result,e.activeTab.metadata.fieldDefs)),r=P(()=>jl(o.value)),l=P(()=>{const u=r.value.allNodes,d=u.filter(c=>c.isExpensive),m=u.filter(c=>c.isSlowest);return{planningTime:r.value.summary["Planning Time"],executionTime:r.value.summary["Execution Time"],nodeCount:u.length,expensiveCount:d.length,slowCount:m.length,allNodes:u,expensiveNodes:d,slowNodes:m}});return(u,d)=>{const m=Fr,c=fe,g=Xr,x=Ml,S=Il;return v(),A("div",Ul,[i(n)?(v(),A("div",{key:0,class:"fixed inset-0 z-40 bg-background/70 backdrop-blur-[1px]",onClick:d[0]||(d[0]=b=>n.value=!1)})):Q("",!0),f("div",{class:pe(["flex flex-col",i(n)?"fixed z-50 left-1/2 top-1/2 h-[90vh] w-[95vw] -translate-x-1/2 -translate-y-1/2 rounded-xl border bg-background shadow-2xl":"h-full min-h-0 overflow-hidden"])},[p(m,{modelValue:i(t),"onUpdate:modelValue":d[1]||(d[1]=b=>Ae(t)?t.value=b:null),"summary-stats":i(l),"is-expanded":i(n),onToggleExpand:d[2]||(d[2]=b=>n.value=!i(n))},null,8,["modelValue","summary-stats","is-expanded"]),f("div",{class:pe(["flex-1 min-h-0",i(n)?"overflow-hidden":"overflow-y-auto"])},[i(r).root?i(t)===i(st).GRID?(v(),I(g,{key:1,nodes:i(r).allNodes},null,8,["nodes"])):i(t)===i(st).TIMELINE?(v(),I(x,{key:2,nodes:i(r).allNodes,"total-time":i(l).executionTime},null,8,["nodes","total-time"])):(v(),I(S,{key:3,"raw-text":i(a)},null,8,["raw-text"])):(v(),A("div",Hl,[p(c,{name:"hugeicons:alert-02",class:"size-8 opacity-50"}),d[3]||(d[3]=f("p",{class:"text-sm"},"Could not parse execution plan",-1))]))],2)],2)])}}}),Wl={class:"h-full flex w-full"},Kl={key:0,class:"flex mt-7 [writing-mode:vertical-rl]"},Gl=["onClick"],Yl={class:"h-full w-full flex flex-col"},Jl={class:"flex items-end overflow-x-auto pt-0.5"},Zl=["onClick","onContextmenu"],Xl={class:"truncate text-xs font-medium"},ei=["onClick"],ti={class:"h-full w-full border rounded-md rounded-tl-none overflow-hidden"},si=X({__name:"RawQueryResultTabs",props:{executedResults:{},activeTabId:{},executeLoading:{type:Boolean},isStreaming:{type:Boolean}},emits:["update:activeTab","close-tab","close-other-tabs","close-tabs-to-right","update:view"],setup(s,{emit:e}){const t=s,n=e,o=K(null),a=P(()=>{if(!o.value)return!1;const y=Array.from(t.executedResults.keys()),C=y.indexOf(o.value);return C>=0&&C<y.length-1}),r=[{value:"result",label:"Result"},{value:"explain",label:"Explain"},{value:"raw",label:"Raw"},{value:"info",label:"Info"},{value:"error",label:"Errors"},{value:"agent",label:"Agent"}],l=new Map,u=Qe([]);let d=null;const m=P(()=>t.activeTabId&&t.executedResults.get(t.activeTabId)||null),c=P(()=>{var y;return((y=m.value)==null?void 0:y.view)||"result"}),g=P(()=>{var y;return(y=m.value)!=null&&y.metadata.fieldDefs?m.value.metadata.fieldDefs.map((C,E)=>{var $;return{index:E,originalName:C.name,aliasFieldName:C.name,queryFieldName:C.name,isPrimaryKey:!1,isForeignKey:!1,type:(($=C.dataTypeID)==null?void 0:$.toString())||"unknown",tableName:""}}):[]}),x=y=>{var _;const C=((_=y.result)==null?void 0:_.length)||0,E=`${y.id}_${C}`;if(l.has(E))return l.get(E);const $=y.metadata.fieldDefs||[],L=$o(y.result||[],$);l.set(E,L);for(const B of l.keys())B.startsWith(`${y.id}_`)&&B!==E&&l.delete(B);return L};de(m,y=>{d&&cancelAnimationFrame(d),d=requestAnimationFrame(()=>{u.value=y?x(y):[],d=null})},{immediate:!0}),dn(()=>{d&&cancelAnimationFrame(d)});const S=y=>{t.activeTabId&&n("update:view",t.activeTabId,y)},b=y=>!!y.metadata.executeErrors;return(y,C)=>{const E=fe,$=ie,L=ue,_=ce,B=cs,D=Ke;return v(),A("div",Wl,[i(m)?(v(),A("div",Kl,[(v(),A(ee,null,ne(r,T=>f("div",{key:T.value,onClick:H=>b(i(m))&&(T.value==="result"||T.value==="raw")||T.value==="error"&&!b(i(m))?null:S(T.value),class:pe(i(et)("border px-1 text-xs font-normal transition-colors",i(c)===T.value?"bg-muted border-transparent border-r-border":"border-transparent",T.value==="error"&&b(i(m))?"hover:bg-muted cursor-pointer":T.value==="explain"&&!i(m).metadata.statementQuery.startsWith("EXPLAIN")?null:"",T.value==="error"&&!b(i(m))?"opacity-40 cursor-not-allowed":"",(T.value==="result"||T.value==="raw")&&b(i(m))?"opacity-40 cursor-not-allowed":"",T.value==="explain"&&!i(m).metadata.statementQuery.startsWith("EXPLAIN")?"opacity-40 cursor-not-allowed":"",T.value==="error"&&!b(i(m))||(T.value==="result"||T.value==="raw")&&b(i(m))||T.value==="explain"&&!i(m).metadata.statementQuery.startsWith("EXPLAIN")?"":"hover:bg-muted cursor-pointer"))},V(T.label),11,Gl)),64))])):Q("",!0),f("div",Yl,[f("div",Jl,[p(i(fs),null,{default:h(()=>[p(i(hs),{class:"flex items-end"},{default:h(()=>[(v(!0),A(ee,null,ne(y.executedResults,([T,H])=>(v(),I(_,{key:T},{default:h(()=>[p($,{"as-child":""},{default:h(()=>[f("div",{onClick:W=>y.$emit("update:activeTab",T),onContextmenu:W=>o.value=T,class:pe(i(et)("h-6! flex gap-0.5 rounded-t-md max-w-44 justify-start! items-center font-normal p-1! hover:[&>div]:opacity-100 transition-all duration-200 border rounded-b-none cursor-pointer relative",T===y.activeTabId?"border-b-transparent bg-background dark:bg-accent":"border-transparent bg-muted/30"))},[p(E,{name:b(H)?"hugeicons:alert-02":"hugeicons:sql",class:pe(i(et)("min-w-4",b(H)?"text-red-500":""))},null,8,["name","class"]),f("div",Xl," Query "+V(H.seqIndex)+" - "+V(H.metadata.statementQuery),1),f("div",{onClick:Rt(W=>y.$emit("close-tab",T),["stop"]),class:"hover:bg-accent h-5 w-5 flex items-center justify-center rounded-full opacity-0"},[p(E,{name:"lucide:x",class:"stroke-[2.5]! size-3!"})],8,ei)],42,Zl)]),_:2},1024),p(L,{class:"max-w-xl"},{default:h(()=>[f("p",null,V(H.metadata.statementQuery),1)]),_:2},1024)]),_:2},1024))),128))]),_:1}),i(o)?(v(),I(i(vs),{key:0,hideWhenDetached:"",class:"w-56"},{default:h(()=>[p(i(tt),{onSelect:C[0]||(C[0]=T=>y.$emit("close-tab",i(o)))},{default:h(()=>C[4]||(C[4]=[O(" Close ")])),_:1}),p(i(tt),{onSelect:C[1]||(C[1]=T=>y.$emit("close-other-tabs",i(o)))},{default:h(()=>C[5]||(C[5]=[O(" Close Others ")])),_:1}),p(i(tt),{disabled:!i(a),onSelect:C[2]||(C[2]=T=>y.$emit("close-tabs-to-right",i(o)))},{default:h(()=>C[6]||(C[6]=[O(" Close to the Right ")])),_:1},8,["disabled"])]),_:1})):Q("",!0)]),_:1})]),f("div",ti,[y.executeLoading&&y.activeTabId?(v(),I(B,{key:0,visible:""})):Q("",!0),i(m)?i(m)&&i(c)==="result"?(v(),I($r,{"active-tab":i(m),"active-tab-columns":i(g),"formatted-data":i(u),"execute-loading":y.executeLoading,"is-streaming":y.isStreaming,key:i(m).id},null,8,["active-tab","active-tab-columns","formatted-data","execute-loading","is-streaming"])):i(m)&&i(c)==="explain"?(v(),I(Ql,{key:3,"active-tab":i(m)},null,8,["active-tab"])):i(m)&&i(c)==="raw"?(v(),I(Tr,{key:4,"formatted-data":i(u),"execute-loading":y.executeLoading,"is-streaming":y.isStreaming},null,8,["formatted-data","execute-loading","is-streaming"])):i(m)&&i(c)==="info"?(v(),I(_r,{key:5,"active-tab":i(m)},null,8,["active-tab"])):i(m)&&i(c)==="error"?(v(),I(rr,{key:6,"active-tab":i(m),onOnChangeView:C[3]||(C[3]=T=>S(T))},null,8,["active-tab"])):i(m)&&i(c)==="agent"?(v(),I(Go,{key:7,"active-tab":i(m)},null,8,["active-tab"])):Q("",!0):(v(),I(D,{key:1,title:"No results",desc:"Execute a query to see results"}))])])])}}});function ni({query:s,dbConnectionString:e,type:t,providerKind:n,managedSqlite:o,params:a,onMeta:r,onRows:l,onDone:u,onError:d}){const m=new AbortController;let c=0;return(async()=>{var x;try{const S=await fetch("/api/query/raw-execute-stream",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({query:s,dbConnectionString:e,type:t,providerKind:n,managedSqlite:o,params:a||{}}),signal:m.signal});if(!S.ok){const E=await S.text();d==null||d(E||`HTTP ${S.status}`);return}const b=(x=S.body)==null?void 0:x.getReader();if(!b){d==null||d("No readable stream available");return}const y=new TextDecoder;let C="";for(;;){const{done:E,value:$}=await b.read();if(E)break;C+=y.decode($,{stream:!0});const L=C.split(`
11
+ `);C=L.pop()||"";for(const _ of L){const B=_.trim();if(B)try{const D=JSON.parse(B);switch(D.type){case"meta":r==null||r(D.fields,D.command);break;case"rows":c+=D.data.length,l==null||l(D.data,c);break;case"done":u==null||u(D.rowCount,D.queryTime);break;case"error":d==null||d(D.message,D.error);break}}catch{console.warn("[StreamingQuery] Malformed NDJSON line:",B)}}}if(C.trim())try{const E=JSON.parse(C.trim());E.type==="done"?u==null||u(E.rowCount,E.queryTime):E.type==="error"&&(d==null||d(E.message))}catch{}}catch(S){if(S.name==="AbortError")return;d==null||d(S.message||"Stream connection failed")}})(),{abort:()=>m.abort()}}const Xt=s=>{if(s===null||typeof s!="object")return!1;const e=Object.getPrototypeOf(s);return e===Object.prototype||e===null},Xe=s=>s.map(e=>({name:e})),ai=s=>{if(Array.isArray(s)){if(s.every(e=>Xt(e))){const e=s,t=Array.from(new Set(e.flatMap(n=>Object.keys(n))));return{rows:e,fields:Xe(t)}}return{rows:s.map((e,t)=>({index:t,value:e})),fields:Xe(["index","value"])}}return Xt(s)?{rows:[s],fields:Xe(Object.keys(s))}:{rows:[{value:s}],fields:Xe(["value"])}};function oi({getEditorView:s,connection:e,redisDatabaseIndex:t,fileVariables:n,fieldDefs:o,resultTabs:a,buildExplainAnalyzePrefix:r,beforeExecute:l}){const u=Qe([]),d=Qe({}),m=Qe(0),c=mn({isHaveOneExecute:!1,executeLoading:!1,isStreaming:!1,streamingRowCount:0,queryTime:0,executeErrors:void 0,currentStatementQuery:""});let g=null;const x=async({currentStatements:C,queryPrefix:E})=>{var q,G,j,te,ge,he,Me,Ne,Ie,_e,Oe,me,Re,Ee,ae,Pe,w,k,M,z,N;if(!C.length)return;const $=C[0];if(l&&!await l())return;c.isHaveOneExecute=!0,c.currentStatementQuery=$.text;let L=$.text,_={};try{_=JSON.parse(n.value||"{}")}catch(R){console.log("fileParameters error::",R)}let B="result";const D=((q=e.value)==null?void 0:q.type)===Z.REDIS;E&&!D&&(L=`${E} ${L}`,E.startsWith("EXPLAIN")&&(B="explain")),o.value=[],u.value=[],d.value={},c.executeLoading=!0,c.isStreaming=!1,c.streamingRowCount=0,g&&(g(),g=null),m.value++;const T={id:pn(),metadata:{queryTime:0,statementQuery:L,executedAt:new Date,executeErrors:void 0,fieldDefs:void 0,connection:void 0},result:[],view:B,seqIndex:m.value};a.addResultTab(T),_a(s());const H=[];if(D){try{const R=Date.now(),F=await $fetch("/api/redis/workbench/execute",{method:"POST",body:{method:(G=e.value)==null?void 0:G.method,stringConnection:(j=e.value)==null?void 0:j.connectionString,host:(te=e.value)==null?void 0:te.host,port:(ge=e.value)==null?void 0:ge.port,username:(he=e.value)==null?void 0:he.username,password:(Me=e.value)==null?void 0:Me.password,database:(Ne=e.value)==null?void 0:Ne.database,databaseIndex:t==null?void 0:t.value,ssl:(Ie=e.value)==null?void 0:Ie.ssl,ssh:(_e=e.value)==null?void 0:_e.ssh,command:L}}),Y=ai(F.result),se=Date.now()-R;o.value=Y.fields,T.metadata.fieldDefs=Y.fields,T.metadata.connection=e.value,T.metadata.command=((Oe=F.command)==null?void 0:Oe[0])||((me=L.trim().split(/\s+/)[0])==null?void 0:me.toUpperCase())||"REDIS",T.metadata.queryTime=se,T.metadata.rowCount=Y.rows.length,T.result=Y.rows,d.value={rows:Y.rows,fields:Y.fields,queryTime:se},u.value=Y.rows,c.executeLoading=!1,c.isStreaming=!1,c.streamingRowCount=Y.rows.length,c.queryTime=se,c.executeErrors=void 0,a.refreshResultTab(T.id,T)}catch(R){const F=((Re=R==null?void 0:R.data)==null?void 0:Re.message)||(R==null?void 0:R.message)||"Failed to execute Redis command.";c.executeLoading=!1,c.isStreaming=!1,c.executeErrors={message:F,data:(R==null?void 0:R.data)||{message:F}},T.metadata.executeErrors=c.executeErrors,T.view="error",a.refreshResultTab(T.id,T)}return}if(E&&B==="explain"){try{const R=await $fetch("/api/query/raw-execute",{method:"POST",body:{dbConnectionString:(Ee=e.value)==null?void 0:Ee.connectionString,type:(ae=e.value)==null?void 0:ae.type,providerKind:(Pe=e.value)==null?void 0:Pe.providerKind,managedSqlite:(w=e.value)==null?void 0:w.managedSqlite,query:L,params:_},onResponseError:({response:F})=>{var be,De;const Y=(be=F._data)==null?void 0:be.data,se=s();se&&Y&&Wt({editorView:se,originalSql:$.text,statementFrom:Number($.from),fileParameters:_,errorDetail:Y,clientType:((De=e.value)==null?void 0:De.type)||Z.POSTGRES,queryPrefix:E})}});o.value=R.fields,T.metadata.fieldDefs=R.fields,T.result=R.rows,T.metadata.queryTime=R.queryTime||0,T.metadata.connection=e.value,d.value=R,u.value=R.rows,c.executeErrors=void 0,c.queryTime=R.queryTime||0}catch(R){c.executeErrors=R.data,T.metadata.executeErrors=R.data,T.view="error"}c.executeLoading=!1,a.refreshResultTab(T.id,T);return}c.isStreaming=!0,c.executeLoading=!1;const{abort:W}=ni({query:L,dbConnectionString:((k=e.value)==null?void 0:k.connectionString)||"",type:(M=e.value)==null?void 0:M.type,providerKind:(z=e.value)==null?void 0:z.providerKind,managedSqlite:(N=e.value)==null?void 0:N.managedSqlite,params:_,onMeta:(R,F)=>{o.value=R,T.metadata.fieldDefs=R,T.metadata.connection=e.value,T.metadata.command=F,a.refreshResultTab(T.id,T)},onRows:(R,F)=>{H.push(...R),c.streamingRowCount=F,T.result=H,T.metadata.rowCount=F,u.value=H,a.refreshResultTab(T.id,T)},onDone:(R,F)=>{c.executeLoading=!1,c.isStreaming=!1,c.queryTime=F,c.executeErrors=void 0,c.streamingRowCount=R,T.metadata.queryTime=F,T.metadata.rowCount=R,d.value={rows:T.result,fields:o.value,queryTime:F},a.refreshResultTab(T.id,T),g=null},onError:(R,F)=>{var be;const Y={message:R,data:F||{message:R}};c.executeLoading=!1,c.isStreaming=!1,c.executeErrors=Y,T.metadata.executeErrors=Y,T.view="error";const se=s();se&&F&&Wt({editorView:se,originalSql:$.text,statementFrom:Number($.from),fileParameters:_,errorDetail:F,clientType:((be=e.value)==null?void 0:be.type)||Z.POSTGRES}),a.refreshResultTab(T.id,T),g=null}});g=W};return{currentRawQueryResult:u,rawResponse:d,queryProcessState:c,executeCurrentStatement:x,onExecuteCurrent:()=>{const C=s();if(!C)return;const{currentStatements:E}=rt(C);x({currentStatements:E})},onExplainAnalyzeCurrent:()=>{const C=s();if(!C)return;const{currentStatements:E}=rt(C);x({currentStatements:E,queryPrefix:r()})},cancelStreamingQuery:()=>{g&&(g(),g=null,c.executeLoading=!1,c.isStreaming=!1)}}}function ri(){const s=K({BUFFERS:!0,COSTS:!0,GENERIC_PLAN:!1,MEMORY:!1,SETTINGS:!0,SUMMARY:!0,TIMING:!0,VERBOSE:!0,WAL:!0}),e=K("NONE"),t=r=>{s.value[r]=!s.value[r]},n=r=>{e.value=r};return{explainAnalyzeOptionItems:P(()=>Dt.filter(r=>r.key!=="SERIALIZE").map(r=>({key:r.key,label:r.label,checked:s.value[r.key]}))),serializeMode:e,toggleExplainOption:t,setSerializeMode:n,buildExplainAnalyzePrefix:()=>{const r=Dt.filter(d=>d.key!=="SERIALIZE"&&s.value[d.key]).map(d=>d.key).flatMap(d=>d==="GENERIC_PLAN"?[]:[d]),l=e.value==="NONE"?[]:[`SERIALIZE ${e.value}`];return`EXPLAIN (${["ANALYZE","FORMAT JSON",...r,...l].join(", ")})`}}}function li(){const s=Qe(new Map),e=K(null),t=m=>{const c=new Map;c.set(m.id,m),s.value.forEach((g,x)=>{c.set(x,g)}),s.value=c,e.value=m.id},n=(m,c)=>{const g=new Map(s.value);g.set(m,{...c}),s.value=g};return{executedResults:s,activeResultTabId:e,addResultTab:t,refreshResultTab:n,setActiveResultTab:m=>{s.value.has(m)&&(e.value=m)},closeResultTab:m=>{const c=new Map(s.value);if(c.delete(m),s.value=c,e.value===m){const g=Array.from(c.keys());e.value=g.length>0?g[g.length-1]:null}},updateResultTabView:(m,c)=>{const g=s.value.get(m);g&&n(m,{...g,view:c})},closeOtherResultTabs:m=>{const c=s.value.get(m);if(!c)return;const g=new Map;g.set(m,c),s.value=g,e.value=m},closeResultTabsToRight:m=>{const c=Array.from(s.value.keys()),g=c.indexOf(m);if(g<0)return;const x=new Map;for(let S=0;S<=g;S++){const b=c[S],y=s.value.get(b);y&&x.set(b,y)}s.value=x,x.has(e.value||"")||(e.value=m)},updateResultTabResult:(m,c)=>{const x=new Map(s.value).get(m);x&&(x.result=c)}}}function He(s,...e){}const ii=s=>{let e;return async()=>(e||(e=s()),await e)};class It{constructor(e={}){oe(this,"opts");oe(this,"parser",null);oe(this,"offsetRecord",{});oe(this,"getParser",ii(async()=>{if(this.parser)return this.parser;const e=await ds(()=>import("./DEsdpKnm.js").then(n=>n.i),__vite__mapDeps([0,1,2]),import.meta.url),{Parser:t}=e.default||e;return this.parser=new t,this.parser}));this.opts=e}async parse(e,t){var a,r;this.offsetRecord={};const n=(r=(a=this.opts).getParserOptions)==null?void 0:r.call(a,t.state),o=await this.sanitizeSql(e,n);try{const l=await this.getParser();if((n==null?void 0:n.database)==="DuckDB")return this.parseWithDuckDBSupport(o,n);const u=l.astify(o,n);return{success:!0,errors:[],ast:u}}catch(l){return{success:!1,errors:[this.extractErrorInfo(l,o)]}}}async sanitizeSql(e,t){if(t!=null&&t.ignoreBrackets){const{sql:n,offsetRecord:o}=di(e);return this.offsetRecord=o,n}return e}async parseWithDuckDBSupport(e,t){const n=await this.getParser(),o=ui(e).trimStart().toLowerCase();if(o.startsWith("from")||o.includes("macro"))return He(),{success:!0,errors:[]};let a=e;o.includes("create or replace table")&&(this.offsetRecord[e.indexOf("create or replace table")]=-11,a=e.replace(/create or replace table/i,"create table"));try{const r={...t,database:"PostgreSQL"},l=n.astify(a,r);return{success:!0,errors:[],ast:l}}catch(r){return{success:!1,errors:[this.extractErrorInfo(r,e)]}}}extractErrorInfo(e,t){var l,u,d;let n=1,o=1;const a=(e==null?void 0:e.message)||"SQL parsing error",r=e;if(r!=null&&r.location)n=((l=r.location.start)==null?void 0:l.line)||1,o=((u=r.location.start)==null?void 0:u.column)||1;else if(r!=null&&r.hash)n=r.hash.line||1,o=((d=r.hash.loc)==null?void 0:d.first_column)||1;else{const m=a.match(/line (\d+)/i),c=a.match(/column (\d+)/i);m!=null&&m[1]&&(n=parseInt(m[1],10)),c!=null&&c[1]&&(o=parseInt(c[1],10))}for(const[m,c]of Object.entries(this.offsetRecord))o>parseInt(m,10)&&(o-=c);return o>t.length&&(o=t.length),{message:this.cleanErrorMessage(a),line:Math.max(1,n),column:o,severity:"error"}}cleanErrorMessage(e){return e.replace(/^Error: /,"").replace(/Expected .* but .* found\./i,t=>t.replace(/but .* found/,"found unexpected token")).trim()}async validateSql(e,t){return(await this.parse(e,t)).errors}async extractTableReferences(e,t){var o,a;const n=t?(a=(o=this.opts).getParserOptions)==null?void 0:a.call(o,t.state):void 0;try{return(await this.getParser()).tableList(e,n).map(u=>{const d=u.split("::");return d[d.length-1]||u})}catch{return[]}}async extractColumnReferences(e,t){var o,a;const n=t!=null&&t.state?(a=(o=this.opts).getParserOptions)==null?void 0:a.call(o,t.state):void 0;try{return(await this.getParser()).columnList(e,n).map(d=>{const m=d.split("::");return m[m.length-1]||d})}catch{return[]}}}function ui(s,e=["/*","--"]){const t=[];if(e.includes("/*")&&t.push("/\\*[\\s\\S]*?\\*/"),e.includes("--")&&t.push("--[^\\n]*"),t.length===0)return s;const n=new RegExp(`^\\s*(${t.join("|")})\\s*`,"");let o=s,a="";for(;o!==a;)a=o,o=o.replace(n,"");return o}const ci=2;function di(s){const e={};return{sql:s.replace(/("(?:[^"\\]|\\.)*")|('(?:[^'\\]|\\.)*')|(\{[^}]*\})/g,(n,o,a,r,l)=>o||a?n:r?(e[l]=ci,`'${r}'`):n),offsetRecord:e}}const mi=750;function pi(s,e){const n=e.line(s.line).from+Math.max(0,s.column-1),o=n+1;return{from:n,to:o,severity:s.severity,message:s.message,source:"sql-parser"}}function fi(s={}){const e=s.parser||new It;return rs(async t=>{const n=t.state.doc,o=n.toString();return o.trim()?(await e.validateSql(o,{state:t.state})).map(r=>pi(r,n)):[]},{delay:s.delay||mi})}function Le(s){return typeof s=="object"&&!Array.isArray(s)&&!("self"in s)}function we(s){return typeof s=="object"&&!Array.isArray(s)&&"self"in s&&"children"in s}function ye(s){return Array.isArray(s)}function re(s,e,t,n){const o=s.length;if(e==="string"||e==="completion"&&n&&ye(n))return"column";if(e==="namespace"&&t){if(ye(t))return"table";if(Le(t))return Object.values(t).some(r=>ye(r)||we(r)&&ye(r.children))?o<=1?"database":"schema":o===0?"database":"namespace"}if(e==="completion"&&t)return ye(t)?"table":(Le(t)&&Object.values(t).some(r=>ye(r)||we(r)&&ye(r.children)),o<=1?"database":"schema");switch(o){case 0:return"database";case 1:return"schema";default:return"namespace"}}function ws(s,e,t={}){const{maxDepth:n=10}=t;if(e===""&&we(s)){const a=re([],"completion",s.children);return{completion:s.self,path:[],type:"completion",semanticType:a,namespace:s.children}}const o=e.split(".").filter(a=>a.length>0);return o.length===0||o.length>n?null:bt(s,o,[],t)}function bt(s,e,t,n,o){if(e.length===0){if(we(s)){const d=re(t,"completion",s.children,o);return{completion:s.self,path:t,type:"completion",semanticType:d,namespace:s.children}}const u=re(t,"namespace",s,o);return{path:t,type:"namespace",semanticType:u,namespace:s}}const[a,...r]=e,{caseSensitive:l=!1}=n;if(!a)return null;if(Le(s)){const u=l?Object.keys(s).find(d=>d===a):Object.keys(s).find(d=>d.toLowerCase()===a.toLowerCase());if(u){const d=s[u];if(d)return bt(d,r,[...t,u],n,s)}}else{if(we(s))return bt(s.children,e,t,n,s);if(ye(s)){for(const u of s)if(typeof u=="string"){if((l?u===a:u.toLowerCase()===a.toLowerCase())&&r.length===0){const m=re([...t,u],"string",void 0,s);return{value:u,path:[...t,u],type:"string",semanticType:m}}}else if((l?u.label===a:u.label.toLowerCase()===a.toLowerCase())&&r.length===0){const m=re([...t,u.label],"completion",void 0,s);return{completion:u,path:[...t,u.label],type:"completion",semanticType:m}}}}return null}function hi(s,e,t={}){const n=[];if(e.includes(".")){const o=e.lastIndexOf("."),a=e.substring(0,o),r=e.substring(o+1),l=ws(s,a,t);if(l!=null&&l.namespace)return Ct(l.namespace,r,l.path,t)}else return Ct(s,e,[],t);return n}function Ct(s,e,t,n){const o=[],{caseSensitive:a=!1,allowPartialMatch:r=!0}=n;if(Le(s)){for(const[l,u]of Object.entries(s))if(r?a?l.startsWith(e):l.toLowerCase().startsWith(e.toLowerCase()):a?l===e:l.toLowerCase()===e.toLowerCase())if(we(u)){const m=re([...t,l],"completion",u.children,s);o.push({completion:u.self,path:[...t,l],type:"completion",semanticType:m,namespace:u.children})}else{const m=re([...t,l],"namespace",u,s);o.push({path:[...t,l],type:"namespace",semanticType:m,namespace:u})}}else if(we(s)){if(r?a?s.self.label.startsWith(e):s.self.label.toLowerCase().startsWith(e.toLowerCase()):a?s.self.label===e:s.self.label.toLowerCase()===e.toLowerCase()){const u=re([...t,s.self.label],"completion",s.children);o.push({completion:s.self,path:[...t,s.self.label],type:"completion",semanticType:u,namespace:s.children})}o.push(...Ct(s.children,e,t,n))}else if(ye(s)){for(const l of s)if(typeof l=="string"){if(r?a?l.startsWith(e):l.toLowerCase().startsWith(e.toLowerCase()):a?l===e:l.toLowerCase()===e.toLowerCase()){const d=re([...t,l],"string",void 0,s);o.push({value:l,path:[...t,l],type:"string",semanticType:d})}}else if(r?a?l.label.startsWith(e):l.label.toLowerCase().startsWith(e.toLowerCase()):a?l.label===e:l.label.toLowerCase()===e.toLowerCase()){const d=re([...t,l.label],"completion",void 0,s);o.push({completion:l,path:[...t,l.label],type:"completion",semanticType:d})}}return o}function vi(s,e,t={}){const n=[],{maxDepth:o=10}=t;nt(s,[],n,o);const{caseSensitive:a=!1}=t;return n.filter(l=>l.path.some(u=>a?u===e:u.toLowerCase()===e.toLowerCase())).sort((l,u)=>{var c,g;const d=a?l.path[l.path.length-1]===e:((c=l.path[l.path.length-1])==null?void 0:c.toLowerCase())===e.toLowerCase(),m=a?u.path[u.path.length-1]===e:((g=u.path[u.path.length-1])==null?void 0:g.toLowerCase())===e.toLowerCase();return d&&!m?-1:!d&&m?1:l.path.length-u.path.length})}function nt(s,e,t,n){if(!(e.length>=n)){if(Le(s))for(const[o,a]of Object.entries(s)){const r=[...e,o];if(we(a)){const l=re(r,"completion",a.children,s);t.push({completion:a.self,path:r,type:"completion",semanticType:l,namespace:a.children}),nt(a.children,r,t,n)}else{const l=re(r,"namespace",a,s);t.push({path:r,type:"namespace",semanticType:l,namespace:a}),nt(a,r,t,n)}}else if(we(s)){const o=re(e,"completion",s.children);t.push({completion:s.self,path:e,type:"completion",semanticType:o,namespace:s.children}),nt(s.children,e,t,n)}else if(ye(s))for(const o of s)if(typeof o=="string"){const a=re([...e,o],"string",void 0,s);t.push({value:o,path:[...e,o],type:"string",semanticType:a})}else{const a=re([...e,o.label],"completion",void 0,s);t.push({completion:o,path:[...e,o.label],type:"completion",semanticType:a})}}}function es(s,e,t={}){const{enableFuzzySearch:n=!1}=t,o=ws(s,e,t);if(o)return o;const a=hi(s,e,t);if(a.length>0)return a[0]||null;if(n){const r=vi(s,e,t);if(r.length>0)return r[0]||null}return null}function _s(s,e){if(e.size===0)return{};if(Le(s)){const t={};for(const[n,o]of Object.entries(s))if(Array.from(e).some(r=>r.toLowerCase()===n.toLowerCase()))t[n]=o;else if(Le(o)){const r=_s(o,e);Object.keys(r).length>0&&(t[n]=r)}return t}return s}function gi(s={}){const{schema:e={},keywords:t={},hoverTime:n=300,enableKeywords:o=!0,enableTables:a=!0,enableColumns:r=!0,enableFuzzySearch:l=!0,parser:u=new It,tooltipRender:d,tooltipRenderers:m={}}=s;let c=null;return fn(async(g,x,S)=>{const{from:b,to:y,text:C}=g.state.doc.lineAt(x);let E=x,$=x;c===null&&(c=typeof t=="function"?t(g):Promise.resolve(t));const L=await c;for(;E>b&&/[\w.]/.test(C[E-b-1]??"");)E--;for(;$<y&&/[\w.]/.test(C[$-b]??"");)$++;if(E===x&&S<0||$===x&&S>0)return null;const _=C.slice(E-b,$-b).toLowerCase();if(!_||_.length===0)return null;const B=typeof e=="function"?e(g):e;let D=null;if(He(),!D&&o&&L[_]){He("keywordResult",_,L[_]);const T={keyword:_,info:L[_]};D={word:_,view:g,pos:x,tooltipType:"keyword",keywordData:T}}if(!D&&(a||r)&&B){const T=g.state.doc.toString(),H=await u.extractTableReferences(T),W=new Set(H.map(j=>j.toLowerCase())),q=_s(B,W);let G=es(q,_,{enableFuzzySearch:l});if(!G&&W.size===0&&(G=es(B,_,{enableFuzzySearch:l})),G){He("namespaceResult (query-aware)",_,G,"tableRefs:",Array.from(W));const j={item:G,word:_,resolvedSchema:W.size>0?q:B};D={word:_,view:g,pos:x,tooltipType:"namespace",namespaceData:j}}else He("No namespace item found for:",_)}return D?{pos:E,end:$,above:!0,create(T){if(d){const q=d(_,T,x);if(q)return{dom:q}}let H=null;if(D.tooltipType==="keyword"&&D.keywordData)H=m.keyword?m.keyword(D.keywordData):xi(D.keywordData);else if(D.tooltipType==="namespace"&&D.namespaceData){const q=D.namespaceData,{semanticType:G}=q.item;G==="table"&&m.table?H=m.table(q):G==="column"&&m.column?H=m.column(q):(G==="database"||G==="schema"||G==="namespace")&&m.namespace?H=m.namespace(q):H=yi(q.item)}if(!H)return{dom:document.createElement("div")};const W=document.createElement("div");return W.className="cm-sql-hover-tooltip",W.innerHTML=H,{dom:W}}}:null},{hoverTime:n})}function yi(s){var o,a,r,l,u,d,m;const e=s.path.join("."),t=((o=s.completion)==null?void 0:o.label)||s.value||s.path[s.path.length-1]||"unknown";let n=`<div class="sql-hover-${s.semanticType}">`;switch(n+=`<div class="sql-hover-header"><strong>${t}</strong> <span class="sql-hover-type">${s.semanticType}</span></div>`,s.semanticType){case"database":if(n+=`<div class="sql-hover-description">Database${(a=s.completion)!=null&&a.detail?`: ${s.completion.detail}`:""}</div>`,s.namespace){const c=at(s.namespace);c>0&&(n+=`<div class="sql-hover-children">Contains ${c} schema${c!==1?"s":""}</div>`)}break;case"schema":if(n+=`<div class="sql-hover-description">Schema${(r=s.completion)!=null&&r.detail?`: ${s.completion.detail}`:""}</div>`,e&&(n+=`<div class="sql-hover-path"><strong>Path:</strong> <code>${e}</code></div>`),s.namespace){const c=at(s.namespace);c>0&&(n+=`<div class="sql-hover-children">Contains ${c} table${c!==1?"s":""}</div>`)}break;case"table":if(n+=`<div class="sql-hover-description">Table${(l=s.completion)!=null&&l.detail?`: ${s.completion.detail}`:""}</div>`,e){const c=s.path;c.length>1&&(n+=`<div class="sql-hover-path"><strong>Schema:</strong> <code>${c.slice(0,-1).join(".")}</code></div>`)}if(s.namespace&&ye(s.namespace)){const c=s.namespace;if(c.length>0){n+=`<div class="sql-hover-columns"><strong>Columns (${c.length}):</strong><br>`;const x=c.slice(0,8).map(S=>typeof S=="string"?S:S.label);n+=x.map(S=>`<code>${S}</code>`).join(", "),c.length>8&&(n+=`, <em>and ${c.length-8} more...</em>`),n+="</div>"}}break;case"column":if(n+=`<div class="sql-hover-description">Column${(u=s.completion)!=null&&u.detail?`: ${s.completion.detail}`:""}</div>`,e){const c=s.path;c.length>1&&(n+=`<div class="sql-hover-path"><strong>Table:</strong> <code>${c.slice(0,-1).join(".")}</code></div>`)}break;default:if(n+=`<div class="sql-hover-description">Namespace${(d=s.completion)!=null&&d.detail?`: ${s.completion.detail}`:""}</div>`,e&&(n+=`<div class="sql-hover-path"><strong>Path:</strong> <code>${e}</code></div>`),s.namespace){const c=at(s.namespace);c>0&&(n+=`<div class="sql-hover-children">Contains ${c} item${c!==1?"s":""}</div>`)}break}return(m=s.completion)!=null&&m.info&&typeof s.completion.info=="string"&&(n+=`<div class="sql-hover-info">${s.completion.info}</div>`),n+="</div>",n}function at(s){return Array.isArray(s)?s.length:typeof s=="object"&&s!==null?"self"in s&&"children"in s?1+at(s.children):Object.keys(s).length:0}function xi(s){const{keyword:e,info:t}=s;let n='<div class="sql-hover-keyword">';if(n+=`<div class="sql-hover-header"><strong>${e.toUpperCase()}</strong> <span class="sql-hover-type">keyword</span></div>`,n+=`<div class="sql-hover-description">${t.description}</div>`,t.syntax&&(n+=`<div class="sql-hover-syntax"><strong>Syntax:</strong> <code>${t.syntax}</code></div>`),t.example&&(n+=`<div class="sql-hover-example"><strong>Example:</strong><br><code>${t.example}</code></div>`),t.metadata&&typeof t.metadata=="object"&&Object.keys(t.metadata).length>0){n+='<div class="sql-hover-metadata">';for(const[o,a]of Object.entries(t.metadata))n+=`<span class="sql-hover-tag" title="${o}">${a}</span> `;n+="</div>"}return n+="</div>",n}const bi=(s="light")=>{const n=s==="dark"?{tooltipBg:"#1f2937",tooltipBorder:"#374151",tooltipText:"#f9fafb",tooltipTypeBg:"#374151",tooltipTypeText:"#9ca3af",tooltipChildren:"#9ca3af",codeBg:"#374151",codeText:"#f3f4f6",strong:"#ffffff",em:"#9ca3af",header:"#ffffff",info:"#d1d5db",related:"#d1d5db",path:"#d1d5db",example:"#d1d5db",columns:"#d1d5db",syntax:"#d1d5db"}:{tooltipBg:"#ffffff",tooltipBorder:"#e5e7eb",tooltipText:"#374151",tooltipTypeBg:"#f3f4f6",tooltipTypeText:"#6b7280",tooltipChildren:"#6b7280",codeBg:"#f9fafb",codeText:"#1f2937",strong:"#111827",em:"#6b7280",header:"#111827",info:"#374151",related:"#374151",path:"#374151",example:"#374151",columns:"#374151",syntax:"#374151"};return zt.theme({".cm-sql-hover-tooltip":{padding:"8px 12px",backgroundColor:n.tooltipBg,border:`1px solid ${n.tooltipBorder}`,borderRadius:"6px",boxShadow:"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",fontSize:"13px",lineHeight:"1.4",maxWidth:"320px",fontFamily:"system-ui, -apple-system, sans-serif",color:n.tooltipText},".cm-sql-hover-tooltip .sql-hover-header":{marginBottom:"6px",display:"flex",alignItems:"center",gap:"6px",color:n.header},".cm-sql-hover-tooltip .sql-hover-type":{fontSize:"11px",padding:"2px 6px",backgroundColor:n.tooltipTypeBg,color:n.tooltipTypeText,borderRadius:"4px",fontWeight:"500"},".cm-sql-hover-tooltip .sql-hover-description":{color:n.info,marginBottom:"8px"},".cm-sql-hover-tooltip .sql-hover-syntax":{marginBottom:"8px",color:n.syntax},".cm-sql-hover-tooltip .sql-hover-example":{marginBottom:"4px",color:n.example},".cm-sql-hover-tooltip .sql-hover-columns":{marginBottom:"4px",color:n.columns},".cm-sql-hover-tooltip .sql-hover-related":{marginBottom:"4px",color:n.related},".cm-sql-hover-tooltip .sql-hover-path":{marginBottom:"4px",color:n.path},".cm-sql-hover-tooltip .sql-hover-info":{marginBottom:"4px",color:n.info},".cm-sql-hover-tooltip .sql-hover-children":{marginBottom:"4px",color:n.tooltipChildren,fontSize:"12px"},".cm-sql-hover-tooltip code":{backgroundColor:n.codeBg,padding:"1px 4px",borderRadius:"3px",fontSize:"12px",fontFamily:"ui-monospace, 'SF Mono', 'Monaco', 'Cascadia Code', 'Roboto Mono', monospace",color:n.codeText},".cm-sql-hover-tooltip strong":{fontWeight:"600",color:n.strong},".cm-sql-hover-tooltip em":{fontStyle:"italic",color:n.em}})};class Ci{constructor(e){oe(this,"parser");oe(this,"cache",new Map);oe(this,"MAX_CACHE_SIZE",10);this.parser=e}async analyzeDocument(e){const t=e.doc.toString(),n=this.generateCacheKey(t),o=this.cache.get(n);if(o)return o;const a=await this.extractStatements(t,e);if(this.cache.set(n,a),this.cache.size>this.MAX_CACHE_SIZE){const r=this.cache.keys().next().value;r!==void 0&&this.cache.delete(r)}return a}async getStatementAtPosition(e,t){return(await this.analyzeDocument(e)).find(o=>t>=o.from&&t<=o.to)||null}async getStatementsInRange(e,t,n){return(await this.analyzeDocument(e)).filter(a=>a.from<=n&&a.to>=t)}async extractStatements(e,t){const n=[],o=this.splitByStatementSeparators(e);let a=0;for(const r of o){const l=r.trim();if(l.length===0){a+=r.length;continue}const u=a+r.indexOf(l),d=u+l.length,m=t.doc.lineAt(u),c=t.doc.lineAt(d),g=this.stripComments(l);if(g.trim().length===0||g.trim()===";"){a+=r.length;continue}const x=await this.parser.parse(g,{state:t}),S=this.determineStatementType(g),b=g.endsWith(";")?g.slice(0,-1).trim():g.trim();n.push({from:u,to:d,lineFrom:m.number,lineTo:c.number,content:b,type:S,isValid:x.success}),a+=r.length}return n}splitByStatementSeparators(e){const t=[];let n="",o=!1,a="",r=!1,l=!1,u=0;for(;u<e.length;){const d=e[u],m=e[u+1];if(!o&&!l&&d==="-"&&m==="-"){r=!0,n+=d+m,u+=2;continue}if(!o&&!r&&d==="/"&&m==="*"){l=!0,n+=d+m,u+=2;continue}if(l&&d==="*"&&m==="/"){l=!1,n+=d+m,u+=2;continue}if(r&&(d===`
12
+ `||d==="\r")){r=!1,n+=d,u++;continue}if(r||l){n+=d,u++;continue}if(!o&&(d==="'"||d==='"'||d==="`"))o=!0,a=d,n+=d;else if(o&&d===a){if(m===a){n+=d+m,u+=2;continue}o=!1,a="",n+=d}else!o&&d===";"?(n+=d,t.push(n),n=""):n+=d;u++}return n.trim()&&t.push(n),t}determineStatementType(e){const t=e.trim().toLowerCase();return t.startsWith("select")?"select":t.startsWith("insert")?"insert":t.startsWith("update")?"update":t.startsWith("delete")?"delete":t.startsWith("create")?"create":t.startsWith("drop")?"drop":t.startsWith("alter")?"alter":t.startsWith("use")?"use":"other"}stripComments(e){let t="",n=!1,o="",a=!1,r=!1,l=0;for(;l<e.length;){const u=e[l],d=e[l+1];if(!n&&!r&&u==="-"&&d==="-"){a=!0,l+=2;continue}if(!n&&!a&&u==="/"&&d==="*"){r=!0,l+=2;continue}if(r&&u==="*"&&d==="/"){r=!1,l+=2;continue}if(a&&(u===`
13
+ `||u==="\r")){a=!1,t+=u,l++;continue}if(a||r){l++;continue}if(!n&&(u==="'"||u==='"'||u==="`"))n=!0,o=u,t+=u;else if(n&&u===o){if(d===o){t+=u+d,l+=2;continue}n=!1,o="",t+=u}else t+=u;l++}return t}generateCacheKey(e){let t=0;for(let n=0;n<e.length;n++){const o=e.charCodeAt(n);t=(t<<5)-t+o,t=t&t}return t.toString()}clearCache(){this.cache.clear()}}const Es=vn.define(),Ts=hn.define({create(){return{currentStatement:null,allStatements:[],cursorPosition:0,isFocused:!0}},update(s,e){for(const t of e.effects)if(t.is(Es))return t.value;return s}});class Si extends xn{constructor(t,n,o=!0,a=!0){super();oe(this,"config");oe(this,"isCurrent");oe(this,"isValid");oe(this,"isFocused");this.config=t,this.isCurrent=n,this.isValid=o,this.isFocused=a}toDOM(){const t=document.createElement("div");t.className="cm-sql-gutter-marker";let n=this.config.backgroundColor||"#3b82f6";!this.isValid&&this.config.showInvalid!==!1&&(n=this.config.errorBackgroundColor||"#ef4444");let o;return this.isFocused?o=this.isCurrent?"1":(this.config.inactiveOpacity||"0.3").toString():this.config.unfocusedOpacity!==void 0?o=this.config.unfocusedOpacity.toString():this.config.hideWhenNotFocused?o="0":o=this.isCurrent?"1":(this.config.inactiveOpacity||"0.3").toString(),t.style.cssText=`
14
+ background: ${n};
15
+ height: 100%;
16
+ width: 100%;
17
+ opacity: ${o};
18
+ transition: opacity 150ms ease-in-out;
19
+ border-radius: 1px;
20
+ `,t}eq(t){return this.isCurrent===t.isCurrent&&this.isValid===t.isValid&&this.isFocused===t.isFocused&&this.config===t.config}}function wi(s,e){var l;let t=yn.empty;if((l=e.whenHide)!=null&&l.call(e,s))return t;const n=s.state.field(Ts,!1);if(!n)return t;const{currentStatement:o,allStatements:a,isFocused:r}=n;try{for(const u of a){const d=(o==null?void 0:o.from)===u.from&&(o==null?void 0:o.to)===u.to;if(!u.isValid&&e.showInvalid===!1)continue;const m=new Si(e,d,u.isValid,r);for(let c=u.lineFrom;c<=u.lineTo;c++)try{if(c<1||c>s.state.doc.lines)continue;const g=s.state.doc.line(c);t=t.update({add:[m.range(g.from)]})}catch(g){console.warn("SqlGutter: Invalid line number",c,g)}}}catch(u){console.warn("SqlGutter: Error creating markers",u)}return t}function _i(s){return zt.updateListener.of(async e=>{if(!e.docChanged&&!e.selectionSet&&!e.focusChanged)return;const{state:t}=e.view,{main:n}=t.selection,o=n.head,a=await s.analyzeDocument(t),l={currentStatement:await s.getStatementAtPosition(t,o),allStatements:a,cursorPosition:o,isFocused:e.view.hasFocus};e.view.dispatch({effects:Es.of(l)})})}function Ei(s){const e=s.width||3;return zt.baseTheme({".cm-sql-gutter":{width:`${e}px`,minWidth:`${e}px`},".cm-sql-gutter .cm-gutterElement":{width:`${e}px`,padding:"0",margin:"0"},".cm-sql-gutter-marker":{width:"100%",height:"100%",display:"block"},".cm-lineNumbers .cm-gutterElement":{paddingLeft:"8px",paddingRight:"8px"}})}function Ti(s){return gn({class:`cm-sql-gutter ${s.className||""}`,markers:e=>wi(e,s)})}function Ri(s={}){const e=s.parser||new It,t=new Ci(e);return[Ts,_i(t),Ei(s),Ti(s)]}function ki(s={}){const e=[],{enableLinting:t=!0,enableGutterMarkers:n=!0,enableHover:o=!0,linterConfig:a,gutterConfig:r,hoverConfig:l}=s;return t&&e.push(fi(a)),n&&e.push(Ri(r)),o&&(e.push(gi(l)),l!=null&&l.theme?e.push(l.theme):e.push(bi())),e}const ot='(?:"(?:[^"]|"")+"|[A-Za-z_][A-Za-z0-9_$]*)',$i=new RegExp(`(${ot})\\s*\\.\\s*([A-Za-z_][A-Za-z0-9_$]*)?$`),ts=new RegExp(`\\b(?:FROM|JOIN)\\s+(${ot}(?:\\s*\\.\\s*${ot})*)(?:\\s+(?:AS\\s+)?(${ot}))?`,"gi"),zi=new Set(["all","cross","except","fetch","for","from","full","group","having","inner","intersect","join","left","limit","offset","on","order","outer","right","select","union","where"]);function Te(s){const e=s.trim();return e.startsWith('"')&&e.endsWith('"')?e.slice(1,-1).replace(/""/g,'"'):e.toLowerCase()}function Rs(s){const e=[];let t="",n=!1;for(let o=0;o<s.length;o++){const a=s[o];if(a==='"'){if(t+=a,n&&s[o+1]==='"'){t+=s[o+1],o++;continue}n=!n;continue}if(!n&&a==="."){t.trim()&&e.push(t.trim()),t="";continue}t+=a}return t.trim()&&e.push(t.trim()),e}function Ai(s,e){let n=ms(s).resolveInner(e,-1);for(;n;){if(n.type.name==="Statement")return n;n=n.parent}return null}function Li(s){const e=new Map;let t=ts.exec(s);for(;t!==null;){const n=t[1],o=t[2];if(n){const r=Rs(n).at(-1);if(r&&e.set(Te(r),n),o){const l=Te(o);zi.has(l)||e.set(l,n)}}t=ts.exec(s)}return e}function Mi(s){return/Comment|String/.test(s.type.name)}function ft(s,e){if(!s.tableDetails)return null;for(const[t,n]of Object.entries(s.tableDetails))if(Te(t)===e)return{tableName:t,schemaName:s.name,tableInfo:n};return null}function ht({tableReference:s,tableName:e,schemaName:t,tableInfo:n}){var o,a;return{tableName:e,schemaName:t,tableReference:s,columns:n.columns||[],primaryKeyColumns:new Set(((o=n.primary_keys)==null?void 0:o.map(r=>r.column))||[]),foreignKeysByColumn:new Map(((a=n.foreign_keys)==null?void 0:a.map(r=>[r.column,r]))||[])}}function Ni({tableReference:s,schemas:e,defaultSchemaName:t}){if(!(e!=null&&e.length))return null;const n=Rs(s).map(l=>Te(l));if(!n.length)return null;const o=n[n.length-1],a=n.length>1?n[n.length-2]:void 0;if(a){const l=e.find(u=>Te(u.name)===a);if(l){const u=ft(l,o);if(u)return ht({tableReference:s,tableName:u.tableName,schemaName:u.schemaName,tableInfo:u.tableInfo})}}const r=t?Te(t):void 0;if(r){const l=e.find(u=>Te(u.name)===r);if(l){const u=ft(l,o);if(u)return ht({tableReference:s,tableName:u.tableName,schemaName:u.schemaName,tableInfo:u.tableInfo})}}for(const l of e){const u=ft(l,o);if(u)return ht({tableReference:s,tableName:u.tableName,schemaName:u.schemaName,tableInfo:u.tableInfo})}return null}function Ii(s){return[...s.columns].sort((t,n)=>(t.ordinal_position||0)-(n.ordinal_position||0)).map(t=>ma({column:t,tableName:s.tableName,schemaName:s.schemaName,isPrimaryKey:s.primaryKeyColumns.has(t.name),foreignKey:s.foreignKeysByColumn.get(t.name)}))}function Oi(s,e){const t=ms(s.state).resolveInner(s.pos,-1);if(Mi(t))return null;const n=Ai(s.state,s.pos);if(!n)return null;const o=s.state.doc.sliceString(n.from,s.pos),a=$i.exec(o);if(!a)return null;const r=a[1],l=a[2]||"",u=Te(r),d=s.state.doc.sliceString(n.from,n.to),c=Li(d).get(u)||r,g=Ni({tableReference:c,schemas:e.schemas,defaultSchemaName:e.defaultSchemaName});return g?{from:s.pos-l.length,options:Ii(g),validFor:/^[A-Za-z0-9_$]*$/}:null}function Pi(s,e){if(!e.fileVariables)return null;const t=s.matchBefore(/:\w*$/);if(!t)return null;try{const n=JSON.parse(e.fileVariables),o=[];for(const a in n)o.push({label:`:${a}`,type:bn.Variable,boost:120,detail:"variable",info:()=>da(a,n[a]),apply(r,l,u,d){const c=r.state.doc.sliceString(u-1,u)===":"?u-1:u;r.dispatch({changes:{from:c,to:d,insert:l.label}})}});return{from:t.from,options:o,validFor:/^:\w*$/}}catch{return null}}function Di(s){return e=>{const t=Pi(e,s);return t||Oi(e,s)}}const Vi=async()=>(await ds(()=>import("./BiOIaWuc.js"),[],import.meta.url)).default.keywords;function qi({codeEditorRef:s,fileVariables:e,connection:t,onExecuteStatement:n,onExplainAnalyzeCurrent:o}){const a=Cn(),{schemasByContext:r,activeSchema:l}=us(a),u=K({line:1,column:1}),d=()=>{var j;return(j=s.value)==null?void 0:j.editorView},m=P(()=>{var j,te,ge;return((j=l.value)==null?void 0:j.name)||((ge=(te=r.value)==null?void 0:te[0])==null?void 0:ge.name)}),c=P(()=>{var j;return((j=t==null?void 0:t.value)==null?void 0:j.type)===Z.REDIS}),g=P(()=>!c.value),x=P(()=>{var j;return((j=t==null?void 0:t.value)==null?void 0:j.type)===Z.POSTGRES}),S=P(()=>pa({schemas:r.value,defaultSchemaName:m.value,fileVariables:e.value})),b=new ut,y=new ut,C=new ut,E=()=>{var j,te;return $n({dialect:Vt((j=t==null?void 0:t.value)==null?void 0:j.type),upperCaseKeywords:!0,keywordCompletion:!((te=t==null?void 0:t.value)!=null&&te.type)||t.value.type===Z.POSTGRES?Ln:void 0,schema:S.value.schema,defaultSchema:S.value.defaultSchema})},$=()=>c.value?kn():E(),L=()=>{var j;return c.value?[]:Vt((j=t==null?void 0:t.value)==null?void 0:j.type).language.data.of({autocomplete:B()})},_=()=>c.value?[]:ki({enableLinting:!1,enableGutterMarkers:!1,enableHover:!0,hoverConfig:{hoverTime:250,enableKeywords:!0,keywords:async()=>await Vi(),enableTables:!1,enableColumns:!1,enableFuzzySearch:!1}}),B=()=>Di({schemas:r.value,defaultSchemaName:m.value,fileVariables:e.value}),{onHandleFormatCurrentStatement:D,onHandleFormatCode:T}=ca({getEditorView:()=>d()}),H=()=>{g.value&&D()},W=()=>{g.value&&T()},q=[Ea(n),ns.of([{key:"Mod-s",run:()=>(H(),!0),preventDefault:!0},{key:"Shift-Alt-f",run:()=>(W(),!0),preventDefault:!0},{key:"Mod-e",run:()=>(x.value&&o(),!0),preventDefault:!0},{key:"Mod-i",run:Tn},{key:"Tab",run:Rn}]),b.of($()),y.of(L()),Sn,wn,..._n(),os(),C.of(_()),En],G=()=>{var he;const j=d();if(!j)return;const te=zn((he=t==null?void 0:t.value)==null?void 0:he.type),ge=c.value?"line":"sql";j.dispatch({effects:[An.of({dialect:te,isEnable:!c.value,statementMode:ge}),b.reconfigure($()),y.reconfigure(L()),C.reconfigure(_())]})};return de(()=>{var j;return[(j=l.value)==null?void 0:j.name,r.value]},()=>{var j;(j=l.value)!=null&&j.name&&G()},{deep:!0,immediate:!0}),t&&de(()=>{var j;return(j=t.value)==null?void 0:j.type},()=>{G()}),de(()=>{var j;return(j=s.value)==null?void 0:j.editorView},j=>{j&&G()},{immediate:!0}),{extensions:q,sqlCompartment:b,cursorInfo:u,onHandleFormatCode:W,onHandleFormatCurrentStatement:H,reloadSqlCompartment:G}}function Fi({fileVariables:s,connection:e,redisDatabaseIndex:t,fieldDefs:n,beforeExecute:o}){const a=K(null),{explainAnalyzeOptionItems:r,serializeMode:l,toggleExplainOption:u,setSerializeMode:d,buildExplainAnalyzePrefix:m}=ri(),c=li(),x=oi({getEditorView:()=>{var b;return((b=a.value)==null?void 0:b.editorView)??null},connection:e,redisDatabaseIndex:t,fileVariables:s,fieldDefs:n,resultTabs:c,buildExplainAnalyzePrefix:m,beforeExecute:o}),S=qi({codeEditorRef:a,fileVariables:s,connection:e,onExecuteStatement:x.executeCurrentStatement,onExplainAnalyzeCurrent:x.onExplainAnalyzeCurrent});return{codeEditorRef:a,currentRawQueryResult:x.currentRawQueryResult,rawResponse:x.rawResponse,queryProcessState:x.queryProcessState,onExecuteCurrent:x.onExecuteCurrent,extensions:S.extensions,sqlCompartment:S.sqlCompartment,cursorInfo:S.cursorInfo,onHandleFormatCode:S.onHandleFormatCode,onHandleFormatCurrentStatement:S.onHandleFormatCurrentStatement,onExplainAnalyzeCurrent:x.onExplainAnalyzeCurrent,explainAnalyzeOptionItems:r,serializeMode:l,toggleExplainOption:u,setSerializeMode:d,reloadSqlCompartment:S.reloadSqlCompartment,cancelStreamingQuery:x.cancelStreamingQuery,executedResults:c.executedResults,activeResultTabId:c.activeResultTabId,setActiveResultTab:c.setActiveResultTab,closeResultTab:c.closeResultTab,closeOtherResultTabs:c.closeOtherResultTabs,closeResultTabsToRight:c.closeResultTabsToRight,updateResultTabView:c.updateResultTabView}}const vt=s=>{const{currentStatements:e}=rt(s);if(!e.length)return null;const t=Math.min(...e.map(a=>a.from)),n=Math.max(...e.map(a=>a.to));return{text:e.map(a=>a.text).join(`
21
+ `),from:t,to:n}};function Bi(s){const e=K(!1),t=K(!1),n=()=>{const u=s.getEditorView();if(!u)return;const d=vt(u);d&&navigator.clipboard.writeText(d.text)},o=()=>{const u=s.getEditorView();if(!u)return;const d=u.state.doc.toString();d&&navigator.clipboard.writeText(d)},a=()=>{const u=s.getEditorView();if(!u)return;const d=vt(u);if(!d)return;let m=d.to;const c=u.state.doc.length;for(;m<c;){const g=u.state.sliceDoc(m,m+1);if(g===`
22
+ `||g==="\r"){m++;break}if(g===" "||g===" ")m++;else break}u.dispatch({changes:{from:d.from,to:m,insert:""},annotations:[Mn.addToHistory.of(!0)]}),u.focus()};return{contextMenuItems:P(()=>{var m,c;const u=!e.value,d=!t.value;return[{type:U.ACTION,title:"Execute",icon:"hugeicons:play",shortcut:"⌘↵",select:s.onExecuteCurrent,disabled:u},...(m=s.isExplainSupported)!=null&&m.value?[{type:U.ACTION,title:"Analyze Query",icon:"hugeicons:analytics-01",shortcut:"⌘E",select:s.onExplainAnalyzeCurrent,disabled:u}]:[],{type:U.SEPARATOR},...(c=s.isSupportFormat)!=null&&c.value?[{type:U.ACTION,title:"Format Current",icon:"hugeicons:magic-wand-01",shortcut:"⌘S",select:s.onHandleFormatCurrentStatement,disabled:u},{type:U.ACTION,title:"Format All",icon:"hugeicons:text-align-left",shortcut:"⇧⌥F",select:s.onHandleFormatCode,disabled:d}]:[],{type:U.SEPARATOR},{type:U.ACTION,title:"Copy Statement",icon:"hugeicons:copy-02",select:n,disabled:u},{type:U.ACTION,title:"Copy All",icon:"hugeicons:copy-01",select:o,disabled:d},{type:U.SEPARATOR},{type:U.ACTION,title:"Delete Statement",icon:"hugeicons:delete-02",select:a,disabled:u}]}),onContextMenuOpen:u=>{if(!u)return;const d=s.getEditorView();if(!d){e.value=!1,t.value=!1;return}t.value=d.state.doc.length>0,e.value=!!vt(d)}}}function ji(){const{workspaceId:s,connectionId:e}=Nn(),t=ps(),n=In(),o=On(),a=n.getFileContentByIdSync(t.params.fileId),r=K((a==null?void 0:a.contents)??""),l=K(""),u=K(""),d=K([]),m=P(()=>{var L;return(L=n==null?void 0:n.flatNodes)==null?void 0:L.find(_=>_.id===t.params.fileId)});de(()=>{var L;return(L=m.value)==null?void 0:L.variables},L=>{l.value=L||""},{immediate:!0});const c=P(()=>o.getConnectionsByWorkspaceId(s.value)),g=P(()=>c.value.find(L=>L.id===e.value));de([()=>t.params.fileId,e],()=>{u.value=e.value},{immediate:!0});const x=P(()=>c.value.find(L=>L.id===u.value));return{fieldDefs:d,fileContents:r,fileVariables:l,currentFile:m,selectedConnectionId:u,updateSelectedConnection:L=>{u.value=L},updateFileContent:async L=>{var _;(_=m.value)!=null&&_.id&&(r.value=L,n.updateFileContent({contents:L,id:m.value.id}))},updateFileVariables:async L=>{var _;(_=m.value)!=null&&_.id&&(l.value=L,n.updateFile({id:m.value.id,variables:L}))},connection:x,currentOpenedConnection:g,connectionsByWsId:c,updateFileCursorPos:L=>{var _;(_=m.value)!=null&&_.id&&n.updateFile({id:m.value.id,cursorPos:L})},loadFileContent:async()=>{var _;const{contents:L}=await n.getFileContentById(t.params.fileId);r.value=L,l.value=((_=m.value)==null?void 0:_.variables)||""},isFromCache:a!==null}}const Ui={class:"flex flex-col h-full p-1"},Hi={class:"flex flex-col h-full border rounded-md"},Qi={class:"h-full flex flex-col overflow-y-auto"},Wi={class:"flex flex-col h-full border rounded-md bg-muted"},Ki={class:"flex items-center gap-1 font-normal text-sm px-2 py-1"},Gi={class:"h-full flex flex-col overflow-y-auto"},Yi=X({__name:"RawQuery",props:{isSupportVariable:{type:Boolean,default:!0}},setup(s){const e=s,t=ps(),n=P(()=>{const J=t.params.workspaceId;return Array.isArray(J)?J[0]??"":J??""}),o=is(),a=Pn(),r=ji(),{connection:l,currentFile:u,currentOpenedConnection:d,fileContents:m,fileVariables:c,selectedConnectionId:g,updateSelectedConnection:x,updateFileContent:S,updateFileVariables:b,connectionsByWsId:y,fieldDefs:C}=r,E=P(()=>{var J;return((J=l.value)==null?void 0:J.type)===Z.REDIS}),$=P(()=>!E.value),L=P(()=>{var J;return[Z.SQLITE3,Z.BETTER_SQLITE3].includes((J=l.value)==null?void 0:J.type)}),_=P(()=>e.isSupportVariable&&!E.value&&!L.value),B=P(()=>{var J;return((J=l.value)==null?void 0:J.type)===Z.POSTGRES}),D=K("");Dn(()=>{D.value=_.value?c.value:""});const T=P(()=>E.value?l.value:void 0),H=Bn({connection:T,mode:"meta"}),W=J=>{H.selectedDatabaseIndex.value=J},q=Fi({connection:l,redisDatabaseIndex:H.selectedDatabaseIndex,fieldDefs:C,fileVariables:D,beforeExecute:()=>Y()}),{cursorInfo:G,extensions:j,codeEditorRef:te,onExecuteCurrent:ge,onHandleFormatCode:he,onHandleFormatCurrentStatement:Me,onExplainAnalyzeCurrent:Ne,explainAnalyzeOptionItems:Ie,serializeMode:_e,currentRawQueryResult:Oe,queryProcessState:me,executedResults:Re,activeResultTabId:Ee}=q,{contextMenuItems:ae,onContextMenuOpen:Pe}=Bi({onExecuteCurrent:q.onExecuteCurrent,onExplainAnalyzeCurrent:q.onExplainAnalyzeCurrent,onHandleFormatCurrentStatement:q.onHandleFormatCurrentStatement,onHandleFormatCode:q.onHandleFormatCode,isSupportFormat:$,isExplainSupported:B,getEditorView:()=>{var J;return(J=te.value)==null?void 0:J.editorView}}),w=K(0),k=K(!0),M=K(!1),z=K(""),N=K("");let R=null;const F=P(()=>d.value?a.getTagsByIds(d.value.tagIds??[]).some(J=>J.strictMode):!1),Y=()=>{const J=l.value,ve=d.value;return!J||!ve||J.id===ve.id?Promise.resolve(!0):M.value?Promise.resolve(!1):(z.value=J.name,N.value=ve.name,M.value=!0,new Promise(ke=>{R=ke}))},se=()=>{M.value=!1,R==null||R(!0),R=null},be=()=>{M.value=!1,R==null||R(!1),R=null};Vn([{key:"mod+j",callback:()=>{k.value=!k.value}},{key:"ctrl+j",callback:()=>{k.value=!k.value}}]),de(D,()=>{q.reloadSqlCompartment()});const De=({column:J,from:ve,line:ke,to:Ve})=>{G.value={column:J,line:ke},r.updateFileCursorPos({from:ve,to:Ve})},je=(J=!0)=>{var Ve,Ge;if(!((Ve=u.value)!=null&&Ve.cursorPos)||!((Ge=te.value)!=null&&Ge.editorView))return;const ve=u.value.cursorPos.from??0,ke=u.value.cursorPos.to||0;te.value.setCursorPosition({from:ve,to:ke,allowScroll:J})},it=K(!r.isFromCache);return kt(async()=>{it.value&&(await r.loadFileContent(),it.value=!1,await Ce()),je()}),qn(async()=>{var J;await Ce(),je(!1),(J=te.value)!=null&&J.editorView&&(te.value.editorView.scrollDOM.scrollTop=w.value)}),$t(()=>{R&&(R(!1),R=null)}),(J,ve)=>{const ke=fe,Ve=Ke;return v(),A(ee,null,[p(Oa,{open:i(M),"target-connection-name":i(z),"current-connection-name":i(N),onConfirm:se,onCancel:be},null,8,["open","target-connection-name","current-connection-name"]),p(go,{layout:i(o).codeEditorLayout,customLayout:i(o).activeCustomLayout,"show-result-panel":i(k)},{content:h(()=>[f("div",Ui,[f("div",Hi,[p(mo,{"onUpdate:connectionId":i(x),connections:i(y),connection:i(l),"selected-connection-id":i(g),"disable-connection-switch":i(F),"is-redis-connection":i(E),"redis-databases":i(H).databases.value,"redis-database-index":i(H).selectedDatabaseIndex.value,workspaceId:i(n),"file-variables":i(c),"code-editor-layout":i(o).codeEditorLayout,currentFileInfo:i(u),"is-support-variable":i(_),"onUpdate:redisDatabaseIndex":W,"onUpdate:updateFileVariables":i(b)},null,8,["onUpdate:connectionId","connections","connection","selected-connection-id","disable-connection-switch","is-redis-connection","redis-databases","redis-database-index","workspaceId","file-variables","code-editor-layout","currentFileInfo","is-support-variable","onUpdate:updateFileVariables"]),f("div",Qi,[p(Da,{"context-menu-items":i(ae),"onUpdate:open":i(Pe)},{default:h(()=>[i(it)?(v(),I(i(cs),{key:0,visible:""})):(v(),I(ls,{key:1,"onUpdate:modelValue":i(S),"onUpdate:cursorInfo":De,"onUpdate:onScrollTop":ve[0]||(ve[0]=Ge=>w.value=Ge),modelValue:i(m),extensions:i(j),ref_key:"codeEditorRef",ref:te},null,8,["onUpdate:modelValue","modelValue","extensions"]))]),_:1},8,["context-menu-items","onUpdate:open"])]),p(no,{"cursor-info":i(G),"execute-loading":i(me).executeLoading,"execute-errors":!!i(me).executeErrors,"is-have-one-execute":i(me).isHaveOneExecute,"is-streaming":i(me).isStreaming,"streaming-row-count":i(me).streamingRowCount,queryTime:i(me).queryTime,"raw-query-results-length":i(Oe).length,"explain-analyze-option-items":i(Ie),"serialize-mode":i(_e),"is-support-format":i($),"is-support-variable":i(_),"is-explain-supported":i(B),onOnFormatCurrentStatement:i(Me),onOnFormatAll:i(he),onOnExplainAnalyzeCurrent:i(Ne),onToggleExplainOption:i(q).toggleExplainOption,"onUpdate:serializeMode":i(q).setSerializeMode,onOnExecuteCurrent:i(ge),onOnCancelQuery:i(q).cancelStreamingQuery},null,8,["cursor-info","execute-loading","execute-errors","is-have-one-execute","is-streaming","streaming-row-count","queryTime","raw-query-results-length","explain-analyze-option-items","serialize-mode","is-support-format","is-support-variable","is-explain-supported","onOnFormatCurrentStatement","onOnFormatAll","onOnExplainAnalyzeCurrent","onToggleExplainOption","onUpdate:serializeMode","onOnExecuteCurrent","onOnCancelQuery"])])])]),variables:h(()=>[f("div",Wi,[f("div",Ki,[p(ke,{name:"hugeicons:absolute"}),ve[1]||(ve[1]=O(" Variables "))]),f("div",Gi,[i(_)?(v(),I(ys,{key:1,variables:i(c),"onUpdate:variables":i(b),onUpdateVariables:i(b),"file-variables":i(c)},null,8,["variables","onUpdate:variables","onUpdateVariables","file-variables"])):(v(),I(Ve,{key:0,title:"Variables not supported",desc:"Variables are not available for Redis and SQLite connections.",icon:"icons:ghost"}))])])]),result:h(()=>[i(Re).size===0?(v(),I(Ma,{key:0})):(v(),I(si,{key:1,"executed-results":i(Re),"active-tab-id":i(Ee),"execute-loading":i(me).executeLoading,"is-streaming":i(me).isStreaming,"onUpdate:activeTab":i(q).setActiveResultTab,onCloseTab:i(q).closeResultTab,onCloseOtherTabs:i(q).closeOtherResultTabs,onCloseTabsToRight:i(q).closeResultTabsToRight,"onUpdate:view":i(q).updateResultTabView},null,8,["executed-results","active-tab-id","execute-loading","is-streaming","onUpdate:activeTab","onCloseTab","onCloseOtherTabs","onCloseTabsToRight","onUpdate:view"]))]),_:1},8,["layout","customLayout","show-result-panel"])],64)}}}),Eu=X({__name:"[fileId]",setup(s){return(e,t)=>(v(),I(Yi))}});export{Eu as default};
@@ -1 +1 @@
1
- import{b1 as V,r as T,a3 as X,aB as Y,G as $,c as N,K as G,au as j,b2 as m,b3 as q,b4 as Q,b5 as A,b6 as Z,b7 as J,b8 as ee,d as ae,b9 as te,e as se,f as H,g as _,i as le,aH as ne,P as oe,o as re}from"./D0lW43G8.js";import{b as ce,_ as ie}from"./DChDHsIe.js";import{u as ue}from"./C0vscAQB.js";const de=V("erdStore",()=>{const i=T(""),s=T([]);function u(l){s.value=l}function f(l){i.value=l}return{currentConnectionId:i,tables:s,setTables:u,setCurrentConnectionId:f}},{persist:!1}),fe=()=>{var a;const i=X(),s=de();if(s.tables.length>0&&((a=i.selectedConnection)==null?void 0:a.id)===s.currentConnectionId)return{isFetching:!1,tableSchema:Y(s.tables||[])};const{data:u,status:f}=ue("/api/metadata/erd",{method:"POST",body:{...$(i.selectedConnection)},onResponseError({response:t}){G(t==null?void 0:t.statusText)},onResponse:({response:t})=>{var g;const d=t._data.tables||[];s.setTables(d),s.setCurrentConnectionId(((g=i.selectedConnection)==null?void 0:g.id)||"")}},"$13ug5ALprk"),l=N(()=>f.value==="pending"),n=N(()=>{var t;return((t=u.value)==null?void 0:t.tables)||[]});return{isFetching:l,tableSchema:n}},{HORIZONTAL_STEP:M,VERTICAL_STEP:W}=Z,D=(i,s)=>{const u=new Map(s.map(a=>[m({schemaName:a.schema,tableName:a.table}),a])),f=u.get(i);if(!f)return{leftTables:[],rightTables:[]};const l=[];for(const a of f.foreign_keys){const t=m({schemaName:a.reference_schema,tableName:a.reference_table}),d=u.get(t);d&&t!==i&&l.push(d)}const n=[];for(const a of s)if(m({schemaName:a.schema,tableName:a.table})!==i){for(const d of a.foreign_keys)if(m({schemaName:d.reference_schema,tableName:d.reference_table})===i){n.push(a);break}}return{leftTables:l,rightTables:n}},be=({mapTablesData:i,startId:s})=>{const u={},f=[{id:s,depth:0}],l=new Set;for(;f.length>0;){const{id:n,depth:a}=f.shift();if(l.has(n))continue;l.add(n),u[n]=a;const t=i.get(n);if(t)for(const d of t.foreign_keys){const g=m({schemaName:d.reference_schema,tableName:d.reference_table});i.has(g)&&!l.has(g)&&f.push({id:g,depth:a+1})}}return u},z=({mapTablesData:i,currentWeight:s,currentLeafId:u,currentMatrix:f,visited:l=new Set})=>{if(l.has(u)||(l.add(u),!i.get(u)))return f;f[u]=s+1;for(const[a,t]of i.entries())for(const d of t.foreign_keys)m({schemaName:d.reference_schema,tableName:d.reference_table})===u&&!l.has(a)&&z({mapTablesData:i,currentWeight:f[u],currentLeafId:a,currentMatrix:f,visited:l});return f};function he(i){const{allTables:s,initialTableId:u,autoExpandInitial:f=!0}=i,l=T(new Set),n=T(new Set),a=T(new Map),t=T({}),d=T(new Map),g=e=>{if(n.value.clear(),l.value.clear(),a.value.clear(),t.value={},d.value.clear(),!f){n.value.add(e),t.value[e]={x:0,y:0};return}const o=J(e,s.value);if(!o)return;const{nodes:h}=ee(o);for(const r of h)n.value.add(r.id),t.value[r.id]=r.position,a.value.set(r.id,new Set(["__initial__"]));l.value.add(e),y()},w=()=>{if(n.value.clear(),l.value.clear(),a.value.clear(),t.value={},d.value.clear(),s.value.length===0)return;const{nodes:e,edges:o,centerId:h}=ce(s.value);for(const r of e)n.value.add(r.id),t.value[r.id]=r.position,a.value.set(r.id,new Set(["__initial__"]));h&&l.value.add(h),y()},y=()=>{var o;d.value.clear();const e=new Map;for(const[h,r]of Object.entries(t.value)){const c=s.value.find(b=>m({schemaName:b.schema,tableName:b.table})===h);if(c){const b=A((o=c.columns)==null?void 0:o.length)+W,p=Math.round(r.x/M);e.has(p)||e.set(p,[]),e.get(p).push({y:r.y,height:b})}}for(const[h,r]of e.entries()){const c=Math.max(...r.map(b=>b.y+b.height));d.value.set(h,c)}},I=(e,o,h)=>{var B;const r=A((B=e.columns)==null?void 0:B.length)+W,c=new Map(s.value.map(x=>[m({schemaName:x.schema,tableName:x.table}),x])),b=m({schemaName:e.schema,tableName:e.table});let p=1;if(h==="left")p=(be({mapTablesData:c,startId:b})[b]??0)+1;else{const x={};z({mapTablesData:c,currentWeight:0,currentLeafId:b,currentMatrix:x}),p=x[b]??1}const K=t.value[o]||{x:0},L=Math.round(K.x/M),P=h==="left"?L-p:L+p,U=P*M,O=d.value.get(P)??0;return d.value.set(P,O+r),{x:U,y:O}};j([u,s],([e,o])=>{o.length!==0&&(e?g(e):w())},{immediate:!0});const S=N(()=>s.value.filter(e=>{const o=m({schemaName:e.schema,tableName:e.table});return n.value.has(o)})),R=N(()=>q(S.value,t.value)),E=N(()=>Q(S.value).filter(o=>n.value.has(o.source)&&n.value.has(o.target))),C=e=>{const{leftTables:o,rightTables:h}=D(e,s.value);return o.length>0||h.length>0},k=e=>l.value.has(e),F=e=>{if(l.value.has(e))return;const{leftTables:o,rightTables:h}=D(e,s.value);o.forEach(r=>{const c=m({schemaName:r.schema,tableName:r.table});a.value.has(c)||a.value.set(c,new Set),a.value.get(c).add(e),!n.value.has(c)&&(n.value.add(c),t.value[c]=I(r,e,"left"))}),h.forEach(r=>{const c=m({schemaName:r.schema,tableName:r.table});a.value.has(c)||a.value.set(c,new Set),a.value.get(c).add(e),!n.value.has(c)&&(n.value.add(c),t.value[c]=I(r,e,"right"))}),l.value.add(e)},v=e=>{if(!l.value.has(e))return;const{leftTables:o,rightTables:h}=D(e,s.value),r=[...o,...h];for(const c of r){const b=m({schemaName:c.schema,tableName:c.table}),p=a.value.get(b);p&&(p.delete(e),p.size===0&&b!==u.value&&(n.value.delete(b),delete t.value[b],a.value.delete(b),l.value.has(b)&&v(b)))}l.value.delete(e)};return{expandedTables:l,visibleNodes:R,visibleEdges:E,expandTable:F,collapseTable:v,isExpanded:k,hasRelations:C,matrixPosition:t}}const me=["id"],Te=ae({__name:"WrapperErdDiagram",props:{tableId:{}},setup(i){const s=i,u=T(),{tableSchema:f,isFetching:l}=fe(),n=N(()=>f.value||[]),a=N(()=>{if(!s.tableId)return;const v=n.value.find(e=>m({schemaName:e.schema,tableName:e.table})===s.tableId||e.table===s.tableId);return v?m({schemaName:v.schema,tableName:v.table}):s.tableId}),{visibleNodes:t,visibleEdges:d,expandTable:g,collapseTable:w,isExpanded:y,hasRelations:I,matrixPosition:S}=he({allTables:n,initialTableId:a,autoExpandInitial:!0}),R=N(()=>n.value.filter(v=>{const e=m({schemaName:v.schema,tableName:v.table});return t.value.some(o=>o.id===e)})),E=T(!1),C=()=>{E.value=!E.value},k=v=>{g(v)},F=v=>{w(v)};return te([{key:"meta+f",callback:()=>{C()},isPreventDefault:!0}],{target:u}),(v,e)=>{const o=oe;return re(),se("div",{class:"w-full h-full relative",ref_key:"wrapperRef",ref:u,id:_(ne)()},[H(o,{visible:_(l)},null,8,["visible"]),H(ie,{nodes:_(t),edges:_(d),matrixTablePosition:_(S),focusTableId:a.value,tables:R.value,tableId:s.tableId,isExpanded:_(y),hasRelations:_(I),isShowFilter:_(E),"onUpdate:isShowFilter":e[0]||(e[0]=h=>le(E)?E.value=h:null),onExpand:k,onCollapse:F},null,8,["nodes","edges","matrixTablePosition","focusTableId","tables","tableId","isExpanded","hasRelations","isShowFilter"])],8,me)}}});export{Te as _};
1
+ import{b1 as V,r as T,a3 as X,aB as Y,E as $,c as N,K as j,au as q,b2 as m,b3 as G,b4 as Q,b5 as A,b6 as Z,b7 as J,b8 as ee,d as ae,b9 as te,e as se,f as H,g as _,i as le,aH as ne,P as oe,o as re}from"./BfSmOVMj.js";import{b as ce,_ as ie}from"./BIHJR--x.js";import{u as ue}from"./C6yADG7D.js";const de=V("erdStore",()=>{const i=T(""),s=T([]);function u(l){s.value=l}function f(l){i.value=l}return{currentConnectionId:i,tables:s,setTables:u,setCurrentConnectionId:f}},{persist:!1}),fe=()=>{var a;const i=X(),s=de();if(s.tables.length>0&&((a=i.selectedConnection)==null?void 0:a.id)===s.currentConnectionId)return{isFetching:!1,tableSchema:Y(s.tables||[])};const{data:u,status:f}=ue("/api/metadata/erd",{method:"POST",body:{...$(i.selectedConnection)},onResponseError({response:t}){j(t==null?void 0:t.statusText)},onResponse:({response:t})=>{var g;const d=t._data.tables||[];s.setTables(d),s.setCurrentConnectionId(((g=i.selectedConnection)==null?void 0:g.id)||"")}},"$13ug5ALprk"),l=N(()=>f.value==="pending"),n=N(()=>{var t;return((t=u.value)==null?void 0:t.tables)||[]});return{isFetching:l,tableSchema:n}},{HORIZONTAL_STEP:M,VERTICAL_STEP:W}=Z,D=(i,s)=>{const u=new Map(s.map(a=>[m({schemaName:a.schema,tableName:a.table}),a])),f=u.get(i);if(!f)return{leftTables:[],rightTables:[]};const l=[];for(const a of f.foreign_keys){const t=m({schemaName:a.reference_schema,tableName:a.reference_table}),d=u.get(t);d&&t!==i&&l.push(d)}const n=[];for(const a of s)if(m({schemaName:a.schema,tableName:a.table})!==i){for(const d of a.foreign_keys)if(m({schemaName:d.reference_schema,tableName:d.reference_table})===i){n.push(a);break}}return{leftTables:l,rightTables:n}},be=({mapTablesData:i,startId:s})=>{const u={},f=[{id:s,depth:0}],l=new Set;for(;f.length>0;){const{id:n,depth:a}=f.shift();if(l.has(n))continue;l.add(n),u[n]=a;const t=i.get(n);if(t)for(const d of t.foreign_keys){const g=m({schemaName:d.reference_schema,tableName:d.reference_table});i.has(g)&&!l.has(g)&&f.push({id:g,depth:a+1})}}return u},z=({mapTablesData:i,currentWeight:s,currentLeafId:u,currentMatrix:f,visited:l=new Set})=>{if(l.has(u)||(l.add(u),!i.get(u)))return f;f[u]=s+1;for(const[a,t]of i.entries())for(const d of t.foreign_keys)m({schemaName:d.reference_schema,tableName:d.reference_table})===u&&!l.has(a)&&z({mapTablesData:i,currentWeight:f[u],currentLeafId:a,currentMatrix:f,visited:l});return f};function he(i){const{allTables:s,initialTableId:u,autoExpandInitial:f=!0}=i,l=T(new Set),n=T(new Set),a=T(new Map),t=T({}),d=T(new Map),g=e=>{if(n.value.clear(),l.value.clear(),a.value.clear(),t.value={},d.value.clear(),!f){n.value.add(e),t.value[e]={x:0,y:0};return}const o=J(e,s.value);if(!o)return;const{nodes:h}=ee(o);for(const r of h)n.value.add(r.id),t.value[r.id]=r.position,a.value.set(r.id,new Set(["__initial__"]));l.value.add(e),y()},w=()=>{if(n.value.clear(),l.value.clear(),a.value.clear(),t.value={},d.value.clear(),s.value.length===0)return;const{nodes:e,edges:o,centerId:h}=ce(s.value);for(const r of e)n.value.add(r.id),t.value[r.id]=r.position,a.value.set(r.id,new Set(["__initial__"]));h&&l.value.add(h),y()},y=()=>{var o;d.value.clear();const e=new Map;for(const[h,r]of Object.entries(t.value)){const c=s.value.find(b=>m({schemaName:b.schema,tableName:b.table})===h);if(c){const b=A((o=c.columns)==null?void 0:o.length)+W,p=Math.round(r.x/M);e.has(p)||e.set(p,[]),e.get(p).push({y:r.y,height:b})}}for(const[h,r]of e.entries()){const c=Math.max(...r.map(b=>b.y+b.height));d.value.set(h,c)}},I=(e,o,h)=>{var B;const r=A((B=e.columns)==null?void 0:B.length)+W,c=new Map(s.value.map(x=>[m({schemaName:x.schema,tableName:x.table}),x])),b=m({schemaName:e.schema,tableName:e.table});let p=1;if(h==="left")p=(be({mapTablesData:c,startId:b})[b]??0)+1;else{const x={};z({mapTablesData:c,currentWeight:0,currentLeafId:b,currentMatrix:x}),p=x[b]??1}const K=t.value[o]||{x:0},L=Math.round(K.x/M),P=h==="left"?L-p:L+p,U=P*M,O=d.value.get(P)??0;return d.value.set(P,O+r),{x:U,y:O}};q([u,s],([e,o])=>{o.length!==0&&(e?g(e):w())},{immediate:!0});const S=N(()=>s.value.filter(e=>{const o=m({schemaName:e.schema,tableName:e.table});return n.value.has(o)})),R=N(()=>G(S.value,t.value)),E=N(()=>Q(S.value).filter(o=>n.value.has(o.source)&&n.value.has(o.target))),C=e=>{const{leftTables:o,rightTables:h}=D(e,s.value);return o.length>0||h.length>0},k=e=>l.value.has(e),F=e=>{if(l.value.has(e))return;const{leftTables:o,rightTables:h}=D(e,s.value);o.forEach(r=>{const c=m({schemaName:r.schema,tableName:r.table});a.value.has(c)||a.value.set(c,new Set),a.value.get(c).add(e),!n.value.has(c)&&(n.value.add(c),t.value[c]=I(r,e,"left"))}),h.forEach(r=>{const c=m({schemaName:r.schema,tableName:r.table});a.value.has(c)||a.value.set(c,new Set),a.value.get(c).add(e),!n.value.has(c)&&(n.value.add(c),t.value[c]=I(r,e,"right"))}),l.value.add(e)},v=e=>{if(!l.value.has(e))return;const{leftTables:o,rightTables:h}=D(e,s.value),r=[...o,...h];for(const c of r){const b=m({schemaName:c.schema,tableName:c.table}),p=a.value.get(b);p&&(p.delete(e),p.size===0&&b!==u.value&&(n.value.delete(b),delete t.value[b],a.value.delete(b),l.value.has(b)&&v(b)))}l.value.delete(e)};return{expandedTables:l,visibleNodes:R,visibleEdges:E,expandTable:F,collapseTable:v,isExpanded:k,hasRelations:C,matrixPosition:t}}const me=["id"],Te=ae({__name:"WrapperErdDiagram",props:{tableId:{}},setup(i){const s=i,u=T(),{tableSchema:f,isFetching:l}=fe(),n=N(()=>f.value||[]),a=N(()=>{if(!s.tableId)return;const v=n.value.find(e=>m({schemaName:e.schema,tableName:e.table})===s.tableId||e.table===s.tableId);return v?m({schemaName:v.schema,tableName:v.table}):s.tableId}),{visibleNodes:t,visibleEdges:d,expandTable:g,collapseTable:w,isExpanded:y,hasRelations:I,matrixPosition:S}=he({allTables:n,initialTableId:a,autoExpandInitial:!0}),R=N(()=>n.value.filter(v=>{const e=m({schemaName:v.schema,tableName:v.table});return t.value.some(o=>o.id===e)})),E=T(!1),C=()=>{E.value=!E.value},k=v=>{g(v)},F=v=>{w(v)};return te([{key:"meta+f",callback:()=>{C()},isPreventDefault:!0}],{target:u}),(v,e)=>{const o=oe;return re(),se("div",{class:"w-full h-full relative",ref_key:"wrapperRef",ref:u,id:_(ne)()},[H(o,{visible:_(l)},null,8,["visible"]),H(ie,{nodes:_(t),edges:_(d),matrixTablePosition:_(S),focusTableId:a.value,tables:R.value,tableId:s.tableId,isExpanded:_(y),hasRelations:_(I),isShowFilter:_(E),"onUpdate:isShowFilter":e[0]||(e[0]=h=>le(E)?E.value=h:null),onExpand:k,onCollapse:F},null,8,["nodes","edges","matrixTablePosition","focusTableId","tables","tableId","isExpanded","hasRelations","isShowFilter"])],8,me)}}});export{Te as _};
@@ -1 +1 @@
1
- import{aD as j,aE as p,aF as w,aG as D,aH as k}from"./B_ERKujF.js";import{i as F}from"./Gi6I4Gst.js";import{e as g,f as q,a as z,b as B}from"./DX6XiGOO.js";function M(n,r){return n==null||r==null?NaN:n<r?-1:n>r?1:n>=r?0:NaN}function I(n,r){return n==null||r==null?NaN:r<n?-1:r>n?1:r>=n?0:NaN}function R(n){let r,t,e;n.length!==2?(r=M,t=(o,c)=>M(n(o),c),e=(o,c)=>n(o)-c):(r=n===M||n===I?n:P,t=n,e=n);function u(o,c,i=0,h=o.length){if(i<h){if(r(c,c)!==0)return h;do{const l=i+h>>>1;t(o[l],c)<0?i=l+1:h=l}while(i<h)}return i}function f(o,c,i=0,h=o.length){if(i<h){if(r(c,c)!==0)return h;do{const l=i+h>>>1;t(o[l],c)<=0?i=l+1:h=l}while(i<h)}return i}function a(o,c,i=0,h=o.length){const l=u(o,c,i,h-1);return l>i&&e(o[l-1],c)>-e(o[l],c)?l-1:l}return{left:u,center:a,right:f}}function P(){return 0}function V(n){return n===null?NaN:+n}const $=R(M),x=$.right;R(V).center;const E=Math.sqrt(50),G=Math.sqrt(10),H=Math.sqrt(2);function v(n,r,t){const e=(r-n)/Math.max(0,t),u=Math.floor(Math.log10(e)),f=e/Math.pow(10,u),a=f>=E?10:f>=G?5:f>=H?2:1;let o,c,i;return u<0?(i=Math.pow(10,-u)/a,o=Math.round(n*i),c=Math.round(r*i),o/i<n&&++o,c/i>r&&--c,i=-i):(i=Math.pow(10,u)*a,o=Math.round(n/i),c=Math.round(r/i),o*i<n&&++o,c*i>r&&--c),c<o&&.5<=t&&t<2?v(n,r,t*2):[o,c,i]}function O(n,r,t){if(r=+r,n=+n,t=+t,!(t>0))return[];if(n===r)return[n];const e=r<n,[u,f,a]=e?v(r,n,t):v(n,r,t);if(!(f>=u))return[];const o=f-u+1,c=new Array(o);if(e)if(a<0)for(let i=0;i<o;++i)c[i]=(f-i)/-a;else for(let i=0;i<o;++i)c[i]=(f-i)*a;else if(a<0)for(let i=0;i<o;++i)c[i]=(u+i)/-a;else for(let i=0;i<o;++i)c[i]=(u+i)*a;return c}function y(n,r,t){return r=+r,n=+n,t=+t,v(n,r,t)[2]}function T(n,r,t){r=+r,n=+n,t=+t;const e=r<n,u=e?y(r,n,t):y(n,r,t);return(e?-1:1)*(u<0?1/-u:u)}function C(n,r){r||(r=[]);var t=n?Math.min(r.length,n.length):0,e=r.slice(),u;return function(f){for(u=0;u<t;++u)e[u]=n[u]*(1-f)+r[u]*f;return e}}function J(n){return ArrayBuffer.isView(n)&&!(n instanceof DataView)}function K(n,r){var t=r?r.length:0,e=n?Math.min(t,n.length):0,u=new Array(e),f=new Array(t),a;for(a=0;a<e;++a)u[a]=d(n[a],r[a]);for(;a<t;++a)f[a]=r[a];return function(o){for(a=0;a<e;++a)f[a]=u[a](o);return f}}function L(n,r){var t=new Date;return n=+n,r=+r,function(e){return t.setTime(n*(1-e)+r*e),t}}function Q(n,r){var t={},e={},u;(n===null||typeof n!="object")&&(n={}),(r===null||typeof r!="object")&&(r={});for(u in r)u in n?t[u]=d(n[u],r[u]):e[u]=r[u];return function(f){for(u in t)e[u]=t[u](f);return e}}function d(n,r){var t=typeof r,e;return r==null||t==="boolean"?j(r):(t==="number"?p:t==="string"?(e=k(r))?(r=e,w):D:r instanceof k?w:r instanceof Date?L:J(r)?C:Array.isArray(r)?K:typeof r.valueOf!="function"&&typeof r.toString!="function"||isNaN(r)?Q:p)(n,r)}function U(n,r){return n=+n,r=+r,function(t){return Math.round(n*(1-t)+r*t)}}function W(n){return Math.max(0,-g(Math.abs(n)))}function X(n,r){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(g(r)/3)))*3-g(Math.abs(n)))}function Y(n,r){return n=Math.abs(n),r=Math.abs(r)-n,Math.max(0,g(r)-g(n))+1}function Z(n){return function(){return n}}function _(n){return+n}var A=[0,1];function m(n){return n}function N(n,r){return(r-=n=+n)?function(t){return(t-n)/r}:Z(isNaN(r)?NaN:.5)}function b(n,r){var t;return n>r&&(t=n,n=r,r=t),function(e){return Math.max(n,Math.min(r,e))}}function nn(n,r,t){var e=n[0],u=n[1],f=r[0],a=r[1];return u<e?(e=N(u,e),f=t(a,f)):(e=N(e,u),f=t(f,a)),function(o){return f(e(o))}}function rn(n,r,t){var e=Math.min(n.length,r.length)-1,u=new Array(e),f=new Array(e),a=-1;for(n[e]<n[0]&&(n=n.slice().reverse(),r=r.slice().reverse());++a<e;)u[a]=N(n[a],n[a+1]),f[a]=t(r[a],r[a+1]);return function(o){var c=x(n,o,1,e)-1;return f[c](u[c](o))}}function en(n,r){return r.domain(n.domain()).range(n.range()).interpolate(n.interpolate()).clamp(n.clamp()).unknown(n.unknown())}function tn(){var n=A,r=A,t=d,e,u,f,a=m,o,c,i;function h(){var s=Math.min(n.length,r.length);return a!==m&&(a=b(n[0],n[s-1])),o=s>2?rn:nn,c=i=null,l}function l(s){return s==null||isNaN(s=+s)?f:(c||(c=o(n.map(e),r,t)))(e(a(s)))}return l.invert=function(s){return a(u((i||(i=o(r,n.map(e),p)))(s)))},l.domain=function(s){return arguments.length?(n=Array.from(s,_),h()):n.slice()},l.range=function(s){return arguments.length?(r=Array.from(s),h()):r.slice()},l.rangeRound=function(s){return r=Array.from(s),t=U,h()},l.clamp=function(s){return arguments.length?(a=s?!0:m,h()):a!==m},l.interpolate=function(s){return arguments.length?(t=s,h()):t},l.unknown=function(s){return arguments.length?(f=s,l):f},function(s,S){return e=s,u=S,h()}}function un(){return tn()(m,m)}function an(n,r,t,e){var u=T(n,r,t),f;switch(e=q(e??",f"),e.type){case"s":{var a=Math.max(Math.abs(n),Math.abs(r));return e.precision==null&&!isNaN(f=X(u,a))&&(e.precision=f),z(e,a)}case"":case"e":case"g":case"p":case"r":{e.precision==null&&!isNaN(f=Y(u,Math.max(Math.abs(n),Math.abs(r))))&&(e.precision=f-(e.type==="e"));break}case"f":case"%":{e.precision==null&&!isNaN(f=W(u))&&(e.precision=f-(e.type==="%")*2);break}}return B(e)}function on(n){var r=n.domain;return n.ticks=function(t){var e=r();return O(e[0],e[e.length-1],t??10)},n.tickFormat=function(t,e){var u=r();return an(u[0],u[u.length-1],t??10,e)},n.nice=function(t){t==null&&(t=10);var e=r(),u=0,f=e.length-1,a=e[u],o=e[f],c,i,h=10;for(o<a&&(i=a,a=o,o=i,i=u,u=f,f=i);h-- >0;){if(i=y(a,o,t),i===c)return e[u]=a,e[f]=o,r(e);if(i>0)a=Math.floor(a/i)*i,o=Math.ceil(o/i)*i;else if(i<0)a=Math.ceil(a*i)/i,o=Math.floor(o*i)/i;else break;c=i}return n},n}function fn(){var n=un();return n.copy=function(){return en(n,fn())},F.apply(n,arguments),on(n)}export{en as a,R as b,un as c,fn as l,T as t};
1
+ import{aD as j,aE as p,aF as w,aG as D,aH as k}from"./BXp87mMj.js";import{i as F}from"./Gi6I4Gst.js";import{e as g,f as q,a as z,b as B}from"./DX6XiGOO.js";function M(n,r){return n==null||r==null?NaN:n<r?-1:n>r?1:n>=r?0:NaN}function I(n,r){return n==null||r==null?NaN:r<n?-1:r>n?1:r>=n?0:NaN}function R(n){let r,t,e;n.length!==2?(r=M,t=(o,c)=>M(n(o),c),e=(o,c)=>n(o)-c):(r=n===M||n===I?n:P,t=n,e=n);function u(o,c,i=0,h=o.length){if(i<h){if(r(c,c)!==0)return h;do{const l=i+h>>>1;t(o[l],c)<0?i=l+1:h=l}while(i<h)}return i}function f(o,c,i=0,h=o.length){if(i<h){if(r(c,c)!==0)return h;do{const l=i+h>>>1;t(o[l],c)<=0?i=l+1:h=l}while(i<h)}return i}function a(o,c,i=0,h=o.length){const l=u(o,c,i,h-1);return l>i&&e(o[l-1],c)>-e(o[l],c)?l-1:l}return{left:u,center:a,right:f}}function P(){return 0}function V(n){return n===null?NaN:+n}const $=R(M),x=$.right;R(V).center;const E=Math.sqrt(50),G=Math.sqrt(10),H=Math.sqrt(2);function v(n,r,t){const e=(r-n)/Math.max(0,t),u=Math.floor(Math.log10(e)),f=e/Math.pow(10,u),a=f>=E?10:f>=G?5:f>=H?2:1;let o,c,i;return u<0?(i=Math.pow(10,-u)/a,o=Math.round(n*i),c=Math.round(r*i),o/i<n&&++o,c/i>r&&--c,i=-i):(i=Math.pow(10,u)*a,o=Math.round(n/i),c=Math.round(r/i),o*i<n&&++o,c*i>r&&--c),c<o&&.5<=t&&t<2?v(n,r,t*2):[o,c,i]}function O(n,r,t){if(r=+r,n=+n,t=+t,!(t>0))return[];if(n===r)return[n];const e=r<n,[u,f,a]=e?v(r,n,t):v(n,r,t);if(!(f>=u))return[];const o=f-u+1,c=new Array(o);if(e)if(a<0)for(let i=0;i<o;++i)c[i]=(f-i)/-a;else for(let i=0;i<o;++i)c[i]=(f-i)*a;else if(a<0)for(let i=0;i<o;++i)c[i]=(u+i)/-a;else for(let i=0;i<o;++i)c[i]=(u+i)*a;return c}function y(n,r,t){return r=+r,n=+n,t=+t,v(n,r,t)[2]}function T(n,r,t){r=+r,n=+n,t=+t;const e=r<n,u=e?y(r,n,t):y(n,r,t);return(e?-1:1)*(u<0?1/-u:u)}function C(n,r){r||(r=[]);var t=n?Math.min(r.length,n.length):0,e=r.slice(),u;return function(f){for(u=0;u<t;++u)e[u]=n[u]*(1-f)+r[u]*f;return e}}function J(n){return ArrayBuffer.isView(n)&&!(n instanceof DataView)}function K(n,r){var t=r?r.length:0,e=n?Math.min(t,n.length):0,u=new Array(e),f=new Array(t),a;for(a=0;a<e;++a)u[a]=d(n[a],r[a]);for(;a<t;++a)f[a]=r[a];return function(o){for(a=0;a<e;++a)f[a]=u[a](o);return f}}function L(n,r){var t=new Date;return n=+n,r=+r,function(e){return t.setTime(n*(1-e)+r*e),t}}function Q(n,r){var t={},e={},u;(n===null||typeof n!="object")&&(n={}),(r===null||typeof r!="object")&&(r={});for(u in r)u in n?t[u]=d(n[u],r[u]):e[u]=r[u];return function(f){for(u in t)e[u]=t[u](f);return e}}function d(n,r){var t=typeof r,e;return r==null||t==="boolean"?j(r):(t==="number"?p:t==="string"?(e=k(r))?(r=e,w):D:r instanceof k?w:r instanceof Date?L:J(r)?C:Array.isArray(r)?K:typeof r.valueOf!="function"&&typeof r.toString!="function"||isNaN(r)?Q:p)(n,r)}function U(n,r){return n=+n,r=+r,function(t){return Math.round(n*(1-t)+r*t)}}function W(n){return Math.max(0,-g(Math.abs(n)))}function X(n,r){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(g(r)/3)))*3-g(Math.abs(n)))}function Y(n,r){return n=Math.abs(n),r=Math.abs(r)-n,Math.max(0,g(r)-g(n))+1}function Z(n){return function(){return n}}function _(n){return+n}var A=[0,1];function m(n){return n}function N(n,r){return(r-=n=+n)?function(t){return(t-n)/r}:Z(isNaN(r)?NaN:.5)}function b(n,r){var t;return n>r&&(t=n,n=r,r=t),function(e){return Math.max(n,Math.min(r,e))}}function nn(n,r,t){var e=n[0],u=n[1],f=r[0],a=r[1];return u<e?(e=N(u,e),f=t(a,f)):(e=N(e,u),f=t(f,a)),function(o){return f(e(o))}}function rn(n,r,t){var e=Math.min(n.length,r.length)-1,u=new Array(e),f=new Array(e),a=-1;for(n[e]<n[0]&&(n=n.slice().reverse(),r=r.slice().reverse());++a<e;)u[a]=N(n[a],n[a+1]),f[a]=t(r[a],r[a+1]);return function(o){var c=x(n,o,1,e)-1;return f[c](u[c](o))}}function en(n,r){return r.domain(n.domain()).range(n.range()).interpolate(n.interpolate()).clamp(n.clamp()).unknown(n.unknown())}function tn(){var n=A,r=A,t=d,e,u,f,a=m,o,c,i;function h(){var s=Math.min(n.length,r.length);return a!==m&&(a=b(n[0],n[s-1])),o=s>2?rn:nn,c=i=null,l}function l(s){return s==null||isNaN(s=+s)?f:(c||(c=o(n.map(e),r,t)))(e(a(s)))}return l.invert=function(s){return a(u((i||(i=o(r,n.map(e),p)))(s)))},l.domain=function(s){return arguments.length?(n=Array.from(s,_),h()):n.slice()},l.range=function(s){return arguments.length?(r=Array.from(s),h()):r.slice()},l.rangeRound=function(s){return r=Array.from(s),t=U,h()},l.clamp=function(s){return arguments.length?(a=s?!0:m,h()):a!==m},l.interpolate=function(s){return arguments.length?(t=s,h()):t},l.unknown=function(s){return arguments.length?(f=s,l):f},function(s,S){return e=s,u=S,h()}}function un(){return tn()(m,m)}function an(n,r,t,e){var u=T(n,r,t),f;switch(e=q(e??",f"),e.type){case"s":{var a=Math.max(Math.abs(n),Math.abs(r));return e.precision==null&&!isNaN(f=X(u,a))&&(e.precision=f),z(e,a)}case"":case"e":case"g":case"p":case"r":{e.precision==null&&!isNaN(f=Y(u,Math.max(Math.abs(n),Math.abs(r))))&&(e.precision=f-(e.type==="e"));break}case"f":case"%":{e.precision==null&&!isNaN(f=W(u))&&(e.precision=f-(e.type==="%")*2);break}}return B(e)}function on(n){var r=n.domain;return n.ticks=function(t){var e=r();return O(e[0],e[e.length-1],t??10)},n.tickFormat=function(t,e){var u=r();return an(u[0],u[u.length-1],t??10,e)},n.nice=function(t){t==null&&(t=10);var e=r(),u=0,f=e.length-1,a=e[u],o=e[f],c,i,h=10;for(o<a&&(i=a,a=o,o=i,i=u,u=f,f=i);h-- >0;){if(i=y(a,o,t),i===c)return e[u]=a,e[f]=o,r(e);if(i>0)a=Math.floor(a/i)*i,o=Math.ceil(o/i)*i;else if(i<0)a=Math.ceil(a*i)/i,o=Math.floor(o*i)/i;else break;c=i}return n},n}function fn(){var n=un();return n.copy=function(){return en(n,fn())},F.apply(n,arguments),on(n)}export{en as a,R as b,un as c,fn as l,T as t};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./BqHKqsJ5.js","./D0lW43G8.js","./entry.DxCQuGXb.css","./DX8ecA59.js","./Czr647QE.js","./BCAMWuzu.js","./CS5akSNT.js","./BMLhg7hE.js","./Db3rTgnd.js","./YdOCcCRS.js","./Cf460dGA.js","./Dtl3qje7.js","./DynamicTable.B3c2woGb.css","./DChDHsIe.js","./ErdDiagram.Cnqgwj9d.css","./C4zYnWdF.js","./CmOZ0DCP.js","./AgentWorkspace.67IpTcyl.css"])))=>i.map(i=>d[i]);
2
- import{an as _,ao as f,d as v,a8 as w,a2 as b,am as h,a3 as y,c as t,ap as k,e as I,m as V,k as i,g as n,ab as T,p as g,q as C,o,aq as P}from"./D0lW43G8.js";const B=_(()=>f(()=>import("./BqHKqsJ5.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17]),import.meta.url).then(a=>a.default||a.default||a)),x={class:"h-full w-full flex"},A={class:"flex-1 min-w-0 w-full"},q=v({__name:"[tabViewId]",setup(a){const s=w(),l=b(),{tabViews:u}=h(l),d=y(),e=t(()=>u.value.find(r=>r.id===s.params.tabViewId)),c=t(()=>{if(!e.value)return null;switch(e.value.type){case k.AgentChat:return B;default:return null}}),p=t(()=>e.value?{connectionId:e.value.connectionId,workspaceId:s.params.workspaceId,schemaName:e.value.schemaId||"",tabViewType:e.value.type,connections:d.connections}:{});return(r,E)=>{const m=P;return o(),I("div",x,[V("div",A,[n(c)?(o(),i(C(n(c)),T(g({key:0},n(p))),null,16)):(o(),i(m,{key:1,title:"Tab view not found",desc:"The requested tab could not be found. Please close this tab and try again."}))])])}}});export{q as default};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./DyCQWd5B.js","./BfSmOVMj.js","./entry.DEE2Ngsu.css","./BNkZeak0.js","./C2kyA9ZS.js","./BCFLQ_rL.js","./CS5akSNT.js","./CRX1CszZ.js","./C20WaARR.js","./u7qmw6wa.js","./DNgNuAci.js","./DUqYnCG7.js","./DynamicTable.B3c2woGb.css","./BIHJR--x.js","./ErdDiagram.Cnqgwj9d.css","./l12ZvGEh.js","./doR1dsEF.js","./AgentWorkspace.67IpTcyl.css"])))=>i.map(i=>d[i]);
2
+ import{an as _,ao as f,d as v,a8 as w,a2 as b,am as h,a3 as y,c as t,ap as k,e as I,m as V,k as i,g as n,ab as T,p as g,q as C,o,aq as P}from"./BfSmOVMj.js";const B=_(()=>f(()=>import("./DyCQWd5B.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17]),import.meta.url).then(a=>a.default||a.default||a)),x={class:"h-full w-full flex"},A={class:"flex-1 min-w-0 w-full"},q=v({__name:"[tabViewId]",setup(a){const s=w(),l=b(),{tabViews:u}=h(l),d=y(),e=t(()=>u.value.find(r=>r.id===s.params.tabViewId)),c=t(()=>{if(!e.value)return null;switch(e.value.type){case k.AgentChat:return B;default:return null}}),p=t(()=>e.value?{connectionId:e.value.connectionId,workspaceId:s.params.workspaceId,schemaName:e.value.schemaId||"",tabViewType:e.value.type,connections:d.connections}:{});return(r,E)=>{const m=P;return o(),I("div",x,[V("div",A,[n(c)?(o(),i(C(n(c)),T(g({key:0},n(p))),null,16)):(o(),i(m,{key:1,title:"Tab view not found",desc:"The requested tab could not be found. Please close this tab and try again."}))])])}}});export{q as default};