planche 0.9.3 → 0.9.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 (75) hide show
  1. package/app/assets/{B4e4BJ-q.js → 2HDxyxt3.js} +1 -1
  2. package/app/assets/{DMmbl7oU.js → 2WcjYcT6.js} +1 -1
  3. package/app/assets/{B3qo2BmL.js → 34iJa-68.js} +1 -1
  4. package/app/assets/{aBt7vbXN.js → 62772Vyq.js} +1 -1
  5. package/app/assets/{XCH_yrJ8.js → 7hKKrols.js} +1 -1
  6. package/app/assets/{CtvJotUV.js → AR0v7sKO.js} +1 -1
  7. package/app/assets/B5FoXN4H.js +1 -0
  8. package/app/assets/{Xya13jwA.js → BB2_KYgp.js} +1 -1
  9. package/app/assets/{CCHDqJU3.js → BHsv1P4D.js} +1 -1
  10. package/app/assets/{Cv7B7xE1.js → BI5Ig187.js} +1 -1
  11. package/app/assets/{DyPVTkGX.js → BRKvj3qd.js} +1 -1
  12. package/app/assets/{BghfQrAj.js → BVZGLNq_.js} +1 -1
  13. package/app/assets/{CCBiFHWk.js → BWPrOT1U.js} +1 -1
  14. package/app/assets/{CMFMZu0I.js → BaTnCkNR.js} +1 -1
  15. package/app/assets/{BXogLn0j.js → BdhjYiGI.js} +1 -1
  16. package/app/assets/{D8_hwGjG.js → BihjBM79.js} +1 -1
  17. package/app/assets/{DpcElnaI.js → Bjx1jzlk.js} +1 -1
  18. package/app/assets/{uCGINy9d.js → BtBUwOf0.js} +1 -1
  19. package/app/assets/{CSjIZAje.js → Buf-_p3w.js} +1 -1
  20. package/app/assets/{C63wLpkg.js → BvkNY7SP.js} +1 -1
  21. package/app/assets/{mHq6YiMc.js → C-8Bh-gu.js} +1 -1
  22. package/app/assets/{D4aakMZ1.js → C1JbR1mO.js} +1 -1
  23. package/app/assets/{mA16m5gB.js → C3AWL5gC.js} +1 -1
  24. package/app/assets/{TqO-pPrr.js → C3aiaYZP.js} +1 -1
  25. package/app/assets/{Cu_sGzNJ.js → C76CctEl.js} +1 -1
  26. package/app/assets/{C3skRSMN.js → C82F2LSh.js} +1 -1
  27. package/app/assets/{_lYVFvcB.js → CCJEQIo6.js} +1 -1
  28. package/app/assets/{CSE_C1ca.js → CDfygETm.js} +1 -1
  29. package/app/assets/{BmnRSOWE.js → CGpFMM6B.js} +1 -1
  30. package/app/assets/{Ci1xBOLy.js → CH4cEkW4.js} +1 -1
  31. package/app/assets/{rSe5GrVH.js → CKUISE0C.js} +1 -1
  32. package/app/assets/{Bx57-46U.js → CN1CF2CU.js} +1 -1
  33. package/app/assets/{BFUEHSdO.js → CRYDH2ct.js} +1 -1
  34. package/app/assets/{DpPKm22O.js → CZRhmV_L.js} +2 -2
  35. package/app/assets/{D6SRSRpo.js → C_qmv4pB.js} +1 -1
  36. package/app/assets/{CgQ0qqq4.js → CcaDuuFY.js} +1 -1
  37. package/app/assets/{Dl3kZgxg.js → Cm-pfCIP.js} +1 -1
  38. package/app/assets/{C9jzAIEJ.js → Cme0nCT7.js} +1 -1
  39. package/app/assets/{Bsl10NAd.js → CoUCmmSB.js} +1 -1
  40. package/app/assets/{DtUkSj2L.js → CtsakJNi.js} +1 -1
  41. package/app/assets/{BYvM8E39.js → CxaujQob.js} +1 -1
  42. package/app/assets/{CYz610vE.js → CyX8oVsa.js} +1 -1
  43. package/app/assets/{baQnXYR8.js → D-DAzfgs.js} +1 -1
  44. package/app/assets/{X0frSBI-.js → D3VPMNTU.js} +1 -1
  45. package/app/assets/{B_zu4Zim.js → D4DxtYTA.js} +6 -6
  46. package/app/assets/{D2dO-cBr.js → D4c1cZWk.js} +1 -1
  47. package/app/assets/{BFxd4DZC.js → DG0u2CPf.js} +1 -1
  48. package/app/assets/{CYqQEBj7.js → DKObYbZY.js} +1 -1
  49. package/app/assets/{DU-Eln5x.js → DOy06rIE.js} +1 -1
  50. package/app/assets/{Uf0CXpNG.js → DT8Xdk78.js} +1 -1
  51. package/app/assets/{BFddfnRD.js → DXExbVos.js} +1 -1
  52. package/app/assets/{DBwwgHNb.js → DXQPcWS6.js} +1 -1
  53. package/app/assets/{CiL8zoYm.js → Dya0zxo6.js} +1 -1
  54. package/app/assets/{DdGvqbC0.js → IqMoIce-.js} +1 -1
  55. package/app/assets/{BNB2k8On.js → MeOkctzz.js} +1 -1
  56. package/app/assets/{B8kALM_o.js → NL8WOYEo.js} +1 -1
  57. package/app/assets/{D8dVzi6I.js → Ngd1VEiY.js} +1 -1
  58. package/app/assets/UEkRIZwQ.js +1 -0
  59. package/app/assets/{BGuDcBB_.js → UJzcIbfW.js} +1 -1
  60. package/app/assets/{cFpo8ItN.js → W81Xd8P5.js} +1 -1
  61. package/app/assets/{Bjupmf7v.js → Yn5aIyLX.js} +1 -1
  62. package/app/assets/{DP7G83e7.js → _N3A-NTc.js} +1 -1
  63. package/app/assets/{BLF41w4B.js → gvCOWBS0.js} +1 -1
  64. package/app/assets/{CAd2f6EE.js → iz6RnRcO.js} +1 -1
  65. package/app/assets/{DzRyVlxz.js → kTwcxyaO.js} +1 -1
  66. package/app/assets/{BanAYgsJ.js → oXAkF219.js} +1 -1
  67. package/app/assets/{ClHvsi-E.js → pDR31rvF.js} +1 -1
  68. package/app/assets/{DmDLn1hv.js → u9a-WHjb.js} +1 -1
  69. package/app/assets/{Ec3vNInq.js → yLCKuLgs.js} +1 -1
  70. package/app/assets/{CHn2dkeR.js → yfRSh-O-.js} +1 -1
  71. package/app/assets/{BPLdNS4h.js → zdvaVsTo.js} +1 -1
  72. package/app/index.html +19 -19
  73. package/package.json +1 -1
  74. package/app/assets/BEY3Hwp0.js +0 -1
  75. package/app/assets/BFw3KCAr.js +0 -1
@@ -1,5 +1,5 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/DyPVTkGX.js","assets/hePW80VL.js","assets/CYz610vE.js","assets/Cu_sGzNJ.js","assets/CMFMZu0I.js","assets/CAd2f6EE.js","assets/eFSiW0Lh.js","assets/Nro86Y63.js","assets/DU-Eln5x.js","assets/BghfQrAj.js","assets/C9jzAIEJ.js","assets/Bit0Kfog.js","assets/BPLdNS4h.js","assets/D8_hwGjG.js","assets/D6SRSRpo.js","assets/DpPKm22O.js","assets/Ci1xBOLy.js","assets/DAFA-E1-.js","assets/CSjIZAje.js","assets/mA16m5gB.js","assets/Udlj1Cgf.js","assets/TqO-pPrr.js","assets/Xya13jwA.js","assets/_zaonxnw.js","assets/CYqQEBj7.js","assets/DMmbl7oU.js","assets/BmnRSOWE.js","assets/mHq6YiMc.js","assets/BFxd4DZC.js","assets/DtUkSj2L.js","assets/BYvM8E39.js","assets/D2dO-cBr.js","assets/X0frSBI-.js","assets/CgQ0qqq4.js","assets/BanAYgsJ.js","assets/DP7G83e7.js","assets/CiL8zoYm.js","assets/DzRyVlxz.js","assets/B3qo2BmL.js","assets/BGuDcBB_.js","assets/D8dVzi6I.js","assets/BFw3KCAr.js","assets/CnYBZPf9.js","assets/Bsl10NAd.js","assets/Bjupmf7v.js","assets/BFUEHSdO.js","assets/_lYVFvcB.js","assets/ClHvsi-E.js","assets/BLF41w4B.js","assets/CSE_C1ca.js","assets/BEY3Hwp0.js","assets/CHn2dkeR.js","assets/DmDLn1hv.js","assets/Ec3vNInq.js","assets/Bs5VSn0X.js","assets/B4e4BJ-q.js","assets/D4aakMZ1.js","assets/XCH_yrJ8.js","assets/DdGvqbC0.js","assets/BFddfnRD.js","assets/rSe5GrVH.js","assets/CCHDqJU3.js","assets/aBt7vbXN.js","assets/Dl3kZgxg.js","assets/Bx57-46U.js","assets/BNB2k8On.js","assets/baQnXYR8.js","assets/CCBiFHWk.js","assets/DpcElnaI.js","assets/Cv7B7xE1.js","assets/cFpo8ItN.js","assets/C3skRSMN.js","assets/C63wLpkg.js","assets/CtvJotUV.js","assets/neLPq0_M.js","assets/BXogLn0j.js","assets/uCGINy9d.js","assets/DBwwgHNb.js","assets/B8kALM_o.js","assets/Uf0CXpNG.js"])))=>i.map(i=>d[i]);
2
- import{n as e,r as t,t as n}from"./hePW80VL.js";import{a as r,c as i,f as a,i as o,n as s,o as c,p as l,t as u,u as d}from"./CYz610vE.js";import{a as f,c as p,d as m,i as h,n as g,o as _,r as v,s as y,t as b,u as x}from"./CiL8zoYm.js";import{a as S,i as C,n as w,o as T,r as ee,t as te}from"./C9jzAIEJ.js";import{a as ne,c as re,i as ie,l as ae,n as oe,o as se,r as ce,s as le,t as ue}from"./Cu_sGzNJ.js";import{n as de,t as fe}from"./BGuDcBB_.js";import{C as pe,D as me,E as he,O as ge,S as _e,T as ve,_ as ye,b as be,c as xe,d as Se,f as Ce,g as we,h as Te,l as Ee,m as De,n as Oe,o as ke,p as Ae,s as je,t as Me,u as Ne,v as Pe,w as Fe,x as Ie,y as Le}from"./DzRyVlxz.js";import{n as Re,t as ze}from"./D8dVzi6I.js";import{i as Be,t as Ve}from"./eFSiW0Lh.js";import{n as He,r as Ue,t as We}from"./Nro86Y63.js";import{A as Ge,C as Ke,D as qe,E as Je,I as Ye,R as Xe,S as Ze,_ as Qe,b as $e,c as et,d as tt,i as nt,j as rt,k as it,l as at,o as ot,s as st,t as ct,u as lt,v as ut,x as dt,y as ft}from"./CAd2f6EE.js";import{n as pt,o as mt,r as ht}from"./DU-Eln5x.js";import{E as gt,O as _t,_ as vt,b as yt,i as bt,m as xt,n as St,o as Ct,p as wt,r as Tt,s as Et,t as Dt,v as Ot,w as kt,x as At}from"./BPLdNS4h.js";import{n as jt}from"./D8_hwGjG.js";import{n as Mt,t as Nt}from"./D6SRSRpo.js";import{C as Pt,S as Ft,a as It,b as Lt,d as Rt,f as zt,g as Bt,h as Vt,i as Ht,l as Ut,m as Wt,n as Gt,o as Kt,p as qt,r as Jt,s as Yt,t as Xt,v as Zt,x as Qt,y as $t}from"./BghfQrAj.js";import{a as en,i as tn,n as nn,r as rn}from"./Ci1xBOLy.js";import{a as an,c as on,l as sn,r as cn}from"./DAFA-E1-.js";import{a as ln,i as un,n as dn,r as fn,s as pn}from"./CSjIZAje.js";import{_ as mn,a as hn,c as gn,d as _n,f as vn,g as yn,h as bn,i as xn,l as Sn,m as Cn,n as wn,o as Tn,p as En,r as Dn,s as On,t as kn,u as An,v as jn,y as Mn}from"./DpPKm22O.js";import{a as Nn,c as Pn,i as eee,n as Fn,o as In,r as Ln,s as Rn,u as zn}from"./mA16m5gB.js";import{t as Bn}from"./BEY3Hwp0.js";import{t as Vn}from"./Bs5VSn0X.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var tee=n((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0<n;){var r=n-1>>>1,a=e[r];if(0<i(a,t))e[r]=t,e[n]=a,n=r;else break a}}function n(e){return e.length===0?null:e[0]}function r(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;a:for(var r=0,a=e.length,o=a>>>1;r<o;){var s=2*(r+1)-1,c=e[s],l=s+1,u=e[l];if(0>i(c,n))l<a&&0>i(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(l<a&&0>i(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function x(e){if(h=!1,b(e),!m){if(n(c)!==null)m=!0,S||(S=!0,ne());else{var t=n(l);t!==null&&ae(x,t.startTime-e)}}}var S=!1,C=-1,w=5,T=-1;function ee(){return g?!0:!(e.unstable_now()-T<w)}function te(){if(g=!1,S){var t=e.unstable_now();T=t;var i=!0;try{a:{m=!1,h&&(h=!1,v(C),C=-1),p=!0;var a=f;try{b:{for(b(t),d=n(c);d!==null&&!(d.expirationTime>t&&ee());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&ae(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?ne():S=!1}}}var ne;if(typeof y==`function`)ne=function(){y(te)};else if(typeof MessageChannel<`u`){var re=new MessageChannel,ie=re.port2;re.port1.onmessage=te,ne=function(){ie.postMessage(null)}}else ne=function(){_(te,0)};function ae(t,n){C=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error(`forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported`):w=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},e.unstable_requestPaint=function(){g=!0},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},e.unstable_scheduleCallback=function(r,i,a){var o=e.unstable_now();switch(typeof a==`object`&&a?(a=a.delay,a=typeof a==`number`&&0<a?o+a:o):a=o,r){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return s=a+s,r={id:u++,callback:i,priorityLevel:r,startTime:a,expirationTime:s,sortIndex:-1},a>o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(C),C=-1):h=!0,ae(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,S||(S=!0,ne()))),r},e.unstable_shouldYield=ee,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),nee=n(((e,t)=>{t.exports=tee()})),ree=n((e=>{var t=nee(),n=l(),r=m();function i(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function a(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function o(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function s(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function c(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function u(e){if(o(e)!==e)throw Error(i(188))}function d(e){var t=e.alternate;if(!t){if(t=o(e),t===null)throw Error(i(188));return t===e?e:null}for(var n=e,r=t;;){var a=n.return;if(a===null)break;var s=a.alternate;if(s===null){if(r=a.return,r!==null){n=r;continue}break}if(a.child===s.child){for(s=a.child;s;){if(s===n)return u(a),e;if(s===r)return u(a),t;s=s.sibling}throw Error(i(188))}if(n.return!==r.return)n=a,r=s;else{for(var c=!1,l=a.child;l;){if(l===n){c=!0,n=a,r=s;break}if(l===r){c=!0,r=a,n=s;break}l=l.sibling}if(!c){for(l=s.child;l;){if(l===n){c=!0,n=s,r=a;break}if(l===r){c=!0,r=s,n=a;break}l=l.sibling}if(!c)throw Error(i(189))}}if(n.alternate!==r)throw Error(i(190))}if(n.tag!==3)throw Error(i(188));return n.stateNode.current===n?e:t}function f(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=f(e),t!==null)return t;e=e.sibling}return null}var p=Object.assign,h=Symbol.for(`react.element`),g=Symbol.for(`react.transitional.element`),_=Symbol.for(`react.portal`),v=Symbol.for(`react.fragment`),y=Symbol.for(`react.strict_mode`),b=Symbol.for(`react.profiler`),x=Symbol.for(`react.consumer`),S=Symbol.for(`react.context`),C=Symbol.for(`react.forward_ref`),w=Symbol.for(`react.suspense`),T=Symbol.for(`react.suspense_list`),ee=Symbol.for(`react.memo`),te=Symbol.for(`react.lazy`),ne=Symbol.for(`react.activity`),re=Symbol.for(`react.memo_cache_sentinel`),ie=Symbol.iterator;function ae(e){return typeof e!=`object`||!e?null:(e=ie&&e[ie]||e[`@@iterator`],typeof e==`function`?e:null)}var oe=Symbol.for(`react.client.reference`);function se(e){if(e==null)return null;if(typeof e==`function`)return e.$$typeof===oe?null:e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case v:return`Fragment`;case b:return`Profiler`;case y:return`StrictMode`;case w:return`Suspense`;case T:return`SuspenseList`;case ne:return`Activity`}if(typeof e==`object`)switch(e.$$typeof){case _:return`Portal`;case S:return e.displayName||`Context`;case x:return(e._context.displayName||`Context`)+`.Consumer`;case C:var t=e.render;return e=e.displayName,e||=(e=t.displayName||t.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case ee:return t=e.displayName||null,t===null?se(e.type)||`Memo`:t;case te:t=e._payload,e=e._init;try{return se(e(t))}catch{}}return null}var ce=Array.isArray,le=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,ue=r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,de={pending:!1,data:null,method:null,action:null},fe=[],pe=-1;function me(e){return{current:e}}function he(e){0>pe||(e.current=fe[pe],fe[pe]=null,pe--)}function ge(e,t){pe++,fe[pe]=e.current,e.current=t}var _e=me(null),ve=me(null),ye=me(null),be=me(null);function xe(e,t){switch(ge(ye,t),ge(ve,e),ge(_e,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Hd(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Hd(t),e=Ud(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}he(_e),ge(_e,e)}function Se(){he(_e),he(ve),he(ye)}function Ce(e){e.memoizedState!==null&&ge(be,e);var t=_e.current,n=Ud(t,e.type);t!==n&&(ge(ve,e),ge(_e,n))}function we(e){ve.current===e&&(he(_e),he(ve)),be.current===e&&(he(be),Jf._currentValue=de)}var Te,Ee;function De(e){if(Te===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);Te=t&&t[1]||``,Ee=-1<e.stack.indexOf(`
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/BRKvj3qd.js","assets/hePW80VL.js","assets/CyX8oVsa.js","assets/C76CctEl.js","assets/BaTnCkNR.js","assets/iz6RnRcO.js","assets/eFSiW0Lh.js","assets/Nro86Y63.js","assets/DOy06rIE.js","assets/BVZGLNq_.js","assets/Cme0nCT7.js","assets/Bit0Kfog.js","assets/zdvaVsTo.js","assets/BihjBM79.js","assets/C_qmv4pB.js","assets/CZRhmV_L.js","assets/CH4cEkW4.js","assets/DAFA-E1-.js","assets/Buf-_p3w.js","assets/C3AWL5gC.js","assets/Udlj1Cgf.js","assets/C3aiaYZP.js","assets/BB2_KYgp.js","assets/_zaonxnw.js","assets/DKObYbZY.js","assets/2WcjYcT6.js","assets/CGpFMM6B.js","assets/C-8Bh-gu.js","assets/DG0u2CPf.js","assets/CtsakJNi.js","assets/CxaujQob.js","assets/D4c1cZWk.js","assets/D3VPMNTU.js","assets/CcaDuuFY.js","assets/oXAkF219.js","assets/_N3A-NTc.js","assets/Dya0zxo6.js","assets/kTwcxyaO.js","assets/34iJa-68.js","assets/UJzcIbfW.js","assets/Ngd1VEiY.js","assets/B5FoXN4H.js","assets/CnYBZPf9.js","assets/CoUCmmSB.js","assets/Yn5aIyLX.js","assets/CRYDH2ct.js","assets/CCJEQIo6.js","assets/pDR31rvF.js","assets/gvCOWBS0.js","assets/CDfygETm.js","assets/UEkRIZwQ.js","assets/yfRSh-O-.js","assets/u9a-WHjb.js","assets/yLCKuLgs.js","assets/Bs5VSn0X.js","assets/2HDxyxt3.js","assets/C1JbR1mO.js","assets/7hKKrols.js","assets/IqMoIce-.js","assets/DXExbVos.js","assets/CKUISE0C.js","assets/BHsv1P4D.js","assets/62772Vyq.js","assets/Cm-pfCIP.js","assets/CN1CF2CU.js","assets/MeOkctzz.js","assets/D-DAzfgs.js","assets/BWPrOT1U.js","assets/Bjx1jzlk.js","assets/BI5Ig187.js","assets/W81Xd8P5.js","assets/C82F2LSh.js","assets/BvkNY7SP.js","assets/AR0v7sKO.js","assets/neLPq0_M.js","assets/BdhjYiGI.js","assets/BtBUwOf0.js","assets/DXQPcWS6.js","assets/NL8WOYEo.js","assets/DT8Xdk78.js"])))=>i.map(i=>d[i]);
2
+ import{n as e,r as t,t as n}from"./hePW80VL.js";import{a as r,c as i,f as a,i as o,n as s,o as c,p as l,t as u,u as d}from"./CyX8oVsa.js";import{a as f,c as p,d as m,i as h,n as g,o as _,r as v,s as y,t as b,u as x}from"./Dya0zxo6.js";import{a as S,i as C,n as w,o as T,r as ee,t as te}from"./Cme0nCT7.js";import{a as ne,c as re,i as ie,l as ae,n as oe,o as se,r as ce,s as le,t as ue}from"./C76CctEl.js";import{n as de,t as fe}from"./UJzcIbfW.js";import{C as pe,D as me,E as he,O as ge,S as _e,T as ve,_ as ye,b as be,c as xe,d as Se,f as Ce,g as we,h as Te,l as Ee,m as De,n as Oe,o as ke,p as Ae,s as je,t as Me,u as Ne,v as Pe,w as Fe,x as Ie,y as Le}from"./kTwcxyaO.js";import{n as Re,t as ze}from"./Ngd1VEiY.js";import{i as Be,t as Ve}from"./eFSiW0Lh.js";import{n as He,r as Ue,t as We}from"./Nro86Y63.js";import{A as Ge,C as Ke,D as qe,E as Je,I as Ye,R as Xe,S as Ze,_ as Qe,b as $e,c as et,d as tt,i as nt,j as rt,k as it,l as at,o as ot,s as st,t as ct,u as lt,v as ut,x as dt,y as ft}from"./iz6RnRcO.js";import{n as pt,o as mt,r as ht}from"./DOy06rIE.js";import{E as gt,O as _t,_ as vt,b as yt,i as bt,m as xt,n as St,o as Ct,p as wt,r as Tt,s as Et,t as Dt,v as Ot,w as kt,x as At}from"./zdvaVsTo.js";import{n as jt}from"./BihjBM79.js";import{n as Mt,t as Nt}from"./C_qmv4pB.js";import{C as Pt,S as Ft,a as It,b as Lt,d as Rt,f as zt,g as Bt,h as Vt,i as Ht,l as Ut,m as Wt,n as Gt,o as Kt,p as qt,r as Jt,s as Yt,t as Xt,v as Zt,x as Qt,y as $t}from"./BVZGLNq_.js";import{a as en,i as tn,n as nn,r as rn}from"./CH4cEkW4.js";import{a as an,c as on,l as sn,r as cn}from"./DAFA-E1-.js";import{a as ln,i as un,n as dn,r as fn,s as pn}from"./Buf-_p3w.js";import{_ as mn,a as hn,c as gn,d as _n,f as vn,g as yn,h as bn,i as xn,l as Sn,m as Cn,n as wn,o as Tn,p as En,r as Dn,s as On,t as kn,u as An,v as jn,y as Mn}from"./CZRhmV_L.js";import{a as Nn,c as Pn,i as eee,n as Fn,o as In,r as Ln,s as Rn,u as zn}from"./C3AWL5gC.js";import{t as Bn}from"./UEkRIZwQ.js";import{t as Vn}from"./Bs5VSn0X.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var tee=n((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0<n;){var r=n-1>>>1,a=e[r];if(0<i(a,t))e[r]=t,e[n]=a,n=r;else break a}}function n(e){return e.length===0?null:e[0]}function r(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;a:for(var r=0,a=e.length,o=a>>>1;r<o;){var s=2*(r+1)-1,c=e[s],l=s+1,u=e[l];if(0>i(c,n))l<a&&0>i(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(l<a&&0>i(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function x(e){if(h=!1,b(e),!m){if(n(c)!==null)m=!0,S||(S=!0,ne());else{var t=n(l);t!==null&&ae(x,t.startTime-e)}}}var S=!1,C=-1,w=5,T=-1;function ee(){return g?!0:!(e.unstable_now()-T<w)}function te(){if(g=!1,S){var t=e.unstable_now();T=t;var i=!0;try{a:{m=!1,h&&(h=!1,v(C),C=-1),p=!0;var a=f;try{b:{for(b(t),d=n(c);d!==null&&!(d.expirationTime>t&&ee());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&ae(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?ne():S=!1}}}var ne;if(typeof y==`function`)ne=function(){y(te)};else if(typeof MessageChannel<`u`){var re=new MessageChannel,ie=re.port2;re.port1.onmessage=te,ne=function(){ie.postMessage(null)}}else ne=function(){_(te,0)};function ae(t,n){C=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error(`forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported`):w=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},e.unstable_requestPaint=function(){g=!0},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},e.unstable_scheduleCallback=function(r,i,a){var o=e.unstable_now();switch(typeof a==`object`&&a?(a=a.delay,a=typeof a==`number`&&0<a?o+a:o):a=o,r){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return s=a+s,r={id:u++,callback:i,priorityLevel:r,startTime:a,expirationTime:s,sortIndex:-1},a>o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(C),C=-1):h=!0,ae(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,S||(S=!0,ne()))),r},e.unstable_shouldYield=ee,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),nee=n(((e,t)=>{t.exports=tee()})),ree=n((e=>{var t=nee(),n=l(),r=m();function i(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function a(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function o(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function s(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function c(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function u(e){if(o(e)!==e)throw Error(i(188))}function d(e){var t=e.alternate;if(!t){if(t=o(e),t===null)throw Error(i(188));return t===e?e:null}for(var n=e,r=t;;){var a=n.return;if(a===null)break;var s=a.alternate;if(s===null){if(r=a.return,r!==null){n=r;continue}break}if(a.child===s.child){for(s=a.child;s;){if(s===n)return u(a),e;if(s===r)return u(a),t;s=s.sibling}throw Error(i(188))}if(n.return!==r.return)n=a,r=s;else{for(var c=!1,l=a.child;l;){if(l===n){c=!0,n=a,r=s;break}if(l===r){c=!0,r=a,n=s;break}l=l.sibling}if(!c){for(l=s.child;l;){if(l===n){c=!0,n=s,r=a;break}if(l===r){c=!0,r=s,n=a;break}l=l.sibling}if(!c)throw Error(i(189))}}if(n.alternate!==r)throw Error(i(190))}if(n.tag!==3)throw Error(i(188));return n.stateNode.current===n?e:t}function f(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=f(e),t!==null)return t;e=e.sibling}return null}var p=Object.assign,h=Symbol.for(`react.element`),g=Symbol.for(`react.transitional.element`),_=Symbol.for(`react.portal`),v=Symbol.for(`react.fragment`),y=Symbol.for(`react.strict_mode`),b=Symbol.for(`react.profiler`),x=Symbol.for(`react.consumer`),S=Symbol.for(`react.context`),C=Symbol.for(`react.forward_ref`),w=Symbol.for(`react.suspense`),T=Symbol.for(`react.suspense_list`),ee=Symbol.for(`react.memo`),te=Symbol.for(`react.lazy`),ne=Symbol.for(`react.activity`),re=Symbol.for(`react.memo_cache_sentinel`),ie=Symbol.iterator;function ae(e){return typeof e!=`object`||!e?null:(e=ie&&e[ie]||e[`@@iterator`],typeof e==`function`?e:null)}var oe=Symbol.for(`react.client.reference`);function se(e){if(e==null)return null;if(typeof e==`function`)return e.$$typeof===oe?null:e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case v:return`Fragment`;case b:return`Profiler`;case y:return`StrictMode`;case w:return`Suspense`;case T:return`SuspenseList`;case ne:return`Activity`}if(typeof e==`object`)switch(e.$$typeof){case _:return`Portal`;case S:return e.displayName||`Context`;case x:return(e._context.displayName||`Context`)+`.Consumer`;case C:var t=e.render;return e=e.displayName,e||=(e=t.displayName||t.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case ee:return t=e.displayName||null,t===null?se(e.type)||`Memo`:t;case te:t=e._payload,e=e._init;try{return se(e(t))}catch{}}return null}var ce=Array.isArray,le=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,ue=r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,de={pending:!1,data:null,method:null,action:null},fe=[],pe=-1;function me(e){return{current:e}}function he(e){0>pe||(e.current=fe[pe],fe[pe]=null,pe--)}function ge(e,t){pe++,fe[pe]=e.current,e.current=t}var _e=me(null),ve=me(null),ye=me(null),be=me(null);function xe(e,t){switch(ge(ye,t),ge(ve,e),ge(_e,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Hd(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Hd(t),e=Ud(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}he(_e),ge(_e,e)}function Se(){he(_e),he(ve),he(ye)}function Ce(e){e.memoizedState!==null&&ge(be,e);var t=_e.current,n=Ud(t,e.type);t!==n&&(ge(ve,e),ge(_e,n))}function we(e){ve.current===e&&(he(_e),he(ve)),be.current===e&&(he(be),Jf._currentValue=de)}var Te,Ee;function De(e){if(Te===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);Te=t&&t[1]||``,Ee=-1<e.stack.indexOf(`
3
3
  at`)?` (<anonymous>)`:-1<e.stack.indexOf(`@`)?`@unknown:0:0`:``}return`
4
4
  `+Te+e+Ee}var Oe=!1;function ke(e,t){if(!e||Oe)return``;Oe=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var r={DetermineComponentFrameRoot:function(){try{if(t){var n=function(){throw Error()};if(Object.defineProperty(n.prototype,"props",{set:function(){throw Error()}}),typeof Reflect==`object`&&Reflect.construct){try{Reflect.construct(n,[])}catch(e){var r=e}Reflect.construct(e,[],n)}else{try{n.call()}catch(e){r=e}e.call(n.prototype)}}else{try{throw Error()}catch(e){r=e}(n=e())&&typeof n.catch==`function`&&n.catch(function(){})}}catch(e){if(e&&r&&typeof e.stack==`string`)return[e.stack,r.stack]}return[null,null]}};r.DetermineComponentFrameRoot.displayName=`DetermineComponentFrameRoot`;var i=Object.getOwnPropertyDescriptor(r.DetermineComponentFrameRoot,`name`);i&&i.configurable&&Object.defineProperty(r.DetermineComponentFrameRoot,"name",{value:`DetermineComponentFrameRoot`});var a=r.DetermineComponentFrameRoot(),o=a[0],s=a[1];if(o&&s){var c=o.split(`
5
5
  `),l=s.split(`
@@ -918,10 +918,10 @@ WHERE`).replace(/\s+;$/,`;`),s,S.t(`query.tabs.queryTitle`,{n:(Mt.getState().tab
918
918
  `)}},{name:`list_tables`,description:"Tables and views, with row counts where the engine reports them. Called without `database` it covers every namespace on the connection — do that first, because on PostgreSQL and SQL Server one schema is not the database and a single empty one says nothing about the rest.",inputSchema:f8({...d8}),run:async e=>{let t=n8(),n=r8(t.id),r=i8(t),i=t8(e,`database`)??h0e(t);if(i){let e=await f0e(n,r,i);return c8(e)>0?p0e(e):await _0e(n,r,i,`tables`)}let a=await n.introspect.listDatabases(r),o=[];for(let e of a)o.push(await f0e(n,r,e));return o.every(e=>c8(e)===0)?await g0e(n,r,a):m0e(n,o)}},{name:`describe_table`,description:`Columns, indexes and foreign keys of one table. Read this before writing SQL against it — guessing column names is the most common way a generated statement fails.`,inputSchema:f8({...d8,table:{type:`string`}},[`table`]),run:async e=>{let t=n8(),n=a8(t,e),r=e8(e,`table`),i=r8(t.id),a=i8(t),[o,s,c]=await Promise.all([i.introspect.listColumns(a,n,r),i.introspect.listIndexes(a,n,r),i.introspect.listForeignKeys(a,n)]);if(o.length===0)throw new $6(await _0e(i,a,n,`columns for "${r}"`));let l=[`${n}.${r}`,`Columns:`,...o.map(e=>`- ${e.name} ${e.type}${e.nullable?``:` NOT NULL`}${e.key?` [${e.key}]`:``}${e.extra?` ${e.extra}`:``}`)];s.length>0&&l.push(`Indexes:`,...s.map(e=>`- ${e.name} ${e.type} (${e.columns.join(`, `)})`));let u=c.filter(e=>e.table===r);return u.length>0&&l.push(`Foreign keys:`,...u.map(e=>`- ${e.column} -> ${e.refTable}.${e.refColumn}`)),l.join(`
919
919
  `)}},{name:`run_select`,description:`Run one read-only statement (SELECT, SHOW, DESCRIBE, EXPLAIN, WITH … SELECT) and get the rows back without opening a tab. For your own checking: a count, a sample, whether a value exists. When the *user* wants to see the result, use open_query_tab with run instead, so it lands in a grid they can sort and a run they can cancel. Refuses anything that writes.`,inputSchema:f8({...d8,sql:{type:`string`}},[`sql`]),run:async e=>{let t=n8(),n=a8(t,e),r=e8(e,`sql`),i=r8(t.id),a=l8(i,r);if(a.length!==1)throw new $6(`Send one statement at a time.`);let[o]=a;if(!_n(o))throw new $6(`That statement writes. Use run_statement, which asks the user first.`);let{sql:s}=An(o,On(),i.syntax.limitStyle);return u8(await hn(t.id,s,{database:n,tabId:null,skipHistory:!0}))}},{name:`explain_plan`,description:`The query plan for a statement, with the warnings the plan viewer shows (full scans, missing indexes, filesort). Use it to answer why something is slow, before suggesting an index.`,inputSchema:f8({...d8,sql:{type:`string`}},[`sql`]),run:async e=>{let t=n8(),n=a8(t,e),r=e8(e,`sql`);l8(r8(t.id),r);let i=await z6(t.id,r,{database:n}),a=[],o=(e,t)=>{let n=[e.label];e.object&&n.push(`on ${e.object}`),e.rows!==null&&n.push(`rows=${e.rows}`),e.actualRows!==null&&n.push(`actual=${e.actualRows}`),e.cost!==null&&n.push(`cost=${e.cost}`);for(let t of e.warnings)n.push(`!${t}`);a.push(`${` `.repeat(t)}- ${n.join(` `)}`);for(let n of e.children)o(n,t+1)};for(let e of i.roots)o(e,0);return a.join(`
920
920
  `)||`The engine returned an empty plan.`}},{name:`open_query_tab`,description:"Open a query tab holding SQL, where the user can read, edit and re-run it. A read-only statement is executed there too, so this is how you answer a question: the result lands in a grid the user can sort, export and cancel. Pass `run: false` to only write it down without running it. A statement that writes is never run here — it is opened for the user, and run_statement is what asks them to execute one.",inputSchema:f8({...d8,sql:{type:`string`},title:{type:`string`,description:`Short tab title.`},run:{type:`boolean`,description:`Defaults to true for read-only statements. Pass false to open the tab without running it.`}},[`sql`]),run:async(e,t)=>{let n=n8(),r=a8(n,e),i=e8(e,`sql`),a=r8(n.id),o=new Pn(a).statements(i),s=t8(e,`title`)??S.t(`ai.tabTitle`),c=o.length===0||!o.every(_n),l=e.run!==!1&&!c,u=[];l&&(l8(a,i),u=await T0e(n.id,i,r));let d=q6(n.id,i,r,s);if(Mt.getState().setActiveQueryTab(n.id,d),ct.getState().setActiveConnection(n.id),c)return`Opened tab "${s}". It writes, so it was not run — the user runs it, or you can use run_statement, which asks them first.`;if(!l)return`Opened tab "${s}". The user can run it with Ctrl+Enter.`;if(u.length>0&&!await L6({title:S.t(`ai.planWarningTitle`),detail:`${i}\n\n${u.join(`
921
- `)}`,external:t===`bridge`}))return`Opened tab "${s}". The user declined to run it — the plan is a full scan. The statement is theirs to run or change.`;await wn(n.id,d);let f=(Mt.getState().tabs[n.id]??[]).find(e=>e.id===d);if(f?.error)throw new $6(`Ran it in tab "${s}" and it failed: ${f.error}`);let p=f?.results?.[0];return p?`Ran it in tab "${s}". The user is looking at:\n${u8(p)}`:`Ran it in tab "${s}".`}},{name:`open_table`,description:`Open a table in a data grid, the same as double-clicking it in the schema tree.`,inputSchema:f8({...d8,table:{type:`string`}},[`table`]),run:async e=>{let t=n8(),n=a8(t,e),r=e8(e,`table`);return K6(t.id,n,r),`Opened ${n}.${r}.`}},{name:`run_statement`,description:`Run a statement that writes (INSERT, UPDATE, DELETE, CREATE, ALTER). The user approves it first and sees how many rows it will touch. DROP, TRUNCATE and ALTER … DROP COLUMN are refused here — write those into a query tab instead and let the user run them.`,writes:!0,inputSchema:f8({...d8,sql:{type:`string`}},[`sql`]),validate:e=>{l8(r8(n8().id),e8(e,`sql`))},run:async e=>{let t=n8(),n=a8(t,e),r=e8(e,`sql`);return l8(r8(t.id),r),u8(await hn(t.id,r,{database:n,tabId:null,previewWrites:!0}))}}];async function T0e(e,t,n){try{return b0e(await z6(e,t,{database:n}))}catch(e){throw new $6(`The engine would not plan that statement, so nothing was opened or run: ${e instanceof Error?e.message:String(e)}. Fix the statement — describe_table will tell you the real column names — and call open_query_tab again.`)}}function E0e(e){return w0e.find(t=>t.name===e)}function p8(){return w0e.map(({name:e,description:t,inputSchema:n})=>({name:e,description:t,inputSchema:n}))}var m8=null;async function D0e(e){let t=qe.getState(),n=E0e(e.name);if(!n){await At(e.id,`No tool named "${e.name}".`,!0);return}t.push(t.key,{kind:`tool`,id:e.id,name:e.name,input:e.input,status:n.writes?`pending`:`running`,external:!0});try{n.validate?.(e.input)}catch(n){let r=n instanceof Error?n.message:String(n);t.updateTool(e.id,{status:`error`,output:r}),await At(e.id,r,!0);return}if(n.writes){if(!await L6({title:S.t(`ai.approvalTitle`),detail:typeof e.input.sql==`string`?e.input.sql:JSON.stringify(e.input,null,2),external:!0})){t.updateTool(e.id,{status:`skipped`}),await At(e.id,S.t(`ai.rejected`),!1);return}t.updateTool(e.id,{status:`running`})}try{let r=await n.run(e.input,`bridge`);t.updateTool(e.id,{status:`done`,output:r}),await At(e.id,r,!1)}catch(n){let r=n instanceof $6||n instanceof Error?n.message:String(n);t.updateTool(e.id,{status:`error`,output:r}),await At(e.id,r,!0)}}async function O0e(){await kt(p8()),!m8&&(m8=await Ot(e=>{D0e(JSON.parse(e))},()=>{k0e()}))}function k0e(){m8?.(),m8=null}async function A0e(e,t){let n=qe.getState(),r=E0e(t.name);if(!r)return{text:`No tool named "${t.name}".`,isError:!0};n.push(e,{kind:`tool`,id:t.id,name:t.name,input:t.input,status:r.writes?`pending`:`running`});try{r.validate?.(t.input)}catch(e){let r=e instanceof Error?e.message:String(e);return n.updateTool(t.id,{status:`error`,output:r}),{text:r,isError:!0}}if(r.writes){if(!await L6({title:S.t(`ai.approvalTitle`),detail:typeof t.input.sql==`string`?t.input.sql:JSON.stringify(t.input,null,2)}))return n.updateTool(t.id,{status:`skipped`}),{text:S.t(`ai.rejected`),isError:!1};n.updateTool(t.id,{status:`running`})}try{let e=await r.run(t.input);return n.updateTool(t.id,{status:`done`,output:e}),c(`ai_tool_call`,{tool:t.name,writes:r.writes===!0,success:!0}),{text:e,isError:!1}}catch(e){let i=e instanceof $6||e instanceof Error?e.message:String(e);return n.updateTool(t.id,{status:`error`,output:i}),c(`ai_tool_call`,{tool:t.name,writes:r.writes===!0,success:!1}),{text:i,isError:!0}}}async function j0e(e){let t=qe.getState();if(t.busy)return;let n=t.key;t.push(n,{kind:`user`,text:e}),t.pushTurn(n,{role:`user`,content:e}),t.setBusy(!0);try{if(!await bt()){t.push(n,{kind:`error`,text:S.t(`ai.needsAgent`)});return}if(await M0e()){await O0e();let e=await gt({system:R1e,messages:Je(qe.getState().conversations,n).turns,tools:p8()},qe.getState().run?.signal);e.text.trim()&&t.push(n,{kind:`assistant`,text:e.text}),t.pushTurn(n,{role:`assistant`,content:e.text}),c(`ai_assistant_turn`,{steps:1,outcome:`answered`});return}for(let e=0;e<12;e+=1){if(qe.getState().cancelled)return;let r=await gt({system:R1e,messages:Je(qe.getState().conversations,n).turns,tools:p8()},qe.getState().run?.signal),i=r.toolCalls??[];if(r.text.trim()&&t.push(n,{kind:`assistant`,text:r.text}),t.pushTurn(n,{role:`assistant`,content:r.text,...i.length>0?{toolCalls:i}:{}}),i.length===0){c(`ai_assistant_turn`,{steps:e+1,outcome:`answered`});return}for(let e of i){if(qe.getState().cancelled)return;let r=await A0e(n,e);t.pushTurn(n,{role:`tool`,toolCallId:e.id,content:r.text,...r.isError?{isError:!0}:{}})}}t.push(n,{kind:`error`,text:S.t(`ai.tooManySteps`,{count:12})}),c(`ai_assistant_turn`,{steps:12,outcome:`exhausted`})}catch(e){if(qe.getState().cancelled)return;t.push(n,{kind:`error`,text:e instanceof Error?e.message:String(e)}),c(`ai_assistant_turn`,{steps:0,outcome:`failed`})}finally{z1e()&&R6(!1),qe.getState().setBusy(!1)}}async function M0e(){try{return(await wt()).provider===`cli`}catch{return!1}}var h8=u()(Be(e=>({panelSizes:{},setPanelSize:(t,n)=>e(e=>({panelSizes:{...e.panelSizes,[t]:n}})),aiPanelOpen:!1,setAiPanelOpen:t=>e({aiPanelOpen:t})}),{name:`planche-layout`,storage:Ve()}));function g8(e){return e.nativeEvent.isComposing||e.nativeEvent.keyCode===229}var N0e=380,P0e=300,F0e=720,I0e=`ai-panel`;function L0e(e){let t=Object.entries(e).map(([e,t])=>`${e}: ${typeof t==`string`?t:JSON.stringify(t)}`).join(`, `);return t.length>300?`${t.slice(0,300)}…`:t}function R0e({entry:e,t}){let n=e.status===`running`||e.status===`pending`?(0,$.jsx)(b6,{className:`size-3.5 animate-spin`}):e.status===`error`?(0,$.jsx)(ue,{className:`size-3.5 text-destructive`}):e.status===`skipped`?(0,$.jsx)(z$e,{className:`size-3.5 text-muted-foreground`}):(0,$.jsx)(r6,{className:`size-3.5 text-muted-foreground`});return(0,$.jsxs)(`div`,{className:`rounded-md border bg-muted/30 p-2 text-xs`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5 font-medium`,children:[n,(0,$.jsx)(A1e,{className:`size-3.5 text-muted-foreground`}),(0,$.jsx)(`span`,{children:e.name}),e.external&&(0,$.jsx)(Q$e,{className:`size-3 text-amber-500`,"aria-label":t(`ai.external`)})]}),Object.keys(e.input).length>0&&(0,$.jsx)(`div`,{className:`mt-1 break-words text-muted-foreground`,children:L0e(e.input)}),e.output&&(0,$.jsx)(`pre`,{className:`mt-1.5 max-h-40 overflow-auto whitespace-pre-wrap break-words rounded bg-background p-1.5 text-[11px] leading-snug`,children:e.output})]})}function z0e(){let{t:e}=ie(),t=ct(e=>e.activeConnections.find(t=>t.id===e.activeConnectionId)),n=qe(e=>Je(e.conversations,e.key).entries),r=qe(e=>e.busy),i=qe(e=>e.pending),a=qe(e=>e.reset),o=qe(e=>e.cancel),s=h8(e=>e.aiPanelOpen),c=h8(e=>e.setAiPanelOpen),l=h8(e=>e.panelSizes[I0e]??N0e),u=h8(e=>e.setPanelSize),[d,f]=(0,E.useState)(``),[p,m]=(0,E.useState)(null),h=(0,E.useRef)(null),g=ht(),_=(0,E.useCallback)(e=>{e.preventDefault();let t=e=>{let t=Math.min(F0e,Math.max(P0e,window.innerWidth-e.clientX));u(I0e,t)},n=()=>{window.removeEventListener(`mousemove`,t),window.removeEventListener(`mouseup`,n),document.body.style.cursor=``,document.body.style.userSelect=``};document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`,window.addEventListener(`mousemove`,t),window.addEventListener(`mouseup`,n)},[u]);(0,E.useEffect)(()=>{B1e(),qe.getState().setConversation(t?.id??`none`)},[t?.id]),(0,E.useEffect)(()=>{s&&wt().then(e=>m(e.configured)).catch(()=>m(!1))},[s,n.length]),(0,E.useEffect)(()=>{h.current?.scrollIntoView({block:`end`})},[n]),(0,E.useEffect)(()=>{if(s)return O0e().catch(()=>{}),k0e},[s]);let v=(0,E.useCallback)(()=>{let e=d.trim();!e||r||(f(``),j0e(e))},[d,r]);return g?s?(0,$.jsxs)(`aside`,{className:`relative flex h-full shrink-0 flex-col overflow-hidden border-l bg-background`,style:{width:l},children:[(0,$.jsx)(`div`,{onMouseDown:_,className:`absolute inset-y-0 -left-0.5 z-10 w-1 cursor-col-resize hover:bg-primary/40`}),(0,$.jsxs)(`header`,{className:`flex shrink-0 items-center gap-2 border-b px-3 py-2`,children:[(0,$.jsx)(B$e,{className:`size-4`}),(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-baseline gap-1.5`,children:[(0,$.jsx)(`span`,{className:`text-sm font-medium`,children:e(`ai.title`)}),t&&(0,$.jsx)(`span`,{className:`truncate text-xs text-muted-foreground`,children:t.hostName})]}),(0,$.jsx)(b,{variant:`ghost`,size:`icon`,className:`size-7`,onClick:a,title:e(`ai.clear`),children:(0,$.jsx)(m1e,{className:`size-3.5`})}),(0,$.jsx)(b,{variant:`ghost`,size:`icon`,className:`size-7`,onClick:()=>c(!1),title:e(`ai.collapse`),children:(0,$.jsx)(d1e,{className:`size-3.5`})})]}),(0,$.jsx)(F6,{className:`min-h-0 flex-1`,children:(0,$.jsxs)(`div`,{"data-selectable":!0,className:`grid gap-2 p-3`,children:[n.length===0&&(0,$.jsxs)(`div`,{className:`grid gap-2 text-xs text-muted-foreground`,children:[(0,$.jsx)(`p`,{children:e(`ai.intro`)}),(0,$.jsx)(`p`,{className:`rounded-md border p-2`,children:e(`ai.privacy`)}),p===!1&&(0,$.jsx)(`button`,{type:`button`,className:`text-left underline underline-offset-2`,onClick:()=>jt.getState().openDialog(`ai-settings`),children:e(`ai.notConfigured`)})]}),n.map((t,n)=>t.kind===`user`?(0,$.jsx)(`div`,{className:`justify-self-end rounded-md bg-primary/10 px-2.5 py-1.5 text-sm`,children:t.text},n):t.kind===`assistant`?(0,$.jsx)(`div`,{className:`whitespace-pre-wrap text-sm leading-relaxed`,children:t.text},n):t.kind===`error`?(0,$.jsx)(`div`,{className:`rounded-md border border-destructive/40 p-2 text-xs text-destructive`,children:t.text},n):(0,$.jsx)(R0e,{entry:t,t:e},n)),i&&(0,$.jsxs)(`div`,{className:`rounded-md border border-amber-500/50 bg-amber-500/5 p-2 text-xs`,children:[(0,$.jsx)(`div`,{className:`font-medium`,children:i.title}),i.external&&(0,$.jsxs)(`div`,{className:`mt-0.5 flex items-center gap-1 text-amber-600 dark:text-amber-400`,children:[(0,$.jsx)(Q$e,{className:`size-3`}),e(`ai.external`)]}),(0,$.jsx)(`pre`,{className:`mt-1.5 max-h-40 overflow-auto whitespace-pre-wrap break-words rounded bg-background p-1.5 text-[11px]`,children:i.detail}),(0,$.jsxs)(`div`,{className:`mt-2 flex gap-2`,children:[(0,$.jsxs)(b,{size:`sm`,className:`h-7`,onClick:()=>R6(!0),children:[(0,$.jsx)(w6,{className:`mr-1 size-3`}),e(`ai.approve`)]}),(0,$.jsx)(b,{size:`sm`,variant:`ghost`,className:`h-7`,onClick:()=>R6(!1),children:e(`ai.reject`)})]})]}),(0,$.jsx)(`div`,{ref:h})]})}),(0,$.jsxs)(`div`,{className:`shrink-0 border-t p-2`,children:[(0,$.jsx)(`textarea`,{value:d,onChange:e=>f(e.target.value),onKeyDown:e=>{g8(e)||e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),v())},rows:3,spellCheck:!1,placeholder:e(`ai.placeholder`),className:`w-full resize-none rounded-md border bg-transparent p-2 text-sm outline-none focus-visible:ring-1 focus-visible:ring-ring`}),(0,$.jsxs)(`div`,{className:`mt-1.5 flex items-center gap-2`,children:[(0,$.jsx)(b,{size:`sm`,className:`h-7`,onClick:v,disabled:r||!d.trim(),children:e(`ai.send`)}),r&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(b,{size:`sm`,variant:`ghost`,className:`h-7`,onClick:o,children:e(`ai.stop`)}),(0,$.jsxs)(`span`,{className:`flex items-center gap-1 text-xs text-muted-foreground`,children:[(0,$.jsx)(b6,{className:`size-3 animate-spin`}),e(`ai.working`)]})]})]})]})]}):(0,$.jsx)(`aside`,{className:`flex w-10 shrink-0 flex-col items-center gap-1 border-l bg-background py-2`,children:(0,$.jsx)(b,{variant:`ghost`,size:`icon`,className:`size-8`,onClick:()=>c(!0),title:e(`ai.title`),children:r?(0,$.jsx)(b6,{className:`size-4 animate-spin`}):(0,$.jsx)(B$e,{className:`size-4`})})}):null}var _8=u()(Be(e=>({url:null,token:null,install:null,setAgent:t=>e(t),clearAgent:()=>e({url:null,token:null})}),{name:`planche-agent`,storage:Ve(),partialize:e=>({url:e.url,token:e.token,install:e.install}),onRehydrateStorage:()=>e=>{e&&Et({url:e.url,token:e.token})}}));_8.subscribe(e=>Et({url:e.url,token:e.token}));var B0e=/access denied|authentication failed|password|login failed|NOAUTH|WRONGPASS|ORA-01017|security_exception|unauthorized/i,V0e=/certificate|self[- ]signed|\bSSL\b|\bTLS\b|handshake/i,H0e=/ECONNREFUSED|ECONNRESET|ETIMEDOUT|EHOSTUNREACH|ENETUNREACH|ENOTFOUND|EAI_AGAIN|getaddrinfo|timed? ?out|connection refused|no answer within/i;function U0e(e){if(e instanceof St)return`agent_offline`;let t=e instanceof Error?e.message:String(e);if(e instanceof Dt){if(e.status===429)return`agent_locked`;if(e.status===409)return`host_key`;if(e.status===403&&/Origin not allowed|Invalid Host header/i.test(t))return`origin_blocked`;if(e.status===401)return/auth token/i.test(t)?`agent_token`:/pairing code|code/i.test(t)?`code_rejected`:/ssh/i.test(t)?`ssh_auth`:`db_auth`;if(e.status===400&&e.outdatedAgent)return`agent_outdated`}return V0e.test(t)?`tls`:H0e.test(t)?`network`:B0e.test(t)?`db_auth`:`other`}var W0e={npx:{start:`npx planche`,upgrade:`npx planche@latest`},standalone:{start:`planche`,upgrade:`planche upgrade`}};function G0e(e){let t=_8.getState().install,n=W0e[t??`npx`],r=t!==null;switch(e){case`agent_offline`:return{hint:S.t(r?`failureHint.agentOffline`:`failureHint.agentOfflineUnknown`),command:n.start};case`agent_outdated`:return{hint:S.t(r?`failureHint.agentOutdated`:`failureHint.agentOutdatedUnknown`),command:n.upgrade};case`agent_token`:return{hint:S.t(`failureHint.agentToken`)};case`code_rejected`:return{hint:S.t(`failureHint.codeRejected`)};case`agent_locked`:return{hint:S.t(`failureHint.agentLocked`)};case`origin_blocked`:return{hint:S.t(`failureHint.originBlocked`)};case`ssh_auth`:return{hint:S.t(`failureHint.sshAuth`)};case`db_auth`:return{hint:S.t(`failureHint.dbAuth`)};case`network`:return{hint:S.t(`failureHint.network`)};case`tls`:return{hint:S.t(`failureHint.tls`,{verify:S.t(`connection.form.tlsVerify`)})};default:return{}}}function K0e(){if(typeof window>`u`)return!1;let e=window.location.hash.replace(/^#/,``);if(!e.includes(`agent=`)&&!(v8()&&e.includes(`pair=`)))return v8()&&!_8.getState().url&&_8.getState().setAgent({url:window.location.origin,token:null}),!1;window.history.replaceState(null,``,window.location.pathname+window.location.search);let t=new URLSearchParams(e),n=t.get(`agent`)?.trim()||(v8()?window.location.origin:void 0),r=t.get(`token`)?.trim(),i=t.get(`pair`)?.trim();if(!n)return!1;if(!vt(n))return console.warn(`Ignoring pairing link for a non-local agent; configure it manually if you trust it.`),!1;let a=n.replace(/\/+$/,``);return c(`agent_pair`),i?(_8.getState().setAgent({url:a,token:null}),yt(a,i).then(e=>{c(`agent_pair_result`,{result:`ok`}),_8.getState().setAgent({url:a,token:e})}).catch(e=>{let t=U0e(e);c(`agent_pair_result`,{result:t});let n=e instanceof Error?e.message:String(e);console.warn(`Pairing failed:`,n),w(pt.getState().locale).finally(()=>{jt.getState().showMessage({tone:`error`,title:S.t(`failureHint.pairFailedTitle`),description:n,...G0e(t)})})}),!0):(_8.getState().setAgent({url:a,token:r||null}),!0)}function v8(){return typeof document<`u`&&document.querySelector(`meta[name="planche-agent"][content="same-origin"]`)!==null}function y8(){return v8()&&document.querySelector(`meta[name="planche-shell"][content="desktop"]`)!==null}function q0e(){typeof window>`u`||!y8()||window.planche?.onFullScreen?.(e=>{e?document.documentElement.dataset.fullscreen=`true`:delete document.documentElement.dataset.fullscreen})}function J0e(e){if(typeof window>`u`||!y8())return;let t=window.planche;!t?.onCloseRequest||!t.replyClose||t.onCloseRequest(()=>{t.replyClose(`asking`),e().then(e=>t.replyClose(e),()=>t.replyClose(!0))})}function Y0e(e){typeof window>`u`||!y8()||window.planche?.setChrome(e)}function X0e({className:e,...t}){return(0,$.jsx)(dZe,{"data-slot":`menubar`,className:h(`flex h-9 items-center gap-1 rounded-md border bg-background p-1 shadow-xs`,e),...t})}function b8({...e}){return(0,$.jsx)(fZe,{"data-slot":`menubar-menu`,...e})}function Z0e({...e}){return(0,$.jsx)(mZe,{"data-slot":`menubar-portal`,...e})}function x8({className:e,...t}){return(0,$.jsx)(pZe,{"data-slot":`menubar-trigger`,className:h(`flex items-center rounded-sm px-2 py-1 text-sm font-medium outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground`,e),...t})}function S8({className:e,align:t=`start`,alignOffset:n=-4,sideOffset:r=8,...i}){return(0,$.jsx)(Z0e,{children:(0,$.jsx)(hZe,{"data-slot":`menubar-content`,align:t,alignOffset:n,sideOffset:r,className:h(`z-50 min-w-[12rem] origin-(--radix-menubar-content-transform-origin) overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95`,e),...i})})}function C8({className:e,inset:t,variant:n=`default`,...r}){return(0,$.jsx)(gZe,{"data-slot":`menubar-item`,"data-inset":t,"data-variant":n,className:h(`relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground data-[variant=destructive]:*:[svg]:text-destructive!`,e),...r})}function w8({className:e,...t}){return(0,$.jsx)(_Ze,{"data-slot":`menubar-separator`,className:h(`-mx-1 my-1 h-px bg-border`,e),...t})}function T8({className:e,...t}){return(0,$.jsx)(`span`,{"data-slot":`menubar-shortcut`,className:h(`ml-auto text-xs tracking-widest text-muted-foreground`,e),...t})}function Q0e({...e}){return(0,$.jsx)(vZe,{"data-slot":`menubar-sub`,...e})}function $0e({className:e,inset:t,children:n,...r}){return(0,$.jsxs)(yZe,{"data-slot":`menubar-sub-trigger`,"data-inset":t,className:h(`flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-none select-none focus:bg-accent focus:text-accent-foreground data-[inset]:pl-8 data-[state=open]:bg-accent data-[state=open]:text-accent-foreground`,e),...r,children:[n,(0,$.jsx)(a6,{className:`ml-auto h-4 w-4`})]})}function e2e({className:e,...t}){return(0,$.jsx)(bZe,{"data-slot":`menubar-sub-content`,className:h(`z-50 min-w-[8rem] origin-(--radix-menubar-content-transform-origin) overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95`,e),...t})}var t2e=e({enrichStructure:()=>E8,readStructures:()=>s2e,showQueryStructure:()=>D8}),n2e=12,r2e=new Map;function i2e(e){let t=Pt.getState(),n=t.trees[e];return n?un(n,t.selectedNodeId[e])??fn(n)[0]??null:null}async function a2e(e,t){let n=new Map,r=ct.getState().activeConnections.find(t=>t.id===e),i=rn(e),a=Mt.getState().tabs[e]?.find(e=>e.graphs)?.database,o=i.capabilities.schemas?null:r?.database,s=a||o||i2e(e);if(!r?.serverConnectionId||!s)return n;let c=It(r.serverConnectionId);return await Promise.all(Rn(t).slice(0,n2e).map(async({key:e,qualifier:t,table:a})=>{let o=t??s,l=`${r.serverConnectionId}|${o}|${a}`,u=r2e.get(l);if(u!==void 0){n.set(e,u);return}try{let t=await i.introspect.listColumns(c,o,a);t.length>0&&(r2e.set(l,t.length),n.set(e,t.length))}catch{}})),n}async function o2e(e,t,n){let r=rn(e),i=await Nn(t,r);return i.ok?{graph:i.graph,sql:t,documentOffset:n}:{graph:null,message:i.reason===`not-a-query`?S.t(`result.structure.notQuery`):i.reason===`unsupported-engine`?S.t(`result.structure.unsupported`,{engine:r.label}):S.t(`result.structure.parseError`,{message:i.message}),sql:t,documentOffset:n}}async function s2e(e,t,n,r={}){if(n.length===0)return;let i=await Promise.all(n.map(t=>o2e(e,t.sql,t.start))),a=i.filter(e=>e.graph!==null),o=a.length>0?a:i.slice(0,1);r.focus&&o[0]&&(o[0]={...o[0],focus:!0}),Mt.getState().setGraphs(e,t,o)}async function E8(e,t,n){let r=Mt.getState().tabs[e]?.find(e=>e.id===t)?.graphs?.[n];if(!r?.graph||r.enriched)return;let i=await a2e(e,r.graph),a=Mt.getState(),o=a.tabs[e]?.find(e=>e.id===t)?.graphs;if(!o||o[n]!==r)return;let s=[...o];s[n]={...r,graph:In(r.graph,i),enriched:!0},a.setGraphs(e,t,s)}async function D8(e,t){let n=Tn(e,t);n&&(await s2e(e,t,[{sql:n.sql,start:n.start}],{focus:!0}),await E8(e,t,0),c(`query_structure`,{engine:rn(e).id,outcome:Mt.getState().tabs[e]?.find(e=>e.id===t)?.graphs?.[0]?.graph?`drawn`:`empty`}))}function O8(){function e(){let e=ct.getState();return e.activeConnections.find(t=>t.id===e.activeConnectionId)?.serverConnectionId??null}function t(){return ct.getState().activeConnectionId}function n(){let e=t();return e?Mt.getState().activeTabId[e]??null:null}async function r(){let e=t(),r=n();if(!(!e||!r)){if(pt.getState().executeScope===`statement`){await i();return}await wn(e,r)}}async function i(){let e=t(),r=n();if(!e||!r)return;let i=Tn(e,r);i&&await wn(e,r,{sql:i.sql,sqlOffset:i.start})}async function a(){let e=t(),r=n();!e||!r||await wn(e,r)}async function o(e=!1){let r=t(),i=n();!r||!i||await K1e(r,i,e)}async function s(){let e=t(),r=n();!e||!r||await D8(e,r)}async function c(e,n){let r=t();if(!r)throw Error(S.t(`query.executor.noActiveConnection`));return hn(r,e,{database:n})}function l(){let e=t();if(!e)return;let n=Mt.getState().tabs[e]??[];Mt.getState().addQueryTab(e,{id:`tab-${Date.now()}`,title:S.t(`query.tabs.queryTitle`,{n:n.length+1}),query:``,database:``,isExecuting:!1,results:[],error:null,executionTime:null})}async function u(){let e=ct.getState(),t=e.activeConnectionId;if(!t)return;let n=e.activeConnections.find(e=>e.id===t);if(!(e.transactionOpen[t]&&!await jt.getState().requestDestructiveConfirm({title:S.t(`query.executor.uncommittedTitle`),description:S.t(`query.executor.uncommittedDescription`),confirmLabel:S.t(`query.executor.uncommittedConfirm`)}))&&!(Lt(n?.serverConnectionId)&&Qt(n.serverConnectionId)&&!await jt.getState().requestDestructiveConfirm({title:S.t(`query.executor.unsavedTitle`),description:S.t(`query.executor.unsavedDescription`,{file:n.file||S.t(`query.executor.theSqliteDatabase`)}),confirmLabel:S.t(`query.executor.unsavedConfirm`)}))){if(n?.serverConnectionId)try{await Yt(n.serverConnectionId)}catch{}e.closeConnection(t)}}return{getActiveServerConnectionId:e,getActiveConnectionId:t,getActiveTabId:n,executeCurrentQuery:r,executeCurrentStatement:i,executeWholeScript:a,explainCurrentStatement:o,showCurrentStructure:s,runSQL:c,addNewQueryTab:l,disconnectActive:u}}var c2e=`planche-erd-positions`,l2e=`planche-erd-col-widths`;function u2e(e){try{let t=localStorage.getItem(e);return t?JSON.parse(t):null}catch{return null}}var k8=e=>e||`default`,A8=u()(Be((e,t)=>({open:{},database:{},positions:{},columnWidths:{},openERD:(t,n)=>e(e=>({open:{...e.open,[t]:!0},...n?{database:{...e.database,[t]:n}}:{}})),closeERD:t=>e(e=>{let n={...e.open};return delete n[t],{open:n}}),setDatabase:(t,n)=>e(e=>({database:{...e.database,[t]:n}})),savePositions:(t,n)=>e(e=>({positions:{...e.positions,[k8(t)]:n}})),saveColumnWidths:(t,n)=>e(e=>({columnWidths:{...e.columnWidths,[k8(t)]:n}})),resetLayout:t=>e(e=>{let n={...e.positions},r={...e.columnWidths};return delete n[k8(t)],delete r[k8(t)],localStorage.removeItem(`${c2e}-${k8(t)}`),localStorage.removeItem(`${l2e}-${k8(t)}`),{positions:n,columnWidths:r}}),getPositions:e=>t().positions[k8(e)]??u2e(`${c2e}-${k8(e)}`),getColumnWidths:e=>t().columnWidths[k8(e)]??u2e(`${l2e}-${k8(e)}`)??{}}),{name:`planche-erd`,storage:Ve(),partialize:e=>({open:e.open,database:e.database,positions:e.positions,columnWidths:e.columnWidths})})),d2e=[`light`,`light-blue`,`solarized-light`,`catppuccin-latte`,`github-light`,`one-light`,`rose-pine-dawn`],f2e={id:`light`,name:`Light`,colors:{background:`#ffffff`,foreground:`#1e1e1e`,card:`#f4f6f9`,cardForeground:`#1e1e1e`,popover:`#ffffff`,popoverForeground:`#1e1e1e`,primary:`#2563eb`,primaryForeground:`#ffffff`,secondary:`#eef2f6`,secondaryForeground:`#1e1e1e`,muted:`#eef2f6`,mutedForeground:`#5b6878`,accent:`#dfe5ec`,accentForeground:`#1e1e1e`,destructive:`#dc2626`,destructiveForeground:`#ffffff`,border:`#cfd6df`,input:`#d9dfe7`,ring:`#2563eb`,red:`#dc2626`,peach:`#c2410c`,yellow:`#a16207`,green:`#15803d`,teal:`#0f766e`,blue:`#2563eb`,lavender:`#7c3aed`,mauve:`#9333ea`,sky:`#0369a1`,surface0:`#eef2f6`,surface1:`#dfe5ec`,surface2:`#c3ccd7`,overlay0:`#5b6878`,overlay1:`#414d5c`,mantle:`#f1f4f8`,crust:`#e6eaf0`,scrollTrack:`#eef2f6`,scrollThumb:`#c3ccd7`,scrollThumbHover:`#9aa7b6`}},p2e={id:`light-blue`,name:`Light Blue`,colors:{background:`#f0f4ff`,foreground:`#1e293b`,card:`#e6ecfc`,cardForeground:`#1e293b`,popover:`#f7f9ff`,popoverForeground:`#1e293b`,primary:`#1d4ed8`,primaryForeground:`#ffffff`,secondary:`#dfe7fb`,secondaryForeground:`#1e293b`,muted:`#dfe7fb`,mutedForeground:`#5d6a80`,accent:`#c9d6f0`,accentForeground:`#1e293b`,destructive:`#cb3a3a`,destructiveForeground:`#ffffff`,border:`#b9c8e6`,input:`#d3ddf5`,ring:`#1d4ed8`,red:`#cb3a3a`,peach:`#b45309`,yellow:`#8c6b05`,green:`#15803d`,teal:`#0f766e`,blue:`#1d4ed8`,lavender:`#6d28d9`,mauve:`#7e22ce`,sky:`#0369a1`,surface0:`#dfe7fb`,surface1:`#c9d6f0`,surface2:`#a9bce3`,overlay0:`#5d6a80`,overlay1:`#475569`,mantle:`#e3eafb`,crust:`#d6dff5`,scrollTrack:`#dfe7fb`,scrollThumb:`#a9bce3`,scrollThumbHover:`#8ea4d6`}},m2e={id:`solarized-light`,name:`Solarized Light`,colors:{background:`#fdf6e3`,foreground:`#586e75`,card:`#eee8d5`,cardForeground:`#586e75`,popover:`#fdf6e3`,popoverForeground:`#586e75`,primary:`#2076b2`,primaryForeground:`#fdf6e3`,secondary:`#eee8d5`,secondaryForeground:`#586e75`,muted:`#eee8d5`,mutedForeground:`#657b83`,accent:`#eee8d5`,accentForeground:`#586e75`,destructive:`#d5312e`,destructiveForeground:`#fdf6e3`,border:`#cfc6ac`,input:`#eee8d5`,ring:`#2076b2`,red:`#d5312e`,peach:`#c34815`,yellow:`#8f6c00`,green:`#687700`,teal:`#217e77`,blue:`#2076b2`,lavender:`#666ab8`,mauve:`#c8337c`,sky:`#217e77`,surface0:`#eee8d5`,surface1:`#d3cab1`,surface2:`#bcb394`,overlay0:`#657b83`,overlay1:`#586e75`,mantle:`#eee8d5`,crust:`#e4ddc6`,scrollTrack:`#eee8d5`,scrollThumb:`#bcb394`,scrollThumbHover:`#93a1a1`}},h2e={id:`catppuccin-latte`,name:`Catppuccin Latte`,colors:{background:`#eff1f5`,foreground:`#4c4f69`,card:`#e6e9ef`,cardForeground:`#4c4f69`,popover:`#eff1f5`,popoverForeground:`#4c4f69`,primary:`#1d63ee`,primaryForeground:`#eff1f5`,secondary:`#e6e9ef`,secondaryForeground:`#4c4f69`,muted:`#e6e9ef`,mutedForeground:`#6a6d82`,accent:`#ccd0da`,accentForeground:`#4c4f69`,destructive:`#d20f39`,destructiveForeground:`#eff1f5`,border:`#bcc0cc`,input:`#dce0e8`,ring:`#1d63ee`,red:`#d20f39`,peach:`#bc4a08`,yellow:`#986114`,green:`#327d22`,teal:`#13797f`,blue:`#1d63ee`,lavender:`#5767c0`,mauve:`#8839ef`,sky:`#0375a3`,surface0:`#ccd0da`,surface1:`#bcc0cc`,surface2:`#acb0be`,overlay0:`#6a6d82`,overlay1:`#5c5f77`,mantle:`#e6e9ef`,crust:`#dce0e8`,scrollTrack:`#e6e9ef`,scrollThumb:`#bcc0cc`,scrollThumbHover:`#9ca0b0`}},g2e={id:`github-light`,name:`GitHub Light`,colors:{background:`#ffffff`,foreground:`#1f2328`,card:`#f6f8fa`,cardForeground:`#1f2328`,popover:`#ffffff`,popoverForeground:`#1f2328`,primary:`#0969da`,primaryForeground:`#ffffff`,secondary:`#f6f8fa`,secondaryForeground:`#1f2328`,muted:`#f6f8fa`,mutedForeground:`#59636e`,accent:`#eaeef2`,accentForeground:`#1f2328`,destructive:`#cf222e`,destructiveForeground:`#ffffff`,border:`#d1d9e0`,input:`#d1d9e0`,ring:`#0969da`,red:`#cf222e`,peach:`#bc4c00`,yellow:`#9a6700`,green:`#1a7f37`,teal:`#1b7c83`,blue:`#0969da`,lavender:`#8250df`,mauve:`#bf3989`,sky:`#0550ae`,surface0:`#f6f8fa`,surface1:`#eaeef2`,surface2:`#d0d7de`,overlay0:`#59636e`,overlay1:`#454c54`,mantle:`#f6f8fa`,crust:`#eaeef2`,scrollTrack:`#f6f8fa`,scrollThumb:`#d0d7de`,scrollThumbHover:`#afb8c1`}},_2e={id:`one-light`,name:`One Light`,colors:{background:`#fafafa`,foreground:`#383a42`,card:`#f0f0f1`,cardForeground:`#383a42`,popover:`#fafafa`,popoverForeground:`#383a42`,primary:`#3a6ddc`,primaryForeground:`#fafafa`,secondary:`#f0f0f1`,secondaryForeground:`#383a42`,muted:`#f0f0f1`,mutedForeground:`#696c77`,accent:`#e5e5e6`,accentForeground:`#383a42`,destructive:`#c44a3f`,destructiveForeground:`#fafafa`,border:`#d4d4d5`,input:`#e5e5e6`,ring:`#3a6ddc`,red:`#c44a3f`,peach:`#986801`,yellow:`#9a6a01`,green:`#40813f`,teal:`#017baf`,blue:`#3a6ddc`,lavender:`#6f5ad8`,mauve:`#a626a4`,sky:`#017baf`,surface0:`#f0f0f1`,surface1:`#e5e5e6`,surface2:`#d4d4d5`,overlay0:`#696c77`,overlay1:`#4f525c`,mantle:`#f0f0f1`,crust:`#e5e5e6`,scrollTrack:`#f0f0f1`,scrollThumb:`#d4d4d5`,scrollThumbHover:`#a0a1a7`}},v2e={id:`rose-pine-dawn`,name:`Rosé Pine Dawn`,colors:{background:`#faf4ed`,foreground:`#575279`,card:`#fffaf3`,cardForeground:`#575279`,popover:`#fffaf3`,popoverForeground:`#575279`,primary:`#286983`,primaryForeground:`#faf4ed`,secondary:`#f2e9e1`,secondaryForeground:`#575279`,muted:`#f2e9e1`,mutedForeground:`#716d89`,accent:`#dfdad9`,accentForeground:`#575279`,destructive:`#a45a6f`,destructiveForeground:`#faf4ed`,border:`#dfdad9`,input:`#f2e9e1`,ring:`#286983`,red:`#a45a6f`,peach:`#9d5f5c`,yellow:`#986622`,green:`#467881`,teal:`#467881`,blue:`#286983`,lavender:`#7a6890`,mauve:`#7a6890`,sky:`#3f7e89`,surface0:`#f4ede8`,surface1:`#dfdad9`,surface2:`#cecacd`,overlay0:`#716d89`,overlay1:`#575279`,mantle:`#fffaf3`,crust:`#f2e9e1`,scrollTrack:`#f2e9e1`,scrollThumb:`#cecacd`,scrollThumbHover:`#9893a5`}},y2e={id:`nord`,name:`Nord`,colors:{background:`#2e3440`,foreground:`#d8dee9`,card:`#3b4252`,cardForeground:`#d8dee9`,popover:`#2e3440`,popoverForeground:`#d8dee9`,primary:`#88c0d0`,primaryForeground:`#2e3440`,secondary:`#3b4252`,secondaryForeground:`#d8dee9`,muted:`#3b4252`,mutedForeground:`#7b88a1`,accent:`#434c5e`,accentForeground:`#d8dee9`,destructive:`#bf616a`,destructiveForeground:`#2e3440`,border:`#434c5e`,input:`#3b4252`,ring:`#88c0d0`,red:`#bf616a`,peach:`#d08770`,yellow:`#ebcb8b`,green:`#a3be8c`,teal:`#8fbcbb`,blue:`#88c0d0`,lavender:`#b48ead`,mauve:`#b48ead`,sky:`#81a1c1`,surface0:`#3b4252`,surface1:`#434c5e`,surface2:`#4c566a`,overlay0:`#7b88a1`,overlay1:`#9ba5b7`,mantle:`#2e3440`,crust:`#272c36`,scrollTrack:`#2e3440`,scrollThumb:`#434c5e`,scrollThumbHover:`#4c566a`}},b2e=[f2e,p2e,m2e,h2e,g2e,_2e,v2e,y2e,{id:`dracula`,name:`Dracula`,colors:{background:`#282a36`,foreground:`#f8f8f2`,card:`#21222c`,cardForeground:`#f8f8f2`,popover:`#282a36`,popoverForeground:`#f8f8f2`,primary:`#bd93f9`,primaryForeground:`#282a36`,secondary:`#44475a`,secondaryForeground:`#f8f8f2`,muted:`#44475a`,mutedForeground:`#6272a4`,accent:`#44475a`,accentForeground:`#f8f8f2`,destructive:`#ff5555`,destructiveForeground:`#282a36`,border:`#44475a`,input:`#44475a`,ring:`#bd93f9`,red:`#ff5555`,peach:`#ffb86c`,yellow:`#f1fa8c`,green:`#50fa7b`,teal:`#8be9fd`,blue:`#6272a4`,lavender:`#bd93f9`,mauve:`#ff79c6`,sky:`#8be9fd`,surface0:`#343746`,surface1:`#44475a`,surface2:`#545769`,overlay0:`#6272a4`,overlay1:`#7284b8`,mantle:`#21222c`,crust:`#191a21`,scrollTrack:`#21222c`,scrollThumb:`#44475a`,scrollThumbHover:`#6272a4`}},{id:`catppuccin-mocha`,name:`Catppuccin Mocha`,colors:{background:`#1e1e2e`,foreground:`#cdd6f4`,card:`#181825`,cardForeground:`#cdd6f4`,popover:`#1e1e2e`,popoverForeground:`#cdd6f4`,primary:`#89b4fa`,primaryForeground:`#1e1e2e`,secondary:`#313244`,secondaryForeground:`#cdd6f4`,muted:`#313244`,mutedForeground:`#6c7086`,accent:`#45475a`,accentForeground:`#cdd6f4`,destructive:`#f38ba8`,destructiveForeground:`#1e1e2e`,border:`#45475a`,input:`#313244`,ring:`#89b4fa`,red:`#f38ba8`,peach:`#fab387`,yellow:`#f9e2af`,green:`#a6e3a1`,teal:`#94e2d5`,blue:`#89b4fa`,lavender:`#b4befe`,mauve:`#cba6f7`,sky:`#89dcfe`,surface0:`#313244`,surface1:`#45475a`,surface2:`#585b70`,overlay0:`#6c7086`,overlay1:`#7f849c`,mantle:`#181825`,crust:`#11111b`,scrollTrack:`#181825`,scrollThumb:`#45475a`,scrollThumbHover:`#585b70`}},{id:`tokyo-night`,name:`Tokyo Night`,colors:{background:`#1a1b26`,foreground:`#c0caf5`,card:`#16161e`,cardForeground:`#c0caf5`,popover:`#1a1b26`,popoverForeground:`#c0caf5`,primary:`#7aa2f7`,primaryForeground:`#1a1b26`,secondary:`#24283b`,secondaryForeground:`#c0caf5`,muted:`#24283b`,mutedForeground:`#565f89`,accent:`#292e42`,accentForeground:`#c0caf5`,destructive:`#f7768e`,destructiveForeground:`#1a1b26`,border:`#292e42`,input:`#24283b`,ring:`#7aa2f7`,red:`#f7768e`,peach:`#ff9e64`,yellow:`#e0af68`,green:`#9ece6a`,teal:`#73daca`,blue:`#7aa2f7`,lavender:`#bb9af7`,mauve:`#bb9af7`,sky:`#7dcfff`,surface0:`#24283b`,surface1:`#292e42`,surface2:`#343b58`,overlay0:`#565f89`,overlay1:`#737aa2`,mantle:`#16161e`,crust:`#12121a`,scrollTrack:`#16161e`,scrollThumb:`#292e42`,scrollThumbHover:`#343b58`}},{id:`one-dark`,name:`One Dark`,colors:{background:`#282c34`,foreground:`#abb2bf`,card:`#21252b`,cardForeground:`#abb2bf`,popover:`#282c34`,popoverForeground:`#abb2bf`,primary:`#61afef`,primaryForeground:`#282c34`,secondary:`#2c313c`,secondaryForeground:`#abb2bf`,muted:`#2c313c`,mutedForeground:`#5c6370`,accent:`#3e4451`,accentForeground:`#abb2bf`,destructive:`#e06c75`,destructiveForeground:`#282c34`,border:`#3e4451`,input:`#2c313c`,ring:`#61afef`,red:`#e06c75`,peach:`#d19a66`,yellow:`#e5c07b`,green:`#98c379`,teal:`#56b6c2`,blue:`#61afef`,lavender:`#c678dd`,mauve:`#c678dd`,sky:`#56b6c2`,surface0:`#2c313c`,surface1:`#3e4451`,surface2:`#4b5263`,overlay0:`#5c6370`,overlay1:`#737984`,mantle:`#21252b`,crust:`#1b1f27`,scrollTrack:`#21252b`,scrollThumb:`#3e4451`,scrollThumbHover:`#4b5263`}}],x2e=new Map(b2e.map(e=>[e.id,e]));function S2e(e){return x2e.get(e)??y2e}function C2e(){return b2e}var j8=u()(Be(e=>({themeId:`nord`,setTheme:t=>{c(`theme_change`,{theme:t}),e({themeId:t})}}),{name:`planche-theme`,storage:Ve()})),w2e={redis:[{id:`redis-server`,labelKey:`tools.redis.server`,component:(0,E.lazy)(()=>C(()=>import(`./DyPVTkGX.js`).then(e=>({default:e.ServerInfo})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21])))},{id:`redis-slowlog`,labelKey:`tools.redis.slowlog`,component:(0,E.lazy)(()=>C(()=>import(`./Xya13jwA.js`).then(e=>({default:e.SlowLog})),__vite__mapDeps([22,1,2,3,5,6,7,8,13,4,9,10,11,12,14,15,16,17,18,19,20,21,23])))},{id:`redis-clients`,labelKey:`tools.redis.clients`,component:(0,E.lazy)(()=>C(()=>import(`./CYqQEBj7.js`).then(e=>({default:e.Clients})),__vite__mapDeps([24,1,2,3,13,4,5,6,7,8,9,10,11,12,14,15,16,17,18,19,20,21,23])))},{id:`redis-pubsub`,labelKey:`tools.redis.pubsub`,component:(0,E.lazy)(()=>C(()=>import(`./DMmbl7oU.js`).then(e=>({default:e.PubSub})),__vite__mapDeps([25,1,2,3,5,6,7,8,4,9,10,11,12,13,14,15,16,17,18,19,20,21,23,26])))},{id:`redis-monitor`,labelKey:`tools.redis.monitor`,component:(0,E.lazy)(()=>C(()=>import(`./mHq6YiMc.js`).then(e=>({default:e.Monitor})),__vite__mapDeps([27,1,2,3,5,6,7,8,21,26,12,10,11,23])))},{id:`redis-memory`,labelKey:`tools.redis.memory`,component:(0,E.lazy)(()=>C(()=>import(`./BFxd4DZC.js`).then(e=>({default:e.MemoryAnalysis})),__vite__mapDeps([28,1,2,3,5,6,7,8,29,4,9,10,11,12,13,14,15,16,17,18,19,30,20,21,23])))},{id:`redis-delete`,labelKey:`tools.redis.delete`,component:(0,E.lazy)(()=>C(()=>import(`./D2dO-cBr.js`).then(e=>({default:e.BulkDelete})),__vite__mapDeps([31,1,2,3,5,6,7,8,14,15,10,11,13,9,12,16,17,18,19,4,30,20,21,23])))}]};function M8(e){return w2e[e.kind]??[]}var N8=(e,t)=>e.database===t.database&&e.table===t.table&&e.column===t.column,P8=u()(Be(e=>({links:{},setLink:(t,n)=>{lt(t),e(e=>({links:{...e.links,[t]:[...(e.links[t]??[]).filter(e=>!N8(e,n)),n]}}))},mergeLinks:t=>e(e=>{let n={...e.links};for(let[e,r]of Object.entries(t))n[e]=[...(n[e]??[]).filter(e=>!r.some(t=>N8(e,t))),...r];return{links:n}}),replaceLinks:t=>e({links:t}),removeLink:(t,n)=>{lt(t),e(e=>({links:{...e.links,[t]:(e.links[t]??[]).filter(e=>!N8(e,n))}}))}}),{name:`planche-links`,storage:Ve()}));function F8(e,t,n,r){return(e[t]??[]).filter(e=>e.database===n&&e.table===r)}var T2e=`scratchpad.db`,E2e=500;async function I8(){let e=ct.getState(),t=e.savedConnections.find(e=>e.scratchpad);if(t||(t={id:crypto.randomUUID(),hostName:S.t(`services.scratchpad.profileName`),host:``,user:``,pass:``,charset:`utf8`,port:0,dbms:`sqlite`,transport:`browser`,file:T2e,scratchpad:!0,autoConnection:!1,savePassword:!0,authToken:``},e.addSavedConnection(t)),e.activeConnections.find(e=>e.id===t.id)?.serverConnectionId)return e.activeConnectionId!==t.id&&e.setActiveConnection(t.id),t.id;let n=(await Jt(t.id,{interactive:!1}))?.connectionId??(await Ft(null,void 0,void 0,{profileId:t.id})).connectionId;return(Mt.getState().tabs[t.id]??[]).length===0&&Mt.getState().addQueryTab(t.id,{id:`tab-${Date.now()}`,title:S.t(`connection.dialog.firstQueryTab`),query:``,database:`main`,isExecuting:!1,results:[],error:null,executionTime:null}),ct.getState().openConnection({...t,serverConnectionId:n}),t.id}function D2e(e){let t=e.toLowerCase();return/blob|binary|bytea|image|raw/.test(t)?`BLOB`:/int|bool|bit|year|serial/.test(t)?`INTEGER`:/real|float|double|decimal|numeric|number|money/.test(t)?`REAL`:`TEXT`}async function O2e(e,t,n){let r=rn(t),i=new Set((await r.introspect.listTables(e,`main`)).map(e=>e.name.toLowerCase()));if(!i.has(n.toLowerCase()))return n;let a=2;for(;i.has(`${n}_${a}`.toLowerCase());)a++;let o=await jt.getState().requestPrompt({title:S.t(`services.scratchpad.namePromptTitle`),description:S.t(`services.scratchpad.namePromptDescription`,{table:n}),defaultValue:`${n}_${a}`});if(o===null)throw new vn;let s=o.trim();if(!s)throw new vn;if(i.has(s.toLowerCase()))throw Error(S.t(`services.scratchpad.nameTaken`,{table:s}));return s}function k2e(e){return e&&typeof e==`object`&&e.type===`Buffer`&&Array.isArray(e.data)?Uint8Array.from(e.data):e&&typeof e==`object`&&!(e instanceof Uint8Array)?JSON.stringify(e):e}async function A2e(e){let t=await I8(),n=ct.getState().activeConnections.find(e=>e.id===t);if(!n?.serverConnectionId)throw Error(S.t(`services.query.notConnected`));let r=rn(t),i=await O2e(It(n.serverConnectionId),t,e.table.replace(/[^\w]+/g,`_`)||`result`),a=e.fields,o=a.map(e=>` ${r.quoteIdentifier(e.name)} ${D2e(e.type)}`);await hn(t,`CREATE TABLE ${r.qualify(`main`,i)} (\n${o.join(`,
921
+ `)}`,external:t===`bridge`}))return`Opened tab "${s}". The user declined to run it — the plan is a full scan. The statement is theirs to run or change.`;await wn(n.id,d);let f=(Mt.getState().tabs[n.id]??[]).find(e=>e.id===d);if(f?.error)throw new $6(`Ran it in tab "${s}" and it failed: ${f.error}`);let p=f?.results?.[0];return p?`Ran it in tab "${s}". The user is looking at:\n${u8(p)}`:`Ran it in tab "${s}".`}},{name:`open_table`,description:`Open a table in a data grid, the same as double-clicking it in the schema tree.`,inputSchema:f8({...d8,table:{type:`string`}},[`table`]),run:async e=>{let t=n8(),n=a8(t,e),r=e8(e,`table`);return K6(t.id,n,r),`Opened ${n}.${r}.`}},{name:`run_statement`,description:`Run a statement that writes (INSERT, UPDATE, DELETE, CREATE, ALTER). The user approves it first and sees how many rows it will touch. DROP, TRUNCATE and ALTER … DROP COLUMN are refused here — write those into a query tab instead and let the user run them.`,writes:!0,inputSchema:f8({...d8,sql:{type:`string`}},[`sql`]),validate:e=>{l8(r8(n8().id),e8(e,`sql`))},run:async e=>{let t=n8(),n=a8(t,e),r=e8(e,`sql`);return l8(r8(t.id),r),u8(await hn(t.id,r,{database:n,tabId:null,previewWrites:!0}))}}];async function T0e(e,t,n){try{return b0e(await z6(e,t,{database:n}))}catch(e){throw new $6(`The engine would not plan that statement, so nothing was opened or run: ${e instanceof Error?e.message:String(e)}. Fix the statement — describe_table will tell you the real column names — and call open_query_tab again.`)}}function E0e(e){return w0e.find(t=>t.name===e)}function p8(){return w0e.map(({name:e,description:t,inputSchema:n})=>({name:e,description:t,inputSchema:n}))}var m8=null;async function D0e(e){let t=qe.getState(),n=E0e(e.name);if(!n){await At(e.id,`No tool named "${e.name}".`,!0);return}t.push(t.key,{kind:`tool`,id:e.id,name:e.name,input:e.input,status:n.writes?`pending`:`running`,external:!0});try{n.validate?.(e.input)}catch(n){let r=n instanceof Error?n.message:String(n);t.updateTool(e.id,{status:`error`,output:r}),await At(e.id,r,!0);return}if(n.writes){if(!await L6({title:S.t(`ai.approvalTitle`),detail:typeof e.input.sql==`string`?e.input.sql:JSON.stringify(e.input,null,2),external:!0})){t.updateTool(e.id,{status:`skipped`}),await At(e.id,S.t(`ai.rejected`),!1);return}t.updateTool(e.id,{status:`running`})}try{let r=await n.run(e.input,`bridge`);t.updateTool(e.id,{status:`done`,output:r}),await At(e.id,r,!1)}catch(n){let r=n instanceof $6||n instanceof Error?n.message:String(n);t.updateTool(e.id,{status:`error`,output:r}),await At(e.id,r,!0)}}async function O0e(){await kt(p8()),!m8&&(m8=await Ot(e=>{D0e(JSON.parse(e))},()=>{k0e()}))}function k0e(){m8?.(),m8=null}async function A0e(e,t){let n=qe.getState(),r=E0e(t.name);if(!r)return{text:`No tool named "${t.name}".`,isError:!0};n.push(e,{kind:`tool`,id:t.id,name:t.name,input:t.input,status:r.writes?`pending`:`running`});try{r.validate?.(t.input)}catch(e){let r=e instanceof Error?e.message:String(e);return n.updateTool(t.id,{status:`error`,output:r}),{text:r,isError:!0}}if(r.writes){if(!await L6({title:S.t(`ai.approvalTitle`),detail:typeof t.input.sql==`string`?t.input.sql:JSON.stringify(t.input,null,2)}))return n.updateTool(t.id,{status:`skipped`}),{text:S.t(`ai.rejected`),isError:!1};n.updateTool(t.id,{status:`running`})}try{let e=await r.run(t.input);return n.updateTool(t.id,{status:`done`,output:e}),c(`ai_tool_call`,{tool:t.name,writes:r.writes===!0,success:!0}),{text:e,isError:!1}}catch(e){let i=e instanceof $6||e instanceof Error?e.message:String(e);return n.updateTool(t.id,{status:`error`,output:i}),c(`ai_tool_call`,{tool:t.name,writes:r.writes===!0,success:!1}),{text:i,isError:!0}}}async function j0e(e){let t=qe.getState();if(t.busy)return;let n=t.key;t.push(n,{kind:`user`,text:e}),t.pushTurn(n,{role:`user`,content:e}),t.setBusy(!0);try{if(!await bt()){t.push(n,{kind:`error`,text:S.t(`ai.needsAgent`)});return}if(await M0e()){await O0e();let e=await gt({system:R1e,messages:Je(qe.getState().conversations,n).turns,tools:p8()},qe.getState().run?.signal);e.text.trim()&&t.push(n,{kind:`assistant`,text:e.text}),t.pushTurn(n,{role:`assistant`,content:e.text}),c(`ai_assistant_turn`,{steps:1,outcome:`answered`});return}for(let e=0;e<12;e+=1){if(qe.getState().cancelled)return;let r=await gt({system:R1e,messages:Je(qe.getState().conversations,n).turns,tools:p8()},qe.getState().run?.signal),i=r.toolCalls??[];if(r.text.trim()&&t.push(n,{kind:`assistant`,text:r.text}),t.pushTurn(n,{role:`assistant`,content:r.text,...i.length>0?{toolCalls:i}:{}}),i.length===0){c(`ai_assistant_turn`,{steps:e+1,outcome:`answered`});return}for(let e of i){if(qe.getState().cancelled)return;let r=await A0e(n,e);t.pushTurn(n,{role:`tool`,toolCallId:e.id,content:r.text,...r.isError?{isError:!0}:{}})}}t.push(n,{kind:`error`,text:S.t(`ai.tooManySteps`,{count:12})}),c(`ai_assistant_turn`,{steps:12,outcome:`exhausted`})}catch(e){if(qe.getState().cancelled)return;t.push(n,{kind:`error`,text:e instanceof Error?e.message:String(e)}),c(`ai_assistant_turn`,{steps:0,outcome:`failed`})}finally{z1e()&&R6(!1),qe.getState().setBusy(!1)}}async function M0e(){try{return(await wt()).provider===`cli`}catch{return!1}}var h8=u()(Be(e=>({panelSizes:{},setPanelSize:(t,n)=>e(e=>({panelSizes:{...e.panelSizes,[t]:n}})),aiPanelOpen:!1,setAiPanelOpen:t=>e({aiPanelOpen:t})}),{name:`planche-layout`,storage:Ve()}));function g8(e){return e.nativeEvent.isComposing||e.nativeEvent.keyCode===229}var N0e=380,P0e=300,F0e=720,I0e=`ai-panel`;function L0e(e){let t=Object.entries(e).map(([e,t])=>`${e}: ${typeof t==`string`?t:JSON.stringify(t)}`).join(`, `);return t.length>300?`${t.slice(0,300)}…`:t}function R0e({entry:e,t}){let n=e.status===`running`||e.status===`pending`?(0,$.jsx)(b6,{className:`size-3.5 animate-spin`}):e.status===`error`?(0,$.jsx)(ue,{className:`size-3.5 text-destructive`}):e.status===`skipped`?(0,$.jsx)(z$e,{className:`size-3.5 text-muted-foreground`}):(0,$.jsx)(r6,{className:`size-3.5 text-muted-foreground`});return(0,$.jsxs)(`div`,{className:`rounded-md border bg-muted/30 p-2 text-xs`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5 font-medium`,children:[n,(0,$.jsx)(A1e,{className:`size-3.5 text-muted-foreground`}),(0,$.jsx)(`span`,{children:e.name}),e.external&&(0,$.jsx)(Q$e,{className:`size-3 text-amber-500`,"aria-label":t(`ai.external`)})]}),Object.keys(e.input).length>0&&(0,$.jsx)(`div`,{className:`mt-1 break-words text-muted-foreground`,children:L0e(e.input)}),e.output&&(0,$.jsx)(`pre`,{className:`mt-1.5 max-h-40 overflow-auto whitespace-pre-wrap break-words rounded bg-background p-1.5 text-[11px] leading-snug`,children:e.output})]})}function z0e(){let{t:e}=ie(),t=ct(e=>e.activeConnections.find(t=>t.id===e.activeConnectionId)),n=qe(e=>Je(e.conversations,e.key).entries),r=qe(e=>e.busy),i=qe(e=>e.pending),a=qe(e=>e.reset),o=qe(e=>e.cancel),s=h8(e=>e.aiPanelOpen),c=h8(e=>e.setAiPanelOpen),l=h8(e=>e.panelSizes[I0e]??N0e),u=h8(e=>e.setPanelSize),[d,f]=(0,E.useState)(``),[p,m]=(0,E.useState)(null),h=(0,E.useRef)(null),g=ht(),_=(0,E.useCallback)(e=>{e.preventDefault();let t=e=>{let t=Math.min(F0e,Math.max(P0e,window.innerWidth-e.clientX));u(I0e,t)},n=()=>{window.removeEventListener(`mousemove`,t),window.removeEventListener(`mouseup`,n),document.body.style.cursor=``,document.body.style.userSelect=``};document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`,window.addEventListener(`mousemove`,t),window.addEventListener(`mouseup`,n)},[u]);(0,E.useEffect)(()=>{B1e(),qe.getState().setConversation(t?.id??`none`)},[t?.id]),(0,E.useEffect)(()=>{s&&wt().then(e=>m(e.configured)).catch(()=>m(!1))},[s,n.length]),(0,E.useEffect)(()=>{h.current?.scrollIntoView({block:`end`})},[n]),(0,E.useEffect)(()=>{if(s)return O0e().catch(()=>{}),k0e},[s]);let v=(0,E.useCallback)(()=>{let e=d.trim();!e||r||(f(``),j0e(e))},[d,r]);return g?s?(0,$.jsxs)(`aside`,{className:`relative flex h-full shrink-0 flex-col overflow-hidden border-l bg-background`,style:{width:l},children:[(0,$.jsx)(`div`,{onMouseDown:_,className:`absolute inset-y-0 -left-0.5 z-10 w-1 cursor-col-resize hover:bg-primary/40`}),(0,$.jsxs)(`header`,{className:`flex shrink-0 items-center gap-2 border-b px-3 py-2`,children:[(0,$.jsx)(B$e,{className:`size-4`}),(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-baseline gap-1.5`,children:[(0,$.jsx)(`span`,{className:`text-sm font-medium`,children:e(`ai.title`)}),t&&(0,$.jsx)(`span`,{className:`truncate text-xs text-muted-foreground`,children:t.hostName})]}),(0,$.jsx)(b,{variant:`ghost`,size:`icon`,className:`size-7`,onClick:a,title:e(`ai.clear`),children:(0,$.jsx)(m1e,{className:`size-3.5`})}),(0,$.jsx)(b,{variant:`ghost`,size:`icon`,className:`size-7`,onClick:()=>c(!1),title:e(`ai.collapse`),children:(0,$.jsx)(d1e,{className:`size-3.5`})})]}),(0,$.jsx)(F6,{className:`min-h-0 flex-1`,children:(0,$.jsxs)(`div`,{"data-selectable":!0,className:`grid gap-2 p-3`,children:[n.length===0&&(0,$.jsxs)(`div`,{className:`grid gap-2 text-xs text-muted-foreground`,children:[(0,$.jsx)(`p`,{children:e(`ai.intro`)}),(0,$.jsx)(`p`,{className:`rounded-md border p-2`,children:e(`ai.privacy`)}),p===!1&&(0,$.jsx)(`button`,{type:`button`,className:`text-left underline underline-offset-2`,onClick:()=>jt.getState().openDialog(`ai-settings`),children:e(`ai.notConfigured`)})]}),n.map((t,n)=>t.kind===`user`?(0,$.jsx)(`div`,{className:`justify-self-end rounded-md bg-primary/10 px-2.5 py-1.5 text-sm`,children:t.text},n):t.kind===`assistant`?(0,$.jsx)(`div`,{className:`whitespace-pre-wrap text-sm leading-relaxed`,children:t.text},n):t.kind===`error`?(0,$.jsx)(`div`,{className:`rounded-md border border-destructive/40 p-2 text-xs text-destructive`,children:t.text},n):(0,$.jsx)(R0e,{entry:t,t:e},n)),i&&(0,$.jsxs)(`div`,{className:`rounded-md border border-amber-500/50 bg-amber-500/5 p-2 text-xs`,children:[(0,$.jsx)(`div`,{className:`font-medium`,children:i.title}),i.external&&(0,$.jsxs)(`div`,{className:`mt-0.5 flex items-center gap-1 text-amber-600 dark:text-amber-400`,children:[(0,$.jsx)(Q$e,{className:`size-3`}),e(`ai.external`)]}),(0,$.jsx)(`pre`,{className:`mt-1.5 max-h-40 overflow-auto whitespace-pre-wrap break-words rounded bg-background p-1.5 text-[11px]`,children:i.detail}),(0,$.jsxs)(`div`,{className:`mt-2 flex gap-2`,children:[(0,$.jsxs)(b,{size:`sm`,className:`h-7`,onClick:()=>R6(!0),children:[(0,$.jsx)(w6,{className:`mr-1 size-3`}),e(`ai.approve`)]}),(0,$.jsx)(b,{size:`sm`,variant:`ghost`,className:`h-7`,onClick:()=>R6(!1),children:e(`ai.reject`)})]})]}),(0,$.jsx)(`div`,{ref:h})]})}),(0,$.jsxs)(`div`,{className:`shrink-0 border-t p-2`,children:[(0,$.jsx)(`textarea`,{value:d,onChange:e=>f(e.target.value),onKeyDown:e=>{g8(e)||e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),v())},rows:3,spellCheck:!1,placeholder:e(`ai.placeholder`),className:`w-full resize-none rounded-md border bg-transparent p-2 text-sm outline-none focus-visible:ring-1 focus-visible:ring-ring`}),(0,$.jsxs)(`div`,{className:`mt-1.5 flex items-center gap-2`,children:[(0,$.jsx)(b,{size:`sm`,className:`h-7`,onClick:v,disabled:r||!d.trim(),children:e(`ai.send`)}),r&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(b,{size:`sm`,variant:`ghost`,className:`h-7`,onClick:o,children:e(`ai.stop`)}),(0,$.jsxs)(`span`,{className:`flex items-center gap-1 text-xs text-muted-foreground`,children:[(0,$.jsx)(b6,{className:`size-3 animate-spin`}),e(`ai.working`)]})]})]})]})]}):(0,$.jsx)(`aside`,{className:`flex w-10 shrink-0 flex-col items-center gap-1 border-l bg-background py-2`,children:(0,$.jsx)(b,{variant:`ghost`,size:`icon`,className:`size-8`,onClick:()=>c(!0),title:e(`ai.title`),children:r?(0,$.jsx)(b6,{className:`size-4 animate-spin`}):(0,$.jsx)(B$e,{className:`size-4`})})}):null}var _8=u()(Be(e=>({url:null,token:null,install:null,setAgent:t=>e(t),clearAgent:()=>e({url:null,token:null})}),{name:`planche-agent`,storage:Ve(),partialize:e=>({url:e.url,token:e.token,install:e.install}),onRehydrateStorage:()=>e=>{e&&Et({url:e.url,token:e.token})}}));_8.subscribe(e=>Et({url:e.url,token:e.token}));var B0e=/access denied|authentication failed|password|login failed|NOAUTH|WRONGPASS|ORA-01017|security_exception|unauthorized/i,V0e=/certificate|self[- ]signed|\bSSL\b|\bTLS\b|handshake/i,H0e=/ECONNREFUSED|ECONNRESET|ETIMEDOUT|EHOSTUNREACH|ENETUNREACH|ENOTFOUND|EAI_AGAIN|getaddrinfo|timed? ?out|connection refused|no answer within/i;function U0e(e){if(e instanceof St)return`agent_offline`;let t=e instanceof Error?e.message:String(e);if(e instanceof Dt){if(e.status===429)return`agent_locked`;if(e.status===409)return`host_key`;if(e.status===403&&/Origin not allowed|Invalid Host header/i.test(t))return`origin_blocked`;if(e.status===401)return/auth token/i.test(t)?`agent_token`:/pairing code|code/i.test(t)?`code_rejected`:/ssh/i.test(t)?`ssh_auth`:`db_auth`;if(e.status===400&&e.outdatedAgent)return`agent_outdated`}return V0e.test(t)?`tls`:H0e.test(t)?`network`:B0e.test(t)?`db_auth`:`other`}var W0e={npx:{start:`npx planche`,upgrade:`npx planche@latest`},standalone:{start:`planche`,upgrade:`planche upgrade`}};function G0e(e){let t=_8.getState().install,n=W0e[t??`npx`],r=t!==null;switch(e){case`agent_offline`:return{hint:S.t(r?`failureHint.agentOffline`:`failureHint.agentOfflineUnknown`),command:n.start};case`agent_outdated`:return{hint:S.t(r?`failureHint.agentOutdated`:`failureHint.agentOutdatedUnknown`),command:n.upgrade};case`agent_token`:return{hint:S.t(`failureHint.agentToken`)};case`code_rejected`:return{hint:S.t(`failureHint.codeRejected`)};case`agent_locked`:return{hint:S.t(`failureHint.agentLocked`)};case`origin_blocked`:return{hint:S.t(`failureHint.originBlocked`)};case`ssh_auth`:return{hint:S.t(`failureHint.sshAuth`)};case`db_auth`:return{hint:S.t(`failureHint.dbAuth`)};case`network`:return{hint:S.t(`failureHint.network`)};case`tls`:return{hint:S.t(`failureHint.tls`,{verify:S.t(`connection.form.tlsVerify`)})};default:return{}}}function K0e(){if(typeof window>`u`)return!1;let e=window.location.hash.replace(/^#/,``);if(!e.includes(`agent=`)&&!(v8()&&e.includes(`pair=`)))return v8()&&!_8.getState().url&&_8.getState().setAgent({url:window.location.origin,token:null}),!1;window.history.replaceState(null,``,window.location.pathname+window.location.search);let t=new URLSearchParams(e),n=t.get(`agent`)?.trim()||(v8()?window.location.origin:void 0),r=t.get(`token`)?.trim(),i=t.get(`pair`)?.trim();if(!n)return!1;if(!vt(n))return console.warn(`Ignoring pairing link for a non-local agent; configure it manually if you trust it.`),!1;let a=n.replace(/\/+$/,``);return c(`agent_pair`),i?(_8.getState().setAgent({url:a,token:null}),yt(a,i).then(e=>{c(`agent_pair_result`,{result:`ok`}),_8.getState().setAgent({url:a,token:e})}).catch(e=>{let t=U0e(e);c(`agent_pair_result`,{result:t});let n=e instanceof Error?e.message:String(e);console.warn(`Pairing failed:`,n),w(pt.getState().locale).finally(()=>{jt.getState().showMessage({tone:`error`,title:S.t(`failureHint.pairFailedTitle`),description:n,...G0e(t)})})}),!0):(_8.getState().setAgent({url:a,token:r||null}),!0)}function v8(){return typeof document<`u`&&document.querySelector(`meta[name="planche-agent"][content="same-origin"]`)!==null}function y8(){return v8()&&document.querySelector(`meta[name="planche-shell"][content="desktop"]`)!==null}function q0e(){typeof window>`u`||!y8()||window.planche?.onFullScreen?.(e=>{e?document.documentElement.dataset.fullscreen=`true`:delete document.documentElement.dataset.fullscreen})}function J0e(e){if(typeof window>`u`||!y8())return;let t=window.planche;!t?.onCloseRequest||!t.replyClose||t.onCloseRequest(()=>{t.replyClose(`asking`),e().then(e=>t.replyClose(e),()=>t.replyClose(!0))})}function Y0e(e){typeof window>`u`||!y8()||window.planche?.setChrome(e)}function X0e({className:e,...t}){return(0,$.jsx)(dZe,{"data-slot":`menubar`,className:h(`flex h-9 items-center gap-1 rounded-md border bg-background p-1 shadow-xs`,e),...t})}function b8({...e}){return(0,$.jsx)(fZe,{"data-slot":`menubar-menu`,...e})}function Z0e({...e}){return(0,$.jsx)(mZe,{"data-slot":`menubar-portal`,...e})}function x8({className:e,...t}){return(0,$.jsx)(pZe,{"data-slot":`menubar-trigger`,className:h(`flex items-center rounded-sm px-2 py-1 text-sm font-medium outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground`,e),...t})}function S8({className:e,align:t=`start`,alignOffset:n=-4,sideOffset:r=8,...i}){return(0,$.jsx)(Z0e,{children:(0,$.jsx)(hZe,{"data-slot":`menubar-content`,align:t,alignOffset:n,sideOffset:r,className:h(`z-50 min-w-[12rem] origin-(--radix-menubar-content-transform-origin) overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95`,e),...i})})}function C8({className:e,inset:t,variant:n=`default`,...r}){return(0,$.jsx)(gZe,{"data-slot":`menubar-item`,"data-inset":t,"data-variant":n,className:h(`relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground data-[variant=destructive]:*:[svg]:text-destructive!`,e),...r})}function w8({className:e,...t}){return(0,$.jsx)(_Ze,{"data-slot":`menubar-separator`,className:h(`-mx-1 my-1 h-px bg-border`,e),...t})}function T8({className:e,...t}){return(0,$.jsx)(`span`,{"data-slot":`menubar-shortcut`,className:h(`ml-auto text-xs tracking-widest text-muted-foreground`,e),...t})}function Q0e({...e}){return(0,$.jsx)(vZe,{"data-slot":`menubar-sub`,...e})}function $0e({className:e,inset:t,children:n,...r}){return(0,$.jsxs)(yZe,{"data-slot":`menubar-sub-trigger`,"data-inset":t,className:h(`flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-none select-none focus:bg-accent focus:text-accent-foreground data-[inset]:pl-8 data-[state=open]:bg-accent data-[state=open]:text-accent-foreground`,e),...r,children:[n,(0,$.jsx)(a6,{className:`ml-auto h-4 w-4`})]})}function e2e({className:e,...t}){return(0,$.jsx)(bZe,{"data-slot":`menubar-sub-content`,className:h(`z-50 min-w-[8rem] origin-(--radix-menubar-content-transform-origin) overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95`,e),...t})}var t2e=e({enrichStructure:()=>E8,readStructures:()=>s2e,showQueryStructure:()=>D8}),n2e=12,r2e=new Map;function i2e(e){let t=Pt.getState(),n=t.trees[e];return n?un(n,t.selectedNodeId[e])??fn(n)[0]??null:null}async function a2e(e,t){let n=new Map,r=ct.getState().activeConnections.find(t=>t.id===e),i=rn(e),a=Mt.getState().tabs[e]?.find(e=>e.graphs)?.database,o=i.capabilities.schemas?null:r?.database,s=a||o||i2e(e);if(!r?.serverConnectionId||!s)return n;let c=It(r.serverConnectionId);return await Promise.all(Rn(t).slice(0,n2e).map(async({key:e,qualifier:t,table:a})=>{let o=t??s,l=`${r.serverConnectionId}|${o}|${a}`,u=r2e.get(l);if(u!==void 0){n.set(e,u);return}try{let t=await i.introspect.listColumns(c,o,a);t.length>0&&(r2e.set(l,t.length),n.set(e,t.length))}catch{}})),n}async function o2e(e,t,n){let r=rn(e),i=await Nn(t,r);return i.ok?{graph:i.graph,sql:t,documentOffset:n}:{graph:null,message:i.reason===`not-a-query`?S.t(`result.structure.notQuery`):i.reason===`unsupported-engine`?S.t(`result.structure.unsupported`,{engine:r.label}):S.t(`result.structure.parseError`,{message:i.message}),sql:t,documentOffset:n}}async function s2e(e,t,n,r={}){if(n.length===0)return;let i=await Promise.all(n.map(t=>o2e(e,t.sql,t.start))),a=i.filter(e=>e.graph!==null),o=a.length>0?a:i.slice(0,1);r.focus&&o[0]&&(o[0]={...o[0],focus:!0}),Mt.getState().setGraphs(e,t,o)}async function E8(e,t,n){let r=Mt.getState().tabs[e]?.find(e=>e.id===t)?.graphs?.[n];if(!r?.graph||r.enriched)return;let i=await a2e(e,r.graph),a=Mt.getState(),o=a.tabs[e]?.find(e=>e.id===t)?.graphs;if(!o||o[n]!==r)return;let s=[...o];s[n]={...r,graph:In(r.graph,i),enriched:!0},a.setGraphs(e,t,s)}async function D8(e,t){let n=Tn(e,t);n&&(await s2e(e,t,[{sql:n.sql,start:n.start}],{focus:!0}),await E8(e,t,0),c(`query_structure`,{engine:rn(e).id,outcome:Mt.getState().tabs[e]?.find(e=>e.id===t)?.graphs?.[0]?.graph?`drawn`:`empty`}))}function O8(){function e(){let e=ct.getState();return e.activeConnections.find(t=>t.id===e.activeConnectionId)?.serverConnectionId??null}function t(){return ct.getState().activeConnectionId}function n(){let e=t();return e?Mt.getState().activeTabId[e]??null:null}async function r(){let e=t(),r=n();if(!(!e||!r)){if(pt.getState().executeScope===`statement`){await i();return}await wn(e,r)}}async function i(){let e=t(),r=n();if(!e||!r)return;let i=Tn(e,r);i&&await wn(e,r,{sql:i.sql,sqlOffset:i.start})}async function a(){let e=t(),r=n();!e||!r||await wn(e,r)}async function o(e=!1){let r=t(),i=n();!r||!i||await K1e(r,i,e)}async function s(){let e=t(),r=n();!e||!r||await D8(e,r)}async function c(e,n){let r=t();if(!r)throw Error(S.t(`query.executor.noActiveConnection`));return hn(r,e,{database:n})}function l(){let e=t();if(!e)return;let n=Mt.getState().tabs[e]??[];Mt.getState().addQueryTab(e,{id:`tab-${Date.now()}`,title:S.t(`query.tabs.queryTitle`,{n:n.length+1}),query:``,database:``,isExecuting:!1,results:[],error:null,executionTime:null})}async function u(){let e=ct.getState(),t=e.activeConnectionId;if(!t)return;let n=e.activeConnections.find(e=>e.id===t);if(!(e.transactionOpen[t]&&!await jt.getState().requestDestructiveConfirm({title:S.t(`query.executor.uncommittedTitle`),description:S.t(`query.executor.uncommittedDescription`),confirmLabel:S.t(`query.executor.uncommittedConfirm`)}))&&!(Lt(n?.serverConnectionId)&&Qt(n.serverConnectionId)&&!await jt.getState().requestDestructiveConfirm({title:S.t(`query.executor.unsavedTitle`),description:S.t(`query.executor.unsavedDescription`,{file:n.file||S.t(`query.executor.theSqliteDatabase`)}),confirmLabel:S.t(`query.executor.unsavedConfirm`)}))){if(n?.serverConnectionId)try{await Yt(n.serverConnectionId)}catch{}e.closeConnection(t)}}return{getActiveServerConnectionId:e,getActiveConnectionId:t,getActiveTabId:n,executeCurrentQuery:r,executeCurrentStatement:i,executeWholeScript:a,explainCurrentStatement:o,showCurrentStructure:s,runSQL:c,addNewQueryTab:l,disconnectActive:u}}var c2e=`planche-erd-positions`,l2e=`planche-erd-col-widths`;function u2e(e){try{let t=localStorage.getItem(e);return t?JSON.parse(t):null}catch{return null}}var k8=e=>e||`default`,A8=u()(Be((e,t)=>({open:{},database:{},positions:{},columnWidths:{},openERD:(t,n)=>e(e=>({open:{...e.open,[t]:!0},...n?{database:{...e.database,[t]:n}}:{}})),closeERD:t=>e(e=>{let n={...e.open};return delete n[t],{open:n}}),setDatabase:(t,n)=>e(e=>({database:{...e.database,[t]:n}})),savePositions:(t,n)=>e(e=>({positions:{...e.positions,[k8(t)]:n}})),saveColumnWidths:(t,n)=>e(e=>({columnWidths:{...e.columnWidths,[k8(t)]:n}})),resetLayout:t=>e(e=>{let n={...e.positions},r={...e.columnWidths};return delete n[k8(t)],delete r[k8(t)],localStorage.removeItem(`${c2e}-${k8(t)}`),localStorage.removeItem(`${l2e}-${k8(t)}`),{positions:n,columnWidths:r}}),getPositions:e=>t().positions[k8(e)]??u2e(`${c2e}-${k8(e)}`),getColumnWidths:e=>t().columnWidths[k8(e)]??u2e(`${l2e}-${k8(e)}`)??{}}),{name:`planche-erd`,storage:Ve(),partialize:e=>({open:e.open,database:e.database,positions:e.positions,columnWidths:e.columnWidths})})),d2e=[`light`,`light-blue`,`solarized-light`,`catppuccin-latte`,`github-light`,`one-light`,`rose-pine-dawn`],f2e={id:`light`,name:`Light`,colors:{background:`#ffffff`,foreground:`#1e1e1e`,card:`#f4f6f9`,cardForeground:`#1e1e1e`,popover:`#ffffff`,popoverForeground:`#1e1e1e`,primary:`#2563eb`,primaryForeground:`#ffffff`,secondary:`#eef2f6`,secondaryForeground:`#1e1e1e`,muted:`#eef2f6`,mutedForeground:`#5b6878`,accent:`#dfe5ec`,accentForeground:`#1e1e1e`,destructive:`#dc2626`,destructiveForeground:`#ffffff`,border:`#cfd6df`,input:`#d9dfe7`,ring:`#2563eb`,red:`#dc2626`,peach:`#c2410c`,yellow:`#a16207`,green:`#15803d`,teal:`#0f766e`,blue:`#2563eb`,lavender:`#7c3aed`,mauve:`#9333ea`,sky:`#0369a1`,surface0:`#eef2f6`,surface1:`#dfe5ec`,surface2:`#c3ccd7`,overlay0:`#5b6878`,overlay1:`#414d5c`,mantle:`#f1f4f8`,crust:`#e6eaf0`,scrollTrack:`#eef2f6`,scrollThumb:`#c3ccd7`,scrollThumbHover:`#9aa7b6`}},p2e={id:`light-blue`,name:`Light Blue`,colors:{background:`#f0f4ff`,foreground:`#1e293b`,card:`#e6ecfc`,cardForeground:`#1e293b`,popover:`#f7f9ff`,popoverForeground:`#1e293b`,primary:`#1d4ed8`,primaryForeground:`#ffffff`,secondary:`#dfe7fb`,secondaryForeground:`#1e293b`,muted:`#dfe7fb`,mutedForeground:`#5d6a80`,accent:`#c9d6f0`,accentForeground:`#1e293b`,destructive:`#cb3a3a`,destructiveForeground:`#ffffff`,border:`#b9c8e6`,input:`#d3ddf5`,ring:`#1d4ed8`,red:`#cb3a3a`,peach:`#b45309`,yellow:`#8c6b05`,green:`#15803d`,teal:`#0f766e`,blue:`#1d4ed8`,lavender:`#6d28d9`,mauve:`#7e22ce`,sky:`#0369a1`,surface0:`#dfe7fb`,surface1:`#c9d6f0`,surface2:`#a9bce3`,overlay0:`#5d6a80`,overlay1:`#475569`,mantle:`#e3eafb`,crust:`#d6dff5`,scrollTrack:`#dfe7fb`,scrollThumb:`#a9bce3`,scrollThumbHover:`#8ea4d6`}},m2e={id:`solarized-light`,name:`Solarized Light`,colors:{background:`#fdf6e3`,foreground:`#586e75`,card:`#eee8d5`,cardForeground:`#586e75`,popover:`#fdf6e3`,popoverForeground:`#586e75`,primary:`#2076b2`,primaryForeground:`#fdf6e3`,secondary:`#eee8d5`,secondaryForeground:`#586e75`,muted:`#eee8d5`,mutedForeground:`#657b83`,accent:`#eee8d5`,accentForeground:`#586e75`,destructive:`#d5312e`,destructiveForeground:`#fdf6e3`,border:`#cfc6ac`,input:`#eee8d5`,ring:`#2076b2`,red:`#d5312e`,peach:`#c34815`,yellow:`#8f6c00`,green:`#687700`,teal:`#217e77`,blue:`#2076b2`,lavender:`#666ab8`,mauve:`#c8337c`,sky:`#217e77`,surface0:`#eee8d5`,surface1:`#d3cab1`,surface2:`#bcb394`,overlay0:`#657b83`,overlay1:`#586e75`,mantle:`#eee8d5`,crust:`#e4ddc6`,scrollTrack:`#eee8d5`,scrollThumb:`#bcb394`,scrollThumbHover:`#93a1a1`}},h2e={id:`catppuccin-latte`,name:`Catppuccin Latte`,colors:{background:`#eff1f5`,foreground:`#4c4f69`,card:`#e6e9ef`,cardForeground:`#4c4f69`,popover:`#eff1f5`,popoverForeground:`#4c4f69`,primary:`#1d63ee`,primaryForeground:`#eff1f5`,secondary:`#e6e9ef`,secondaryForeground:`#4c4f69`,muted:`#e6e9ef`,mutedForeground:`#6a6d82`,accent:`#ccd0da`,accentForeground:`#4c4f69`,destructive:`#d20f39`,destructiveForeground:`#eff1f5`,border:`#bcc0cc`,input:`#dce0e8`,ring:`#1d63ee`,red:`#d20f39`,peach:`#bc4a08`,yellow:`#986114`,green:`#327d22`,teal:`#13797f`,blue:`#1d63ee`,lavender:`#5767c0`,mauve:`#8839ef`,sky:`#0375a3`,surface0:`#ccd0da`,surface1:`#bcc0cc`,surface2:`#acb0be`,overlay0:`#6a6d82`,overlay1:`#5c5f77`,mantle:`#e6e9ef`,crust:`#dce0e8`,scrollTrack:`#e6e9ef`,scrollThumb:`#bcc0cc`,scrollThumbHover:`#9ca0b0`}},g2e={id:`github-light`,name:`GitHub Light`,colors:{background:`#ffffff`,foreground:`#1f2328`,card:`#f6f8fa`,cardForeground:`#1f2328`,popover:`#ffffff`,popoverForeground:`#1f2328`,primary:`#0969da`,primaryForeground:`#ffffff`,secondary:`#f6f8fa`,secondaryForeground:`#1f2328`,muted:`#f6f8fa`,mutedForeground:`#59636e`,accent:`#eaeef2`,accentForeground:`#1f2328`,destructive:`#cf222e`,destructiveForeground:`#ffffff`,border:`#d1d9e0`,input:`#d1d9e0`,ring:`#0969da`,red:`#cf222e`,peach:`#bc4c00`,yellow:`#9a6700`,green:`#1a7f37`,teal:`#1b7c83`,blue:`#0969da`,lavender:`#8250df`,mauve:`#bf3989`,sky:`#0550ae`,surface0:`#f6f8fa`,surface1:`#eaeef2`,surface2:`#d0d7de`,overlay0:`#59636e`,overlay1:`#454c54`,mantle:`#f6f8fa`,crust:`#eaeef2`,scrollTrack:`#f6f8fa`,scrollThumb:`#d0d7de`,scrollThumbHover:`#afb8c1`}},_2e={id:`one-light`,name:`One Light`,colors:{background:`#fafafa`,foreground:`#383a42`,card:`#f0f0f1`,cardForeground:`#383a42`,popover:`#fafafa`,popoverForeground:`#383a42`,primary:`#3a6ddc`,primaryForeground:`#fafafa`,secondary:`#f0f0f1`,secondaryForeground:`#383a42`,muted:`#f0f0f1`,mutedForeground:`#696c77`,accent:`#e5e5e6`,accentForeground:`#383a42`,destructive:`#c44a3f`,destructiveForeground:`#fafafa`,border:`#d4d4d5`,input:`#e5e5e6`,ring:`#3a6ddc`,red:`#c44a3f`,peach:`#986801`,yellow:`#9a6a01`,green:`#40813f`,teal:`#017baf`,blue:`#3a6ddc`,lavender:`#6f5ad8`,mauve:`#a626a4`,sky:`#017baf`,surface0:`#f0f0f1`,surface1:`#e5e5e6`,surface2:`#d4d4d5`,overlay0:`#696c77`,overlay1:`#4f525c`,mantle:`#f0f0f1`,crust:`#e5e5e6`,scrollTrack:`#f0f0f1`,scrollThumb:`#d4d4d5`,scrollThumbHover:`#a0a1a7`}},v2e={id:`rose-pine-dawn`,name:`Rosé Pine Dawn`,colors:{background:`#faf4ed`,foreground:`#575279`,card:`#fffaf3`,cardForeground:`#575279`,popover:`#fffaf3`,popoverForeground:`#575279`,primary:`#286983`,primaryForeground:`#faf4ed`,secondary:`#f2e9e1`,secondaryForeground:`#575279`,muted:`#f2e9e1`,mutedForeground:`#716d89`,accent:`#dfdad9`,accentForeground:`#575279`,destructive:`#a45a6f`,destructiveForeground:`#faf4ed`,border:`#dfdad9`,input:`#f2e9e1`,ring:`#286983`,red:`#a45a6f`,peach:`#9d5f5c`,yellow:`#986622`,green:`#467881`,teal:`#467881`,blue:`#286983`,lavender:`#7a6890`,mauve:`#7a6890`,sky:`#3f7e89`,surface0:`#f4ede8`,surface1:`#dfdad9`,surface2:`#cecacd`,overlay0:`#716d89`,overlay1:`#575279`,mantle:`#fffaf3`,crust:`#f2e9e1`,scrollTrack:`#f2e9e1`,scrollThumb:`#cecacd`,scrollThumbHover:`#9893a5`}},y2e={id:`nord`,name:`Nord`,colors:{background:`#2e3440`,foreground:`#d8dee9`,card:`#3b4252`,cardForeground:`#d8dee9`,popover:`#2e3440`,popoverForeground:`#d8dee9`,primary:`#88c0d0`,primaryForeground:`#2e3440`,secondary:`#3b4252`,secondaryForeground:`#d8dee9`,muted:`#3b4252`,mutedForeground:`#7b88a1`,accent:`#434c5e`,accentForeground:`#d8dee9`,destructive:`#bf616a`,destructiveForeground:`#2e3440`,border:`#434c5e`,input:`#3b4252`,ring:`#88c0d0`,red:`#bf616a`,peach:`#d08770`,yellow:`#ebcb8b`,green:`#a3be8c`,teal:`#8fbcbb`,blue:`#88c0d0`,lavender:`#b48ead`,mauve:`#b48ead`,sky:`#81a1c1`,surface0:`#3b4252`,surface1:`#434c5e`,surface2:`#4c566a`,overlay0:`#7b88a1`,overlay1:`#9ba5b7`,mantle:`#2e3440`,crust:`#272c36`,scrollTrack:`#2e3440`,scrollThumb:`#434c5e`,scrollThumbHover:`#4c566a`}},b2e=[f2e,p2e,m2e,h2e,g2e,_2e,v2e,y2e,{id:`dracula`,name:`Dracula`,colors:{background:`#282a36`,foreground:`#f8f8f2`,card:`#21222c`,cardForeground:`#f8f8f2`,popover:`#282a36`,popoverForeground:`#f8f8f2`,primary:`#bd93f9`,primaryForeground:`#282a36`,secondary:`#44475a`,secondaryForeground:`#f8f8f2`,muted:`#44475a`,mutedForeground:`#6272a4`,accent:`#44475a`,accentForeground:`#f8f8f2`,destructive:`#ff5555`,destructiveForeground:`#282a36`,border:`#44475a`,input:`#44475a`,ring:`#bd93f9`,red:`#ff5555`,peach:`#ffb86c`,yellow:`#f1fa8c`,green:`#50fa7b`,teal:`#8be9fd`,blue:`#6272a4`,lavender:`#bd93f9`,mauve:`#ff79c6`,sky:`#8be9fd`,surface0:`#343746`,surface1:`#44475a`,surface2:`#545769`,overlay0:`#6272a4`,overlay1:`#7284b8`,mantle:`#21222c`,crust:`#191a21`,scrollTrack:`#21222c`,scrollThumb:`#44475a`,scrollThumbHover:`#6272a4`}},{id:`catppuccin-mocha`,name:`Catppuccin Mocha`,colors:{background:`#1e1e2e`,foreground:`#cdd6f4`,card:`#181825`,cardForeground:`#cdd6f4`,popover:`#1e1e2e`,popoverForeground:`#cdd6f4`,primary:`#89b4fa`,primaryForeground:`#1e1e2e`,secondary:`#313244`,secondaryForeground:`#cdd6f4`,muted:`#313244`,mutedForeground:`#6c7086`,accent:`#45475a`,accentForeground:`#cdd6f4`,destructive:`#f38ba8`,destructiveForeground:`#1e1e2e`,border:`#45475a`,input:`#313244`,ring:`#89b4fa`,red:`#f38ba8`,peach:`#fab387`,yellow:`#f9e2af`,green:`#a6e3a1`,teal:`#94e2d5`,blue:`#89b4fa`,lavender:`#b4befe`,mauve:`#cba6f7`,sky:`#89dcfe`,surface0:`#313244`,surface1:`#45475a`,surface2:`#585b70`,overlay0:`#6c7086`,overlay1:`#7f849c`,mantle:`#181825`,crust:`#11111b`,scrollTrack:`#181825`,scrollThumb:`#45475a`,scrollThumbHover:`#585b70`}},{id:`tokyo-night`,name:`Tokyo Night`,colors:{background:`#1a1b26`,foreground:`#c0caf5`,card:`#16161e`,cardForeground:`#c0caf5`,popover:`#1a1b26`,popoverForeground:`#c0caf5`,primary:`#7aa2f7`,primaryForeground:`#1a1b26`,secondary:`#24283b`,secondaryForeground:`#c0caf5`,muted:`#24283b`,mutedForeground:`#565f89`,accent:`#292e42`,accentForeground:`#c0caf5`,destructive:`#f7768e`,destructiveForeground:`#1a1b26`,border:`#292e42`,input:`#24283b`,ring:`#7aa2f7`,red:`#f7768e`,peach:`#ff9e64`,yellow:`#e0af68`,green:`#9ece6a`,teal:`#73daca`,blue:`#7aa2f7`,lavender:`#bb9af7`,mauve:`#bb9af7`,sky:`#7dcfff`,surface0:`#24283b`,surface1:`#292e42`,surface2:`#343b58`,overlay0:`#565f89`,overlay1:`#737aa2`,mantle:`#16161e`,crust:`#12121a`,scrollTrack:`#16161e`,scrollThumb:`#292e42`,scrollThumbHover:`#343b58`}},{id:`one-dark`,name:`One Dark`,colors:{background:`#282c34`,foreground:`#abb2bf`,card:`#21252b`,cardForeground:`#abb2bf`,popover:`#282c34`,popoverForeground:`#abb2bf`,primary:`#61afef`,primaryForeground:`#282c34`,secondary:`#2c313c`,secondaryForeground:`#abb2bf`,muted:`#2c313c`,mutedForeground:`#5c6370`,accent:`#3e4451`,accentForeground:`#abb2bf`,destructive:`#e06c75`,destructiveForeground:`#282c34`,border:`#3e4451`,input:`#2c313c`,ring:`#61afef`,red:`#e06c75`,peach:`#d19a66`,yellow:`#e5c07b`,green:`#98c379`,teal:`#56b6c2`,blue:`#61afef`,lavender:`#c678dd`,mauve:`#c678dd`,sky:`#56b6c2`,surface0:`#2c313c`,surface1:`#3e4451`,surface2:`#4b5263`,overlay0:`#5c6370`,overlay1:`#737984`,mantle:`#21252b`,crust:`#1b1f27`,scrollTrack:`#21252b`,scrollThumb:`#3e4451`,scrollThumbHover:`#4b5263`}}],x2e=new Map(b2e.map(e=>[e.id,e]));function S2e(e){return x2e.get(e)??y2e}function C2e(){return b2e}var j8=u()(Be(e=>({themeId:`nord`,setTheme:t=>{c(`theme_change`,{theme:t}),e({themeId:t})}}),{name:`planche-theme`,storage:Ve()})),w2e={redis:[{id:`redis-server`,labelKey:`tools.redis.server`,component:(0,E.lazy)(()=>C(()=>import(`./BRKvj3qd.js`).then(e=>({default:e.ServerInfo})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21])))},{id:`redis-slowlog`,labelKey:`tools.redis.slowlog`,component:(0,E.lazy)(()=>C(()=>import(`./BB2_KYgp.js`).then(e=>({default:e.SlowLog})),__vite__mapDeps([22,1,2,3,5,6,7,8,13,4,9,10,11,12,14,15,16,17,18,19,20,21,23])))},{id:`redis-clients`,labelKey:`tools.redis.clients`,component:(0,E.lazy)(()=>C(()=>import(`./DKObYbZY.js`).then(e=>({default:e.Clients})),__vite__mapDeps([24,1,2,3,13,4,5,6,7,8,9,10,11,12,14,15,16,17,18,19,20,21,23])))},{id:`redis-pubsub`,labelKey:`tools.redis.pubsub`,component:(0,E.lazy)(()=>C(()=>import(`./2WcjYcT6.js`).then(e=>({default:e.PubSub})),__vite__mapDeps([25,1,2,3,5,6,7,8,4,9,10,11,12,13,14,15,16,17,18,19,20,21,23,26])))},{id:`redis-monitor`,labelKey:`tools.redis.monitor`,component:(0,E.lazy)(()=>C(()=>import(`./C-8Bh-gu.js`).then(e=>({default:e.Monitor})),__vite__mapDeps([27,1,2,3,5,6,7,8,21,26,12,10,11,23])))},{id:`redis-memory`,labelKey:`tools.redis.memory`,component:(0,E.lazy)(()=>C(()=>import(`./DG0u2CPf.js`).then(e=>({default:e.MemoryAnalysis})),__vite__mapDeps([28,1,2,3,5,6,7,8,29,4,9,10,11,12,13,14,15,16,17,18,19,30,20,21,23])))},{id:`redis-delete`,labelKey:`tools.redis.delete`,component:(0,E.lazy)(()=>C(()=>import(`./D4c1cZWk.js`).then(e=>({default:e.BulkDelete})),__vite__mapDeps([31,1,2,3,5,6,7,8,14,15,10,11,13,9,12,16,17,18,19,4,30,20,21,23])))}]};function M8(e){return w2e[e.kind]??[]}var N8=(e,t)=>e.database===t.database&&e.table===t.table&&e.column===t.column,P8=u()(Be(e=>({links:{},setLink:(t,n)=>{lt(t),e(e=>({links:{...e.links,[t]:[...(e.links[t]??[]).filter(e=>!N8(e,n)),n]}}))},mergeLinks:t=>e(e=>{let n={...e.links};for(let[e,r]of Object.entries(t))n[e]=[...(n[e]??[]).filter(e=>!r.some(t=>N8(e,t))),...r];return{links:n}}),replaceLinks:t=>e({links:t}),removeLink:(t,n)=>{lt(t),e(e=>({links:{...e.links,[t]:(e.links[t]??[]).filter(e=>!N8(e,n))}}))}}),{name:`planche-links`,storage:Ve()}));function F8(e,t,n,r){return(e[t]??[]).filter(e=>e.database===n&&e.table===r)}var T2e=`scratchpad.db`,E2e=500;async function I8(){let e=ct.getState(),t=e.savedConnections.find(e=>e.scratchpad);if(t||(t={id:crypto.randomUUID(),hostName:S.t(`services.scratchpad.profileName`),host:``,user:``,pass:``,charset:`utf8`,port:0,dbms:`sqlite`,transport:`browser`,file:T2e,scratchpad:!0,autoConnection:!1,savePassword:!0,authToken:``},e.addSavedConnection(t)),e.activeConnections.find(e=>e.id===t.id)?.serverConnectionId)return e.activeConnectionId!==t.id&&e.setActiveConnection(t.id),t.id;let n=(await Jt(t.id,{interactive:!1}))?.connectionId??(await Ft(null,void 0,void 0,{profileId:t.id})).connectionId;return(Mt.getState().tabs[t.id]??[]).length===0&&Mt.getState().addQueryTab(t.id,{id:`tab-${Date.now()}`,title:S.t(`connection.dialog.firstQueryTab`),query:``,database:`main`,isExecuting:!1,results:[],error:null,executionTime:null}),ct.getState().openConnection({...t,serverConnectionId:n}),t.id}function D2e(e){let t=e.toLowerCase();return/blob|binary|bytea|image|raw/.test(t)?`BLOB`:/int|bool|bit|year|serial/.test(t)?`INTEGER`:/real|float|double|decimal|numeric|number|money/.test(t)?`REAL`:`TEXT`}async function O2e(e,t,n){let r=rn(t),i=new Set((await r.introspect.listTables(e,`main`)).map(e=>e.name.toLowerCase()));if(!i.has(n.toLowerCase()))return n;let a=2;for(;i.has(`${n}_${a}`.toLowerCase());)a++;let o=await jt.getState().requestPrompt({title:S.t(`services.scratchpad.namePromptTitle`),description:S.t(`services.scratchpad.namePromptDescription`,{table:n}),defaultValue:`${n}_${a}`});if(o===null)throw new vn;let s=o.trim();if(!s)throw new vn;if(i.has(s.toLowerCase()))throw Error(S.t(`services.scratchpad.nameTaken`,{table:s}));return s}function k2e(e){return e&&typeof e==`object`&&e.type===`Buffer`&&Array.isArray(e.data)?Uint8Array.from(e.data):e&&typeof e==`object`&&!(e instanceof Uint8Array)?JSON.stringify(e):e}async function A2e(e){let t=await I8(),n=ct.getState().activeConnections.find(e=>e.id===t);if(!n?.serverConnectionId)throw Error(S.t(`services.query.notConnected`));let r=rn(t),i=await O2e(It(n.serverConnectionId),t,e.table.replace(/[^\w]+/g,`_`)||`result`),a=e.fields,o=a.map(e=>` ${r.quoteIdentifier(e.name)} ${D2e(e.type)}`);await hn(t,`CREATE TABLE ${r.qualify(`main`,i)} (\n${o.join(`,
922
922
  `)}\n);`,{database:`main`});let s=a.map(e=>e.name);for(let n=0;n<e.rows.length;n+=E2e){let a=e.rows.slice(n,n+E2e).map(e=>s.map(t=>k2e(e[t])));await hn(t,r.ddl.insertRows(`main`,i,s,a),{database:`main`,skipHistory:!0})}return Bn(`scratchpad`),c(`scratchpad_send`,{rows:e.rows.length,source_dbms:e.sourceDbms}),Cn(t,`main`),{connectionId:t,table:i}}function L8(){return(S.resolvedLanguage??S.language??`en`).split(`-`)[0]}var j2e=new Set([`en`,`ko`,`ja`,`zh`,`de`,`fr`]);function M2e(){let e=L8();return j2e.has(e)&&e!==`en`?`https://planche.dev/${e}/docs/`:`https://planche.dev/docs/`}function N2e(){let e=L8();return j2e.has(e)&&e!==`en`?`https://planche.dev/${e}/changelog/`:`https://planche.dev/changelog/`}var P2e=new Set([`en`,`ko`]);function F2e(){let e=L8();return P2e.has(e)&&e!==`en`?`https://planche.dev/${e}/learn/`:`https://planche.dev/learn/`}var I2e={terms:`https://planche.dev/terms/`,privacy:`https://planche.dev/privacy/`,refund:`https://planche.dev/refund/`,pricing:`https://planche.dev/pricing/`},L2e=typeof navigator<`u`&&navigator.userAgent.includes(`Firefox`);function R2e(e,t){return e.key===`F1`?t&&!e.ctrlKey&&!e.metaKey&&!e.shiftKey&&!e.altKey:(e.metaKey||e.ctrlKey)&&e.shiftKey&&!e.altKey&&e.key.toLowerCase()===`p`}function z2e(){return L2e?`F1`:`Ctrl+Shift+P`}function B2e(){(0,E.useEffect)(()=>{function e(e){if(!R2e(e,L2e))return;let{activeDialog:t,openDialog:n,closeDialog:r}=jt.getState();(t===null||t===`quick-command`)&&(e.preventDefault(),e.stopPropagation(),t===`quick-command`?r():n(`quick-command`))}return document.addEventListener(`keydown`,e,!0),()=>document.removeEventListener(`keydown`,e,!0)},[])}var V2e=500;function R8(e){let t=ct.getState().activeConnections.find(t=>t.id===e);if(!t?.serverConnectionId)throw new En(S.t(`services.query.notConnected`));return t.serverConnectionId}function H2e(e,t,n){return e.trim()?e.includes(t)?e.replaceAll(t,n):`${n}_${e}`:e}async function U2e(e,t){let n=rn(e.connectionId),r=It(R8(e.connectionId)),[i,a,o]=await Promise.all([n.introspect.listColumns(r,e.database,e.table),n.introspect.listIndexes(r,e.database,e.table),n.capabilities.tableProperties?n.introspect.getTableInfo(r,e.database,e.table):Promise.resolve(null)]);if(i.length===0)throw new En(S.t(`table.copy.noColumns`));let s=t.connectionId===e.connectionId&&t.database===e.database?a.map(n=>({...n,name:H2e(n.name,e.table,t.table)})):a,c=Vn(t.database,t.table,i,s,o);return rn(t.connectionId).capabilities.tableProperties||(c.options={engine:``,charset:``,collation:``,autoIncrement:``,comment:c.options.comment}),c}async function W2e(e){let t=rn(e.connectionId),n=It(R8(e.connectionId)),r=await t.introspect.listTables(n,e.database),i=e.table.toLowerCase();return r.some(e=>e.name.toLowerCase()===i)}function z8(e,t,n,r,i,a,o){let s=r.map(t=>e.quoteIdentifier(t)).join(`, `),c=i.length>0?i.map(t=>e.quoteIdentifier(t)).join(`, `):`1`,l=`SELECT ${s} FROM ${e.qualify(t,n)} ORDER BY ${c}`;switch(e.syntax.limitStyle){case`top`:return`${l} OFFSET ${a} ROWS FETCH NEXT ${o} ROWS ONLY`;case`fetch`:return`${l} OFFSET ${a} ROWS FETCH FIRST ${o} ROWS ONLY`;default:return`${l} LIMIT ${o} OFFSET ${a}`}}function G2e(e){return e&&typeof e==`object`&&e.type===`Buffer`&&Array.isArray(e.data)?Uint8Array.from(e.data):e}async function K2e(e,t,n,r){try{let i=await e(`SELECT COUNT(*) AS n FROM ${t.qualify(n,r)}`,n),a=Number(i.records[0]?.[0]);return Number.isFinite(a)?a:null}catch{return null}}async function q2e(e,t=()=>{},n){let{source:r,target:i}=e,a=rn(r.connectionId),o=rn(i.connectionId),s=It(R8(r.connectionId)),l=ct.getState().activeConnections.find(e=>e.id===r.connectionId),u=ct.getState().activeConnections.find(e=>e.id===i.connectionId);if(await W2e(i)){if(e.onConflict===`abort`)throw new En(S.t(`table.copy.exists`,{table:i.table}));let t=o.getQuery(`DROP_TABLE`,i.database,i.table,``);if(!await jt.getState().requestDestructiveConfirm({title:S.t(`table.copy.dropTitle`,{table:i.table}),description:S.t(`table.copy.dropDescription`),typeToConfirm:i.table,statements:[t],confirmLabel:S.t(`table.copy.dropConfirm`)}))throw new En(S.t(`table.copy.cancelled`));await hn(i.connectionId,t,{database:i.database,skipDestructiveConfirm:!0})}t({phase:`create`,copied:0,total:null}),await hn(i.connectionId,e.createSql,{database:i.database});let d=0;if(e.mode===`structure_data`){t({phase:`count`,copied:0,total:null});let c=await a.introspect.listColumns(s,r.database,r.table),l=c.map(e=>e.name),u=c.filter(e=>e.key===`PRI`).map(e=>e.name);if(u.length===0)try{u=await a.introspect.getPrimaryKeys(s,r.database,r.table)}catch{}let f=await K2e(s,a,r.database,r.table),p=e.batchSize??V2e;t({phase:`copy`,copied:0,total:f});for(let e=0;;e+=p){if(n?.aborted)throw new En(S.t(`table.copy.cancelled`));let c=await s(z8(a,r.database,r.table,l,u,e,p),r.database);if(c.records.length===0)break;let m=c.fields.map(e=>e.name),h=Ye(c).map(e=>m.map(t=>G2e(e[t]))),g=o.ddl.insertRows(i.database,i.table,m,h);if(await hn(i.connectionId,g,{database:i.database,skipHistory:!0}),d+=h.length,t({phase:`copy`,copied:d,total:f}),c.records.length<p)break}}return t({phase:`done`,copied:d,total:d}),Cn(i.connectionId,i.database),Bn(`copy_table`),c(`table_copy`,{source_dbms:l?.dbms??`unknown`,target_dbms:u?.dbms??`unknown`,mode:e.mode,cross_connection:r.connectionId!==i.connectionId}),{rows:d}}var J2e=1e3;async function Y2e(e){let t=ct.getState().activeConnections.find(t=>t.id===e.connectionId);if(!t?.serverConnectionId)throw new En(S.t(`services.query.notConnected`));let n=rn(e.connectionId),r=It(t.serverConnectionId),{database:i,table:a}=e,o=e.pageSize??J2e,s=await n.introspect.listColumns(r,i,a);if(s.length===0)throw new En(S.t(`services.paged.noColumns`,{table:a}));let c=s.map(e=>e.name),l=s.filter(e=>e.key===`PRI`).map(e=>e.name);if(l.length===0)try{l=await n.introspect.getPrimaryKeys(r,i,a)}catch{}let u=null;try{let e=await r(`SELECT COUNT(*) AS n FROM ${n.qualify(i,a)}`,i),t=Number(e.records[0]?.[0]);u=Number.isFinite(t)?t:null}catch{}u!==null&&e.limit!=null&&(u=Math.min(u,e.limit)),e.onProgress?.({loaded:0,total:u});let d=await r(z8(n,i,a,c,l,0,o),i),f=d.fields.map(e=>{let t=s.find(t=>t.name===e.name);return{name:e.name,type:t?.type??``,orgTable:a,orgName:e.name,db:i}});async function*p(){let t=0,s=d,f=0;for(;;){if(e.signal?.aborted)throw new En(S.t(`services.paged.cancelled`));let d=Ye(s);if(e.limit!=null&&f+d.length>e.limit&&(d=d.slice(0,e.limit-f)),d.length===0||(f+=d.length,e.onProgress?.({loaded:f,total:u}),yield d,s.records.length<o||e.limit!=null&&f>=e.limit))return;t+=o,s=await r(z8(n,i,a,c,l,t,o),i)}}return{fields:f,pages:p(),total:u}}var X2e=e({FEDERATED_ROW_LIMIT:()=>B8,federatedTemplate:()=>i4e,findFederatedRefs:()=>e4e,materializeFederated:()=>n4e,openFederatedQueryTab:()=>H8,rewriteFederated:()=>t4e}),B8=1e5,Z2e=500,Q2e=(e,t,n)=>`${e}__${t}__${n}`.replace(/[^\w]+/g,`_`);function $2e(e){return e.filter(e=>e.serverConnectionId&&!e.scratchpad)}function e4e(e,t,n){let r=$2e(n);if(r.length===0)return[];let i=new Pn(t).tokenize(e).filter(e=>e.kind!==`space`&&e.kind!==`comment`),a=e=>i[e]&&(i[e].kind===`identifier`||i[e].kind===`quoted_identifier`),o=e=>i[e]&&i[e].kind===`punct`&&i[e].value===`.`,s=[];for(let e=0;e+4<i.length;e++){if(!(a(e)&&o(e+1)&&a(e+2)&&o(e+3)&&a(e+4))||o(e+5)||e>0&&o(e-1))continue;let t=zn(i[e]),n=r.find(e=>e.hostName.localeCompare(t,void 0,{sensitivity:`accent`})===0);if(!n)continue;let c=zn(i[e+2]),l=zn(i[e+4]);s.push({connectionId:n.id,connectionName:n.hostName,database:c,table:l,start:i[e].start,end:i[e+4].end,local:Q2e(n.hostName,c,l)}),e+=4}return s}function t4e(e,t,n){let r=``,i=0;for(let a of[...t].sort((e,t)=>e.start-t.start))r+=e.slice(i,a.start)+n.quoteIdentifier(a.local),i=a.end;return r+e.slice(i)}async function V8(e,t,n=`main`){let r=await Ut(e,t,n);if(!r.success)throw Error(r.message??t)}async function n4e(e,t){let n=ct.getState(),r=n.activeConnections.find(t=>t.id===e);if(!r?.scratchpad||!r.serverConnectionId)return t;let i=rn(e),a=e4e(t,i,n.activeConnections);if(a.length===0)return t;let o=new Set,s=0;for(let e of a){if(o.has(e.local))continue;o.add(e.local);let t=`${e.database}.${e.table}`,n=rn(e.connectionId),a=await Y2e({connectionId:e.connectionId,database:e.database,table:e.table,pageSize:Z2e,limit:B8,onProgress:n=>jt.getState().setFooterMessage(S.t(`services.federated.pullingProgress`,{connection:e.connectionName,table:t,loaded:n.loaded,total:n.total??`?`}))}),l=a.fields.map(e=>`${i.quoteIdentifier(e.name)} ${D2e(e.type)}`),u=i.qualify(`main`,e.local);await V8(r.serverConnectionId,`DROP TABLE IF EXISTS ${u}`),await V8(r.serverConnectionId,`CREATE TABLE ${u} (${l.join(`, `)})`);let d=a.fields.map(e=>e.name),f=0;for await(let t of a.pages)await V8(r.serverConnectionId,i.ddl.insertRows(`main`,e.local,d,t.map(e=>d.map(t=>r4e(e[t]))))),f+=t.length;f>=1e5&&jt.getState().setFooterMessage(S.t(`services.federated.capped`,{table:e.local,limit:B8})),s+=f,Bn(`federated`),c(`federated_pull`,{source_dbms:n.id,rows:f})}return jt.getState().setFooterMessage(S.t(`services.federated.done`,{tables:o.size,rows:s})),Cn(e,`main`),t4e(t,a,i)}function r4e(e){return e&&typeof e==`object`&&e.type===`Buffer`&&Array.isArray(e.data)?Uint8Array.from(e.data):e&&typeof e==`object`&&!(e instanceof Uint8Array)?JSON.stringify(e):e}function i4e(e){let t=$2e(e).map(e=>`"${e.hostName.replaceAll(`"`,`""`)}"`),n=t[0]??`"My connection"`;return[`-- ${S.t(`services.federated.templateLine1`)}`,`-- ${S.t(`services.federated.templateLine2`,{limit:B8.toLocaleString()})}`,t.length>0?`-- ${S.t(`services.federated.templateConnections`,{names:t.join(`, `)})}`:`-- ${S.t(`services.federated.templateNone`)}`,``,`SELECT *`,`FROM ${n}.database.table t`,`LIMIT 100;`,``].join(`
923
- `)}async function H8(){let e=await I8(),t=Mt.getState(),n=t.tabs[e]??[];t.addQueryTab(e,{id:`tab-${Date.now()}`,title:S.t(`menu.tools.federatedTab`,{n:n.length+1}),query:i4e(ct.getState().activeConnections),database:`main`,isExecuting:!1,results:[],error:null,executionTime:null})}var a4e=e=>({id:e.id,hostName:e.hostName,host:e.host,dbms:e.dbms,user:e.user,...e.file?{file:e.file}:{},links:[]});function o4e(e,t,n=new Date){let r={planche:`column-links`,version:1,exportedAt:n.toISOString(),profiles:[]};for(let[n,i]of Object.entries(e)){if(i.length===0)continue;let a=t.find(e=>e.id===n),o=a?a4e(a):{id:n,hostName:``,host:``,dbms:``,user:``,links:[]};r.profiles.push({...o,links:i.map(e=>({...e}))});for(let n of i)if(n.targetConnectionId&&!r.profiles.some(e=>e.id===n.targetConnectionId)&&!Object.keys(e).includes(n.targetConnectionId)){let e=t.find(e=>e.id===n.targetConnectionId);e&&r.profiles.push(a4e(e))}}return r}function s4e(e,t){return t.find(t=>t.id===e.id)??(e.hostName?t.find(t=>t.hostName===e.hostName&&t.dbms===e.dbms):void 0)??t.find(t=>t.host===e.host&&t.dbms===e.dbms&&t.user===e.user&&(t.file??``)===(e.file??``))??null}function c4e(e){let t;try{t=JSON.parse(e)}catch{throw Error(`Not a JSON file`)}let n=t;if(!n||n.planche!==`column-links`||!Array.isArray(n.profiles))throw Error(`Not a Planche column-links file`);return n}function l4e(e,t){let n=new Map,r=[];for(let i of e.profiles){let e=s4e(i,t);e?n.set(i.id,e.id):i.links.length>0&&r.push(i.hostName||i.host||i.id)}let i={},a=0;for(let t of e.profiles){let e=n.get(t.id);if(e)for(let r of t.links){if(!r||typeof r.table!=`string`||typeof r.column!=`string`||typeof r.targetTable!=`string`||typeof r.targetColumn!=`string`)continue;let t={database:String(r.database??``),table:r.table,column:r.column,targetDatabase:String(r.targetDatabase??``),targetTable:r.targetTable,targetColumn:r.targetColumn};if(r.targetConnectionId){let i=n.get(r.targetConnectionId);if(!i)continue;i!==e&&(t.targetConnectionId=i)}(i[e]??=[]).push(t),a++}}return{links:i,imported:a,unmatched:r}}function U8({className:e}){let{t}=ie();return(0,$.jsx)(`span`,{title:t(`pro.tooltip`),className:h(`ml-auto shrink-0 rounded-sm border border-amber-500/40 bg-amber-500/10 px-1 py-px`,`text-[10px] font-semibold leading-none tracking-wide text-amber-600 dark:text-amber-400`,e),children:t(`pro.badge`)})}var u4e={annual:``,monthly:``},d4e=()=>!!(u4e.annual||u4e.monthly),f4e=`JiQCC13jRomej3Ppqh-pruDr4AsmQq-tMswKx_70CtE`;function p4e(e){return e.replace(/\s+/g,``)}function W8(e){let t=e.replace(/-/g,`+`).replace(/_/g,`/`);try{let e=atob(t+`=`.repeat((4-t.length%4)%4)),n=new Uint8Array(e.length);for(let t=0;t<e.length;t++)n[t]=e.charCodeAt(t);return n}catch{return null}}function m4e(e){if(!e||typeof e!=`object`)return null;let t=e;return t.v!==1||t.plan!==`pro`||typeof t.sub!=`string`||typeof t.iat!=`string`||typeof t.exp!=`string`||Number.isNaN(Date.parse(t.exp))?null:{v:1,sub:t.sub,plan:`pro`,iat:t.iat,exp:t.exp}}var h4e=()=>globalThis.crypto?.subtle;async function g4e(e,t,n=new Date){let r=p4e(e);if(!r)return{state:`none`};if(!t)return{state:`invalid`,reason:`no-public-key`};let i=h4e();if(!i)return{state:`invalid`,reason:`no-webcrypto`};let[a,o,...s]=r.split(`.`);if(!a||!o||s.length>0)return{state:`invalid`,reason:`malformed`};let c=W8(a),l=W8(o),u=W8(t);if(!c||!l||!u)return{state:`invalid`,reason:`malformed`};let d=!1;try{let e=await i.importKey(`raw`,u,{name:`Ed25519`},!1,[`verify`]);d=await i.verify(`Ed25519`,e,l,new TextEncoder().encode(a))}catch{return{state:`invalid`,reason:`no-webcrypto`}}if(!d)return{state:`invalid`,reason:`bad-signature`};let f=null;try{f=m4e(JSON.parse(new TextDecoder().decode(c)))}catch{return{state:`invalid`,reason:`malformed`}}return f?Date.parse(f.exp)<n.getTime()?{state:`expired`,claim:f}:{state:`valid`,claim:f}:{state:`invalid`,reason:`malformed`}}function _4e(e,t){return g4e(e,f4e,t)}function v4e(){return!0}var G8=u()(Be((e,t)=>({key:``,status:{state:`none`},activate:async t=>{let n=await _4e(t);return e(n.state===`valid`||n.state===`expired`?{key:t,status:n}:{status:n}),c(`license_activate`,{result:n.state}),n},clear:()=>e({key:``,status:{state:`none`}}),revalidate:async()=>{e({status:await _4e(t().key)})}}),{name:`planche-license`,storage:Ve(),partialize:e=>({key:e.key}),onRehydrateStorage:()=>e=>{e?.revalidate()}})),y4e=()=>G8.getState().status.state===`valid`;function b4e(){return d4e()}function K8(e){return!b4e()||y4e()?!0:(jt.getState().openDialog(`license`,{feature:e}),!1)}var x4e=e({SyncError:()=>q8,deleteAccount:()=>D4e,deleteVault:()=>E4e,fetchSession:()=>C4e,fetchVault:()=>Y8,putVault:()=>X8,signInUrl:()=>w4e,signOut:()=>T4e}),q8=class extends Error{kind;current;constructor(e,t,n){super(t??e),this.name=`SyncError`,this.kind=e,this.current=n}},S4e=`/sync`;async function J8(e,t){let n;try{n=await fetch(`${S4e}${e}`,{...t,credentials:`same-origin`,headers:{...t?.body?{"content-type":`application/json`}:{},...t?.headers}})}catch{throw new q8(`offline`)}if(n.status===204)return null;if(!(n.headers.get(`content-type`)??``).includes(`json`)||n.status===501)throw new q8(`unavailable`);if(n.status===401)throw new q8(`unauthorized`);if(n.status===404)return null;if(n.status===409)throw new q8(`conflict`,`The vault changed on another device`,await n.json().catch(()=>null)??void 0);if(n.status===502||n.status===503||n.status===504)throw new q8(`offline`);if(!n.ok)throw new q8(`server`,`${n.status}`);return await n.json()}async function C4e(){try{return await J8(`/auth/me`)}catch(e){if(e instanceof q8&&e.kind===`unauthorized`)return null;throw e}}function w4e(e,t){return`${S4e}/auth/signin/${e}?return_to=${encodeURIComponent(t)}`}async function T4e(){await J8(`/auth/logout`,{method:`POST`})}function Y8(){return J8(`/vault`)}async function X8(e,t){let n=await J8(`/vault`,{method:`PUT`,body:JSON.stringify({envelope:e,baseVersion:t})});if(!n)throw new q8(`server`,`The service accepted the vault but returned nothing`);return n}async function E4e(){await J8(`/vault`,{method:`DELETE`})}async function D4e(){await J8(`/account`,{method:`DELETE`})}var O4e=16,k4e=12,Z8=class extends Error{reason;constructor(e,t){super(t??e),this.name=`VaultError`,this.reason=e}},Q8=()=>{if(!globalThis.crypto?.subtle)throw new Z8(`unsupported`);return globalThis.crypto.subtle},$8=e=>btoa(String.fromCharCode(...e));function e5(e){let t;try{t=atob(e)}catch{throw new Z8(`malformed`)}let n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}function A4e(e){let t=new Uint8Array(e);return globalThis.crypto.getRandomValues(t),t}async function j4e(e,t){if(!e)throw new Z8(`bad-passphrase`,`A passphrase is required`);let n=t??{name:`PBKDF2-SHA256`,iterations:6e5,salt:$8(A4e(O4e))};if(n.name!==`PBKDF2-SHA256`||!Number.isInteger(n.iterations)||n.iterations<1)throw new Z8(`malformed`,`Unknown key derivation parameters`);let r=await Q8().importKey(`raw`,new TextEncoder().encode(e),`PBKDF2`,!1,[`deriveKey`]);return{key:await Q8().deriveKey({name:`PBKDF2`,hash:`SHA-256`,salt:e5(n.salt),iterations:n.iterations},r,{name:`AES-GCM`,length:256},!1,[`encrypt`,`decrypt`]),kdf:n}}async function M4e(e,t){let n=A4e(k4e),r=new TextEncoder().encode(JSON.stringify(t)),i=await Q8().encrypt({name:`AES-GCM`,iv:n},e.key,r);return{v:1,kdf:e.kdf,iv:$8(n),ct:$8(new Uint8Array(i))}}async function t5(e,t){if(!t||t.v!==1||typeof t.iv!=`string`||typeof t.ct!=`string`)throw new Z8(`malformed`);let n;try{n=await Q8().decrypt({name:`AES-GCM`,iv:e5(t.iv)},e.key,e5(t.ct))}catch(e){throw e instanceof Z8?e:new Z8(`bad-passphrase`)}try{return JSON.parse(new TextDecoder().decode(n))}catch{throw new Z8(`malformed`)}}async function N4e(e,t){if(!t?.kdf)throw new Z8(`malformed`);let n=await j4e(e,t.kdf);return{vaultKey:n,payload:await t5(n,t)}}var n5=()=>!v8();function P4e(){let e=Ze(ct.getState().savedConnections);return Qe(e,P8.getState().links,tt.getState().read(),Date.now())}function r5(e){let{profiles:t,links:n}=dt(e);ct.getState().applySyncedProfiles(t),P8.getState().replaceLinks(n),tt.getState().adopt($e(e))}function i5(e){return e instanceof q8?e.kind:e instanceof Z8?e.reason:e instanceof Error?e.message:String(e)}var a5=u()(Be((e,t)=>({phase:n5()?`checking`:`unavailable`,user:null,version:null,lastSyncedAt:null,busy:!1,error:null,vaultKey:null,vault:null,refresh:async()=>{if(!n5()){e({phase:`unavailable`});return}e({busy:!0,error:null});try{let n=await C4e();if(!n){e({phase:`signed-out`,user:null,vaultKey:null,vault:null,version:null});return}let r=await Y8();e({user:n,version:r?.version??null,phase:r?t().vaultKey?`ready`:`locked`:`no-vault`})}catch(t){t instanceof q8&&t.kind===`unavailable`?e({phase:`unavailable`}):e({error:i5(t)})}finally{e({busy:!1})}},createVault:async n=>{e({busy:!0,error:null});try{e({vaultKey:await j4e(n),vault:{v:1,profiles:{},tombstones:{},links:{}},phase:`ready`}),c(`sync_enable`,{}),await t().push()}catch(t){e({error:i5(t)})}finally{e({busy:!1})}},unlock:async t=>{e({busy:!0,error:null});try{let n=await Y8();if(!n){e({phase:`no-vault`});return}let{vaultKey:r,payload:i}=await N4e(t,n.envelope);if(!ut(i))throw new Z8(`malformed`);let a=ft(P4e(),i);r5(a),e({vaultKey:r,vault:a,version:n.version,phase:`ready`,lastSyncedAt:Date.now()}),c(`sync_unlock`,{})}catch(t){e({error:i5(t)})}finally{e({busy:!1})}},push:async()=>{let n=t().vaultKey;if(!n){e({phase:`locked`});return}e({busy:!0,error:null});try{let t=await Y8(),r=P4e();if(t){let e=await t5(n,t.envelope);ut(e)&&(r=ft(r,e))}r5(r);let i=t?.version??null;try{let t=await X8(await M4e(n,r),i);e({vault:r,version:t.version,lastSyncedAt:Date.now()})}catch(t){if(!(t instanceof q8)||t.kind!==`conflict`||!t.current)throw t;let a=await t5(n,t.current.envelope);ut(a)&&(r=ft(r,a)),r5(r),i=t.current.version;let o=await X8(await M4e(n,r),i);e({vault:r,version:o.version,lastSyncedAt:Date.now()})}c(`sync_push`,{})}catch(t){e({error:i5(t)})}finally{e({busy:!1})}},lock:()=>e({vaultKey:null,vault:null,phase:`locked`}),signOut:async()=>{e({busy:!0,error:null});try{let{signOut:e}=await C(async()=>{let{signOut:e}=await Promise.resolve().then(()=>x4e);return{signOut:e}},void 0);await e()}catch(t){e({error:i5(t)})}finally{e({busy:!1,phase:`signed-out`,user:null,vaultKey:null,vault:null,version:null,lastSyncedAt:null})}},forgetVault:async()=>{e({busy:!0,error:null});try{await E4e(),e({phase:`no-vault`,vaultKey:null,vault:null,version:null,lastSyncedAt:null})}catch(t){e({error:i5(t)})}finally{e({busy:!1})}},closeAccount:async()=>{e({busy:!0,error:null});try{await D4e(),e({phase:`signed-out`,user:null,vaultKey:null,vault:null,version:null,lastSyncedAt:null})}catch(t){e({error:i5(t)})}finally{e({busy:!1})}},setError:t=>e({error:t})}),{name:`planche-sync`,storage:Ve(),partialize:e=>({user:e.user,version:e.version,lastSyncedAt:e.lastSyncedAt})}));function F4e(){let e=jt(e=>e.openDialog),t=a5(e=>e.user),n=a5(e=>e.phase),r=a5(e=>e.refresh),{t:i}=ie();return(0,E.useEffect)(()=>{n5()&&r()},[r]),!n5()||n===`unavailable`?null:(0,$.jsxs)(`button`,{type:`button`,onClick:()=>e(`sync`),title:i(`sync.title`),className:`ml-auto flex items-center gap-1.5 rounded-sm px-2 py-1 text-xs text-muted-foreground hover:bg-accent hover:text-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring`,children:[t?(0,$.jsx)(T1e,{className:`size-3.5`}):(0,$.jsx)(r1e,{className:`size-3.5`}),(0,$.jsx)(`span`,{className:`max-w-40 truncate`,children:t?t.email??t.id:i(`sync.signInShort`)})]})}var I4e=`planche.dev@gmail.com`,L4e=1500;async function R4e(){try{let e=await Promise.race([Ct(),new Promise(e=>setTimeout(()=>e(null),L4e))]);return e?e.state===`offline`?`agent: not running`:`agent: ${e.version} (${e.state})`:`agent: no answer`}catch{return`agent: unknown`}}async function z4e(){let{savedConnections:e,activeConnections:t}=ct.getState(),n=G8.getState().status,r=a5.getState();return[`app: 0.1.1`,await R4e(),`engines in use: ${[...new Set(t.map(e=>e.dbms))].join(`, `)||`none`}`,`profiles: ${e.length}`,`licence: ${n.state}`,`sync: ${r.phase}`,`language: ${pt.getState().locale}`,`browser: ${navigator.userAgent}`]}async function B4e(){let e=[``,``,`---`,`Sent from Planche. Delete anything below you would rather not share.`,...await z4e()].join(`
924
- `);return`mailto:${I4e}?subject=Planche%200.1.1&body=${encodeURIComponent(e)}`}var V4e=d2e,H4e=[`nord`,`dracula`,`catppuccin-mocha`,`tokyo-night`,`one-dark`];function U4e(){let e=jt(e=>e.openDialog),t=jt(e=>e.setWelcomeVisible),n=jt(e=>e.setFooterMessage),r=jt(e=>e.requestDestructiveConfirm),i=jt(e=>e.requestPrompt),{executeCurrentQuery:a,executeCurrentStatement:o,executeWholeScript:s,explainCurrentStatement:l,showCurrentStructure:u,addNewQueryTab:d,disconnectActive:f,runSQL:p,getActiveServerConnectionId:m,getActiveConnectionId:h,getActiveTabId:g}=O8(),_=ct(e=>e.activeConnections.find(t=>t.id===e.activeConnectionId)),v=_!==void 0,y=ct(e=>e.updateProfile),b=j8(e=>e.themeId),x=j8(e=>e.setTheme),S=pt(e=>e.locale),C=ht(),w=pt(e=>e.setLocale),{t:T}=ie(),ne=ct(e=>e.activeConnectionId),re=Pt(e=>ne?e.selectedNodeId[ne]??null:null),ae=Pt(e=>ne?e.trees[ne]:void 0),oe=(0,E.useMemo)(()=>ae&&re?dn(ae,re):null,[ae,re]),se=(0,E.useMemo)(()=>oe&&ne?{nodeId:oe.id,nodeText:oe.text,nodeType:oe.type,connectionId:ne,metadata:oe.metadata}:void 0,[oe,ne]),ce=(0,E.useMemo)(()=>un(ae??[],re),[ae,re]),le=(0,E.useMemo)(()=>ln(ae??[],re),[ae,re]),ue=v&&!!ce,de=v&&le!==null,fe=()=>{let e=o4e(P8.getState().links,ct.getState().savedConnections),t=e.profiles.reduce((e,t)=>e+t.links.length,0);if(t===0){n(T(`menu.messages.noLinksToExport`));return}let r=new Blob([JSON.stringify(e,null,2)],{type:`application/json`}),i=URL.createObjectURL(r),a=document.createElement(`a`);a.href=i,a.download=`planche-column-links.json`,a.click(),URL.revokeObjectURL(i),n(T(`menu.messages.linksExported`,{count:t}))},pe=()=>{let e=document.createElement(`input`);e.type=`file`,e.accept=`.json,application/json`,e.onchange=async()=>{let t=e.files?.[0];if(t)try{let e=l4e(c4e(await t.text()),ct.getState().savedConnections);P8.getState().mergeLinks(e.links),n(e.unmatched.length>0?T(`menu.messages.linksImportedPartial`,{count:e.imported,profiles:e.unmatched.join(`, `)}):T(`menu.messages.linksImported`,{count:e.imported}))}catch(e){n(T(`menu.messages.linksImportFailed`,{reason:e instanceof Error?e.message:String(e)}))}},e.click()},me=[`auto`,...te],he=C2e(),ge=U6(),_e=Ue(ge),ve=_e&&ge.explain!==void 0,ye=_e&&ge.explain?.supportsAnalyze===!0,{capabilities:be}=ge,xe=ct(e=>e.activeConnections.find(t=>t.id===e.activeConnectionId)?.serverConnectionId),Se=Lt(xe),Ce=jt(e=>e.transportVersion),we=(0,E.useMemo)(()=>Se?$t(xe):null,[Se,xe,Ce]);async function Te(){if(xe)try{if(await Bt(xe)===`in-place`)n(T(`menu.messages.databaseFileSaved`));else{let e=Kt(xe);n(e?T(`menu.messages.databaseExportedWithReason`,{reason:e}):T(`menu.messages.databaseExported`))}}catch(e){n(T(`menu.messages.errorSavingDatabase`,{message:e instanceof Error?e.message:String(e)}))}}function Ee(){let e=ct.getState().activeConnectionId;if(!e)return null;let{selectedNodeId:t,trees:n}=Pt.getState();return un(n[e]??[],t[e])}function De(){let e=ct.getState().activeConnectionId;if(!e)return null;let{selectedNodeId:t,trees:n}=Pt.getState();return ln(n[e]??[],t[e])}async function Oe(e,t){let n=h();if(!n)throw Error(T(`menu.messages.noActiveConnection`));return hn(n,e,{database:t,skipDestructiveConfirm:!0})}async function ke(){let e=Ee();if(!e){n(T(`menu.messages.noDatabaseSelected`));return}let t=en(ge).getQuery(`DROP_DATABASE`,e);if(await r({title:T(`schema.actions.dropDatabaseTitle`,{name:e}),description:T(`schema.actions.dropDatabaseDescription`),typeToConfirm:e,confirmLabel:T(`schema.actions.dropDatabaseConfirm`),statements:[t]}))try{await Oe(t),n(T(`menu.messages.databaseDropped`,{database:e}))}catch(e){if(e instanceof vn)return;n(T(`menu.messages.errorDroppingDatabase`,{message:e instanceof Error?e.message:String(e)}))}}async function Ae(){let e=Ee();if(!e){n(T(`menu.messages.noDatabaseSelected`));return}try{let t=m();if(!t)throw Error(T(`menu.messages.noActiveConnection`));let i=(await en(ge).introspect.listTables(It(t),e)).map(e=>e.name);if(i.length===0){n(T(`menu.messages.noTablesInDatabase`,{database:e}));return}let a=i.map(t=>en(ge).getQuery(`TRUNCATE_TABLE`,e,t));if(!await r({title:T(`menu.messages.truncateDatabaseTitle`,{name:e}),description:T(`menu.messages.truncateDatabaseDescription`,{count:i.length,name:e}),typeToConfirm:e,confirmLabel:T(`menu.messages.truncateDatabaseConfirm`),statements:a}))return;await Oe(en(ge).getQuery(`DISABLE_FK_CHECKS`),e);for(let t of a)await Oe(t,e);await Oe(en(ge).getQuery(`ENABLE_FK_CHECKS`),e),n(T(`menu.messages.databaseTruncated`,{count:i.length,database:e}))}catch(e){if(e instanceof vn)return;n(T(`menu.messages.errorTruncatingDatabase`,{message:e instanceof Error?e.message:String(e)}))}}async function je(){let e=De();if(!e){n(T(`menu.messages.noTableSelected`));return}let t=en(ge).getQuery(`DROP_TABLE`,e.database,e.table,``);if(await r({title:T(`schema.actions.dropTableTitle`,{name:e.table}),description:T(`schema.actions.dropTableDescription`,{from:T(`schema.actions.fromDatabase`,{database:e.database})}),typeToConfirm:e.table,confirmLabel:T(`schema.actions.dropTableConfirm`),statements:[t]}))try{await Oe(t,e.database),n(T(`menu.messages.tableDropped`,{table:e.table}))}catch(e){if(e instanceof vn)return;n(T(`menu.messages.errorDroppingTable`,{message:e instanceof Error?e.message:String(e)}))}}async function Me(){let e=De();if(!e){n(T(`menu.messages.noTableSelected`));return}let t=en(ge).getQuery(`TRUNCATE_TABLE`,e.database,e.table);if(await r({title:T(`schema.actions.truncateTitle`,{name:e.table}),description:T(`schema.actions.truncateDescription`,{name:e.table}),typeToConfirm:e.table,confirmLabel:T(`schema.actions.truncateConfirm`),statements:[t]}))try{await Oe(t,e.database),n(T(`menu.messages.tableTruncated`,{table:e.table}))}catch(e){if(e instanceof vn)return;n(T(`menu.messages.errorTruncatingTable`,{message:e instanceof Error?e.message:String(e)}))}}function Ne(e){let t=h(),n=g();t&&n&&sn(t,n,e)||document.execCommand(e)}async function Pe(){let e=De();if(!e){n(T(`menu.messages.noTableSelected`));return}let t=await i({title:T(`menu.messages.renameTableTitle`),description:T(`menu.messages.renameTablePrompt`,{table:e.table}),defaultValue:e.table,confirmLabel:T(`menu.messages.renameTableConfirm`)});if(!(!t||t===e.table))try{await p(en(ge).getQuery(`RENAME_TABLE`,e.database,e.table,e.database,t),e.database),n(T(`menu.messages.tableRenamed`,{table:e.table,newName:t}))}catch(e){if(e instanceof vn)return;n(T(`menu.messages.errorRenamingTable`,{message:e instanceof Error?e.message:String(e)}))}}return(0,$.jsxs)(X0e,{className:`rounded-none border-b border-catppuccin-surface1 border-t-0 border-x-0 bg-catppuccin-mantle px-2 ${y8()?`desktop-menubar`:``}`,children:[(0,$.jsxs)(b8,{children:[(0,$.jsx)(x8,{className:`text-xs font-normal`,children:T(`menu.connection.title`)}),(0,$.jsxs)(S8,{children:[(0,$.jsxs)(C8,{disabled:!C,onSelect:()=>e(`connect`),children:[T(`menu.connection.connect`),(0,$.jsx)(T8,{children:`Alt+N`})]}),(0,$.jsx)(C8,{disabled:!v,onSelect:()=>{f()},children:T(`menu.connection.disconnect`)}),_&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(w8,{}),(0,$.jsxs)(C8,{onSelect:()=>y(_.id,{readOnly:!_.readOnly}),children:[(0,$.jsx)(`span`,{className:`mr-2 inline-flex w-4 justify-center`,children:_.readOnly&&(0,$.jsx)(r6,{className:`size-3.5`})}),T(`menu.connection.readOnly`)]}),be.transactions&&(0,$.jsxs)(C8,{onSelect:()=>y(_.id,{transactionMode:_.transactionMode===`manual`?`auto`:`manual`}),children:[(0,$.jsx)(`span`,{className:`mr-2 inline-flex w-4 justify-center`,children:_.transactionMode===`manual`&&(0,$.jsx)(r6,{className:`size-3.5`})}),T(`menu.connection.manualTransactions`)]})]}),Se&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(w8,{}),(0,$.jsx)(C8,{disabled:we!==null,title:we??void 0,onSelect:()=>{Te()},children:T(we?`menu.connection.saveDatabaseFileBlocked`:`menu.connection.saveDatabaseFile`)})]}),n5()&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(w8,{}),(0,$.jsxs)(C8,{onSelect:()=>e(`sync`),children:[T(`menu.connection.sync`),(0,$.jsx)(U8,{})]})]}),(0,$.jsx)(w8,{}),(0,$.jsx)(C8,{onSelect:()=>window.close(),children:T(`menu.connection.exit`)})]})]}),(0,$.jsxs)(b8,{children:[(0,$.jsx)(x8,{className:`text-xs font-normal`,children:T(`menu.query.title`)}),(0,$.jsxs)(S8,{children:[(0,$.jsxs)(C8,{disabled:!v,onSelect:()=>{a()},children:[T(`menu.query.execute`),(0,$.jsx)(T8,{children:`F9`})]}),(0,$.jsxs)(C8,{disabled:!v,onSelect:()=>{o()},children:[T(`menu.query.executeStatementAtCursor`),(0,$.jsx)(T8,{children:`Ctrl+Enter`})]}),(0,$.jsxs)(C8,{disabled:!v,onSelect:()=>{s()},children:[T(`menu.query.executeWholeScript`),(0,$.jsx)(T8,{children:`Ctrl+Shift+Enter`})]}),(0,$.jsxs)(C8,{disabled:!v,onSelect:()=>d(),children:[T(`menu.query.newQueryTab`),(0,$.jsx)(T8,{children:`Alt+T`})]}),_e&&(0,$.jsx)(w8,{}),_e&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(C8,{disabled:!v||!ve,onSelect:()=>{l(!1)},children:[T(`menu.query.explainPlan`),(0,$.jsx)(T8,{children:`Ctrl+Shift+E`})]}),(0,$.jsx)(C8,{disabled:!v||!ye,onSelect:()=>{l(!0)},children:T(`menu.query.explainAnalyze`)}),(0,$.jsxs)(C8,{disabled:!v,onSelect:()=>{u()},children:[T(`menu.query.structure`),(0,$.jsx)(T8,{children:`Ctrl+Shift+G`})]})]}),(0,$.jsx)(w8,{}),(0,$.jsx)(C8,{disabled:!v,onSelect:()=>e(`find-replace`),children:T(`menu.query.findReplace`)}),(0,$.jsx)(C8,{disabled:!v,onSelect:()=>e(`local-history`),children:T(`menu.query.localHistory`)})]})]}),(0,$.jsxs)(b8,{children:[(0,$.jsx)(x8,{className:`text-xs font-normal`,children:T(`menu.edit.title`)}),(0,$.jsxs)(S8,{children:[(0,$.jsxs)(C8,{disabled:!v,onSelect:()=>Ne(`undo`),children:[T(`menu.edit.undo`),(0,$.jsx)(T8,{children:`Ctrl+Z`})]}),(0,$.jsxs)(C8,{disabled:!v,onSelect:()=>Ne(`redo`),children:[T(`menu.edit.redo`),(0,$.jsx)(T8,{children:`Ctrl+Y`})]}),(0,$.jsx)(w8,{}),(0,$.jsxs)(C8,{disabled:!v,onSelect:()=>Ne(`cut`),children:[T(`menu.edit.cut`),(0,$.jsx)(T8,{children:`Ctrl+X`})]}),(0,$.jsxs)(C8,{disabled:!v,onSelect:()=>Ne(`copy`),children:[T(`menu.edit.copy`),(0,$.jsx)(T8,{children:`Ctrl+C`})]}),(0,$.jsxs)(C8,{disabled:!v,onSelect:()=>Ne(`paste`),children:[T(`menu.edit.paste`),(0,$.jsx)(T8,{children:`Ctrl+V`})]}),(0,$.jsxs)(C8,{disabled:!v,onSelect:()=>Ne(`selectAll`),children:[T(`menu.edit.selectAll`),(0,$.jsx)(T8,{children:`Ctrl+A`})]})]})]}),_e&&(0,$.jsxs)(b8,{children:[(0,$.jsx)(x8,{className:`text-xs font-normal`,children:T(`menu.database.title`)}),(0,$.jsxs)(S8,{children:[be.multipleDatabases&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(C8,{disabled:!v,onSelect:()=>e(`create-database`),children:T(`menu.database.create`)}),(0,$.jsx)(C8,{disabled:!ue,onSelect:()=>e(`alter-database`),children:T(`menu.database.alter`)}),(0,$.jsx)(C8,{disabled:!ue,onSelect:()=>e(`copy-database`,ce?{database:ce}:void 0),children:T(`menu.database.copy`)}),(0,$.jsx)(w8,{})]}),(0,$.jsxs)(C8,{disabled:!v,onSelect:()=>{K8(`compare_schemas`)&&e(`schema-diff`)},children:[T(`menu.database.compare`),(0,$.jsx)(U8,{})]}),(0,$.jsxs)(C8,{disabled:!v,onSelect:()=>{K8(`compare_data`)&&e(`data-diff`)},children:[T(`menu.database.compareData`),(0,$.jsx)(U8,{})]}),(0,$.jsx)(C8,{disabled:!v,onSelect:()=>e(`group-by`),children:T(`menu.database.groupBy`)}),(0,$.jsx)(w8,{}),(0,$.jsxs)(`div`,{className:`mt-1`,children:[(0,$.jsx)(C8,{disabled:!ue,variant:`destructive`,onSelect:()=>{Ae()},children:T(`menu.database.truncate`)}),be.multipleDatabases&&(0,$.jsx)(C8,{disabled:!ue,variant:`destructive`,onSelect:()=>{ke()},children:T(`menu.database.drop`)})]})]})]}),_e&&(0,$.jsxs)(b8,{children:[(0,$.jsx)(x8,{className:`text-xs font-normal`,children:T(`menu.table.title`)}),(0,$.jsxs)(S8,{children:[(0,$.jsx)(C8,{disabled:!ue,onSelect:()=>e(`create-table`,se),children:T(`menu.table.create`)}),(0,$.jsx)(C8,{disabled:!de,onSelect:()=>e(`alter-table`,se),children:T(`menu.table.alter`)}),(0,$.jsx)(w8,{}),(0,$.jsx)(C8,{disabled:!de,onSelect:()=>{Pe()},children:T(`menu.table.rename`)}),(0,$.jsx)(C8,{disabled:!de,onSelect:()=>e(`duplicate-table-structure`,se),children:T(`menu.table.duplicateStructure`)}),(0,$.jsx)(w8,{}),(0,$.jsxs)(`div`,{className:`mt-1`,children:[(0,$.jsx)(C8,{disabled:!de,variant:`destructive`,onSelect:()=>{Me()},children:T(`menu.table.truncate`)}),(0,$.jsx)(C8,{disabled:!de,variant:`destructive`,onSelect:()=>{je()},children:T(`menu.table.drop`)})]})]})]}),(0,$.jsxs)(b8,{children:[(0,$.jsx)(x8,{className:`text-xs font-normal`,children:T(`menu.export.title`)}),(0,$.jsxs)(S8,{children:[_e&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(C8,{disabled:!v,onSelect:()=>e(`export-csv`,{delimiter:`,`}),children:T(`menu.export.csv`)}),(0,$.jsx)(C8,{disabled:!v,onSelect:()=>e(`export-csv`,{delimiter:` `}),children:T(`menu.export.tsv`)}),(0,$.jsx)(C8,{disabled:!v,onSelect:()=>e(`export-html`),children:T(`menu.export.schemaHtml`)}),(0,$.jsx)(w8,{})]}),(0,$.jsx)(C8,{onSelect:fe,children:T(`menu.export.links`)}),(0,$.jsx)(C8,{onSelect:pe,children:T(`menu.export.importLinks`)})]})]}),(0,$.jsxs)(b8,{children:[(0,$.jsx)(x8,{className:`text-xs font-normal`,children:T(`menu.tools.title`)}),(0,$.jsxs)(S8,{children:[be.users&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(C8,{disabled:!v,onSelect:()=>e(`user-manager`),children:T(`menu.tools.userManager`)}),(0,$.jsx)(w8,{})]}),be.processList&&(0,$.jsx)(C8,{disabled:!v,onSelect:()=>e(`process-list`),children:T(`menu.tools.processList`)}),be.variables&&(0,$.jsx)(C8,{disabled:!v,onSelect:()=>e(`variables`),children:T(`menu.tools.variables`)}),be.status&&(0,$.jsx)(C8,{disabled:!v,onSelect:()=>e(`status`),children:T(`menu.tools.status`)}),be.flush&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(w8,{}),(0,$.jsx)(C8,{disabled:!v,onSelect:()=>e(`flush`),children:T(`menu.tools.flush`)})]}),(0,$.jsx)(w8,{}),!_e&&M8(ge).map(e=>(0,$.jsx)(C8,{disabled:!v,onSelect:()=>{let t=ct.getState().activeConnectionId;t&&Y6(t,e.id,T(e.labelKey))},children:T(e.labelKey)},e.id)),!_e&&M8(ge).length>0&&(0,$.jsx)(w8,{}),(0,$.jsx)(C8,{onSelect:()=>h8.getState().setAiPanelOpen(!0),children:T(`menu.tools.ai`)}),(0,$.jsx)(w8,{}),(0,$.jsxs)(C8,{onSelect:()=>e(`quick-command`),children:[T(`menu.tools.quickCommand`),(0,$.jsx)(T8,{children:z2e()})]}),(0,$.jsxs)(C8,{onSelect:()=>{K8(`scratchpad`)&&I8().catch(e=>n(e instanceof Error?e.message:String(e)))},children:[T(`menu.tools.scratchpad`),(0,$.jsx)(U8,{})]}),(0,$.jsxs)(C8,{onSelect:()=>{K8(`federated`)&&H8().catch(e=>n(e instanceof Error?e.message:String(e)))},children:[T(`menu.tools.federated`),(0,$.jsx)(U8,{})]}),(0,$.jsx)(w8,{}),(0,$.jsx)(C8,{disabled:!v,onSelect:()=>{let e=ct.getState().activeConnectionId;e&&(A8.getState().openERD(e),c(`erd_open`),Mt.getState().setActiveQueryTab(e,`erd`))},children:T(`menu.tools.viewErd`)})]})]}),(0,$.jsxs)(b8,{children:[(0,$.jsx)(x8,{className:`text-xs font-normal`,children:T(`menu.settings.title`)}),(0,$.jsxs)(S8,{children:[(0,$.jsxs)(Q0e,{children:[(0,$.jsx)($0e,{children:T(`menu.settings.theme`)}),(0,$.jsxs)(e2e,{children:[he.filter(e=>V4e.includes(e.id)).map(e=>(0,$.jsxs)(C8,{onSelect:()=>x(e.id),children:[(0,$.jsx)(`span`,{className:`mr-2 inline-flex w-4 justify-center`,children:b===e.id&&(0,$.jsx)(r6,{className:`size-3.5`})}),e.name]},e.id)),(0,$.jsx)(w8,{}),he.filter(e=>H4e.includes(e.id)).map(e=>(0,$.jsxs)(C8,{onSelect:()=>x(e.id),children:[(0,$.jsx)(`span`,{className:`mr-2 inline-flex w-4 justify-center`,children:b===e.id&&(0,$.jsx)(r6,{className:`size-3.5`})}),e.name]},e.id))]})]}),(0,$.jsxs)(Q0e,{children:[(0,$.jsx)($0e,{children:T(`menu.settings.language`)}),(0,$.jsx)(e2e,{children:me.map(e=>(0,$.jsxs)(C8,{onSelect:()=>w(e),children:[(0,$.jsx)(`span`,{className:`mr-2 inline-flex w-4 justify-center`,children:S===e&&(0,$.jsx)(r6,{className:`size-3.5`})}),e===`auto`?T(`language.auto`,{name:T(`language.${ee()}`)}):T(`language.${e}`)]},e))})]}),(0,$.jsx)(w8,{}),(0,$.jsx)(C8,{onSelect:()=>e(`safety-settings`),children:T(`menu.settings.safety`)}),(0,$.jsx)(C8,{onSelect:()=>e(`query-settings`),children:T(`menu.settings.query`)}),(0,$.jsx)(C8,{onSelect:()=>e(`general-settings`),children:T(`menu.settings.general`)}),(0,$.jsx)(C8,{onSelect:()=>e(`ai-settings`),children:T(`menu.settings.ai`)})]})]}),(0,$.jsxs)(b8,{children:[(0,$.jsx)(x8,{className:`text-xs font-normal`,children:T(`menu.help.title`)}),(0,$.jsxs)(S8,{children:[(0,$.jsx)(C8,{onSelect:()=>{window.open(M2e(),`_blank`,`noopener,noreferrer`)},children:T(`menu.help.documentation`)}),(0,$.jsx)(C8,{onSelect:()=>{window.open(F2e(),`_blank`,`noopener,noreferrer`)},children:T(`menu.help.learn`)}),(0,$.jsx)(C8,{onSelect:()=>t(!0),children:T(`menu.help.gettingStarted`)}),(0,$.jsx)(C8,{onSelect:()=>e(`whats-new`,{all:!0}),children:T(`menu.help.whatsNew`)}),(0,$.jsx)(C8,{onSelect:()=>e(`mcp-setup`),children:T(`menu.help.mcp`)}),(0,$.jsx)(C8,{onSelect:()=>e(`terms`),children:T(`menu.help.terms`)}),(0,$.jsx)(C8,{onSelect:()=>{window.open(I2e.privacy,`_blank`,`noopener,noreferrer`)},children:T(`menu.help.privacy`)}),(0,$.jsx)(C8,{onSelect:()=>{B4e().then(e=>{window.location.href=e})},children:T(`menu.help.support`)}),(0,$.jsx)(w8,{}),(0,$.jsx)(C8,{onSelect:()=>e(`license`),children:T(`menu.help.license`)}),(0,$.jsx)(C8,{onSelect:()=>e(`about`),children:T(`menu.help.about`)})]})]}),(0,$.jsx)(F4e,{})]})}function o5({className:e,orientation:t=`horizontal`,decorative:n=!0,...r}){return(0,$.jsx)(zQe,{"data-slot":`separator`,decorative:n,orientation:t,className:h(`shrink-0 bg-border data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px`,e),...r})}function s5({icon:e,label:t,onClick:n,variant:r=`ghost`,disabled:i,className:a}){return(0,$.jsxs)(e6,{children:[(0,$.jsx)(t6,{asChild:!0,children:(0,$.jsx)(b,{size:`icon`,variant:r,className:`h-7 w-7 ${a??``}`,onClick:n,disabled:i,children:e})}),(0,$.jsx)(n6,{side:`bottom`,children:(0,$.jsx)(`p`,{children:t})})]})}function W4e(){let{t:e}=ie(),t=jt(e=>e.openDialog),n=ht(),{executeCurrentQuery:r,executeCurrentStatement:i,addNewQueryTab:a,disconnectActive:o}=O8(),{capabilities:s}=U6(),c=ct(e=>e.activeConnections.find(t=>t.id===e.activeConnectionId)),l=ct(e=>e.activeConnectionId?e.transactionOpen[e.activeConnectionId]??!1:!1),u=c?.transactionMode===`manual`,d=Mt(e=>{let t=ct.getState().activeConnectionId;if(!t)return!1;let n=e.activeTabId[t];return(e.tabs[t]??Nt).find(e=>e.id===n)?.isExecuting??!1});async function f(){let e=ct.getState().activeConnectionId;if(!e)return;let t=Gt(await Xt(e));t&&jt.getState().setFooterMessage(t)}return(0,$.jsxs)(`div`,{className:`flex items-center gap-0.5 border-b border-catppuccin-surface1 bg-catppuccin-mantle px-2 py-1`,children:[(0,$.jsx)(s5,{icon:(0,$.jsx)(f1e,{className:`h-4 w-4`}),label:e(`toolbar.connect`),onClick:()=>t(`connect`),disabled:!n}),(0,$.jsx)(s5,{icon:(0,$.jsx)(w1e,{className:`h-4 w-4`}),label:e(`toolbar.disconnect`),onClick:()=>{o()}}),(0,$.jsx)(o5,{orientation:`vertical`,className:`mx-1 h-5`}),(0,$.jsx)(s5,{icon:(0,$.jsx)(A6,{className:`h-4 w-4 ${d?`fill-current`:``}`}),label:e(`result.running.stop`),onClick:()=>{f()},disabled:!d,className:d?`text-destructive`:void 0}),(0,$.jsx)(s5,{icon:(0,$.jsx)(e1e,{className:`h-4 w-4`}),label:e(`toolbar.newQueryTab`),onClick:()=>a()}),(0,$.jsxs)(e6,{children:[(0,$.jsx)(t6,{asChild:!0,children:(0,$.jsx)(b,{size:`icon`,className:`h-7 w-7 bg-catppuccin-green text-catppuccin-crust hover:bg-catppuccin-teal`,onClick:()=>{r()},children:(0,$.jsx)(w6,{className:`h-4 w-4`})})}),(0,$.jsx)(n6,{side:`bottom`,children:(0,$.jsx)(`p`,{children:e(`toolbar.execute`)})})]}),(0,$.jsx)(s5,{icon:(0,$.jsx)(b1e,{className:`h-4 w-4`}),label:e(`toolbar.executeStatement`),onClick:()=>{i()}}),u&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(o5,{orientation:`vertical`,className:`mx-1 h-5`}),(0,$.jsxs)(e6,{children:[(0,$.jsx)(t6,{asChild:!0,children:(0,$.jsxs)(b,{size:`sm`,variant:l?`default`:`ghost`,className:`h-7 gap-1 px-2 text-xs`,disabled:!l||!c,onClick:()=>{c&&kn(c.id)},children:[(0,$.jsx)(r6,{className:`h-3.5 w-3.5`}),` `,e(`toolbar.commit`)]})}),(0,$.jsx)(n6,{side:`bottom`,children:(0,$.jsx)(`p`,{children:e(l?`toolbar.commitHint`:`toolbar.noOpenTransaction`)})})]}),(0,$.jsxs)(e6,{children:[(0,$.jsx)(t6,{asChild:!0,children:(0,$.jsxs)(b,{size:`sm`,variant:`ghost`,className:`h-7 gap-1 px-2 text-xs`,disabled:!l||!c,onClick:()=>{c&&xn(c.id)},children:[(0,$.jsx)(P6,{className:`h-3.5 w-3.5`}),` `,e(`toolbar.rollback`)]})}),(0,$.jsx)(n6,{side:`bottom`,children:(0,$.jsx)(`p`,{children:e(`toolbar.rollbackHint`)})})]})]}),c?.readOnly&&(0,$.jsxs)(e6,{children:[(0,$.jsx)(t6,{asChild:!0,children:(0,$.jsxs)(`span`,{className:`ml-1 inline-flex items-center gap-1 rounded border border-catppuccin-yellow/60 px-1.5 py-0.5 text-[10px] font-medium uppercase text-catppuccin-yellow`,children:[(0,$.jsx)(c1e,{className:`h-3 w-3`}),` `,e(`toolbar.readOnlyBadge`)]})}),(0,$.jsx)(n6,{side:`bottom`,children:(0,$.jsx)(`p`,{children:e(`toolbar.readOnlyHint`)})})]}),(0,$.jsx)(o5,{orientation:`vertical`,className:`mx-1 h-5`}),s.users&&(0,$.jsx)(s5,{icon:(0,$.jsx)(D1e,{className:`h-4 w-4`}),label:e(`toolbar.userManager`),onClick:()=>t(`user-manager`)}),(0,$.jsx)(s5,{icon:(0,$.jsx)(S1e,{className:`h-4 w-4`}),label:`${e(`toolbar.quickCommand`)} (${z2e()})`,onClick:()=>t(`quick-command`)}),s.processList&&(0,$.jsx)(s5,{icon:(0,$.jsx)(P$e,{className:`h-4 w-4`}),label:e(`toolbar.processList`),onClick:()=>t(`process-list`)}),s.variables&&(0,$.jsx)(s5,{icon:(0,$.jsx)(O1e,{className:`h-4 w-4`}),label:e(`toolbar.variables`),onClick:()=>t(`variables`)}),s.status&&(0,$.jsx)(s5,{icon:(0,$.jsx)(H$e,{className:`h-4 w-4`}),label:e(`toolbar.status`),onClick:()=>t(`status`)}),s.flush&&(0,$.jsx)(s5,{icon:(0,$.jsx)(E6,{className:`h-4 w-4`}),label:e(`toolbar.flush`),onClick:()=>t(`flush`)}),(0,$.jsx)(o5,{orientation:`vertical`,className:`mx-1 h-5`}),(0,$.jsx)(s5,{icon:(0,$.jsx)(l1e,{className:`h-4 w-4`}),label:e(`toolbar.fullscreen`),onClick:()=>{document.fullscreenElement?document.exitFullscreen():document.documentElement.requestFullscreen()}})]})}function G4e({className:e,value:t,...n}){return(0,$.jsx)(nQe,{"data-slot":`progress`,className:h(`relative h-2 w-full overflow-hidden rounded-full bg-primary/20`,e),...n,children:(0,$.jsx)(rQe,{"data-slot":`progress-indicator`,className:`h-full w-full flex-1 bg-primary transition-all`,style:{transform:`translateX(-${100-(t||0)}%)`}})})}var K4e=[{id:`none`,hex:`transparent`},{id:`green`,hex:`#40a02b`},{id:`blue`,hex:`#1e66f5`},{id:`yellow`,hex:`#df8e1d`},{id:`orange`,hex:`#fe640b`},{id:`red`,hex:`#d20f39`},{id:`purple`,hex:`#8839ef`}];function q4e(e){return S.t(`services.environment.${e}`)}function c5(e){return!e||e===`none`?null:K4e.find(t=>t.id===e)?.hex??null}function J4e(){let{t:e}=ie(),t=jt(e=>e.footerMessage),n=jt(e=>e.isLoading),r=jt(e=>e.progress),i=ct(e=>e.activeConnections.find(t=>t.id===e.activeConnectionId)),a=ct(e=>e.activeConnectionId?e.transactionOpen[e.activeConnectionId]??!1:!1),o=c5(i?.environmentColor);return(0,$.jsxs)(`div`,{className:`flex h-6 items-center gap-2 border-t border-catppuccin-surface1 bg-catppuccin-mantle px-2`,children:[i&&(0,$.jsxs)(`span`,{className:`flex shrink-0 items-center gap-1 text-[11px] text-muted-foreground`,children:[o&&(0,$.jsx)(`span`,{className:`size-2 rounded-full`,style:{background:o}}),(0,$.jsx)(`span`,{className:`max-w-[160px] truncate`,children:i.hostName||i.host}),i.readOnly&&(0,$.jsx)(`span`,{className:`rounded bg-catppuccin-yellow/20 px-1 text-[10px] font-semibold uppercase text-catppuccin-yellow`,children:e(`footer.readOnly`)}),i.transactionMode===`manual`&&(0,$.jsx)(`span`,{className:`rounded px-1 text-[10px] font-semibold uppercase ${a?`bg-catppuccin-peach/20 text-catppuccin-peach`:`bg-muted text-muted-foreground`}`,children:e(a?`footer.txOpen`:`footer.manualTx`)})]}),(0,$.jsx)(`span`,{className:`flex-1 truncate text-xs text-muted-foreground`,children:t}),n&&(0,$.jsx)(G4e,{value:r,className:`h-2 w-40`})]})}function Y4e({children:e}){return(0,$.jsxs)(`div`,{className:`flex flex-col h-screen bg-background text-foreground`,children:[(0,$.jsx)(U4e,{}),(0,$.jsx)(W4e,{}),(0,$.jsxs)(`div`,{className:`flex flex-1 overflow-hidden`,children:[(0,$.jsx)(`div`,{className:`min-w-0 flex-1 overflow-hidden`,children:e}),(0,$.jsx)(z0e,{})]}),(0,$.jsx)(J4e,{})]})}function X4e({direction:e,defaultSize:t,minSize:n=100,maxSize:r=600,storageKey:i,children:a}){let o=h8(e=>i?e.panelSizes[i]:void 0),s=h8(e=>e.setPanelSize),[c,l]=(0,E.useState)(o??t),u=(0,E.useRef)(c),[d,f]=(0,E.useState)(!1),p=(0,E.useRef)(null),m=e===`horizontal`,h=(0,E.useCallback)(e=>{e.preventDefault(),f(!0)},[]);return(0,E.useEffect)(()=>{if(!d)return;let e=e=>{if(!p.current)return;let t=p.current.getBoundingClientRect(),i=m?e.clientX-t.left:e.clientY-t.top,a=Math.min(r,Math.max(n,i));u.current=a,l(a)},t=()=>{f(!1),i&&s(i,u.current)};return document.addEventListener(`mousemove`,e),document.addEventListener(`mouseup`,t),()=>{document.removeEventListener(`mousemove`,e),document.removeEventListener(`mouseup`,t)}},[d,m,n,r,i,s]),(0,$.jsxs)(`div`,{ref:p,className:`flex ${m?`flex-row`:`flex-col`} h-full w-full`,style:{userSelect:d?`none`:void 0},children:[(0,$.jsx)(`div`,{style:{flexBasis:c,flexShrink:0,flexGrow:0},className:`overflow-hidden`,children:a[0]}),(0,$.jsx)(`div`,{onMouseDown:h,className:`flex-shrink-0 transition-colors ${m?`w-1 cursor-col-resize`:`h-1 cursor-row-resize`} ${d?`bg-primary/40`:`hover:bg-primary/40`}`}),(0,$.jsx)(`div`,{className:`flex-1 overflow-hidden`,children:a[1]})]})}function l5({...e}){return(0,$.jsx)(AXe,{"data-slot":`context-menu`,...e})}function u5({...e}){return(0,$.jsx)(jXe,{"data-slot":`context-menu-trigger`,...e})}function Z4e({...e}){return(0,$.jsx)(IXe,{"data-slot":`context-menu-sub`,...e})}function Q4e({className:e,inset:t,children:n,...r}){return(0,$.jsxs)(LXe,{"data-slot":`context-menu-sub-trigger`,"data-inset":t,className:h(`flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[inset]:pl-8 data-[state=open]:bg-accent data-[state=open]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground`,e),...r,children:[n,(0,$.jsx)(a6,{className:`ml-auto`})]})}function $4e({className:e,...t}){return(0,$.jsx)(RXe,{"data-slot":`context-menu-sub-content`,className:h(`z-50 min-w-[8rem] origin-(--radix-context-menu-content-transform-origin) overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95`,e),...t})}function d5({className:e,...t}){return(0,$.jsx)(MXe,{children:(0,$.jsx)(NXe,{"data-slot":`context-menu-content`,className:h(`z-50 max-h-(--radix-context-menu-content-available-height) min-w-[8rem] origin-(--radix-context-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95`,e),...t})})}function f5({className:e,inset:t,variant:n=`default`,...r}){return(0,$.jsx)(PXe,{"data-slot":`context-menu-item`,"data-inset":t,"data-variant":n,className:h(`relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground data-[variant=destructive]:*:[svg]:text-destructive!`,e),...r})}function p5({className:e,...t}){return(0,$.jsx)(FXe,{"data-slot":`context-menu-separator`,className:h(`-mx-1 my-1 h-px bg-border`,e),...t})}function e3e(e){let t=H6(e.connectionId);return Ue(t)?(0,$.jsx)(n3e,{...e}):(0,$.jsx)(t3e,{...e})}function t3e({children:e,node:t,connectionId:n}){let{t:r}=ie(),i=Q6(n),a=typeof t.metadata?.key==`string`?t.metadata.key:null,o=t.type===Xe.KEY,s=H6(n),c=ct(e=>e.activeConnections.find(e=>e.id===n)?.readOnly??!1),l=(`nodeTools`in s?s.nodeTools??[]:[]).filter(e=>e.nodeType===t.type&&!(c&&e.writes)),u=a??(typeof t.metadata?.field==`string`?t.metadata.field:null)??(typeof t.metadata?.prefix==`string`?`${t.metadata.prefix}*`:null),d=Ue(s)?[]:(s.nodeRequests?.(t.type,t.metadata??{})??[]).filter(e=>!c||s.console.classify(e.command).readOnly),f=[...new Set(d.map(e=>e.group))],p=e=>{let r=q6(n,e.command,t.metadata?.database??``,`${e.command.split(/\s/,1)[0]} ${u??t.text}`);e.run&&wn(n,r)},m=[u!==null&&(0,$.jsxs)($.Fragment,{children:[o&&a!==null&&(0,$.jsx)(f5,{onSelect:()=>J6(n,{database:t.metadata?.database??``,name:a}),children:r(`schema.menu.openKey`)}),a!==null&&(0,$.jsx)(f5,{onSelect:()=>{i.openKeyInConsole(t)},children:r(`keyViewer.openInConsole`)}),(0,$.jsx)(f5,{onSelect:()=>{navigator.clipboard.writeText(u)},children:r(o?`schema.menu.copyKey`:`schema.menu.copyName`)})]}),f.length>0&&f.map(e=>{let t=d.filter(t=>t.group===e);return(0,$.jsxs)(Z4e,{children:[(0,$.jsx)(Q4e,{children:t[0].groupKey?r(t[0].groupKey):e}),(0,$.jsx)($4e,{children:t.map(e=>(0,$.jsx)(f5,{onSelect:()=>p(e),children:(0,$.jsx)(`span`,{className:`font-mono text-xs`,children:e.label})},e.command))})]},e)}),l.length>0&&l.map(e=>(0,$.jsx)(f5,{onSelect:()=>Y6(n,e.toolId,r(e.labelKey),e.input(t.metadata??{})),children:r(e.labelKey)},`${e.toolId}-${e.labelKey}`)),!t.isLeaf&&(0,$.jsx)(f5,{onSelect:()=>i.refresh(t),children:r(`schema.menu.refresh`)})].filter(Boolean);return m.length===0?(0,$.jsx)($.Fragment,{children:e}):(0,$.jsxs)(l5,{children:[(0,$.jsx)(u5,{asChild:!0,children:e}),(0,$.jsx)(d5,{children:m.map((e,t)=>(0,$.jsxs)(E.Fragment,{children:[t>0&&(0,$.jsx)(p5,{}),e]},t))})]})}function n3e({children:e,node:t,connectionId:n}){let{t:r}=ie(),i=jt(e=>e.openDialog),a=Q6(n),o=en(a.engine),{capabilities:s}=o,c=()=>a.refresh(t),l={nodeId:t.id,nodeText:t.text,nodeType:t.type,connectionId:n,metadata:t.metadata},u=e=>(0,$.jsx)(f5,{onSelect:()=>i(`schema-diff`,{connectionId:n,database:t.metadata?.database??``,focus:{type:e,name:t.text}}),children:r(`schema.menu.compare`,{type:Z6(e)})}),d=e=>(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(f5,{onSelect:()=>a.showCreate(t,e),children:r(`schema.menu.showCreate`,{type:Z6(e)})}),o.hasQuery(c0e[e])&&(0,$.jsx)(f5,{onSelect:()=>a.alterObject(t,e),children:r(`schema.menu.alter`,{type:Z6(e)})}),u(e),(0,$.jsx)(p5,{}),(0,$.jsx)(f5,{onSelect:c,children:r(`schema.menu.refresh`)}),(0,$.jsx)(p5,{}),(0,$.jsx)(`div`,{className:`mt-1`,children:(0,$.jsx)(f5,{variant:`destructive`,onSelect:()=>a.dropObject(t,e),children:r(`schema.menu.drop`,{type:Z6(e)})})})]}),f=e=>(0,$.jsxs)($.Fragment,{children:[e&&o.hasQuery(s0e[e])&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(f5,{onSelect:()=>a.createTemplate(t,e),children:r(`schema.menu.create`,{type:Z6(e)})}),(0,$.jsx)(p5,{})]}),(0,$.jsx)(f5,{onSelect:c,children:r(`schema.menu.refresh`)})]});function p(){switch(t.type){case Xe.DATABASE:return t.metadata?.unreachable?(0,$.jsx)(f5,{disabled:!0,children:r(`schema.menu.unreachable`)}):t.metadata?.database===void 0?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(f5,{onSelect:c,children:r(`schema.menu.openDatabase`)}),o.hasQuery(`CREATE_SCHEMA`)&&(0,$.jsx)(f5,{onSelect:()=>a.createSchema(t),children:r(`schema.menu.createSchema`)}),(0,$.jsx)(p5,{}),(0,$.jsx)(f5,{onSelect:c,children:r(`schema.menu.refresh`)})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(f5,{onSelect:c,children:r(`schema.menu.openDatabase`)}),(0,$.jsx)(f5,{onSelect:()=>a.newQueryTab(t),children:r(`schema.menu.newQueryTab`)}),(0,$.jsx)(f5,{onSelect:()=>i(`create-table`,l),children:r(`schema.menu.createTable`)}),s.schemas&&(0,$.jsx)(f5,{onSelect:()=>i(`create-schema`,l),children:r(`schema.menu.createSchema`)}),(0,$.jsx)(p5,{}),(0,$.jsx)(f5,{onSelect:c,children:r(`schema.menu.refresh`)}),s.multipleDatabases&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(p5,{}),(0,$.jsx)(`div`,{className:`mt-1`,children:(0,$.jsx)(f5,{variant:`destructive`,onSelect:()=>a.dropDatabase(t),children:r(`schema.menu.dropDatabase`)})})]})]});case Xe.SCHEMA:return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(f5,{onSelect:c,children:r(`schema.menu.openSchema`)}),(0,$.jsx)(f5,{onSelect:()=>a.newQueryTab(t),children:r(`schema.menu.newQueryTab`)}),(0,$.jsx)(f5,{onSelect:()=>i(`create-table`,l),children:r(`schema.menu.createTable`)}),(0,$.jsx)(p5,{}),(0,$.jsx)(f5,{onSelect:c,children:r(`schema.menu.refresh`)}),o.hasQuery(`DROP_SCHEMA`)&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(p5,{}),(0,$.jsx)(`div`,{className:`mt-1`,children:(0,$.jsx)(f5,{variant:`destructive`,onSelect:()=>a.dropSchema(t),children:r(`schema.menu.dropSchema`)})})]})]});case Xe.TABLE:return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(f5,{onSelect:()=>a.newQueryTab(t),children:r(`schema.menu.newQueryTab`)}),(0,$.jsxs)(Z4e,{children:[(0,$.jsx)(Q4e,{children:r(`schema.menu.generateSql`)}),(0,$.jsxs)($4e,{children:[(0,$.jsx)(f5,{onSelect:()=>a.generateSql(t,`SELECT`),children:`SELECT`}),(0,$.jsx)(f5,{onSelect:()=>a.generateSql(t,`INSERT`),children:`INSERT`}),(0,$.jsx)(f5,{onSelect:()=>a.generateSql(t,`UPDATE`),children:`UPDATE`}),(0,$.jsx)(f5,{onSelect:()=>a.generateSql(t,`DELETE`),children:`DELETE`})]})]}),(0,$.jsx)(f5,{onSelect:()=>a.openTable(t),children:r(`schema.menu.openTable`)}),(0,$.jsx)(f5,{onSelect:()=>i(`alter-table`,l),children:r(`schema.menu.alterTable`)}),(0,$.jsx)(f5,{onSelect:()=>a.showCreate(t,`TABLE`),children:r(`schema.menu.showCreateTable`)}),(0,$.jsx)(f5,{onSelect:()=>i(`duplicate-table-structure`,l),children:r(`schema.menu.duplicateStructure`)}),(0,$.jsxs)(f5,{onSelect:()=>{K8(`copy_table`)&&i(`copy-table`,l)},children:[r(`schema.menu.copyTable`),(0,$.jsx)(U8,{})]}),u(`TABLE`),(0,$.jsxs)(f5,{onSelect:()=>{K8(`compare_data`)&&i(`data-diff`,{connectionId:n,database:t.metadata?.database??``,table:t.text})},children:[r(`schema.menu.compareData`),(0,$.jsx)(U8,{})]}),(0,$.jsx)(f5,{onSelect:()=>i(`group-by`,{connectionId:n,database:t.metadata?.database??``,table:t.text}),children:r(`schema.menu.groupBy`)}),(0,$.jsx)(p5,{}),(0,$.jsx)(f5,{onSelect:()=>i(`export-csv`,{...l,delimiter:`,`}),children:r(`schema.menu.exportCsv`)}),(0,$.jsx)(f5,{onSelect:()=>i(`export-csv`,{...l,delimiter:` `}),children:r(`schema.menu.exportTsv`)}),(0,$.jsx)(p5,{}),(0,$.jsx)(f5,{onSelect:c,children:r(`schema.menu.refresh`)}),(0,$.jsx)(p5,{}),(0,$.jsxs)(`div`,{className:`mt-1`,children:[(0,$.jsx)(f5,{variant:`destructive`,onSelect:()=>a.truncateTable(t),children:r(`schema.menu.truncateTable`)}),(0,$.jsx)(f5,{variant:`destructive`,onSelect:()=>a.dropObject(t,`TABLE`),children:r(`schema.menu.dropTable`)})]})]});case Xe.VIEW:return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(f5,{onSelect:()=>a.openView(t),children:r(`schema.menu.openView`)}),(0,$.jsx)(f5,{onSelect:()=>a.alterObject(t,`VIEW`),children:r(`schema.menu.alterView`)}),(0,$.jsx)(p5,{}),(0,$.jsx)(f5,{onSelect:()=>a.showCreate(t,`VIEW`),children:r(`schema.menu.showCreateView`)}),u(`VIEW`),(0,$.jsx)(p5,{}),(0,$.jsx)(f5,{onSelect:c,children:r(`schema.menu.refresh`)}),(0,$.jsx)(p5,{}),(0,$.jsx)(`div`,{className:`mt-1`,children:(0,$.jsx)(f5,{variant:`destructive`,onSelect:()=>a.dropObject(t,`VIEW`),children:r(`schema.menu.dropView`)})})]});case Xe.PROCEDURE:return d(`PROCEDURE`);case Xe.FUNCTION:return d(`FUNCTION`);case Xe.TRIGGER:return d(`TRIGGER`);case Xe.EVENT:return d(`EVENT`);case Xe.FOLDER:switch(t.text){case`Tables`:return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(f5,{onSelect:()=>i(`create-table`,l),children:r(`schema.menu.createTable`)}),(0,$.jsx)(p5,{}),(0,$.jsx)(f5,{onSelect:c,children:r(`schema.menu.refresh`)})]});case`Views`:return f(`VIEW`);case`Procedures`:return f(`PROCEDURE`);case`Functions`:return f(`FUNCTION`);case`Triggers`:return f(`TRIGGER`);case`Events`:return f(`EVENT`);default:return f()}default:return(0,$.jsx)(f5,{onSelect:c,children:r(`schema.menu.refresh`)})}}return(0,$.jsxs)(l5,{children:[(0,$.jsx)(u5,{asChild:!0,children:e}),(0,$.jsx)(d5,{children:p()})]})}function r3e({connectionId:e}){let{t}=ie(),n=H6(e);return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(f5,{onSelect:()=>{bn(e)},children:t(`schema.menu.refresh`)}),(0,$.jsx)(f5,{onSelect:()=>{let n=Mt.getState().tabs[e]?.length??0;q6(e,``,``,t(`query.tabs.queryTitle`,{n:n+1}))},children:t(Ue(n)?`schema.root.newQuery`:`schema.root.newConsole`)}),Ue(n)?(0,$.jsx)(i3e,{connectionId:e,engine:n}):(0,$.jsx)(a3e,{connectionId:e,engine:n})]})}function i3e({connectionId:e,engine:t}){let{t:n}=ie(),r=jt(e=>e.openDialog),{capabilities:i}=t;return(0,$.jsxs)($.Fragment,{children:[(i.multipleDatabases||i.schemas)&&(0,$.jsx)(p5,{}),i.multipleDatabases&&(0,$.jsx)(f5,{onSelect:()=>r(`create-database`),children:n(`menu.database.create`)}),i.schemas&&(0,$.jsx)(f5,{onSelect:()=>r(`create-schema`,void 0),children:n(`schema.menu.createSchema`)}),(0,$.jsx)(p5,{}),(0,$.jsx)(f5,{onSelect:()=>{A8.getState().openERD(e),c(`erd_open`),Mt.getState().setActiveQueryTab(e,`erd`)},children:n(`menu.tools.viewErd`)}),(0,$.jsxs)(f5,{onSelect:()=>{K8(`compare_schemas`)&&r(`schema-diff`)},children:[n(`menu.database.compare`),(0,$.jsx)(U8,{})]}),(0,$.jsx)(f5,{onSelect:()=>r(`export-html`),children:n(`menu.export.schemaHtml`)}),(i.users||i.processList||i.variables||i.status)&&(0,$.jsx)(p5,{}),i.users&&(0,$.jsx)(f5,{onSelect:()=>r(`user-manager`),children:n(`menu.tools.userManager`)}),i.processList&&(0,$.jsx)(f5,{onSelect:()=>r(`process-list`),children:n(`menu.tools.processList`)}),i.variables&&(0,$.jsx)(f5,{onSelect:()=>r(`variables`),children:n(`menu.tools.variables`)}),i.status&&(0,$.jsx)(f5,{onSelect:()=>r(`status`),children:n(`menu.tools.status`)})]})}function a3e({connectionId:e,engine:t}){let{t:n}=ie(),r=M8(t);return!t.rootActions?.length&&r.length===0?null:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(p5,{}),r.map(t=>(0,$.jsx)(f5,{onSelect:()=>Y6(e,t.id,n(t.labelKey)),children:n(t.labelKey)},t.id)),r.length>0&&t.rootActions?.length?(0,$.jsx)(p5,{}):null,(t.rootActions??[]).map(t=>(0,$.jsx)(f5,{onSelect:()=>{let r=q6(e,t.command,``,n(t.labelKey));t.run&&wn(e,r)},children:n(t.labelKey)},t.labelKey))]})}var o3e={[Xe.DATABASE]:f6,[Xe.SCHEMA]:v6,[Xe.TABLE]:j6,[Xe.VIEW]:p6,[Xe.COLUMN]:u6,[Xe.INDEX]:a1e,[Xe.PROCEDURE]:k1e,[Xe.FUNCTION]:y1e,[Xe.TRIGGER]:j1e,[Xe.EVENT]:V$e,[Xe.USER]:E1e},s3e={[Xe.DATABASE]:`text-catppuccin-blue`,[Xe.SCHEMA]:`text-catppuccin-sapphire`,[Xe.TABLE]:`text-catppuccin-green`,[Xe.VIEW]:`text-catppuccin-teal`,[Xe.COLUMN]:`text-catppuccin-lavender`,[Xe.INDEX]:`text-catppuccin-yellow`,[Xe.PROCEDURE]:`text-catppuccin-mauve`,[Xe.FUNCTION]:`text-catppuccin-peach`,[Xe.TRIGGER]:`text-catppuccin-red`,[Xe.EVENT]:`text-catppuccin-sky`,[Xe.FOLDER]:`text-catppuccin-overlay1`,[Xe.USER]:`text-catppuccin-teal`};function c3e(e){return e.type===Xe.FOLDER?e.isExpanded?h6:t1e:o3e[e.type]??t1e}function l3e({node:e}){return(0,E.createElement)(c3e(e),{className:h(`h-4 w-4`,d3e(e))})}var u3e=[];function d3e(e){return s3e[e.type]??`text-muted-foreground`}function f3e({node:e,depth:t,connectionId:n}){let{t:r}=ie(),{toggleExpanded:i,setSelected:a,selectedNodeId:o}=Pt(),{loadChildren:s}=yn(),{openNode:c}=Q6(n),l=o[n]===e.id,u=(0,E.useCallback)(()=>{a(n,e.id)},[n,e.id,a]),d=(0,E.useCallback)(()=>{e.isLeaf||(!e.isExpanded&&e.children.length===0?s(n,e):i(n,e.id))},[n,e,i,s]),f=(0,E.useCallback)(()=>{a(n,e.id),c(e)},[n,e,a,c]),p=(0,E.useCallback)(e=>{e.stopPropagation(),d()},[d]);return(0,$.jsx)(e3e,{node:e,connectionId:n,children:(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`div`,{className:h(`flex items-center gap-1 px-2 py-0.5 cursor-pointer select-none text-sm hover:bg-accent rounded-sm`,l&&`bg-accent text-accent-foreground`,e.metadata?.unreachable&&`text-muted-foreground italic`),title:e.metadata?.unreachable?r(`schema.unreachableHint`):void 0,style:{paddingLeft:`${t*16}px`},"data-node-id":e.id,onClick:u,onDoubleClick:f,children:[!e.isLeaf&&(e.isLoading?(0,$.jsx)(b6,{className:`h-3 w-3 animate-spin text-muted-foreground`}):(0,$.jsx)(`span`,{className:`-m-1 flex items-center p-1`,onClick:p,onDoubleClick:e=>e.stopPropagation(),children:(0,$.jsx)(a6,{className:h(`h-3 w-3 transition-transform`,e.isExpanded&&`rotate-90`)})})),e.isLeaf&&(0,$.jsx)(`span`,{className:`w-3`}),(0,$.jsx)(l3e,{node:e}),(0,$.jsx)(`span`,{className:`truncate`,children:e.text}),e.type===Xe.FOLDER&&typeof e.metadata?.count==`number`&&(0,$.jsxs)(`span`,{className:`ml-1 text-xs text-muted-foreground tabular-nums`,children:[`(`,e.metadata.count,`)`]})]}),e.isExpanded&&e.children.map(e=>(0,$.jsx)(f3e,{node:e,depth:t+1,connectionId:n},e.id))]})})}function p3e(e,t=[]){for(let n of e)t.push(n),n.isExpanded&&n.children.length>0&&p3e(n.children,t);return t}function m3e(e,t,n=null){for(let r of e){if(r.id===t)return n;let e=m3e(r.children,t,r);if(e)return e}return null}function h3e({connectionId:e}){let{t}=ie(),{trees:n,selectedNodeId:r,setSelected:i,setExpanded:a}=Pt(),{loadDatabases:o,loadChildren:s,findNode:c}=yn(),{openNode:l}=Q6(e),u=(0,E.useRef)(null),d=n[e]??u3e,f=r[e]??null,p=ct(t=>t.pendingReopen[e]??!1);(0,E.useEffect)(()=>{!n[e]&&!p&&o(e)},[e,n,o,p]);let m=(0,E.useRef)(null);(0,E.useEffect)(()=>{if(!n[e]||m.current===e)return;m.current=e;let t=[...Pt.getState().expandedIds[e]??[]].sort((e,t)=>e.split(`/`).length-t.split(`/`).length);t.length!==0&&(async()=>{for(let n of t){let t=Pt.getState().trees[e],r=t?c(t,n):null;r&&(r.children.length===0&&!r.isLeaf?await s(e,r):a(e,n,!0))}let n=Pt.getState().selectedNodeId[e];n&&requestAnimationFrame(()=>{u.current?.querySelector(`[data-node-id="${CSS.escape(n)}"]`)?.scrollIntoView({block:`center`})})})()},[e,n,s,a,c]),(0,E.useEffect)(()=>{!f||!u.current||u.current.querySelector(`[data-node-id="${CSS.escape(f)}"]`)?.scrollIntoView({block:`nearest`})},[f]);let h=(0,E.useCallback)(t=>{let n=p3e(d);if(n.length===0)return;let r=n.findIndex(e=>e.id===f),o=r>=0?n[r]:null,c=t=>{t&&i(e,t.id)};switch(t.key){case`ArrowDown`:t.preventDefault(),c(r<0?n[0]:n[Math.min(r+1,n.length-1)]);break;case`ArrowUp`:t.preventDefault(),c(r<0?n[0]:n[Math.max(r-1,0)]);break;case`Home`:t.preventDefault(),c(n[0]);break;case`End`:t.preventDefault(),c(n[n.length-1]);break;case`ArrowRight`:if(!o||o.isLeaf)return;t.preventDefault(),o.isExpanded?c(o.children[0]):o.children.length===0?s(e,o):a(e,o.id,!0);break;case`ArrowLeft`:if(!o)return;if(t.preventDefault(),!o.isLeaf&&o.isExpanded)a(e,o.id,!1);else{let e=m3e(d,o.id);e&&c(e)}break;case`Enter`:if(!o)return;t.preventDefault(),t.metaKey||t.ctrlKey||o.isLeaf?l(o):!o.isExpanded&&o.children.length===0?s(e,o):a(e,o.id,!o.isExpanded)}},[d,f,e,i,a,s,l]);return(0,$.jsxs)(l5,{children:[(0,$.jsx)(u5,{asChild:!0,children:(0,$.jsx)(F6,{className:`h-full`,children:(0,$.jsx)(`div`,{ref:u,className:`py-1 outline-none`,tabIndex:0,role:`tree`,"aria-label":t(`schema.treeLabel`),onKeyDown:h,children:d.map(t=>(0,$.jsx)(f3e,{node:t,depth:0,connectionId:e},t.id))})})}),(0,$.jsx)(d5,{children:(0,$.jsx)(r3e,{connectionId:e})})]})}function m5({className:e,orientation:t=`horizontal`,...n}){return(0,$.jsx)(QQe,{"data-slot":`tabs`,"data-orientation":t,orientation:t,className:h(`group/tabs flex gap-2 data-[orientation=horizontal]:flex-col`,e),...n})}var g3e=v(`group/tabs-list inline-flex w-fit items-center justify-center rounded-lg p-[3px] text-muted-foreground group-data-[orientation=horizontal]/tabs:h-9 group-data-[orientation=vertical]/tabs:h-fit group-data-[orientation=vertical]/tabs:flex-col data-[variant=line]:rounded-none`,{variants:{variant:{default:`bg-muted`,line:`gap-1 bg-transparent`}},defaultVariants:{variant:`default`}});function h5({className:e,variant:t=`default`,...n}){return(0,$.jsx)($Qe,{"data-slot":`tabs-list`,"data-variant":t,className:h(g3e({variant:t}),e),...n})}function g5({className:e,...t}){return(0,$.jsx)(e$e,{"data-slot":`tabs-trigger`,className:h(`relative inline-flex h-[calc(100%-1px)] items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap text-foreground/60 transition-all group-data-[orientation=vertical]/tabs:w-full group-data-[orientation=vertical]/tabs:justify-start hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 group-data-[variant=default]/tabs-list:data-[state=active]:shadow-sm group-data-[variant=line]/tabs-list:data-[state=active]:shadow-none dark:text-muted-foreground dark:hover:text-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,`group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:border-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent`,`data-[state=active]:bg-background data-[state=active]:text-foreground dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 dark:data-[state=active]:text-foreground`,`after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-[orientation=horizontal]/tabs:after:inset-x-0 group-data-[orientation=horizontal]/tabs:after:bottom-[-5px] group-data-[orientation=horizontal]/tabs:after:h-0.5 group-data-[orientation=vertical]/tabs:after:inset-y-0 group-data-[orientation=vertical]/tabs:after:-right-1 group-data-[orientation=vertical]/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-[state=active]:after:opacity-100`,e),...t})}function _5({className:e,...t}){return(0,$.jsx)(t$e,{"data-slot":`tabs-content`,className:h(`flex-1 outline-none`,e),...t})}function _3e(e,t){(0,E.useEffect)(()=>{let t=e.current;if(!t)return;let n=e=>{e.deltaY===0||e.shiftKey||t.scrollWidth<=t.clientWidth||(e.preventDefault(),t.scrollLeft+=e.deltaY)};return t.addEventListener(`wheel`,n,{passive:!1}),()=>t.removeEventListener(`wheel`,n)},[e]),(0,E.useEffect)(()=>{(e.current?.querySelector(`[role="tab"][aria-selected="true"]`))?.scrollIntoView({block:`nearest`,inline:`nearest`})},[e,t])}var v3e=new Set;function y3e(e){let t=parseInt(e.slice(1,3),16),n=parseInt(e.slice(3,5),16),r=parseInt(e.slice(5,7),16);return(.299*t+.587*n+.114*r)/255<.5}var v5=(e,t)=>e+Math.round(t*255).toString(16).padStart(2,`0`);function b3e(e){let t=e.foreground.slice(1);return[{token:``,foreground:t},{token:`keyword`,foreground:e.blue.slice(1),fontStyle:`bold`},{token:`operator`,foreground:e.sky.slice(1)},{token:`predefined`,foreground:e.mauve.slice(1)},{token:`identifier`,foreground:t},{token:`string`,foreground:e.green.slice(1)},{token:`string.escape`,foreground:e.teal.slice(1)},{token:`number`,foreground:e.peach.slice(1)},{token:`comment`,foreground:e.overlay0.slice(1),fontStyle:`italic`},{token:`delimiter`,foreground:e.overlay1.slice(1)},{token:`type`,foreground:e.teal.slice(1)}]}function x3e(e,t){return{"editor.background":e.background,"editor.foreground":e.foreground,"editorGutter.background":e.background,"editorLineNumber.foreground":e.overlay0,"editorLineNumber.activeForeground":e.foreground,"editorCursor.foreground":e.foreground,"editor.lineHighlightBackground":v5(e.surface0,t?.6:.8),"editor.lineHighlightBorder":`#00000000`,"editor.selectionBackground":v5(e.blue,t?.3:.22),"editor.inactiveSelectionBackground":v5(e.blue,.12),"editor.selectionHighlightBackground":v5(e.blue,.14),"editor.wordHighlightBackground":v5(e.surface2,.5),"editor.findMatchBackground":v5(e.yellow,.45),"editor.findMatchHighlightBackground":v5(e.yellow,.22),"editorBracketMatch.background":v5(e.surface1,.8),"editorBracketMatch.border":e.overlay0,"editorIndentGuide.background1":e.surface1,"editorIndentGuide.activeBackground1":e.surface2,"editorWhitespace.foreground":e.surface2,"editorWidget.background":e.card,"editorWidget.border":e.border,"editorSuggestWidget.background":e.card,"editorSuggestWidget.border":e.border,"editorSuggestWidget.foreground":e.foreground,"editorSuggestWidget.selectedBackground":e.surface1,"editorSuggestWidget.selectedForeground":e.foreground,"editorSuggestWidget.highlightForeground":e.blue,"editorHoverWidget.background":e.card,"editorHoverWidget.border":e.border,"editorError.foreground":e.red,"editorWarning.foreground":e.yellow,"editorInfo.foreground":e.sky,"scrollbarSlider.background":v5(e.scrollThumb,.6),"scrollbarSlider.hoverBackground":v5(e.scrollThumbHover,.8),"scrollbarSlider.activeBackground":v5(e.scrollThumbHover,.9),"scrollbar.shadow":`#00000000`,"minimap.background":e.background,"diffEditor.insertedTextBackground":v5(e.green,.2),"diffEditor.removedTextBackground":v5(e.red,.2),"diffEditor.insertedLineBackground":v5(e.green,.1),"diffEditor.removedLineBackground":v5(e.red,.1),"diffEditor.diagonalFill":v5(e.surface1,.6),"input.background":e.input,"input.foreground":e.foreground,"input.border":e.border,focusBorder:e.ring,"widget.shadow":v5(e.crust,t?.6:.35)}}function S3e(e){let t=`planche-${e}`;if(!v3e.has(e)){let n=S2e(e).colors,r=y3e(n.background);rU.defineTheme(t,{base:r?`vs-dark`:`vs`,inherit:!0,rules:b3e(n),colors:x3e(n,r)}),v3e.add(e)}return t}function C3e(e){let t=[];return pn(e,e=>{(e.type===Xe.DATABASE||e.type===Xe.SCHEMA)&&e.metadata?.database&&t.push(e.metadata.database)}),t}function y5(e,t){let n=[];return pn(e,e=>{if(e.type!==Xe.TABLE&&e.type!==Xe.VIEW)return;let r=e.metadata?.database??``;t&&r!==t||n.push({name:e.text,database:r})}),n}function w3e(e,t,n){let r=[];return pn(e,e=>{if(e.type!==Xe.COLUMN)return;let i=e.metadata?.database??``,a=e.metadata?.table??``;t&&i!==t||n&&a!==n||r.push({name:e.metadata?.column??e.text,table:a,database:i})}),r}function T3e(e,t){let n=[];return pn(e,e=>{if(e.type!==Xe.PROCEDURE&&e.type!==Xe.FUNCTION)return;let r=e.metadata?.database??``;t&&r!==t||n.push({name:e.text,database:r})}),n}function E3e(e){let t=Mt.getState(),n=t.tabs[e],r=t.activeTabId[e];return!n||!r?``:n.find(e=>e.id===r)?.database||``}function D3e(e,t,n){let r=e.getWordUntilPosition(t);return new n.Range(t.lineNumber,r.startColumn,t.lineNumber,t.column)}var b5=200;function O3e(e,t){let n=e,r=n.languages.CompletionItemKind,i=n.languages.CompletionItemInsertTextRule,a=rn(t),o=a.getReservedWords().map(e=>({label:e,kind:r.Keyword,insertText:e,detail:`keyword`,sortText:`3`+e})),s=a.getFunctions().map(e=>({label:e,kind:r.Function,insertText:e+`($0)`,insertTextRules:i.InsertAsSnippet,detail:`function`,sortText:`4`+e})),c=a.getDataTypes().map(e=>({label:e.toUpperCase(),kind:r.TypeParameter,insertText:e.toUpperCase(),detail:`data type`,sortText:`5`+e})),l=[...o,...s,...c];function u(e){let n=Pt.getState().trees[t]??[];return{dbSuggestions:C3e(n).map(e=>({label:e,kind:r.Module,insertText:e,detail:`database`,sortText:`2`+e})),tableSuggestions:y5(n).map(t=>({label:t.name,kind:r.Struct,insertText:t.name,detail:`table - ${t.database}`,sortText:(t.database===e?`1`:`6`)+t.name})),columnSuggestions:w3e(n,e||void 0).map(e=>({label:e.name,kind:r.Field,insertText:e.name,detail:`column - ${e.table}`,sortText:`0`+e.name})),routineSuggestions:T3e(n).map(e=>({label:e.name,kind:r.Method,insertText:e.name,detail:`routine - ${e.database}`,sortText:`4`+e.name}))}}function d(e,n){let i=Pt.getState().trees[t]??[];if(C3e(i).includes(e))return y5(i,e).map(e=>({label:e.name,kind:r.Struct,insertText:e.name,detail:`table - ${e.database}`,sortText:`1`+e.name}));let a=y5(i,n||void 0).find(t=>t.name===e);return a?w3e(i,a.database,a.name).map(e=>({label:e.name,kind:r.Field,insertText:e.name,detail:`column - ${e.table}`,sortText:`0`+e.name})):null}return n.languages.registerCompletionItemProvider(`sql`,{triggerCharacters:[`.`,` `],provideCompletionItems(e,r){let i=e.getValueInRange({startLineNumber:r.lineNumber,startColumn:1,endLineNumber:r.lineNumber,endColumn:r.column}),a=D3e(e,r,n),c=E3e(t),f=i.match(/(\w+)\.(\w*)$/);if(f){let e=f[1],t=d(e,c);if(t){let e=r.column-(f[2]?.length??0),i=new n.Range(r.lineNumber,e,r.lineNumber,r.column);return{suggestions:t.slice(0,b5).map(e=>({...e,range:i}))}}}let{dbSuggestions:p,tableSuggestions:m,columnSuggestions:h,routineSuggestions:g}=u(c);return/\bUSE\s+\w*$/i.test(i)?{suggestions:p.map(e=>({...e,range:a}))}:/\b(FROM|JOIN|INNER\s+JOIN|LEFT\s+JOIN|RIGHT\s+JOIN|CROSS\s+JOIN|LEFT\s+OUTER\s+JOIN|RIGHT\s+OUTER\s+JOIN|NATURAL\s+JOIN|INTO|UPDATE|TABLE)\s+\w*$/i.test(i)?{suggestions:[...m,...p].slice(0,b5).map(e=>({...e,range:a}))}:/\b(SELECT|WHERE|AND|OR|ON|SET|ORDER\s+BY|GROUP\s+BY|HAVING)\s+\w*$/i.test(i)||/,\s*\w*$/.test(i)?{suggestions:[...h,...m,...s.map(e=>({...e,range:a})),...o.map(e=>({...e,range:a}))].slice(0,b5).map(e=>({...e,range:a}))}:{suggestions:[...h,...m,...p,...g,...l].slice(0,b5).map(e=>({...e,range:a}))}}})}var k3e={id:`sql`,ensureRegistered:()=>{},registerCompletion:O3e,actions:[`explain`,`structure`]};function A3e(e){return{ignoreCase:!0,commands:e.map(e=>e.toLowerCase()),tokenizer:{root:[[/^\s*(#|\/\/).*$/,`comment`],[/^\s*[A-Za-z][\w.]*/,{cases:{"@commands":`keyword`,"@default":`identifier`}}],[/"/,{token:`string.quote`,next:`@dstring`}],[/'/,{token:`string.quote`,next:`@sstring`}],[/-?\d+(\.\d+)?\b/,`number`],[/[^\s"']+/,``]],dstring:[[/\\x[0-9a-fA-F]{2}|\\./,`string.escape`],[/[^"\\]+/,`string`],[/"/,{token:`string.quote`,next:`@pop`}]],sstring:[[/\\'/,`string.escape`],[/[^'\\]+/,`string`],[/'/,{token:`string.quote`,next:`@pop`}]]}}}function j3e(e){let t=[];return pn(Pt.getState().trees[e]??[],e=>{let n=e.metadata?.key;typeof n==`string`&&t.push(n)}),t}function M3e(e){return{id:e.language,ensureRegistered(t){t.languages.getLanguages().some(t=>t.id===e.language)||(t.languages.register({id:e.language}),t.languages.setMonarchTokensProvider(e.language,A3e(e.commands)),t.languages.setLanguageConfiguration(e.language,{comments:{lineComment:`#`},autoClosingPairs:[{open:`"`,close:`"`},{open:`'`,close:`'`}]}))},registerCompletion(t,n){let r=t.languages.CompletionItemKind;return t.languages.registerCompletionItemProvider(e.language,{provideCompletionItems(t,i){let a=t.getWordUntilPosition(i),o={startLineNumber:i.lineNumber,endLineNumber:i.lineNumber,startColumn:a.startColumn,endColumn:a.endColumn},s=t.getLineContent(i.lineNumber).slice(0,i.column-1);return/^\s*\S*$/.test(s)?{suggestions:e.commands.map(e=>({label:e,kind:r.Keyword,insertText:e,range:o}))}:{suggestions:[...(e.arguments??[]).map(e=>({label:e,kind:r.Module,insertText:e,range:o})),...j3e(n).slice(0,500).map(e=>({label:e,kind:r.Field,insertText:e,range:o}))]}}})},actions:[]}}var N3e=new WeakMap;function P3e(e){if(Ue(e))return k3e;let t=N3e.get(e);return t||(t=M3e(e.console),N3e.set(e,t)),t}function F3e({connectionId:e,tabId:t}){let{t:n}=ie(),r=(0,E.useRef)(null),i=(0,E.useRef)(null),a=S3e(j8(e=>e.themeId)),o=Mt(t=>t.tabs[e]??Nt),s=Mt(e=>e.setEditorContent),c=o.find(e=>e.id===t)?.query??``,l=pt(e=>e.warnInEditor),u=ct(t=>t.activeConnections.find(t=>t.id===e)?.readOnly??!1),d=P3e(H6(e)),f=(0,E.useRef)(null),p=(0,E.useRef)(null),m=(0,E.useCallback)(t=>{let i=f.current,a=r.current?.getModel();if(!i||!a)return;if(!l){i.editor.setModelMarkers(a,`planche-safety`,[]);return}let o=[],s=[];try{s=Sn(nn(e)).statements(t)}catch{}for(let e of s){let t=[];if(e.dataLoss&&t.push(n(`query.editor.destructiveMarker`,{what:e.dataLoss})),u&&!e.readOnly&&t.push(n(`query.editor.readOnlyMarker`)),t.length===0)continue;let r=a.getPositionAt(e.start),s=a.getPositionAt(e.start+e.text.length);o.push({severity:i.MarkerSeverity.Warning,message:t.join(`
923
+ `)}async function H8(){let e=await I8(),t=Mt.getState(),n=t.tabs[e]??[];t.addQueryTab(e,{id:`tab-${Date.now()}`,title:S.t(`menu.tools.federatedTab`,{n:n.length+1}),query:i4e(ct.getState().activeConnections),database:`main`,isExecuting:!1,results:[],error:null,executionTime:null})}var a4e=e=>({id:e.id,hostName:e.hostName,host:e.host,dbms:e.dbms,user:e.user,...e.file?{file:e.file}:{},links:[]});function o4e(e,t,n=new Date){let r={planche:`column-links`,version:1,exportedAt:n.toISOString(),profiles:[]};for(let[n,i]of Object.entries(e)){if(i.length===0)continue;let a=t.find(e=>e.id===n),o=a?a4e(a):{id:n,hostName:``,host:``,dbms:``,user:``,links:[]};r.profiles.push({...o,links:i.map(e=>({...e}))});for(let n of i)if(n.targetConnectionId&&!r.profiles.some(e=>e.id===n.targetConnectionId)&&!Object.keys(e).includes(n.targetConnectionId)){let e=t.find(e=>e.id===n.targetConnectionId);e&&r.profiles.push(a4e(e))}}return r}function s4e(e,t){return t.find(t=>t.id===e.id)??(e.hostName?t.find(t=>t.hostName===e.hostName&&t.dbms===e.dbms):void 0)??t.find(t=>t.host===e.host&&t.dbms===e.dbms&&t.user===e.user&&(t.file??``)===(e.file??``))??null}function c4e(e){let t;try{t=JSON.parse(e)}catch{throw Error(`Not a JSON file`)}let n=t;if(!n||n.planche!==`column-links`||!Array.isArray(n.profiles))throw Error(`Not a Planche column-links file`);return n}function l4e(e,t){let n=new Map,r=[];for(let i of e.profiles){let e=s4e(i,t);e?n.set(i.id,e.id):i.links.length>0&&r.push(i.hostName||i.host||i.id)}let i={},a=0;for(let t of e.profiles){let e=n.get(t.id);if(e)for(let r of t.links){if(!r||typeof r.table!=`string`||typeof r.column!=`string`||typeof r.targetTable!=`string`||typeof r.targetColumn!=`string`)continue;let t={database:String(r.database??``),table:r.table,column:r.column,targetDatabase:String(r.targetDatabase??``),targetTable:r.targetTable,targetColumn:r.targetColumn};if(r.targetConnectionId){let i=n.get(r.targetConnectionId);if(!i)continue;i!==e&&(t.targetConnectionId=i)}(i[e]??=[]).push(t),a++}}return{links:i,imported:a,unmatched:r}}function U8({className:e}){let{t}=ie();return(0,$.jsx)(`span`,{title:t(`pro.tooltip`),className:h(`ml-auto shrink-0 rounded-sm border border-amber-500/40 bg-amber-500/10 px-1 py-px`,`text-[10px] font-semibold leading-none tracking-wide text-amber-600 dark:text-amber-400`,e),children:t(`pro.badge`)})}var u4e={annual:``,monthly:``},d4e=()=>!!(u4e.annual||u4e.monthly),f4e=`JiQCC13jRomej3Ppqh-pruDr4AsmQq-tMswKx_70CtE`;function p4e(e){return e.replace(/\s+/g,``)}function W8(e){let t=e.replace(/-/g,`+`).replace(/_/g,`/`);try{let e=atob(t+`=`.repeat((4-t.length%4)%4)),n=new Uint8Array(e.length);for(let t=0;t<e.length;t++)n[t]=e.charCodeAt(t);return n}catch{return null}}function m4e(e){if(!e||typeof e!=`object`)return null;let t=e;return t.v!==1||t.plan!==`pro`||typeof t.sub!=`string`||typeof t.iat!=`string`||typeof t.exp!=`string`||Number.isNaN(Date.parse(t.exp))?null:{v:1,sub:t.sub,plan:`pro`,iat:t.iat,exp:t.exp}}var h4e=()=>globalThis.crypto?.subtle;async function g4e(e,t,n=new Date){let r=p4e(e);if(!r)return{state:`none`};if(!t)return{state:`invalid`,reason:`no-public-key`};let i=h4e();if(!i)return{state:`invalid`,reason:`no-webcrypto`};let[a,o,...s]=r.split(`.`);if(!a||!o||s.length>0)return{state:`invalid`,reason:`malformed`};let c=W8(a),l=W8(o),u=W8(t);if(!c||!l||!u)return{state:`invalid`,reason:`malformed`};let d=!1;try{let e=await i.importKey(`raw`,u,{name:`Ed25519`},!1,[`verify`]);d=await i.verify(`Ed25519`,e,l,new TextEncoder().encode(a))}catch{return{state:`invalid`,reason:`no-webcrypto`}}if(!d)return{state:`invalid`,reason:`bad-signature`};let f=null;try{f=m4e(JSON.parse(new TextDecoder().decode(c)))}catch{return{state:`invalid`,reason:`malformed`}}return f?Date.parse(f.exp)<n.getTime()?{state:`expired`,claim:f}:{state:`valid`,claim:f}:{state:`invalid`,reason:`malformed`}}function _4e(e,t){return g4e(e,f4e,t)}function v4e(){return!0}var G8=u()(Be((e,t)=>({key:``,status:{state:`none`},activate:async t=>{let n=await _4e(t);return e(n.state===`valid`||n.state===`expired`?{key:t,status:n}:{status:n}),c(`license_activate`,{result:n.state}),n},clear:()=>e({key:``,status:{state:`none`}}),revalidate:async()=>{e({status:await _4e(t().key)})}}),{name:`planche-license`,storage:Ve(),partialize:e=>({key:e.key}),onRehydrateStorage:()=>e=>{e?.revalidate()}})),y4e=()=>G8.getState().status.state===`valid`;function b4e(){return d4e()}function K8(e){return!b4e()||y4e()?!0:(jt.getState().openDialog(`license`,{feature:e}),!1)}var x4e=e({SyncError:()=>q8,deleteAccount:()=>D4e,deleteVault:()=>E4e,fetchSession:()=>C4e,fetchVault:()=>Y8,putVault:()=>X8,signInUrl:()=>w4e,signOut:()=>T4e}),q8=class extends Error{kind;current;constructor(e,t,n){super(t??e),this.name=`SyncError`,this.kind=e,this.current=n}},S4e=`/sync`;async function J8(e,t){let n;try{n=await fetch(`${S4e}${e}`,{...t,credentials:`same-origin`,headers:{...t?.body?{"content-type":`application/json`}:{},...t?.headers}})}catch{throw new q8(`offline`)}if(n.status===204)return null;if(!(n.headers.get(`content-type`)??``).includes(`json`)||n.status===501)throw new q8(`unavailable`);if(n.status===401)throw new q8(`unauthorized`);if(n.status===404)return null;if(n.status===409)throw new q8(`conflict`,`The vault changed on another device`,await n.json().catch(()=>null)??void 0);if(n.status===502||n.status===503||n.status===504)throw new q8(`offline`);if(!n.ok)throw new q8(`server`,`${n.status}`);return await n.json()}async function C4e(){try{return await J8(`/auth/me`)}catch(e){if(e instanceof q8&&e.kind===`unauthorized`)return null;throw e}}function w4e(e,t){return`${S4e}/auth/signin/${e}?return_to=${encodeURIComponent(t)}`}async function T4e(){await J8(`/auth/logout`,{method:`POST`})}function Y8(){return J8(`/vault`)}async function X8(e,t){let n=await J8(`/vault`,{method:`PUT`,body:JSON.stringify({envelope:e,baseVersion:t})});if(!n)throw new q8(`server`,`The service accepted the vault but returned nothing`);return n}async function E4e(){await J8(`/vault`,{method:`DELETE`})}async function D4e(){await J8(`/account`,{method:`DELETE`})}var O4e=16,k4e=12,Z8=class extends Error{reason;constructor(e,t){super(t??e),this.name=`VaultError`,this.reason=e}},Q8=()=>{if(!globalThis.crypto?.subtle)throw new Z8(`unsupported`);return globalThis.crypto.subtle},$8=e=>btoa(String.fromCharCode(...e));function e5(e){let t;try{t=atob(e)}catch{throw new Z8(`malformed`)}let n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}function A4e(e){let t=new Uint8Array(e);return globalThis.crypto.getRandomValues(t),t}async function j4e(e,t){if(!e)throw new Z8(`bad-passphrase`,`A passphrase is required`);let n=t??{name:`PBKDF2-SHA256`,iterations:6e5,salt:$8(A4e(O4e))};if(n.name!==`PBKDF2-SHA256`||!Number.isInteger(n.iterations)||n.iterations<1)throw new Z8(`malformed`,`Unknown key derivation parameters`);let r=await Q8().importKey(`raw`,new TextEncoder().encode(e),`PBKDF2`,!1,[`deriveKey`]);return{key:await Q8().deriveKey({name:`PBKDF2`,hash:`SHA-256`,salt:e5(n.salt),iterations:n.iterations},r,{name:`AES-GCM`,length:256},!1,[`encrypt`,`decrypt`]),kdf:n}}async function M4e(e,t){let n=A4e(k4e),r=new TextEncoder().encode(JSON.stringify(t)),i=await Q8().encrypt({name:`AES-GCM`,iv:n},e.key,r);return{v:1,kdf:e.kdf,iv:$8(n),ct:$8(new Uint8Array(i))}}async function t5(e,t){if(!t||t.v!==1||typeof t.iv!=`string`||typeof t.ct!=`string`)throw new Z8(`malformed`);let n;try{n=await Q8().decrypt({name:`AES-GCM`,iv:e5(t.iv)},e.key,e5(t.ct))}catch(e){throw e instanceof Z8?e:new Z8(`bad-passphrase`)}try{return JSON.parse(new TextDecoder().decode(n))}catch{throw new Z8(`malformed`)}}async function N4e(e,t){if(!t?.kdf)throw new Z8(`malformed`);let n=await j4e(e,t.kdf);return{vaultKey:n,payload:await t5(n,t)}}var n5=()=>!v8();function P4e(){let e=Ze(ct.getState().savedConnections);return Qe(e,P8.getState().links,tt.getState().read(),Date.now())}function r5(e){let{profiles:t,links:n}=dt(e);ct.getState().applySyncedProfiles(t),P8.getState().replaceLinks(n),tt.getState().adopt($e(e))}function i5(e){return e instanceof q8?e.kind:e instanceof Z8?e.reason:e instanceof Error?e.message:String(e)}var a5=u()(Be((e,t)=>({phase:n5()?`checking`:`unavailable`,user:null,version:null,lastSyncedAt:null,busy:!1,error:null,vaultKey:null,vault:null,refresh:async()=>{if(!n5()){e({phase:`unavailable`});return}e({busy:!0,error:null});try{let n=await C4e();if(!n){e({phase:`signed-out`,user:null,vaultKey:null,vault:null,version:null});return}let r=await Y8();e({user:n,version:r?.version??null,phase:r?t().vaultKey?`ready`:`locked`:`no-vault`})}catch(t){t instanceof q8&&t.kind===`unavailable`?e({phase:`unavailable`}):e({error:i5(t)})}finally{e({busy:!1})}},createVault:async n=>{e({busy:!0,error:null});try{e({vaultKey:await j4e(n),vault:{v:1,profiles:{},tombstones:{},links:{}},phase:`ready`}),c(`sync_enable`,{}),await t().push()}catch(t){e({error:i5(t)})}finally{e({busy:!1})}},unlock:async t=>{e({busy:!0,error:null});try{let n=await Y8();if(!n){e({phase:`no-vault`});return}let{vaultKey:r,payload:i}=await N4e(t,n.envelope);if(!ut(i))throw new Z8(`malformed`);let a=ft(P4e(),i);r5(a),e({vaultKey:r,vault:a,version:n.version,phase:`ready`,lastSyncedAt:Date.now()}),c(`sync_unlock`,{})}catch(t){e({error:i5(t)})}finally{e({busy:!1})}},push:async()=>{let n=t().vaultKey;if(!n){e({phase:`locked`});return}e({busy:!0,error:null});try{let t=await Y8(),r=P4e();if(t){let e=await t5(n,t.envelope);ut(e)&&(r=ft(r,e))}r5(r);let i=t?.version??null;try{let t=await X8(await M4e(n,r),i);e({vault:r,version:t.version,lastSyncedAt:Date.now()})}catch(t){if(!(t instanceof q8)||t.kind!==`conflict`||!t.current)throw t;let a=await t5(n,t.current.envelope);ut(a)&&(r=ft(r,a)),r5(r),i=t.current.version;let o=await X8(await M4e(n,r),i);e({vault:r,version:o.version,lastSyncedAt:Date.now()})}c(`sync_push`,{})}catch(t){e({error:i5(t)})}finally{e({busy:!1})}},lock:()=>e({vaultKey:null,vault:null,phase:`locked`}),signOut:async()=>{e({busy:!0,error:null});try{let{signOut:e}=await C(async()=>{let{signOut:e}=await Promise.resolve().then(()=>x4e);return{signOut:e}},void 0);await e()}catch(t){e({error:i5(t)})}finally{e({busy:!1,phase:`signed-out`,user:null,vaultKey:null,vault:null,version:null,lastSyncedAt:null})}},forgetVault:async()=>{e({busy:!0,error:null});try{await E4e(),e({phase:`no-vault`,vaultKey:null,vault:null,version:null,lastSyncedAt:null})}catch(t){e({error:i5(t)})}finally{e({busy:!1})}},closeAccount:async()=>{e({busy:!0,error:null});try{await D4e(),e({phase:`signed-out`,user:null,vaultKey:null,vault:null,version:null,lastSyncedAt:null})}catch(t){e({error:i5(t)})}finally{e({busy:!1})}},setError:t=>e({error:t})}),{name:`planche-sync`,storage:Ve(),partialize:e=>({user:e.user,version:e.version,lastSyncedAt:e.lastSyncedAt})}));function F4e(){let e=jt(e=>e.openDialog),t=a5(e=>e.user),n=a5(e=>e.phase),r=a5(e=>e.refresh),{t:i}=ie();return(0,E.useEffect)(()=>{n5()&&r()},[r]),!n5()||n===`unavailable`?null:(0,$.jsxs)(`button`,{type:`button`,onClick:()=>e(`sync`),title:i(`sync.title`),className:`ml-auto flex items-center gap-1.5 rounded-sm px-2 py-1 text-xs text-muted-foreground hover:bg-accent hover:text-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring`,children:[t?(0,$.jsx)(T1e,{className:`size-3.5`}):(0,$.jsx)(r1e,{className:`size-3.5`}),(0,$.jsx)(`span`,{className:`max-w-40 truncate`,children:t?t.email??t.id:i(`sync.signInShort`)})]})}var I4e=`planche.dev@gmail.com`,L4e=1500;async function R4e(){try{let e=await Promise.race([Ct(),new Promise(e=>setTimeout(()=>e(null),L4e))]);return e?e.state===`offline`?`agent: not running`:`agent: ${e.version} (${e.state})`:`agent: no answer`}catch{return`agent: unknown`}}async function z4e(){let{savedConnections:e,activeConnections:t}=ct.getState(),n=G8.getState().status,r=a5.getState();return[`app: 0.9.3`,await R4e(),`engines in use: ${[...new Set(t.map(e=>e.dbms))].join(`, `)||`none`}`,`profiles: ${e.length}`,`licence: ${n.state}`,`sync: ${r.phase}`,`language: ${pt.getState().locale}`,`browser: ${navigator.userAgent}`]}async function B4e(){let e=[``,``,`---`,`Sent from Planche. Delete anything below you would rather not share.`,...await z4e()].join(`
924
+ `);return`mailto:${I4e}?subject=Planche%200.9.3&body=${encodeURIComponent(e)}`}var V4e=d2e,H4e=[`nord`,`dracula`,`catppuccin-mocha`,`tokyo-night`,`one-dark`];function U4e(){let e=jt(e=>e.openDialog),t=jt(e=>e.setWelcomeVisible),n=jt(e=>e.setFooterMessage),r=jt(e=>e.requestDestructiveConfirm),i=jt(e=>e.requestPrompt),{executeCurrentQuery:a,executeCurrentStatement:o,executeWholeScript:s,explainCurrentStatement:l,showCurrentStructure:u,addNewQueryTab:d,disconnectActive:f,runSQL:p,getActiveServerConnectionId:m,getActiveConnectionId:h,getActiveTabId:g}=O8(),_=ct(e=>e.activeConnections.find(t=>t.id===e.activeConnectionId)),v=_!==void 0,y=ct(e=>e.updateProfile),b=j8(e=>e.themeId),x=j8(e=>e.setTheme),S=pt(e=>e.locale),C=ht(),w=pt(e=>e.setLocale),{t:T}=ie(),ne=ct(e=>e.activeConnectionId),re=Pt(e=>ne?e.selectedNodeId[ne]??null:null),ae=Pt(e=>ne?e.trees[ne]:void 0),oe=(0,E.useMemo)(()=>ae&&re?dn(ae,re):null,[ae,re]),se=(0,E.useMemo)(()=>oe&&ne?{nodeId:oe.id,nodeText:oe.text,nodeType:oe.type,connectionId:ne,metadata:oe.metadata}:void 0,[oe,ne]),ce=(0,E.useMemo)(()=>un(ae??[],re),[ae,re]),le=(0,E.useMemo)(()=>ln(ae??[],re),[ae,re]),ue=v&&!!ce,de=v&&le!==null,fe=()=>{let e=o4e(P8.getState().links,ct.getState().savedConnections),t=e.profiles.reduce((e,t)=>e+t.links.length,0);if(t===0){n(T(`menu.messages.noLinksToExport`));return}let r=new Blob([JSON.stringify(e,null,2)],{type:`application/json`}),i=URL.createObjectURL(r),a=document.createElement(`a`);a.href=i,a.download=`planche-column-links.json`,a.click(),URL.revokeObjectURL(i),n(T(`menu.messages.linksExported`,{count:t}))},pe=()=>{let e=document.createElement(`input`);e.type=`file`,e.accept=`.json,application/json`,e.onchange=async()=>{let t=e.files?.[0];if(t)try{let e=l4e(c4e(await t.text()),ct.getState().savedConnections);P8.getState().mergeLinks(e.links),n(e.unmatched.length>0?T(`menu.messages.linksImportedPartial`,{count:e.imported,profiles:e.unmatched.join(`, `)}):T(`menu.messages.linksImported`,{count:e.imported}))}catch(e){n(T(`menu.messages.linksImportFailed`,{reason:e instanceof Error?e.message:String(e)}))}},e.click()},me=[`auto`,...te],he=C2e(),ge=U6(),_e=Ue(ge),ve=_e&&ge.explain!==void 0,ye=_e&&ge.explain?.supportsAnalyze===!0,{capabilities:be}=ge,xe=ct(e=>e.activeConnections.find(t=>t.id===e.activeConnectionId)?.serverConnectionId),Se=Lt(xe),Ce=jt(e=>e.transportVersion),we=(0,E.useMemo)(()=>Se?$t(xe):null,[Se,xe,Ce]);async function Te(){if(xe)try{if(await Bt(xe)===`in-place`)n(T(`menu.messages.databaseFileSaved`));else{let e=Kt(xe);n(e?T(`menu.messages.databaseExportedWithReason`,{reason:e}):T(`menu.messages.databaseExported`))}}catch(e){n(T(`menu.messages.errorSavingDatabase`,{message:e instanceof Error?e.message:String(e)}))}}function Ee(){let e=ct.getState().activeConnectionId;if(!e)return null;let{selectedNodeId:t,trees:n}=Pt.getState();return un(n[e]??[],t[e])}function De(){let e=ct.getState().activeConnectionId;if(!e)return null;let{selectedNodeId:t,trees:n}=Pt.getState();return ln(n[e]??[],t[e])}async function Oe(e,t){let n=h();if(!n)throw Error(T(`menu.messages.noActiveConnection`));return hn(n,e,{database:t,skipDestructiveConfirm:!0})}async function ke(){let e=Ee();if(!e){n(T(`menu.messages.noDatabaseSelected`));return}let t=en(ge).getQuery(`DROP_DATABASE`,e);if(await r({title:T(`schema.actions.dropDatabaseTitle`,{name:e}),description:T(`schema.actions.dropDatabaseDescription`),typeToConfirm:e,confirmLabel:T(`schema.actions.dropDatabaseConfirm`),statements:[t]}))try{await Oe(t),n(T(`menu.messages.databaseDropped`,{database:e}))}catch(e){if(e instanceof vn)return;n(T(`menu.messages.errorDroppingDatabase`,{message:e instanceof Error?e.message:String(e)}))}}async function Ae(){let e=Ee();if(!e){n(T(`menu.messages.noDatabaseSelected`));return}try{let t=m();if(!t)throw Error(T(`menu.messages.noActiveConnection`));let i=(await en(ge).introspect.listTables(It(t),e)).map(e=>e.name);if(i.length===0){n(T(`menu.messages.noTablesInDatabase`,{database:e}));return}let a=i.map(t=>en(ge).getQuery(`TRUNCATE_TABLE`,e,t));if(!await r({title:T(`menu.messages.truncateDatabaseTitle`,{name:e}),description:T(`menu.messages.truncateDatabaseDescription`,{count:i.length,name:e}),typeToConfirm:e,confirmLabel:T(`menu.messages.truncateDatabaseConfirm`),statements:a}))return;await Oe(en(ge).getQuery(`DISABLE_FK_CHECKS`),e);for(let t of a)await Oe(t,e);await Oe(en(ge).getQuery(`ENABLE_FK_CHECKS`),e),n(T(`menu.messages.databaseTruncated`,{count:i.length,database:e}))}catch(e){if(e instanceof vn)return;n(T(`menu.messages.errorTruncatingDatabase`,{message:e instanceof Error?e.message:String(e)}))}}async function je(){let e=De();if(!e){n(T(`menu.messages.noTableSelected`));return}let t=en(ge).getQuery(`DROP_TABLE`,e.database,e.table,``);if(await r({title:T(`schema.actions.dropTableTitle`,{name:e.table}),description:T(`schema.actions.dropTableDescription`,{from:T(`schema.actions.fromDatabase`,{database:e.database})}),typeToConfirm:e.table,confirmLabel:T(`schema.actions.dropTableConfirm`),statements:[t]}))try{await Oe(t,e.database),n(T(`menu.messages.tableDropped`,{table:e.table}))}catch(e){if(e instanceof vn)return;n(T(`menu.messages.errorDroppingTable`,{message:e instanceof Error?e.message:String(e)}))}}async function Me(){let e=De();if(!e){n(T(`menu.messages.noTableSelected`));return}let t=en(ge).getQuery(`TRUNCATE_TABLE`,e.database,e.table);if(await r({title:T(`schema.actions.truncateTitle`,{name:e.table}),description:T(`schema.actions.truncateDescription`,{name:e.table}),typeToConfirm:e.table,confirmLabel:T(`schema.actions.truncateConfirm`),statements:[t]}))try{await Oe(t,e.database),n(T(`menu.messages.tableTruncated`,{table:e.table}))}catch(e){if(e instanceof vn)return;n(T(`menu.messages.errorTruncatingTable`,{message:e instanceof Error?e.message:String(e)}))}}function Ne(e){let t=h(),n=g();t&&n&&sn(t,n,e)||document.execCommand(e)}async function Pe(){let e=De();if(!e){n(T(`menu.messages.noTableSelected`));return}let t=await i({title:T(`menu.messages.renameTableTitle`),description:T(`menu.messages.renameTablePrompt`,{table:e.table}),defaultValue:e.table,confirmLabel:T(`menu.messages.renameTableConfirm`)});if(!(!t||t===e.table))try{await p(en(ge).getQuery(`RENAME_TABLE`,e.database,e.table,e.database,t),e.database),n(T(`menu.messages.tableRenamed`,{table:e.table,newName:t}))}catch(e){if(e instanceof vn)return;n(T(`menu.messages.errorRenamingTable`,{message:e instanceof Error?e.message:String(e)}))}}return(0,$.jsxs)(X0e,{className:`rounded-none border-b border-catppuccin-surface1 border-t-0 border-x-0 bg-catppuccin-mantle px-2 ${y8()?`desktop-menubar`:``}`,children:[(0,$.jsxs)(b8,{children:[(0,$.jsx)(x8,{className:`text-xs font-normal`,children:T(`menu.connection.title`)}),(0,$.jsxs)(S8,{children:[(0,$.jsxs)(C8,{disabled:!C,onSelect:()=>e(`connect`),children:[T(`menu.connection.connect`),(0,$.jsx)(T8,{children:`Alt+N`})]}),(0,$.jsx)(C8,{disabled:!v,onSelect:()=>{f()},children:T(`menu.connection.disconnect`)}),_&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(w8,{}),(0,$.jsxs)(C8,{onSelect:()=>y(_.id,{readOnly:!_.readOnly}),children:[(0,$.jsx)(`span`,{className:`mr-2 inline-flex w-4 justify-center`,children:_.readOnly&&(0,$.jsx)(r6,{className:`size-3.5`})}),T(`menu.connection.readOnly`)]}),be.transactions&&(0,$.jsxs)(C8,{onSelect:()=>y(_.id,{transactionMode:_.transactionMode===`manual`?`auto`:`manual`}),children:[(0,$.jsx)(`span`,{className:`mr-2 inline-flex w-4 justify-center`,children:_.transactionMode===`manual`&&(0,$.jsx)(r6,{className:`size-3.5`})}),T(`menu.connection.manualTransactions`)]})]}),Se&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(w8,{}),(0,$.jsx)(C8,{disabled:we!==null,title:we??void 0,onSelect:()=>{Te()},children:T(we?`menu.connection.saveDatabaseFileBlocked`:`menu.connection.saveDatabaseFile`)})]}),n5()&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(w8,{}),(0,$.jsxs)(C8,{onSelect:()=>e(`sync`),children:[T(`menu.connection.sync`),(0,$.jsx)(U8,{})]})]}),(0,$.jsx)(w8,{}),(0,$.jsx)(C8,{onSelect:()=>window.close(),children:T(`menu.connection.exit`)})]})]}),(0,$.jsxs)(b8,{children:[(0,$.jsx)(x8,{className:`text-xs font-normal`,children:T(`menu.query.title`)}),(0,$.jsxs)(S8,{children:[(0,$.jsxs)(C8,{disabled:!v,onSelect:()=>{a()},children:[T(`menu.query.execute`),(0,$.jsx)(T8,{children:`F9`})]}),(0,$.jsxs)(C8,{disabled:!v,onSelect:()=>{o()},children:[T(`menu.query.executeStatementAtCursor`),(0,$.jsx)(T8,{children:`Ctrl+Enter`})]}),(0,$.jsxs)(C8,{disabled:!v,onSelect:()=>{s()},children:[T(`menu.query.executeWholeScript`),(0,$.jsx)(T8,{children:`Ctrl+Shift+Enter`})]}),(0,$.jsxs)(C8,{disabled:!v,onSelect:()=>d(),children:[T(`menu.query.newQueryTab`),(0,$.jsx)(T8,{children:`Alt+T`})]}),_e&&(0,$.jsx)(w8,{}),_e&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(C8,{disabled:!v||!ve,onSelect:()=>{l(!1)},children:[T(`menu.query.explainPlan`),(0,$.jsx)(T8,{children:`Ctrl+Shift+E`})]}),(0,$.jsx)(C8,{disabled:!v||!ye,onSelect:()=>{l(!0)},children:T(`menu.query.explainAnalyze`)}),(0,$.jsxs)(C8,{disabled:!v,onSelect:()=>{u()},children:[T(`menu.query.structure`),(0,$.jsx)(T8,{children:`Ctrl+Shift+G`})]})]}),(0,$.jsx)(w8,{}),(0,$.jsx)(C8,{disabled:!v,onSelect:()=>e(`find-replace`),children:T(`menu.query.findReplace`)}),(0,$.jsx)(C8,{disabled:!v,onSelect:()=>e(`local-history`),children:T(`menu.query.localHistory`)})]})]}),(0,$.jsxs)(b8,{children:[(0,$.jsx)(x8,{className:`text-xs font-normal`,children:T(`menu.edit.title`)}),(0,$.jsxs)(S8,{children:[(0,$.jsxs)(C8,{disabled:!v,onSelect:()=>Ne(`undo`),children:[T(`menu.edit.undo`),(0,$.jsx)(T8,{children:`Ctrl+Z`})]}),(0,$.jsxs)(C8,{disabled:!v,onSelect:()=>Ne(`redo`),children:[T(`menu.edit.redo`),(0,$.jsx)(T8,{children:`Ctrl+Y`})]}),(0,$.jsx)(w8,{}),(0,$.jsxs)(C8,{disabled:!v,onSelect:()=>Ne(`cut`),children:[T(`menu.edit.cut`),(0,$.jsx)(T8,{children:`Ctrl+X`})]}),(0,$.jsxs)(C8,{disabled:!v,onSelect:()=>Ne(`copy`),children:[T(`menu.edit.copy`),(0,$.jsx)(T8,{children:`Ctrl+C`})]}),(0,$.jsxs)(C8,{disabled:!v,onSelect:()=>Ne(`paste`),children:[T(`menu.edit.paste`),(0,$.jsx)(T8,{children:`Ctrl+V`})]}),(0,$.jsxs)(C8,{disabled:!v,onSelect:()=>Ne(`selectAll`),children:[T(`menu.edit.selectAll`),(0,$.jsx)(T8,{children:`Ctrl+A`})]})]})]}),_e&&(0,$.jsxs)(b8,{children:[(0,$.jsx)(x8,{className:`text-xs font-normal`,children:T(`menu.database.title`)}),(0,$.jsxs)(S8,{children:[be.multipleDatabases&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(C8,{disabled:!v,onSelect:()=>e(`create-database`),children:T(`menu.database.create`)}),(0,$.jsx)(C8,{disabled:!ue,onSelect:()=>e(`alter-database`),children:T(`menu.database.alter`)}),(0,$.jsx)(C8,{disabled:!ue,onSelect:()=>e(`copy-database`,ce?{database:ce}:void 0),children:T(`menu.database.copy`)}),(0,$.jsx)(w8,{})]}),(0,$.jsxs)(C8,{disabled:!v,onSelect:()=>{K8(`compare_schemas`)&&e(`schema-diff`)},children:[T(`menu.database.compare`),(0,$.jsx)(U8,{})]}),(0,$.jsxs)(C8,{disabled:!v,onSelect:()=>{K8(`compare_data`)&&e(`data-diff`)},children:[T(`menu.database.compareData`),(0,$.jsx)(U8,{})]}),(0,$.jsx)(C8,{disabled:!v,onSelect:()=>e(`group-by`),children:T(`menu.database.groupBy`)}),(0,$.jsx)(w8,{}),(0,$.jsxs)(`div`,{className:`mt-1`,children:[(0,$.jsx)(C8,{disabled:!ue,variant:`destructive`,onSelect:()=>{Ae()},children:T(`menu.database.truncate`)}),be.multipleDatabases&&(0,$.jsx)(C8,{disabled:!ue,variant:`destructive`,onSelect:()=>{ke()},children:T(`menu.database.drop`)})]})]})]}),_e&&(0,$.jsxs)(b8,{children:[(0,$.jsx)(x8,{className:`text-xs font-normal`,children:T(`menu.table.title`)}),(0,$.jsxs)(S8,{children:[(0,$.jsx)(C8,{disabled:!ue,onSelect:()=>e(`create-table`,se),children:T(`menu.table.create`)}),(0,$.jsx)(C8,{disabled:!de,onSelect:()=>e(`alter-table`,se),children:T(`menu.table.alter`)}),(0,$.jsx)(w8,{}),(0,$.jsx)(C8,{disabled:!de,onSelect:()=>{Pe()},children:T(`menu.table.rename`)}),(0,$.jsx)(C8,{disabled:!de,onSelect:()=>e(`duplicate-table-structure`,se),children:T(`menu.table.duplicateStructure`)}),(0,$.jsx)(w8,{}),(0,$.jsxs)(`div`,{className:`mt-1`,children:[(0,$.jsx)(C8,{disabled:!de,variant:`destructive`,onSelect:()=>{Me()},children:T(`menu.table.truncate`)}),(0,$.jsx)(C8,{disabled:!de,variant:`destructive`,onSelect:()=>{je()},children:T(`menu.table.drop`)})]})]})]}),(0,$.jsxs)(b8,{children:[(0,$.jsx)(x8,{className:`text-xs font-normal`,children:T(`menu.export.title`)}),(0,$.jsxs)(S8,{children:[_e&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(C8,{disabled:!v,onSelect:()=>e(`export-csv`,{delimiter:`,`}),children:T(`menu.export.csv`)}),(0,$.jsx)(C8,{disabled:!v,onSelect:()=>e(`export-csv`,{delimiter:` `}),children:T(`menu.export.tsv`)}),(0,$.jsx)(C8,{disabled:!v,onSelect:()=>e(`export-html`),children:T(`menu.export.schemaHtml`)}),(0,$.jsx)(w8,{})]}),(0,$.jsx)(C8,{onSelect:fe,children:T(`menu.export.links`)}),(0,$.jsx)(C8,{onSelect:pe,children:T(`menu.export.importLinks`)})]})]}),(0,$.jsxs)(b8,{children:[(0,$.jsx)(x8,{className:`text-xs font-normal`,children:T(`menu.tools.title`)}),(0,$.jsxs)(S8,{children:[be.users&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(C8,{disabled:!v,onSelect:()=>e(`user-manager`),children:T(`menu.tools.userManager`)}),(0,$.jsx)(w8,{})]}),be.processList&&(0,$.jsx)(C8,{disabled:!v,onSelect:()=>e(`process-list`),children:T(`menu.tools.processList`)}),be.variables&&(0,$.jsx)(C8,{disabled:!v,onSelect:()=>e(`variables`),children:T(`menu.tools.variables`)}),be.status&&(0,$.jsx)(C8,{disabled:!v,onSelect:()=>e(`status`),children:T(`menu.tools.status`)}),be.flush&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(w8,{}),(0,$.jsx)(C8,{disabled:!v,onSelect:()=>e(`flush`),children:T(`menu.tools.flush`)})]}),(0,$.jsx)(w8,{}),!_e&&M8(ge).map(e=>(0,$.jsx)(C8,{disabled:!v,onSelect:()=>{let t=ct.getState().activeConnectionId;t&&Y6(t,e.id,T(e.labelKey))},children:T(e.labelKey)},e.id)),!_e&&M8(ge).length>0&&(0,$.jsx)(w8,{}),(0,$.jsx)(C8,{onSelect:()=>h8.getState().setAiPanelOpen(!0),children:T(`menu.tools.ai`)}),(0,$.jsx)(w8,{}),(0,$.jsxs)(C8,{onSelect:()=>e(`quick-command`),children:[T(`menu.tools.quickCommand`),(0,$.jsx)(T8,{children:z2e()})]}),(0,$.jsxs)(C8,{onSelect:()=>{K8(`scratchpad`)&&I8().catch(e=>n(e instanceof Error?e.message:String(e)))},children:[T(`menu.tools.scratchpad`),(0,$.jsx)(U8,{})]}),(0,$.jsxs)(C8,{onSelect:()=>{K8(`federated`)&&H8().catch(e=>n(e instanceof Error?e.message:String(e)))},children:[T(`menu.tools.federated`),(0,$.jsx)(U8,{})]}),(0,$.jsx)(w8,{}),(0,$.jsx)(C8,{disabled:!v,onSelect:()=>{let e=ct.getState().activeConnectionId;e&&(A8.getState().openERD(e),c(`erd_open`),Mt.getState().setActiveQueryTab(e,`erd`))},children:T(`menu.tools.viewErd`)})]})]}),(0,$.jsxs)(b8,{children:[(0,$.jsx)(x8,{className:`text-xs font-normal`,children:T(`menu.settings.title`)}),(0,$.jsxs)(S8,{children:[(0,$.jsxs)(Q0e,{children:[(0,$.jsx)($0e,{children:T(`menu.settings.theme`)}),(0,$.jsxs)(e2e,{children:[he.filter(e=>V4e.includes(e.id)).map(e=>(0,$.jsxs)(C8,{onSelect:()=>x(e.id),children:[(0,$.jsx)(`span`,{className:`mr-2 inline-flex w-4 justify-center`,children:b===e.id&&(0,$.jsx)(r6,{className:`size-3.5`})}),e.name]},e.id)),(0,$.jsx)(w8,{}),he.filter(e=>H4e.includes(e.id)).map(e=>(0,$.jsxs)(C8,{onSelect:()=>x(e.id),children:[(0,$.jsx)(`span`,{className:`mr-2 inline-flex w-4 justify-center`,children:b===e.id&&(0,$.jsx)(r6,{className:`size-3.5`})}),e.name]},e.id))]})]}),(0,$.jsxs)(Q0e,{children:[(0,$.jsx)($0e,{children:T(`menu.settings.language`)}),(0,$.jsx)(e2e,{children:me.map(e=>(0,$.jsxs)(C8,{onSelect:()=>w(e),children:[(0,$.jsx)(`span`,{className:`mr-2 inline-flex w-4 justify-center`,children:S===e&&(0,$.jsx)(r6,{className:`size-3.5`})}),e===`auto`?T(`language.auto`,{name:T(`language.${ee()}`)}):T(`language.${e}`)]},e))})]}),(0,$.jsx)(w8,{}),(0,$.jsx)(C8,{onSelect:()=>e(`safety-settings`),children:T(`menu.settings.safety`)}),(0,$.jsx)(C8,{onSelect:()=>e(`query-settings`),children:T(`menu.settings.query`)}),(0,$.jsx)(C8,{onSelect:()=>e(`general-settings`),children:T(`menu.settings.general`)}),(0,$.jsx)(C8,{onSelect:()=>e(`ai-settings`),children:T(`menu.settings.ai`)})]})]}),(0,$.jsxs)(b8,{children:[(0,$.jsx)(x8,{className:`text-xs font-normal`,children:T(`menu.help.title`)}),(0,$.jsxs)(S8,{children:[(0,$.jsx)(C8,{onSelect:()=>{window.open(M2e(),`_blank`,`noopener,noreferrer`)},children:T(`menu.help.documentation`)}),(0,$.jsx)(C8,{onSelect:()=>{window.open(F2e(),`_blank`,`noopener,noreferrer`)},children:T(`menu.help.learn`)}),(0,$.jsx)(C8,{onSelect:()=>t(!0),children:T(`menu.help.gettingStarted`)}),(0,$.jsx)(C8,{onSelect:()=>e(`whats-new`,{all:!0}),children:T(`menu.help.whatsNew`)}),(0,$.jsx)(C8,{onSelect:()=>e(`mcp-setup`),children:T(`menu.help.mcp`)}),(0,$.jsx)(C8,{onSelect:()=>e(`terms`),children:T(`menu.help.terms`)}),(0,$.jsx)(C8,{onSelect:()=>{window.open(I2e.privacy,`_blank`,`noopener,noreferrer`)},children:T(`menu.help.privacy`)}),(0,$.jsx)(C8,{onSelect:()=>{B4e().then(e=>{window.location.href=e})},children:T(`menu.help.support`)}),(0,$.jsx)(w8,{}),(0,$.jsx)(C8,{onSelect:()=>e(`license`),children:T(`menu.help.license`)}),(0,$.jsx)(C8,{onSelect:()=>e(`about`),children:T(`menu.help.about`)})]})]}),(0,$.jsx)(F4e,{})]})}function o5({className:e,orientation:t=`horizontal`,decorative:n=!0,...r}){return(0,$.jsx)(zQe,{"data-slot":`separator`,decorative:n,orientation:t,className:h(`shrink-0 bg-border data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px`,e),...r})}function s5({icon:e,label:t,onClick:n,variant:r=`ghost`,disabled:i,className:a}){return(0,$.jsxs)(e6,{children:[(0,$.jsx)(t6,{asChild:!0,children:(0,$.jsx)(b,{size:`icon`,variant:r,className:`h-7 w-7 ${a??``}`,onClick:n,disabled:i,children:e})}),(0,$.jsx)(n6,{side:`bottom`,children:(0,$.jsx)(`p`,{children:t})})]})}function W4e(){let{t:e}=ie(),t=jt(e=>e.openDialog),n=ht(),{executeCurrentQuery:r,executeCurrentStatement:i,addNewQueryTab:a,disconnectActive:o}=O8(),{capabilities:s}=U6(),c=ct(e=>e.activeConnections.find(t=>t.id===e.activeConnectionId)),l=ct(e=>e.activeConnectionId?e.transactionOpen[e.activeConnectionId]??!1:!1),u=c?.transactionMode===`manual`,d=Mt(e=>{let t=ct.getState().activeConnectionId;if(!t)return!1;let n=e.activeTabId[t];return(e.tabs[t]??Nt).find(e=>e.id===n)?.isExecuting??!1});async function f(){let e=ct.getState().activeConnectionId;if(!e)return;let t=Gt(await Xt(e));t&&jt.getState().setFooterMessage(t)}return(0,$.jsxs)(`div`,{className:`flex items-center gap-0.5 border-b border-catppuccin-surface1 bg-catppuccin-mantle px-2 py-1`,children:[(0,$.jsx)(s5,{icon:(0,$.jsx)(f1e,{className:`h-4 w-4`}),label:e(`toolbar.connect`),onClick:()=>t(`connect`),disabled:!n}),(0,$.jsx)(s5,{icon:(0,$.jsx)(w1e,{className:`h-4 w-4`}),label:e(`toolbar.disconnect`),onClick:()=>{o()}}),(0,$.jsx)(o5,{orientation:`vertical`,className:`mx-1 h-5`}),(0,$.jsx)(s5,{icon:(0,$.jsx)(A6,{className:`h-4 w-4 ${d?`fill-current`:``}`}),label:e(`result.running.stop`),onClick:()=>{f()},disabled:!d,className:d?`text-destructive`:void 0}),(0,$.jsx)(s5,{icon:(0,$.jsx)(e1e,{className:`h-4 w-4`}),label:e(`toolbar.newQueryTab`),onClick:()=>a()}),(0,$.jsxs)(e6,{children:[(0,$.jsx)(t6,{asChild:!0,children:(0,$.jsx)(b,{size:`icon`,className:`h-7 w-7 bg-catppuccin-green text-catppuccin-crust hover:bg-catppuccin-teal`,onClick:()=>{r()},children:(0,$.jsx)(w6,{className:`h-4 w-4`})})}),(0,$.jsx)(n6,{side:`bottom`,children:(0,$.jsx)(`p`,{children:e(`toolbar.execute`)})})]}),(0,$.jsx)(s5,{icon:(0,$.jsx)(b1e,{className:`h-4 w-4`}),label:e(`toolbar.executeStatement`),onClick:()=>{i()}}),u&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(o5,{orientation:`vertical`,className:`mx-1 h-5`}),(0,$.jsxs)(e6,{children:[(0,$.jsx)(t6,{asChild:!0,children:(0,$.jsxs)(b,{size:`sm`,variant:l?`default`:`ghost`,className:`h-7 gap-1 px-2 text-xs`,disabled:!l||!c,onClick:()=>{c&&kn(c.id)},children:[(0,$.jsx)(r6,{className:`h-3.5 w-3.5`}),` `,e(`toolbar.commit`)]})}),(0,$.jsx)(n6,{side:`bottom`,children:(0,$.jsx)(`p`,{children:e(l?`toolbar.commitHint`:`toolbar.noOpenTransaction`)})})]}),(0,$.jsxs)(e6,{children:[(0,$.jsx)(t6,{asChild:!0,children:(0,$.jsxs)(b,{size:`sm`,variant:`ghost`,className:`h-7 gap-1 px-2 text-xs`,disabled:!l||!c,onClick:()=>{c&&xn(c.id)},children:[(0,$.jsx)(P6,{className:`h-3.5 w-3.5`}),` `,e(`toolbar.rollback`)]})}),(0,$.jsx)(n6,{side:`bottom`,children:(0,$.jsx)(`p`,{children:e(`toolbar.rollbackHint`)})})]})]}),c?.readOnly&&(0,$.jsxs)(e6,{children:[(0,$.jsx)(t6,{asChild:!0,children:(0,$.jsxs)(`span`,{className:`ml-1 inline-flex items-center gap-1 rounded border border-catppuccin-yellow/60 px-1.5 py-0.5 text-[10px] font-medium uppercase text-catppuccin-yellow`,children:[(0,$.jsx)(c1e,{className:`h-3 w-3`}),` `,e(`toolbar.readOnlyBadge`)]})}),(0,$.jsx)(n6,{side:`bottom`,children:(0,$.jsx)(`p`,{children:e(`toolbar.readOnlyHint`)})})]}),(0,$.jsx)(o5,{orientation:`vertical`,className:`mx-1 h-5`}),s.users&&(0,$.jsx)(s5,{icon:(0,$.jsx)(D1e,{className:`h-4 w-4`}),label:e(`toolbar.userManager`),onClick:()=>t(`user-manager`)}),(0,$.jsx)(s5,{icon:(0,$.jsx)(S1e,{className:`h-4 w-4`}),label:`${e(`toolbar.quickCommand`)} (${z2e()})`,onClick:()=>t(`quick-command`)}),s.processList&&(0,$.jsx)(s5,{icon:(0,$.jsx)(P$e,{className:`h-4 w-4`}),label:e(`toolbar.processList`),onClick:()=>t(`process-list`)}),s.variables&&(0,$.jsx)(s5,{icon:(0,$.jsx)(O1e,{className:`h-4 w-4`}),label:e(`toolbar.variables`),onClick:()=>t(`variables`)}),s.status&&(0,$.jsx)(s5,{icon:(0,$.jsx)(H$e,{className:`h-4 w-4`}),label:e(`toolbar.status`),onClick:()=>t(`status`)}),s.flush&&(0,$.jsx)(s5,{icon:(0,$.jsx)(E6,{className:`h-4 w-4`}),label:e(`toolbar.flush`),onClick:()=>t(`flush`)}),(0,$.jsx)(o5,{orientation:`vertical`,className:`mx-1 h-5`}),(0,$.jsx)(s5,{icon:(0,$.jsx)(l1e,{className:`h-4 w-4`}),label:e(`toolbar.fullscreen`),onClick:()=>{document.fullscreenElement?document.exitFullscreen():document.documentElement.requestFullscreen()}})]})}function G4e({className:e,value:t,...n}){return(0,$.jsx)(nQe,{"data-slot":`progress`,className:h(`relative h-2 w-full overflow-hidden rounded-full bg-primary/20`,e),...n,children:(0,$.jsx)(rQe,{"data-slot":`progress-indicator`,className:`h-full w-full flex-1 bg-primary transition-all`,style:{transform:`translateX(-${100-(t||0)}%)`}})})}var K4e=[{id:`none`,hex:`transparent`},{id:`green`,hex:`#40a02b`},{id:`blue`,hex:`#1e66f5`},{id:`yellow`,hex:`#df8e1d`},{id:`orange`,hex:`#fe640b`},{id:`red`,hex:`#d20f39`},{id:`purple`,hex:`#8839ef`}];function q4e(e){return S.t(`services.environment.${e}`)}function c5(e){return!e||e===`none`?null:K4e.find(t=>t.id===e)?.hex??null}function J4e(){let{t:e}=ie(),t=jt(e=>e.footerMessage),n=jt(e=>e.isLoading),r=jt(e=>e.progress),i=ct(e=>e.activeConnections.find(t=>t.id===e.activeConnectionId)),a=ct(e=>e.activeConnectionId?e.transactionOpen[e.activeConnectionId]??!1:!1),o=c5(i?.environmentColor);return(0,$.jsxs)(`div`,{className:`flex h-6 items-center gap-2 border-t border-catppuccin-surface1 bg-catppuccin-mantle px-2`,children:[i&&(0,$.jsxs)(`span`,{className:`flex shrink-0 items-center gap-1 text-[11px] text-muted-foreground`,children:[o&&(0,$.jsx)(`span`,{className:`size-2 rounded-full`,style:{background:o}}),(0,$.jsx)(`span`,{className:`max-w-[160px] truncate`,children:i.hostName||i.host}),i.readOnly&&(0,$.jsx)(`span`,{className:`rounded bg-catppuccin-yellow/20 px-1 text-[10px] font-semibold uppercase text-catppuccin-yellow`,children:e(`footer.readOnly`)}),i.transactionMode===`manual`&&(0,$.jsx)(`span`,{className:`rounded px-1 text-[10px] font-semibold uppercase ${a?`bg-catppuccin-peach/20 text-catppuccin-peach`:`bg-muted text-muted-foreground`}`,children:e(a?`footer.txOpen`:`footer.manualTx`)})]}),(0,$.jsx)(`span`,{className:`flex-1 truncate text-xs text-muted-foreground`,children:t}),n&&(0,$.jsx)(G4e,{value:r,className:`h-2 w-40`})]})}function Y4e({children:e}){return(0,$.jsxs)(`div`,{className:`flex flex-col h-screen bg-background text-foreground`,children:[(0,$.jsx)(U4e,{}),(0,$.jsx)(W4e,{}),(0,$.jsxs)(`div`,{className:`flex flex-1 overflow-hidden`,children:[(0,$.jsx)(`div`,{className:`min-w-0 flex-1 overflow-hidden`,children:e}),(0,$.jsx)(z0e,{})]}),(0,$.jsx)(J4e,{})]})}function X4e({direction:e,defaultSize:t,minSize:n=100,maxSize:r=600,storageKey:i,children:a}){let o=h8(e=>i?e.panelSizes[i]:void 0),s=h8(e=>e.setPanelSize),[c,l]=(0,E.useState)(o??t),u=(0,E.useRef)(c),[d,f]=(0,E.useState)(!1),p=(0,E.useRef)(null),m=e===`horizontal`,h=(0,E.useCallback)(e=>{e.preventDefault(),f(!0)},[]);return(0,E.useEffect)(()=>{if(!d)return;let e=e=>{if(!p.current)return;let t=p.current.getBoundingClientRect(),i=m?e.clientX-t.left:e.clientY-t.top,a=Math.min(r,Math.max(n,i));u.current=a,l(a)},t=()=>{f(!1),i&&s(i,u.current)};return document.addEventListener(`mousemove`,e),document.addEventListener(`mouseup`,t),()=>{document.removeEventListener(`mousemove`,e),document.removeEventListener(`mouseup`,t)}},[d,m,n,r,i,s]),(0,$.jsxs)(`div`,{ref:p,className:`flex ${m?`flex-row`:`flex-col`} h-full w-full`,style:{userSelect:d?`none`:void 0},children:[(0,$.jsx)(`div`,{style:{flexBasis:c,flexShrink:0,flexGrow:0},className:`overflow-hidden`,children:a[0]}),(0,$.jsx)(`div`,{onMouseDown:h,className:`flex-shrink-0 transition-colors ${m?`w-1 cursor-col-resize`:`h-1 cursor-row-resize`} ${d?`bg-primary/40`:`hover:bg-primary/40`}`}),(0,$.jsx)(`div`,{className:`flex-1 overflow-hidden`,children:a[1]})]})}function l5({...e}){return(0,$.jsx)(AXe,{"data-slot":`context-menu`,...e})}function u5({...e}){return(0,$.jsx)(jXe,{"data-slot":`context-menu-trigger`,...e})}function Z4e({...e}){return(0,$.jsx)(IXe,{"data-slot":`context-menu-sub`,...e})}function Q4e({className:e,inset:t,children:n,...r}){return(0,$.jsxs)(LXe,{"data-slot":`context-menu-sub-trigger`,"data-inset":t,className:h(`flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[inset]:pl-8 data-[state=open]:bg-accent data-[state=open]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground`,e),...r,children:[n,(0,$.jsx)(a6,{className:`ml-auto`})]})}function $4e({className:e,...t}){return(0,$.jsx)(RXe,{"data-slot":`context-menu-sub-content`,className:h(`z-50 min-w-[8rem] origin-(--radix-context-menu-content-transform-origin) overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95`,e),...t})}function d5({className:e,...t}){return(0,$.jsx)(MXe,{children:(0,$.jsx)(NXe,{"data-slot":`context-menu-content`,className:h(`z-50 max-h-(--radix-context-menu-content-available-height) min-w-[8rem] origin-(--radix-context-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95`,e),...t})})}function f5({className:e,inset:t,variant:n=`default`,...r}){return(0,$.jsx)(PXe,{"data-slot":`context-menu-item`,"data-inset":t,"data-variant":n,className:h(`relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground data-[variant=destructive]:*:[svg]:text-destructive!`,e),...r})}function p5({className:e,...t}){return(0,$.jsx)(FXe,{"data-slot":`context-menu-separator`,className:h(`-mx-1 my-1 h-px bg-border`,e),...t})}function e3e(e){let t=H6(e.connectionId);return Ue(t)?(0,$.jsx)(n3e,{...e}):(0,$.jsx)(t3e,{...e})}function t3e({children:e,node:t,connectionId:n}){let{t:r}=ie(),i=Q6(n),a=typeof t.metadata?.key==`string`?t.metadata.key:null,o=t.type===Xe.KEY,s=H6(n),c=ct(e=>e.activeConnections.find(e=>e.id===n)?.readOnly??!1),l=(`nodeTools`in s?s.nodeTools??[]:[]).filter(e=>e.nodeType===t.type&&!(c&&e.writes)),u=a??(typeof t.metadata?.field==`string`?t.metadata.field:null)??(typeof t.metadata?.prefix==`string`?`${t.metadata.prefix}*`:null),d=Ue(s)?[]:(s.nodeRequests?.(t.type,t.metadata??{})??[]).filter(e=>!c||s.console.classify(e.command).readOnly),f=[...new Set(d.map(e=>e.group))],p=e=>{let r=q6(n,e.command,t.metadata?.database??``,`${e.command.split(/\s/,1)[0]} ${u??t.text}`);e.run&&wn(n,r)},m=[u!==null&&(0,$.jsxs)($.Fragment,{children:[o&&a!==null&&(0,$.jsx)(f5,{onSelect:()=>J6(n,{database:t.metadata?.database??``,name:a}),children:r(`schema.menu.openKey`)}),a!==null&&(0,$.jsx)(f5,{onSelect:()=>{i.openKeyInConsole(t)},children:r(`keyViewer.openInConsole`)}),(0,$.jsx)(f5,{onSelect:()=>{navigator.clipboard.writeText(u)},children:r(o?`schema.menu.copyKey`:`schema.menu.copyName`)})]}),f.length>0&&f.map(e=>{let t=d.filter(t=>t.group===e);return(0,$.jsxs)(Z4e,{children:[(0,$.jsx)(Q4e,{children:t[0].groupKey?r(t[0].groupKey):e}),(0,$.jsx)($4e,{children:t.map(e=>(0,$.jsx)(f5,{onSelect:()=>p(e),children:(0,$.jsx)(`span`,{className:`font-mono text-xs`,children:e.label})},e.command))})]},e)}),l.length>0&&l.map(e=>(0,$.jsx)(f5,{onSelect:()=>Y6(n,e.toolId,r(e.labelKey),e.input(t.metadata??{})),children:r(e.labelKey)},`${e.toolId}-${e.labelKey}`)),!t.isLeaf&&(0,$.jsx)(f5,{onSelect:()=>i.refresh(t),children:r(`schema.menu.refresh`)})].filter(Boolean);return m.length===0?(0,$.jsx)($.Fragment,{children:e}):(0,$.jsxs)(l5,{children:[(0,$.jsx)(u5,{asChild:!0,children:e}),(0,$.jsx)(d5,{children:m.map((e,t)=>(0,$.jsxs)(E.Fragment,{children:[t>0&&(0,$.jsx)(p5,{}),e]},t))})]})}function n3e({children:e,node:t,connectionId:n}){let{t:r}=ie(),i=jt(e=>e.openDialog),a=Q6(n),o=en(a.engine),{capabilities:s}=o,c=()=>a.refresh(t),l={nodeId:t.id,nodeText:t.text,nodeType:t.type,connectionId:n,metadata:t.metadata},u=e=>(0,$.jsx)(f5,{onSelect:()=>i(`schema-diff`,{connectionId:n,database:t.metadata?.database??``,focus:{type:e,name:t.text}}),children:r(`schema.menu.compare`,{type:Z6(e)})}),d=e=>(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(f5,{onSelect:()=>a.showCreate(t,e),children:r(`schema.menu.showCreate`,{type:Z6(e)})}),o.hasQuery(c0e[e])&&(0,$.jsx)(f5,{onSelect:()=>a.alterObject(t,e),children:r(`schema.menu.alter`,{type:Z6(e)})}),u(e),(0,$.jsx)(p5,{}),(0,$.jsx)(f5,{onSelect:c,children:r(`schema.menu.refresh`)}),(0,$.jsx)(p5,{}),(0,$.jsx)(`div`,{className:`mt-1`,children:(0,$.jsx)(f5,{variant:`destructive`,onSelect:()=>a.dropObject(t,e),children:r(`schema.menu.drop`,{type:Z6(e)})})})]}),f=e=>(0,$.jsxs)($.Fragment,{children:[e&&o.hasQuery(s0e[e])&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(f5,{onSelect:()=>a.createTemplate(t,e),children:r(`schema.menu.create`,{type:Z6(e)})}),(0,$.jsx)(p5,{})]}),(0,$.jsx)(f5,{onSelect:c,children:r(`schema.menu.refresh`)})]});function p(){switch(t.type){case Xe.DATABASE:return t.metadata?.unreachable?(0,$.jsx)(f5,{disabled:!0,children:r(`schema.menu.unreachable`)}):t.metadata?.database===void 0?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(f5,{onSelect:c,children:r(`schema.menu.openDatabase`)}),o.hasQuery(`CREATE_SCHEMA`)&&(0,$.jsx)(f5,{onSelect:()=>a.createSchema(t),children:r(`schema.menu.createSchema`)}),(0,$.jsx)(p5,{}),(0,$.jsx)(f5,{onSelect:c,children:r(`schema.menu.refresh`)})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(f5,{onSelect:c,children:r(`schema.menu.openDatabase`)}),(0,$.jsx)(f5,{onSelect:()=>a.newQueryTab(t),children:r(`schema.menu.newQueryTab`)}),(0,$.jsx)(f5,{onSelect:()=>i(`create-table`,l),children:r(`schema.menu.createTable`)}),s.schemas&&(0,$.jsx)(f5,{onSelect:()=>i(`create-schema`,l),children:r(`schema.menu.createSchema`)}),(0,$.jsx)(p5,{}),(0,$.jsx)(f5,{onSelect:c,children:r(`schema.menu.refresh`)}),s.multipleDatabases&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(p5,{}),(0,$.jsx)(`div`,{className:`mt-1`,children:(0,$.jsx)(f5,{variant:`destructive`,onSelect:()=>a.dropDatabase(t),children:r(`schema.menu.dropDatabase`)})})]})]});case Xe.SCHEMA:return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(f5,{onSelect:c,children:r(`schema.menu.openSchema`)}),(0,$.jsx)(f5,{onSelect:()=>a.newQueryTab(t),children:r(`schema.menu.newQueryTab`)}),(0,$.jsx)(f5,{onSelect:()=>i(`create-table`,l),children:r(`schema.menu.createTable`)}),(0,$.jsx)(p5,{}),(0,$.jsx)(f5,{onSelect:c,children:r(`schema.menu.refresh`)}),o.hasQuery(`DROP_SCHEMA`)&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(p5,{}),(0,$.jsx)(`div`,{className:`mt-1`,children:(0,$.jsx)(f5,{variant:`destructive`,onSelect:()=>a.dropSchema(t),children:r(`schema.menu.dropSchema`)})})]})]});case Xe.TABLE:return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(f5,{onSelect:()=>a.newQueryTab(t),children:r(`schema.menu.newQueryTab`)}),(0,$.jsxs)(Z4e,{children:[(0,$.jsx)(Q4e,{children:r(`schema.menu.generateSql`)}),(0,$.jsxs)($4e,{children:[(0,$.jsx)(f5,{onSelect:()=>a.generateSql(t,`SELECT`),children:`SELECT`}),(0,$.jsx)(f5,{onSelect:()=>a.generateSql(t,`INSERT`),children:`INSERT`}),(0,$.jsx)(f5,{onSelect:()=>a.generateSql(t,`UPDATE`),children:`UPDATE`}),(0,$.jsx)(f5,{onSelect:()=>a.generateSql(t,`DELETE`),children:`DELETE`})]})]}),(0,$.jsx)(f5,{onSelect:()=>a.openTable(t),children:r(`schema.menu.openTable`)}),(0,$.jsx)(f5,{onSelect:()=>i(`alter-table`,l),children:r(`schema.menu.alterTable`)}),(0,$.jsx)(f5,{onSelect:()=>a.showCreate(t,`TABLE`),children:r(`schema.menu.showCreateTable`)}),(0,$.jsx)(f5,{onSelect:()=>i(`duplicate-table-structure`,l),children:r(`schema.menu.duplicateStructure`)}),(0,$.jsxs)(f5,{onSelect:()=>{K8(`copy_table`)&&i(`copy-table`,l)},children:[r(`schema.menu.copyTable`),(0,$.jsx)(U8,{})]}),u(`TABLE`),(0,$.jsxs)(f5,{onSelect:()=>{K8(`compare_data`)&&i(`data-diff`,{connectionId:n,database:t.metadata?.database??``,table:t.text})},children:[r(`schema.menu.compareData`),(0,$.jsx)(U8,{})]}),(0,$.jsx)(f5,{onSelect:()=>i(`group-by`,{connectionId:n,database:t.metadata?.database??``,table:t.text}),children:r(`schema.menu.groupBy`)}),(0,$.jsx)(p5,{}),(0,$.jsx)(f5,{onSelect:()=>i(`export-csv`,{...l,delimiter:`,`}),children:r(`schema.menu.exportCsv`)}),(0,$.jsx)(f5,{onSelect:()=>i(`export-csv`,{...l,delimiter:` `}),children:r(`schema.menu.exportTsv`)}),(0,$.jsx)(p5,{}),(0,$.jsx)(f5,{onSelect:c,children:r(`schema.menu.refresh`)}),(0,$.jsx)(p5,{}),(0,$.jsxs)(`div`,{className:`mt-1`,children:[(0,$.jsx)(f5,{variant:`destructive`,onSelect:()=>a.truncateTable(t),children:r(`schema.menu.truncateTable`)}),(0,$.jsx)(f5,{variant:`destructive`,onSelect:()=>a.dropObject(t,`TABLE`),children:r(`schema.menu.dropTable`)})]})]});case Xe.VIEW:return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(f5,{onSelect:()=>a.openView(t),children:r(`schema.menu.openView`)}),(0,$.jsx)(f5,{onSelect:()=>a.alterObject(t,`VIEW`),children:r(`schema.menu.alterView`)}),(0,$.jsx)(p5,{}),(0,$.jsx)(f5,{onSelect:()=>a.showCreate(t,`VIEW`),children:r(`schema.menu.showCreateView`)}),u(`VIEW`),(0,$.jsx)(p5,{}),(0,$.jsx)(f5,{onSelect:c,children:r(`schema.menu.refresh`)}),(0,$.jsx)(p5,{}),(0,$.jsx)(`div`,{className:`mt-1`,children:(0,$.jsx)(f5,{variant:`destructive`,onSelect:()=>a.dropObject(t,`VIEW`),children:r(`schema.menu.dropView`)})})]});case Xe.PROCEDURE:return d(`PROCEDURE`);case Xe.FUNCTION:return d(`FUNCTION`);case Xe.TRIGGER:return d(`TRIGGER`);case Xe.EVENT:return d(`EVENT`);case Xe.FOLDER:switch(t.text){case`Tables`:return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(f5,{onSelect:()=>i(`create-table`,l),children:r(`schema.menu.createTable`)}),(0,$.jsx)(p5,{}),(0,$.jsx)(f5,{onSelect:c,children:r(`schema.menu.refresh`)})]});case`Views`:return f(`VIEW`);case`Procedures`:return f(`PROCEDURE`);case`Functions`:return f(`FUNCTION`);case`Triggers`:return f(`TRIGGER`);case`Events`:return f(`EVENT`);default:return f()}default:return(0,$.jsx)(f5,{onSelect:c,children:r(`schema.menu.refresh`)})}}return(0,$.jsxs)(l5,{children:[(0,$.jsx)(u5,{asChild:!0,children:e}),(0,$.jsx)(d5,{children:p()})]})}function r3e({connectionId:e}){let{t}=ie(),n=H6(e);return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(f5,{onSelect:()=>{bn(e)},children:t(`schema.menu.refresh`)}),(0,$.jsx)(f5,{onSelect:()=>{let n=Mt.getState().tabs[e]?.length??0;q6(e,``,``,t(`query.tabs.queryTitle`,{n:n+1}))},children:t(Ue(n)?`schema.root.newQuery`:`schema.root.newConsole`)}),Ue(n)?(0,$.jsx)(i3e,{connectionId:e,engine:n}):(0,$.jsx)(a3e,{connectionId:e,engine:n})]})}function i3e({connectionId:e,engine:t}){let{t:n}=ie(),r=jt(e=>e.openDialog),{capabilities:i}=t;return(0,$.jsxs)($.Fragment,{children:[(i.multipleDatabases||i.schemas)&&(0,$.jsx)(p5,{}),i.multipleDatabases&&(0,$.jsx)(f5,{onSelect:()=>r(`create-database`),children:n(`menu.database.create`)}),i.schemas&&(0,$.jsx)(f5,{onSelect:()=>r(`create-schema`,void 0),children:n(`schema.menu.createSchema`)}),(0,$.jsx)(p5,{}),(0,$.jsx)(f5,{onSelect:()=>{A8.getState().openERD(e),c(`erd_open`),Mt.getState().setActiveQueryTab(e,`erd`)},children:n(`menu.tools.viewErd`)}),(0,$.jsxs)(f5,{onSelect:()=>{K8(`compare_schemas`)&&r(`schema-diff`)},children:[n(`menu.database.compare`),(0,$.jsx)(U8,{})]}),(0,$.jsx)(f5,{onSelect:()=>r(`export-html`),children:n(`menu.export.schemaHtml`)}),(i.users||i.processList||i.variables||i.status)&&(0,$.jsx)(p5,{}),i.users&&(0,$.jsx)(f5,{onSelect:()=>r(`user-manager`),children:n(`menu.tools.userManager`)}),i.processList&&(0,$.jsx)(f5,{onSelect:()=>r(`process-list`),children:n(`menu.tools.processList`)}),i.variables&&(0,$.jsx)(f5,{onSelect:()=>r(`variables`),children:n(`menu.tools.variables`)}),i.status&&(0,$.jsx)(f5,{onSelect:()=>r(`status`),children:n(`menu.tools.status`)})]})}function a3e({connectionId:e,engine:t}){let{t:n}=ie(),r=M8(t);return!t.rootActions?.length&&r.length===0?null:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(p5,{}),r.map(t=>(0,$.jsx)(f5,{onSelect:()=>Y6(e,t.id,n(t.labelKey)),children:n(t.labelKey)},t.id)),r.length>0&&t.rootActions?.length?(0,$.jsx)(p5,{}):null,(t.rootActions??[]).map(t=>(0,$.jsx)(f5,{onSelect:()=>{let r=q6(e,t.command,``,n(t.labelKey));t.run&&wn(e,r)},children:n(t.labelKey)},t.labelKey))]})}var o3e={[Xe.DATABASE]:f6,[Xe.SCHEMA]:v6,[Xe.TABLE]:j6,[Xe.VIEW]:p6,[Xe.COLUMN]:u6,[Xe.INDEX]:a1e,[Xe.PROCEDURE]:k1e,[Xe.FUNCTION]:y1e,[Xe.TRIGGER]:j1e,[Xe.EVENT]:V$e,[Xe.USER]:E1e},s3e={[Xe.DATABASE]:`text-catppuccin-blue`,[Xe.SCHEMA]:`text-catppuccin-sapphire`,[Xe.TABLE]:`text-catppuccin-green`,[Xe.VIEW]:`text-catppuccin-teal`,[Xe.COLUMN]:`text-catppuccin-lavender`,[Xe.INDEX]:`text-catppuccin-yellow`,[Xe.PROCEDURE]:`text-catppuccin-mauve`,[Xe.FUNCTION]:`text-catppuccin-peach`,[Xe.TRIGGER]:`text-catppuccin-red`,[Xe.EVENT]:`text-catppuccin-sky`,[Xe.FOLDER]:`text-catppuccin-overlay1`,[Xe.USER]:`text-catppuccin-teal`};function c3e(e){return e.type===Xe.FOLDER?e.isExpanded?h6:t1e:o3e[e.type]??t1e}function l3e({node:e}){return(0,E.createElement)(c3e(e),{className:h(`h-4 w-4`,d3e(e))})}var u3e=[];function d3e(e){return s3e[e.type]??`text-muted-foreground`}function f3e({node:e,depth:t,connectionId:n}){let{t:r}=ie(),{toggleExpanded:i,setSelected:a,selectedNodeId:o}=Pt(),{loadChildren:s}=yn(),{openNode:c}=Q6(n),l=o[n]===e.id,u=(0,E.useCallback)(()=>{a(n,e.id)},[n,e.id,a]),d=(0,E.useCallback)(()=>{e.isLeaf||(!e.isExpanded&&e.children.length===0?s(n,e):i(n,e.id))},[n,e,i,s]),f=(0,E.useCallback)(()=>{a(n,e.id),c(e)},[n,e,a,c]),p=(0,E.useCallback)(e=>{e.stopPropagation(),d()},[d]);return(0,$.jsx)(e3e,{node:e,connectionId:n,children:(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`div`,{className:h(`flex items-center gap-1 px-2 py-0.5 cursor-pointer select-none text-sm hover:bg-accent rounded-sm`,l&&`bg-accent text-accent-foreground`,e.metadata?.unreachable&&`text-muted-foreground italic`),title:e.metadata?.unreachable?r(`schema.unreachableHint`):void 0,style:{paddingLeft:`${t*16}px`},"data-node-id":e.id,onClick:u,onDoubleClick:f,children:[!e.isLeaf&&(e.isLoading?(0,$.jsx)(b6,{className:`h-3 w-3 animate-spin text-muted-foreground`}):(0,$.jsx)(`span`,{className:`-m-1 flex items-center p-1`,onClick:p,onDoubleClick:e=>e.stopPropagation(),children:(0,$.jsx)(a6,{className:h(`h-3 w-3 transition-transform`,e.isExpanded&&`rotate-90`)})})),e.isLeaf&&(0,$.jsx)(`span`,{className:`w-3`}),(0,$.jsx)(l3e,{node:e}),(0,$.jsx)(`span`,{className:`truncate`,children:e.text}),e.type===Xe.FOLDER&&typeof e.metadata?.count==`number`&&(0,$.jsxs)(`span`,{className:`ml-1 text-xs text-muted-foreground tabular-nums`,children:[`(`,e.metadata.count,`)`]})]}),e.isExpanded&&e.children.map(e=>(0,$.jsx)(f3e,{node:e,depth:t+1,connectionId:n},e.id))]})})}function p3e(e,t=[]){for(let n of e)t.push(n),n.isExpanded&&n.children.length>0&&p3e(n.children,t);return t}function m3e(e,t,n=null){for(let r of e){if(r.id===t)return n;let e=m3e(r.children,t,r);if(e)return e}return null}function h3e({connectionId:e}){let{t}=ie(),{trees:n,selectedNodeId:r,setSelected:i,setExpanded:a}=Pt(),{loadDatabases:o,loadChildren:s,findNode:c}=yn(),{openNode:l}=Q6(e),u=(0,E.useRef)(null),d=n[e]??u3e,f=r[e]??null,p=ct(t=>t.pendingReopen[e]??!1);(0,E.useEffect)(()=>{!n[e]&&!p&&o(e)},[e,n,o,p]);let m=(0,E.useRef)(null);(0,E.useEffect)(()=>{if(!n[e]||m.current===e)return;m.current=e;let t=[...Pt.getState().expandedIds[e]??[]].sort((e,t)=>e.split(`/`).length-t.split(`/`).length);t.length!==0&&(async()=>{for(let n of t){let t=Pt.getState().trees[e],r=t?c(t,n):null;r&&(r.children.length===0&&!r.isLeaf?await s(e,r):a(e,n,!0))}let n=Pt.getState().selectedNodeId[e];n&&requestAnimationFrame(()=>{u.current?.querySelector(`[data-node-id="${CSS.escape(n)}"]`)?.scrollIntoView({block:`center`})})})()},[e,n,s,a,c]),(0,E.useEffect)(()=>{!f||!u.current||u.current.querySelector(`[data-node-id="${CSS.escape(f)}"]`)?.scrollIntoView({block:`nearest`})},[f]);let h=(0,E.useCallback)(t=>{let n=p3e(d);if(n.length===0)return;let r=n.findIndex(e=>e.id===f),o=r>=0?n[r]:null,c=t=>{t&&i(e,t.id)};switch(t.key){case`ArrowDown`:t.preventDefault(),c(r<0?n[0]:n[Math.min(r+1,n.length-1)]);break;case`ArrowUp`:t.preventDefault(),c(r<0?n[0]:n[Math.max(r-1,0)]);break;case`Home`:t.preventDefault(),c(n[0]);break;case`End`:t.preventDefault(),c(n[n.length-1]);break;case`ArrowRight`:if(!o||o.isLeaf)return;t.preventDefault(),o.isExpanded?c(o.children[0]):o.children.length===0?s(e,o):a(e,o.id,!0);break;case`ArrowLeft`:if(!o)return;if(t.preventDefault(),!o.isLeaf&&o.isExpanded)a(e,o.id,!1);else{let e=m3e(d,o.id);e&&c(e)}break;case`Enter`:if(!o)return;t.preventDefault(),t.metaKey||t.ctrlKey||o.isLeaf?l(o):!o.isExpanded&&o.children.length===0?s(e,o):a(e,o.id,!o.isExpanded)}},[d,f,e,i,a,s,l]);return(0,$.jsxs)(l5,{children:[(0,$.jsx)(u5,{asChild:!0,children:(0,$.jsx)(F6,{className:`h-full`,children:(0,$.jsx)(`div`,{ref:u,className:`py-1 outline-none`,tabIndex:0,role:`tree`,"aria-label":t(`schema.treeLabel`),onKeyDown:h,children:d.map(t=>(0,$.jsx)(f3e,{node:t,depth:0,connectionId:e},t.id))})})}),(0,$.jsx)(d5,{children:(0,$.jsx)(r3e,{connectionId:e})})]})}function m5({className:e,orientation:t=`horizontal`,...n}){return(0,$.jsx)(QQe,{"data-slot":`tabs`,"data-orientation":t,orientation:t,className:h(`group/tabs flex gap-2 data-[orientation=horizontal]:flex-col`,e),...n})}var g3e=v(`group/tabs-list inline-flex w-fit items-center justify-center rounded-lg p-[3px] text-muted-foreground group-data-[orientation=horizontal]/tabs:h-9 group-data-[orientation=vertical]/tabs:h-fit group-data-[orientation=vertical]/tabs:flex-col data-[variant=line]:rounded-none`,{variants:{variant:{default:`bg-muted`,line:`gap-1 bg-transparent`}},defaultVariants:{variant:`default`}});function h5({className:e,variant:t=`default`,...n}){return(0,$.jsx)($Qe,{"data-slot":`tabs-list`,"data-variant":t,className:h(g3e({variant:t}),e),...n})}function g5({className:e,...t}){return(0,$.jsx)(e$e,{"data-slot":`tabs-trigger`,className:h(`relative inline-flex h-[calc(100%-1px)] items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap text-foreground/60 transition-all group-data-[orientation=vertical]/tabs:w-full group-data-[orientation=vertical]/tabs:justify-start hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 group-data-[variant=default]/tabs-list:data-[state=active]:shadow-sm group-data-[variant=line]/tabs-list:data-[state=active]:shadow-none dark:text-muted-foreground dark:hover:text-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,`group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:border-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent`,`data-[state=active]:bg-background data-[state=active]:text-foreground dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 dark:data-[state=active]:text-foreground`,`after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-[orientation=horizontal]/tabs:after:inset-x-0 group-data-[orientation=horizontal]/tabs:after:bottom-[-5px] group-data-[orientation=horizontal]/tabs:after:h-0.5 group-data-[orientation=vertical]/tabs:after:inset-y-0 group-data-[orientation=vertical]/tabs:after:-right-1 group-data-[orientation=vertical]/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-[state=active]:after:opacity-100`,e),...t})}function _5({className:e,...t}){return(0,$.jsx)(t$e,{"data-slot":`tabs-content`,className:h(`flex-1 outline-none`,e),...t})}function _3e(e,t){(0,E.useEffect)(()=>{let t=e.current;if(!t)return;let n=e=>{e.deltaY===0||e.shiftKey||t.scrollWidth<=t.clientWidth||(e.preventDefault(),t.scrollLeft+=e.deltaY)};return t.addEventListener(`wheel`,n,{passive:!1}),()=>t.removeEventListener(`wheel`,n)},[e]),(0,E.useEffect)(()=>{(e.current?.querySelector(`[role="tab"][aria-selected="true"]`))?.scrollIntoView({block:`nearest`,inline:`nearest`})},[e,t])}var v3e=new Set;function y3e(e){let t=parseInt(e.slice(1,3),16),n=parseInt(e.slice(3,5),16),r=parseInt(e.slice(5,7),16);return(.299*t+.587*n+.114*r)/255<.5}var v5=(e,t)=>e+Math.round(t*255).toString(16).padStart(2,`0`);function b3e(e){let t=e.foreground.slice(1);return[{token:``,foreground:t},{token:`keyword`,foreground:e.blue.slice(1),fontStyle:`bold`},{token:`operator`,foreground:e.sky.slice(1)},{token:`predefined`,foreground:e.mauve.slice(1)},{token:`identifier`,foreground:t},{token:`string`,foreground:e.green.slice(1)},{token:`string.escape`,foreground:e.teal.slice(1)},{token:`number`,foreground:e.peach.slice(1)},{token:`comment`,foreground:e.overlay0.slice(1),fontStyle:`italic`},{token:`delimiter`,foreground:e.overlay1.slice(1)},{token:`type`,foreground:e.teal.slice(1)}]}function x3e(e,t){return{"editor.background":e.background,"editor.foreground":e.foreground,"editorGutter.background":e.background,"editorLineNumber.foreground":e.overlay0,"editorLineNumber.activeForeground":e.foreground,"editorCursor.foreground":e.foreground,"editor.lineHighlightBackground":v5(e.surface0,t?.6:.8),"editor.lineHighlightBorder":`#00000000`,"editor.selectionBackground":v5(e.blue,t?.3:.22),"editor.inactiveSelectionBackground":v5(e.blue,.12),"editor.selectionHighlightBackground":v5(e.blue,.14),"editor.wordHighlightBackground":v5(e.surface2,.5),"editor.findMatchBackground":v5(e.yellow,.45),"editor.findMatchHighlightBackground":v5(e.yellow,.22),"editorBracketMatch.background":v5(e.surface1,.8),"editorBracketMatch.border":e.overlay0,"editorIndentGuide.background1":e.surface1,"editorIndentGuide.activeBackground1":e.surface2,"editorWhitespace.foreground":e.surface2,"editorWidget.background":e.card,"editorWidget.border":e.border,"editorSuggestWidget.background":e.card,"editorSuggestWidget.border":e.border,"editorSuggestWidget.foreground":e.foreground,"editorSuggestWidget.selectedBackground":e.surface1,"editorSuggestWidget.selectedForeground":e.foreground,"editorSuggestWidget.highlightForeground":e.blue,"editorHoverWidget.background":e.card,"editorHoverWidget.border":e.border,"editorError.foreground":e.red,"editorWarning.foreground":e.yellow,"editorInfo.foreground":e.sky,"scrollbarSlider.background":v5(e.scrollThumb,.6),"scrollbarSlider.hoverBackground":v5(e.scrollThumbHover,.8),"scrollbarSlider.activeBackground":v5(e.scrollThumbHover,.9),"scrollbar.shadow":`#00000000`,"minimap.background":e.background,"diffEditor.insertedTextBackground":v5(e.green,.2),"diffEditor.removedTextBackground":v5(e.red,.2),"diffEditor.insertedLineBackground":v5(e.green,.1),"diffEditor.removedLineBackground":v5(e.red,.1),"diffEditor.diagonalFill":v5(e.surface1,.6),"input.background":e.input,"input.foreground":e.foreground,"input.border":e.border,focusBorder:e.ring,"widget.shadow":v5(e.crust,t?.6:.35)}}function S3e(e){let t=`planche-${e}`;if(!v3e.has(e)){let n=S2e(e).colors,r=y3e(n.background);rU.defineTheme(t,{base:r?`vs-dark`:`vs`,inherit:!0,rules:b3e(n),colors:x3e(n,r)}),v3e.add(e)}return t}function C3e(e){let t=[];return pn(e,e=>{(e.type===Xe.DATABASE||e.type===Xe.SCHEMA)&&e.metadata?.database&&t.push(e.metadata.database)}),t}function y5(e,t){let n=[];return pn(e,e=>{if(e.type!==Xe.TABLE&&e.type!==Xe.VIEW)return;let r=e.metadata?.database??``;t&&r!==t||n.push({name:e.text,database:r})}),n}function w3e(e,t,n){let r=[];return pn(e,e=>{if(e.type!==Xe.COLUMN)return;let i=e.metadata?.database??``,a=e.metadata?.table??``;t&&i!==t||n&&a!==n||r.push({name:e.metadata?.column??e.text,table:a,database:i})}),r}function T3e(e,t){let n=[];return pn(e,e=>{if(e.type!==Xe.PROCEDURE&&e.type!==Xe.FUNCTION)return;let r=e.metadata?.database??``;t&&r!==t||n.push({name:e.text,database:r})}),n}function E3e(e){let t=Mt.getState(),n=t.tabs[e],r=t.activeTabId[e];return!n||!r?``:n.find(e=>e.id===r)?.database||``}function D3e(e,t,n){let r=e.getWordUntilPosition(t);return new n.Range(t.lineNumber,r.startColumn,t.lineNumber,t.column)}var b5=200;function O3e(e,t){let n=e,r=n.languages.CompletionItemKind,i=n.languages.CompletionItemInsertTextRule,a=rn(t),o=a.getReservedWords().map(e=>({label:e,kind:r.Keyword,insertText:e,detail:`keyword`,sortText:`3`+e})),s=a.getFunctions().map(e=>({label:e,kind:r.Function,insertText:e+`($0)`,insertTextRules:i.InsertAsSnippet,detail:`function`,sortText:`4`+e})),c=a.getDataTypes().map(e=>({label:e.toUpperCase(),kind:r.TypeParameter,insertText:e.toUpperCase(),detail:`data type`,sortText:`5`+e})),l=[...o,...s,...c];function u(e){let n=Pt.getState().trees[t]??[];return{dbSuggestions:C3e(n).map(e=>({label:e,kind:r.Module,insertText:e,detail:`database`,sortText:`2`+e})),tableSuggestions:y5(n).map(t=>({label:t.name,kind:r.Struct,insertText:t.name,detail:`table - ${t.database}`,sortText:(t.database===e?`1`:`6`)+t.name})),columnSuggestions:w3e(n,e||void 0).map(e=>({label:e.name,kind:r.Field,insertText:e.name,detail:`column - ${e.table}`,sortText:`0`+e.name})),routineSuggestions:T3e(n).map(e=>({label:e.name,kind:r.Method,insertText:e.name,detail:`routine - ${e.database}`,sortText:`4`+e.name}))}}function d(e,n){let i=Pt.getState().trees[t]??[];if(C3e(i).includes(e))return y5(i,e).map(e=>({label:e.name,kind:r.Struct,insertText:e.name,detail:`table - ${e.database}`,sortText:`1`+e.name}));let a=y5(i,n||void 0).find(t=>t.name===e);return a?w3e(i,a.database,a.name).map(e=>({label:e.name,kind:r.Field,insertText:e.name,detail:`column - ${e.table}`,sortText:`0`+e.name})):null}return n.languages.registerCompletionItemProvider(`sql`,{triggerCharacters:[`.`,` `],provideCompletionItems(e,r){let i=e.getValueInRange({startLineNumber:r.lineNumber,startColumn:1,endLineNumber:r.lineNumber,endColumn:r.column}),a=D3e(e,r,n),c=E3e(t),f=i.match(/(\w+)\.(\w*)$/);if(f){let e=f[1],t=d(e,c);if(t){let e=r.column-(f[2]?.length??0),i=new n.Range(r.lineNumber,e,r.lineNumber,r.column);return{suggestions:t.slice(0,b5).map(e=>({...e,range:i}))}}}let{dbSuggestions:p,tableSuggestions:m,columnSuggestions:h,routineSuggestions:g}=u(c);return/\bUSE\s+\w*$/i.test(i)?{suggestions:p.map(e=>({...e,range:a}))}:/\b(FROM|JOIN|INNER\s+JOIN|LEFT\s+JOIN|RIGHT\s+JOIN|CROSS\s+JOIN|LEFT\s+OUTER\s+JOIN|RIGHT\s+OUTER\s+JOIN|NATURAL\s+JOIN|INTO|UPDATE|TABLE)\s+\w*$/i.test(i)?{suggestions:[...m,...p].slice(0,b5).map(e=>({...e,range:a}))}:/\b(SELECT|WHERE|AND|OR|ON|SET|ORDER\s+BY|GROUP\s+BY|HAVING)\s+\w*$/i.test(i)||/,\s*\w*$/.test(i)?{suggestions:[...h,...m,...s.map(e=>({...e,range:a})),...o.map(e=>({...e,range:a}))].slice(0,b5).map(e=>({...e,range:a}))}:{suggestions:[...h,...m,...p,...g,...l].slice(0,b5).map(e=>({...e,range:a}))}}})}var k3e={id:`sql`,ensureRegistered:()=>{},registerCompletion:O3e,actions:[`explain`,`structure`]};function A3e(e){return{ignoreCase:!0,commands:e.map(e=>e.toLowerCase()),tokenizer:{root:[[/^\s*(#|\/\/).*$/,`comment`],[/^\s*[A-Za-z][\w.]*/,{cases:{"@commands":`keyword`,"@default":`identifier`}}],[/"/,{token:`string.quote`,next:`@dstring`}],[/'/,{token:`string.quote`,next:`@sstring`}],[/-?\d+(\.\d+)?\b/,`number`],[/[^\s"']+/,``]],dstring:[[/\\x[0-9a-fA-F]{2}|\\./,`string.escape`],[/[^"\\]+/,`string`],[/"/,{token:`string.quote`,next:`@pop`}]],sstring:[[/\\'/,`string.escape`],[/[^'\\]+/,`string`],[/'/,{token:`string.quote`,next:`@pop`}]]}}}function j3e(e){let t=[];return pn(Pt.getState().trees[e]??[],e=>{let n=e.metadata?.key;typeof n==`string`&&t.push(n)}),t}function M3e(e){return{id:e.language,ensureRegistered(t){t.languages.getLanguages().some(t=>t.id===e.language)||(t.languages.register({id:e.language}),t.languages.setMonarchTokensProvider(e.language,A3e(e.commands)),t.languages.setLanguageConfiguration(e.language,{comments:{lineComment:`#`},autoClosingPairs:[{open:`"`,close:`"`},{open:`'`,close:`'`}]}))},registerCompletion(t,n){let r=t.languages.CompletionItemKind;return t.languages.registerCompletionItemProvider(e.language,{provideCompletionItems(t,i){let a=t.getWordUntilPosition(i),o={startLineNumber:i.lineNumber,endLineNumber:i.lineNumber,startColumn:a.startColumn,endColumn:a.endColumn},s=t.getLineContent(i.lineNumber).slice(0,i.column-1);return/^\s*\S*$/.test(s)?{suggestions:e.commands.map(e=>({label:e,kind:r.Keyword,insertText:e,range:o}))}:{suggestions:[...(e.arguments??[]).map(e=>({label:e,kind:r.Module,insertText:e,range:o})),...j3e(n).slice(0,500).map(e=>({label:e,kind:r.Field,insertText:e,range:o}))]}}})},actions:[]}}var N3e=new WeakMap;function P3e(e){if(Ue(e))return k3e;let t=N3e.get(e);return t||(t=M3e(e.console),N3e.set(e,t)),t}function F3e({connectionId:e,tabId:t}){let{t:n}=ie(),r=(0,E.useRef)(null),i=(0,E.useRef)(null),a=S3e(j8(e=>e.themeId)),o=Mt(t=>t.tabs[e]??Nt),s=Mt(e=>e.setEditorContent),c=o.find(e=>e.id===t)?.query??``,l=pt(e=>e.warnInEditor),u=ct(t=>t.activeConnections.find(t=>t.id===e)?.readOnly??!1),d=P3e(H6(e)),f=(0,E.useRef)(null),p=(0,E.useRef)(null),m=(0,E.useCallback)(t=>{let i=f.current,a=r.current?.getModel();if(!i||!a)return;if(!l){i.editor.setModelMarkers(a,`planche-safety`,[]);return}let o=[],s=[];try{s=Sn(nn(e)).statements(t)}catch{}for(let e of s){let t=[];if(e.dataLoss&&t.push(n(`query.editor.destructiveMarker`,{what:e.dataLoss})),u&&!e.readOnly&&t.push(n(`query.editor.readOnlyMarker`)),t.length===0)continue;let r=a.getPositionAt(e.start),s=a.getPositionAt(e.start+e.text.length);o.push({severity:i.MarkerSeverity.Warning,message:t.join(`
925
925
  `),startLineNumber:r.lineNumber,startColumn:r.column,endLineNumber:s.lineNumber,endColumn:s.column})}i.editor.setModelMarkers(a,`planche-safety`,o)},[e,u,l,n]);(0,E.useEffect)(()=>(p.current&&clearTimeout(p.current),p.current=setTimeout(()=>m(c),300),()=>{p.current&&clearTimeout(p.current)}),[c,m]);let h=(0,E.useCallback)(n=>{s(e,t,n??``)},[e,t,s]),g=(0,E.useCallback)(()=>wn(e,t),[e,t]),_=(0,E.useCallback)(()=>{let n=Dn(e,t);return n?wn(e,t,{sql:n}):Promise.resolve()},[e,t]),v=(0,E.useCallback)(()=>D8(e,t),[e,t]),y=(0,E.useCallback)(()=>K1e(e,t),[e,t]),b=(0,E.useCallback)(()=>pt.getState().executeScope===`statement`?_():g(),[_,g]),x=(0,E.useRef)(null);(0,E.useEffect)(()=>()=>{i.current?.dispose(),x.current?.()},[]);let S=(0,E.useCallback)((a,o)=>{r.current=a,f.current=o,x.current?.(),x.current=an(e,t,a),i.current?.dispose(),i.current=d.registerCompletion(o,e),a.addAction({id:`execute-query`,label:n(`query.editor.actionExecute`),keybindings:[o.KeyCode.F9],contextMenuGroupId:`navigation`,contextMenuOrder:1,run:()=>{b()}}),a.addAction({id:`execute-statement`,label:n(`query.editor.actionExecuteStatement`),keybindings:[o.KeyMod.CtrlCmd|o.KeyCode.Enter],contextMenuGroupId:`navigation`,contextMenuOrder:2,run:()=>{_()}}),a.addAction({id:`execute-script`,label:n(`query.editor.actionExecuteScript`),keybindings:[o.KeyMod.CtrlCmd|o.KeyMod.Shift|o.KeyCode.Enter],contextMenuGroupId:`navigation`,contextMenuOrder:3,run:()=>{g()}}),d.actions.includes(`explain`)&&a.addAction({id:`explain-plan`,label:n(`query.editor.actionExplainPlan`),keybindings:[o.KeyMod.CtrlCmd|o.KeyMod.Shift|o.KeyCode.KeyE],contextMenuGroupId:`navigation`,contextMenuOrder:4,run:()=>{y()}}),d.actions.includes(`structure`)&&a.addAction({id:`query-structure`,label:n(`query.editor.actionQueryStructure`),keybindings:[o.KeyMod.CtrlCmd|o.KeyMod.Shift|o.KeyCode.KeyG],contextMenuGroupId:`navigation`,contextMenuOrder:5,run:()=>{v()}}),m(a.getValue()),a.focus()},[e,t,d,b,_,g,y,v,m,n]);return(0,$.jsx)(`div`,{className:`h-full w-full`,children:(0,$.jsx)(NKe,{language:d.id,beforeMount:d.ensureRegistered,theme:a,value:c,onChange:h,onMount:S,options:{minimap:{enabled:!1},fontSize:13,lineNumbers:`on`,wordWrap:`on`,automaticLayout:!0,scrollBeyondLastLine:!1}})})}function I3e({connectionId:e,running:t}){let{t:n}=ie(),[r,i]=(0,E.useState)(0),[a,o]=(0,E.useState)(!1),[s,c]=(0,E.useState)(null);if((0,E.useEffect)(()=>{if(!t){i(0),o(!1),c(null);return}let e=Date.now(),n=setInterval(()=>i(Math.floor((Date.now()-e)/1e3)),250);return()=>clearInterval(n)},[t]),!t)return null;async function l(){o(!0),c(null);let t=Gt(await Xt(e));t&&(c(t),jt.getState().setFooterMessage(t),o(!1))}return(0,$.jsx)(`div`,{className:`absolute inset-0 z-20 flex items-center justify-center bg-background/70 backdrop-blur-[1px]`,children:(0,$.jsxs)(`div`,{className:`max-w-md rounded-md border bg-background px-4 py-3 shadow-lg`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,$.jsx)(b6,{className:`size-4 shrink-0 animate-spin text-muted-foreground`}),(0,$.jsxs)(`span`,{className:`text-sm tabular-nums`,children:[n(`result.running.label`),r>0&&(0,$.jsx)(`span`,{className:`ml-1.5 text-muted-foreground`,children:n(`result.running.elapsed`,{seconds:r})})]}),(0,$.jsxs)(`button`,{type:`button`,onClick:()=>void l(),disabled:a,className:`flex items-center gap-1.5 rounded border border-destructive/50 px-2 py-1 text-xs text-destructive hover:bg-destructive/10 disabled:opacity-50`,title:n(`result.running.stop`),children:[(0,$.jsx)(A6,{className:`size-3 fill-current`}),n(a?`result.running.stopping`:`result.running.stop`)]})]}),s&&(0,$.jsx)(`p`,{className:`mt-2 text-xs leading-relaxed text-destructive`,children:s})]})})}var L3e=60;function R3e(e,t){return e.replace(/\{\{(\w+)\}\}/g,(e,n)=>t[n]??``)}function z3e(e){return e.length===0?`The schema of the tables it reads could not be resolved.`:[`Tables this statement reads:`,...e.map(e=>`- ${e.name}(${e.columns.join(`, `)})`)].join(`
926
926
  `)}function B3e(e){let t=e.indexOf(`{`),n=t>=0?e.slice(t,e.lastIndexOf(`}`)+1):e,r;try{r=JSON.parse(n)}catch{throw Error(S.t(`result.ai.badShape`))}let i=typeof r.explanation==`string`?r.explanation.trim():``;if(!i)throw Error(S.t(`result.ai.badShape`));return{explanation:i,fix:typeof r.fix==`string`?r.fix.trim():``}}var x5=null;async function V3e(){if(x5!==null)return x5;try{x5=(await wt()).configured}catch{x5=!1}return x5}function H3e(){x5=null}var S5=class extends Error{};async function U3e(e,t){if(!K8(`ai_explain`))throw new S5(``);let n=await eee(e,t);if(!n)throw new S5(S.t(`result.ai.noFailure`));let r=I1e,i=[...n.tables].map(([e,t])=>({name:e,columns:t.slice(0,L3e).map(e=>`${e.name} ${e.type}`)})),a=R3e(r.template,{engine:n.engine.label,error:n.message,statement:it(n.sql),schema:z3e(i),language:S.language}),o=await gt({system:r.system,user:a}),s=B3e(o.text);return et(`ai_explain`),c(`ai_explain`,{kind:`error`,dbms:n.engine.id,has_fix:s.fix.length>0,tables:i.length}),{...s,model:o.model}}var W3e=80;function G3e(e){let t=[e.analyzed?`Measured run (ANALYZE).`:`Planner estimates only; this was not executed.`],n=W3e,r=(e,i)=>{if(n--<=0)return;let a=[];e.object&&a.push(`on ${e.object}`),e.rows!==null&&a.push(`est ${e.rows} rows`),e.actualRows!==null&&a.push(`actual ${e.actualRows} rows`),e.cost!==null&&a.push(`cost ${e.cost}`),e.timeMs!==null&&a.push(`${e.timeMs} ms`),e.warnings.length>0&&a.push(`warnings: ${e.warnings.join(`, `)}`),t.push(`${` `.repeat(i)}- ${e.label}${a.length?` (${a.join(`; `)})`:``}`);for(let t of e.children)r(t,i+1)};for(let t of e.roots)r(t,0);return n<=0&&t.push(`… plan truncated.`),t.join(`
927
927
  `)}function K3e(e){return e.length===0?`The indexes on these tables could not be read.`:[`Indexes that already exist:`,...e.map(e=>e.indexes.length>0?`- ${e.name}: ${e.indexes.join(`; `)}`:`- ${e.name}: none`)].join(`
@@ -940,7 +940,7 @@ WHERE`).replace(/\s+;$/,`;`),s,S.t(`query.tabs.queryTitle`,{n:(Mt.getState().tab
940
940
  `));break;case`json`:sn(JSON.stringify(n.map(e=>Object.fromEntries(e)),null,2));break;case`insert`:{if(!nn)return;let e=r.map(e=>Oe().quoteIdentifier(e)).join(`, `);sn(n.map(t=>`INSERT INTO ${Oe().qualify(nn.database,nn.table)} (${e}) VALUES (${t.map(([,e])=>Oe().quoteLiteral(e)).join(`, `)});`).join(`
941
941
  `))}}},[an,nn,Oe]),dn=(0,E.useCallback)(async t=>{if(!Ve)return;let n=Ve.fields.filter(e=>!V6(e.name)),i=t.map(e=>Object.fromEntries(an(e))),a=ct.getState().activeConnections.find(t=>t.id===e);try{let{connectionId:e,table:t}=await A2e({table:nn?.table??`result`,fields:n,rows:i,sourceDbms:a?.dbms??`unknown`});jt.getState().setFooterMessage(r(`result.grid.sentToScratchpad`,{count:i.length,table:t})),K6(e,`main`,t)}catch(e){e instanceof vn||jt.getState().setFooterMessage(e instanceof Error?e.message:String(e))}},[Ve,an,e,nn,r]),fn=(0,E.useCallback)((e,t)=>{t!=null&&(h(e),_(String(t)),y(`equals`),Vt({field:e,value:String(t),mode:`equals`}))},[Vt]),pn=(0,E.useCallback)(e=>{if(e>=lt){At(new Set([e]));return}Ce(t=>new Set(t).add(e)),Ae(null)},[lt,At]),mn=(0,E.useCallback)((t,n)=>{n!=null&&n0e(t.targetConnectionId??e,t.targetDatabase,t.targetTable,t.targetColumn,String(n))},[e]),gn=(0,E.useMemo)(()=>Ve?new Map(Ve.fields.map(e=>[e.name,e.type])):new Map,[Ve]),_n=(0,E.useMemo)(()=>!Ve||Ve.fields.length===0?[]:Ve.fields.filter(e=>!V6(e.name)).map(e=>bet.accessor(t=>t[e.name],{id:e.name,header:e.name,cell:e=>{let t=e.getValue();if(t===null)return(0,$.jsx)(`span`,{className:`text-muted-foreground italic`,children:`NULL`});let n=l7(t);return n===null?g9(t)?(0,$.jsx)(vet,{value:t}):String(t):(0,$.jsx)(het,{value:n.document,jsonString:n.jsonString})}})),[Ve]),yn=mt,bn=J6e({data:yn,columns:_n,state:{sorting:o,columnVisibility:f},onSortingChange:s,onColumnVisibilityChange:p,getCoreRowModel:H6e(),getSortedRowModel:U6e()}),{rows:xn}=bn.getRowModel(),Sn=p8e({count:xn.length,getScrollElement:()=>a.current,estimateSize:()=>32,overscan:20});if(!He)return(0,$.jsx)(`div`,{className:`flex h-full items-center justify-center text-sm text-muted-foreground`,children:r(`result.grid.noData`)});let Cn=Ve.fields.filter(e=>!V6(e.name)).map(e=>e.name),wn=yn.length===0,Tn=bn.getVisibleLeafColumns().length,En=Cn.length-Tn,Dn=40+bn.getVisibleLeafColumns().reduce((e,t)=>e+Xe(t.id),0);return(0,$.jsxs)(`div`,{className:`relative flex h-full flex-col`,children:[(0,$.jsxs)(`div`,{className:`flex flex-shrink-0 flex-wrap items-center gap-2 border-b bg-muted/30 px-3 py-1.5`,children:[(qe||Ke)&&(0,$.jsx)(`span`,{className:`text-xs font-medium text-muted-foreground`,children:qe?`${qe.database}.${qe.table}`:Ke?`${Ke.database}.${Ke.table}`:``}),ot&&(0,$.jsx)(`span`,{className:`rounded border border-catppuccin-yellow/50 px-1.5 py-px text-[10px] font-medium uppercase text-catppuccin-yellow`,title:ot,children:ot}),(qe||Ke)&&(0,$.jsx)(`div`,{className:`mx-1 h-4 w-px bg-border`}),st&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`button`,{type:`button`,className:`flex h-7 items-center gap-1 rounded border px-2 text-xs disabled:opacity-40 bg-primary/10 text-primary border-primary/30 hover:bg-primary/20 disabled:hover:bg-primary/10`,onClick:()=>void Gt(),disabled:!ft||Fe,children:[Le?(0,$.jsx)(E6,{className:`size-3 animate-spin`}):(0,$.jsx)(r6,{className:`size-3`}),r(`result.grid.commit`),Le&&Le.total>1&&(0,$.jsxs)(`span`,{className:`tabular-nums`,children:[Le.done,`/`,Le.total]})]}),(0,$.jsxs)(`button`,{type:`button`,className:`flex h-7 items-center gap-1 rounded border bg-background px-2 text-xs text-muted-foreground hover:text-foreground disabled:opacity-40 disabled:hover:text-muted-foreground`,onClick:Dt,disabled:!ft,children:[(0,$.jsx)(P6,{className:`size-3`}),r(`result.grid.discard`)]}),(0,$.jsx)(`div`,{className:`mx-1 h-4 w-px bg-border`}),!rt&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(e6,{children:[(0,$.jsx)(t6,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,className:`flex h-7 items-center rounded border bg-background px-1.5 text-xs text-muted-foreground hover:text-foreground disabled:opacity-40`,onClick:kt,disabled:Fe,"aria-label":r(`result.grid.addRow`),children:(0,$.jsx)(T6,{className:`size-3.5`})})}),(0,$.jsx)(n6,{side:`bottom`,children:r(`result.grid.addRowHint`)})]}),(0,$.jsxs)(e6,{children:[(0,$.jsx)(t6,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,className:`flex h-7 items-center rounded border bg-background px-1.5 text-xs text-muted-foreground hover:text-foreground disabled:opacity-40`,onClick:()=>Kt(`insert`),disabled:Fe,"aria-label":r(`result.grid.addRowForm`),children:(0,$.jsx)(p1e,{className:`size-3.5`})})}),(0,$.jsx)(n6,{side:`bottom`,children:r(`result.grid.addRowFormHint`)})]})]}),(0,$.jsxs)(`button`,{type:`button`,className:`flex h-7 items-center gap-1 rounded border bg-background px-2 text-xs text-muted-foreground hover:text-destructive disabled:opacity-40 disabled:hover:text-muted-foreground`,onClick:Ft,disabled:we.size===0||Fe,title:r(`result.grid.deleteHint`),children:[(0,$.jsx)(M6,{className:`size-3`}),we.size>0?r(`result.grid.deleteCount`,{count:we.size}):r(`result.grid.delete`)]})]}),Ke&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`mx-1 h-4 w-px bg-border`}),(0,$.jsxs)(e6,{children:[(0,$.jsx)(t6,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,className:`flex h-7 items-center rounded border bg-background px-1.5 text-xs text-muted-foreground hover:text-foreground disabled:opacity-50`,onClick:Qt,disabled:fe,"aria-label":r(`result.grid.refresh`),children:(0,$.jsx)(E6,{className:`size-3.5 ${fe?`animate-spin`:``}`})})}),(0,$.jsx)(n6,{side:`bottom`,children:r(`result.grid.refresh`)})]}),_e>0&&(me>0||ut)&&(0,$.jsxs)(`span`,{className:`flex items-center gap-1 text-xs text-muted-foreground`,children:[(0,$.jsx)(`button`,{type:`button`,className:`flex h-7 items-center rounded border bg-background px-1.5 hover:text-foreground disabled:opacity-40 disabled:hover:text-muted-foreground`,onClick:()=>Ht(0),disabled:me===0||fe||ft,title:r(ft?`result.grid.pagingBlocked`:`result.grid.firstPage`),children:(0,$.jsx)(G$e,{className:`size-3.5`})}),(0,$.jsx)(`button`,{type:`button`,className:`flex h-7 items-center rounded border bg-background px-1.5 hover:text-foreground disabled:opacity-40 disabled:hover:text-muted-foreground`,onClick:()=>Ht(me-1),disabled:me===0||fe||ft,title:r(ft?`result.grid.pagingBlocked`:`result.grid.prevPage`),children:(0,$.jsx)(U$e,{className:`size-3.5`})}),(0,$.jsx)(`span`,{className:`tabular-nums`,children:r(`result.grid.pageRange`,{from:me*_e+ +(lt>0),to:me*_e+lt})}),(0,$.jsx)(`button`,{type:`button`,className:`flex h-7 items-center rounded border bg-background px-1.5 hover:text-foreground disabled:opacity-40 disabled:hover:text-muted-foreground`,onClick:()=>Ht(me+1),disabled:!ut||fe||ft,title:r(ft?`result.grid.pagingBlocked`:`result.grid.nextPage`),children:(0,$.jsx)(a6,{className:`size-3.5`})}),(0,$.jsx)(`button`,{type:`button`,className:`flex h-7 items-center rounded border bg-background px-1.5 hover:text-foreground disabled:opacity-40 disabled:hover:text-muted-foreground`,onClick:()=>void Bt(),disabled:!ut||fe||ft,title:r(ft?`result.grid.pagingBlocked`:`result.grid.lastPage`),children:(0,$.jsx)(K$e,{className:`size-3.5`})})]}),T8e(b)&&(0,$.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,$.jsx)(`button`,{type:`button`,className:`flex h-7 items-center gap-1 rounded border px-2 text-xs ${S?`border-amber-500/50 bg-amber-500/10 text-amber-700 dark:text-amber-300`:`text-muted-foreground`}`,title:r(`result.grid.changesToggle`),onClick:()=>C(e=>!e),children:r(`result.grid.changesSince`,{changed:b.changedCount,added:b.newRows.size,gone:b.goneCount})}),(0,$.jsx)(`button`,{type:`button`,className:`flex h-7 items-center rounded border bg-background px-1.5 text-muted-foreground hover:text-foreground`,title:r(`result.grid.changesDismiss`),onClick:()=>x(null),children:(0,$.jsx)(ue,{className:`size-3.5`})})]})]}),(0,$.jsxs)(g7,{children:[(0,$.jsx)(_7,{asChild:!0,children:(0,$.jsxs)(`button`,{type:`button`,className:`ml-auto flex h-7 items-center gap-1 rounded border bg-background px-2 text-xs hover:text-foreground ${En>0?`text-primary border-primary/30`:`text-muted-foreground`}`,title:r(`result.grid.columns`),children:[(0,$.jsx)(u6,{className:`size-3.5`}),En>0?`${Tn}/${Cn.length}`:r(`result.grid.columns`)]})}),(0,$.jsxs)(v7,{align:`end`,className:`w-56 p-2`,children:[(0,$.jsxs)(`div`,{className:`mb-1 flex items-center justify-between gap-2 border-b pb-1.5`,children:[(0,$.jsx)(`button`,{type:`button`,className:`text-xs text-primary hover:underline disabled:opacity-40 disabled:no-underline`,onClick:()=>bn.toggleAllColumnsVisible(!0),disabled:En===0,children:r(`result.grid.showAllColumns`)}),(0,$.jsx)(`button`,{type:`button`,className:`text-xs text-primary hover:underline disabled:opacity-40 disabled:no-underline`,onClick:()=>bn.toggleAllColumnsVisible(!1),disabled:Tn===0,children:r(`result.grid.hideAllColumns`)}),(0,$.jsx)(`button`,{type:`button`,className:`text-xs text-primary hover:underline disabled:opacity-40 disabled:no-underline`,onClick:()=>{d({}),Je&&h7.getState().resetColumnWidths(Je)},disabled:Object.keys(u).length===0&&Object.keys(Ye).length===0,children:r(`result.grid.resetWidths`)})]}),(0,$.jsx)(`div`,{className:`max-h-72 overflow-y-auto`,children:bn.getAllLeafColumns().map(e=>(0,$.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2 rounded px-1.5 py-1 text-xs hover:bg-accent`,children:[(0,$.jsx)(`input`,{type:`checkbox`,className:`accent-primary`,checked:e.getIsVisible(),onChange:e.getToggleVisibilityHandler()}),(0,$.jsx)(`span`,{className:`truncate`,title:e.id,children:e.id})]},e.id))})]})]})]}),Ke&&(0,$.jsxs)(`div`,{className:`flex flex-shrink-0 flex-wrap items-center gap-2 border-b bg-muted/20 px-3 py-1.5`,children:[(0,$.jsxs)(`select`,{className:`h-7 rounded border bg-background px-1.5 text-xs`,value:m,onChange:e=>h(e.target.value),children:[(0,$.jsx)(`option`,{value:``,children:r(`result.grid.field`)}),Cn.map(e=>(0,$.jsx)(`option`,{value:e,children:e},e))]}),(0,$.jsxs)(`select`,{className:`h-7 rounded border bg-background px-1 text-xs`,value:v,onChange:e=>y(e.target.value),title:r(`result.grid.searchMode`),children:[(0,$.jsx)(`option`,{value:`equals`,children:r(`result.grid.equals`)}),(0,$.jsx)(`option`,{value:`contains`,children:r(`result.grid.contains`)})]}),(0,$.jsx)(`input`,{className:`h-7 w-36 rounded border bg-background px-2 text-xs placeholder:text-muted-foreground`,placeholder:r(`result.grid.searchPlaceholder`),value:g,onChange:e=>_(e.target.value),onKeyDown:e=>{e.key===`Enter`&&!g8(e)&&qt()}}),(0,$.jsx)(`button`,{type:`button`,className:`flex h-7 items-center rounded border bg-background px-1.5 text-muted-foreground hover:text-foreground`,onClick:qt,children:(0,$.jsx)(O6,{className:`size-3.5`})}),g&&(0,$.jsx)(`button`,{type:`button`,className:`flex h-7 items-center rounded border bg-background px-1.5 text-muted-foreground hover:text-foreground`,onClick:Jt,children:(0,$.jsx)(ue,{className:`size-3.5`})}),(0,$.jsx)(`div`,{className:`mx-1 h-4 w-px bg-border`}),(0,$.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:r(`result.grid.orderBy`)}),(0,$.jsxs)(`select`,{className:`h-7 rounded border bg-background px-1.5 text-xs`,value:se,onChange:e=>Yt(e.target.value),children:[(0,$.jsx)(`option`,{value:``,children:r(`result.grid.none`)}),Cn.map(e=>(0,$.jsx)(`option`,{value:e,children:e},e))]}),(0,$.jsxs)(`select`,{className:`h-7 rounded border bg-background px-1.5 text-xs`,value:le,onChange:e=>Xt(e.target.value),disabled:!se,children:[(0,$.jsx)(`option`,{value:`ASC`,children:`ASC`}),(0,$.jsx)(`option`,{value:`DESC`,children:`DESC`})]})]}),i?.error&&(0,$.jsxs)(`div`,{className:`flex shrink-0 items-start gap-2 border-b border-destructive/40 bg-destructive/10 px-3 py-1.5 text-xs text-destructive`,children:[(0,$.jsx)(`span`,{className:`min-w-0 flex-1 whitespace-pre-wrap break-words`,children:i.error}),(0,$.jsx)(`button`,{type:`button`,className:`shrink-0 opacity-70 hover:opacity-100`,onClick:()=>Mt.getState().setError(e,t,null),"aria-label":r(`result.grid.dismiss`),children:(0,$.jsx)(ue,{className:`size-3`})})]}),(0,$.jsxs)(l5,{onOpenChange:e=>{e||T(null)},children:[(0,$.jsx)(u5,{asChild:!0,children:(0,$.jsx)(`div`,{ref:a,className:`flex-1 overflow-auto outline-none`,tabIndex:0,onKeyDown:e=>{if(!ke){if((e.key===`F2`||e.key===`Enter`)&&je){e.preventDefault();let t=mt[je.rowIdx]?.[je.field];Ct(je.rowIdx,je.field,bt(je.rowIdx,je.field,t));return}e.key===`Escape`&&(Me(null),we.size>0&&Te(new Set))}},children:(0,$.jsxs)(m8e,{containerClassName:`overflow-visible`,className:`min-w-full table-fixed [&_td]:bg-muted [&_td]:border-r [&_td]:border-border/60 [&_td:last-child]:border-r-0`,style:{width:Dn},children:[(0,$.jsx)(h8e,{className:`sticky top-0 z-10 bg-catppuccin-crust shadow-[inset_0_-1px_0_var(--border)] [&_th]:h-8 [&_th]:bg-catppuccin-crust [&_th]:font-semibold [&_th]:text-foreground [&_th]:text-[11px]`,children:bn.getHeaderGroups().map(e=>(0,$.jsxs)(i7,{children:[(0,$.jsx)(a7,{className:`w-10 min-w-10 cursor-pointer select-none text-center !text-muted-foreground`,title:we.size===yn.length&&yn.length>0?r(`result.grid.clearSelection`):r(`result.grid.selectAll`),onClick:()=>{Te(e=>e.size===yn.length?new Set:new Set(yn.map((e,t)=>t)))},children:`#`}),e.headers.map(e=>{let t=e.id,n=Ke?se===t?le===`DESC`?`desc`:`asc`:!1:e.column.getIsSorted(),r=Xe(t);return(0,$.jsxs)(a7,{"data-header-id":t,className:`relative select-none`,style:{width:`${r}px`,minWidth:`${r}px`,maxWidth:`${r}px`},children:[(0,$.jsxs)(`div`,{className:`flex cursor-pointer items-center gap-1`,onClick:Ke?()=>Zt(t):e.column.getToggleSortingHandler(),children:[(0,$.jsx)(`span`,{className:`truncate`,children:e.isPlaceholder?null:W6e(e.column.columnDef.header,e.getContext())}),n===`asc`&&(0,$.jsx)(R$e,{className:`size-3 shrink-0 text-primary`}),n===`desc`&&(0,$.jsx)(I$e,{className:`size-3 shrink-0 text-primary`})]}),(0,$.jsx)(`div`,{className:`absolute right-0 top-0 z-20 h-full w-1.5 cursor-col-resize hover:bg-primary/30`,onMouseDown:e=>$t(e,t),onDoubleClick:e=>tn(e,t)})]},e.id)})]},e.id))}),(0,$.jsxs)(g8e,{children:[Sn.getVirtualItems().length>0&&(0,$.jsx)(`tr`,{style:{height:Sn.getVirtualItems()[0].start}}),wn&&(0,$.jsx)(`tr`,{children:(0,$.jsxs)(`td`,{colSpan:Tn+1,className:`py-10 text-center text-sm text-muted-foreground`,children:[r(Ke?`result.grid.emptyTable`:`result.grid.noRows`),st&&(0,$.jsxs)($.Fragment,{children:[` `,(0,$.jsx)(`button`,{type:`button`,className:`underline hover:text-foreground`,onClick:kt,children:r(`result.grid.addARow`)})]})]})}),Sn.getVirtualItems().map(t=>{let n=xn[t.index],i=n.index>=lt,a=Se.has(n.index),o=we.has(n.index),s=ve.has(n.index),c=a?`[&_td]:bg-destructive/10 [&_td]:line-through [&_td]:text-muted-foreground`:o?`[&_td]:bg-primary/15`:i?`[&_td]:bg-green-500/10`:s?`[&_td]:bg-orange-500/10`:S&&b?.newRows.has(n.index)?`[&_td]:bg-green-500/10`:t.index%2==1?`[&_td]:bg-muted/60`:void 0;return(0,$.jsxs)(i7,{className:c,"data-selected":o||void 0,children:[(0,$.jsx)(o7,{className:`group/num relative w-10 min-w-10 cursor-pointer select-none text-center text-xs tabular-nums !no-underline ${o?`!bg-primary/30 text-primary-foreground`:`text-muted-foreground`}`,title:r(a?`result.grid.markedForDeletion`:i?`result.grid.newRow`:`result.grid.clickToSelect`),onClick:e=>{if(a){Lt(n.index);return}Ot(n.index,e)},children:i?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{className:`group-hover/num:invisible`,children:`+`}),(0,$.jsx)(`button`,{type:`button`,className:`absolute inset-0 flex items-center justify-center text-destructive opacity-0 group-hover/num:opacity-100`,title:r(`result.grid.removeNewRow`),onClick:e=>{e.stopPropagation(),Pt(n.index)},children:(0,$.jsx)(ue,{className:`size-3.5`})})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{className:(st||at(n.index))&&!a?`group-hover/num:invisible`:``,children:n.index+1}),!a&&(()=>{let t=at(n.index);return t?(0,$.jsx)(`button`,{type:`button`,className:`absolute inset-0 flex items-center justify-center text-primary opacity-0 group-hover/num:opacity-100`,title:r(`result.grid.openItem`,{name:t.name}),onClick:n=>{n.stopPropagation(),J6(e,t)},children:(0,$.jsx)(m6,{className:`size-3`})}):null})(),st&&!a&&!rt&&(0,$.jsx)(`button`,{type:`button`,className:`absolute inset-0 flex items-center justify-center text-primary opacity-0 group-hover/num:opacity-100`,title:r(`result.grid.editRowForm`),onClick:e=>{e.stopPropagation(),Kt(`edit`,n.index)},children:(0,$.jsx)(C6,{className:`size-3`})})]})}),n.getVisibleCells().map(t=>{let i=t.column.id,o=Xe(i),s=n.index,c=ke?.rowIdx===s&&ke?.field===i,l=!c&&je?.rowIdx===s&&je?.field===i,u=xt(s,i),d=n.original[i],f=bt(s,i,d),p=gn.get(i)??``,m=S&&b?.changedCells.get(s)?.has(i)?{previous:b.changedCells.get(s).get(i)}:null,h=Cet(p),g=/datetime|timestamp/i.test(p);return(0,$.jsx)(o7,{"data-col-id":i,className:`relative ${st?`cursor-text`:``} ${u?`!text-orange-500 font-medium`:``} ${m?`!bg-amber-500/20`:``} ${l?`ring-1 ring-inset ring-primary/70`:``}`,title:m?r(`result.grid.previousValue`,{value:m.previous===null||m.previous===void 0?`NULL`:String(m.previous)}):U8e(f7(f),o)?f7(f):void 0,style:{width:`${o}px`,minWidth:`${o}px`,maxWidth:`${o}px`,overflow:c?`visible`:`hidden`,textOverflow:`ellipsis`},onContextMenu:()=>{T({rowIdx:s,column:i,value:f}),we.has(s)||(Te(new Set([s])),Ee.current=s)},onClick:e=>{if(e.shiftKey||e.metaKey||e.ctrlKey){e.preventDefault(),Ot(s,e);return}c||(Me({rowIdx:s,field:i}),(!we.has(s)||we.size>1)&&Ot(s,e))},onDoubleClick:()=>{let t=(!st||it(i))&&at(s);t?J6(e,t):Ct(s,i,f)},children:c?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{className:`invisible whitespace-nowrap`,children:f===null?`NULL`:String(f)}),(0,$.jsxs)(g7,{open:h,children:[(0,$.jsx)(q8e,{asChild:!0,children:(0,$.jsx)(`input`,{ref:ze,className:`absolute inset-0 border-none bg-primary/10 px-2 py-0 text-sm outline-none ring-1 ring-inset ring-primary`,value:Ne,onChange:e=>Pe(e.target.value),onKeyDown:e=>{if(g8(e)){e.stopPropagation();return}e.key===`Enter`&&wt(),e.key===`Escape`&&Tt(),e.stopPropagation()},onBlur:e=>{e.relatedTarget?.closest(`[data-slot="calendar"]`)||wt()},onClick:e=>e.stopPropagation()})}),h&&(0,$.jsx)(v7,{align:`start`,className:`w-auto p-0`,onOpenAutoFocus:e=>e.preventDefault(),onInteractOutside:e=>e.preventDefault(),children:(0,$.jsx)(det,{mode:`single`,selected:wet(Ne),onSelect:e=>{if(e){let t=Det(e,g);Pe(t),ze.current?.focus()}},defaultMonth:wet(Ne)})})]})]}):f===null?(0,$.jsx)(`span`,{className:`italic ${u?`text-orange-500`:`text-muted-foreground`}`,children:`NULL`}):(()=>{let e=l7(f);if(e!==null)return(0,$.jsx)(het,{value:e.document,jsonString:e.jsonString,edited:u,editable:st&&!it(i),onEdit:t=>Et(s,i,v8e(f,e,t))});if(g9(f))return(0,$.jsx)(vet,{value:f,edited:u,editable:st&&!a&&!it(i),onEdit:e=>Et(s,i,e)});let t=rn.get(i);return t&&!a?(0,$.jsx)(`a`,{role:`link`,tabIndex:0,className:`cursor-pointer text-primary underline decoration-primary/40 underline-offset-2 hover:decoration-primary`,title:`${t.targetConnectionId?`${Tet(t.targetConnectionId)} · `:``}${t.targetDatabase}.${t.targetTable}.${t.targetColumn} = ${String(f)}`,onClick:e=>{e.stopPropagation(),mn(t,f)},onKeyDown:e=>{e.key===`Enter`&&(e.stopPropagation(),mn(t,f))},children:String(f)}):(0,$.jsx)(`span`,{children:String(f)})})()},t.id)})]},n.id)}),Sn.getVirtualItems().length>0&&(0,$.jsx)(`tr`,{style:{height:Sn.getTotalSize()-(Sn.getVirtualItems().at(-1)?.end??0)}})]})]})})}),w&&(()=>{let t=nn?rn.get(w.column):void 0,n=w.value!==null&&w.value!==void 0,i=Se.has(w.rowIdx),a=st&&!i,o=!!nn&&F8(ae,e,nn.database,nn.table).some(e=>e.column===w.column),s=cn(w.rowIdx),c=!Ue(De)&&De.itemOfRow?De.itemOfRow(Object.fromEntries(an(w.rowIdx))):null,l=it(w.column);return(0,$.jsxs)(d5,{className:`min-w-60`,children:[c&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(f5,{onSelect:()=>J6(e,c),children:[(0,$.jsx)(m6,{className:`size-3.5`}),r(`result.grid.openItem`,{name:c.name})]}),(0,$.jsx)(p5,{})]}),t&&(0,$.jsxs)(f5,{disabled:!n,onSelect:()=>mn(t,w.value),children:[(0,$.jsx)(y6,{className:`size-3.5`}),r(`result.grid.followLink`,{table:t.targetTable,column:t.targetColumn})]}),nn&&(0,$.jsxs)(f5,{onSelect:()=>{K8(`column_link`)&&ne(`link-column`,{connectionId:e,database:nn.database,table:nn.table,column:w.column})},children:[(0,$.jsx)(y6,{className:`size-3.5`}),r(t?`result.grid.editLink`:`result.grid.linkColumn`,{column:w.column}),(0,$.jsx)(U8,{})]}),o&&nn&&(0,$.jsx)(f5,{onSelect:()=>oe(e,{database:nn.database,table:nn.table,column:w.column}),children:r(`result.grid.removeLink`)}),Ke&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(p5,{}),(0,$.jsxs)(f5,{disabled:!n,onSelect:()=>fn(w.column,w.value),children:[(0,$.jsx)(O6,{className:`size-3.5`}),r(`result.grid.filterByValue`,{column:w.column})]}),g&&(0,$.jsx)(f5,{onSelect:Jt,children:r(`result.grid.clearFilter`)}),(0,$.jsxs)(f5,{onSelect:()=>ne(`group-by`,{connectionId:e,database:Ke.database,table:Ke.table,column:w.column,where:zt(m,g,v)}),children:[(0,$.jsx)(v1e,{className:`size-3.5`}),r(`result.grid.groupByValue`,{column:w.column})]})]}),(0,$.jsx)(p5,{}),(0,$.jsx)(f5,{disabled:!n,onSelect:()=>sn(on(w.value)),children:r(`result.grid.copyValue`)}),(0,$.jsx)(f5,{onSelect:()=>sn(w.column),children:r(`result.grid.copyColumnName`)}),(0,$.jsx)(p5,{}),(0,$.jsx)(f5,{onSelect:()=>un(s,`tsv`),children:r(`result.grid.copyRowsTsv`,{count:s.length})}),(0,$.jsx)(f5,{onSelect:()=>un(s,`csv`),children:r(`result.grid.copyRowsCsv`,{count:s.length})}),(0,$.jsx)(f5,{onSelect:()=>un(s,`json`),children:r(`result.grid.copyRowsJson`,{count:s.length})}),nn&&(0,$.jsx)(f5,{onSelect:()=>un(s,`insert`),children:r(`result.grid.copyRowsInsert`,{count:s.length})}),a&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(p5,{}),!l&&(0,$.jsxs)(f5,{onSelect:()=>St(w.rowIdx,w.column,w.value),children:[(0,$.jsx)(C6,{className:`size-3.5`}),r(`result.grid.editCell`)]}),!rt&&(0,$.jsxs)(f5,{onSelect:()=>Kt(`edit`,w.rowIdx),children:[(0,$.jsx)(p1e,{className:`size-3.5`}),r(`result.grid.editRowForm`)]}),!l&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(f5,{disabled:!n,onSelect:()=>Et(w.rowIdx,w.column,null),children:r(`result.grid.setNull`)}),(0,$.jsx)(f5,{onSelect:()=>Et(w.rowIdx,w.column,``),children:r(`result.grid.setEmpty`)})]}),(0,$.jsxs)(f5,{variant:`destructive`,onSelect:()=>{s.length>1?Ft():pn(w.rowIdx)},children:[(0,$.jsx)(M6,{className:`size-3.5`}),r(`result.grid.deleteRowsPending`,{count:s.length})]})]}),i&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(p5,{}),(0,$.jsx)(f5,{onSelect:()=>Lt(w.rowIdx),children:r(`result.grid.restoreRow`)})]}),(0,$.jsx)(p5,{}),!re&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(f5,{onSelect:()=>{dn(s)},children:[(0,$.jsx)(S6,{className:`size-3.5`}),r(`result.grid.sendRowsToScratchpad`,{count:s.length})]}),mt.length>s.length&&(0,$.jsxs)(f5,{onSelect:()=>{dn(mt.map((e,t)=>t).filter(e=>!Se.has(e)))},children:[(0,$.jsx)(S6,{className:`size-3.5`}),r(`result.grid.sendAllToScratchpad`,{count:mt.length-Se.size})]}),(0,$.jsx)(p5,{})]}),(0,$.jsxs)(f5,{onSelect:()=>p(e=>({...e,[w.column]:!1})),children:[(0,$.jsx)(u6,{className:`size-3.5`}),r(`result.grid.hideColumn`,{column:w.column})]})]})})()]}),(0,$.jsxs)(`div`,{className:`flex flex-shrink-0 items-center border-t px-3 py-1 text-xs text-muted-foreground`,children:[(0,$.jsx)(`span`,{children:be>0?r(`result.grid.rowsWithNew`,{count:lt,added:be}):r(`result.grid.rows`,{count:lt})}),Ke&&se?(0,$.jsx)(`span`,{className:`ml-2`,children:r(`result.grid.sortedBy`,{column:se,direction:le})}):o.length>0&&(0,$.jsx)(`span`,{className:`ml-2`,children:r(`result.grid.sortedBy`,{column:o[0].id,direction:o[0].desc?`DESC`:`ASC`})}),we.size>0&&(0,$.jsx)(`span`,{className:`ml-2`,children:r(`result.grid.selected`,{count:we.size})}),ft&&(0,$.jsx)(`span`,{className:`ml-2 text-orange-500`,children:[dt>0?r(`result.grid.cellsModified`,{count:dt}):null,be>0?r(`result.grid.newCount`,{count:be}):null,Se.size>0?r(`result.grid.toDelete`,{count:Se.size}):null].filter(Boolean).join(`, `)})]})]})}function ket(e){if(typeof e!=`object`||!e||Array.isArray(e))return`table`;let t=e.hits?.hits;return Array.isArray(t)?`table`:`json`}var Aet=1e5;function jet(e){try{return JSON.stringify(e).length<=Aet}catch{return!1}}function Met({connectionId:e,tabId:t,resultIndex:n}){let r=Mt(r=>r.tabs[e]?.find(e=>e.id===t)?.results[n]?.reply);return r===void 0?(0,$.jsx)(Oet,{connectionId:e,tabId:t,resultIndex:n}):(0,$.jsx)(Net,{reply:r,connectionId:e,tabId:t,resultIndex:n},n)}function Net({reply:e,connectionId:t,tabId:n,resultIndex:r}){let{t:i}=ie(),[a,o]=(0,E.useState)(()=>ket(e)),[s,c]=(0,E.useState)(()=>jet(e)),[l,u]=(0,E.useState)(0),d=H6(t),f=Mt(e=>e.tabs[t]?.find(e=>e.id===n)?.results[r]?.sql),p=Mt(e=>e.tabs[t]?.find(e=>e.id===n)?.database??``),m=f&&!Ue(d)?d.itemOfCommand?.(f,p)??null:null,h=e=>`rounded px-2 py-0.5 ${e?`bg-primary/15 text-primary`:`text-muted-foreground hover:text-foreground`}`;return(0,$.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,$.jsxs)(`div`,{className:`flex flex-shrink-0 items-center gap-2 border-b px-3 py-1 text-xs`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-0.5 rounded border p-0.5`,children:[(0,$.jsx)(`button`,{type:`button`,className:h(a===`table`),onClick:()=>o(`table`),children:i(`result.reply.table`)}),(0,$.jsx)(`button`,{type:`button`,className:h(a===`json`),onClick:()=>o(`json`),children:`JSON`})]}),a===`json`&&(0,$.jsxs)(`button`,{type:`button`,className:`flex items-center gap-1 rounded px-1.5 py-0.5 text-muted-foreground hover:bg-muted hover:text-foreground`,onClick:()=>{c(e=>!e),u(e=>e+1)},children:[s?(0,$.jsx)(W$e,{className:`size-3`}):(0,$.jsx)(q$e,{className:`size-3`}),i(s?`result.json.collapseAll`:`result.json.expandAll`)]}),m&&(0,$.jsxs)(`button`,{type:`button`,className:`ml-auto flex min-w-0 max-w-[50%] items-center gap-1 rounded px-1.5 py-0.5 text-muted-foreground hover:bg-muted hover:text-foreground`,onClick:()=>J6(t,m),children:[(0,$.jsx)(m6,{className:`size-3 flex-shrink-0`}),(0,$.jsx)(`span`,{className:`truncate`,children:i(`result.grid.openItem`,{name:m.name})})]})]}),(0,$.jsx)(`div`,{className:`min-h-0 flex-1`,children:a===`table`?(0,$.jsx)(Oet,{connectionId:t,tabId:n,resultIndex:r}):(0,$.jsx)(`div`,{className:`h-full overflow-auto py-2 pl-7 pr-3 font-mono text-xs`,children:(0,$.jsx)(C5,{value:e,defaultExpanded:s},l)})})]})}function v9({icon:e,label:t,value:n,muted:r}){return(0,$.jsxs)(`div`,{className:`flex min-w-[140px] flex-1 items-center gap-3 rounded-md border bg-muted/30 px-3 py-2`,children:[(0,$.jsx)(`div`,{className:`flex size-8 shrink-0 items-center justify-center rounded-md bg-primary/10 text-primary [&_svg]:size-4`,children:e}),(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`div`,{className:`text-[10px] font-medium uppercase tracking-wide text-muted-foreground`,children:t}),(0,$.jsx)(`div`,{className:`truncate text-sm font-semibold tabular-nums ${r?`text-muted-foreground`:``}`,children:n})]})]})}function Pet(e){return e==null?`—`:e<1e3?`${e} ms`:`${(e/1e3).toFixed(2)} s`}function Fet({connectionId:e,tabId:t}){let{t:n}=ie(),r=Mt(t=>t.tabs[e]??Nt).find(e=>e.id===t),i=Mt(n=>n.history.find(n=>n.connectionId===e&&n.tabId===t)),[a,o]=(0,E.useState)(!1),s=(0,E.useCallback)(()=>{i&&navigator.clipboard.writeText(i.query).then(()=>{o(!0),setTimeout(()=>o(!1),1500)})},[i]),c=r?.results??[],l=r?.executionTime??null;if(c.length===0&&!i)return(0,$.jsx)(`div`,{className:`flex h-full items-center justify-center text-sm text-muted-foreground`,children:n(`result.info.empty`)});let u=c.reduce((e,t)=>e+t.rows.length,0),d=c.reduce((e,t)=>e+(t.affectedRows||0),0),f=c.map(e=>e.insertId).filter(e=>e>0).pop();return(0,$.jsx)(F6,{className:`h-full`,children:(0,$.jsxs)(`div`,{className:`space-y-4 p-3 text-sm`,children:[(0,$.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,$.jsx)(v9,{icon:(0,$.jsx)(l6,{}),label:n(`result.info.executionTime`),value:Pet(l),muted:l==null}),(0,$.jsx)(v9,{icon:(0,$.jsx)(v6,{}),label:n(`result.info.resultSets`),value:c.length}),(0,$.jsx)(v9,{icon:(0,$.jsx)(D6,{}),label:n(`result.info.rowsReturned`),value:u.toLocaleString()}),(0,$.jsx)(v9,{icon:(0,$.jsx)(C6,{}),label:n(`result.info.affectedRows`),value:d.toLocaleString(),muted:d===0}),f!=null&&(0,$.jsx)(v9,{icon:(0,$.jsx)(i1e,{}),label:n(`result.info.insertId`),value:f})]}),i&&(0,$.jsxs)(`section`,{className:`rounded-md border`,children:[(0,$.jsxs)(`header`,{className:`flex items-center gap-2 border-b bg-muted/30 px-3 py-1.5`,children:[i.success?(0,$.jsx)(s6,{className:`size-3.5 text-green-500`}):(0,$.jsx)(c6,{className:`size-3.5 text-destructive`}),(0,$.jsx)(`span`,{className:`text-xs font-medium`,children:n(`result.info.lastQuery`)}),i.database&&(0,$.jsx)(`span`,{className:`rounded bg-muted px-1.5 py-px font-mono text-[10px] text-muted-foreground`,children:i.database}),(0,$.jsx)(`span`,{className:`text-[10px] text-muted-foreground`,children:new Date(i.timestamp).toLocaleString(void 0,{hour12:!1})}),(0,$.jsx)(`div`,{className:`flex-1`}),(0,$.jsxs)(`button`,{type:`button`,className:`flex items-center gap-1 rounded px-1.5 py-0.5 text-[10px] text-muted-foreground hover:bg-muted hover:text-foreground`,onClick:s,children:[a?(0,$.jsx)(r6,{className:`size-3`}):(0,$.jsx)(d6,{className:`size-3`}),n(a?`result.info.copied`:`result.info.copy`)]})]}),(0,$.jsx)(`pre`,{className:`max-h-48 overflow-auto whitespace-pre-wrap break-words px-3 py-2 font-mono text-xs`,children:i.query}),i.error&&(0,$.jsx)(`div`,{className:`border-t border-destructive/30 bg-destructive/10 px-3 py-1.5 text-xs text-destructive`,children:i.error})]}),c.map((e,t)=>{let r=new Set(e.primaryKeys??[]),i=e.fields.some(e=>e.orgName&&e.orgName!==e.name),a=Array.from(new Set(e.fields.map(e=>e.orgTable?`${e.db?e.db+`.`:``}${e.orgTable}`:``).filter(Boolean)));return(0,$.jsxs)(`section`,{className:`rounded-md border`,children:[(0,$.jsxs)(`header`,{className:`flex flex-wrap items-center gap-2 border-b bg-muted/30 px-3 py-1.5`,children:[(0,$.jsx)(`span`,{className:`rounded bg-primary/10 px-1.5 py-px text-[10px] font-semibold uppercase tracking-wide text-primary`,children:n(`result.info.resultN`,{n:t+1})}),e.sourceTable?(0,$.jsxs)(`span`,{className:`flex items-center gap-1 font-mono text-xs`,children:[(0,$.jsx)(j6,{className:`size-3 text-muted-foreground`}),e.sourceTable.database,`.`,e.sourceTable.table]}):a.length>0?(0,$.jsxs)(`span`,{className:`flex items-center gap-1 font-mono text-xs text-muted-foreground`,children:[(0,$.jsx)(j6,{className:`size-3`}),a.join(`, `)]}):null,(0,$.jsx)(`div`,{className:`flex-1`}),(0,$.jsx)(`span`,{className:`text-[11px] text-muted-foreground tabular-nums`,children:n(`result.info.rowsAndFields`,{rows:e.rows.length.toLocaleString(),fields:e.fields.length})}),e.affectedRows>0&&(0,$.jsxs)(`span`,{className:`text-[11px] text-muted-foreground tabular-nums`,children:[`· `,n(`result.info.affectedRows`),` `,e.affectedRows.toLocaleString()]})]}),e.message&&(0,$.jsx)(`div`,{className:`border-b px-3 py-1.5 font-mono text-xs text-muted-foreground`,children:e.message}),e.fields.length>0?(0,$.jsx)(`div`,{className:`overflow-x-auto`,children:(0,$.jsxs)(`table`,{className:`w-full text-xs`,children:[(0,$.jsx)(`thead`,{children:(0,$.jsxs)(`tr`,{className:`border-b text-left text-[10px] uppercase tracking-wide text-muted-foreground`,children:[(0,$.jsx)(`th`,{className:`w-8 px-3 py-1.5 font-medium`,children:`#`}),(0,$.jsx)(`th`,{className:`px-3 py-1.5 font-medium`,children:n(`result.info.colName`)}),i&&(0,$.jsx)(`th`,{className:`px-3 py-1.5 font-medium`,children:n(`result.info.colOrigin`)}),(0,$.jsx)(`th`,{className:`px-3 py-1.5 font-medium`,children:n(`result.info.colType`)}),(0,$.jsx)(`th`,{className:`px-3 py-1.5 font-medium`,children:n(`result.info.colTable`)})]})}),(0,$.jsx)(`tbody`,{children:e.fields.map((e,t)=>{let a=r.has(e.orgName||e.name);return(0,$.jsxs)(`tr`,{className:`border-b border-border/50 last:border-b-0 hover:bg-muted/30`,children:[(0,$.jsx)(`td`,{className:`px-3 py-1 text-muted-foreground tabular-nums`,children:t+1}),(0,$.jsx)(`td`,{className:`px-3 py-1 font-mono`,children:(0,$.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[e.name,a&&(0,$.jsxs)(`span`,{title:n(`result.info.primaryKey`),className:`flex items-center gap-0.5 rounded border border-catppuccin-yellow/50 px-1 text-[9px] font-semibold text-catppuccin-yellow`,children:[(0,$.jsx)(_6,{className:`size-2.5`}),`PK`]})]})}),i&&(0,$.jsx)(`td`,{className:`px-3 py-1 font-mono text-muted-foreground`,children:e.orgName&&e.orgName!==e.name?e.orgName:``}),(0,$.jsx)(`td`,{className:`px-3 py-1`,children:(0,$.jsx)(`span`,{className:`rounded bg-muted px-1.5 py-px font-mono text-[11px]`,children:e.type||`—`})}),(0,$.jsx)(`td`,{className:`px-3 py-1 font-mono text-muted-foreground`,children:e.orgTable?`${e.db?e.db+`.`:``}${e.orgTable}`:``})]},`${e.name}-${t}`)})})]})}):(0,$.jsx)(`div`,{className:`px-3 py-2 text-xs text-muted-foreground`,children:n(`result.info.noFields`)})]},t)})]})})}function Iet(e){return new Date(e).toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hour12:!1})}function y9(e){let t=new Date(e);return`${t.getFullYear()}-${t.getMonth()}-${t.getDate()}`}function Let(e,t=160){let n=e.replace(/\s+/g,` `).trim();return n.length<=t?n:n.slice(0,t)+`…`}function Ret(e){return e<1e3?`${e} ms`:`${(e/1e3).toFixed(2)} s`}function zet(e,t){let n=[],r=Date.now(),i=y9(r),a=y9(r-864e5);for(let r of e){let e=y9(r.timestamp),o=n[n.length-1];(!o||o.key!==e)&&(o={key:e,label:e===i?t(`result.history.today`):e===a?t(`result.history.yesterday`):new Date(r.timestamp).toLocaleDateString(void 0,{year:`numeric`,month:`short`,day:`2-digit`}),entries:[]},n.push(o)),o.entries.push(r)}return n}var Bet={SELECT:`bg-blue-500/10 text-blue-600 dark:text-blue-400`,INSERT:`bg-green-500/10 text-green-600 dark:text-green-400`,UPDATE:`bg-orange-500/10 text-orange-600 dark:text-orange-400`,DELETE:`bg-red-500/10 text-red-600 dark:text-red-400`};function Vet({connectionId:e}){let{t}=ie(),n=Mt(e=>e.history),r=Mt(t=>t.activeTabId[e]??null),i=Mt(e=>e.clearHistory),a=Mt(e=>e.addHistory),o=jt(e=>e.setFooterMessage),s=jt(e=>e.requestDestructiveConfirm),[c,l]=(0,E.useState)(null),[u,d]=(0,E.useState)(``),[f,p]=(0,E.useState)(`all`),[m,h]=(0,E.useState)(!1),g=(0,E.useCallback)((e,n)=>{navigator.clipboard.writeText(n).then(()=>{l(e),o(t(`result.history.copied`)),setTimeout(()=>l(null),1500)})},[o,t]),_=(0,E.useCallback)((n,i)=>{let a=r?cn(e,r):void 0;if(!a){g(n,i);return}let s=a.getModel(),c=a.getSelection();if(!s||!c){g(n,i);return}let l=s.getLineContent(c.startLineNumber),u=c.startColumn>1&&l.trim()!==``,d=i.trim(),f=(u?`
942
942
  `:``)+d+(d.endsWith(`;`)?``:`;`)+`
943
- `;a.executeEdits(`history`,[{range:c,text:f,forceMoveMarkers:!0}]),a.focus(),o(t(`result.history.inserted`))},[r,e,g,o,t]),v=(0,E.useMemo)(()=>n.filter(t=>!e||!t.connectionId||t.connectionId===e),[n,e]),y=(0,E.useCallback)(async()=>{if(!await s({title:t(`result.history.clearTitle`),description:t(`result.history.clearDescription`,{count:v.length}),confirmLabel:t(`result.history.clearConfirm`)}))return;let r=n.filter(t=>t.connectionId&&t.connectionId!==e);i();for(let e of[...r].reverse())a(e)},[s,t,v.length,n,e,i,a]),b=(0,E.useMemo)(()=>{let e=u.trim().toLowerCase();return v.filter(t=>!(f===`success`&&!t.success||f===`failed`&&t.success||m&&t.tabId!==r||e&&!t.query.toLowerCase().includes(e)&&!(t.database??``).toLowerCase().includes(e)&&!(t.error??``).toLowerCase().includes(e)))},[v,u,f,m,r]),x=(0,E.useMemo)(()=>zet(b,t),[b,t]);if(v.length===0)return(0,$.jsx)(`div`,{className:`flex h-full items-center justify-center text-sm text-muted-foreground`,children:t(`result.history.empty`)});let S=(e,t)=>(0,$.jsx)(`button`,{type:`button`,className:`rounded px-2 py-0.5 text-xs ${f===e?`bg-primary text-primary-foreground`:`text-muted-foreground hover:text-foreground`}`,onClick:()=>p(e),children:t});return(0,$.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,$.jsxs)(`div`,{className:`flex flex-shrink-0 flex-wrap items-center gap-2 border-b bg-muted/30 px-3 py-1.5`,children:[(0,$.jsxs)(`div`,{className:`relative`,children:[(0,$.jsx)(O6,{className:`pointer-events-none absolute left-2 top-1/2 size-3.5 -translate-y-1/2 text-muted-foreground`}),(0,$.jsx)(`input`,{className:`h-7 w-52 rounded border bg-background pl-7 pr-6 text-xs placeholder:text-muted-foreground`,placeholder:t(`result.history.searchPlaceholder`),value:u,onChange:e=>d(e.target.value)}),u&&(0,$.jsx)(`button`,{type:`button`,className:`absolute right-1.5 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground`,onClick:()=>d(``),children:(0,$.jsx)(ue,{className:`size-3`})})]}),(0,$.jsxs)(`div`,{className:`flex items-center rounded border bg-background p-0.5`,children:[S(`all`,t(`result.history.all`)),S(`success`,t(`result.history.success`)),S(`failed`,t(`result.history.failed`))]}),(0,$.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-1.5 text-xs`,children:[(0,$.jsx)(`input`,{type:`checkbox`,className:`accent-primary`,checked:m,onChange:e=>h(e.target.checked)}),t(`result.history.thisTab`)]}),(0,$.jsx)(`div`,{className:`flex-1`}),(0,$.jsx)(`span`,{className:`text-xs text-muted-foreground tabular-nums`,children:t(`result.history.count`,{count:b.length})}),(0,$.jsxs)(`button`,{type:`button`,className:`flex h-7 items-center gap-1 rounded border bg-background px-2 text-xs text-muted-foreground hover:text-destructive`,onClick:()=>void y(),children:[(0,$.jsx)(M6,{className:`size-3`}),t(`result.history.clear`)]})]}),(0,$.jsx)(F6,{className:`min-h-0 flex-1`,children:b.length===0?(0,$.jsx)(`div`,{className:`p-6 text-center text-sm text-muted-foreground`,children:t(`result.history.noMatch`)}):x.map(e=>(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{className:`sticky top-0 z-10 border-b bg-background/95 px-3 py-1 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground backdrop-blur`,children:e.label}),(0,$.jsx)(`div`,{className:`divide-y divide-border/60 text-sm`,children:e.entries.map(e=>{let n=e.kind?.toUpperCase();return(0,$.jsxs)(`div`,{className:`group/row flex items-start gap-2 px-3 py-2 hover:bg-muted/50`,children:[(0,$.jsx)(`div`,{className:`mt-0.5 flex-shrink-0`,children:e.success?(0,$.jsx)(s6,{className:`size-4 text-green-500`}):(0,$.jsx)(c6,{className:`size-4 text-destructive`})}),(0,$.jsxs)(`div`,{className:`min-w-0 flex-1 cursor-pointer`,onClick:()=>g(e.id,e.query),title:e.query,children:[(0,$.jsx)(`p`,{className:`break-words font-mono text-xs text-foreground`,children:Let(e.query)}),(0,$.jsxs)(`div`,{className:`mt-0.5 flex flex-wrap items-center gap-x-3 gap-y-0.5 text-[11px] text-muted-foreground`,children:[(0,$.jsx)(`span`,{className:`tabular-nums`,children:Iet(e.timestamp)}),n&&(0,$.jsx)(`span`,{className:`rounded px-1 text-[9px] font-semibold ${Bet[n]??`bg-muted`}`,children:n}),e.database&&(0,$.jsx)(`span`,{className:`font-mono`,children:e.database}),e.rowCount!=null&&(0,$.jsxs)(`span`,{className:`flex items-center gap-0.5`,children:[(0,$.jsx)(D6,{className:`size-3`}),t(`result.history.rows`,{count:e.rowCount})]}),e.affectedRows!=null&&e.affectedRows>0&&(0,$.jsxs)(`span`,{className:`flex items-center gap-0.5`,children:[(0,$.jsx)(C6,{className:`size-3`}),t(`result.history.affected`,{count:e.affectedRows})]}),(0,$.jsxs)(`span`,{className:`flex items-center gap-0.5 tabular-nums`,children:[(0,$.jsx)(l6,{className:`size-3`}),Ret(e.executionTime)]})]}),e.error&&(0,$.jsx)(`p`,{className:`mt-0.5 break-words text-xs text-destructive`,children:e.error})]}),(0,$.jsxs)(`div`,{className:`mt-0.5 flex flex-shrink-0 items-center gap-0.5 opacity-0 group-hover/row:opacity-100`,children:[(0,$.jsx)(`button`,{type:`button`,className:`rounded p-1 text-muted-foreground hover:bg-muted hover:text-foreground`,title:t(`result.history.insert`),onClick:()=>_(e.id,e.query),children:(0,$.jsx)($$e,{className:`size-3.5`})}),(0,$.jsx)(`button`,{type:`button`,className:`rounded p-1 text-muted-foreground hover:bg-muted hover:text-foreground`,title:t(`result.history.copy`),onClick:()=>g(e.id,e.query),children:c===e.id?(0,$.jsx)(r6,{className:`size-3.5 text-green-500`}):(0,$.jsx)(d6,{className:`size-3.5`})})]})]},e.id)})})]},e.key))})]})}var Het={"full-scan":`border-destructive/50 text-destructive`,"no-index":`border-destructive/50 text-destructive`,"estimate-off":`border-catppuccin-yellow/50 text-catppuccin-yellow`,temporary:`border-catppuccin-yellow/50 text-catppuccin-yellow`,filesort:`border-catppuccin-yellow/50 text-catppuccin-yellow`},b9={"full-scan":{label:`result.plan.warnings.fullScan`,hint:`result.plan.hints.fullScan`},"no-index":{label:`result.plan.warnings.noIndex`,hint:`result.plan.hints.noIndex`},"estimate-off":{label:`result.plan.warnings.estimateOff`,hint:`result.plan.hints.estimateOff`},temporary:{label:`result.plan.warnings.temporary`,hint:`result.plan.hints.temporary`},filesort:{label:`result.plan.warnings.filesort`,hint:`result.plan.hints.filesort`}};function Uet(e){return e<1e3?`${e.toFixed(e<10?2:0)} ms`:`${(e/1e3).toFixed(2)} s`}function x9(e){return e>=1e3?Math.round(e).toLocaleString():String(Math.round(e*100)/100)}function Wet(e,t){let n=[],r=(e,i)=>{let a=e.children.length>0,o=a&&!t.has(e.id);if(n.push({node:e,depth:i,hasChildren:a,expanded:o}),o)for(let t of e.children)r(t,i+1)};for(let t of e)r(t,0);return n}function Get(e,t){return t?e.timeMs??e.cost:e.cost}function Ket(e,t){let n=0,r=e=>{let i=Get(e,t);i!==null&&i>n&&(n=i),e.children.forEach(r)};return e.forEach(r),n}function S9({icon:e,value:t,title:n}){return(0,$.jsxs)(`span`,{className:`flex items-center gap-0.5 tabular-nums`,title:n,children:[(0,$.jsx)(e,{className:`size-3 shrink-0`}),t]})}function qet({node:e}){let{t}=ie();return(0,$.jsxs)(`div`,{className:`flex h-full w-72 shrink-0 flex-col border-l`,children:[(0,$.jsxs)(`div`,{className:`border-b px-3 py-2`,children:[(0,$.jsx)(`div`,{className:`truncate text-xs font-semibold`,title:e.label,children:e.label}),e.object&&(0,$.jsx)(`div`,{className:`truncate font-mono text-[11px] text-muted-foreground`,children:e.object})]}),(0,$.jsx)(F6,{className:`flex-1`,children:(0,$.jsxs)(`div`,{className:`p-3`,children:[e.warnings.length>0&&(0,$.jsx)(`ul`,{className:`mb-3 space-y-1.5`,children:e.warnings.map(e=>(0,$.jsxs)(`li`,{className:`text-[11px] leading-snug`,children:[(0,$.jsx)(`span`,{className:`mr-1 rounded border px-1 text-[9px] font-semibold uppercase ${Het[e]}`,children:t(b9[e].label)}),(0,$.jsx)(`span`,{className:`text-muted-foreground`,children:t(b9[e].hint)})]},e))}),e.details.length===0?(0,$.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:t(`result.plan.noDetails`)}):(0,$.jsx)(`dl`,{className:`space-y-1.5`,children:e.details.map((e,t)=>(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`dt`,{className:`text-[10px] font-medium uppercase tracking-wide text-muted-foreground`,children:e.label}),(0,$.jsx)(`dd`,{className:`break-words font-mono text-[11px]`,children:e.value})]},`${e.label}-${t}`))})]})})]})}function Jet({connectionId:e,tabId:t}){let{t:n}=ie(),r=Mt(t=>t.tabs[e]??Nt),i=r.find(e=>e.id===t)?.plan??null,[a,o]=(0,E.useState)(!1),[s,c]=(0,E.useState)(!1),[l,u]=(0,E.useState)(null),[d,f]=(0,E.useState)(null),[p,m]=(0,E.useState)(new Set),[h,g]=(0,E.useState)(null),[_,v]=(0,E.useState)(!1);(0,E.useEffect)(()=>{if(u(null),f(null),!i)return;let e=!0;return V3e().then(t=>e&&o(t)),()=>{e=!1}},[e,t,i]);let y=(0,E.useCallback)(()=>{c(!0),f(null),J3e(e,t).then(u).catch(e=>f(e instanceof Error?e.message:String(e))).finally(()=>c(!1))},[e,t]),b=(0,E.useMemo)(()=>i?Wet(i.roots,p):[],[i,p]),x=(0,E.useMemo)(()=>i?Ket(i.roots,i.analyzed):0,[i]),S=(0,E.useMemo)(()=>b.find(e=>e.node.id===h)?.node??null,[b,h]);if(!i)return(0,$.jsx)(`div`,{className:`flex h-full items-center justify-center px-6 text-center text-sm text-muted-foreground`,children:n(`result.plan.empty`)});if(i.roots.length===0)return(0,$.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,$.jsx)(`div`,{className:`border-b px-3 py-2 text-xs text-muted-foreground`,children:n(`result.plan.unreadable`)}),(0,$.jsx)(F6,{className:`flex-1`,children:(0,$.jsx)(`pre`,{className:`whitespace-pre-wrap break-words p-3 font-mono text-xs`,children:i.raw})})]});let C=e=>m(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n});return(0,$.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-3 gap-y-1 border-b px-3 py-1.5 text-xs text-muted-foreground`,children:[(0,$.jsx)(`span`,{className:`rounded border px-1 text-[9px] font-semibold uppercase ${i.analyzed?`border-green-500/50 text-green-500`:`border-border`}`,title:n(i.analyzed?`result.plan.analyzedHint`:`result.plan.estimatedHint`),children:n(i.analyzed?`result.plan.analyzed`:`result.plan.estimated`)}),i.totalCost!==null&&(0,$.jsx)(S9,{icon:Y$e,value:x9(i.totalCost),title:n(`result.plan.totalCost`)}),i.totalTimeMs!==null&&(0,$.jsx)(S9,{icon:l6,value:Uet(i.totalTimeMs),title:n(`result.plan.totalTime`)}),(0,$.jsx)(`div`,{className:`flex-1`}),a&&(0,$.jsxs)(`button`,{type:`button`,className:`inline-flex items-center gap-1 rounded px-1.5 py-0.5 hover:bg-muted hover:text-foreground disabled:opacity-60`,onClick:y,disabled:s,children:[s?(0,$.jsx)(b6,{className:`size-3 animate-spin`}):(0,$.jsx)(k6,{className:`size-3`}),n(s?`result.ai.thinking`:`result.ai.explainPlan`)]}),(0,$.jsx)(`button`,{type:`button`,className:`rounded px-1.5 py-0.5 hover:bg-muted hover:text-foreground`,onClick:()=>v(e=>!e),children:n(_?`result.plan.showTree`:`result.plan.showRaw`)})]}),d&&(0,$.jsx)(`p`,{className:`border-b px-3 py-1.5 text-xs text-muted-foreground`,children:n(`result.ai.failed`,{message:d})}),l&&(0,$.jsxs)(`div`,{className:`border-b px-3 py-2`,children:[(0,$.jsxs)(`div`,{className:`mb-1 flex items-center gap-1 text-[10px] font-medium uppercase tracking-wide text-muted-foreground`,children:[(0,$.jsx)(k6,{className:`size-3`}),n(`result.ai.title`),(0,$.jsx)(`span`,{className:`font-normal normal-case tracking-normal`,children:n(`result.ai.by`,{model:l.model})})]}),(0,$.jsx)(`p`,{className:`whitespace-pre-wrap text-xs leading-relaxed`,children:l.explanation}),l.fix&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`pre`,{className:`mt-2 overflow-x-auto rounded border bg-muted/50 p-2 font-mono text-[11px]`,children:l.fix}),(0,$.jsxs)(`button`,{type:`button`,className:`mt-1.5 inline-flex items-center gap-1 text-[11px] text-muted-foreground hover:text-foreground`,onClick:()=>q6(e,l.fix,r.find(e=>e.id===t)?.database??``,n(`result.ai.title`)),children:[(0,$.jsx)(L$e,{className:`size-3`}),n(`result.ai.applyFix`)]})]})]}),_?(0,$.jsx)(F6,{className:`flex-1`,children:(0,$.jsx)(`pre`,{className:`whitespace-pre-wrap break-words p-3 font-mono text-xs`,children:i.raw})}):(0,$.jsxs)(`div`,{className:`flex min-h-0 flex-1`,children:[(0,$.jsx)(F6,{className:`min-w-0 flex-1`,children:(0,$.jsx)(`ul`,{className:`py-1 text-xs`,children:b.map(({node:e,depth:t,hasChildren:r,expanded:a})=>{let o=Get(e,i.analyzed),s=x>0&&o!==null?Math.max(o/x,.02):0,c=e.id===h;return(0,$.jsx)(`li`,{children:(0,$.jsxs)(`button`,{type:`button`,className:`relative flex w-full items-center gap-1.5 py-1 pr-3 text-left ${c?`bg-primary/10`:`hover:bg-muted/60`}`,style:{paddingLeft:`${t*14+8}px`},onClick:()=>g(e.id),children:[s>0&&(0,$.jsx)(`span`,{"aria-hidden":!0,className:`pointer-events-none absolute inset-y-0 left-0 bg-primary/10`,style:{width:`${s*100}%`}}),(0,$.jsx)(`span`,{className:`relative flex w-3 shrink-0 justify-center text-muted-foreground`,children:r&&(0,$.jsx)(`span`,{role:`button`,tabIndex:-1,onClick:t=>{t.stopPropagation(),C(e.id)},children:a?(0,$.jsx)(i6,{className:`size-3`}):(0,$.jsx)(a6,{className:`size-3`})})}),(0,$.jsxs)(`span`,{className:`relative min-w-0 flex-1 truncate`,children:[(0,$.jsx)(`span`,{className:`font-medium`,children:e.label}),e.object&&!e.label.includes(e.object)&&(0,$.jsx)(`span`,{className:`ml-1.5 font-mono text-[11px] text-muted-foreground`,children:e.object}),e.warnings.map(e=>(0,$.jsx)(`span`,{className:`ml-1.5 rounded border px-1 text-[9px] font-semibold uppercase ${Het[e]}`,children:n(b9[e].label)},e))]}),(0,$.jsxs)(`span`,{className:`relative flex shrink-0 items-center gap-2.5 text-[11px] text-muted-foreground`,children:[e.rows!==null&&(0,$.jsx)(S9,{icon:D6,value:x9(e.rows),title:n(`result.plan.rows`)}),e.actualRows!==null&&(0,$.jsx)(S9,{icon:n1e,value:x9(e.actualRows),title:n(`result.plan.actualRows`)}),e.cost!==null&&(0,$.jsx)(S9,{icon:Y$e,value:x9(e.cost),title:n(`result.plan.cost`)}),e.timeMs!==null&&(0,$.jsx)(S9,{icon:l6,value:Uet(e.timeMs),title:n(`result.plan.time`)})]})]})},e.id)})})}),S?(0,$.jsx)(qet,{node:S}):(0,$.jsx)(`div`,{className:`flex w-72 shrink-0 items-center justify-center border-l px-4 text-center text-[11px] text-muted-foreground`,children:(0,$.jsxs)(`span`,{className:`flex flex-col items-center gap-1.5`,children:[(0,$.jsx)(h1e,{className:`size-4`}),n(`result.plan.selectNode`)]})})]})]})}var Yet=56,Xet=16,C9=14;function Zet(e,t){let n=new Map,r=new Set,i=e=>{let a=n.get(e);if(a!==void 0)return a;if(r.has(e))return 0;r.add(e);let o=0;for(let n of t.get(e)??[])o=Math.max(o,i(n)+1);return r.delete(e),n.set(e,o),o};for(let t of e)i(t.id);let a=new Map;for(let[e,n]of t)for(let t of n)a.set(t,[...a.get(t)??[],e]);let o=Math.max(...e.map(e=>n.get(e.id)??0)),s=new Map,c=e=>{let t=s.get(e);if(t!==void 0)return t;if(r.has(e))return n.get(e)??0;r.add(e);let i=a.get(e)??[],l=i.length===0?o:Math.min(...i.map(e=>c(e)-1));return r.delete(e),s.set(e,Math.max(n.get(e)??0,l)),s.get(e)??0};for(let t of e)c(t.id);return s}function Qet(e){let t=new Map;for(let n of e.groups){let e=t.get(n.parentId)??[];e.push(n.id),t.set(n.parentId,e)}let n=new Map;for(let t of e.nodes){let e=n.get(t.groupId)??[];e.push(t.id),n.set(t.groupId,e)}let r=new Map,i=e=>{let a=r.get(e);if(a)return a;let o=[...n.get(e)??[]];for(let n of t.get(e)??[])o.push(...i(n));return r.set(e,o),o};for(let t of e.groups)i(t.id);let a=new Map,o=i=>{let s=[];for(let e of i===null?[]:n.get(i)??[])s.push({id:e,kind:`node`,width:196,height:56,x:0,y:0});for(let e of t.get(i)??[]){let t=o(e);a.set(e,t),s.push({id:e,kind:`group`,width:t.width+28,height:t.height+28+22,x:0,y:0})}if(s.length===0)return{width:0,height:0,items:s};let c=new Map;for(let e of s)if(e.kind===`node`)c.set(e.id,e.id);else for(let t of r.get(e.id)??[])c.set(t,e.id);let l=new Map;for(let t of e.edges){let e=c.get(t.from),n=c.get(t.to);if(!e||!n||e===n)continue;let r=l.get(n)??new Set;r.add(e),l.set(n,r)}let u=Zet(s,l),d=new Map;for(let e of s){let t=u.get(e.id)??0,n=d.get(t)??[];n.push(e),d.set(t,n)}let f=[...d.keys()].sort((e,t)=>e-t).map(e=>{let t=d.get(e)??[];return{key:e,width:Math.max(...t.map(e=>e.width)),height:t.reduce((e,t)=>e+t.height,0)+Xet*(t.length-1)}}),p=Math.max(...f.map(e=>e.height)),m=0;for(let e of f){let t=d.get(e.key)??[],n=(p-e.height)/2;for(let r of t)r.x=m+(e.width-r.width)/2,r.y=n,n+=r.height+Xet;m+=e.width+Yet}return{width:m-Yet,height:p,items:s}},s=o(null);a.set(`__root`,s);let c=[],l=[],u=(t,n,r,i)=>{for(let o of t.items){let t=n+o.x,s=r+o.y;if(o.kind===`node`){c.push({id:o.id,x:t,y:s,width:o.width,height:o.height});continue}let d=e.groups.find(e=>e.id===o.id);l.push({id:o.id,x:t,y:s,width:o.width,height:o.height,label:d?.label??``,depth:i});let f=a.get(o.id);f&&u(f,t+C9,s+C9+22,i+1)}};return u(s,C9,C9,0),{nodes:c,groups:l,width:s.width+28,height:s.height+28}}var $et=.3,ett=2,ttt=.0012,ntt=120,rtt=e=>Math.max($et,Math.min(ett,e)),itt={table:`var(--t-green)`,cte:`var(--t-blue)`,"cte-ref":`var(--t-teal)`,derived:`var(--t-mauve)`,scalar:`var(--t-lavender)`,setop:`var(--t-sky)`,result:`var(--t-peach)`},att={table:`result.structure.kindTable`,cte:`result.structure.kindCte`,"cte-ref":`result.structure.kindCteRef`,derived:`result.structure.kindDerived`,scalar:`result.structure.kindScalar`,setop:`result.structure.kindSetop`,result:`result.structure.kindResult`};function ott(e,t){let n=e.x+e.width,r=e.y+e.height/2,i=t.x,a=t.y+t.height/2,o=Math.max(28,Math.abs(i-n)/2);return`M ${n} ${r} C ${n+o} ${r}, ${i-o} ${a}, ${i} ${a}`}function stt({connectionId:e,tabId:t,index:n}){let{t:r}=ie(),i=Mt(t=>t.tabs[e]??Nt).find(e=>e.id===t)?.graphs?.[n]??null,a=i?.graph??null;(0,E.useEffect)(()=>{i&&!i.enriched&&i.graph&&E8(e,t,n)},[e,t,n,i]);let[o,s]=(0,E.useState)(1),[c,l]=(0,E.useState)({x:0,y:0}),u=(0,E.useRef)(null),d=(0,E.useRef)(null),f=(0,E.useRef)(null),[p,m]=(0,E.useState)(!1),[h,g]=(0,E.useState)(null),_=(0,E.useMemo)(()=>a?Qet(a):null,[a]),v=(0,E.useMemo)(()=>{if(!h||!a)return null;let e=new Set,t=new Set([h]);for(let n of a.edges)(n.from===h||n.to===h)&&(e.add(n.id),t.add(n.from),t.add(n.to));return{edges:e,nodes:t}},[h,a]),y=(0,E.useMemo)(()=>new Map((_?.nodes??[]).map(e=>[e.id,e])),[_]),b=(0,E.useMemo)(()=>new Map((a?.nodes??[]).map(e=>[e.id,e])),[a]),x=(0,E.useCallback)(()=>{let e=d.current;if(!e||!_||_.width===0)return;let t=rtt(Math.min(e.clientWidth/_.width,e.clientHeight/_.height,1));s(t),l({x:(e.clientWidth-_.width*t)/2,y:(e.clientHeight-_.height*t)/2})},[_]),S=(0,E.useCallback)(()=>{document.fullscreenElement?document.exitFullscreen().catch(()=>{}):f.current?.requestFullscreen().catch(()=>{})},[]);(0,E.useEffect)(()=>{let e=()=>{m(document.fullscreenElement===f.current),requestAnimationFrame(()=>x())};return document.addEventListener(`fullscreenchange`,e),()=>document.removeEventListener(`fullscreenchange`,e)},[x]);let C=(0,E.useCallback)(e=>{e.preventDefault();let t=Math.max(-120,Math.min(ntt,e.deltaY)),n=d.current?.getBoundingClientRect();s(r=>{let i=rtt(r*(1-t*ttt));if(n){let t=e.clientX-n.left,a=e.clientY-n.top;l(e=>({x:t-(t-e.x)/r*i,y:a-(a-e.y)/r*i}))}return i})},[]),w=(0,E.useCallback)(e=>{e.button===0&&(u.current={x:e.clientX,y:e.clientY,panX:c.x,panY:c.y})},[c]),T=(0,E.useCallback)(e=>{let t=u.current;t&&l({x:t.panX+(e.clientX-t.x),y:t.panY+(e.clientY-t.y)})},[]),ee=(0,E.useCallback)(()=>{u.current=null},[]),te=(0,E.useCallback)(n=>{!n.range||i?.documentOffset===null||i===null||on(e,t,i.documentOffset+n.range[0],i.documentOffset+n.range[1])},[e,t,i]);if(!i)return(0,$.jsx)(`div`,{className:`p-4 text-xs text-muted-foreground`,children:r(`result.structure.empty`)});if(!a||!_)return(0,$.jsx)(`div`,{className:`p-4 text-xs text-muted-foreground`,children:i.message});let ne=e=>e===null?r(`result.structure.columnsUnknown`):r(`result.structure.columns`,{count:e});return(0,$.jsxs)(`div`,{ref:f,className:`relative h-full w-full overflow-hidden`,style:{background:`var(--t-mantle)`},children:[(0,$.jsxs)(`div`,{className:`absolute right-2 top-2 z-10 flex gap-1`,children:[(0,$.jsxs)(`button`,{type:`button`,onClick:x,className:`flex items-center gap-1 rounded border bg-background/80 px-2 py-1 text-[11px] text-muted-foreground hover:text-foreground`,children:[(0,$.jsx)(x6,{className:`size-3`}),r(`result.structure.fit`)]}),(0,$.jsxs)(`button`,{type:`button`,onClick:S,className:`flex items-center gap-1 rounded border bg-background/80 px-2 py-1 text-[11px] text-muted-foreground hover:text-foreground`,children:[p?(0,$.jsx)(_1e,{className:`size-3`}):(0,$.jsx)(Z$e,{className:`size-3`}),r(p?`result.structure.exitFullscreen`:`result.structure.fullscreen`)]})]}),a.warnings.length>0&&(0,$.jsx)(`div`,{className:`absolute left-2 top-2 z-10 rounded border px-2 py-1 text-[11px]`,style:{borderColor:`var(--t-yellow)`,color:`var(--t-yellow)`},children:r(`result.structure.notDrawn`,{what:a.warnings.join(`; `)})}),(0,$.jsx)(`div`,{ref:d,className:`h-full w-full cursor-grab active:cursor-grabbing`,onWheel:C,onMouseDown:w,onMouseMove:T,onMouseUp:ee,onMouseLeave:ee,children:(0,$.jsxs)(`div`,{className:`relative origin-top-left`,style:{width:_.width,height:_.height,transform:`translate(${c.x}px, ${c.y}px) scale(${o})`},children:[_.groups.map(e=>(0,$.jsx)(`div`,{className:`absolute rounded-md border border-dashed`,style:{left:e.x,top:e.y,width:e.width,height:e.height,borderColor:`var(--t-surface2, var(--t-overlay0))`,background:e.depth%2==0?`var(--t-base, transparent)`:`var(--t-surface0)`,opacity:.9},children:(0,$.jsx)(`div`,{className:`px-2 pt-1 text-[10px] font-semibold uppercase tracking-wide`,style:{height:22,color:`var(--t-overlay1)`},children:e.label})},e.id)),(0,$.jsxs)(`svg`,{className:`pointer-events-none absolute inset-0`,width:_.width,height:_.height,children:[(0,$.jsxs)(`defs`,{children:[(0,$.jsx)(`marker`,{id:`qg-arrow`,markerWidth:`8`,markerHeight:`8`,refX:`7`,refY:`4`,orient:`auto`,children:(0,$.jsx)(`path`,{d:`M0,0 L8,4 L0,8 z`,fill:`var(--t-overlay1)`})}),(0,$.jsx)(`marker`,{id:`qg-arrow-lit`,markerWidth:`8`,markerHeight:`8`,refX:`7`,refY:`4`,orient:`auto`,children:(0,$.jsx)(`path`,{d:`M0,0 L8,4 L0,8 z`,fill:`var(--t-blue)`})})]}),a.edges.map(e=>{let t=y.get(e.from),n=y.get(e.to);if(!t||!n)return null;let r=b.get(e.from),i=v?.edges.has(e.id)??!1;return(0,$.jsxs)(`g`,{style:{opacity:v!==null&&!i?.18:1,transition:`opacity 120ms`},children:[(0,$.jsx)(`path`,{d:ott(t,n),fill:`none`,stroke:i?`var(--t-blue)`:`var(--t-overlay1)`,strokeWidth:i?2.2:1.2,strokeDasharray:e.kind===`scalar`?`4 3`:void 0,markerEnd:i?`url(#qg-arrow-lit)`:`url(#qg-arrow)`}),r?.columnCount!==null&&r!==void 0&&(0,$.jsx)(`text`,{x:(t.x+t.width+n.x)/2,y:(t.y+n.y)/2+t.height/2-4,textAnchor:`middle`,fontSize:10,fontWeight:i?600:400,fill:i?`var(--t-blue)`:`var(--t-overlay1)`,children:r.columnCount})]},e.id)})]}),_.nodes.map(e=>{let t=b.get(e.id);if(!t)return null;let n=itt[t.kind],i=v?.nodes.has(e.id)??!1,a=v!==null&&!i;return(0,$.jsxs)(`button`,{type:`button`,title:t.range?r(`result.structure.reveal`):void 0,onClick:()=>te(t),onMouseEnter:()=>g(e.id),onMouseLeave:()=>g(t=>t===e.id?null:t),onFocus:()=>g(e.id),onBlur:()=>g(t=>t===e.id?null:t),className:`absolute overflow-hidden rounded-md border text-left shadow-sm`,style:{left:e.x,top:e.y,width:e.width,height:e.height,background:h===e.id?`var(--t-surface1)`:`var(--t-surface0)`,borderColor:i?`var(--t-blue)`:`var(--t-surface2, var(--t-overlay0))`,borderLeft:`3px solid ${n}`,cursor:t.range?`pointer`:`default`,opacity:a?.35:1,transition:`opacity 120ms, background 120ms, border-color 120ms`},children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-1 px-2 pt-1.5`,children:[(0,$.jsxs)(`span`,{className:`truncate text-[12px] font-semibold`,style:{color:`var(--t-foreground)`},children:[t.label,t.alias&&(0,$.jsx)(`span`,{className:`ml-1 font-normal`,style:{color:`var(--t-overlay1)`},children:t.alias})]}),(0,$.jsx)(`span`,{className:`shrink-0 rounded px-1 py-px text-[9px] font-semibold`,style:{background:n,color:`var(--t-crust, var(--t-background))`},children:r(att[t.kind])})]}),(0,$.jsx)(`div`,{className:`px-2 pb-1.5 pt-1 text-[11px]`,style:{color:`var(--t-overlay1)`},children:ne(t.columnCount)})]},e.id)})]})})]})}var ctt=[];function ltt({connectionId:e,tabId:t}){let{t:n}=ie(),r=Mt(t=>t.tabs[e]??Nt).find(e=>e.id===t),i=r?.results??ctt,a=!!r?.plan,o=(0,E.useMemo)(()=>r?.graphs??[],[r?.graphs]),[s,c]=(0,E.useState)({results:i,closed:new Set,activeTab:null}),l=s.results===i?s:{results:i,closed:new Set,activeTab:null},u=l.closed,d=(0,E.useMemo)(()=>i.map((e,t)=>({result:e,index:t})).filter(e=>e.result.fields.length>0),[i]),f=(0,E.useMemo)(()=>d.filter(e=>!u.has(e.index)),[d,u]),p=l.activeTab??(d.length>0?`result-${d[0].index}`:`message`),m=(0,E.useCallback)(e=>{c(t=>({...t.results===i?t:{results:i,closed:new Set},activeTab:e}))},[i]),h=(0,E.useRef)(!1);(0,E.useEffect)(()=>{if(h.current)return;let n=r?.sourceTable;!n||i.length>0||r?.isExecuting||(h.current=!0,Mt.getState().setExecuting(e,t,!0),(async()=>{try{let r=await B6(e,{database:n.database,table:n.table,tabId:t,page:0});r.sourceTable=n,Mt.getState().setResults(e,t,[r])}catch(n){let r=n instanceof Error?n.message:String(n);Mt.getState().setError(e,t,r)}finally{Mt.getState().setExecuting(e,t,!1)}})())},[r?.sourceTable,r?.isExecuting,i,e,t]);let g=(0,E.useRef)(r?.graphs??null),_=(0,E.useRef)(r?.plan??null);(0,E.useEffect)(()=>{let e=r?.plan??null;e&&e!==_.current&&m(`plan`),_.current=e},[r?.plan,m]),(0,E.useEffect)(()=>{let e=r?.graphs??null;e&&e!==g.current&&e[0]?.focus&&m(`structure-0`),g.current=e},[r?.graphs,m]);let v=(0,E.useCallback)((e,t)=>{e.stopPropagation(),c(e=>{let n=e.results===i?e:{results:i,closed:new Set,activeTab:null},r=new Set(n.closed);r.add(t);let a=p===`result-${t}`;return{results:i,closed:r,activeTab:a?`message`:n.activeTab}})},[i,p]);return(0,$.jsxs)(m5,{value:p,onValueChange:m,className:`relative flex h-full flex-col`,children:[(0,$.jsx)(I3e,{connectionId:e,running:r?.isExecuting??!1}),(0,$.jsxs)(h5,{className:`h-8 w-full justify-start rounded-none border-b bg-muted/30`,children:[(0,$.jsx)(g5,{value:`message`,className:`h-7 !rounded-sm !border-0 px-3 text-xs !text-muted-foreground hover:!text-foreground data-[state=active]:!bg-primary data-[state=active]:!text-primary-foreground data-[state=active]:font-semibold data-[state=active]:!shadow-none after:!hidden`,children:n(`result.tabs.message`)}),(0,$.jsx)(g5,{value:`info`,className:`h-7 !rounded-sm !border-0 px-3 text-xs !text-muted-foreground hover:!text-foreground data-[state=active]:!bg-primary data-[state=active]:!text-primary-foreground data-[state=active]:font-semibold data-[state=active]:!shadow-none after:!hidden`,children:n(`result.tabs.info`)}),(0,$.jsx)(g5,{value:`history`,className:`h-7 !rounded-sm !border-0 px-3 text-xs !text-muted-foreground hover:!text-foreground data-[state=active]:!bg-primary data-[state=active]:!text-primary-foreground data-[state=active]:font-semibold data-[state=active]:!shadow-none after:!hidden`,children:n(`result.tabs.history`)}),a&&(0,$.jsx)(g5,{value:`plan`,className:`h-7 !rounded-sm !border-0 px-3 text-xs !text-muted-foreground hover:!text-foreground data-[state=active]:!bg-primary data-[state=active]:!text-primary-foreground data-[state=active]:font-semibold data-[state=active]:!shadow-none after:!hidden`,children:n(`result.tabs.plan`)}),f.map((e,t)=>(0,$.jsxs)(g5,{value:`result-${e.index}`,className:`h-7 gap-1 !rounded-sm !border-0 px-3 text-xs !text-muted-foreground hover:!text-foreground data-[state=active]:!bg-primary data-[state=active]:!text-primary-foreground data-[state=active]:font-semibold data-[state=active]:!shadow-none after:!hidden`,children:[(0,$.jsx)(`span`,{children:d.length===1?n(`result.tabs.result`):n(`result.tabs.resultN`,{n:t+1})}),(0,$.jsx)(`button`,{type:`button`,className:`ml-0.5 rounded p-0.5 opacity-60 hover:bg-muted hover:opacity-100`,onClick:t=>v(t,e.index),children:(0,$.jsx)(ue,{className:`size-3`})})]},`result-${e.index}`)),o.map((e,t)=>(0,$.jsx)(g5,{value:`structure-${t}`,className:`h-7 !rounded-sm !border-0 px-3 text-xs !text-muted-foreground hover:!text-foreground data-[state=active]:!bg-primary data-[state=active]:!text-primary-foreground data-[state=active]:font-semibold data-[state=active]:!shadow-none after:!hidden`,children:o.length===1?n(`result.tabs.structure`):n(`result.tabs.structureN`,{n:t+1})},`structure-${t}`))]}),(0,$.jsx)(_5,{value:`message`,className:`mt-0 flex-1 overflow-hidden`,children:(0,$.jsx)($3e,{connectionId:e,tabId:t})}),(0,$.jsx)(_5,{value:`info`,className:`mt-0 flex-1 overflow-hidden`,children:(0,$.jsx)(Fet,{connectionId:e,tabId:t})}),(0,$.jsx)(_5,{value:`history`,className:`mt-0 flex-1 overflow-hidden`,children:(0,$.jsx)(Vet,{connectionId:e})}),a&&(0,$.jsx)(_5,{value:`plan`,className:`mt-0 flex-1 overflow-hidden`,children:(0,$.jsx)(Jet,{connectionId:e,tabId:t})}),o.map((n,r)=>(0,$.jsx)(_5,{value:`structure-${r}`,className:`mt-0 flex-1 overflow-hidden`,children:(0,$.jsx)(stt,{connectionId:e,tabId:t,index:r})},`structure-${r}`)),f.map(n=>(0,$.jsx)(_5,{value:`result-${n.index}`,className:`mt-0 flex-1 overflow-hidden`,children:(0,$.jsx)(Met,{connectionId:e,tabId:t,resultIndex:n.index})},`result-${n.index}`))]})}function utt({connectionId:e,tabId:t}){let[n,r]=(0,E.useState)(300),[i,a]=(0,E.useState)(!1),o=(0,E.useRef)(null),s=(0,E.useCallback)(e=>{e.preventDefault(),a(!0)},[]);return(0,E.useEffect)(()=>{if(!i)return;let e=e=>{if(!o.current)return;let t=o.current.getBoundingClientRect().bottom-e.clientY;r(Math.min(600,Math.max(100,t)))},t=()=>{a(!1)};return document.addEventListener(`mousemove`,e),document.addEventListener(`mouseup`,t),()=>{document.removeEventListener(`mousemove`,e),document.removeEventListener(`mouseup`,t)}},[i]),(0,$.jsxs)(`div`,{ref:o,className:`flex h-full flex-col`,style:{userSelect:i?`none`:void 0},children:[(0,$.jsx)(`div`,{className:`min-h-[100px] flex-1`,children:(0,$.jsx)(F3e,{connectionId:e,tabId:t})}),(0,$.jsx)(`div`,{onMouseDown:s,className:`h-1 flex-shrink-0 cursor-row-resize border-t transition-colors ${i?`bg-primary/40`:`hover:bg-primary/40`}`}),(0,$.jsx)(`div`,{className:`flex-shrink-0 overflow-hidden`,style:{height:n},children:(0,$.jsx)(ltt,{connectionId:e,tabId:t})})]})}var dtt={redis:(0,E.lazy)(()=>C(()=>import(`./X0frSBI-.js`).then(e=>({default:e.RedisKeyViewer})),__vite__mapDeps([32,1,2,3,33,5,6,7,8,13,14,9,10,11,12,15,16,17,18,19,29,4]))),search:(0,E.lazy)(()=>C(()=>import(`./BanAYgsJ.js`).then(e=>({default:e.DocumentViewer})),__vite__mapDeps([34,1,2,3,33,5,6,7,8,13,14,9,10,11,12,15,16,17,18,19])))};function ftt({connectionId:e,tabId:t}){let{t:n}=ie(),r=H6(e),i=Mt(n=>n.tabs[e]?.find(e=>e.id===t)?.sourceItem);if(!i||Ue(r))return(0,$.jsx)(`p`,{className:`p-6 text-sm text-muted-foreground`,children:n(`keyViewer.noViewer`)});let a=dtt[r.kind];return a?(0,$.jsx)(E.Suspense,{fallback:null,children:(0,$.jsx)(a,{connectionId:e,tabId:t,item:i})}):(0,$.jsx)(`p`,{className:`p-6 text-sm text-muted-foreground`,children:n(`keyViewer.noViewer`)})}function ptt({connectionId:e,tabId:t}){let{t:n}=ie(),r=H6(e),i=Mt(n=>n.tabs[e]?.find(e=>e.id===t)?.sourceTool),a=Mt(n=>n.tabs[e]?.find(e=>e.id===t)?.query??``),o=M8(r).find(e=>e.id===i);if(!o)return(0,$.jsx)(`p`,{className:`p-6 text-sm text-muted-foreground`,children:n(`tools.unavailable`)});let s=o.component;return(0,$.jsx)(E.Suspense,{fallback:null,children:(0,$.jsx)(s,{connectionId:e,tabId:t,input:a},a)})}async function mtt(e,t){let n=tn(e),r=It(e),{introspect:i}=n,a=await i.listTables(r,t),o=a.map(e=>e.name),[s,c,l]=await Promise.all([i.listAllColumns(r,t),i.listAllIndexes(r,t).catch(()=>new Map),i.listForeignKeys(r,t).catch(()=>[])]),u=new Set;for(let e of l)u.add(`${e.table}.${e.column}`);let d=new Set;for(let[e,t]of c)for(let n of t)n.type===`UNIQUE`&&n.columns.length===1&&d.add(`${e}.${n.columns[0]}`);let f=a.map(e=>({name:e.name,kind:`model`,x:0,y:0,comment:e.comment,columns:(s.get(e.name)??[]).map(t=>{let n=`${e.name}.${t.name}`,r=[];return t.key===`PRI`&&r.push(`PK`),u.has(n)&&r.push(`FK`),d.has(n)&&t.key!==`PRI`&&r.push(`UK`),{type:t.type+(t.extra.includes(`auto_increment`)?` AI`:``)+(t.nullable?`?`:``),name:t.name,badge:r.length>0?r[0]:null,badges:r,comment:t.comment}})})),p=new Set(o),m=new Set,h=[];for(let e of l){let{table:t,column:n,refTable:r}=e;if(!t||!r||!p.has(t)||!p.has(r)||t===r)continue;let i=`${t}->${r}:${n}`,a=`${r}->${t}:${n}`;m.has(i)||m.has(a)||(m.add(i),h.push({from:t,to:r,type:`1:N`,label:n}))}return{models:f,relations:h}}var w9=[70,170,180];function T9(e){return 52+e.columns.length*22+4}function E9(e){return e.reduce((e,t)=>e+t,0)+20}var htt=2.399963229728653,D9=50,gtt=50,O9=56,k9=E9(w9),_tt=120,vtt=.5,ytt=.15,btt=.15,xtt=1.6;function Stt(e,t,n,r=80){let i=e.length,a=t.map(e=>({hw:e.w/2+n/2,hh:e.h/2+n/2})),o=!1;for(let t=0;t<r;t++){let t=!1;for(let n=0;n<i;n++)for(let r=n+1;r<i;r++){let i=e[r].x-e[n].x,o=e[r].y-e[n].y,s=a[n].hw+a[r].hw-Math.abs(i),c=a[n].hh+a[r].hh-Math.abs(o);if(s>0&&c>0){if(t=!0,s<c){let t=(i<0?-1:1)*s/2;e[n].x-=t,e[r].x+=t}else{let t=(o<0?-1:1)*c/2;e[n].y-=t,e[r].y+=t}}}if(!t)break;o=!0}return o}function Ctt(e,t){let n=e.length,r=e.map(e=>({w:k9,h:T9(e)})),i=r.reduce((e,t)=>e+t.h,0)/n,a=Math.max(k9,i)*.32+24,o=e.map((e,t)=>{let n=a*.55*Math.sqrt(t+.5);return{x:Math.cos(t*htt)*n,y:Math.sin(t*htt)*n}}),s=a*1.8,c=s/321,l=o.map(()=>({x:0,y:0}));for(let e=0;e<320;e++){for(let e=0;e<n;e++)l[e].x=0,l[e].y=0;for(let e=0;e<n;e++)for(let t=e+1;t<n;t++){let n=o[e].x-o[t].x,r=o[e].y-o[t].y,i=Math.hypot(n,r)||.01,s=.28*a*a/i,c=n/i,u=r/i;l[e].x+=c*s,l[e].y+=u*s,l[t].x-=c*s,l[t].y-=u*s}for(let[e,n]of t){let t=o[e].x-o[n].x,r=o[e].y-o[n].y,i=Math.hypot(t,r)||.01,s=i*i/a,c=t/i,u=r/i;l[e].x-=c*s,l[e].y-=u*s,l[n].x+=c*s,l[n].y+=u*s}for(let e=0;e<n;e++)l[e].x-=o[e].x*.1,l[e].y-=o[e].y*.1;for(let e=0;e<n;e++){let t=Math.hypot(l[e].x,l[e].y)||.01,n=Math.min(t,s);o[e].x+=l[e].x/t*n,o[e].y+=l[e].y/t*n}s=Math.max(s-c,a*.05)}Stt(o,r,O9);let u=1/0,d=1/0;for(let e=0;e<n;e++)u=Math.min(u,o[e].x-r[e].w/2),d=Math.min(d,o[e].y-r[e].h/2);return e.map((e,t)=>({x:o[t].x-r[t].w/2-u,y:o[t].y-r[t].h/2-d}))}function wtt(e){let t=Math.max(1,Math.round(Math.sqrt(e.length))),n=Array(t).fill(0);return e.map(e=>{let r=0;for(let e=1;e<t;e++)n[e]<n[r]&&(r=e);let i={x:r*(k9+O9),y:n[r]};return n[r]+=T9(e)+O9,i})}function Ttt(e,t,n){let r=[...e,...t];if(r.length===0)return;let i=new Map(r.map((e,t)=>[e.name,t])),a=Array(r.length).fill(0),o=[];n.forEach(e=>{let t=i.get(e.from),n=i.get(e.to);t!==void 0&&n!==void 0&&t!==n&&(o.push([t,n]),a[t]++,a[n]++)});let s=r.filter((e,t)=>a[t]>0),c=r.filter((e,t)=>a[t]===0),l=D9;if(s.length>0){let e=new Map(s.map((e,t)=>[e.name,t])),t=Ctt(s,o.map(([t,n])=>[e.get(r[t].name),e.get(r[n].name)]).filter(([e,t])=>e!==void 0&&t!==void 0));s.forEach((e,n)=>{e.x=Math.round(D9+t[n].x),e.y=Math.round(gtt+t[n].y),l=Math.max(l,e.x+k9)})}if(c.length>0){let e=s.length>0?l+_tt:D9,t=wtt(c);c.forEach((n,r)=>{n.x=Math.round(e+t[r].x),n.y=Math.round(gtt+t[r].y)})}}function Ett(e,t,n,r=100){let i=e.length;if(i<2)return!1;let a=e.map(e=>({w:n(e),h:T9(e)})),o=e.map((e,t)=>({x:e.x+a[t].w/2,y:e.y+a[t].h/2})),s=Math.min(...e.map(e=>e.x)),c=Math.min(...e.map(e=>e.y)),l=new Map(e.map((e,t)=>[e.name,t])),u=[];for(let e of t){let t=l.get(e.from),n=l.get(e.to);t!==void 0&&n!==void 0&&t!==n&&u.push([t,n])}let d=(e,t)=>Math.max((a[e].w+a[t].w)/2,(a[e].h+a[t].h)/2)+r,f=a.map(e=>(Math.max(e.w,e.h)+r)/2).reduce((e,t)=>e+t*t,0),p=Math.sqrt(f)*1.45,m=o.map(()=>({x:0,y:0})),h=r,g=h/201;for(let e=0;e<200;e++){for(let e=0;e<i;e++)m[e].x=0,m[e].y=0;for(let e=0;e<i;e++)for(let t=e+1;t<i;t++){let n=o[e].x-o[t].x,r=o[e].y-o[t].y,i=Math.hypot(n,r)||.01,a=d(e,t);if(i>=a)continue;let s=vtt*(a-i),c=n/i,l=r/i;m[e].x+=c*s,m[e].y+=l*s,m[t].x-=c*s,m[t].y-=l*s}for(let[e,t]of u){let n=o[e].x-o[t].x,r=o[e].y-o[t].y,i=Math.hypot(n,r)||.01,a=(i-d(e,t)*xtt)*ytt,s=n/i,c=r/i;m[e].x-=s*a,m[e].y-=c*a,m[t].x+=s*a,m[t].y+=c*a}let e=0,t=0;for(let n of o)e+=n.x,t+=n.y;e/=i,t/=i;for(let n=0;n<i;n++){let r=o[n].x-e,i=o[n].y-t,a=Math.hypot(r,i);if(a<=p)continue;let s=(a-p)*btt;m[n].x-=r/a*s,m[n].y-=i/a*s}for(let e=0;e<i;e++){let t=Math.hypot(m[e].x,m[e].y)||.01,n=Math.min(t,h);o[e].x+=m[e].x/t*n,o[e].y+=m[e].y/t*n}h=Math.max(h-g,0)}Stt(o,a,r,300);let _=1/0,v=1/0;for(let e=0;e<i;e++)_=Math.min(_,o[e].x-a[e].w/2),v=Math.min(v,o[e].y-a[e].h/2);let y=s-_,b=c-v,x=!1;return e.forEach((e,t)=>{let n=Math.round(o[t].x-a[t].w/2+y),r=Math.round(o[t].y-a[t].h/2+b);(n!==e.x||r!==e.y)&&(x=!0),e.x=n,e.y=r}),x}function Dtt(e,t){return`${e.targetConnectionId?`${t.connectionName(e.targetConnectionId)} · ${e.targetDatabase}`:e.targetDatabase}.${e.targetTable}`}function Ott(e,t,n,r){let i=new Map(e.map(e=>[e.name,e])),a=new Set(t.map(e=>`${e.from}->${e.to}:${e.label}`)),o=[...e],s=[...t],c=new Map;for(let e of n.filter(e=>e.database===r.database)){let t=i.get(e.table);if(!t)continue;let n=!e.targetConnectionId&&e.targetDatabase===r.database,l;if(n&&i.has(e.targetTable))l=e.targetTable;else{l=Dtt(e,r);let n=c.get(l);n||(n={name:l,kind:`model`,external:e.targetConnectionId?r.connectionName(e.targetConnectionId):e.targetDatabase,x:t.x+E9(w9)+120,y:t.y,comment:``,columns:[]},c.set(l,n),o.push(n)),n.columns.some(t=>t.name===e.targetColumn)||n.columns.push({type:``,name:e.targetColumn,badge:`PK`,badges:[`PK`],comment:``})}if(e.table===l)continue;let u=`${e.table}->${l}:${e.column}`;a.has(u)||(a.add(u),s.push({from:e.table,to:l,type:`1:N`,label:e.column,virtual:!0}))}return{models:o,relations:s}}function ktt({zoom:e,database:t,tableCount:n,relationCount:r,fieldCount:i,onZoomIn:a,onZoomOut:o,onResetView:s,onCenter:c,onFitAll:l,onSpreadAll:u,onResetLayout:d,onRefresh:f,isFullscreen:p,onToggleFullscreen:m}){let{t:h}=ie();return(0,$.jsxs)(`div`,{className:`relative z-10 flex flex-wrap items-center gap-1.5 border-b px-4 py-1.5`,style:{background:`var(--t-mantle)`,borderColor:`var(--t-surface1)`},children:[t&&(0,$.jsxs)(`span`,{className:`flex items-center gap-1.5 text-xs font-semibold`,style:{color:`var(--t-yellow)`},children:[(0,$.jsx)(f6,{className:`size-3.5`}),t]}),(0,$.jsxs)(b,{variant:`outline`,size:`sm`,className:`h-7 gap-1 px-2.5 text-xs`,style:{borderColor:`var(--t-green)`,color:`var(--t-green)`},onClick:f,children:[(0,$.jsx)(E6,{className:`size-3.5`}),h(`erd.toolbar.refresh`)]}),(0,$.jsx)(`div`,{className:`mx-1 h-5 w-px`,style:{background:`var(--t-surface1)`}}),(0,$.jsxs)(b,{variant:`outline`,size:`sm`,className:`h-7 px-2 text-xs`,onClick:a,children:[(0,$.jsx)(M1e,{className:`mr-1 size-3.5`}),` `,h(`erd.toolbar.zoomIn`)]}),(0,$.jsxs)(b,{variant:`outline`,size:`sm`,className:`h-7 px-2 text-xs`,onClick:o,children:[(0,$.jsx)(N1e,{className:`mr-1 size-3.5`}),` `,h(`erd.toolbar.zoomOut`)]}),(0,$.jsxs)(b,{variant:`outline`,size:`sm`,className:`h-7 px-2 text-xs`,onClick:s,children:[(0,$.jsx)(m1e,{className:`mr-1 size-3.5`}),` `,h(`erd.toolbar.resetView`)]}),(0,$.jsxs)(b,{variant:`outline`,size:`sm`,className:`h-7 px-2 text-xs`,onClick:c,children:[(0,$.jsx)(X$e,{className:`mr-1 size-3.5`}),` `,h(`erd.toolbar.center`)]}),(0,$.jsxs)(b,{variant:`outline`,size:`sm`,className:`h-7 px-2 text-xs`,onClick:l,children:[(0,$.jsx)(x6,{className:`mr-1 size-3.5`}),` `,h(`erd.toolbar.fitAll`)]}),(0,$.jsxs)(b,{variant:`outline`,size:`sm`,className:`h-7 px-2 text-xs`,onClick:m,title:h(p?`erd.toolbar.exitFullscreen`:`erd.toolbar.fullscreen`),children:[p?(0,$.jsx)(_1e,{className:`mr-1 size-3.5`}):(0,$.jsx)(Z$e,{className:`mr-1 size-3.5`}),h(p?`erd.toolbar.exitFullscreen`:`erd.toolbar.fullscreen`)]}),(0,$.jsxs)(`span`,{className:`ml-1 text-xs`,style:{color:`var(--t-overlay0)`},children:[Math.round(e*100),`%`]}),(0,$.jsx)(`div`,{className:`mx-1 h-5 w-px`,style:{background:`var(--t-surface1)`}}),(0,$.jsxs)(b,{variant:`outline`,size:`sm`,className:`h-7 px-2 text-xs`,style:{background:`var(--t-blue)`,color:`var(--t-crust)`,borderColor:`var(--t-blue)`},onClick:u,children:[(0,$.jsx)(F$e,{className:`mr-1 size-3.5`}),` `,h(`erd.toolbar.spreadAll`)]}),(0,$.jsxs)(b,{variant:`outline`,size:`sm`,className:`h-7 px-2 text-xs`,style:{background:`var(--t-red)`,color:`var(--t-crust)`,borderColor:`var(--t-red)`},onClick:d,children:[(0,$.jsx)(o1e,{className:`mr-1 size-3.5`}),` `,h(`erd.toolbar.resetLayout`)]}),(0,$.jsxs)(`div`,{className:`ml-auto flex items-center gap-4 text-[11px]`,style:{color:`var(--t-overlay0)`},children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,$.jsx)(`span`,{className:`inline-block h-0.5 w-[30px]`,style:{background:`var(--t-red)`}}),`1:1`]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,$.jsx)(`span`,{className:`inline-block h-0.5 w-[30px]`,style:{background:`var(--t-blue)`}}),h(`erd.toolbar.legendOneToMany`)]}),n>0&&(0,$.jsxs)(`div`,{className:`flex items-center gap-3 text-[11px]`,style:{color:`var(--t-overlay0)`},children:[(0,$.jsxs)(`span`,{children:[h(`erd.toolbar.tables`),` `,(0,$.jsx)(`span`,{className:`font-semibold`,style:{color:`var(--t-foreground)`},children:n})]}),(0,$.jsxs)(`span`,{children:[h(`erd.toolbar.relations`),` `,(0,$.jsx)(`span`,{className:`font-semibold`,style:{color:`var(--t-foreground)`},children:r})]}),(0,$.jsxs)(`span`,{children:[h(`erd.toolbar.columns`),` `,(0,$.jsx)(`span`,{className:`font-semibold`,style:{color:`var(--t-foreground)`},children:i})]})]})]})]})}function Att({name:e,kind:t,external:n,onDragStart:r}){let{t:i}=ie(),a=i(n?`erd.entity.linkBadge`:t===`enum`?`erd.entity.enumBadge`:`erd.entity.modelBadge`),o=n?`var(--t-yellow)`:t===`enum`?`var(--t-peach)`:`var(--t-mauve)`;return(0,$.jsxs)(`div`,{className:`flex items-center justify-between rounded-t-md border-b-2 px-3 py-2 text-[13px] font-bold`,style:{background:`var(--t-surface1)`,borderColor:`var(--t-surface2, var(--t-overlay0))`,color:`var(--t-mauve)`,cursor:`grab`},onMouseDown:r,children:[(0,$.jsx)(`span`,{title:n?i(`erd.entity.externalTitle`,{location:n}):void 0,children:e}),(0,$.jsx)(`span`,{className:`rounded px-1.5 py-px text-[9px] font-semibold`,style:{background:o,color:`var(--t-base)`},children:a})]})}function jtt(e){switch(e){case`PK`:return`var(--t-red)`;case`FK`:return`var(--t-peach)`;case`UK`:return`var(--t-green)`;default:return`var(--t-overlay0)`}}function Mtt({entity:e,colWidths:t,onColResizeStart:n}){let{t:r}=ie(),i=e.kind===`enum`;return(0,$.jsx)(`div`,{className:`overflow-hidden p-0`,children:(0,$.jsxs)(`table`,{className:`w-full border-collapse text-[11px]`,style:{tableLayout:`fixed`},children:[(0,$.jsxs)(`colgroup`,{children:[(0,$.jsx)(`col`,{style:{width:t[0]+`px`}}),(0,$.jsx)(`col`,{style:{width:t[1]+`px`}}),(0,$.jsx)(`col`,{style:{width:t[2]+`px`}})]}),(0,$.jsx)(`thead`,{children:(0,$.jsx)(`tr`,{children:i?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`th`,{className:`relative px-2.5 py-1 text-left text-[10px] font-semibold uppercase`,style:{background:`var(--t-surface1)`,color:`var(--t-subtext0)`},children:[r(`erd.entity.columns.value`),n&&(0,$.jsx)(`div`,{className:`absolute right-[-3px] top-0 z-10 h-full w-1.5 cursor-col-resize hover:opacity-40`,style:{background:`transparent`},onMouseDown:t=>n(t,e.name,0)})]}),(0,$.jsxs)(`th`,{className:`relative px-2.5 py-1 text-left text-[10px] font-semibold uppercase`,style:{background:`var(--t-surface1)`,color:`var(--t-subtext0)`},children:[r(`erd.entity.columns.comment`),n&&(0,$.jsx)(`div`,{className:`absolute right-[-3px] top-0 z-10 h-full w-1.5 cursor-col-resize hover:opacity-40`,style:{background:`transparent`},onMouseDown:t=>n(t,e.name,1)})]}),(0,$.jsx)(`th`,{className:`px-2.5 py-1 text-left text-[10px] font-semibold uppercase`,style:{background:`var(--t-surface1)`,color:`var(--t-subtext0)`}})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`th`,{className:`relative px-2.5 py-1 text-left text-[10px] font-semibold uppercase`,style:{background:`var(--t-surface1)`,color:`var(--t-subtext0)`},children:[r(`erd.entity.columns.type`),n&&(0,$.jsx)(`div`,{className:`absolute right-[-3px] top-0 z-10 h-full w-1.5 cursor-col-resize hover:opacity-40`,style:{background:`transparent`},onMouseDown:t=>n(t,e.name,0)})]}),(0,$.jsxs)(`th`,{className:`relative px-2.5 py-1 text-left text-[10px] font-semibold uppercase`,style:{background:`var(--t-surface1)`,color:`var(--t-subtext0)`},children:[r(`erd.entity.columns.column`),n&&(0,$.jsx)(`div`,{className:`absolute right-[-3px] top-0 z-10 h-full w-1.5 cursor-col-resize hover:opacity-40`,style:{background:`transparent`},onMouseDown:t=>n(t,e.name,1)})]}),(0,$.jsx)(`th`,{className:`px-2.5 py-1 text-left text-[10px] font-semibold uppercase`,style:{background:`var(--t-surface1)`,color:`var(--t-subtext0)`},children:r(`erd.entity.columns.comment`)})]})})}),(0,$.jsx)(`tbody`,{children:e.columns.map((t,n)=>(0,$.jsx)(`tr`,{style:{borderBottom:n<e.columns.length-1?`1px solid var(--t-surface1)`:`none`},children:i?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`td`,{className:`overflow-hidden text-ellipsis whitespace-nowrap px-2.5 py-[3px]`,style:{color:`var(--t-yellow)`,lineHeight:1.5},children:t.name}),(0,$.jsx)(`td`,{className:`overflow-hidden text-ellipsis whitespace-nowrap px-2.5 py-[3px] text-[10px]`,style:{color:`var(--t-overlay0)`,lineHeight:1.5},colSpan:2,children:t.comment})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`td`,{className:`overflow-hidden text-ellipsis whitespace-nowrap px-2.5 py-[3px]`,style:{color:`var(--t-blue)`,lineHeight:1.5},children:t.type.replace(`?`,``)}),(0,$.jsxs)(`td`,{className:`overflow-hidden text-ellipsis whitespace-nowrap px-2.5 py-[3px]`,style:{color:`var(--t-text)`,lineHeight:1.5},children:[t.name,t.badges.map(e=>(0,$.jsx)(`span`,{className:`ml-1 inline-block rounded px-1 text-[9px] font-semibold`,style:{background:jtt(e),color:`var(--t-base)`},children:e},e)),t.type.endsWith(`?`)&&(0,$.jsx)(`span`,{className:`ml-1 inline-block rounded px-1 text-[9px] font-semibold`,style:{background:`var(--t-overlay0)`,color:`var(--t-subtext0)`},title:r(`erd.entity.nullable`),children:`NULL`})]}),(0,$.jsx)(`td`,{className:`overflow-hidden text-ellipsis whitespace-nowrap px-2.5 py-[3px] text-[10px]`,style:{color:`var(--t-overlay0)`,lineHeight:1.5},children:t.comment})]})},n))})]})})}function Ntt({entity:e,colWidths:t,isSelected:n,onMouseDown:r,onColResizeStart:i}){let a=(0,E.useCallback)(t=>{r(t,e.name)},[r,e.name]),o=t.reduce((e,t)=>e+t,0)+20,s=n?`var(--t-yellow)`:e.kind===`enum`?`var(--t-peach)`:`var(--t-overlay0)`;return(0,$.jsxs)(`div`,{className:`absolute select-none rounded-lg`,style:{left:e.x,top:e.y,width:Math.max(o,200),minWidth:200,background:`var(--t-base)`,border:`2px solid ${s}`,boxShadow:n?`0 8px 24px rgba(0,0,0,0.6)`:`0 4px 12px rgba(0,0,0,0.4)`,zIndex:n?1e3:1,transition:`box-shadow 0.15s`},onMouseEnter:t=>{if(!n){let n=t.currentTarget;n.style.borderColor=e.kind===`enum`?`var(--t-yellow)`:`var(--t-blue)`}},onMouseLeave:t=>{if(!n){let n=t.currentTarget;n.style.borderColor=e.kind===`enum`?`var(--t-peach)`:`var(--t-overlay0)`}},children:[(0,$.jsx)(Att,{name:e.name,kind:e.kind,external:e.external,onDragStart:a}),(0,$.jsx)(Mtt,{entity:e,colWidths:t,onColResizeStart:i})]})}function Ptt(e,t){return e[t]||[...w9]}function Ftt(e,t){let n=E9(Ptt(t,e.name)),r=T9(e);return{x:e.x,y:e.y,w:n,h:r,cx:e.x+n/2,cy:e.y+r/2}}function Itt({entities:e,relations:t,entityWidths:n}){let r=(()=>{if(e.length===0)return null;let r=new Map;e.forEach(e=>r.set(e.name,e));let i=1/0,a=1/0,o=-1/0,s=-1/0;e.forEach(e=>{let t=Ptt(n,e.name);i=Math.min(i,e.x-200),a=Math.min(a,e.y-200),o=Math.max(o,e.x+E9(t)+200),s=Math.max(s,e.y+T9(e)+200)});let c=o-i,l=s-a,u={};function d(e,t){let n=`${e}_${t}`;return u[n]||(u[n]=0),(u[n]++-1)*16}let f=[];return t.forEach(e=>{let t=r.get(e.from),i=r.get(e.to);if(!t||!i)return;let a=Ftt(t,n),o=Ftt(i,n),s,c,l,u,p=o.cx-a.cx,m=o.cy-a.cy;if(Math.abs(p)>Math.abs(m)){if(p>0){let t=d(e.from,`right`),n=d(e.to,`left`);s=a.x+a.w+16,c=a.y+40+t,l=o.x-16,u=o.y+40+n}else{let t=d(e.from,`left`),n=d(e.to,`right`);s=a.x-16,c=a.y+40+t,l=o.x+o.w+16,u=o.y+40+n}}else if(m>0){let t=d(e.from,`bottom`),n=d(e.to,`top`);s=a.x+60+t,c=a.y+a.h+16,l=o.x+60+n,u=o.y-16}else{let t=d(e.from,`top`),n=d(e.to,`bottom`);s=a.x+60+t,c=a.y-16,l=o.x+60+n,u=o.y+o.h+16}let h=e.type===`1:1`?`var(--t-red)`:`var(--t-blue)`,g=e.type===`1:1`?`url(#erd-one)`:`url(#erd-crowfoot)`,_=(s+l)/2,v=(c+u)/2,y=Math.abs(p)>Math.abs(m)?`M${s},${c} C${_},${c} ${_},${u} ${l},${u}`:`M${s},${c} C${s},${v} ${l},${v} ${l},${u}`;f.push({d:y,color:h,markerEnd:g,label:`${e.virtual?`⇢ `:``}${e.type} ${e.label}`,midX:_,midY:v,virtual:!!e.virtual})}),{minX:i,minY:a,svgW:c,svgH:l,paths:f}})();if(!r)return null;let{minX:i,minY:a,svgW:o,svgH:s,paths:c}=r;return(0,$.jsxs)(`svg`,{className:`pointer-events-none absolute left-0 top-0`,style:{left:i,top:a},width:o,height:s,viewBox:`${i} ${a} ${o} ${s}`,children:[(0,$.jsxs)(`defs`,{children:[(0,$.jsxs)(`marker`,{id:`erd-crowfoot`,viewBox:`0 0 12 12`,refX:`12`,refY:`6`,markerWidth:`10`,markerHeight:`10`,orient:`auto`,children:[(0,$.jsx)(`line`,{x1:`0`,y1:`0`,x2:`12`,y2:`6`,stroke:`var(--t-blue)`,strokeWidth:`1.5`}),(0,$.jsx)(`line`,{x1:`0`,y1:`12`,x2:`12`,y2:`6`,stroke:`var(--t-blue)`,strokeWidth:`1.5`}),(0,$.jsx)(`line`,{x1:`0`,y1:`6`,x2:`12`,y2:`6`,stroke:`var(--t-blue)`,strokeWidth:`1.5`})]}),(0,$.jsxs)(`marker`,{id:`erd-one`,viewBox:`0 0 12 12`,refX:`12`,refY:`6`,markerWidth:`8`,markerHeight:`8`,orient:`auto`,children:[(0,$.jsx)(`line`,{x1:`8`,y1:`0`,x2:`8`,y2:`12`,stroke:`var(--t-red)`,strokeWidth:`2`}),(0,$.jsx)(`line`,{x1:`12`,y1:`0`,x2:`12`,y2:`12`,stroke:`var(--t-red)`,strokeWidth:`2`})]})]}),c.map((e,t)=>(0,$.jsxs)(`g`,{children:[(0,$.jsx)(`path`,{d:e.d,stroke:e.color,strokeWidth:`1.5`,fill:`none`,markerEnd:e.markerEnd,opacity:`0.7`,strokeDasharray:e.virtual?`6 4`:void 0}),(0,$.jsx)(`text`,{x:e.midX,y:e.midY-6,textAnchor:`middle`,fill:`var(--t-overlay0)`,fontSize:`10`,children:e.label})]},t))]})}var Ltt=.15,Rtt=3,ztt=.0012,Btt=120,Vtt=e=>Math.max(Ltt,Math.min(Rtt,e));function Htt(e){let t=Pt.getState(),n=t.selectedNodeId[e],r=t.trees[e];if(!r)return null;let i=null,a=null;function o(e){for(let t of e){let e=t.metadata?.database;e&&a===null&&(t.type===Xe.DATABASE||t.type===Xe.SCHEMA)&&(a=e),t.id===n&&e&&(i=e),t.children.length>0&&o(t.children)}}return o(r),i??a}function Utt({connectionId:e}){let{t}=ie(),[n,r]=(0,E.useState)([]),[i,a]=(0,E.useState)([]),[o,s]=(0,E.useState)(1),[c,l]=(0,E.useState)(0),[u,d]=(0,E.useState)(0),[f,p]=(0,E.useState)(null),[m,h]=(0,E.useState)({}),[g,_]=(0,E.useState)(null),[v,y]=(0,E.useState)(!1),[b,x]=(0,E.useState)(null),[,S]=(0,E.useState)(0),C=(0,E.useRef)(null),w=(0,E.useRef)(null),[T,ee]=(0,E.useState)(!1),te=(0,E.useRef)(null),ne=(0,E.useRef)(!1),re=(0,E.useRef)({x:0,y:0}),ae=(0,E.useRef)({x:0,y:0}),oe=(0,E.useRef)(1),se=(0,E.useRef)(null),ce=(0,E.useRef)(null),le=(0,E.useRef)([]),ue=(0,E.useRef)({}),de=(0,E.useRef)(null),fe=(0,E.useRef)(null),pe=P8(e=>e.links),me=(0,E.useCallback)((t,n)=>{let r=(P8.getState().links[e]??[]).filter(e=>e.database===n);return r.length===0?{models:[...t.models],relations:[...t.relations]}:Ott(t.models.map(e=>({...e})),t.relations,r,{connectionId:e,database:n,connectionName:e=>{let t=ct.getState().activeConnections.find(t=>t.id===e)??ct.getState().savedConnections.find(t=>t.id===e);return t?t.hostName||t.host||t.file||t.id:e}})},[e]);(0,E.useEffect)(()=>{let e=fe.current,t=de.current;if(!e||!t)return;let n=me(e,t),i=new Map(le.current.map(e=>[e.name,{x:e.x,y:e.y}]));for(let e of n.models){let t=i.get(e.name);t&&(e.x=t.x,e.y=t.y)}le.current=n.models,r(n.models),a(n.relations)},[pe]),le.current=n,ue.current=m,oe.current=o,ae.current={x:c,y:u},de.current=g;let he=(0,E.useCallback)(e=>ue.current[e]||[...w9],[]),ge=(0,E.useCallback)(()=>{let e={};le.current.forEach(t=>{e[t.name]={x:t.x,y:t.y}}),A8.getState().savePositions(de.current,e)},[]),_e=(0,E.useCallback)(()=>{A8.getState().saveColumnWidths(de.current,ue.current)},[]),ve=(0,E.useCallback)(e=>{let t=A8.getState().getPositions(de.current);return t?(e.forEach(e=>{t[e.name]&&(e.x=t[e.name].x,e.y=t[e.name].y)}),!0):!1},[]),ye=(0,E.useCallback)(()=>A8.getState().getColumnWidths(de.current),[]),be=(0,E.useCallback)(()=>{let e=le.current;if(e.length===0)return;let t=C.current;if(!t)return;let n=1/0,r=1/0,i=-1/0,a=-1/0;e.forEach(e=>{let t=he(e.name);n=Math.min(n,e.x),r=Math.min(r,e.y),i=Math.max(i,e.x+E9(t)),a=Math.max(a,e.y+T9(e))});let o=i-n+80,c=a-r+80,u=t.clientWidth,f=t.clientHeight,p=Math.min(u/o,f/c,1),m=(u-o*p)/2-n*p+40,h=(f-c*p)/2-r*p+40;s(p),l(m),d(h)},[he]),xe=(0,E.useCallback)(()=>{let e=le.current;if(e.length===0)return;let t=C.current;if(!t)return;let n=1/0,r=1/0,i=-1/0,a=-1/0;e.forEach(e=>{let t=he(e.name);n=Math.min(n,e.x),r=Math.min(r,e.y),i=Math.max(i,e.x+E9(t)),a=Math.max(a,e.y+T9(e))});let o=i-n+80,s=a-r+80,c=t.clientWidth,u=t.clientHeight,f=oe.current;l((c-o*f)/2-n*f+40),d((u-s*f)/2-r*f+40)},[he]),Se=(0,E.useCallback)(async n=>{let i=ct.getState().activeConnections.find(t=>t.id===e)?.serverConnectionId;if(!i){x(t(`erd.viewer.noServerConnection`));return}y(!0),x(null),_(n),de.current=n,A8.getState().setDatabase(e,n);try{let e=await mtt(i,n);fe.current=e;let{models:t,relations:o}=me(e,n);Ttt(t,[],o),ve(t);let s=ye();r([...t]),a(o),h(s),le.current=t,ue.current=s,setTimeout(()=>be(),100)}catch(e){x(e instanceof Error?e.message:String(e))}finally{y(!1)}},[e,ve,ye,be,t]);(0,E.useEffect)(()=>{let t=A8.getState().database[e]||Htt(e);t&&Se(t)},[e]);let Ce=(0,E.useCallback)(()=>{let t=g||Htt(e);t&&Se(t)},[g,e,Se]),we=(0,E.useCallback)((e,t)=>{e.stopPropagation();let n=C.current;if(!n)return;let r=le.current.find(e=>e.name===t);if(!r)return;let i=n.getBoundingClientRect(),a=(e.clientX-i.left-ae.current.x)/oe.current,o=(e.clientY-i.top-ae.current.y)/oe.current;se.current={name:t,offsetX:a-r.x,offsetY:o-r.y},p(t)},[]),Te=(0,E.useCallback)((e,t,n)=>{e.stopPropagation(),e.preventDefault();let r=ue.current[t]||[...w9];ce.current={entityName:t,colIndex:n,startX:e.clientX,startWidth:r[n],nextStartWidth:r[n+1]},document.body.style.cursor=`col-resize`},[]),Ee=(0,E.useCallback)(e=>{e.target.closest(`[data-entity]`)||e.button===0&&(ne.current=!0,re.current={x:e.clientX-ae.current.x,y:e.clientY-ae.current.y},p(null))},[]);(0,E.useEffect)(()=>{let e=e=>{if(ce.current){let t=ce.current,n=(e.clientX-t.startX)/oe.current,r=Math.max(30,Math.round(t.startWidth+n)),i=Math.max(30,Math.round(t.nextStartWidth-n));h(e=>{let n=[...e[t.entityName]||[...w9]];return n[t.colIndex]=r,n[t.colIndex+1]=i,{...e,[t.entityName]:n}});return}if(se.current){let t=C.current;if(!t)return;let n=t.getBoundingClientRect(),r=(e.clientX-n.left-ae.current.x)/oe.current,i=(e.clientY-n.top-ae.current.y)/oe.current,a=Math.round(r-se.current.offsetX),o=Math.round(i-se.current.offsetY),s=le.current.find(e=>e.name===se.current.name);s&&(s.x=a,s.y=o,S(e=>e+1));return}ne.current&&(l(e.clientX-re.current.x),d(e.clientY-re.current.y))},t=()=>{if(ce.current){document.body.style.cursor=``,_e(),ce.current=null;return}if(se.current){se.current=null,ge();return}ne.current=!1};return window.addEventListener(`mousemove`,e),window.addEventListener(`mouseup`,t),()=>{window.removeEventListener(`mousemove`,e),window.removeEventListener(`mouseup`,t)}},[ge,_e]),(0,E.useEffect)(()=>{let e=C.current;if(!e)return;let t=t=>{t.preventDefault();let n=e.getBoundingClientRect(),r=t.clientX-n.left,i=t.clientY-n.top,a=oe.current,o=t.deltaMode===1?16:t.deltaMode===2?n.height:1,c=Math.max(-120,Math.min(Btt,t.deltaY*o)),u=Vtt(a*Math.exp(-c*ztt));if(u===a)return;let f=(r-ae.current.x)/a,p=(i-ae.current.y)/a;l(r-f*u),d(i-p*u),s(u)};return e.addEventListener(`wheel`,t,{passive:!1}),()=>e.removeEventListener(`wheel`,t)},[]);let De=(0,E.useCallback)(e=>{let t=C.current;if(!t)return;let n=t.getBoundingClientRect(),r=n.width/2,i=n.height/2,a=oe.current,o=Vtt(a*e);if(o===a)return;let c=(r-ae.current.x)/a,u=(i-ae.current.y)/a;l(r-c*o),d(i-u*o),s(o)},[]),Oe=(0,E.useCallback)(()=>De(1.15),[De]),ke=(0,E.useCallback)(()=>De(1/1.15),[De]),Ae=(0,E.useCallback)(()=>{s(1),l(0),d(0)},[]),je=(0,E.useCallback)(()=>{Ett(le.current,i,e=>E9(he(e.name)))&&(r([...le.current]),ge())},[i,ge,he]),Me=(0,E.useCallback)(()=>{A8.getState().resetLayout(de.current),Ttt(le.current,[],i),r([...le.current]),h({}),setTimeout(()=>be(),50)},[i,be]),Ne=n.length>0,Pe=n.reduce((e,t)=>e+t.columns.length,0),Fe=(0,E.useCallback)(()=>{document.fullscreenElement?document.exitFullscreen().catch(()=>{}):w.current?.requestFullscreen().catch(()=>{})},[]);return(0,E.useEffect)(()=>{let e=()=>{ee(document.fullscreenElement===w.current),setTimeout(()=>be(),60)};return document.addEventListener(`fullscreenchange`,e),()=>document.removeEventListener(`fullscreenchange`,e)},[be]),(0,$.jsxs)(`div`,{ref:w,className:`flex h-full flex-col`,style:{background:`var(--t-background)`},children:[(0,$.jsx)(ktt,{zoom:o,database:g,tableCount:n.length,relationCount:i.length,fieldCount:Pe,onZoomIn:Oe,onZoomOut:ke,onResetView:Ae,onCenter:xe,onFitAll:be,onSpreadAll:je,onResetLayout:Me,onRefresh:Ce,isFullscreen:T,onToggleFullscreen:Fe}),(0,$.jsxs)(`div`,{ref:C,className:`relative flex-1 overflow-hidden`,style:{cursor:ne.current?`grabbing`:`grab`,background:`var(--t-background)`},onMouseDown:Ee,children:[v&&(0,$.jsx)(`div`,{className:`absolute inset-0 z-20 flex items-center justify-center bg-background/80`,children:(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-sm text-muted-foreground`,children:[(0,$.jsx)(b6,{className:`size-5 animate-spin`}),t(`erd.viewer.loading`,{database:g})]})}),b&&!v&&(0,$.jsx)(`div`,{className:`absolute inset-0 z-20 flex items-center justify-center`,children:(0,$.jsxs)(`div`,{className:`text-center text-sm text-destructive`,children:[(0,$.jsx)(`p`,{children:t(`erd.viewer.loadFailed`)}),(0,$.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:b})]})}),!Ne&&!v&&!b&&(0,$.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center`,children:(0,$.jsxs)(`div`,{className:`text-center text-sm text-muted-foreground`,children:[(0,$.jsx)(`p`,{children:t(`erd.viewer.noDatabase`)}),(0,$.jsx)(`p`,{className:`mt-1 text-xs`,children:t(`erd.viewer.selectDatabaseHint`)})]})}),Ne&&(0,$.jsxs)(`div`,{ref:te,className:`absolute left-0 top-0`,style:{transformOrigin:`0 0`,transform:`translate(${c}px, ${u}px) scale(${o})`},children:[(0,$.jsx)(Itt,{entities:n,relations:i,entityWidths:m}),n.map(e=>(0,$.jsx)(Ntt,{entity:e,colWidths:m[e.name]||[...w9],isSelected:f===e.name,onMouseDown:we,onColResizeStart:Te},e.name))]})]})]})}function Wtt({connectionId:e}){let{t}=ie(),n=Mt(t=>t.tabs[e]??Nt),r=Mt(t=>t.activeTabId[e]??null),i=A8(t=>t.open[e]??!1),a=Mt(e=>e.addQueryTab),o=Mt(e=>e.removeQueryTab),s=Mt(e=>e.removeQueryTabs),c=Mt(e=>e.setActiveQueryTab),l=r&&(n.some(e=>e.id===r)||r===`erd`&&i)?r:n.length>0?n[n.length-1].id:i?`erd`:null;(0,E.useEffect)(()=>{l&&l!==r&&c(e,l)},[l,r,e,c]);let u=(0,E.useRef)(null);_3e(u,l);let{loadChildren:d}=yn(),f=n.find(e=>e.id===l),p=f?.sourceTable?{database:f.sourceTable.database,type:`TABLE`,name:f.sourceTable.table}:f?.sourceObject??null,m=p?`${p.database}/${p.type}/${p.name}`:null;(0,E.useEffect)(()=>{p&&jn(e,Mn(e,p.database,p.type,p.name),d)},[e,m]);let h=Mt(e=>e.reorderQueryTab),g=(0,E.useMemo)(()=>n.map(e=>e.id),[n]),{dragProps:_,dropIndicator:v}=ot(g,(0,E.useCallback)((t,n)=>h(e,t,n),[e,h])),y=A8(e=>e.closeERD),x=(0,E.useCallback)(e=>{y(e);let t=Mt.getState();if(t.activeTabId[e]===`erd`){let n=t.tabs[e]??[];t.setActiveQueryTab(e,n.length>0?n[n.length-1].id:``)}},[y]),S=(0,E.useCallback)(()=>{let r={id:`tab-${Date.now()}`,title:t(`query.tabs.queryTitle`,{n:n.length+1}),query:``,database:``,isExecuting:!1,results:[],error:null,executionTime:null};a(e,r)},[e,n.length,a,t]),C=(0,E.useCallback)((t,n)=>{if(t.stopPropagation(),n===`erd`){x(e);return}o(e,n)},[e,o,x]),w=(0,E.useCallback)((t,r)=>{let a=n.findIndex(e=>e.id===t),o=n.filter((e,n)=>{switch(r){case`all`:return!0;case`others`:return e.id!==t;case`left`:return n<a;case`right`:return n>a}}).map(e=>e.id);o.length>0&&s(e,o),i&&(r===`all`||r===`others`||r===`right`)&&x(e)},[n,i,e,s,x]),T=(0,E.useCallback)(t=>{c(e,t);let r;r=t===`erd`?A8.getState().database[e]:n.find(e=>e.id===t)?.database,r&&mn(e,r)},[e,n,c]);return n.length===0&&!i?(0,$.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,$.jsxs)(b,{variant:`outline`,onClick:S,children:[(0,$.jsx)(T6,{className:`mr-1 size-4`}),t(`query.tabs.newQuery`)]})}):(0,$.jsxs)(m5,{value:l??void 0,onValueChange:T,className:`flex h-full flex-col`,children:[(0,$.jsxs)(`div`,{className:`flex items-center border-b bg-muted/30`,children:[(0,$.jsxs)(`div`,{ref:u,className:`min-w-0 flex-1 overflow-x-auto overflow-y-hidden [scrollbar-width:none] [&::-webkit-scrollbar]:hidden`,children:[(0,$.jsxs)(h5,{className:`h-9 w-max rounded-none bg-transparent`,children:[n.map((r,a)=>(0,$.jsxs)(l5,{children:[(0,$.jsx)(u5,{asChild:!0,children:(0,$.jsxs)(g5,{value:r.id,..._(r.id),"data-drop-before":v===r.id||void 0,className:`shrink-0 gap-1 data-[drop-before]:shadow-[inset_2px_0_0_var(--color-primary)] !rounded-none !border-0 !border-b-2 !border-transparent px-3 py-1.5 !text-muted-foreground hover:!text-foreground aria-selected:!bg-primary aria-selected:!text-primary-foreground aria-selected:!border-primary aria-selected:font-semibold aria-selected:!shadow-none after:!hidden`,children:[r.sourceTable&&(0,$.jsx)(x1e,{className:`size-3 text-muted-foreground`}),r.sourceItem&&(0,$.jsx)(_6,{className:`size-3 text-muted-foreground`}),r.sourceTool&&(0,$.jsx)(n1e,{className:`size-3 text-muted-foreground`}),(0,$.jsx)(`span`,{className:`max-w-[120px] truncate text-xs`,children:r.title}),(0,$.jsx)(`span`,{role:`button`,tabIndex:0,className:`ml-1 rounded p-0.5 opacity-60 hover:bg-muted hover:opacity-100`,onClick:e=>C(e,r.id),onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),C(e,r.id))},children:(0,$.jsx)(ue,{className:`size-3`})})]})}),(0,$.jsxs)(d5,{children:[(0,$.jsx)(f5,{onSelect:()=>o(e,r.id),children:t(`query.tabs.close`)}),(0,$.jsx)(f5,{disabled:n.length<=1&&!i,onSelect:()=>w(r.id,`others`),children:t(`query.tabs.closeOthers`)}),(0,$.jsx)(p5,{}),(0,$.jsx)(f5,{disabled:a===0,onSelect:()=>w(r.id,`left`),children:t(`query.tabs.closeLeft`)}),(0,$.jsx)(f5,{disabled:a===n.length-1&&!i,onSelect:()=>w(r.id,`right`),children:t(`query.tabs.closeRight`)}),(0,$.jsx)(p5,{}),(0,$.jsx)(f5,{onSelect:()=>w(r.id,`all`),children:t(`query.tabs.closeAll`)})]})]},r.id)),i&&(0,$.jsxs)(g5,{value:`erd`,className:`shrink-0 gap-1 !rounded-none !border-0 !border-b-2 !border-transparent px-3 py-1.5 !text-muted-foreground hover:!text-foreground aria-selected:!bg-primary aria-selected:!text-primary-foreground aria-selected:!border-primary aria-selected:font-semibold aria-selected:!shadow-none after:!hidden`,children:[(0,$.jsx)(`span`,{className:`text-xs`,children:t(`query.tabs.erdViewer`)}),(0,$.jsx)(`span`,{role:`button`,tabIndex:0,className:`ml-1 rounded p-0.5 opacity-60 hover:bg-muted hover:opacity-100`,onClick:e=>C(e,`erd`),onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),C(e,`erd`))},children:(0,$.jsx)(ue,{className:`size-3`})})]})]}),v===`end`&&(0,$.jsx)(`div`,{className:`h-6 w-0.5 shrink-0 bg-primary`})]}),(0,$.jsx)(b,{variant:`ghost`,size:`icon`,className:`mx-1 size-7 shrink-0`,onClick:S,children:(0,$.jsx)(T6,{className:`size-4`})})]}),n.map(t=>(0,$.jsx)(_5,{value:t.id,className:`mt-0 flex-1 overflow-hidden`,forceMount:t.id!==l||void 0,hidden:t.id!==l,children:t.sourceTool?(0,$.jsx)(ptt,{connectionId:e,tabId:t.id}):t.sourceItem?(0,$.jsx)(ftt,{connectionId:e,tabId:t.id}):t.sourceTable?(0,$.jsx)(ltt,{connectionId:e,tabId:t.id}):(0,$.jsx)(utt,{connectionId:e,tabId:t.id})},t.id)),i&&(0,$.jsx)(_5,{value:`erd`,className:`mt-0 flex-1 overflow-hidden`,forceMount:l!==`erd`||void 0,hidden:l!==`erd`,children:(0,$.jsx)(Utt,{connectionId:e})})]})}function Gtt({connectionId:e,fileName:t}){let{t:n}=ie(),[r,i]=(0,E.useState)(!1),a=ct(e=>e.closeConnection);async function o(){i(!0);try{let t=await Jt(e,{interactive:!0});if(!t)return;let r=ct.getState();r.updateServerConnectionId(e,t.connectionId),r.updateProfile(e,{file:t.fileName}),r.setPendingReopen(e,!1),r.setFileDetached(e,t.fileDetached),Pt.getState().removeTree(e),jt.getState().setFooterMessage(n(`connection.tab.reopened`,{file:t.fileName}))}catch(e){jt.getState().setFooterMessage(n(`connection.tab.reopenFailed`,{message:e instanceof Error?e.message:String(e)}))}finally{i(!1)}}return(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-3 border-b border-catppuccin-yellow/40 bg-catppuccin-yellow/10 px-3 py-1.5 text-xs`,children:[(0,$.jsx)(h6,{className:`size-4 shrink-0 text-catppuccin-yellow`}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 break-all`,children:(0,$.jsx)(mr,{i18nKey:`connection.tab.reopenPrompt`,values:{file:t||n(`connection.tab.theSqliteFile`)},components:{b:(0,$.jsx)(`span`,{className:`font-medium`})}})}),(0,$.jsx)(b,{size:`sm`,className:`h-7 shrink-0 text-xs`,disabled:r,onClick:()=>{o()},children:n(`connection.tab.reopenFile`)}),(0,$.jsx)(b,{size:`sm`,variant:`ghost`,className:`h-7 shrink-0 text-xs`,onClick:()=>a(e),children:n(`connection.tab.closeConnection`)})]})}function Ktt({connectionId:e,serverConnectionId:t,fileName:n}){let{t:r}=ie(),[i,a]=(0,E.useState)(!1),o=ct(e=>e.setFileDetached);async function s(){a(!0);try{await Vt(e,t)?(o(e,!1),jt.getState().setFooterMessage(r(`connection.tab.reconnected`,{file:n}))):jt.getState().setFooterMessage(r(`connection.tab.accessNotGranted`))}finally{a(!1)}}return(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-3 border-b border-catppuccin-blue/40 bg-catppuccin-blue/10 px-3 py-1.5 text-xs`,children:[(0,$.jsx)(y6,{className:`size-4 shrink-0 text-catppuccin-blue`}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 break-all`,children:(0,$.jsx)(mr,{i18nKey:`connection.tab.detachedPrompt`,values:{file:n||r(`connection.tab.theSqliteFile`)},components:{b:(0,$.jsx)(`span`,{className:`font-medium`})}})}),(0,$.jsx)(b,{size:`sm`,className:`h-7 shrink-0 text-xs`,disabled:i,onClick:()=>{s()},children:r(`connection.tab.reconnectFile`)}),(0,$.jsx)(b,{size:`sm`,variant:`ghost`,className:`h-7 shrink-0 text-xs`,onClick:()=>o(e,!1),title:r(`connection.tab.detachedHide`),children:(0,$.jsx)(ue,{className:`size-3`})})]})}function qtt({connectionId:e,serverConnectionId:t,fileName:n,onDismiss:r}){let{t:i}=ie(),[a,o]=(0,E.useState)(!1);async function s(){o(!0);try{let r=await qt(e,t);if(!r)return;ct.getState().updateServerConnectionId(e,r.connectionId),Pt.getState().removeTree(e),jt.getState().setFooterMessage(r.appliedFrames>0?i(`connection.tab.walFramesApplied`,{count:r.appliedFrames,file:n}):i(`connection.tab.walNoChanges`))}catch(e){jt.getState().setFooterMessage(i(`connection.tab.walLoadFailed`,{message:e instanceof Error?e.message:String(e)}))}finally{o(!1)}}return(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-3 border-b border-catppuccin-peach/40 bg-catppuccin-peach/10 px-3 py-1.5 text-xs`,children:[(0,$.jsx)(h6,{className:`size-4 shrink-0 text-catppuccin-peach`}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 break-all`,children:(0,$.jsx)(mr,{i18nKey:`connection.tab.walPrompt`,values:{file:n},components:{b:(0,$.jsx)(`span`,{className:`font-medium`}),mono:(0,$.jsx)(`span`,{className:`font-mono`})}})}),(0,$.jsx)(b,{size:`sm`,className:`h-7 shrink-0 text-xs`,disabled:a,onClick:()=>{s()},children:i(`connection.tab.loadWal`)}),(0,$.jsx)(b,{size:`sm`,variant:`outline`,className:`h-7 shrink-0 text-xs`,disabled:a,title:i(`connection.tab.noWalHint`),onClick:()=>{Zt(t),jt.getState().bumpTransportVersion(),r()},children:i(`connection.tab.noWal`)}),(0,$.jsx)(b,{size:`sm`,variant:`ghost`,className:`h-7 w-7 shrink-0 p-0`,"aria-label":i(`connection.tab.dismiss`),title:i(`connection.tab.walHide`),onClick:r,children:(0,$.jsx)(ue,{className:`size-3.5`})})]})}function Jtt({connectionId:e}){let{t}=ie(),n=ct(t=>t.activeConnections.find(t=>t.id===e)),r=c5(n?.environmentColor),i=ct(t=>t.pendingReopen[e]??!1),a=ct(t=>t.fileDetached[e]??!1),o=Rt(n?.serverConnectionId),[s,c]=(0,E.useState)(null),l=!i&&o?.wal&&!o.walApplied&&!o.walAcknowledged&&n?.serverConnectionId&&s!==n.serverConnectionId;return(0,$.jsxs)(`div`,{className:`flex h-full flex-col`,children:[i&&(0,$.jsx)(Gtt,{connectionId:e,fileName:n?.file??``}),!i&&a&&!n?.sample&&!n?.scratchpad&&n?.serverConnectionId&&(0,$.jsx)(Ktt,{connectionId:e,serverConnectionId:n.serverConnectionId,fileName:n?.file??``}),l&&(0,$.jsx)(qtt,{connectionId:e,serverConnectionId:n.serverConnectionId,fileName:n?.file??``,onDismiss:()=>c(n.serverConnectionId)}),r&&(0,$.jsxs)(`div`,{className:`flex h-5 shrink-0 items-center gap-2 px-3 text-[11px] font-semibold uppercase tracking-wider text-white`,style:{background:r},children:[(0,$.jsx)(`span`,{children:n?.hostName||n?.host}),n?.readOnly&&(0,$.jsx)(`span`,{className:`rounded bg-black/25 px-1.5 py-px normal-case tracking-normal`,children:t(`connection.tab.readOnlyBadge`)})]}),(0,$.jsx)(`div`,{className:`min-h-0 flex-1`,style:r?{boxShadow:`inset 3px 0 0 ${r}`}:void 0,children:(0,$.jsxs)(X4e,{direction:`horizontal`,defaultSize:200,minSize:150,maxSize:600,storageKey:`sidebar`,children:[(0,$.jsx)(`div`,{className:`h-full border-r border-catppuccin-surface1 bg-catppuccin-mantle overflow-hidden`,children:(0,$.jsx)(h3e,{connectionId:e})}),(0,$.jsx)(`div`,{className:`h-full overflow-hidden`,children:(0,$.jsx)(Wtt,{connectionId:e})})]})})]})}var A9=`<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>`,j9=`</title><path d="`,M9=`"/></svg>`,Ytt={title:`Cloudflare`,slug:`cloudflare`,get svg(){return A9+`Cloudflare`+j9+this.path+M9},path:`M16.5088 16.8447c.1475-.5068.0908-.9707-.1553-1.3154-.2246-.3164-.6045-.499-1.0615-.5205l-8.6592-.1123a.1559.1559 0 0 1-.1333-.0713c-.0283-.042-.0351-.0986-.021-.1553.0278-.084.1123-.1484.2036-.1562l8.7359-.1123c1.0351-.0489 2.1601-.8868 2.5537-1.9136l.499-1.3013c.0215-.0561.0293-.1128.0147-.168-.5625-2.5463-2.835-4.4453-5.5499-4.4453-2.5039 0-4.6284 1.6177-5.3876 3.8614-.4927-.3658-1.1187-.5625-1.794-.499-1.2026.119-2.1665 1.083-2.2861 2.2856-.0283.31-.0069.6128.0635.894C1.5683 13.171 0 14.7754 0 16.752c0 .1748.0142.3515.0352.5273.0141.083.0844.1475.1689.1475h15.9814c.0909 0 .1758-.0645.2032-.1553l.12-.4268zm2.7568-5.5634c-.0771 0-.1611 0-.2383.0112-.0566 0-.1054.0415-.127.0976l-.3378 1.1744c-.1475.5068-.0918.9707.1543 1.3164.2256.3164.6055.498 1.0625.5195l1.8437.1133c.0557 0 .1055.0263.1329.0703.0283.043.0351.1074.0214.1562-.0283.084-.1132.1485-.204.1553l-1.921.1123c-1.041.0488-2.1582.8867-2.5527 1.914l-.1406.3585c-.0283.0713.0215.1416.0986.1416h6.5977c.0771 0 .1474-.0489.169-.126.1122-.4082.1757-.837.1757-1.2803 0-2.6025-2.125-4.727-4.7344-4.727`,source:`https://www.cloudflare.com/logo/`,hex:`F38020`,guidelines:`https://www.cloudflare.com/trademark/`},Xtt={mysql:{title:`MySQL`,slug:`mysql`,get svg(){return A9+`MySQL`+j9+this.path+M9},path:`M16.405 5.501c-.115 0-.193.014-.274.033v.013h.014c.054.104.146.18.214.273.054.107.1.214.154.32l.014-.015c.094-.066.14-.172.14-.333-.04-.047-.046-.094-.08-.14-.04-.067-.126-.1-.18-.153zM5.77 18.695h-.927a50.854 50.854 0 00-.27-4.41h-.008l-1.41 4.41H2.45l-1.4-4.41h-.01a72.892 72.892 0 00-.195 4.41H0c.055-1.966.192-3.81.41-5.53h1.15l1.335 4.064h.008l1.347-4.064h1.095c.242 2.015.384 3.86.428 5.53zm4.017-4.08c-.378 2.045-.876 3.533-1.492 4.46-.482.716-1.01 1.073-1.583 1.073-.153 0-.34-.046-.566-.138v-.494c.11.017.24.026.386.026.268 0 .483-.075.647-.222.197-.18.295-.382.295-.605 0-.155-.077-.47-.23-.944L6.23 14.615h.91l.727 2.36c.164.536.233.91.205 1.123.4-1.064.678-2.227.835-3.483zm12.325 4.08h-2.63v-5.53h.885v4.85h1.745zm-3.32.135l-1.016-.5c.09-.076.177-.158.255-.25.433-.506.648-1.258.648-2.253 0-1.83-.718-2.746-2.155-2.746-.704 0-1.254.232-1.65.697-.43.508-.646 1.256-.646 2.245 0 .972.19 1.686.574 2.14.35.41.877.615 1.583.615.264 0 .506-.033.725-.098l1.325.772.36-.622zM15.5 17.588c-.225-.36-.337-.94-.337-1.736 0-1.393.424-2.09 1.27-2.09.443 0 .77.167.977.5.224.362.336.936.336 1.723 0 1.404-.424 2.108-1.27 2.108-.445 0-.77-.167-.978-.5zm-1.658-.425c0 .47-.172.856-.516 1.156-.344.3-.803.45-1.384.45-.543 0-1.064-.172-1.573-.515l.237-.476c.438.22.833.328 1.19.328.332 0 .593-.073.783-.22a.754.754 0 00.3-.615c0-.33-.23-.61-.648-.845-.388-.213-1.163-.657-1.163-.657-.422-.307-.632-.636-.632-1.177 0-.45.157-.81.47-1.085.315-.278.72-.415 1.22-.415.512 0 .98.136 1.4.41l-.213.476a2.726 2.726 0 00-1.064-.23c-.283 0-.502.068-.654.206a.685.685 0 00-.248.524c0 .328.234.61.666.85.393.215 1.187.67 1.187.67.433.305.648.63.648 1.168zm9.382-5.852c-.535-.014-.95.04-1.297.188-.1.04-.26.04-.274.167.055.053.063.14.11.214.08.134.218.313.346.407.14.11.28.216.427.31.26.16.555.255.81.416.145.094.293.213.44.313.073.05.12.14.214.172v-.02c-.046-.06-.06-.147-.105-.214-.067-.067-.134-.127-.2-.193a3.223 3.223 0 00-.695-.675c-.214-.146-.682-.35-.77-.595l-.013-.014c.146-.013.32-.066.46-.106.227-.06.435-.047.67-.106.106-.027.213-.06.32-.094v-.06c-.12-.12-.21-.283-.334-.395a8.867 8.867 0 00-1.104-.823c-.21-.134-.476-.22-.697-.334-.08-.04-.214-.06-.26-.127-.12-.146-.19-.34-.275-.514a17.69 17.69 0 01-.547-1.163c-.12-.262-.193-.523-.34-.763-.69-1.137-1.437-1.826-2.586-2.5-.247-.14-.543-.2-.856-.274-.167-.008-.334-.02-.5-.027-.11-.047-.216-.174-.31-.235-.38-.24-1.364-.76-1.644-.072-.18.434.267.862.422 1.082.115.153.26.328.34.5.047.116.06.235.107.356.106.294.207.622.347.897.073.14.153.287.247.413.054.073.146.107.167.227-.094.136-.1.334-.154.5-.24.757-.146 1.693.194 2.25.107.166.362.534.703.393.3-.12.234-.5.32-.835.02-.08.007-.133.048-.187v.015c.094.188.188.367.274.555.206.328.566.668.867.895.16.12.287.328.487.402v-.02h-.015c-.043-.058-.1-.086-.154-.133a3.445 3.445 0 01-.35-.4 8.76 8.76 0 01-.747-1.218c-.11-.21-.202-.436-.29-.643-.04-.08-.04-.2-.107-.24-.1.146-.247.273-.32.453-.127.288-.14.642-.188 1.01-.027.007-.014 0-.027.014-.214-.052-.287-.274-.367-.46-.2-.475-.233-1.238-.06-1.785.047-.14.247-.582.167-.716-.042-.127-.174-.2-.247-.303a2.478 2.478 0 01-.24-.427c-.16-.374-.24-.788-.414-1.162-.08-.173-.22-.354-.334-.513-.127-.18-.267-.307-.368-.52-.033-.073-.08-.194-.027-.274.014-.054.042-.075.094-.09.088-.072.335.022.422.062.247.1.455.194.662.334.094.066.195.193.315.226h.14c.214.047.455.014.655.073.355.114.675.28.962.46a5.953 5.953 0 012.085 2.286c.08.154.115.295.188.455.14.33.313.663.455.982.14.315.275.636.476.897.1.14.502.213.682.286.133.06.34.115.46.188.23.14.454.3.67.454.11.076.443.243.463.378z`,source:`https://www.mysql.com/about/legal/logos.html`,hex:`4479A1`,guidelines:`https://www.mysql.com/about/legal/logos.html`},maria:{title:`MariaDB`,slug:`mariadb`,get svg(){return A9+`MariaDB`+j9+this.path+M9},path:`M23.157 4.412c-.676.284-.79.31-1.673.372-.65.045-.757.057-1.212.209-.75.246-1.395.75-2.02 1.59-.296.398-1.249 1.913-1.249 1.988 0 .057-.65.998-.915 1.32-.574.713-1.08 1.079-2.14 1.59-.77.36-1.224.524-4.102 1.477-1.073.353-2.133.738-2.367.864-.852.449-1.515 1.036-2.203 1.938-1.003 1.32-.972 1.313-3.042.947a12.264 12.264 0 00-.675-.063c-.644-.05-1.023.044-1.332.334L0 17.193l.177.088c.094.05.353.234.561.398.215.17.461.347.55.391.088.044.17.088.183.101.012.013-.089.17-.228.353-.435.581-.593.871-.574 1.048.019.164.032.17.43.17.517-.006.826-.056 1.261-.208.65-.233 2.058-.94 2.784-1.4.776-.5 1.717-.998 1.956-1.042.082-.02.354-.07.594-.114.58-.107 1.464-.095 2.587.05.108.013.373.045.6.064.227.025.43.057.454.076.026.012.474.037.998.056.934.026 1.104.007 1.3-.189.126-.133.385-.631.498-.985.209-.643.417-.921.366-.492-.113.966-.322 1.692-.713 2.411-.259.499-.663 1.092-.934 1.395-.322.347-.315.36.088.315.619-.063 1.471-.397 2.096-.82.827-.562 1.647-1.691 2.19-3.03.107-.27.22-.22.183.083-.013.094-.038.315-.057.498l-.031.328.353-.202c.833-.48 1.414-1.262 2.127-2.884.227-.518.877-2.922 1.073-3.976a9.64 9.64 0 01.271-1.042c.127-.429.196-.555.48-.858.183-.19.625-.555.978-.808.72-.505.953-.75 1.187-1.205.208-.417.284-1.13.132-1.357-.132-.202-.284-.196-.763.006Z`,source:`https://mariadb.com/about-us/logos/`,hex:`003545`,guidelines:`https://mariadb.com/about-us/logos/`},postgres:{title:`PostgreSQL`,slug:`postgresql`,get svg(){return A9+`PostgreSQL`+j9+this.path+M9},path:`M23.5594 14.7228a.5269.5269 0 0 0-.0563-.1191c-.139-.2632-.4768-.3418-1.0074-.2321-1.6533.3411-2.2935.1312-2.5256-.0191 1.342-2.0482 2.445-4.522 3.0411-6.8297.2714-1.0507.7982-3.5237.1222-4.7316a1.5641 1.5641 0 0 0-.1509-.235C21.6931.9086 19.8007.0248 17.5099.0005c-1.4947-.0158-2.7705.3461-3.1161.4794a9.449 9.449 0 0 0-.5159-.0816 8.044 8.044 0 0 0-1.3114-.1278c-1.1822-.0184-2.2038.2642-3.0498.8406-.8573-.3211-4.7888-1.645-7.2219.0788C.9359 2.1526.3086 3.8733.4302 6.3043c.0409.818.5069 3.334 1.2423 5.7436.4598 1.5065.9387 2.7019 1.4334 3.582.553.9942 1.1259 1.5933 1.7143 1.7895.4474.1491 1.1327.1441 1.8581-.7279.8012-.9635 1.5903-1.8258 1.9446-2.2069.4351.2355.9064.3625 1.39.3772a.0569.0569 0 0 0 .0004.0041 11.0312 11.0312 0 0 0-.2472.3054c-.3389.4302-.4094.5197-1.5002.7443-.3102.064-1.1344.2339-1.1464.8115-.0025.1224.0329.2309.0919.3268.2269.4231.9216.6097 1.015.6331 1.3345.3335 2.5044.092 3.3714-.6787-.017 2.231.0775 4.4174.3454 5.0874.2212.5529.7618 1.9045 2.4692 1.9043.2505 0 .5263-.0291.8296-.0941 1.7819-.3821 2.5557-1.1696 2.855-2.9059.1503-.8707.4016-2.8753.5388-4.1012.0169-.0703.0357-.1207.057-.1362.0007-.0005.0697-.0471.4272.0307a.3673.3673 0 0 0 .0443.0068l.2539.0223.0149.001c.8468.0384 1.9114-.1426 2.5312-.4308.6438-.2988 1.8057-1.0323 1.5951-1.6698zM2.371 11.8765c-.7435-2.4358-1.1779-4.8851-1.2123-5.5719-.1086-2.1714.4171-3.6829 1.5623-4.4927 1.8367-1.2986 4.8398-.5408 6.108-.13-.0032.0032-.0066.0061-.0098.0094-2.0238 2.044-1.9758 5.536-1.9708 5.7495-.0002.0823.0066.1989.0162.3593.0348.5873.0996 1.6804-.0735 2.9184-.1609 1.1504.1937 2.2764.9728 3.0892.0806.0841.1648.1631.2518.2374-.3468.3714-1.1004 1.1926-1.9025 2.1576-.5677.6825-.9597.5517-1.0886.5087-.3919-.1307-.813-.5871-1.2381-1.3223-.4796-.839-.9635-2.0317-1.4155-3.5126zm6.0072 5.0871c-.1711-.0428-.3271-.1132-.4322-.1772.0889-.0394.2374-.0902.4833-.1409 1.2833-.2641 1.4815-.4506 1.9143-1.0002.0992-.126.2116-.2687.3673-.4426a.3549.3549 0 0 0 .0737-.1298c.1708-.1513.2724-.1099.4369-.0417.156.0646.3078.26.3695.4752.0291.1016.0619.2945-.0452.4444-.9043 1.2658-2.2216 1.2494-3.1676 1.0128zm2.094-3.988-.0525.141c-.133.3566-.2567.6881-.3334 1.003-.6674-.0021-1.3168-.2872-1.8105-.8024-.6279-.6551-.9131-1.5664-.7825-2.5004.1828-1.3079.1153-2.4468.079-3.0586-.005-.0857-.0095-.1607-.0122-.2199.2957-.2621 1.6659-.9962 2.6429-.7724.4459.1022.7176.4057.8305.928.5846 2.7038.0774 3.8307-.3302 4.7363-.084.1866-.1633.3629-.2311.5454zm7.3637 4.5725c-.0169.1768-.0358.376-.0618.5959l-.146.4383a.3547.3547 0 0 0-.0182.1077c-.0059.4747-.054.6489-.115.8693-.0634.2292-.1353.4891-.1794 1.0575-.11 1.4143-.8782 2.2267-2.4172 2.5565-1.5155.3251-1.7843-.4968-2.0212-1.2217a6.5824 6.5824 0 0 0-.0769-.2266c-.2154-.5858-.1911-1.4119-.1574-2.5551.0165-.5612-.0249-1.9013-.3302-2.6462.0044-.2932.0106-.5909.019-.8918a.3529.3529 0 0 0-.0153-.1126 1.4927 1.4927 0 0 0-.0439-.208c-.1226-.4283-.4213-.7866-.7797-.9351-.1424-.059-.4038-.1672-.7178-.0869.067-.276.1831-.5875.309-.9249l.0529-.142c.0595-.16.134-.3257.213-.5012.4265-.9476 1.0106-2.2453.3766-5.1772-.2374-1.0981-1.0304-1.6343-2.2324-1.5098-.7207.0746-1.3799.3654-1.7088.5321a5.6716 5.6716 0 0 0-.1958.1041c.0918-1.1064.4386-3.1741 1.7357-4.4823a4.0306 4.0306 0 0 1 .3033-.276.3532.3532 0 0 0 .1447-.0644c.7524-.5706 1.6945-.8506 2.802-.8325.4091.0067.8017.0339 1.1742.081 1.939.3544 3.2439 1.4468 4.0359 2.3827.8143.9623 1.2552 1.9315 1.4312 2.4543-1.3232-.1346-2.2234.1268-2.6797.779-.9926 1.4189.543 4.1729 1.2811 5.4964.1353.2426.2522.4522.2889.5413.2403.5825.5515.9713.7787 1.2552.0696.087.1372.1714.1885.245-.4008.1155-1.1208.3825-1.0552 1.717-.0123.1563-.0423.4469-.0834.8148-.0461.2077-.0702.4603-.0994.7662zm.8905-1.6211c-.0405-.8316.2691-.9185.5967-1.0105a2.8566 2.8566 0 0 0 .135-.0406 1.202 1.202 0 0 0 .1342.103c.5703.3765 1.5823.4213 3.0068.1344-.2016.1769-.5189.3994-.9533.6011-.4098.1903-1.0957.333-1.7473.3636-.7197.0336-1.0859-.0807-1.1721-.151zm.5695-9.2712c-.0059.3508-.0542.6692-.1054 1.0017-.055.3576-.112.7274-.1264 1.1762-.0142.4368.0404.8909.0932 1.3301.1066.887.216 1.8003-.2075 2.7014a3.5272 3.5272 0 0 1-.1876-.3856c-.0527-.1276-.1669-.3326-.3251-.6162-.6156-1.1041-2.0574-3.6896-1.3193-4.7446.3795-.5427 1.3408-.5661 2.1781-.463zm.2284 7.0137a12.3762 12.3762 0 0 0-.0853-.1074l-.0355-.0444c.7262-1.1995.5842-2.3862.4578-3.4385-.0519-.4318-.1009-.8396-.0885-1.2226.0129-.4061.0666-.7543.1185-1.0911.0639-.415.1288-.8443.1109-1.3505.0134-.0531.0188-.1158.0118-.1902-.0457-.4855-.5999-1.938-1.7294-3.253-.6076-.7073-1.4896-1.4972-2.6889-2.0395.5251-.1066 1.2328-.2035 2.0244-.1859 2.0515.0456 3.6746.8135 4.8242 2.2824a.908.908 0 0 1 .0667.1002c.7231 1.3556-.2762 6.2751-2.9867 10.5405zm-8.8166-6.1162c-.025.1794-.3089.4225-.6211.4225a.5821.5821 0 0 1-.0809-.0056c-.1873-.026-.3765-.144-.5059-.3156-.0458-.0605-.1203-.178-.1055-.2844.0055-.0401.0261-.0985.0925-.1488.1182-.0894.3518-.1226.6096-.0867.3163.0441.6426.1938.6113.4186zm7.9305-.4114c.0111.0792-.049.201-.1531.3102-.0683.0717-.212.1961-.4079.2232a.5456.5456 0 0 1-.075.0052c-.2935 0-.5414-.2344-.5607-.3717-.024-.1765.2641-.3106.5611-.352.297-.0414.6111.0088.6356.1851z`,source:`https://wiki.postgresql.org/wiki/Logo`,hex:`4169E1`,guidelines:`https://www.postgresql.org/about/policies/trademarks/`},sqlite:{title:`SQLite`,slug:`sqlite`,get svg(){return A9+`SQLite`+j9+this.path+M9},path:`M21.678.521c-1.032-.92-2.28-.55-3.513.544a8.71 8.71 0 0 0-.547.535c-2.109 2.237-4.066 6.38-4.674 9.544.237.48.422 1.093.544 1.561a13.044 13.044 0 0 1 .164.703s-.019-.071-.096-.296l-.05-.146a1.689 1.689 0 0 0-.033-.08c-.138-.32-.518-.995-.686-1.289-.143.423-.27.818-.376 1.176.484.884.778 2.4.778 2.4s-.025-.099-.147-.442c-.107-.303-.644-1.244-.772-1.464-.217.804-.304 1.346-.226 1.478.152.256.296.698.422 1.186.286 1.1.485 2.44.485 2.44l.017.224a22.41 22.41 0 0 0 .056 2.748c.095 1.146.273 2.13.5 2.657l.155-.084c-.334-1.038-.47-2.399-.41-3.967.09-2.398.642-5.29 1.661-8.304 1.723-4.55 4.113-8.201 6.3-9.945-1.993 1.8-4.692 7.63-5.5 9.788-.904 2.416-1.545 4.684-1.931 6.857.666-2.037 2.821-2.912 2.821-2.912s1.057-1.304 2.292-3.166c-.74.169-1.955.458-2.362.629-.6.251-.762.337-.762.337s1.945-1.184 3.613-1.72C21.695 7.9 24.195 2.767 21.678.521m-18.573.543A1.842 1.842 0 0 0 1.27 2.9v16.608a1.84 1.84 0 0 0 1.835 1.834h9.418a22.953 22.953 0 0 1-.052-2.707c-.006-.062-.011-.141-.016-.2a27.01 27.01 0 0 0-.473-2.378c-.121-.47-.275-.898-.369-1.057-.116-.197-.098-.31-.097-.432 0-.12.015-.245.037-.386a9.98 9.98 0 0 1 .234-1.045l.217-.028c-.017-.035-.014-.065-.031-.097l-.041-.381a32.8 32.8 0 0 1 .382-1.194l.2-.019c-.008-.016-.01-.038-.018-.053l-.043-.316c.63-3.28 2.587-7.443 4.8-9.791.066-.069.133-.128.198-.194Z`,source:`https://github.com/sqlite/sqlite/blob/43e862723ec680542ca6f608f9963c0993dd7324/art/sqlite370.eps`,hex:`003B57`},mssql:{path:`M12 1.5c-4.97 0-9 1.79-9 4v13c0 2.21 4.03 4 9 4s9-1.79 9-4v-13c0-2.21-4.03-4-9-4zm0 2c3.87 0 7 1.12 7 2s-3.13 2-7 2-7-1.12-7-2 3.13-2 7-2zm0 2.9a2.1 2.1 0 1 1 0 4.2 2.1 2.1 0 0 1 0-4.2zM5 8.55c1.6.9 4.2 1.45 7 1.45s5.4-.55 7-1.45V11c0 .88-3.13 2-7 2s-7-1.12-7-2V8.55zm0 4.9c1.6.9 4.2 1.45 7 1.45s5.4-.55 7-1.45V16c0 .88-3.13 2-7 2s-7-1.12-7-2v-2.55zm0 5c1.6.9 4.2 1.45 7 1.45s5.4-.55 7-1.45`},oracle:{path:`M7.5 5.5h9a6.5 6.5 0 0 1 0 13h-9a6.5 6.5 0 0 1 0-13zm0 2.4a4.1 4.1 0 0 0 0 8.2h9a4.1 4.1 0 0 0 0-8.2h-9z`},neon:{title:`Neon`,slug:`neon`,get svg(){return A9+`Neon`+j9+this.path+M9},path:`M24 0V24l-9.365-8.045V24H0V0ZM2.942 21.087h8.751V9.563l9.365 8.204V2.919L2.942 2.914Z`,source:`https://neon.com/brand`,hex:`34D59A`,guidelines:`https://neon.com/brand`},supabase:{title:`Supabase`,slug:`supabase`,get svg(){return A9+`Supabase`+j9+this.path+M9},path:`M11.9 1.036c-.015-.986-1.26-1.41-1.874-.637L.764 12.05C-.33 13.427.65 15.455 2.409 15.455h9.579l.113 7.51c.014.985 1.259 1.408 1.873.636l9.262-11.653c1.093-1.375.113-3.403-1.645-3.403h-9.642z`,source:`https://github.com/supabase/supabase/blob/4031a7549f5d46da7bc79c01d56be4177dc7c114/packages/common/assets/images/supabase-logo-wordmark--light.svg`,hex:`3FCF8E`},d1:Ytt,do:Ytt,redis:{title:`Redis`,slug:`redis`,get svg(){return A9+`Redis`+j9+this.path+M9},path:`M22.71 13.145c-1.66 2.092-3.452 4.483-7.038 4.483-3.203 0-4.397-2.825-4.48-5.12.701 1.484 2.073 2.685 4.214 2.63 4.117-.133 6.94-3.852 6.94-7.239 0-4.05-3.022-6.972-8.268-6.972-3.752 0-8.4 1.428-11.455 3.685C2.59 6.937 3.885 9.958 4.35 9.626c2.648-1.904 4.748-3.13 6.784-3.744C8.12 9.244.886 17.05 0 18.425c.1 1.261 1.66 4.648 2.424 4.648.232 0 .431-.133.664-.365a100.49 100.49 0 0 0 5.54-6.765c.222 3.104 1.748 6.898 6.014 6.898 3.819 0 7.604-2.756 9.33-8.965.2-.764-.73-1.361-1.261-.73zm-4.349-5.013c0 1.959-1.926 2.922-3.685 2.922-.941 0-1.664-.247-2.235-.568 1.051-1.592 2.092-3.225 3.21-4.973 1.972.334 2.71 1.43 2.71 2.619z`,source:`https://redis.io/brand-guidelines`,hex:`FF4438`,guidelines:`https://redis.io/brand-guidelines`},elasticsearch:{title:`Elasticsearch`,slug:`elasticsearch`,get svg(){return A9+`Elasticsearch`+j9+this.path+M9},path:`M13.394 0C8.683 0 4.609 2.716 2.644 6.667h15.641a4.77 4.77 0 0 0 3.073-1.11c.446-.375.864-.785 1.247-1.243l.001-.002A11.974 11.974 0 0 0 13.394 0zM1.804 8.889a12.009 12.009 0 0 0 0 6.222h14.7a3.111 3.111 0 1 0 0-6.222zm.84 8.444C4.61 21.283 8.684 24 13.395 24c3.701 0 7.011-1.677 9.212-4.312l-.001-.002a9.958 9.958 0 0 0-1.247-1.243 4.77 4.77 0 0 0-3.073-1.11z`,source:`https://www.elastic.co/brand`,hex:`005571`},opensearch:{title:`OpenSearch`,slug:`opensearch`,get svg(){return A9+`OpenSearch`+j9+this.path+M9},path:`M23.1515 8.8125a.8484.8484 0 0 0-.8484.8485c0 6.982-5.6601 12.6421-12.6421 12.6421a.8485.8485 0 0 0 0 1.6969C17.5802 24 24 17.5802 24 9.661a.8485.8485 0 0 0-.8485-.8485Zm-5.121 5.4375c.816-1.3311 1.6051-3.1058 1.4498-5.5905-.3216-5.1468-4.9832-9.0512-9.3851-8.6281C8.372.1971 6.6025 1.6017 6.7598 4.1177c.0683 1.0934.6034 1.7386 1.473 2.2348.8279.4722 1.8914.7713 3.097 1.1104 1.4563.4096 3.1455.8697 4.4438 1.8265 1.5561 1.1467 2.6198 2.4759 2.2569 4.9606Zm-16.561-9C.6535 6.581-.1355 8.3558.0197 10.8405c.3216 5.1468 4.9832 9.0512 9.385 8.6281 1.7233-.1657 3.4927-1.5703 3.3355-4.0863-.0683-1.0934-.6034-1.7386-1.4731-2.2348-.8278-.4722-1.8913-.7713-3.0969-1.1104-1.4563-.4096-3.1455-.8697-4.4438-1.8265-1.5561-1.1467-2.6198-2.476-2.257-4.9606Z`,source:`https://opensearch.org/trademark-brand-policy.html`,hex:`005EB8`,guidelines:`https://opensearch.org/trademark-brand-policy.html`}};function N9({dbms:e,className:t}){let n=Xtt[e];return n?(0,$.jsx)(`svg`,{viewBox:`0 0 24 24`,className:h(`size-4 shrink-0`,t),fill:`currentColor`,"aria-hidden":!0,children:(0,$.jsx)(`path`,{d:n.path})}):(0,$.jsx)(f6,{className:h(`size-4 shrink-0`,t),"aria-hidden":!0})}function Ztt(){let{t:e}=ie(),{activeConnections:t,activeConnectionId:n,setActiveConnection:r,closeConnection:i}=ct(),a=(0,E.useRef)(null);_3e(a,n);let o=ct(e=>e.reorderActiveConnection),s=(0,E.useMemo)(()=>t.map(e=>e.id),[t]),{dragProps:c,dropIndicator:l}=ot(s,(0,E.useCallback)((e,t)=>o(e,t),[o]));return t.length===0?(0,$.jsx)(`div`,{className:`flex items-center justify-center h-full text-muted-foreground`,children:e(`connection.tab.noConnections`)}):(0,$.jsxs)(m5,{value:n??void 0,onValueChange:r,className:`h-full gap-0`,children:[(0,$.jsx)(h5,{ref:a,variant:`line`,className:`w-full shrink-0 justify-start overflow-x-auto overflow-y-hidden border-b px-2 [scrollbar-width:none] [&::-webkit-scrollbar]:hidden`,children:t.map(e=>(0,$.jsxs)(g5,{value:e.id,...c(e.id),"data-drop-before":l===e.id||void 0,className:`shrink-0 gap-1 data-[drop-before]:shadow-[inset_2px_0_0_var(--color-primary)] !rounded-none !border-0 !border-b-2 !border-transparent pr-1 !text-muted-foreground hover:!text-foreground data-[state=active]:!bg-primary data-[state=active]:!text-primary-foreground data-[state=active]:!border-primary data-[state=active]:font-semibold data-[state=active]:!shadow-none after:!hidden`,children:[c5(e.environmentColor)&&(0,$.jsx)(`span`,{className:`size-2 shrink-0 rounded-full`,style:{background:c5(e.environmentColor)}}),(0,$.jsx)(N9,{dbms:e.dbms,className:`size-3.5 opacity-80`}),(0,$.jsx)(`span`,{className:`truncate max-w-[140px]`,children:e.hostName||`${e.host}:${e.port}`}),(0,$.jsx)(`span`,{role:`button`,tabIndex:0,className:`ml-1 rounded-sm p-0.5 opacity-60 hover:opacity-100 hover:bg-muted transition-colors`,onClick:t=>{t.stopPropagation(),i(e.id)},onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),t.stopPropagation(),i(e.id))},children:(0,$.jsx)(ue,{className:`size-3`})})]},e.id))}),t.map(e=>(0,$.jsx)(_5,{value:e.id,className:`mt-0 min-h-0 flex-1`,children:(0,$.jsx)(Jtt,{connectionId:e.id})},e.id))]})}var Qtt=`planche-chunk-reload`;function $tt(e){let t=e instanceof Error?e.message:String(e);return/dynamically imported module|Importing a module script failed|Failed to fetch dynamically|Loading chunk|ChunkLoadError|error loading dynamically imported module/i.test(t)}function P9(e){if(!$tt(e))return!1;try{if(sessionStorage.getItem(Qtt))return!1;sessionStorage.setItem(Qtt,`1`)}catch{}return window.location.reload(),!0}var ent=class extends E.Component{state={error:null};static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){P9(e)||console.error(`Unhandled render error:`,e,t.componentStack)}render(){let{error:e}=this.state;return e?$tt(e)?null:(0,$.jsxs)(`div`,{className:`flex h-screen flex-col items-center justify-center gap-3 bg-background p-6 text-center text-foreground`,children:[(0,$.jsx)(`h1`,{className:`text-lg font-semibold`,children:S.t(`app.crashTitle`)}),(0,$.jsx)(`p`,{className:`max-w-md text-sm text-muted-foreground`,children:S.t(`app.crashBody`)}),(0,$.jsx)(`pre`,{className:`max-w-lg overflow-auto rounded border bg-muted/40 p-2 text-left text-xs`,children:e.message}),(0,$.jsx)(`button`,{type:`button`,className:`rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground`,onClick:()=>window.location.reload(),children:S.t(`app.crashReload`)})]}):this.props.children}},tnt=(0,E.lazy)(()=>C(()=>import(`./DP7G83e7.js`).then(e=>({default:e.ConnectDialog})),__vite__mapDeps([35,1,2,36,3,37,38,39,40,41,7,5,6,8,12,10,11,13,14,9,42]))),nnt=(0,E.lazy)(()=>C(()=>import(`./Bsl10NAd.js`).then(e=>({default:e.CreateDatabaseDialog})),__vite__mapDeps([43,1,2,36,3,37,38,39,40,41,5,6,7,8,13,16,15,10,11,14,9,12,17,18,19]))),rnt=(0,E.lazy)(()=>C(()=>import(`./Bjupmf7v.js`).then(e=>({default:e.CreateSchemaDialog})),__vite__mapDeps([44,1,2,36,3,37,5,6,7,8,13,16,15,10,11,14,9,12,17,18,19]))),int=(0,E.lazy)(()=>C(()=>import(`./BFUEHSdO.js`).then(e=>({default:e.CopyDatabaseDialog})),__vite__mapDeps([45,1,2,36,3,37,5,6,7,8,13,9,10,11,12,14,16,15,17,18,19]))),ant=(0,E.lazy)(()=>C(()=>import(`./_lYVFvcB.js`).then(e=>({default:e.DownloadToCSVDialog})),__vite__mapDeps([46,1,2,36,3,37,38,39,40,41,5,6,7,8,13,14,9,10,11,12,16,15,17,18,19,42]))),ont=(0,E.lazy)(()=>C(()=>import(`./ClHvsi-E.js`).then(e=>({default:e.SchemaToHTMLDialog})),__vite__mapDeps([47,1,2,36,3,37,38,39,40,41,5,6,7,8,13,14,9,10,11,12,16,18,42]))),snt=(0,E.lazy)(()=>C(()=>import(`./BLF41w4B.js`).then(e=>({default:e.CopyTableDialog})),__vite__mapDeps([48,1,2,36,3,37,38,39,40,41,5,6,7,8,13,9,10,11,12,14,16,15,17,18,19]))),cnt=(0,E.lazy)(()=>C(()=>import(`./CSE_C1ca.js`).then(e=>({default:e.LinkColumnDialog})),__vite__mapDeps([49,1,2,36,3,37,38,39,40,41,5,6,7,8,13,9,10,11,12,14,16,50]))),lnt=(0,E.lazy)(()=>C(()=>import(`./CHn2dkeR.js`).then(e=>({default:e.DataDiffDialog})),__vite__mapDeps([51,1,2,36,3,37,38,39,40,41,5,6,7,8,13,9,10,11,12,14,16,50]))),unt=(0,E.lazy)(()=>C(()=>import(`./DmDLn1hv.js`).then(e=>({default:e.GroupByDialog})),__vite__mapDeps([52,1,2,36,3,37,38,39,40,41,5,6,7,8,13,9,10,11,12,14,16,15,17,18,19]))),dnt=(0,E.lazy)(()=>C(()=>import(`./Ec3vNInq.js`).then(e=>({default:e.SchemaDiffDialog})),__vite__mapDeps([53,1,2,36,3,37,38,39,40,41,5,6,7,8,13,9,10,11,12,14,16,50,54]))),F9=(0,E.lazy)(()=>C(()=>import(`./B4e4BJ-q.js`).then(e=>({default:e.EditSchemaDialog})),__vite__mapDeps([55,1,2,36,3,37,38,39,40,41,5,6,7,8,13,9,10,11,12,14,16,15,17,18,19]))),fnt=(0,E.lazy)(()=>C(()=>import(`./D4aakMZ1.js`).then(e=>({default:e.UserManagerDialog})),__vite__mapDeps([56,1,2,36,3,37,5,6,7,8,13,9,10,11,12,14,16,15,17,18,19,57]))),pnt=(0,E.lazy)(()=>C(()=>import(`./DdGvqbC0.js`).then(e=>({default:e.UserAddDialog})),__vite__mapDeps([58,1,2,36,3,37,38,39,40,41,5,6,7,8,13,57]))),mnt=(0,E.lazy)(()=>C(()=>import(`./BFddfnRD.js`).then(e=>({default:e.ProcessListDialog})),__vite__mapDeps([59,1,2,36,3,10,37,5,6,7,8,13,9,11,12,14,16]))),hnt=(0,E.lazy)(()=>C(()=>import(`./rSe5GrVH.js`).then(e=>({default:e.VariablesDialog})),__vite__mapDeps([60,1,2,36,3,10,37,5,6,7,8,13,9,11,12,14,16]))),gnt=(0,E.lazy)(()=>C(()=>import(`./CCHDqJU3.js`).then(e=>({default:e.StatusDialog})),__vite__mapDeps([61,1,2,36,3,10,37,5,6,7,8,13,9,11,12,14,16]))),_nt=(0,E.lazy)(()=>C(()=>import(`./aBt7vbXN.js`).then(e=>({default:e.FlushDialog})),__vite__mapDeps([62,36,1,2,3,37,5,6,7,8,13,9,10,11,12,14]))),vnt=(0,E.lazy)(()=>C(()=>import(`./Dl3kZgxg.js`).then(e=>({default:e.FindReplaceDialog})),__vite__mapDeps([63,1,2,36,3,41,5,6,7,8,13,14,17,11]))),ynt=(0,E.lazy)(()=>C(()=>import(`./Bx57-46U.js`).then(e=>({default:e.SafetySettingsDialog})),__vite__mapDeps([64,36,1,2,3,37,8,6,13,65]))),bnt=(0,E.lazy)(()=>C(()=>import(`./baQnXYR8.js`).then(e=>({default:e.QuerySettingsDialog})),__vite__mapDeps([66,36,1,2,3,37,38,39,40,41,8,6,13,65]))),xnt=(0,E.lazy)(()=>C(()=>import(`./CCBiFHWk.js`).then(e=>({default:e.GeneralSettingsDialog})),__vite__mapDeps([67,2,1,36,3,10,37,38,39,40,41,8,6,13,65]))),Snt=(0,E.lazy)(()=>C(()=>import(`./DpcElnaI.js`).then(e=>({default:e.AiSettingsDialog})),__vite__mapDeps([68,1,2,36,3,37,38,39,40,41,8,6,12,10,7,11,13]))),Cnt=(0,E.lazy)(()=>C(()=>import(`./Cv7B7xE1.js`).then(e=>({default:e.McpSetupDialog})),__vite__mapDeps([69,1,2,36,3,37,12,10,7,11,13]))),wnt=(0,E.lazy)(()=>C(()=>import(`./cFpo8ItN.js`).then(e=>({default:e.LocalHistoryDialog})),__vite__mapDeps([70,1,2,36,3,37,5,6,7,8,13,14]))),Tnt=(0,E.lazy)(()=>C(()=>import(`./C3skRSMN.js`).then(e=>({default:e.AboutDialog})),__vite__mapDeps([71,36,1,2,3,37,13]))),Ent=(0,E.lazy)(()=>C(()=>import(`./C63wLpkg.js`).then(e=>({default:e.LicenseDialog})),__vite__mapDeps([72,1,2,36,3,37,13,73,74]))),Dnt=(0,E.lazy)(()=>C(()=>import(`./BXogLn0j.js`).then(e=>({default:e.SyncDialog})),__vite__mapDeps([75,1,2,36,3,37,13,73,74]))),Ont=(0,E.lazy)(()=>C(()=>import(`./uCGINy9d.js`).then(e=>({default:e.TermsDialog})),__vite__mapDeps([76,36,1,2,3,37,8,6,13]))),knt=(0,E.lazy)(()=>C(()=>import(`./DBwwgHNb.js`).then(e=>({default:e.WhatsNewDialog})),__vite__mapDeps([77,1,2,36,3,37,8,6,12,10,7,11,13]))),Ant=(0,E.lazy)(()=>C(()=>import(`./B8kALM_o.js`).then(e=>({default:e.RowFormDialog})),__vite__mapDeps([78,1,2,36,3,37,5,6,7,8,13,9,10,11,12,14,15,16,17,18,19]))),jnt={connect:tnt,"create-database":nnt,"create-schema":rnt,"copy-database":int,"export-csv":ant,"export-html":ont,"alter-database":F9,"create-table":F9,"alter-table":F9,"duplicate-table-structure":F9,"copy-table":snt,"schema-diff":dnt,"data-diff":lnt,"group-by":unt,"link-column":cnt,"user-manager":fnt,"user-add":pnt,"process-list":mnt,variables:hnt,status:gnt,flush:_nt,"find-replace":vnt,"quick-command":(0,E.lazy)(()=>C(()=>import(`./Uf0CXpNG.js`).then(e=>({default:e.QuickCommandPalette})),__vite__mapDeps([79,1,2,36,3,10,37,5,6,7,8,13,14,9,11,12,15,16,17,18,19]))),"safety-settings":ynt,"query-settings":bnt,"general-settings":xnt,"ai-settings":Snt,"mcp-setup":Cnt,"local-history":wnt,about:Tnt,license:Ent,sync:Dnt,terms:Ont,"whats-new":knt,"row-form":Ant},Mnt=class extends E.Component{state={failed:!1};static getDerivedStateFromError(){return{failed:!0}}componentDidCatch(e){if(P9(e))return;console.error(`Dialog render error:`,e);let t=jt.getState();t.closeDialog(),t.setFooterMessage(S.t(`app.dialogFailed`,{message:e.message}))}render(){return this.state.failed?null:this.props.children}};function Nnt(){let e=jt(e=>e.activeDialog);if(!e)return null;let t=jnt[e];return t?(0,$.jsx)(Mnt,{children:(0,$.jsx)(E.Suspense,{fallback:null,children:(0,$.jsx)(t,{})})},e):null}function I9({...e}){return(0,$.jsx)(YKe,{"data-slot":`alert-dialog`,...e})}function Pnt({...e}){return(0,$.jsx)(XKe,{"data-slot":`alert-dialog-portal`,...e})}function Fnt({className:e,...t}){return(0,$.jsx)(ZKe,{"data-slot":`alert-dialog-overlay`,className:h(`fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0`,e),...t})}function L9({className:e,size:t=`default`,...n}){return(0,$.jsxs)(Pnt,{children:[(0,$.jsx)(Fnt,{}),(0,$.jsx)(QKe,{"data-slot":`alert-dialog-content`,"data-size":t,className:h(`group/alert-dialog-content fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border bg-background p-6 shadow-lg duration-200 data-[size=sm]:max-w-xs data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[size=default]:sm:max-w-lg`,e),...n})]})}function R9({className:e,...t}){return(0,$.jsx)(`div`,{"data-slot":`alert-dialog-header`,className:h(`grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-6 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]`,e),...t})}function z9({className:e,...t}){return(0,$.jsx)(`div`,{"data-slot":`alert-dialog-footer`,className:h(`flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end`,e),...t})}function B9({className:e,...t}){return(0,$.jsx)(tqe,{"data-slot":`alert-dialog-title`,className:h(`text-lg font-semibold sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2`,e),...t})}function V9({className:e,...t}){return(0,$.jsx)(nqe,{"data-slot":`alert-dialog-description`,className:h(`text-sm text-muted-foreground`,e),...t})}function H9({className:e,variant:t=`default`,size:n=`default`,...r}){return(0,$.jsx)(b,{variant:t,size:n,asChild:!0,children:(0,$.jsx)($Ke,{"data-slot":`alert-dialog-action`,className:h(e),...r})})}function U9({className:e,variant:t=`outline`,size:n=`default`,...r}){return(0,$.jsx)(b,{variant:t,size:n,asChild:!0,children:(0,$.jsx)(eqe,{"data-slot":`alert-dialog-cancel`,className:h(e),...r})})}function W9({className:e,type:t,...n}){return(0,$.jsx)(`input`,{type:t,"data-slot":`input`,className:h(`h-9 w-full min-w-0 rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none selection:bg-primary selection:text-primary-foreground file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm dark:bg-input/30`,`focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50`,`aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40`,e),...n})}function Int({className:e,...t}){return(0,$.jsx)(BXe,{"data-slot":`label`,className:h(`flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50`,e),...t})}function Lnt(){let e=jt(e=>e.destructiveConfirm),t=jt(e=>e.resolveDestructiveConfirm);return e?(0,$.jsx)(Rnt,{request:e.request,resolve:t},e.id):null}function Rnt({request:e,resolve:t}){let{t:n}=ie(),[r,i]=(0,E.useState)(``),a=!!e.typeToConfirm,o=!a||r===e.typeToConfirm;return(0,$.jsx)(I9,{open:!0,onOpenChange:e=>{e||t(!1)},children:(0,$.jsx)(L9,{className:`max-w-lg overflow-hidden`,children:(0,$.jsxs)(`form`,{className:`contents`,onSubmit:e=>{e.preventDefault(),o&&t(!0)},children:[(0,$.jsxs)(R9,{children:[(0,$.jsxs)(B9,{className:`flex min-w-0 items-center gap-2 break-words`,children:[(0,$.jsx)(N6,{className:`size-5 shrink-0 text-destructive`}),(0,$.jsx)(`span`,{className:`min-w-0 break-words`,children:e.title})]}),(0,$.jsx)(V9,{className:`min-w-0 break-words [overflow-wrap:anywhere] whitespace-pre-line`,children:e.description??n(`confirm.defaultDescription`)})]}),e.statements&&e.statements.length>0&&(0,$.jsx)(`pre`,{className:`max-h-48 overflow-auto rounded-md border bg-muted p-3 font-mono text-xs whitespace-pre-wrap break-all`,children:e.statements.join(`
943
+ `;a.executeEdits(`history`,[{range:c,text:f,forceMoveMarkers:!0}]),a.focus(),o(t(`result.history.inserted`))},[r,e,g,o,t]),v=(0,E.useMemo)(()=>n.filter(t=>!e||!t.connectionId||t.connectionId===e),[n,e]),y=(0,E.useCallback)(async()=>{if(!await s({title:t(`result.history.clearTitle`),description:t(`result.history.clearDescription`,{count:v.length}),confirmLabel:t(`result.history.clearConfirm`)}))return;let r=n.filter(t=>t.connectionId&&t.connectionId!==e);i();for(let e of[...r].reverse())a(e)},[s,t,v.length,n,e,i,a]),b=(0,E.useMemo)(()=>{let e=u.trim().toLowerCase();return v.filter(t=>!(f===`success`&&!t.success||f===`failed`&&t.success||m&&t.tabId!==r||e&&!t.query.toLowerCase().includes(e)&&!(t.database??``).toLowerCase().includes(e)&&!(t.error??``).toLowerCase().includes(e)))},[v,u,f,m,r]),x=(0,E.useMemo)(()=>zet(b,t),[b,t]);if(v.length===0)return(0,$.jsx)(`div`,{className:`flex h-full items-center justify-center text-sm text-muted-foreground`,children:t(`result.history.empty`)});let S=(e,t)=>(0,$.jsx)(`button`,{type:`button`,className:`rounded px-2 py-0.5 text-xs ${f===e?`bg-primary text-primary-foreground`:`text-muted-foreground hover:text-foreground`}`,onClick:()=>p(e),children:t});return(0,$.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,$.jsxs)(`div`,{className:`flex flex-shrink-0 flex-wrap items-center gap-2 border-b bg-muted/30 px-3 py-1.5`,children:[(0,$.jsxs)(`div`,{className:`relative`,children:[(0,$.jsx)(O6,{className:`pointer-events-none absolute left-2 top-1/2 size-3.5 -translate-y-1/2 text-muted-foreground`}),(0,$.jsx)(`input`,{className:`h-7 w-52 rounded border bg-background pl-7 pr-6 text-xs placeholder:text-muted-foreground`,placeholder:t(`result.history.searchPlaceholder`),value:u,onChange:e=>d(e.target.value)}),u&&(0,$.jsx)(`button`,{type:`button`,className:`absolute right-1.5 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground`,onClick:()=>d(``),children:(0,$.jsx)(ue,{className:`size-3`})})]}),(0,$.jsxs)(`div`,{className:`flex items-center rounded border bg-background p-0.5`,children:[S(`all`,t(`result.history.all`)),S(`success`,t(`result.history.success`)),S(`failed`,t(`result.history.failed`))]}),(0,$.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-1.5 text-xs`,children:[(0,$.jsx)(`input`,{type:`checkbox`,className:`accent-primary`,checked:m,onChange:e=>h(e.target.checked)}),t(`result.history.thisTab`)]}),(0,$.jsx)(`div`,{className:`flex-1`}),(0,$.jsx)(`span`,{className:`text-xs text-muted-foreground tabular-nums`,children:t(`result.history.count`,{count:b.length})}),(0,$.jsxs)(`button`,{type:`button`,className:`flex h-7 items-center gap-1 rounded border bg-background px-2 text-xs text-muted-foreground hover:text-destructive`,onClick:()=>void y(),children:[(0,$.jsx)(M6,{className:`size-3`}),t(`result.history.clear`)]})]}),(0,$.jsx)(F6,{className:`min-h-0 flex-1`,children:b.length===0?(0,$.jsx)(`div`,{className:`p-6 text-center text-sm text-muted-foreground`,children:t(`result.history.noMatch`)}):x.map(e=>(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{className:`sticky top-0 z-10 border-b bg-background/95 px-3 py-1 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground backdrop-blur`,children:e.label}),(0,$.jsx)(`div`,{className:`divide-y divide-border/60 text-sm`,children:e.entries.map(e=>{let n=e.kind?.toUpperCase();return(0,$.jsxs)(`div`,{className:`group/row flex items-start gap-2 px-3 py-2 hover:bg-muted/50`,children:[(0,$.jsx)(`div`,{className:`mt-0.5 flex-shrink-0`,children:e.success?(0,$.jsx)(s6,{className:`size-4 text-green-500`}):(0,$.jsx)(c6,{className:`size-4 text-destructive`})}),(0,$.jsxs)(`div`,{className:`min-w-0 flex-1 cursor-pointer`,onClick:()=>g(e.id,e.query),title:e.query,children:[(0,$.jsx)(`p`,{className:`break-words font-mono text-xs text-foreground`,children:Let(e.query)}),(0,$.jsxs)(`div`,{className:`mt-0.5 flex flex-wrap items-center gap-x-3 gap-y-0.5 text-[11px] text-muted-foreground`,children:[(0,$.jsx)(`span`,{className:`tabular-nums`,children:Iet(e.timestamp)}),n&&(0,$.jsx)(`span`,{className:`rounded px-1 text-[9px] font-semibold ${Bet[n]??`bg-muted`}`,children:n}),e.database&&(0,$.jsx)(`span`,{className:`font-mono`,children:e.database}),e.rowCount!=null&&(0,$.jsxs)(`span`,{className:`flex items-center gap-0.5`,children:[(0,$.jsx)(D6,{className:`size-3`}),t(`result.history.rows`,{count:e.rowCount})]}),e.affectedRows!=null&&e.affectedRows>0&&(0,$.jsxs)(`span`,{className:`flex items-center gap-0.5`,children:[(0,$.jsx)(C6,{className:`size-3`}),t(`result.history.affected`,{count:e.affectedRows})]}),(0,$.jsxs)(`span`,{className:`flex items-center gap-0.5 tabular-nums`,children:[(0,$.jsx)(l6,{className:`size-3`}),Ret(e.executionTime)]})]}),e.error&&(0,$.jsx)(`p`,{className:`mt-0.5 break-words text-xs text-destructive`,children:e.error})]}),(0,$.jsxs)(`div`,{className:`mt-0.5 flex flex-shrink-0 items-center gap-0.5 opacity-0 group-hover/row:opacity-100`,children:[(0,$.jsx)(`button`,{type:`button`,className:`rounded p-1 text-muted-foreground hover:bg-muted hover:text-foreground`,title:t(`result.history.insert`),onClick:()=>_(e.id,e.query),children:(0,$.jsx)($$e,{className:`size-3.5`})}),(0,$.jsx)(`button`,{type:`button`,className:`rounded p-1 text-muted-foreground hover:bg-muted hover:text-foreground`,title:t(`result.history.copy`),onClick:()=>g(e.id,e.query),children:c===e.id?(0,$.jsx)(r6,{className:`size-3.5 text-green-500`}):(0,$.jsx)(d6,{className:`size-3.5`})})]})]},e.id)})})]},e.key))})]})}var Het={"full-scan":`border-destructive/50 text-destructive`,"no-index":`border-destructive/50 text-destructive`,"estimate-off":`border-catppuccin-yellow/50 text-catppuccin-yellow`,temporary:`border-catppuccin-yellow/50 text-catppuccin-yellow`,filesort:`border-catppuccin-yellow/50 text-catppuccin-yellow`},b9={"full-scan":{label:`result.plan.warnings.fullScan`,hint:`result.plan.hints.fullScan`},"no-index":{label:`result.plan.warnings.noIndex`,hint:`result.plan.hints.noIndex`},"estimate-off":{label:`result.plan.warnings.estimateOff`,hint:`result.plan.hints.estimateOff`},temporary:{label:`result.plan.warnings.temporary`,hint:`result.plan.hints.temporary`},filesort:{label:`result.plan.warnings.filesort`,hint:`result.plan.hints.filesort`}};function Uet(e){return e<1e3?`${e.toFixed(e<10?2:0)} ms`:`${(e/1e3).toFixed(2)} s`}function x9(e){return e>=1e3?Math.round(e).toLocaleString():String(Math.round(e*100)/100)}function Wet(e,t){let n=[],r=(e,i)=>{let a=e.children.length>0,o=a&&!t.has(e.id);if(n.push({node:e,depth:i,hasChildren:a,expanded:o}),o)for(let t of e.children)r(t,i+1)};for(let t of e)r(t,0);return n}function Get(e,t){return t?e.timeMs??e.cost:e.cost}function Ket(e,t){let n=0,r=e=>{let i=Get(e,t);i!==null&&i>n&&(n=i),e.children.forEach(r)};return e.forEach(r),n}function S9({icon:e,value:t,title:n}){return(0,$.jsxs)(`span`,{className:`flex items-center gap-0.5 tabular-nums`,title:n,children:[(0,$.jsx)(e,{className:`size-3 shrink-0`}),t]})}function qet({node:e}){let{t}=ie();return(0,$.jsxs)(`div`,{className:`flex h-full w-72 shrink-0 flex-col border-l`,children:[(0,$.jsxs)(`div`,{className:`border-b px-3 py-2`,children:[(0,$.jsx)(`div`,{className:`truncate text-xs font-semibold`,title:e.label,children:e.label}),e.object&&(0,$.jsx)(`div`,{className:`truncate font-mono text-[11px] text-muted-foreground`,children:e.object})]}),(0,$.jsx)(F6,{className:`flex-1`,children:(0,$.jsxs)(`div`,{className:`p-3`,children:[e.warnings.length>0&&(0,$.jsx)(`ul`,{className:`mb-3 space-y-1.5`,children:e.warnings.map(e=>(0,$.jsxs)(`li`,{className:`text-[11px] leading-snug`,children:[(0,$.jsx)(`span`,{className:`mr-1 rounded border px-1 text-[9px] font-semibold uppercase ${Het[e]}`,children:t(b9[e].label)}),(0,$.jsx)(`span`,{className:`text-muted-foreground`,children:t(b9[e].hint)})]},e))}),e.details.length===0?(0,$.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:t(`result.plan.noDetails`)}):(0,$.jsx)(`dl`,{className:`space-y-1.5`,children:e.details.map((e,t)=>(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`dt`,{className:`text-[10px] font-medium uppercase tracking-wide text-muted-foreground`,children:e.label}),(0,$.jsx)(`dd`,{className:`break-words font-mono text-[11px]`,children:e.value})]},`${e.label}-${t}`))})]})})]})}function Jet({connectionId:e,tabId:t}){let{t:n}=ie(),r=Mt(t=>t.tabs[e]??Nt),i=r.find(e=>e.id===t)?.plan??null,[a,o]=(0,E.useState)(!1),[s,c]=(0,E.useState)(!1),[l,u]=(0,E.useState)(null),[d,f]=(0,E.useState)(null),[p,m]=(0,E.useState)(new Set),[h,g]=(0,E.useState)(null),[_,v]=(0,E.useState)(!1);(0,E.useEffect)(()=>{if(u(null),f(null),!i)return;let e=!0;return V3e().then(t=>e&&o(t)),()=>{e=!1}},[e,t,i]);let y=(0,E.useCallback)(()=>{c(!0),f(null),J3e(e,t).then(u).catch(e=>f(e instanceof Error?e.message:String(e))).finally(()=>c(!1))},[e,t]),b=(0,E.useMemo)(()=>i?Wet(i.roots,p):[],[i,p]),x=(0,E.useMemo)(()=>i?Ket(i.roots,i.analyzed):0,[i]),S=(0,E.useMemo)(()=>b.find(e=>e.node.id===h)?.node??null,[b,h]);if(!i)return(0,$.jsx)(`div`,{className:`flex h-full items-center justify-center px-6 text-center text-sm text-muted-foreground`,children:n(`result.plan.empty`)});if(i.roots.length===0)return(0,$.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,$.jsx)(`div`,{className:`border-b px-3 py-2 text-xs text-muted-foreground`,children:n(`result.plan.unreadable`)}),(0,$.jsx)(F6,{className:`flex-1`,children:(0,$.jsx)(`pre`,{className:`whitespace-pre-wrap break-words p-3 font-mono text-xs`,children:i.raw})})]});let C=e=>m(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n});return(0,$.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-3 gap-y-1 border-b px-3 py-1.5 text-xs text-muted-foreground`,children:[(0,$.jsx)(`span`,{className:`rounded border px-1 text-[9px] font-semibold uppercase ${i.analyzed?`border-green-500/50 text-green-500`:`border-border`}`,title:n(i.analyzed?`result.plan.analyzedHint`:`result.plan.estimatedHint`),children:n(i.analyzed?`result.plan.analyzed`:`result.plan.estimated`)}),i.totalCost!==null&&(0,$.jsx)(S9,{icon:Y$e,value:x9(i.totalCost),title:n(`result.plan.totalCost`)}),i.totalTimeMs!==null&&(0,$.jsx)(S9,{icon:l6,value:Uet(i.totalTimeMs),title:n(`result.plan.totalTime`)}),(0,$.jsx)(`div`,{className:`flex-1`}),a&&(0,$.jsxs)(`button`,{type:`button`,className:`inline-flex items-center gap-1 rounded px-1.5 py-0.5 hover:bg-muted hover:text-foreground disabled:opacity-60`,onClick:y,disabled:s,children:[s?(0,$.jsx)(b6,{className:`size-3 animate-spin`}):(0,$.jsx)(k6,{className:`size-3`}),n(s?`result.ai.thinking`:`result.ai.explainPlan`)]}),(0,$.jsx)(`button`,{type:`button`,className:`rounded px-1.5 py-0.5 hover:bg-muted hover:text-foreground`,onClick:()=>v(e=>!e),children:n(_?`result.plan.showTree`:`result.plan.showRaw`)})]}),d&&(0,$.jsx)(`p`,{className:`border-b px-3 py-1.5 text-xs text-muted-foreground`,children:n(`result.ai.failed`,{message:d})}),l&&(0,$.jsxs)(`div`,{className:`border-b px-3 py-2`,children:[(0,$.jsxs)(`div`,{className:`mb-1 flex items-center gap-1 text-[10px] font-medium uppercase tracking-wide text-muted-foreground`,children:[(0,$.jsx)(k6,{className:`size-3`}),n(`result.ai.title`),(0,$.jsx)(`span`,{className:`font-normal normal-case tracking-normal`,children:n(`result.ai.by`,{model:l.model})})]}),(0,$.jsx)(`p`,{className:`whitespace-pre-wrap text-xs leading-relaxed`,children:l.explanation}),l.fix&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`pre`,{className:`mt-2 overflow-x-auto rounded border bg-muted/50 p-2 font-mono text-[11px]`,children:l.fix}),(0,$.jsxs)(`button`,{type:`button`,className:`mt-1.5 inline-flex items-center gap-1 text-[11px] text-muted-foreground hover:text-foreground`,onClick:()=>q6(e,l.fix,r.find(e=>e.id===t)?.database??``,n(`result.ai.title`)),children:[(0,$.jsx)(L$e,{className:`size-3`}),n(`result.ai.applyFix`)]})]})]}),_?(0,$.jsx)(F6,{className:`flex-1`,children:(0,$.jsx)(`pre`,{className:`whitespace-pre-wrap break-words p-3 font-mono text-xs`,children:i.raw})}):(0,$.jsxs)(`div`,{className:`flex min-h-0 flex-1`,children:[(0,$.jsx)(F6,{className:`min-w-0 flex-1`,children:(0,$.jsx)(`ul`,{className:`py-1 text-xs`,children:b.map(({node:e,depth:t,hasChildren:r,expanded:a})=>{let o=Get(e,i.analyzed),s=x>0&&o!==null?Math.max(o/x,.02):0,c=e.id===h;return(0,$.jsx)(`li`,{children:(0,$.jsxs)(`button`,{type:`button`,className:`relative flex w-full items-center gap-1.5 py-1 pr-3 text-left ${c?`bg-primary/10`:`hover:bg-muted/60`}`,style:{paddingLeft:`${t*14+8}px`},onClick:()=>g(e.id),children:[s>0&&(0,$.jsx)(`span`,{"aria-hidden":!0,className:`pointer-events-none absolute inset-y-0 left-0 bg-primary/10`,style:{width:`${s*100}%`}}),(0,$.jsx)(`span`,{className:`relative flex w-3 shrink-0 justify-center text-muted-foreground`,children:r&&(0,$.jsx)(`span`,{role:`button`,tabIndex:-1,onClick:t=>{t.stopPropagation(),C(e.id)},children:a?(0,$.jsx)(i6,{className:`size-3`}):(0,$.jsx)(a6,{className:`size-3`})})}),(0,$.jsxs)(`span`,{className:`relative min-w-0 flex-1 truncate`,children:[(0,$.jsx)(`span`,{className:`font-medium`,children:e.label}),e.object&&!e.label.includes(e.object)&&(0,$.jsx)(`span`,{className:`ml-1.5 font-mono text-[11px] text-muted-foreground`,children:e.object}),e.warnings.map(e=>(0,$.jsx)(`span`,{className:`ml-1.5 rounded border px-1 text-[9px] font-semibold uppercase ${Het[e]}`,children:n(b9[e].label)},e))]}),(0,$.jsxs)(`span`,{className:`relative flex shrink-0 items-center gap-2.5 text-[11px] text-muted-foreground`,children:[e.rows!==null&&(0,$.jsx)(S9,{icon:D6,value:x9(e.rows),title:n(`result.plan.rows`)}),e.actualRows!==null&&(0,$.jsx)(S9,{icon:n1e,value:x9(e.actualRows),title:n(`result.plan.actualRows`)}),e.cost!==null&&(0,$.jsx)(S9,{icon:Y$e,value:x9(e.cost),title:n(`result.plan.cost`)}),e.timeMs!==null&&(0,$.jsx)(S9,{icon:l6,value:Uet(e.timeMs),title:n(`result.plan.time`)})]})]})},e.id)})})}),S?(0,$.jsx)(qet,{node:S}):(0,$.jsx)(`div`,{className:`flex w-72 shrink-0 items-center justify-center border-l px-4 text-center text-[11px] text-muted-foreground`,children:(0,$.jsxs)(`span`,{className:`flex flex-col items-center gap-1.5`,children:[(0,$.jsx)(h1e,{className:`size-4`}),n(`result.plan.selectNode`)]})})]})]})}var Yet=56,Xet=16,C9=14;function Zet(e,t){let n=new Map,r=new Set,i=e=>{let a=n.get(e);if(a!==void 0)return a;if(r.has(e))return 0;r.add(e);let o=0;for(let n of t.get(e)??[])o=Math.max(o,i(n)+1);return r.delete(e),n.set(e,o),o};for(let t of e)i(t.id);let a=new Map;for(let[e,n]of t)for(let t of n)a.set(t,[...a.get(t)??[],e]);let o=Math.max(...e.map(e=>n.get(e.id)??0)),s=new Map,c=e=>{let t=s.get(e);if(t!==void 0)return t;if(r.has(e))return n.get(e)??0;r.add(e);let i=a.get(e)??[],l=i.length===0?o:Math.min(...i.map(e=>c(e)-1));return r.delete(e),s.set(e,Math.max(n.get(e)??0,l)),s.get(e)??0};for(let t of e)c(t.id);return s}function Qet(e){let t=new Map;for(let n of e.groups){let e=t.get(n.parentId)??[];e.push(n.id),t.set(n.parentId,e)}let n=new Map;for(let t of e.nodes){let e=n.get(t.groupId)??[];e.push(t.id),n.set(t.groupId,e)}let r=new Map,i=e=>{let a=r.get(e);if(a)return a;let o=[...n.get(e)??[]];for(let n of t.get(e)??[])o.push(...i(n));return r.set(e,o),o};for(let t of e.groups)i(t.id);let a=new Map,o=i=>{let s=[];for(let e of i===null?[]:n.get(i)??[])s.push({id:e,kind:`node`,width:196,height:56,x:0,y:0});for(let e of t.get(i)??[]){let t=o(e);a.set(e,t),s.push({id:e,kind:`group`,width:t.width+28,height:t.height+28+22,x:0,y:0})}if(s.length===0)return{width:0,height:0,items:s};let c=new Map;for(let e of s)if(e.kind===`node`)c.set(e.id,e.id);else for(let t of r.get(e.id)??[])c.set(t,e.id);let l=new Map;for(let t of e.edges){let e=c.get(t.from),n=c.get(t.to);if(!e||!n||e===n)continue;let r=l.get(n)??new Set;r.add(e),l.set(n,r)}let u=Zet(s,l),d=new Map;for(let e of s){let t=u.get(e.id)??0,n=d.get(t)??[];n.push(e),d.set(t,n)}let f=[...d.keys()].sort((e,t)=>e-t).map(e=>{let t=d.get(e)??[];return{key:e,width:Math.max(...t.map(e=>e.width)),height:t.reduce((e,t)=>e+t.height,0)+Xet*(t.length-1)}}),p=Math.max(...f.map(e=>e.height)),m=0;for(let e of f){let t=d.get(e.key)??[],n=(p-e.height)/2;for(let r of t)r.x=m+(e.width-r.width)/2,r.y=n,n+=r.height+Xet;m+=e.width+Yet}return{width:m-Yet,height:p,items:s}},s=o(null);a.set(`__root`,s);let c=[],l=[],u=(t,n,r,i)=>{for(let o of t.items){let t=n+o.x,s=r+o.y;if(o.kind===`node`){c.push({id:o.id,x:t,y:s,width:o.width,height:o.height});continue}let d=e.groups.find(e=>e.id===o.id);l.push({id:o.id,x:t,y:s,width:o.width,height:o.height,label:d?.label??``,depth:i});let f=a.get(o.id);f&&u(f,t+C9,s+C9+22,i+1)}};return u(s,C9,C9,0),{nodes:c,groups:l,width:s.width+28,height:s.height+28}}var $et=.3,ett=2,ttt=.0012,ntt=120,rtt=e=>Math.max($et,Math.min(ett,e)),itt={table:`var(--t-green)`,cte:`var(--t-blue)`,"cte-ref":`var(--t-teal)`,derived:`var(--t-mauve)`,scalar:`var(--t-lavender)`,setop:`var(--t-sky)`,result:`var(--t-peach)`},att={table:`result.structure.kindTable`,cte:`result.structure.kindCte`,"cte-ref":`result.structure.kindCteRef`,derived:`result.structure.kindDerived`,scalar:`result.structure.kindScalar`,setop:`result.structure.kindSetop`,result:`result.structure.kindResult`};function ott(e,t){let n=e.x+e.width,r=e.y+e.height/2,i=t.x,a=t.y+t.height/2,o=Math.max(28,Math.abs(i-n)/2);return`M ${n} ${r} C ${n+o} ${r}, ${i-o} ${a}, ${i} ${a}`}function stt({connectionId:e,tabId:t,index:n}){let{t:r}=ie(),i=Mt(t=>t.tabs[e]??Nt).find(e=>e.id===t)?.graphs?.[n]??null,a=i?.graph??null;(0,E.useEffect)(()=>{i&&!i.enriched&&i.graph&&E8(e,t,n)},[e,t,n,i]);let[o,s]=(0,E.useState)(1),[c,l]=(0,E.useState)({x:0,y:0}),u=(0,E.useRef)(null),d=(0,E.useRef)(null),f=(0,E.useRef)(null),[p,m]=(0,E.useState)(!1),[h,g]=(0,E.useState)(null),_=(0,E.useMemo)(()=>a?Qet(a):null,[a]),v=(0,E.useMemo)(()=>{if(!h||!a)return null;let e=new Set,t=new Set([h]);for(let n of a.edges)(n.from===h||n.to===h)&&(e.add(n.id),t.add(n.from),t.add(n.to));return{edges:e,nodes:t}},[h,a]),y=(0,E.useMemo)(()=>new Map((_?.nodes??[]).map(e=>[e.id,e])),[_]),b=(0,E.useMemo)(()=>new Map((a?.nodes??[]).map(e=>[e.id,e])),[a]),x=(0,E.useCallback)(()=>{let e=d.current;if(!e||!_||_.width===0)return;let t=rtt(Math.min(e.clientWidth/_.width,e.clientHeight/_.height,1));s(t),l({x:(e.clientWidth-_.width*t)/2,y:(e.clientHeight-_.height*t)/2})},[_]),S=(0,E.useCallback)(()=>{document.fullscreenElement?document.exitFullscreen().catch(()=>{}):f.current?.requestFullscreen().catch(()=>{})},[]);(0,E.useEffect)(()=>{let e=()=>{m(document.fullscreenElement===f.current),requestAnimationFrame(()=>x())};return document.addEventListener(`fullscreenchange`,e),()=>document.removeEventListener(`fullscreenchange`,e)},[x]);let C=(0,E.useCallback)(e=>{e.preventDefault();let t=Math.max(-120,Math.min(ntt,e.deltaY)),n=d.current?.getBoundingClientRect();s(r=>{let i=rtt(r*(1-t*ttt));if(n){let t=e.clientX-n.left,a=e.clientY-n.top;l(e=>({x:t-(t-e.x)/r*i,y:a-(a-e.y)/r*i}))}return i})},[]),w=(0,E.useCallback)(e=>{e.button===0&&(u.current={x:e.clientX,y:e.clientY,panX:c.x,panY:c.y})},[c]),T=(0,E.useCallback)(e=>{let t=u.current;t&&l({x:t.panX+(e.clientX-t.x),y:t.panY+(e.clientY-t.y)})},[]),ee=(0,E.useCallback)(()=>{u.current=null},[]),te=(0,E.useCallback)(n=>{!n.range||i?.documentOffset===null||i===null||on(e,t,i.documentOffset+n.range[0],i.documentOffset+n.range[1])},[e,t,i]);if(!i)return(0,$.jsx)(`div`,{className:`p-4 text-xs text-muted-foreground`,children:r(`result.structure.empty`)});if(!a||!_)return(0,$.jsx)(`div`,{className:`p-4 text-xs text-muted-foreground`,children:i.message});let ne=e=>e===null?r(`result.structure.columnsUnknown`):r(`result.structure.columns`,{count:e});return(0,$.jsxs)(`div`,{ref:f,className:`relative h-full w-full overflow-hidden`,style:{background:`var(--t-mantle)`},children:[(0,$.jsxs)(`div`,{className:`absolute right-2 top-2 z-10 flex gap-1`,children:[(0,$.jsxs)(`button`,{type:`button`,onClick:x,className:`flex items-center gap-1 rounded border bg-background/80 px-2 py-1 text-[11px] text-muted-foreground hover:text-foreground`,children:[(0,$.jsx)(x6,{className:`size-3`}),r(`result.structure.fit`)]}),(0,$.jsxs)(`button`,{type:`button`,onClick:S,className:`flex items-center gap-1 rounded border bg-background/80 px-2 py-1 text-[11px] text-muted-foreground hover:text-foreground`,children:[p?(0,$.jsx)(_1e,{className:`size-3`}):(0,$.jsx)(Z$e,{className:`size-3`}),r(p?`result.structure.exitFullscreen`:`result.structure.fullscreen`)]})]}),a.warnings.length>0&&(0,$.jsx)(`div`,{className:`absolute left-2 top-2 z-10 rounded border px-2 py-1 text-[11px]`,style:{borderColor:`var(--t-yellow)`,color:`var(--t-yellow)`},children:r(`result.structure.notDrawn`,{what:a.warnings.join(`; `)})}),(0,$.jsx)(`div`,{ref:d,className:`h-full w-full cursor-grab active:cursor-grabbing`,onWheel:C,onMouseDown:w,onMouseMove:T,onMouseUp:ee,onMouseLeave:ee,children:(0,$.jsxs)(`div`,{className:`relative origin-top-left`,style:{width:_.width,height:_.height,transform:`translate(${c.x}px, ${c.y}px) scale(${o})`},children:[_.groups.map(e=>(0,$.jsx)(`div`,{className:`absolute rounded-md border border-dashed`,style:{left:e.x,top:e.y,width:e.width,height:e.height,borderColor:`var(--t-surface2, var(--t-overlay0))`,background:e.depth%2==0?`var(--t-base, transparent)`:`var(--t-surface0)`,opacity:.9},children:(0,$.jsx)(`div`,{className:`px-2 pt-1 text-[10px] font-semibold uppercase tracking-wide`,style:{height:22,color:`var(--t-overlay1)`},children:e.label})},e.id)),(0,$.jsxs)(`svg`,{className:`pointer-events-none absolute inset-0`,width:_.width,height:_.height,children:[(0,$.jsxs)(`defs`,{children:[(0,$.jsx)(`marker`,{id:`qg-arrow`,markerWidth:`8`,markerHeight:`8`,refX:`7`,refY:`4`,orient:`auto`,children:(0,$.jsx)(`path`,{d:`M0,0 L8,4 L0,8 z`,fill:`var(--t-overlay1)`})}),(0,$.jsx)(`marker`,{id:`qg-arrow-lit`,markerWidth:`8`,markerHeight:`8`,refX:`7`,refY:`4`,orient:`auto`,children:(0,$.jsx)(`path`,{d:`M0,0 L8,4 L0,8 z`,fill:`var(--t-blue)`})})]}),a.edges.map(e=>{let t=y.get(e.from),n=y.get(e.to);if(!t||!n)return null;let r=b.get(e.from),i=v?.edges.has(e.id)??!1;return(0,$.jsxs)(`g`,{style:{opacity:v!==null&&!i?.18:1,transition:`opacity 120ms`},children:[(0,$.jsx)(`path`,{d:ott(t,n),fill:`none`,stroke:i?`var(--t-blue)`:`var(--t-overlay1)`,strokeWidth:i?2.2:1.2,strokeDasharray:e.kind===`scalar`?`4 3`:void 0,markerEnd:i?`url(#qg-arrow-lit)`:`url(#qg-arrow)`}),r?.columnCount!==null&&r!==void 0&&(0,$.jsx)(`text`,{x:(t.x+t.width+n.x)/2,y:(t.y+n.y)/2+t.height/2-4,textAnchor:`middle`,fontSize:10,fontWeight:i?600:400,fill:i?`var(--t-blue)`:`var(--t-overlay1)`,children:r.columnCount})]},e.id)})]}),_.nodes.map(e=>{let t=b.get(e.id);if(!t)return null;let n=itt[t.kind],i=v?.nodes.has(e.id)??!1,a=v!==null&&!i;return(0,$.jsxs)(`button`,{type:`button`,title:t.range?r(`result.structure.reveal`):void 0,onClick:()=>te(t),onMouseEnter:()=>g(e.id),onMouseLeave:()=>g(t=>t===e.id?null:t),onFocus:()=>g(e.id),onBlur:()=>g(t=>t===e.id?null:t),className:`absolute overflow-hidden rounded-md border text-left shadow-sm`,style:{left:e.x,top:e.y,width:e.width,height:e.height,background:h===e.id?`var(--t-surface1)`:`var(--t-surface0)`,borderColor:i?`var(--t-blue)`:`var(--t-surface2, var(--t-overlay0))`,borderLeft:`3px solid ${n}`,cursor:t.range?`pointer`:`default`,opacity:a?.35:1,transition:`opacity 120ms, background 120ms, border-color 120ms`},children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-1 px-2 pt-1.5`,children:[(0,$.jsxs)(`span`,{className:`truncate text-[12px] font-semibold`,style:{color:`var(--t-foreground)`},children:[t.label,t.alias&&(0,$.jsx)(`span`,{className:`ml-1 font-normal`,style:{color:`var(--t-overlay1)`},children:t.alias})]}),(0,$.jsx)(`span`,{className:`shrink-0 rounded px-1 py-px text-[9px] font-semibold`,style:{background:n,color:`var(--t-crust, var(--t-background))`},children:r(att[t.kind])})]}),(0,$.jsx)(`div`,{className:`px-2 pb-1.5 pt-1 text-[11px]`,style:{color:`var(--t-overlay1)`},children:ne(t.columnCount)})]},e.id)})]})})]})}var ctt=[];function ltt({connectionId:e,tabId:t}){let{t:n}=ie(),r=Mt(t=>t.tabs[e]??Nt).find(e=>e.id===t),i=r?.results??ctt,a=!!r?.plan,o=(0,E.useMemo)(()=>r?.graphs??[],[r?.graphs]),[s,c]=(0,E.useState)({results:i,closed:new Set,activeTab:null}),l=s.results===i?s:{results:i,closed:new Set,activeTab:null},u=l.closed,d=(0,E.useMemo)(()=>i.map((e,t)=>({result:e,index:t})).filter(e=>e.result.fields.length>0),[i]),f=(0,E.useMemo)(()=>d.filter(e=>!u.has(e.index)),[d,u]),p=l.activeTab??(d.length>0?`result-${d[0].index}`:`message`),m=(0,E.useCallback)(e=>{c(t=>({...t.results===i?t:{results:i,closed:new Set},activeTab:e}))},[i]),h=(0,E.useRef)(!1);(0,E.useEffect)(()=>{if(h.current)return;let n=r?.sourceTable;!n||i.length>0||r?.isExecuting||(h.current=!0,Mt.getState().setExecuting(e,t,!0),(async()=>{try{let r=await B6(e,{database:n.database,table:n.table,tabId:t,page:0});r.sourceTable=n,Mt.getState().setResults(e,t,[r])}catch(n){let r=n instanceof Error?n.message:String(n);Mt.getState().setError(e,t,r)}finally{Mt.getState().setExecuting(e,t,!1)}})())},[r?.sourceTable,r?.isExecuting,i,e,t]);let g=(0,E.useRef)(r?.graphs??null),_=(0,E.useRef)(r?.plan??null);(0,E.useEffect)(()=>{let e=r?.plan??null;e&&e!==_.current&&m(`plan`),_.current=e},[r?.plan,m]),(0,E.useEffect)(()=>{let e=r?.graphs??null;e&&e!==g.current&&e[0]?.focus&&m(`structure-0`),g.current=e},[r?.graphs,m]);let v=(0,E.useCallback)((e,t)=>{e.stopPropagation(),c(e=>{let n=e.results===i?e:{results:i,closed:new Set,activeTab:null},r=new Set(n.closed);r.add(t);let a=p===`result-${t}`;return{results:i,closed:r,activeTab:a?`message`:n.activeTab}})},[i,p]);return(0,$.jsxs)(m5,{value:p,onValueChange:m,className:`relative flex h-full flex-col`,children:[(0,$.jsx)(I3e,{connectionId:e,running:r?.isExecuting??!1}),(0,$.jsxs)(h5,{className:`h-8 w-full justify-start rounded-none border-b bg-muted/30`,children:[(0,$.jsx)(g5,{value:`message`,className:`h-7 !rounded-sm !border-0 px-3 text-xs !text-muted-foreground hover:!text-foreground data-[state=active]:!bg-primary data-[state=active]:!text-primary-foreground data-[state=active]:font-semibold data-[state=active]:!shadow-none after:!hidden`,children:n(`result.tabs.message`)}),(0,$.jsx)(g5,{value:`info`,className:`h-7 !rounded-sm !border-0 px-3 text-xs !text-muted-foreground hover:!text-foreground data-[state=active]:!bg-primary data-[state=active]:!text-primary-foreground data-[state=active]:font-semibold data-[state=active]:!shadow-none after:!hidden`,children:n(`result.tabs.info`)}),(0,$.jsx)(g5,{value:`history`,className:`h-7 !rounded-sm !border-0 px-3 text-xs !text-muted-foreground hover:!text-foreground data-[state=active]:!bg-primary data-[state=active]:!text-primary-foreground data-[state=active]:font-semibold data-[state=active]:!shadow-none after:!hidden`,children:n(`result.tabs.history`)}),a&&(0,$.jsx)(g5,{value:`plan`,className:`h-7 !rounded-sm !border-0 px-3 text-xs !text-muted-foreground hover:!text-foreground data-[state=active]:!bg-primary data-[state=active]:!text-primary-foreground data-[state=active]:font-semibold data-[state=active]:!shadow-none after:!hidden`,children:n(`result.tabs.plan`)}),f.map((e,t)=>(0,$.jsxs)(g5,{value:`result-${e.index}`,className:`h-7 gap-1 !rounded-sm !border-0 px-3 text-xs !text-muted-foreground hover:!text-foreground data-[state=active]:!bg-primary data-[state=active]:!text-primary-foreground data-[state=active]:font-semibold data-[state=active]:!shadow-none after:!hidden`,children:[(0,$.jsx)(`span`,{children:d.length===1?n(`result.tabs.result`):n(`result.tabs.resultN`,{n:t+1})}),(0,$.jsx)(`button`,{type:`button`,className:`ml-0.5 rounded p-0.5 opacity-60 hover:bg-muted hover:opacity-100`,onClick:t=>v(t,e.index),children:(0,$.jsx)(ue,{className:`size-3`})})]},`result-${e.index}`)),o.map((e,t)=>(0,$.jsx)(g5,{value:`structure-${t}`,className:`h-7 !rounded-sm !border-0 px-3 text-xs !text-muted-foreground hover:!text-foreground data-[state=active]:!bg-primary data-[state=active]:!text-primary-foreground data-[state=active]:font-semibold data-[state=active]:!shadow-none after:!hidden`,children:o.length===1?n(`result.tabs.structure`):n(`result.tabs.structureN`,{n:t+1})},`structure-${t}`))]}),(0,$.jsx)(_5,{value:`message`,className:`mt-0 flex-1 overflow-hidden`,children:(0,$.jsx)($3e,{connectionId:e,tabId:t})}),(0,$.jsx)(_5,{value:`info`,className:`mt-0 flex-1 overflow-hidden`,children:(0,$.jsx)(Fet,{connectionId:e,tabId:t})}),(0,$.jsx)(_5,{value:`history`,className:`mt-0 flex-1 overflow-hidden`,children:(0,$.jsx)(Vet,{connectionId:e})}),a&&(0,$.jsx)(_5,{value:`plan`,className:`mt-0 flex-1 overflow-hidden`,children:(0,$.jsx)(Jet,{connectionId:e,tabId:t})}),o.map((n,r)=>(0,$.jsx)(_5,{value:`structure-${r}`,className:`mt-0 flex-1 overflow-hidden`,children:(0,$.jsx)(stt,{connectionId:e,tabId:t,index:r})},`structure-${r}`)),f.map(n=>(0,$.jsx)(_5,{value:`result-${n.index}`,className:`mt-0 flex-1 overflow-hidden`,children:(0,$.jsx)(Met,{connectionId:e,tabId:t,resultIndex:n.index})},`result-${n.index}`))]})}function utt({connectionId:e,tabId:t}){let[n,r]=(0,E.useState)(300),[i,a]=(0,E.useState)(!1),o=(0,E.useRef)(null),s=(0,E.useCallback)(e=>{e.preventDefault(),a(!0)},[]);return(0,E.useEffect)(()=>{if(!i)return;let e=e=>{if(!o.current)return;let t=o.current.getBoundingClientRect().bottom-e.clientY;r(Math.min(600,Math.max(100,t)))},t=()=>{a(!1)};return document.addEventListener(`mousemove`,e),document.addEventListener(`mouseup`,t),()=>{document.removeEventListener(`mousemove`,e),document.removeEventListener(`mouseup`,t)}},[i]),(0,$.jsxs)(`div`,{ref:o,className:`flex h-full flex-col`,style:{userSelect:i?`none`:void 0},children:[(0,$.jsx)(`div`,{className:`min-h-[100px] flex-1`,children:(0,$.jsx)(F3e,{connectionId:e,tabId:t})}),(0,$.jsx)(`div`,{onMouseDown:s,className:`h-1 flex-shrink-0 cursor-row-resize border-t transition-colors ${i?`bg-primary/40`:`hover:bg-primary/40`}`}),(0,$.jsx)(`div`,{className:`flex-shrink-0 overflow-hidden`,style:{height:n},children:(0,$.jsx)(ltt,{connectionId:e,tabId:t})})]})}var dtt={redis:(0,E.lazy)(()=>C(()=>import(`./D3VPMNTU.js`).then(e=>({default:e.RedisKeyViewer})),__vite__mapDeps([32,1,2,3,33,5,6,7,8,13,14,9,10,11,12,15,16,17,18,19,29,4]))),search:(0,E.lazy)(()=>C(()=>import(`./oXAkF219.js`).then(e=>({default:e.DocumentViewer})),__vite__mapDeps([34,1,2,3,33,5,6,7,8,13,14,9,10,11,12,15,16,17,18,19])))};function ftt({connectionId:e,tabId:t}){let{t:n}=ie(),r=H6(e),i=Mt(n=>n.tabs[e]?.find(e=>e.id===t)?.sourceItem);if(!i||Ue(r))return(0,$.jsx)(`p`,{className:`p-6 text-sm text-muted-foreground`,children:n(`keyViewer.noViewer`)});let a=dtt[r.kind];return a?(0,$.jsx)(E.Suspense,{fallback:null,children:(0,$.jsx)(a,{connectionId:e,tabId:t,item:i})}):(0,$.jsx)(`p`,{className:`p-6 text-sm text-muted-foreground`,children:n(`keyViewer.noViewer`)})}function ptt({connectionId:e,tabId:t}){let{t:n}=ie(),r=H6(e),i=Mt(n=>n.tabs[e]?.find(e=>e.id===t)?.sourceTool),a=Mt(n=>n.tabs[e]?.find(e=>e.id===t)?.query??``),o=M8(r).find(e=>e.id===i);if(!o)return(0,$.jsx)(`p`,{className:`p-6 text-sm text-muted-foreground`,children:n(`tools.unavailable`)});let s=o.component;return(0,$.jsx)(E.Suspense,{fallback:null,children:(0,$.jsx)(s,{connectionId:e,tabId:t,input:a},a)})}async function mtt(e,t){let n=tn(e),r=It(e),{introspect:i}=n,a=await i.listTables(r,t),o=a.map(e=>e.name),[s,c,l]=await Promise.all([i.listAllColumns(r,t),i.listAllIndexes(r,t).catch(()=>new Map),i.listForeignKeys(r,t).catch(()=>[])]),u=new Set;for(let e of l)u.add(`${e.table}.${e.column}`);let d=new Set;for(let[e,t]of c)for(let n of t)n.type===`UNIQUE`&&n.columns.length===1&&d.add(`${e}.${n.columns[0]}`);let f=a.map(e=>({name:e.name,kind:`model`,x:0,y:0,comment:e.comment,columns:(s.get(e.name)??[]).map(t=>{let n=`${e.name}.${t.name}`,r=[];return t.key===`PRI`&&r.push(`PK`),u.has(n)&&r.push(`FK`),d.has(n)&&t.key!==`PRI`&&r.push(`UK`),{type:t.type+(t.extra.includes(`auto_increment`)?` AI`:``)+(t.nullable?`?`:``),name:t.name,badge:r.length>0?r[0]:null,badges:r,comment:t.comment}})})),p=new Set(o),m=new Set,h=[];for(let e of l){let{table:t,column:n,refTable:r}=e;if(!t||!r||!p.has(t)||!p.has(r)||t===r)continue;let i=`${t}->${r}:${n}`,a=`${r}->${t}:${n}`;m.has(i)||m.has(a)||(m.add(i),h.push({from:t,to:r,type:`1:N`,label:n}))}return{models:f,relations:h}}var w9=[70,170,180];function T9(e){return 52+e.columns.length*22+4}function E9(e){return e.reduce((e,t)=>e+t,0)+20}var htt=2.399963229728653,D9=50,gtt=50,O9=56,k9=E9(w9),_tt=120,vtt=.5,ytt=.15,btt=.15,xtt=1.6;function Stt(e,t,n,r=80){let i=e.length,a=t.map(e=>({hw:e.w/2+n/2,hh:e.h/2+n/2})),o=!1;for(let t=0;t<r;t++){let t=!1;for(let n=0;n<i;n++)for(let r=n+1;r<i;r++){let i=e[r].x-e[n].x,o=e[r].y-e[n].y,s=a[n].hw+a[r].hw-Math.abs(i),c=a[n].hh+a[r].hh-Math.abs(o);if(s>0&&c>0){if(t=!0,s<c){let t=(i<0?-1:1)*s/2;e[n].x-=t,e[r].x+=t}else{let t=(o<0?-1:1)*c/2;e[n].y-=t,e[r].y+=t}}}if(!t)break;o=!0}return o}function Ctt(e,t){let n=e.length,r=e.map(e=>({w:k9,h:T9(e)})),i=r.reduce((e,t)=>e+t.h,0)/n,a=Math.max(k9,i)*.32+24,o=e.map((e,t)=>{let n=a*.55*Math.sqrt(t+.5);return{x:Math.cos(t*htt)*n,y:Math.sin(t*htt)*n}}),s=a*1.8,c=s/321,l=o.map(()=>({x:0,y:0}));for(let e=0;e<320;e++){for(let e=0;e<n;e++)l[e].x=0,l[e].y=0;for(let e=0;e<n;e++)for(let t=e+1;t<n;t++){let n=o[e].x-o[t].x,r=o[e].y-o[t].y,i=Math.hypot(n,r)||.01,s=.28*a*a/i,c=n/i,u=r/i;l[e].x+=c*s,l[e].y+=u*s,l[t].x-=c*s,l[t].y-=u*s}for(let[e,n]of t){let t=o[e].x-o[n].x,r=o[e].y-o[n].y,i=Math.hypot(t,r)||.01,s=i*i/a,c=t/i,u=r/i;l[e].x-=c*s,l[e].y-=u*s,l[n].x+=c*s,l[n].y+=u*s}for(let e=0;e<n;e++)l[e].x-=o[e].x*.1,l[e].y-=o[e].y*.1;for(let e=0;e<n;e++){let t=Math.hypot(l[e].x,l[e].y)||.01,n=Math.min(t,s);o[e].x+=l[e].x/t*n,o[e].y+=l[e].y/t*n}s=Math.max(s-c,a*.05)}Stt(o,r,O9);let u=1/0,d=1/0;for(let e=0;e<n;e++)u=Math.min(u,o[e].x-r[e].w/2),d=Math.min(d,o[e].y-r[e].h/2);return e.map((e,t)=>({x:o[t].x-r[t].w/2-u,y:o[t].y-r[t].h/2-d}))}function wtt(e){let t=Math.max(1,Math.round(Math.sqrt(e.length))),n=Array(t).fill(0);return e.map(e=>{let r=0;for(let e=1;e<t;e++)n[e]<n[r]&&(r=e);let i={x:r*(k9+O9),y:n[r]};return n[r]+=T9(e)+O9,i})}function Ttt(e,t,n){let r=[...e,...t];if(r.length===0)return;let i=new Map(r.map((e,t)=>[e.name,t])),a=Array(r.length).fill(0),o=[];n.forEach(e=>{let t=i.get(e.from),n=i.get(e.to);t!==void 0&&n!==void 0&&t!==n&&(o.push([t,n]),a[t]++,a[n]++)});let s=r.filter((e,t)=>a[t]>0),c=r.filter((e,t)=>a[t]===0),l=D9;if(s.length>0){let e=new Map(s.map((e,t)=>[e.name,t])),t=Ctt(s,o.map(([t,n])=>[e.get(r[t].name),e.get(r[n].name)]).filter(([e,t])=>e!==void 0&&t!==void 0));s.forEach((e,n)=>{e.x=Math.round(D9+t[n].x),e.y=Math.round(gtt+t[n].y),l=Math.max(l,e.x+k9)})}if(c.length>0){let e=s.length>0?l+_tt:D9,t=wtt(c);c.forEach((n,r)=>{n.x=Math.round(e+t[r].x),n.y=Math.round(gtt+t[r].y)})}}function Ett(e,t,n,r=100){let i=e.length;if(i<2)return!1;let a=e.map(e=>({w:n(e),h:T9(e)})),o=e.map((e,t)=>({x:e.x+a[t].w/2,y:e.y+a[t].h/2})),s=Math.min(...e.map(e=>e.x)),c=Math.min(...e.map(e=>e.y)),l=new Map(e.map((e,t)=>[e.name,t])),u=[];for(let e of t){let t=l.get(e.from),n=l.get(e.to);t!==void 0&&n!==void 0&&t!==n&&u.push([t,n])}let d=(e,t)=>Math.max((a[e].w+a[t].w)/2,(a[e].h+a[t].h)/2)+r,f=a.map(e=>(Math.max(e.w,e.h)+r)/2).reduce((e,t)=>e+t*t,0),p=Math.sqrt(f)*1.45,m=o.map(()=>({x:0,y:0})),h=r,g=h/201;for(let e=0;e<200;e++){for(let e=0;e<i;e++)m[e].x=0,m[e].y=0;for(let e=0;e<i;e++)for(let t=e+1;t<i;t++){let n=o[e].x-o[t].x,r=o[e].y-o[t].y,i=Math.hypot(n,r)||.01,a=d(e,t);if(i>=a)continue;let s=vtt*(a-i),c=n/i,l=r/i;m[e].x+=c*s,m[e].y+=l*s,m[t].x-=c*s,m[t].y-=l*s}for(let[e,t]of u){let n=o[e].x-o[t].x,r=o[e].y-o[t].y,i=Math.hypot(n,r)||.01,a=(i-d(e,t)*xtt)*ytt,s=n/i,c=r/i;m[e].x-=s*a,m[e].y-=c*a,m[t].x+=s*a,m[t].y+=c*a}let e=0,t=0;for(let n of o)e+=n.x,t+=n.y;e/=i,t/=i;for(let n=0;n<i;n++){let r=o[n].x-e,i=o[n].y-t,a=Math.hypot(r,i);if(a<=p)continue;let s=(a-p)*btt;m[n].x-=r/a*s,m[n].y-=i/a*s}for(let e=0;e<i;e++){let t=Math.hypot(m[e].x,m[e].y)||.01,n=Math.min(t,h);o[e].x+=m[e].x/t*n,o[e].y+=m[e].y/t*n}h=Math.max(h-g,0)}Stt(o,a,r,300);let _=1/0,v=1/0;for(let e=0;e<i;e++)_=Math.min(_,o[e].x-a[e].w/2),v=Math.min(v,o[e].y-a[e].h/2);let y=s-_,b=c-v,x=!1;return e.forEach((e,t)=>{let n=Math.round(o[t].x-a[t].w/2+y),r=Math.round(o[t].y-a[t].h/2+b);(n!==e.x||r!==e.y)&&(x=!0),e.x=n,e.y=r}),x}function Dtt(e,t){return`${e.targetConnectionId?`${t.connectionName(e.targetConnectionId)} · ${e.targetDatabase}`:e.targetDatabase}.${e.targetTable}`}function Ott(e,t,n,r){let i=new Map(e.map(e=>[e.name,e])),a=new Set(t.map(e=>`${e.from}->${e.to}:${e.label}`)),o=[...e],s=[...t],c=new Map;for(let e of n.filter(e=>e.database===r.database)){let t=i.get(e.table);if(!t)continue;let n=!e.targetConnectionId&&e.targetDatabase===r.database,l;if(n&&i.has(e.targetTable))l=e.targetTable;else{l=Dtt(e,r);let n=c.get(l);n||(n={name:l,kind:`model`,external:e.targetConnectionId?r.connectionName(e.targetConnectionId):e.targetDatabase,x:t.x+E9(w9)+120,y:t.y,comment:``,columns:[]},c.set(l,n),o.push(n)),n.columns.some(t=>t.name===e.targetColumn)||n.columns.push({type:``,name:e.targetColumn,badge:`PK`,badges:[`PK`],comment:``})}if(e.table===l)continue;let u=`${e.table}->${l}:${e.column}`;a.has(u)||(a.add(u),s.push({from:e.table,to:l,type:`1:N`,label:e.column,virtual:!0}))}return{models:o,relations:s}}function ktt({zoom:e,database:t,tableCount:n,relationCount:r,fieldCount:i,onZoomIn:a,onZoomOut:o,onResetView:s,onCenter:c,onFitAll:l,onSpreadAll:u,onResetLayout:d,onRefresh:f,isFullscreen:p,onToggleFullscreen:m}){let{t:h}=ie();return(0,$.jsxs)(`div`,{className:`relative z-10 flex flex-wrap items-center gap-1.5 border-b px-4 py-1.5`,style:{background:`var(--t-mantle)`,borderColor:`var(--t-surface1)`},children:[t&&(0,$.jsxs)(`span`,{className:`flex items-center gap-1.5 text-xs font-semibold`,style:{color:`var(--t-yellow)`},children:[(0,$.jsx)(f6,{className:`size-3.5`}),t]}),(0,$.jsxs)(b,{variant:`outline`,size:`sm`,className:`h-7 gap-1 px-2.5 text-xs`,style:{borderColor:`var(--t-green)`,color:`var(--t-green)`},onClick:f,children:[(0,$.jsx)(E6,{className:`size-3.5`}),h(`erd.toolbar.refresh`)]}),(0,$.jsx)(`div`,{className:`mx-1 h-5 w-px`,style:{background:`var(--t-surface1)`}}),(0,$.jsxs)(b,{variant:`outline`,size:`sm`,className:`h-7 px-2 text-xs`,onClick:a,children:[(0,$.jsx)(M1e,{className:`mr-1 size-3.5`}),` `,h(`erd.toolbar.zoomIn`)]}),(0,$.jsxs)(b,{variant:`outline`,size:`sm`,className:`h-7 px-2 text-xs`,onClick:o,children:[(0,$.jsx)(N1e,{className:`mr-1 size-3.5`}),` `,h(`erd.toolbar.zoomOut`)]}),(0,$.jsxs)(b,{variant:`outline`,size:`sm`,className:`h-7 px-2 text-xs`,onClick:s,children:[(0,$.jsx)(m1e,{className:`mr-1 size-3.5`}),` `,h(`erd.toolbar.resetView`)]}),(0,$.jsxs)(b,{variant:`outline`,size:`sm`,className:`h-7 px-2 text-xs`,onClick:c,children:[(0,$.jsx)(X$e,{className:`mr-1 size-3.5`}),` `,h(`erd.toolbar.center`)]}),(0,$.jsxs)(b,{variant:`outline`,size:`sm`,className:`h-7 px-2 text-xs`,onClick:l,children:[(0,$.jsx)(x6,{className:`mr-1 size-3.5`}),` `,h(`erd.toolbar.fitAll`)]}),(0,$.jsxs)(b,{variant:`outline`,size:`sm`,className:`h-7 px-2 text-xs`,onClick:m,title:h(p?`erd.toolbar.exitFullscreen`:`erd.toolbar.fullscreen`),children:[p?(0,$.jsx)(_1e,{className:`mr-1 size-3.5`}):(0,$.jsx)(Z$e,{className:`mr-1 size-3.5`}),h(p?`erd.toolbar.exitFullscreen`:`erd.toolbar.fullscreen`)]}),(0,$.jsxs)(`span`,{className:`ml-1 text-xs`,style:{color:`var(--t-overlay0)`},children:[Math.round(e*100),`%`]}),(0,$.jsx)(`div`,{className:`mx-1 h-5 w-px`,style:{background:`var(--t-surface1)`}}),(0,$.jsxs)(b,{variant:`outline`,size:`sm`,className:`h-7 px-2 text-xs`,style:{background:`var(--t-blue)`,color:`var(--t-crust)`,borderColor:`var(--t-blue)`},onClick:u,children:[(0,$.jsx)(F$e,{className:`mr-1 size-3.5`}),` `,h(`erd.toolbar.spreadAll`)]}),(0,$.jsxs)(b,{variant:`outline`,size:`sm`,className:`h-7 px-2 text-xs`,style:{background:`var(--t-red)`,color:`var(--t-crust)`,borderColor:`var(--t-red)`},onClick:d,children:[(0,$.jsx)(o1e,{className:`mr-1 size-3.5`}),` `,h(`erd.toolbar.resetLayout`)]}),(0,$.jsxs)(`div`,{className:`ml-auto flex items-center gap-4 text-[11px]`,style:{color:`var(--t-overlay0)`},children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,$.jsx)(`span`,{className:`inline-block h-0.5 w-[30px]`,style:{background:`var(--t-red)`}}),`1:1`]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,$.jsx)(`span`,{className:`inline-block h-0.5 w-[30px]`,style:{background:`var(--t-blue)`}}),h(`erd.toolbar.legendOneToMany`)]}),n>0&&(0,$.jsxs)(`div`,{className:`flex items-center gap-3 text-[11px]`,style:{color:`var(--t-overlay0)`},children:[(0,$.jsxs)(`span`,{children:[h(`erd.toolbar.tables`),` `,(0,$.jsx)(`span`,{className:`font-semibold`,style:{color:`var(--t-foreground)`},children:n})]}),(0,$.jsxs)(`span`,{children:[h(`erd.toolbar.relations`),` `,(0,$.jsx)(`span`,{className:`font-semibold`,style:{color:`var(--t-foreground)`},children:r})]}),(0,$.jsxs)(`span`,{children:[h(`erd.toolbar.columns`),` `,(0,$.jsx)(`span`,{className:`font-semibold`,style:{color:`var(--t-foreground)`},children:i})]})]})]})]})}function Att({name:e,kind:t,external:n,onDragStart:r}){let{t:i}=ie(),a=i(n?`erd.entity.linkBadge`:t===`enum`?`erd.entity.enumBadge`:`erd.entity.modelBadge`),o=n?`var(--t-yellow)`:t===`enum`?`var(--t-peach)`:`var(--t-mauve)`;return(0,$.jsxs)(`div`,{className:`flex items-center justify-between rounded-t-md border-b-2 px-3 py-2 text-[13px] font-bold`,style:{background:`var(--t-surface1)`,borderColor:`var(--t-surface2, var(--t-overlay0))`,color:`var(--t-mauve)`,cursor:`grab`},onMouseDown:r,children:[(0,$.jsx)(`span`,{title:n?i(`erd.entity.externalTitle`,{location:n}):void 0,children:e}),(0,$.jsx)(`span`,{className:`rounded px-1.5 py-px text-[9px] font-semibold`,style:{background:o,color:`var(--t-base)`},children:a})]})}function jtt(e){switch(e){case`PK`:return`var(--t-red)`;case`FK`:return`var(--t-peach)`;case`UK`:return`var(--t-green)`;default:return`var(--t-overlay0)`}}function Mtt({entity:e,colWidths:t,onColResizeStart:n}){let{t:r}=ie(),i=e.kind===`enum`;return(0,$.jsx)(`div`,{className:`overflow-hidden p-0`,children:(0,$.jsxs)(`table`,{className:`w-full border-collapse text-[11px]`,style:{tableLayout:`fixed`},children:[(0,$.jsxs)(`colgroup`,{children:[(0,$.jsx)(`col`,{style:{width:t[0]+`px`}}),(0,$.jsx)(`col`,{style:{width:t[1]+`px`}}),(0,$.jsx)(`col`,{style:{width:t[2]+`px`}})]}),(0,$.jsx)(`thead`,{children:(0,$.jsx)(`tr`,{children:i?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`th`,{className:`relative px-2.5 py-1 text-left text-[10px] font-semibold uppercase`,style:{background:`var(--t-surface1)`,color:`var(--t-subtext0)`},children:[r(`erd.entity.columns.value`),n&&(0,$.jsx)(`div`,{className:`absolute right-[-3px] top-0 z-10 h-full w-1.5 cursor-col-resize hover:opacity-40`,style:{background:`transparent`},onMouseDown:t=>n(t,e.name,0)})]}),(0,$.jsxs)(`th`,{className:`relative px-2.5 py-1 text-left text-[10px] font-semibold uppercase`,style:{background:`var(--t-surface1)`,color:`var(--t-subtext0)`},children:[r(`erd.entity.columns.comment`),n&&(0,$.jsx)(`div`,{className:`absolute right-[-3px] top-0 z-10 h-full w-1.5 cursor-col-resize hover:opacity-40`,style:{background:`transparent`},onMouseDown:t=>n(t,e.name,1)})]}),(0,$.jsx)(`th`,{className:`px-2.5 py-1 text-left text-[10px] font-semibold uppercase`,style:{background:`var(--t-surface1)`,color:`var(--t-subtext0)`}})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`th`,{className:`relative px-2.5 py-1 text-left text-[10px] font-semibold uppercase`,style:{background:`var(--t-surface1)`,color:`var(--t-subtext0)`},children:[r(`erd.entity.columns.type`),n&&(0,$.jsx)(`div`,{className:`absolute right-[-3px] top-0 z-10 h-full w-1.5 cursor-col-resize hover:opacity-40`,style:{background:`transparent`},onMouseDown:t=>n(t,e.name,0)})]}),(0,$.jsxs)(`th`,{className:`relative px-2.5 py-1 text-left text-[10px] font-semibold uppercase`,style:{background:`var(--t-surface1)`,color:`var(--t-subtext0)`},children:[r(`erd.entity.columns.column`),n&&(0,$.jsx)(`div`,{className:`absolute right-[-3px] top-0 z-10 h-full w-1.5 cursor-col-resize hover:opacity-40`,style:{background:`transparent`},onMouseDown:t=>n(t,e.name,1)})]}),(0,$.jsx)(`th`,{className:`px-2.5 py-1 text-left text-[10px] font-semibold uppercase`,style:{background:`var(--t-surface1)`,color:`var(--t-subtext0)`},children:r(`erd.entity.columns.comment`)})]})})}),(0,$.jsx)(`tbody`,{children:e.columns.map((t,n)=>(0,$.jsx)(`tr`,{style:{borderBottom:n<e.columns.length-1?`1px solid var(--t-surface1)`:`none`},children:i?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`td`,{className:`overflow-hidden text-ellipsis whitespace-nowrap px-2.5 py-[3px]`,style:{color:`var(--t-yellow)`,lineHeight:1.5},children:t.name}),(0,$.jsx)(`td`,{className:`overflow-hidden text-ellipsis whitespace-nowrap px-2.5 py-[3px] text-[10px]`,style:{color:`var(--t-overlay0)`,lineHeight:1.5},colSpan:2,children:t.comment})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`td`,{className:`overflow-hidden text-ellipsis whitespace-nowrap px-2.5 py-[3px]`,style:{color:`var(--t-blue)`,lineHeight:1.5},children:t.type.replace(`?`,``)}),(0,$.jsxs)(`td`,{className:`overflow-hidden text-ellipsis whitespace-nowrap px-2.5 py-[3px]`,style:{color:`var(--t-text)`,lineHeight:1.5},children:[t.name,t.badges.map(e=>(0,$.jsx)(`span`,{className:`ml-1 inline-block rounded px-1 text-[9px] font-semibold`,style:{background:jtt(e),color:`var(--t-base)`},children:e},e)),t.type.endsWith(`?`)&&(0,$.jsx)(`span`,{className:`ml-1 inline-block rounded px-1 text-[9px] font-semibold`,style:{background:`var(--t-overlay0)`,color:`var(--t-subtext0)`},title:r(`erd.entity.nullable`),children:`NULL`})]}),(0,$.jsx)(`td`,{className:`overflow-hidden text-ellipsis whitespace-nowrap px-2.5 py-[3px] text-[10px]`,style:{color:`var(--t-overlay0)`,lineHeight:1.5},children:t.comment})]})},n))})]})})}function Ntt({entity:e,colWidths:t,isSelected:n,onMouseDown:r,onColResizeStart:i}){let a=(0,E.useCallback)(t=>{r(t,e.name)},[r,e.name]),o=t.reduce((e,t)=>e+t,0)+20,s=n?`var(--t-yellow)`:e.kind===`enum`?`var(--t-peach)`:`var(--t-overlay0)`;return(0,$.jsxs)(`div`,{className:`absolute select-none rounded-lg`,style:{left:e.x,top:e.y,width:Math.max(o,200),minWidth:200,background:`var(--t-base)`,border:`2px solid ${s}`,boxShadow:n?`0 8px 24px rgba(0,0,0,0.6)`:`0 4px 12px rgba(0,0,0,0.4)`,zIndex:n?1e3:1,transition:`box-shadow 0.15s`},onMouseEnter:t=>{if(!n){let n=t.currentTarget;n.style.borderColor=e.kind===`enum`?`var(--t-yellow)`:`var(--t-blue)`}},onMouseLeave:t=>{if(!n){let n=t.currentTarget;n.style.borderColor=e.kind===`enum`?`var(--t-peach)`:`var(--t-overlay0)`}},children:[(0,$.jsx)(Att,{name:e.name,kind:e.kind,external:e.external,onDragStart:a}),(0,$.jsx)(Mtt,{entity:e,colWidths:t,onColResizeStart:i})]})}function Ptt(e,t){return e[t]||[...w9]}function Ftt(e,t){let n=E9(Ptt(t,e.name)),r=T9(e);return{x:e.x,y:e.y,w:n,h:r,cx:e.x+n/2,cy:e.y+r/2}}function Itt({entities:e,relations:t,entityWidths:n}){let r=(()=>{if(e.length===0)return null;let r=new Map;e.forEach(e=>r.set(e.name,e));let i=1/0,a=1/0,o=-1/0,s=-1/0;e.forEach(e=>{let t=Ptt(n,e.name);i=Math.min(i,e.x-200),a=Math.min(a,e.y-200),o=Math.max(o,e.x+E9(t)+200),s=Math.max(s,e.y+T9(e)+200)});let c=o-i,l=s-a,u={};function d(e,t){let n=`${e}_${t}`;return u[n]||(u[n]=0),(u[n]++-1)*16}let f=[];return t.forEach(e=>{let t=r.get(e.from),i=r.get(e.to);if(!t||!i)return;let a=Ftt(t,n),o=Ftt(i,n),s,c,l,u,p=o.cx-a.cx,m=o.cy-a.cy;if(Math.abs(p)>Math.abs(m)){if(p>0){let t=d(e.from,`right`),n=d(e.to,`left`);s=a.x+a.w+16,c=a.y+40+t,l=o.x-16,u=o.y+40+n}else{let t=d(e.from,`left`),n=d(e.to,`right`);s=a.x-16,c=a.y+40+t,l=o.x+o.w+16,u=o.y+40+n}}else if(m>0){let t=d(e.from,`bottom`),n=d(e.to,`top`);s=a.x+60+t,c=a.y+a.h+16,l=o.x+60+n,u=o.y-16}else{let t=d(e.from,`top`),n=d(e.to,`bottom`);s=a.x+60+t,c=a.y-16,l=o.x+60+n,u=o.y+o.h+16}let h=e.type===`1:1`?`var(--t-red)`:`var(--t-blue)`,g=e.type===`1:1`?`url(#erd-one)`:`url(#erd-crowfoot)`,_=(s+l)/2,v=(c+u)/2,y=Math.abs(p)>Math.abs(m)?`M${s},${c} C${_},${c} ${_},${u} ${l},${u}`:`M${s},${c} C${s},${v} ${l},${v} ${l},${u}`;f.push({d:y,color:h,markerEnd:g,label:`${e.virtual?`⇢ `:``}${e.type} ${e.label}`,midX:_,midY:v,virtual:!!e.virtual})}),{minX:i,minY:a,svgW:c,svgH:l,paths:f}})();if(!r)return null;let{minX:i,minY:a,svgW:o,svgH:s,paths:c}=r;return(0,$.jsxs)(`svg`,{className:`pointer-events-none absolute left-0 top-0`,style:{left:i,top:a},width:o,height:s,viewBox:`${i} ${a} ${o} ${s}`,children:[(0,$.jsxs)(`defs`,{children:[(0,$.jsxs)(`marker`,{id:`erd-crowfoot`,viewBox:`0 0 12 12`,refX:`12`,refY:`6`,markerWidth:`10`,markerHeight:`10`,orient:`auto`,children:[(0,$.jsx)(`line`,{x1:`0`,y1:`0`,x2:`12`,y2:`6`,stroke:`var(--t-blue)`,strokeWidth:`1.5`}),(0,$.jsx)(`line`,{x1:`0`,y1:`12`,x2:`12`,y2:`6`,stroke:`var(--t-blue)`,strokeWidth:`1.5`}),(0,$.jsx)(`line`,{x1:`0`,y1:`6`,x2:`12`,y2:`6`,stroke:`var(--t-blue)`,strokeWidth:`1.5`})]}),(0,$.jsxs)(`marker`,{id:`erd-one`,viewBox:`0 0 12 12`,refX:`12`,refY:`6`,markerWidth:`8`,markerHeight:`8`,orient:`auto`,children:[(0,$.jsx)(`line`,{x1:`8`,y1:`0`,x2:`8`,y2:`12`,stroke:`var(--t-red)`,strokeWidth:`2`}),(0,$.jsx)(`line`,{x1:`12`,y1:`0`,x2:`12`,y2:`12`,stroke:`var(--t-red)`,strokeWidth:`2`})]})]}),c.map((e,t)=>(0,$.jsxs)(`g`,{children:[(0,$.jsx)(`path`,{d:e.d,stroke:e.color,strokeWidth:`1.5`,fill:`none`,markerEnd:e.markerEnd,opacity:`0.7`,strokeDasharray:e.virtual?`6 4`:void 0}),(0,$.jsx)(`text`,{x:e.midX,y:e.midY-6,textAnchor:`middle`,fill:`var(--t-overlay0)`,fontSize:`10`,children:e.label})]},t))]})}var Ltt=.15,Rtt=3,ztt=.0012,Btt=120,Vtt=e=>Math.max(Ltt,Math.min(Rtt,e));function Htt(e){let t=Pt.getState(),n=t.selectedNodeId[e],r=t.trees[e];if(!r)return null;let i=null,a=null;function o(e){for(let t of e){let e=t.metadata?.database;e&&a===null&&(t.type===Xe.DATABASE||t.type===Xe.SCHEMA)&&(a=e),t.id===n&&e&&(i=e),t.children.length>0&&o(t.children)}}return o(r),i??a}function Utt({connectionId:e}){let{t}=ie(),[n,r]=(0,E.useState)([]),[i,a]=(0,E.useState)([]),[o,s]=(0,E.useState)(1),[c,l]=(0,E.useState)(0),[u,d]=(0,E.useState)(0),[f,p]=(0,E.useState)(null),[m,h]=(0,E.useState)({}),[g,_]=(0,E.useState)(null),[v,y]=(0,E.useState)(!1),[b,x]=(0,E.useState)(null),[,S]=(0,E.useState)(0),C=(0,E.useRef)(null),w=(0,E.useRef)(null),[T,ee]=(0,E.useState)(!1),te=(0,E.useRef)(null),ne=(0,E.useRef)(!1),re=(0,E.useRef)({x:0,y:0}),ae=(0,E.useRef)({x:0,y:0}),oe=(0,E.useRef)(1),se=(0,E.useRef)(null),ce=(0,E.useRef)(null),le=(0,E.useRef)([]),ue=(0,E.useRef)({}),de=(0,E.useRef)(null),fe=(0,E.useRef)(null),pe=P8(e=>e.links),me=(0,E.useCallback)((t,n)=>{let r=(P8.getState().links[e]??[]).filter(e=>e.database===n);return r.length===0?{models:[...t.models],relations:[...t.relations]}:Ott(t.models.map(e=>({...e})),t.relations,r,{connectionId:e,database:n,connectionName:e=>{let t=ct.getState().activeConnections.find(t=>t.id===e)??ct.getState().savedConnections.find(t=>t.id===e);return t?t.hostName||t.host||t.file||t.id:e}})},[e]);(0,E.useEffect)(()=>{let e=fe.current,t=de.current;if(!e||!t)return;let n=me(e,t),i=new Map(le.current.map(e=>[e.name,{x:e.x,y:e.y}]));for(let e of n.models){let t=i.get(e.name);t&&(e.x=t.x,e.y=t.y)}le.current=n.models,r(n.models),a(n.relations)},[pe]),le.current=n,ue.current=m,oe.current=o,ae.current={x:c,y:u},de.current=g;let he=(0,E.useCallback)(e=>ue.current[e]||[...w9],[]),ge=(0,E.useCallback)(()=>{let e={};le.current.forEach(t=>{e[t.name]={x:t.x,y:t.y}}),A8.getState().savePositions(de.current,e)},[]),_e=(0,E.useCallback)(()=>{A8.getState().saveColumnWidths(de.current,ue.current)},[]),ve=(0,E.useCallback)(e=>{let t=A8.getState().getPositions(de.current);return t?(e.forEach(e=>{t[e.name]&&(e.x=t[e.name].x,e.y=t[e.name].y)}),!0):!1},[]),ye=(0,E.useCallback)(()=>A8.getState().getColumnWidths(de.current),[]),be=(0,E.useCallback)(()=>{let e=le.current;if(e.length===0)return;let t=C.current;if(!t)return;let n=1/0,r=1/0,i=-1/0,a=-1/0;e.forEach(e=>{let t=he(e.name);n=Math.min(n,e.x),r=Math.min(r,e.y),i=Math.max(i,e.x+E9(t)),a=Math.max(a,e.y+T9(e))});let o=i-n+80,c=a-r+80,u=t.clientWidth,f=t.clientHeight,p=Math.min(u/o,f/c,1),m=(u-o*p)/2-n*p+40,h=(f-c*p)/2-r*p+40;s(p),l(m),d(h)},[he]),xe=(0,E.useCallback)(()=>{let e=le.current;if(e.length===0)return;let t=C.current;if(!t)return;let n=1/0,r=1/0,i=-1/0,a=-1/0;e.forEach(e=>{let t=he(e.name);n=Math.min(n,e.x),r=Math.min(r,e.y),i=Math.max(i,e.x+E9(t)),a=Math.max(a,e.y+T9(e))});let o=i-n+80,s=a-r+80,c=t.clientWidth,u=t.clientHeight,f=oe.current;l((c-o*f)/2-n*f+40),d((u-s*f)/2-r*f+40)},[he]),Se=(0,E.useCallback)(async n=>{let i=ct.getState().activeConnections.find(t=>t.id===e)?.serverConnectionId;if(!i){x(t(`erd.viewer.noServerConnection`));return}y(!0),x(null),_(n),de.current=n,A8.getState().setDatabase(e,n);try{let e=await mtt(i,n);fe.current=e;let{models:t,relations:o}=me(e,n);Ttt(t,[],o),ve(t);let s=ye();r([...t]),a(o),h(s),le.current=t,ue.current=s,setTimeout(()=>be(),100)}catch(e){x(e instanceof Error?e.message:String(e))}finally{y(!1)}},[e,ve,ye,be,t]);(0,E.useEffect)(()=>{let t=A8.getState().database[e]||Htt(e);t&&Se(t)},[e]);let Ce=(0,E.useCallback)(()=>{let t=g||Htt(e);t&&Se(t)},[g,e,Se]),we=(0,E.useCallback)((e,t)=>{e.stopPropagation();let n=C.current;if(!n)return;let r=le.current.find(e=>e.name===t);if(!r)return;let i=n.getBoundingClientRect(),a=(e.clientX-i.left-ae.current.x)/oe.current,o=(e.clientY-i.top-ae.current.y)/oe.current;se.current={name:t,offsetX:a-r.x,offsetY:o-r.y},p(t)},[]),Te=(0,E.useCallback)((e,t,n)=>{e.stopPropagation(),e.preventDefault();let r=ue.current[t]||[...w9];ce.current={entityName:t,colIndex:n,startX:e.clientX,startWidth:r[n],nextStartWidth:r[n+1]},document.body.style.cursor=`col-resize`},[]),Ee=(0,E.useCallback)(e=>{e.target.closest(`[data-entity]`)||e.button===0&&(ne.current=!0,re.current={x:e.clientX-ae.current.x,y:e.clientY-ae.current.y},p(null))},[]);(0,E.useEffect)(()=>{let e=e=>{if(ce.current){let t=ce.current,n=(e.clientX-t.startX)/oe.current,r=Math.max(30,Math.round(t.startWidth+n)),i=Math.max(30,Math.round(t.nextStartWidth-n));h(e=>{let n=[...e[t.entityName]||[...w9]];return n[t.colIndex]=r,n[t.colIndex+1]=i,{...e,[t.entityName]:n}});return}if(se.current){let t=C.current;if(!t)return;let n=t.getBoundingClientRect(),r=(e.clientX-n.left-ae.current.x)/oe.current,i=(e.clientY-n.top-ae.current.y)/oe.current,a=Math.round(r-se.current.offsetX),o=Math.round(i-se.current.offsetY),s=le.current.find(e=>e.name===se.current.name);s&&(s.x=a,s.y=o,S(e=>e+1));return}ne.current&&(l(e.clientX-re.current.x),d(e.clientY-re.current.y))},t=()=>{if(ce.current){document.body.style.cursor=``,_e(),ce.current=null;return}if(se.current){se.current=null,ge();return}ne.current=!1};return window.addEventListener(`mousemove`,e),window.addEventListener(`mouseup`,t),()=>{window.removeEventListener(`mousemove`,e),window.removeEventListener(`mouseup`,t)}},[ge,_e]),(0,E.useEffect)(()=>{let e=C.current;if(!e)return;let t=t=>{t.preventDefault();let n=e.getBoundingClientRect(),r=t.clientX-n.left,i=t.clientY-n.top,a=oe.current,o=t.deltaMode===1?16:t.deltaMode===2?n.height:1,c=Math.max(-120,Math.min(Btt,t.deltaY*o)),u=Vtt(a*Math.exp(-c*ztt));if(u===a)return;let f=(r-ae.current.x)/a,p=(i-ae.current.y)/a;l(r-f*u),d(i-p*u),s(u)};return e.addEventListener(`wheel`,t,{passive:!1}),()=>e.removeEventListener(`wheel`,t)},[]);let De=(0,E.useCallback)(e=>{let t=C.current;if(!t)return;let n=t.getBoundingClientRect(),r=n.width/2,i=n.height/2,a=oe.current,o=Vtt(a*e);if(o===a)return;let c=(r-ae.current.x)/a,u=(i-ae.current.y)/a;l(r-c*o),d(i-u*o),s(o)},[]),Oe=(0,E.useCallback)(()=>De(1.15),[De]),ke=(0,E.useCallback)(()=>De(1/1.15),[De]),Ae=(0,E.useCallback)(()=>{s(1),l(0),d(0)},[]),je=(0,E.useCallback)(()=>{Ett(le.current,i,e=>E9(he(e.name)))&&(r([...le.current]),ge())},[i,ge,he]),Me=(0,E.useCallback)(()=>{A8.getState().resetLayout(de.current),Ttt(le.current,[],i),r([...le.current]),h({}),setTimeout(()=>be(),50)},[i,be]),Ne=n.length>0,Pe=n.reduce((e,t)=>e+t.columns.length,0),Fe=(0,E.useCallback)(()=>{document.fullscreenElement?document.exitFullscreen().catch(()=>{}):w.current?.requestFullscreen().catch(()=>{})},[]);return(0,E.useEffect)(()=>{let e=()=>{ee(document.fullscreenElement===w.current),setTimeout(()=>be(),60)};return document.addEventListener(`fullscreenchange`,e),()=>document.removeEventListener(`fullscreenchange`,e)},[be]),(0,$.jsxs)(`div`,{ref:w,className:`flex h-full flex-col`,style:{background:`var(--t-background)`},children:[(0,$.jsx)(ktt,{zoom:o,database:g,tableCount:n.length,relationCount:i.length,fieldCount:Pe,onZoomIn:Oe,onZoomOut:ke,onResetView:Ae,onCenter:xe,onFitAll:be,onSpreadAll:je,onResetLayout:Me,onRefresh:Ce,isFullscreen:T,onToggleFullscreen:Fe}),(0,$.jsxs)(`div`,{ref:C,className:`relative flex-1 overflow-hidden`,style:{cursor:ne.current?`grabbing`:`grab`,background:`var(--t-background)`},onMouseDown:Ee,children:[v&&(0,$.jsx)(`div`,{className:`absolute inset-0 z-20 flex items-center justify-center bg-background/80`,children:(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-sm text-muted-foreground`,children:[(0,$.jsx)(b6,{className:`size-5 animate-spin`}),t(`erd.viewer.loading`,{database:g})]})}),b&&!v&&(0,$.jsx)(`div`,{className:`absolute inset-0 z-20 flex items-center justify-center`,children:(0,$.jsxs)(`div`,{className:`text-center text-sm text-destructive`,children:[(0,$.jsx)(`p`,{children:t(`erd.viewer.loadFailed`)}),(0,$.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:b})]})}),!Ne&&!v&&!b&&(0,$.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center`,children:(0,$.jsxs)(`div`,{className:`text-center text-sm text-muted-foreground`,children:[(0,$.jsx)(`p`,{children:t(`erd.viewer.noDatabase`)}),(0,$.jsx)(`p`,{className:`mt-1 text-xs`,children:t(`erd.viewer.selectDatabaseHint`)})]})}),Ne&&(0,$.jsxs)(`div`,{ref:te,className:`absolute left-0 top-0`,style:{transformOrigin:`0 0`,transform:`translate(${c}px, ${u}px) scale(${o})`},children:[(0,$.jsx)(Itt,{entities:n,relations:i,entityWidths:m}),n.map(e=>(0,$.jsx)(Ntt,{entity:e,colWidths:m[e.name]||[...w9],isSelected:f===e.name,onMouseDown:we,onColResizeStart:Te},e.name))]})]})]})}function Wtt({connectionId:e}){let{t}=ie(),n=Mt(t=>t.tabs[e]??Nt),r=Mt(t=>t.activeTabId[e]??null),i=A8(t=>t.open[e]??!1),a=Mt(e=>e.addQueryTab),o=Mt(e=>e.removeQueryTab),s=Mt(e=>e.removeQueryTabs),c=Mt(e=>e.setActiveQueryTab),l=r&&(n.some(e=>e.id===r)||r===`erd`&&i)?r:n.length>0?n[n.length-1].id:i?`erd`:null;(0,E.useEffect)(()=>{l&&l!==r&&c(e,l)},[l,r,e,c]);let u=(0,E.useRef)(null);_3e(u,l);let{loadChildren:d}=yn(),f=n.find(e=>e.id===l),p=f?.sourceTable?{database:f.sourceTable.database,type:`TABLE`,name:f.sourceTable.table}:f?.sourceObject??null,m=p?`${p.database}/${p.type}/${p.name}`:null;(0,E.useEffect)(()=>{p&&jn(e,Mn(e,p.database,p.type,p.name),d)},[e,m]);let h=Mt(e=>e.reorderQueryTab),g=(0,E.useMemo)(()=>n.map(e=>e.id),[n]),{dragProps:_,dropIndicator:v}=ot(g,(0,E.useCallback)((t,n)=>h(e,t,n),[e,h])),y=A8(e=>e.closeERD),x=(0,E.useCallback)(e=>{y(e);let t=Mt.getState();if(t.activeTabId[e]===`erd`){let n=t.tabs[e]??[];t.setActiveQueryTab(e,n.length>0?n[n.length-1].id:``)}},[y]),S=(0,E.useCallback)(()=>{let r={id:`tab-${Date.now()}`,title:t(`query.tabs.queryTitle`,{n:n.length+1}),query:``,database:``,isExecuting:!1,results:[],error:null,executionTime:null};a(e,r)},[e,n.length,a,t]),C=(0,E.useCallback)((t,n)=>{if(t.stopPropagation(),n===`erd`){x(e);return}o(e,n)},[e,o,x]),w=(0,E.useCallback)((t,r)=>{let a=n.findIndex(e=>e.id===t),o=n.filter((e,n)=>{switch(r){case`all`:return!0;case`others`:return e.id!==t;case`left`:return n<a;case`right`:return n>a}}).map(e=>e.id);o.length>0&&s(e,o),i&&(r===`all`||r===`others`||r===`right`)&&x(e)},[n,i,e,s,x]),T=(0,E.useCallback)(t=>{c(e,t);let r;r=t===`erd`?A8.getState().database[e]:n.find(e=>e.id===t)?.database,r&&mn(e,r)},[e,n,c]);return n.length===0&&!i?(0,$.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,$.jsxs)(b,{variant:`outline`,onClick:S,children:[(0,$.jsx)(T6,{className:`mr-1 size-4`}),t(`query.tabs.newQuery`)]})}):(0,$.jsxs)(m5,{value:l??void 0,onValueChange:T,className:`flex h-full flex-col`,children:[(0,$.jsxs)(`div`,{className:`flex items-center border-b bg-muted/30`,children:[(0,$.jsxs)(`div`,{ref:u,className:`min-w-0 flex-1 overflow-x-auto overflow-y-hidden [scrollbar-width:none] [&::-webkit-scrollbar]:hidden`,children:[(0,$.jsxs)(h5,{className:`h-9 w-max rounded-none bg-transparent`,children:[n.map((r,a)=>(0,$.jsxs)(l5,{children:[(0,$.jsx)(u5,{asChild:!0,children:(0,$.jsxs)(g5,{value:r.id,..._(r.id),"data-drop-before":v===r.id||void 0,className:`shrink-0 gap-1 data-[drop-before]:shadow-[inset_2px_0_0_var(--color-primary)] !rounded-none !border-0 !border-b-2 !border-transparent px-3 py-1.5 !text-muted-foreground hover:!text-foreground aria-selected:!bg-primary aria-selected:!text-primary-foreground aria-selected:!border-primary aria-selected:font-semibold aria-selected:!shadow-none after:!hidden`,children:[r.sourceTable&&(0,$.jsx)(x1e,{className:`size-3 text-muted-foreground`}),r.sourceItem&&(0,$.jsx)(_6,{className:`size-3 text-muted-foreground`}),r.sourceTool&&(0,$.jsx)(n1e,{className:`size-3 text-muted-foreground`}),(0,$.jsx)(`span`,{className:`max-w-[120px] truncate text-xs`,children:r.title}),(0,$.jsx)(`span`,{role:`button`,tabIndex:0,className:`ml-1 rounded p-0.5 opacity-60 hover:bg-muted hover:opacity-100`,onClick:e=>C(e,r.id),onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),C(e,r.id))},children:(0,$.jsx)(ue,{className:`size-3`})})]})}),(0,$.jsxs)(d5,{children:[(0,$.jsx)(f5,{onSelect:()=>o(e,r.id),children:t(`query.tabs.close`)}),(0,$.jsx)(f5,{disabled:n.length<=1&&!i,onSelect:()=>w(r.id,`others`),children:t(`query.tabs.closeOthers`)}),(0,$.jsx)(p5,{}),(0,$.jsx)(f5,{disabled:a===0,onSelect:()=>w(r.id,`left`),children:t(`query.tabs.closeLeft`)}),(0,$.jsx)(f5,{disabled:a===n.length-1&&!i,onSelect:()=>w(r.id,`right`),children:t(`query.tabs.closeRight`)}),(0,$.jsx)(p5,{}),(0,$.jsx)(f5,{onSelect:()=>w(r.id,`all`),children:t(`query.tabs.closeAll`)})]})]},r.id)),i&&(0,$.jsxs)(g5,{value:`erd`,className:`shrink-0 gap-1 !rounded-none !border-0 !border-b-2 !border-transparent px-3 py-1.5 !text-muted-foreground hover:!text-foreground aria-selected:!bg-primary aria-selected:!text-primary-foreground aria-selected:!border-primary aria-selected:font-semibold aria-selected:!shadow-none after:!hidden`,children:[(0,$.jsx)(`span`,{className:`text-xs`,children:t(`query.tabs.erdViewer`)}),(0,$.jsx)(`span`,{role:`button`,tabIndex:0,className:`ml-1 rounded p-0.5 opacity-60 hover:bg-muted hover:opacity-100`,onClick:e=>C(e,`erd`),onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),C(e,`erd`))},children:(0,$.jsx)(ue,{className:`size-3`})})]})]}),v===`end`&&(0,$.jsx)(`div`,{className:`h-6 w-0.5 shrink-0 bg-primary`})]}),(0,$.jsx)(b,{variant:`ghost`,size:`icon`,className:`mx-1 size-7 shrink-0`,onClick:S,children:(0,$.jsx)(T6,{className:`size-4`})})]}),n.map(t=>(0,$.jsx)(_5,{value:t.id,className:`mt-0 flex-1 overflow-hidden`,forceMount:t.id!==l||void 0,hidden:t.id!==l,children:t.sourceTool?(0,$.jsx)(ptt,{connectionId:e,tabId:t.id}):t.sourceItem?(0,$.jsx)(ftt,{connectionId:e,tabId:t.id}):t.sourceTable?(0,$.jsx)(ltt,{connectionId:e,tabId:t.id}):(0,$.jsx)(utt,{connectionId:e,tabId:t.id})},t.id)),i&&(0,$.jsx)(_5,{value:`erd`,className:`mt-0 flex-1 overflow-hidden`,forceMount:l!==`erd`||void 0,hidden:l!==`erd`,children:(0,$.jsx)(Utt,{connectionId:e})})]})}function Gtt({connectionId:e,fileName:t}){let{t:n}=ie(),[r,i]=(0,E.useState)(!1),a=ct(e=>e.closeConnection);async function o(){i(!0);try{let t=await Jt(e,{interactive:!0});if(!t)return;let r=ct.getState();r.updateServerConnectionId(e,t.connectionId),r.updateProfile(e,{file:t.fileName}),r.setPendingReopen(e,!1),r.setFileDetached(e,t.fileDetached),Pt.getState().removeTree(e),jt.getState().setFooterMessage(n(`connection.tab.reopened`,{file:t.fileName}))}catch(e){jt.getState().setFooterMessage(n(`connection.tab.reopenFailed`,{message:e instanceof Error?e.message:String(e)}))}finally{i(!1)}}return(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-3 border-b border-catppuccin-yellow/40 bg-catppuccin-yellow/10 px-3 py-1.5 text-xs`,children:[(0,$.jsx)(h6,{className:`size-4 shrink-0 text-catppuccin-yellow`}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 break-all`,children:(0,$.jsx)(mr,{i18nKey:`connection.tab.reopenPrompt`,values:{file:t||n(`connection.tab.theSqliteFile`)},components:{b:(0,$.jsx)(`span`,{className:`font-medium`})}})}),(0,$.jsx)(b,{size:`sm`,className:`h-7 shrink-0 text-xs`,disabled:r,onClick:()=>{o()},children:n(`connection.tab.reopenFile`)}),(0,$.jsx)(b,{size:`sm`,variant:`ghost`,className:`h-7 shrink-0 text-xs`,onClick:()=>a(e),children:n(`connection.tab.closeConnection`)})]})}function Ktt({connectionId:e,serverConnectionId:t,fileName:n}){let{t:r}=ie(),[i,a]=(0,E.useState)(!1),o=ct(e=>e.setFileDetached);async function s(){a(!0);try{await Vt(e,t)?(o(e,!1),jt.getState().setFooterMessage(r(`connection.tab.reconnected`,{file:n}))):jt.getState().setFooterMessage(r(`connection.tab.accessNotGranted`))}finally{a(!1)}}return(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-3 border-b border-catppuccin-blue/40 bg-catppuccin-blue/10 px-3 py-1.5 text-xs`,children:[(0,$.jsx)(y6,{className:`size-4 shrink-0 text-catppuccin-blue`}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 break-all`,children:(0,$.jsx)(mr,{i18nKey:`connection.tab.detachedPrompt`,values:{file:n||r(`connection.tab.theSqliteFile`)},components:{b:(0,$.jsx)(`span`,{className:`font-medium`})}})}),(0,$.jsx)(b,{size:`sm`,className:`h-7 shrink-0 text-xs`,disabled:i,onClick:()=>{s()},children:r(`connection.tab.reconnectFile`)}),(0,$.jsx)(b,{size:`sm`,variant:`ghost`,className:`h-7 shrink-0 text-xs`,onClick:()=>o(e,!1),title:r(`connection.tab.detachedHide`),children:(0,$.jsx)(ue,{className:`size-3`})})]})}function qtt({connectionId:e,serverConnectionId:t,fileName:n,onDismiss:r}){let{t:i}=ie(),[a,o]=(0,E.useState)(!1);async function s(){o(!0);try{let r=await qt(e,t);if(!r)return;ct.getState().updateServerConnectionId(e,r.connectionId),Pt.getState().removeTree(e),jt.getState().setFooterMessage(r.appliedFrames>0?i(`connection.tab.walFramesApplied`,{count:r.appliedFrames,file:n}):i(`connection.tab.walNoChanges`))}catch(e){jt.getState().setFooterMessage(i(`connection.tab.walLoadFailed`,{message:e instanceof Error?e.message:String(e)}))}finally{o(!1)}}return(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-3 border-b border-catppuccin-peach/40 bg-catppuccin-peach/10 px-3 py-1.5 text-xs`,children:[(0,$.jsx)(h6,{className:`size-4 shrink-0 text-catppuccin-peach`}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 break-all`,children:(0,$.jsx)(mr,{i18nKey:`connection.tab.walPrompt`,values:{file:n},components:{b:(0,$.jsx)(`span`,{className:`font-medium`}),mono:(0,$.jsx)(`span`,{className:`font-mono`})}})}),(0,$.jsx)(b,{size:`sm`,className:`h-7 shrink-0 text-xs`,disabled:a,onClick:()=>{s()},children:i(`connection.tab.loadWal`)}),(0,$.jsx)(b,{size:`sm`,variant:`outline`,className:`h-7 shrink-0 text-xs`,disabled:a,title:i(`connection.tab.noWalHint`),onClick:()=>{Zt(t),jt.getState().bumpTransportVersion(),r()},children:i(`connection.tab.noWal`)}),(0,$.jsx)(b,{size:`sm`,variant:`ghost`,className:`h-7 w-7 shrink-0 p-0`,"aria-label":i(`connection.tab.dismiss`),title:i(`connection.tab.walHide`),onClick:r,children:(0,$.jsx)(ue,{className:`size-3.5`})})]})}function Jtt({connectionId:e}){let{t}=ie(),n=ct(t=>t.activeConnections.find(t=>t.id===e)),r=c5(n?.environmentColor),i=ct(t=>t.pendingReopen[e]??!1),a=ct(t=>t.fileDetached[e]??!1),o=Rt(n?.serverConnectionId),[s,c]=(0,E.useState)(null),l=!i&&o?.wal&&!o.walApplied&&!o.walAcknowledged&&n?.serverConnectionId&&s!==n.serverConnectionId;return(0,$.jsxs)(`div`,{className:`flex h-full flex-col`,children:[i&&(0,$.jsx)(Gtt,{connectionId:e,fileName:n?.file??``}),!i&&a&&!n?.sample&&!n?.scratchpad&&n?.serverConnectionId&&(0,$.jsx)(Ktt,{connectionId:e,serverConnectionId:n.serverConnectionId,fileName:n?.file??``}),l&&(0,$.jsx)(qtt,{connectionId:e,serverConnectionId:n.serverConnectionId,fileName:n?.file??``,onDismiss:()=>c(n.serverConnectionId)}),r&&(0,$.jsxs)(`div`,{className:`flex h-5 shrink-0 items-center gap-2 px-3 text-[11px] font-semibold uppercase tracking-wider text-white`,style:{background:r},children:[(0,$.jsx)(`span`,{children:n?.hostName||n?.host}),n?.readOnly&&(0,$.jsx)(`span`,{className:`rounded bg-black/25 px-1.5 py-px normal-case tracking-normal`,children:t(`connection.tab.readOnlyBadge`)})]}),(0,$.jsx)(`div`,{className:`min-h-0 flex-1`,style:r?{boxShadow:`inset 3px 0 0 ${r}`}:void 0,children:(0,$.jsxs)(X4e,{direction:`horizontal`,defaultSize:200,minSize:150,maxSize:600,storageKey:`sidebar`,children:[(0,$.jsx)(`div`,{className:`h-full border-r border-catppuccin-surface1 bg-catppuccin-mantle overflow-hidden`,children:(0,$.jsx)(h3e,{connectionId:e})}),(0,$.jsx)(`div`,{className:`h-full overflow-hidden`,children:(0,$.jsx)(Wtt,{connectionId:e})})]})})]})}var A9=`<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>`,j9=`</title><path d="`,M9=`"/></svg>`,Ytt={title:`Cloudflare`,slug:`cloudflare`,get svg(){return A9+`Cloudflare`+j9+this.path+M9},path:`M16.5088 16.8447c.1475-.5068.0908-.9707-.1553-1.3154-.2246-.3164-.6045-.499-1.0615-.5205l-8.6592-.1123a.1559.1559 0 0 1-.1333-.0713c-.0283-.042-.0351-.0986-.021-.1553.0278-.084.1123-.1484.2036-.1562l8.7359-.1123c1.0351-.0489 2.1601-.8868 2.5537-1.9136l.499-1.3013c.0215-.0561.0293-.1128.0147-.168-.5625-2.5463-2.835-4.4453-5.5499-4.4453-2.5039 0-4.6284 1.6177-5.3876 3.8614-.4927-.3658-1.1187-.5625-1.794-.499-1.2026.119-2.1665 1.083-2.2861 2.2856-.0283.31-.0069.6128.0635.894C1.5683 13.171 0 14.7754 0 16.752c0 .1748.0142.3515.0352.5273.0141.083.0844.1475.1689.1475h15.9814c.0909 0 .1758-.0645.2032-.1553l.12-.4268zm2.7568-5.5634c-.0771 0-.1611 0-.2383.0112-.0566 0-.1054.0415-.127.0976l-.3378 1.1744c-.1475.5068-.0918.9707.1543 1.3164.2256.3164.6055.498 1.0625.5195l1.8437.1133c.0557 0 .1055.0263.1329.0703.0283.043.0351.1074.0214.1562-.0283.084-.1132.1485-.204.1553l-1.921.1123c-1.041.0488-2.1582.8867-2.5527 1.914l-.1406.3585c-.0283.0713.0215.1416.0986.1416h6.5977c.0771 0 .1474-.0489.169-.126.1122-.4082.1757-.837.1757-1.2803 0-2.6025-2.125-4.727-4.7344-4.727`,source:`https://www.cloudflare.com/logo/`,hex:`F38020`,guidelines:`https://www.cloudflare.com/trademark/`},Xtt={mysql:{title:`MySQL`,slug:`mysql`,get svg(){return A9+`MySQL`+j9+this.path+M9},path:`M16.405 5.501c-.115 0-.193.014-.274.033v.013h.014c.054.104.146.18.214.273.054.107.1.214.154.32l.014-.015c.094-.066.14-.172.14-.333-.04-.047-.046-.094-.08-.14-.04-.067-.126-.1-.18-.153zM5.77 18.695h-.927a50.854 50.854 0 00-.27-4.41h-.008l-1.41 4.41H2.45l-1.4-4.41h-.01a72.892 72.892 0 00-.195 4.41H0c.055-1.966.192-3.81.41-5.53h1.15l1.335 4.064h.008l1.347-4.064h1.095c.242 2.015.384 3.86.428 5.53zm4.017-4.08c-.378 2.045-.876 3.533-1.492 4.46-.482.716-1.01 1.073-1.583 1.073-.153 0-.34-.046-.566-.138v-.494c.11.017.24.026.386.026.268 0 .483-.075.647-.222.197-.18.295-.382.295-.605 0-.155-.077-.47-.23-.944L6.23 14.615h.91l.727 2.36c.164.536.233.91.205 1.123.4-1.064.678-2.227.835-3.483zm12.325 4.08h-2.63v-5.53h.885v4.85h1.745zm-3.32.135l-1.016-.5c.09-.076.177-.158.255-.25.433-.506.648-1.258.648-2.253 0-1.83-.718-2.746-2.155-2.746-.704 0-1.254.232-1.65.697-.43.508-.646 1.256-.646 2.245 0 .972.19 1.686.574 2.14.35.41.877.615 1.583.615.264 0 .506-.033.725-.098l1.325.772.36-.622zM15.5 17.588c-.225-.36-.337-.94-.337-1.736 0-1.393.424-2.09 1.27-2.09.443 0 .77.167.977.5.224.362.336.936.336 1.723 0 1.404-.424 2.108-1.27 2.108-.445 0-.77-.167-.978-.5zm-1.658-.425c0 .47-.172.856-.516 1.156-.344.3-.803.45-1.384.45-.543 0-1.064-.172-1.573-.515l.237-.476c.438.22.833.328 1.19.328.332 0 .593-.073.783-.22a.754.754 0 00.3-.615c0-.33-.23-.61-.648-.845-.388-.213-1.163-.657-1.163-.657-.422-.307-.632-.636-.632-1.177 0-.45.157-.81.47-1.085.315-.278.72-.415 1.22-.415.512 0 .98.136 1.4.41l-.213.476a2.726 2.726 0 00-1.064-.23c-.283 0-.502.068-.654.206a.685.685 0 00-.248.524c0 .328.234.61.666.85.393.215 1.187.67 1.187.67.433.305.648.63.648 1.168zm9.382-5.852c-.535-.014-.95.04-1.297.188-.1.04-.26.04-.274.167.055.053.063.14.11.214.08.134.218.313.346.407.14.11.28.216.427.31.26.16.555.255.81.416.145.094.293.213.44.313.073.05.12.14.214.172v-.02c-.046-.06-.06-.147-.105-.214-.067-.067-.134-.127-.2-.193a3.223 3.223 0 00-.695-.675c-.214-.146-.682-.35-.77-.595l-.013-.014c.146-.013.32-.066.46-.106.227-.06.435-.047.67-.106.106-.027.213-.06.32-.094v-.06c-.12-.12-.21-.283-.334-.395a8.867 8.867 0 00-1.104-.823c-.21-.134-.476-.22-.697-.334-.08-.04-.214-.06-.26-.127-.12-.146-.19-.34-.275-.514a17.69 17.69 0 01-.547-1.163c-.12-.262-.193-.523-.34-.763-.69-1.137-1.437-1.826-2.586-2.5-.247-.14-.543-.2-.856-.274-.167-.008-.334-.02-.5-.027-.11-.047-.216-.174-.31-.235-.38-.24-1.364-.76-1.644-.072-.18.434.267.862.422 1.082.115.153.26.328.34.5.047.116.06.235.107.356.106.294.207.622.347.897.073.14.153.287.247.413.054.073.146.107.167.227-.094.136-.1.334-.154.5-.24.757-.146 1.693.194 2.25.107.166.362.534.703.393.3-.12.234-.5.32-.835.02-.08.007-.133.048-.187v.015c.094.188.188.367.274.555.206.328.566.668.867.895.16.12.287.328.487.402v-.02h-.015c-.043-.058-.1-.086-.154-.133a3.445 3.445 0 01-.35-.4 8.76 8.76 0 01-.747-1.218c-.11-.21-.202-.436-.29-.643-.04-.08-.04-.2-.107-.24-.1.146-.247.273-.32.453-.127.288-.14.642-.188 1.01-.027.007-.014 0-.027.014-.214-.052-.287-.274-.367-.46-.2-.475-.233-1.238-.06-1.785.047-.14.247-.582.167-.716-.042-.127-.174-.2-.247-.303a2.478 2.478 0 01-.24-.427c-.16-.374-.24-.788-.414-1.162-.08-.173-.22-.354-.334-.513-.127-.18-.267-.307-.368-.52-.033-.073-.08-.194-.027-.274.014-.054.042-.075.094-.09.088-.072.335.022.422.062.247.1.455.194.662.334.094.066.195.193.315.226h.14c.214.047.455.014.655.073.355.114.675.28.962.46a5.953 5.953 0 012.085 2.286c.08.154.115.295.188.455.14.33.313.663.455.982.14.315.275.636.476.897.1.14.502.213.682.286.133.06.34.115.46.188.23.14.454.3.67.454.11.076.443.243.463.378z`,source:`https://www.mysql.com/about/legal/logos.html`,hex:`4479A1`,guidelines:`https://www.mysql.com/about/legal/logos.html`},maria:{title:`MariaDB`,slug:`mariadb`,get svg(){return A9+`MariaDB`+j9+this.path+M9},path:`M23.157 4.412c-.676.284-.79.31-1.673.372-.65.045-.757.057-1.212.209-.75.246-1.395.75-2.02 1.59-.296.398-1.249 1.913-1.249 1.988 0 .057-.65.998-.915 1.32-.574.713-1.08 1.079-2.14 1.59-.77.36-1.224.524-4.102 1.477-1.073.353-2.133.738-2.367.864-.852.449-1.515 1.036-2.203 1.938-1.003 1.32-.972 1.313-3.042.947a12.264 12.264 0 00-.675-.063c-.644-.05-1.023.044-1.332.334L0 17.193l.177.088c.094.05.353.234.561.398.215.17.461.347.55.391.088.044.17.088.183.101.012.013-.089.17-.228.353-.435.581-.593.871-.574 1.048.019.164.032.17.43.17.517-.006.826-.056 1.261-.208.65-.233 2.058-.94 2.784-1.4.776-.5 1.717-.998 1.956-1.042.082-.02.354-.07.594-.114.58-.107 1.464-.095 2.587.05.108.013.373.045.6.064.227.025.43.057.454.076.026.012.474.037.998.056.934.026 1.104.007 1.3-.189.126-.133.385-.631.498-.985.209-.643.417-.921.366-.492-.113.966-.322 1.692-.713 2.411-.259.499-.663 1.092-.934 1.395-.322.347-.315.36.088.315.619-.063 1.471-.397 2.096-.82.827-.562 1.647-1.691 2.19-3.03.107-.27.22-.22.183.083-.013.094-.038.315-.057.498l-.031.328.353-.202c.833-.48 1.414-1.262 2.127-2.884.227-.518.877-2.922 1.073-3.976a9.64 9.64 0 01.271-1.042c.127-.429.196-.555.48-.858.183-.19.625-.555.978-.808.72-.505.953-.75 1.187-1.205.208-.417.284-1.13.132-1.357-.132-.202-.284-.196-.763.006Z`,source:`https://mariadb.com/about-us/logos/`,hex:`003545`,guidelines:`https://mariadb.com/about-us/logos/`},postgres:{title:`PostgreSQL`,slug:`postgresql`,get svg(){return A9+`PostgreSQL`+j9+this.path+M9},path:`M23.5594 14.7228a.5269.5269 0 0 0-.0563-.1191c-.139-.2632-.4768-.3418-1.0074-.2321-1.6533.3411-2.2935.1312-2.5256-.0191 1.342-2.0482 2.445-4.522 3.0411-6.8297.2714-1.0507.7982-3.5237.1222-4.7316a1.5641 1.5641 0 0 0-.1509-.235C21.6931.9086 19.8007.0248 17.5099.0005c-1.4947-.0158-2.7705.3461-3.1161.4794a9.449 9.449 0 0 0-.5159-.0816 8.044 8.044 0 0 0-1.3114-.1278c-1.1822-.0184-2.2038.2642-3.0498.8406-.8573-.3211-4.7888-1.645-7.2219.0788C.9359 2.1526.3086 3.8733.4302 6.3043c.0409.818.5069 3.334 1.2423 5.7436.4598 1.5065.9387 2.7019 1.4334 3.582.553.9942 1.1259 1.5933 1.7143 1.7895.4474.1491 1.1327.1441 1.8581-.7279.8012-.9635 1.5903-1.8258 1.9446-2.2069.4351.2355.9064.3625 1.39.3772a.0569.0569 0 0 0 .0004.0041 11.0312 11.0312 0 0 0-.2472.3054c-.3389.4302-.4094.5197-1.5002.7443-.3102.064-1.1344.2339-1.1464.8115-.0025.1224.0329.2309.0919.3268.2269.4231.9216.6097 1.015.6331 1.3345.3335 2.5044.092 3.3714-.6787-.017 2.231.0775 4.4174.3454 5.0874.2212.5529.7618 1.9045 2.4692 1.9043.2505 0 .5263-.0291.8296-.0941 1.7819-.3821 2.5557-1.1696 2.855-2.9059.1503-.8707.4016-2.8753.5388-4.1012.0169-.0703.0357-.1207.057-.1362.0007-.0005.0697-.0471.4272.0307a.3673.3673 0 0 0 .0443.0068l.2539.0223.0149.001c.8468.0384 1.9114-.1426 2.5312-.4308.6438-.2988 1.8057-1.0323 1.5951-1.6698zM2.371 11.8765c-.7435-2.4358-1.1779-4.8851-1.2123-5.5719-.1086-2.1714.4171-3.6829 1.5623-4.4927 1.8367-1.2986 4.8398-.5408 6.108-.13-.0032.0032-.0066.0061-.0098.0094-2.0238 2.044-1.9758 5.536-1.9708 5.7495-.0002.0823.0066.1989.0162.3593.0348.5873.0996 1.6804-.0735 2.9184-.1609 1.1504.1937 2.2764.9728 3.0892.0806.0841.1648.1631.2518.2374-.3468.3714-1.1004 1.1926-1.9025 2.1576-.5677.6825-.9597.5517-1.0886.5087-.3919-.1307-.813-.5871-1.2381-1.3223-.4796-.839-.9635-2.0317-1.4155-3.5126zm6.0072 5.0871c-.1711-.0428-.3271-.1132-.4322-.1772.0889-.0394.2374-.0902.4833-.1409 1.2833-.2641 1.4815-.4506 1.9143-1.0002.0992-.126.2116-.2687.3673-.4426a.3549.3549 0 0 0 .0737-.1298c.1708-.1513.2724-.1099.4369-.0417.156.0646.3078.26.3695.4752.0291.1016.0619.2945-.0452.4444-.9043 1.2658-2.2216 1.2494-3.1676 1.0128zm2.094-3.988-.0525.141c-.133.3566-.2567.6881-.3334 1.003-.6674-.0021-1.3168-.2872-1.8105-.8024-.6279-.6551-.9131-1.5664-.7825-2.5004.1828-1.3079.1153-2.4468.079-3.0586-.005-.0857-.0095-.1607-.0122-.2199.2957-.2621 1.6659-.9962 2.6429-.7724.4459.1022.7176.4057.8305.928.5846 2.7038.0774 3.8307-.3302 4.7363-.084.1866-.1633.3629-.2311.5454zm7.3637 4.5725c-.0169.1768-.0358.376-.0618.5959l-.146.4383a.3547.3547 0 0 0-.0182.1077c-.0059.4747-.054.6489-.115.8693-.0634.2292-.1353.4891-.1794 1.0575-.11 1.4143-.8782 2.2267-2.4172 2.5565-1.5155.3251-1.7843-.4968-2.0212-1.2217a6.5824 6.5824 0 0 0-.0769-.2266c-.2154-.5858-.1911-1.4119-.1574-2.5551.0165-.5612-.0249-1.9013-.3302-2.6462.0044-.2932.0106-.5909.019-.8918a.3529.3529 0 0 0-.0153-.1126 1.4927 1.4927 0 0 0-.0439-.208c-.1226-.4283-.4213-.7866-.7797-.9351-.1424-.059-.4038-.1672-.7178-.0869.067-.276.1831-.5875.309-.9249l.0529-.142c.0595-.16.134-.3257.213-.5012.4265-.9476 1.0106-2.2453.3766-5.1772-.2374-1.0981-1.0304-1.6343-2.2324-1.5098-.7207.0746-1.3799.3654-1.7088.5321a5.6716 5.6716 0 0 0-.1958.1041c.0918-1.1064.4386-3.1741 1.7357-4.4823a4.0306 4.0306 0 0 1 .3033-.276.3532.3532 0 0 0 .1447-.0644c.7524-.5706 1.6945-.8506 2.802-.8325.4091.0067.8017.0339 1.1742.081 1.939.3544 3.2439 1.4468 4.0359 2.3827.8143.9623 1.2552 1.9315 1.4312 2.4543-1.3232-.1346-2.2234.1268-2.6797.779-.9926 1.4189.543 4.1729 1.2811 5.4964.1353.2426.2522.4522.2889.5413.2403.5825.5515.9713.7787 1.2552.0696.087.1372.1714.1885.245-.4008.1155-1.1208.3825-1.0552 1.717-.0123.1563-.0423.4469-.0834.8148-.0461.2077-.0702.4603-.0994.7662zm.8905-1.6211c-.0405-.8316.2691-.9185.5967-1.0105a2.8566 2.8566 0 0 0 .135-.0406 1.202 1.202 0 0 0 .1342.103c.5703.3765 1.5823.4213 3.0068.1344-.2016.1769-.5189.3994-.9533.6011-.4098.1903-1.0957.333-1.7473.3636-.7197.0336-1.0859-.0807-1.1721-.151zm.5695-9.2712c-.0059.3508-.0542.6692-.1054 1.0017-.055.3576-.112.7274-.1264 1.1762-.0142.4368.0404.8909.0932 1.3301.1066.887.216 1.8003-.2075 2.7014a3.5272 3.5272 0 0 1-.1876-.3856c-.0527-.1276-.1669-.3326-.3251-.6162-.6156-1.1041-2.0574-3.6896-1.3193-4.7446.3795-.5427 1.3408-.5661 2.1781-.463zm.2284 7.0137a12.3762 12.3762 0 0 0-.0853-.1074l-.0355-.0444c.7262-1.1995.5842-2.3862.4578-3.4385-.0519-.4318-.1009-.8396-.0885-1.2226.0129-.4061.0666-.7543.1185-1.0911.0639-.415.1288-.8443.1109-1.3505.0134-.0531.0188-.1158.0118-.1902-.0457-.4855-.5999-1.938-1.7294-3.253-.6076-.7073-1.4896-1.4972-2.6889-2.0395.5251-.1066 1.2328-.2035 2.0244-.1859 2.0515.0456 3.6746.8135 4.8242 2.2824a.908.908 0 0 1 .0667.1002c.7231 1.3556-.2762 6.2751-2.9867 10.5405zm-8.8166-6.1162c-.025.1794-.3089.4225-.6211.4225a.5821.5821 0 0 1-.0809-.0056c-.1873-.026-.3765-.144-.5059-.3156-.0458-.0605-.1203-.178-.1055-.2844.0055-.0401.0261-.0985.0925-.1488.1182-.0894.3518-.1226.6096-.0867.3163.0441.6426.1938.6113.4186zm7.9305-.4114c.0111.0792-.049.201-.1531.3102-.0683.0717-.212.1961-.4079.2232a.5456.5456 0 0 1-.075.0052c-.2935 0-.5414-.2344-.5607-.3717-.024-.1765.2641-.3106.5611-.352.297-.0414.6111.0088.6356.1851z`,source:`https://wiki.postgresql.org/wiki/Logo`,hex:`4169E1`,guidelines:`https://www.postgresql.org/about/policies/trademarks/`},sqlite:{title:`SQLite`,slug:`sqlite`,get svg(){return A9+`SQLite`+j9+this.path+M9},path:`M21.678.521c-1.032-.92-2.28-.55-3.513.544a8.71 8.71 0 0 0-.547.535c-2.109 2.237-4.066 6.38-4.674 9.544.237.48.422 1.093.544 1.561a13.044 13.044 0 0 1 .164.703s-.019-.071-.096-.296l-.05-.146a1.689 1.689 0 0 0-.033-.08c-.138-.32-.518-.995-.686-1.289-.143.423-.27.818-.376 1.176.484.884.778 2.4.778 2.4s-.025-.099-.147-.442c-.107-.303-.644-1.244-.772-1.464-.217.804-.304 1.346-.226 1.478.152.256.296.698.422 1.186.286 1.1.485 2.44.485 2.44l.017.224a22.41 22.41 0 0 0 .056 2.748c.095 1.146.273 2.13.5 2.657l.155-.084c-.334-1.038-.47-2.399-.41-3.967.09-2.398.642-5.29 1.661-8.304 1.723-4.55 4.113-8.201 6.3-9.945-1.993 1.8-4.692 7.63-5.5 9.788-.904 2.416-1.545 4.684-1.931 6.857.666-2.037 2.821-2.912 2.821-2.912s1.057-1.304 2.292-3.166c-.74.169-1.955.458-2.362.629-.6.251-.762.337-.762.337s1.945-1.184 3.613-1.72C21.695 7.9 24.195 2.767 21.678.521m-18.573.543A1.842 1.842 0 0 0 1.27 2.9v16.608a1.84 1.84 0 0 0 1.835 1.834h9.418a22.953 22.953 0 0 1-.052-2.707c-.006-.062-.011-.141-.016-.2a27.01 27.01 0 0 0-.473-2.378c-.121-.47-.275-.898-.369-1.057-.116-.197-.098-.31-.097-.432 0-.12.015-.245.037-.386a9.98 9.98 0 0 1 .234-1.045l.217-.028c-.017-.035-.014-.065-.031-.097l-.041-.381a32.8 32.8 0 0 1 .382-1.194l.2-.019c-.008-.016-.01-.038-.018-.053l-.043-.316c.63-3.28 2.587-7.443 4.8-9.791.066-.069.133-.128.198-.194Z`,source:`https://github.com/sqlite/sqlite/blob/43e862723ec680542ca6f608f9963c0993dd7324/art/sqlite370.eps`,hex:`003B57`},mssql:{path:`M12 1.5c-4.97 0-9 1.79-9 4v13c0 2.21 4.03 4 9 4s9-1.79 9-4v-13c0-2.21-4.03-4-9-4zm0 2c3.87 0 7 1.12 7 2s-3.13 2-7 2-7-1.12-7-2 3.13-2 7-2zm0 2.9a2.1 2.1 0 1 1 0 4.2 2.1 2.1 0 0 1 0-4.2zM5 8.55c1.6.9 4.2 1.45 7 1.45s5.4-.55 7-1.45V11c0 .88-3.13 2-7 2s-7-1.12-7-2V8.55zm0 4.9c1.6.9 4.2 1.45 7 1.45s5.4-.55 7-1.45V16c0 .88-3.13 2-7 2s-7-1.12-7-2v-2.55zm0 5c1.6.9 4.2 1.45 7 1.45s5.4-.55 7-1.45`},oracle:{path:`M7.5 5.5h9a6.5 6.5 0 0 1 0 13h-9a6.5 6.5 0 0 1 0-13zm0 2.4a4.1 4.1 0 0 0 0 8.2h9a4.1 4.1 0 0 0 0-8.2h-9z`},neon:{title:`Neon`,slug:`neon`,get svg(){return A9+`Neon`+j9+this.path+M9},path:`M24 0V24l-9.365-8.045V24H0V0ZM2.942 21.087h8.751V9.563l9.365 8.204V2.919L2.942 2.914Z`,source:`https://neon.com/brand`,hex:`34D59A`,guidelines:`https://neon.com/brand`},supabase:{title:`Supabase`,slug:`supabase`,get svg(){return A9+`Supabase`+j9+this.path+M9},path:`M11.9 1.036c-.015-.986-1.26-1.41-1.874-.637L.764 12.05C-.33 13.427.65 15.455 2.409 15.455h9.579l.113 7.51c.014.985 1.259 1.408 1.873.636l9.262-11.653c1.093-1.375.113-3.403-1.645-3.403h-9.642z`,source:`https://github.com/supabase/supabase/blob/4031a7549f5d46da7bc79c01d56be4177dc7c114/packages/common/assets/images/supabase-logo-wordmark--light.svg`,hex:`3FCF8E`},d1:Ytt,do:Ytt,redis:{title:`Redis`,slug:`redis`,get svg(){return A9+`Redis`+j9+this.path+M9},path:`M22.71 13.145c-1.66 2.092-3.452 4.483-7.038 4.483-3.203 0-4.397-2.825-4.48-5.12.701 1.484 2.073 2.685 4.214 2.63 4.117-.133 6.94-3.852 6.94-7.239 0-4.05-3.022-6.972-8.268-6.972-3.752 0-8.4 1.428-11.455 3.685C2.59 6.937 3.885 9.958 4.35 9.626c2.648-1.904 4.748-3.13 6.784-3.744C8.12 9.244.886 17.05 0 18.425c.1 1.261 1.66 4.648 2.424 4.648.232 0 .431-.133.664-.365a100.49 100.49 0 0 0 5.54-6.765c.222 3.104 1.748 6.898 6.014 6.898 3.819 0 7.604-2.756 9.33-8.965.2-.764-.73-1.361-1.261-.73zm-4.349-5.013c0 1.959-1.926 2.922-3.685 2.922-.941 0-1.664-.247-2.235-.568 1.051-1.592 2.092-3.225 3.21-4.973 1.972.334 2.71 1.43 2.71 2.619z`,source:`https://redis.io/brand-guidelines`,hex:`FF4438`,guidelines:`https://redis.io/brand-guidelines`},elasticsearch:{title:`Elasticsearch`,slug:`elasticsearch`,get svg(){return A9+`Elasticsearch`+j9+this.path+M9},path:`M13.394 0C8.683 0 4.609 2.716 2.644 6.667h15.641a4.77 4.77 0 0 0 3.073-1.11c.446-.375.864-.785 1.247-1.243l.001-.002A11.974 11.974 0 0 0 13.394 0zM1.804 8.889a12.009 12.009 0 0 0 0 6.222h14.7a3.111 3.111 0 1 0 0-6.222zm.84 8.444C4.61 21.283 8.684 24 13.395 24c3.701 0 7.011-1.677 9.212-4.312l-.001-.002a9.958 9.958 0 0 0-1.247-1.243 4.77 4.77 0 0 0-3.073-1.11z`,source:`https://www.elastic.co/brand`,hex:`005571`},opensearch:{title:`OpenSearch`,slug:`opensearch`,get svg(){return A9+`OpenSearch`+j9+this.path+M9},path:`M23.1515 8.8125a.8484.8484 0 0 0-.8484.8485c0 6.982-5.6601 12.6421-12.6421 12.6421a.8485.8485 0 0 0 0 1.6969C17.5802 24 24 17.5802 24 9.661a.8485.8485 0 0 0-.8485-.8485Zm-5.121 5.4375c.816-1.3311 1.6051-3.1058 1.4498-5.5905-.3216-5.1468-4.9832-9.0512-9.3851-8.6281C8.372.1971 6.6025 1.6017 6.7598 4.1177c.0683 1.0934.6034 1.7386 1.473 2.2348.8279.4722 1.8914.7713 3.097 1.1104 1.4563.4096 3.1455.8697 4.4438 1.8265 1.5561 1.1467 2.6198 2.4759 2.2569 4.9606Zm-16.561-9C.6535 6.581-.1355 8.3558.0197 10.8405c.3216 5.1468 4.9832 9.0512 9.385 8.6281 1.7233-.1657 3.4927-1.5703 3.3355-4.0863-.0683-1.0934-.6034-1.7386-1.4731-2.2348-.8278-.4722-1.8913-.7713-3.0969-1.1104-1.4563-.4096-3.1455-.8697-4.4438-1.8265-1.5561-1.1467-2.6198-2.476-2.257-4.9606Z`,source:`https://opensearch.org/trademark-brand-policy.html`,hex:`005EB8`,guidelines:`https://opensearch.org/trademark-brand-policy.html`}};function N9({dbms:e,className:t}){let n=Xtt[e];return n?(0,$.jsx)(`svg`,{viewBox:`0 0 24 24`,className:h(`size-4 shrink-0`,t),fill:`currentColor`,"aria-hidden":!0,children:(0,$.jsx)(`path`,{d:n.path})}):(0,$.jsx)(f6,{className:h(`size-4 shrink-0`,t),"aria-hidden":!0})}function Ztt(){let{t:e}=ie(),{activeConnections:t,activeConnectionId:n,setActiveConnection:r,closeConnection:i}=ct(),a=(0,E.useRef)(null);_3e(a,n);let o=ct(e=>e.reorderActiveConnection),s=(0,E.useMemo)(()=>t.map(e=>e.id),[t]),{dragProps:c,dropIndicator:l}=ot(s,(0,E.useCallback)((e,t)=>o(e,t),[o]));return t.length===0?(0,$.jsx)(`div`,{className:`flex items-center justify-center h-full text-muted-foreground`,children:e(`connection.tab.noConnections`)}):(0,$.jsxs)(m5,{value:n??void 0,onValueChange:r,className:`h-full gap-0`,children:[(0,$.jsx)(h5,{ref:a,variant:`line`,className:`w-full shrink-0 justify-start overflow-x-auto overflow-y-hidden border-b px-2 [scrollbar-width:none] [&::-webkit-scrollbar]:hidden`,children:t.map(e=>(0,$.jsxs)(g5,{value:e.id,...c(e.id),"data-drop-before":l===e.id||void 0,className:`shrink-0 gap-1 data-[drop-before]:shadow-[inset_2px_0_0_var(--color-primary)] !rounded-none !border-0 !border-b-2 !border-transparent pr-1 !text-muted-foreground hover:!text-foreground data-[state=active]:!bg-primary data-[state=active]:!text-primary-foreground data-[state=active]:!border-primary data-[state=active]:font-semibold data-[state=active]:!shadow-none after:!hidden`,children:[c5(e.environmentColor)&&(0,$.jsx)(`span`,{className:`size-2 shrink-0 rounded-full`,style:{background:c5(e.environmentColor)}}),(0,$.jsx)(N9,{dbms:e.dbms,className:`size-3.5 opacity-80`}),(0,$.jsx)(`span`,{className:`truncate max-w-[140px]`,children:e.hostName||`${e.host}:${e.port}`}),(0,$.jsx)(`span`,{role:`button`,tabIndex:0,className:`ml-1 rounded-sm p-0.5 opacity-60 hover:opacity-100 hover:bg-muted transition-colors`,onClick:t=>{t.stopPropagation(),i(e.id)},onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),t.stopPropagation(),i(e.id))},children:(0,$.jsx)(ue,{className:`size-3`})})]},e.id))}),t.map(e=>(0,$.jsx)(_5,{value:e.id,className:`mt-0 min-h-0 flex-1`,children:(0,$.jsx)(Jtt,{connectionId:e.id})},e.id))]})}var Qtt=`planche-chunk-reload`;function $tt(e){let t=e instanceof Error?e.message:String(e);return/dynamically imported module|Importing a module script failed|Failed to fetch dynamically|Loading chunk|ChunkLoadError|error loading dynamically imported module/i.test(t)}function P9(e){if(!$tt(e))return!1;try{if(sessionStorage.getItem(Qtt))return!1;sessionStorage.setItem(Qtt,`1`)}catch{}return window.location.reload(),!0}var ent=class extends E.Component{state={error:null};static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){P9(e)||console.error(`Unhandled render error:`,e,t.componentStack)}render(){let{error:e}=this.state;return e?$tt(e)?null:(0,$.jsxs)(`div`,{className:`flex h-screen flex-col items-center justify-center gap-3 bg-background p-6 text-center text-foreground`,children:[(0,$.jsx)(`h1`,{className:`text-lg font-semibold`,children:S.t(`app.crashTitle`)}),(0,$.jsx)(`p`,{className:`max-w-md text-sm text-muted-foreground`,children:S.t(`app.crashBody`)}),(0,$.jsx)(`pre`,{className:`max-w-lg overflow-auto rounded border bg-muted/40 p-2 text-left text-xs`,children:e.message}),(0,$.jsx)(`button`,{type:`button`,className:`rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground`,onClick:()=>window.location.reload(),children:S.t(`app.crashReload`)})]}):this.props.children}},tnt=(0,E.lazy)(()=>C(()=>import(`./_N3A-NTc.js`).then(e=>({default:e.ConnectDialog})),__vite__mapDeps([35,1,2,36,3,37,38,39,40,41,7,5,6,8,12,10,11,13,14,9,42]))),nnt=(0,E.lazy)(()=>C(()=>import(`./CoUCmmSB.js`).then(e=>({default:e.CreateDatabaseDialog})),__vite__mapDeps([43,1,2,36,3,37,38,39,40,41,5,6,7,8,13,16,15,10,11,14,9,12,17,18,19]))),rnt=(0,E.lazy)(()=>C(()=>import(`./Yn5aIyLX.js`).then(e=>({default:e.CreateSchemaDialog})),__vite__mapDeps([44,1,2,36,3,37,5,6,7,8,13,16,15,10,11,14,9,12,17,18,19]))),int=(0,E.lazy)(()=>C(()=>import(`./CRYDH2ct.js`).then(e=>({default:e.CopyDatabaseDialog})),__vite__mapDeps([45,1,2,36,3,37,5,6,7,8,13,9,10,11,12,14,16,15,17,18,19]))),ant=(0,E.lazy)(()=>C(()=>import(`./CCJEQIo6.js`).then(e=>({default:e.DownloadToCSVDialog})),__vite__mapDeps([46,1,2,36,3,37,38,39,40,41,5,6,7,8,13,14,9,10,11,12,16,15,17,18,19,42]))),ont=(0,E.lazy)(()=>C(()=>import(`./pDR31rvF.js`).then(e=>({default:e.SchemaToHTMLDialog})),__vite__mapDeps([47,1,2,36,3,37,38,39,40,41,5,6,7,8,13,14,9,10,11,12,16,18,42]))),snt=(0,E.lazy)(()=>C(()=>import(`./gvCOWBS0.js`).then(e=>({default:e.CopyTableDialog})),__vite__mapDeps([48,1,2,36,3,37,38,39,40,41,5,6,7,8,13,9,10,11,12,14,16,15,17,18,19]))),cnt=(0,E.lazy)(()=>C(()=>import(`./CDfygETm.js`).then(e=>({default:e.LinkColumnDialog})),__vite__mapDeps([49,1,2,36,3,37,38,39,40,41,5,6,7,8,13,9,10,11,12,14,16,50]))),lnt=(0,E.lazy)(()=>C(()=>import(`./yfRSh-O-.js`).then(e=>({default:e.DataDiffDialog})),__vite__mapDeps([51,1,2,36,3,37,38,39,40,41,5,6,7,8,13,9,10,11,12,14,16,50]))),unt=(0,E.lazy)(()=>C(()=>import(`./u9a-WHjb.js`).then(e=>({default:e.GroupByDialog})),__vite__mapDeps([52,1,2,36,3,37,38,39,40,41,5,6,7,8,13,9,10,11,12,14,16,15,17,18,19]))),dnt=(0,E.lazy)(()=>C(()=>import(`./yLCKuLgs.js`).then(e=>({default:e.SchemaDiffDialog})),__vite__mapDeps([53,1,2,36,3,37,38,39,40,41,5,6,7,8,13,9,10,11,12,14,16,50,54]))),F9=(0,E.lazy)(()=>C(()=>import(`./2HDxyxt3.js`).then(e=>({default:e.EditSchemaDialog})),__vite__mapDeps([55,1,2,36,3,37,38,39,40,41,5,6,7,8,13,9,10,11,12,14,16,15,17,18,19]))),fnt=(0,E.lazy)(()=>C(()=>import(`./C1JbR1mO.js`).then(e=>({default:e.UserManagerDialog})),__vite__mapDeps([56,1,2,36,3,37,5,6,7,8,13,9,10,11,12,14,16,15,17,18,19,57]))),pnt=(0,E.lazy)(()=>C(()=>import(`./IqMoIce-.js`).then(e=>({default:e.UserAddDialog})),__vite__mapDeps([58,1,2,36,3,37,38,39,40,41,5,6,7,8,13,57]))),mnt=(0,E.lazy)(()=>C(()=>import(`./DXExbVos.js`).then(e=>({default:e.ProcessListDialog})),__vite__mapDeps([59,1,2,36,3,10,37,5,6,7,8,13,9,11,12,14,16]))),hnt=(0,E.lazy)(()=>C(()=>import(`./CKUISE0C.js`).then(e=>({default:e.VariablesDialog})),__vite__mapDeps([60,1,2,36,3,10,37,5,6,7,8,13,9,11,12,14,16]))),gnt=(0,E.lazy)(()=>C(()=>import(`./BHsv1P4D.js`).then(e=>({default:e.StatusDialog})),__vite__mapDeps([61,1,2,36,3,10,37,5,6,7,8,13,9,11,12,14,16]))),_nt=(0,E.lazy)(()=>C(()=>import(`./62772Vyq.js`).then(e=>({default:e.FlushDialog})),__vite__mapDeps([62,36,1,2,3,37,5,6,7,8,13,9,10,11,12,14]))),vnt=(0,E.lazy)(()=>C(()=>import(`./Cm-pfCIP.js`).then(e=>({default:e.FindReplaceDialog})),__vite__mapDeps([63,1,2,36,3,41,5,6,7,8,13,14,17,11]))),ynt=(0,E.lazy)(()=>C(()=>import(`./CN1CF2CU.js`).then(e=>({default:e.SafetySettingsDialog})),__vite__mapDeps([64,36,1,2,3,37,8,6,13,65]))),bnt=(0,E.lazy)(()=>C(()=>import(`./D-DAzfgs.js`).then(e=>({default:e.QuerySettingsDialog})),__vite__mapDeps([66,36,1,2,3,37,38,39,40,41,8,6,13,65]))),xnt=(0,E.lazy)(()=>C(()=>import(`./BWPrOT1U.js`).then(e=>({default:e.GeneralSettingsDialog})),__vite__mapDeps([67,2,1,36,3,10,37,38,39,40,41,8,6,13,65]))),Snt=(0,E.lazy)(()=>C(()=>import(`./Bjx1jzlk.js`).then(e=>({default:e.AiSettingsDialog})),__vite__mapDeps([68,1,2,36,3,37,38,39,40,41,8,6,12,10,7,11,13]))),Cnt=(0,E.lazy)(()=>C(()=>import(`./BI5Ig187.js`).then(e=>({default:e.McpSetupDialog})),__vite__mapDeps([69,1,2,36,3,37,12,10,7,11,13]))),wnt=(0,E.lazy)(()=>C(()=>import(`./W81Xd8P5.js`).then(e=>({default:e.LocalHistoryDialog})),__vite__mapDeps([70,1,2,36,3,37,5,6,7,8,13,14]))),Tnt=(0,E.lazy)(()=>C(()=>import(`./C82F2LSh.js`).then(e=>({default:e.AboutDialog})),__vite__mapDeps([71,36,1,2,3,37,13]))),Ent=(0,E.lazy)(()=>C(()=>import(`./BvkNY7SP.js`).then(e=>({default:e.LicenseDialog})),__vite__mapDeps([72,1,2,36,3,37,13,73,74]))),Dnt=(0,E.lazy)(()=>C(()=>import(`./BdhjYiGI.js`).then(e=>({default:e.SyncDialog})),__vite__mapDeps([75,1,2,36,3,37,13,73,74]))),Ont=(0,E.lazy)(()=>C(()=>import(`./BtBUwOf0.js`).then(e=>({default:e.TermsDialog})),__vite__mapDeps([76,36,1,2,3,37,8,6,13]))),knt=(0,E.lazy)(()=>C(()=>import(`./DXQPcWS6.js`).then(e=>({default:e.WhatsNewDialog})),__vite__mapDeps([77,1,2,36,3,37,8,6,12,10,7,11,13]))),Ant=(0,E.lazy)(()=>C(()=>import(`./NL8WOYEo.js`).then(e=>({default:e.RowFormDialog})),__vite__mapDeps([78,1,2,36,3,37,5,6,7,8,13,9,10,11,12,14,15,16,17,18,19]))),jnt={connect:tnt,"create-database":nnt,"create-schema":rnt,"copy-database":int,"export-csv":ant,"export-html":ont,"alter-database":F9,"create-table":F9,"alter-table":F9,"duplicate-table-structure":F9,"copy-table":snt,"schema-diff":dnt,"data-diff":lnt,"group-by":unt,"link-column":cnt,"user-manager":fnt,"user-add":pnt,"process-list":mnt,variables:hnt,status:gnt,flush:_nt,"find-replace":vnt,"quick-command":(0,E.lazy)(()=>C(()=>import(`./DT8Xdk78.js`).then(e=>({default:e.QuickCommandPalette})),__vite__mapDeps([79,1,2,36,3,10,37,5,6,7,8,13,14,9,11,12,15,16,17,18,19]))),"safety-settings":ynt,"query-settings":bnt,"general-settings":xnt,"ai-settings":Snt,"mcp-setup":Cnt,"local-history":wnt,about:Tnt,license:Ent,sync:Dnt,terms:Ont,"whats-new":knt,"row-form":Ant},Mnt=class extends E.Component{state={failed:!1};static getDerivedStateFromError(){return{failed:!0}}componentDidCatch(e){if(P9(e))return;console.error(`Dialog render error:`,e);let t=jt.getState();t.closeDialog(),t.setFooterMessage(S.t(`app.dialogFailed`,{message:e.message}))}render(){return this.state.failed?null:this.props.children}};function Nnt(){let e=jt(e=>e.activeDialog);if(!e)return null;let t=jnt[e];return t?(0,$.jsx)(Mnt,{children:(0,$.jsx)(E.Suspense,{fallback:null,children:(0,$.jsx)(t,{})})},e):null}function I9({...e}){return(0,$.jsx)(YKe,{"data-slot":`alert-dialog`,...e})}function Pnt({...e}){return(0,$.jsx)(XKe,{"data-slot":`alert-dialog-portal`,...e})}function Fnt({className:e,...t}){return(0,$.jsx)(ZKe,{"data-slot":`alert-dialog-overlay`,className:h(`fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0`,e),...t})}function L9({className:e,size:t=`default`,...n}){return(0,$.jsxs)(Pnt,{children:[(0,$.jsx)(Fnt,{}),(0,$.jsx)(QKe,{"data-slot":`alert-dialog-content`,"data-size":t,className:h(`group/alert-dialog-content fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border bg-background p-6 shadow-lg duration-200 data-[size=sm]:max-w-xs data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[size=default]:sm:max-w-lg`,e),...n})]})}function R9({className:e,...t}){return(0,$.jsx)(`div`,{"data-slot":`alert-dialog-header`,className:h(`grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-6 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]`,e),...t})}function z9({className:e,...t}){return(0,$.jsx)(`div`,{"data-slot":`alert-dialog-footer`,className:h(`flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end`,e),...t})}function B9({className:e,...t}){return(0,$.jsx)(tqe,{"data-slot":`alert-dialog-title`,className:h(`text-lg font-semibold sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2`,e),...t})}function V9({className:e,...t}){return(0,$.jsx)(nqe,{"data-slot":`alert-dialog-description`,className:h(`text-sm text-muted-foreground`,e),...t})}function H9({className:e,variant:t=`default`,size:n=`default`,...r}){return(0,$.jsx)(b,{variant:t,size:n,asChild:!0,children:(0,$.jsx)($Ke,{"data-slot":`alert-dialog-action`,className:h(e),...r})})}function U9({className:e,variant:t=`outline`,size:n=`default`,...r}){return(0,$.jsx)(b,{variant:t,size:n,asChild:!0,children:(0,$.jsx)(eqe,{"data-slot":`alert-dialog-cancel`,className:h(e),...r})})}function W9({className:e,type:t,...n}){return(0,$.jsx)(`input`,{type:t,"data-slot":`input`,className:h(`h-9 w-full min-w-0 rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none selection:bg-primary selection:text-primary-foreground file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm dark:bg-input/30`,`focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50`,`aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40`,e),...n})}function Int({className:e,...t}){return(0,$.jsx)(BXe,{"data-slot":`label`,className:h(`flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50`,e),...t})}function Lnt(){let e=jt(e=>e.destructiveConfirm),t=jt(e=>e.resolveDestructiveConfirm);return e?(0,$.jsx)(Rnt,{request:e.request,resolve:t},e.id):null}function Rnt({request:e,resolve:t}){let{t:n}=ie(),[r,i]=(0,E.useState)(``),a=!!e.typeToConfirm,o=!a||r===e.typeToConfirm;return(0,$.jsx)(I9,{open:!0,onOpenChange:e=>{e||t(!1)},children:(0,$.jsx)(L9,{className:`max-w-lg overflow-hidden`,children:(0,$.jsxs)(`form`,{className:`contents`,onSubmit:e=>{e.preventDefault(),o&&t(!0)},children:[(0,$.jsxs)(R9,{children:[(0,$.jsxs)(B9,{className:`flex min-w-0 items-center gap-2 break-words`,children:[(0,$.jsx)(N6,{className:`size-5 shrink-0 text-destructive`}),(0,$.jsx)(`span`,{className:`min-w-0 break-words`,children:e.title})]}),(0,$.jsx)(V9,{className:`min-w-0 break-words [overflow-wrap:anywhere] whitespace-pre-line`,children:e.description??n(`confirm.defaultDescription`)})]}),e.statements&&e.statements.length>0&&(0,$.jsx)(`pre`,{className:`max-h-48 overflow-auto rounded-md border bg-muted p-3 font-mono text-xs whitespace-pre-wrap break-all`,children:e.statements.join(`
944
944
  `)}),a&&(0,$.jsxs)(`div`,{className:`grid gap-2`,children:[(0,$.jsx)(Int,{htmlFor:`destructive-confirm-input`,children:(0,$.jsx)(mr,{i18nKey:`confirm.typeToConfirm`,components:{name:(0,$.jsx)(`span`,{className:`font-mono font-semibold`,children:e.typeToConfirm})}})}),(0,$.jsx)(W9,{id:`destructive-confirm-input`,autoFocus:!0,autoComplete:`off`,spellCheck:!1,value:r,onChange:e=>i(e.target.value),placeholder:e.typeToConfirm})]}),(0,$.jsxs)(z9,{children:[(0,$.jsx)(U9,{type:`button`,onClick:()=>t(!1),children:n(`confirm.cancel`)}),(0,$.jsx)(H9,{type:`submit`,variant:`destructive`,disabled:!o,onClick:()=>{o&&t(!0)},children:e.confirmLabel??n(`confirm.confirm`)})]})]})})})}var znt=e=>e==null?`NULL`:typeof e==`object`?c7(e)??String(e):String(e);function Bnt(){let e=jt(e=>e.dryRun),t=jt(e=>e.resolveDryRun);return e?(0,$.jsx)(Vnt,{request:e.request,resolve:t},e.id):null}function Vnt({request:e,resolve:t}){let{t:n}=ie(),{statement:r,previewSql:i,count:a,fields:o,rows:s,truncated:c,error:l}=e,u=r.trim().slice(0,6).toUpperCase()===`DELETE`?`DELETE`:`UPDATE`;return(0,$.jsx)(I9,{open:!0,onOpenChange:e=>{e||t(!1)},children:(0,$.jsxs)(L9,{className:`max-w-3xl overflow-hidden`,children:[(0,$.jsxs)(R9,{children:[(0,$.jsxs)(B9,{className:`flex items-center gap-2`,children:[(0,$.jsx)(p6,{className:`size-5 shrink-0 text-primary`}),l||a===null?n(`dryRun.titleUnknown`,{kind:u}):n(`dryRun.title`,{kind:u,count:a})]}),(0,$.jsx)(V9,{className:`whitespace-pre-line`,children:l?n(`dryRun.previewFailed`,{error:l}):n(`dryRun.description`)})]}),(0,$.jsx)(`pre`,{className:`max-h-24 overflow-auto rounded-md border bg-muted p-2 font-mono text-xs whitespace-pre-wrap break-all`,children:r}),!l&&(0,$.jsx)(`div`,{className:`max-h-72 overflow-auto rounded-md border`,children:s.length===0?(0,$.jsx)(`p`,{className:`p-3 text-xs text-muted-foreground`,children:n(`dryRun.noRows`)}):(0,$.jsxs)(`table`,{className:`w-full text-xs font-mono`,children:[(0,$.jsx)(`thead`,{className:`sticky top-0 bg-muted text-muted-foreground`,children:(0,$.jsx)(`tr`,{children:o.map(e=>(0,$.jsx)(`th`,{className:`px-2 py-1 text-left font-normal whitespace-nowrap`,children:e},e))})}),(0,$.jsx)(`tbody`,{children:s.map((e,t)=>(0,$.jsx)(`tr`,{className:t%2?`bg-muted/40`:``,children:e.map((e,t)=>(0,$.jsx)(`td`,{className:`px-2 py-0.5 whitespace-nowrap max-w-[240px] overflow-hidden text-ellipsis`,children:znt(e)},t))},t))})]})}),c&&(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:n(`dryRun.truncated`,{shown:s.length,count:a??`?`})}),(0,$.jsxs)(`details`,{className:`text-xs text-muted-foreground`,children:[(0,$.jsx)(`summary`,{className:`cursor-pointer`,children:n(`dryRun.previewQuery`)}),(0,$.jsx)(`pre`,{className:`mt-1 max-h-24 overflow-auto rounded-md border bg-muted p-2 font-mono whitespace-pre-wrap break-all`,children:i})]}),(0,$.jsxs)(z9,{children:[(0,$.jsx)(U9,{type:`button`,onClick:()=>t(!1),children:n(`confirm.cancel`)}),(0,$.jsx)(H9,{type:`button`,onClick:()=>t(!0),className:u===`DELETE`?`bg-destructive text-white hover:bg-destructive/90`:``,children:a===null||l?n(`dryRun.runAnyway`):n(`dryRun.run`,{kind:u,count:a})})]})]})})}var Hnt={info:(0,$.jsx)(g6,{className:`size-5 shrink-0 text-muted-foreground`}),success:(0,$.jsx)(s6,{className:`size-5 shrink-0 text-green-500`}),error:(0,$.jsx)(o6,{className:`size-5 shrink-0 text-destructive`})};function Unt(){let{t:e}=ie(),t=jt(e=>e.message),n=jt(e=>e.resolveMessage);if(!t)return null;let{title:r,description:i,tone:a=`info`,hint:o,command:s}=t.request;return(0,$.jsx)(I9,{open:!0,onOpenChange:e=>{e||n()},children:(0,$.jsxs)(L9,{className:`max-w-md overflow-hidden`,children:[(0,$.jsxs)(R9,{children:[(0,$.jsxs)(B9,{className:`flex min-w-0 items-center gap-2 break-words`,children:[Hnt[a],(0,$.jsx)(`span`,{className:`min-w-0 break-words`,children:r})]}),(0,$.jsx)(V9,{className:`min-w-0 break-words [overflow-wrap:anywhere] whitespace-pre-line`,children:i??``})]}),(o||s)&&(0,$.jsxs)(`div`,{className:`grid gap-2 rounded-md border bg-muted/40 p-3 text-sm`,children:[o&&(0,$.jsx)(`p`,{className:`whitespace-pre-line`,children:o}),s&&(0,$.jsx)(Wnt,{command:s})]}),(0,$.jsx)(z9,{children:(0,$.jsx)(H9,{autoFocus:!0,onClick:()=>n(),children:e(`confirm.ok`)})})]})},t.id)}function Wnt({command:e}){let{t}=ie(),[n,r]=(0,E.useState)(!1);return(0,$.jsxs)(`div`,{className:`flex items-center gap-2 rounded border bg-background px-2 py-1.5 font-mono text-xs`,children:[(0,$.jsx)(`span`,{className:`min-w-0 flex-1 select-all break-all`,children:e}),(0,$.jsx)(`button`,{type:`button`,className:`text-muted-foreground hover:text-foreground`,title:t(`connection.agent.copy`),onClick:()=>{navigator.clipboard?.writeText(e).then(()=>{r(!0),setTimeout(()=>r(!1),1500)})},children:n?(0,$.jsx)(r6,{className:`size-3.5`}):(0,$.jsx)(d6,{className:`size-3.5`})})]})}function Gnt(){let{t:e}=ie(),t=jt(e=>e.confirm),n=jt(e=>e.resolveConfirm);if(!t)return null;let{title:r,description:i,confirmLabel:a,tone:o=`info`}=t.request;return(0,$.jsx)(I9,{open:!0,onOpenChange:e=>{e||n(!1)},children:(0,$.jsxs)(L9,{className:`max-w-md overflow-hidden`,children:[(0,$.jsxs)(R9,{children:[(0,$.jsxs)(B9,{className:`flex min-w-0 items-center gap-2 break-words`,children:[o===`danger`?(0,$.jsx)(o6,{className:`size-5 shrink-0 text-destructive`}):(0,$.jsx)(g6,{className:`size-5 shrink-0 text-muted-foreground`}),(0,$.jsx)(`span`,{className:`min-w-0 break-words`,children:r})]}),(0,$.jsx)(V9,{className:`min-w-0 break-words [overflow-wrap:anywhere] whitespace-pre-line`,children:i??``})]}),(0,$.jsxs)(z9,{children:[(0,$.jsx)(U9,{autoFocus:!0,onClick:()=>n(!1),children:e(`confirm.cancel`)}),(0,$.jsx)(H9,{className:o===`danger`?`bg-destructive text-destructive-foreground hover:bg-destructive/90`:void 0,onClick:()=>n(!0),children:a??e(`confirm.confirm`)})]})]})},t.id)}function Knt(){let e=jt(e=>e.prompt),t=jt(e=>e.resolvePrompt);return e?(0,$.jsx)(qnt,{request:e.request,resolve:t},e.id):null}function qnt({request:e,resolve:t}){let{t:n}=ie(),[r,i]=(0,E.useState)(e.defaultValue??``),a=r.trim().length>0;return(0,$.jsx)(I9,{open:!0,onOpenChange:e=>{e||t(null)},children:(0,$.jsx)(L9,{className:`max-w-md overflow-hidden`,children:(0,$.jsxs)(`form`,{className:`contents`,onSubmit:e=>{e.preventDefault(),a&&t(r.trim())},children:[(0,$.jsxs)(R9,{children:[(0,$.jsx)(B9,{className:`min-w-0 break-words`,children:e.title}),(0,$.jsx)(V9,{className:`min-w-0 break-words [overflow-wrap:anywhere] whitespace-pre-line`,children:e.description??``})]}),(0,$.jsx)(W9,{autoFocus:!0,autoComplete:`off`,spellCheck:!1,value:r,placeholder:e.placeholder,onChange:e=>i(e.target.value),onFocus:e=>e.target.select()}),(0,$.jsxs)(z9,{children:[(0,$.jsx)(U9,{type:`button`,onClick:()=>t(null),children:n(`confirm.cancel`)}),(0,$.jsx)(H9,{type:`submit`,disabled:!a,onClick:()=>{a&&t(r.trim())},children:e.confirmLabel??n(`confirm.confirm`)})]})]})})})}function Jnt(e){let t=/^#([0-9a-f]{6})$/i.exec(e.trim());if(!t)return!0;let n=parseInt(t[1],16);return(.2126*(n>>16&255)+.7152*(n>>8&255)+.0722*(n&255))/255<.5}function Ynt(){let e=j8(e=>e.themeId);(0,E.useEffect)(()=>{let t=S2e(e),n=document.documentElement,r=t.colors;n.style.setProperty(`--t-background`,r.background),n.style.setProperty(`--t-foreground`,r.foreground),n.style.setProperty(`--t-card`,r.card),n.style.setProperty(`--t-card-foreground`,r.cardForeground),n.style.setProperty(`--t-popover`,r.popover),n.style.setProperty(`--t-popover-foreground`,r.popoverForeground),n.style.setProperty(`--t-primary`,r.primary),n.style.setProperty(`--t-primary-foreground`,r.primaryForeground),n.style.setProperty(`--t-secondary`,r.secondary),n.style.setProperty(`--t-secondary-foreground`,r.secondaryForeground),n.style.setProperty(`--t-muted`,r.muted),n.style.setProperty(`--t-muted-foreground`,r.mutedForeground),n.style.setProperty(`--t-accent`,r.accent),n.style.setProperty(`--t-accent-foreground`,r.accentForeground),n.style.setProperty(`--t-destructive`,r.destructive),n.style.setProperty(`--t-destructive-foreground`,r.destructiveForeground),n.style.setProperty(`--t-border`,r.border),n.style.setProperty(`--t-input`,r.input),n.style.setProperty(`--t-ring`,r.ring),n.style.setProperty(`--t-sidebar-background`,r.mantle),n.style.setProperty(`--t-sidebar-foreground`,r.foreground),n.style.setProperty(`--t-sidebar-primary`,r.primary),n.style.setProperty(`--t-sidebar-primary-foreground`,r.primaryForeground),n.style.setProperty(`--t-sidebar-accent`,r.surface0),n.style.setProperty(`--t-sidebar-accent-foreground`,r.foreground),n.style.setProperty(`--t-sidebar-border`,r.surface1),n.style.setProperty(`--t-sidebar-ring`,r.ring),n.style.setProperty(`--t-red`,r.red),n.style.setProperty(`--t-peach`,r.peach),n.style.setProperty(`--t-yellow`,r.yellow),n.style.setProperty(`--t-green`,r.green),n.style.setProperty(`--t-teal`,r.teal),n.style.setProperty(`--t-blue`,r.blue),n.style.setProperty(`--t-lavender`,r.lavender),n.style.setProperty(`--t-mauve`,r.mauve),n.style.setProperty(`--t-sky`,r.sky),n.style.setProperty(`--t-overlay0`,r.overlay0),n.style.setProperty(`--t-overlay1`,r.overlay1),n.style.setProperty(`--t-surface0`,r.surface0),n.style.setProperty(`--t-surface1`,r.surface1),n.style.setProperty(`--t-surface2`,r.surface2),n.style.setProperty(`--t-mantle`,r.mantle),n.style.setProperty(`--t-crust`,r.crust);let i=document.getElementById(`planche-scrollbar-style`)??document.createElement(`style`);i.id=`planche-scrollbar-style`,i.textContent=`
945
945
  ::-webkit-scrollbar-track { background: ${r.scrollTrack}; }
946
946
  ::-webkit-scrollbar-thumb { background: ${r.scrollThumb}; border-radius: 4px; }