db-studio 1.18.0 → 1.19.0

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 (171) hide show
  1. package/README.md +86 -49
  2. package/dist/index.js +126 -92
  3. package/dist/index.js.map +1 -1
  4. package/dist/web-dist/assets/_pathlessLayout-DFRv9XCB.js +1 -0
  5. package/dist/web-dist/assets/_pathlessLayout-DFy4SGet.js +2 -0
  6. package/dist/web-dist/assets/_queryId-BMByB2oT.js +1 -0
  7. package/dist/web-dist/assets/_table-Bg2023_C.js +1 -0
  8. package/dist/web-dist/assets/_table-CNv5UFxx.js +1 -0
  9. package/dist/web-dist/assets/_table-DFikg2By.js +1 -0
  10. package/dist/web-dist/assets/{abap-Ds2wIDQc.js → abap-dxRygfPH.js} +1 -1
  11. package/dist/web-dist/assets/{apex-DfqBN11z.js → apex-zgJPDUJP.js} +1 -1
  12. package/dist/web-dist/assets/{azcli-COqL1c-b.js → azcli-wJHaoZMB.js} +1 -1
  13. package/dist/web-dist/assets/badge-DKcWcYUF.js +1 -0
  14. package/dist/web-dist/assets/{bat-Nrlrgwbn.js → bat-C1wIr6Fe.js} +1 -1
  15. package/dist/web-dist/assets/{bicep-DMqb4xTm.js → bicep-BvxsFQ8r.js} +1 -1
  16. package/dist/web-dist/assets/browser-K0FP9iu-.js +1 -0
  17. package/dist/web-dist/assets/{bundle-mjs-DfrVkH8G.js → bundle-mjs-DnfzKk33.js} +1 -1
  18. package/dist/web-dist/assets/{cameligo-DQX1RguE.js → cameligo-DrYvjD55.js} +1 -1
  19. package/dist/web-dist/assets/{chat-sidebar-p9xpAAXQ.js → chat-sidebar-Cq9VUD6G.js} +9 -9
  20. package/dist/web-dist/assets/{clojure-CmnlCds-.js → clojure-74_l0zQh.js} +1 -1
  21. package/dist/web-dist/assets/{code-editor-DsRAUGQh.js → code-editor-BjMRNGGr.js} +2 -2
  22. package/dist/web-dist/assets/{coffee-CgcM3HWm.js → coffee-C0rQZbWl.js} +1 -1
  23. package/dist/web-dist/assets/constants-Ma2YHUjt.js +12 -0
  24. package/dist/web-dist/assets/{cpp-BnqpxZdA.js → cpp-B5zY1E3k.js} +1 -1
  25. package/dist/web-dist/assets/{csharp-B8V_ECLX.js → csharp-DwtW3NHZ.js} +1 -1
  26. package/dist/web-dist/assets/{csp-Dzh7GjET.js → csp-JrZi5CVH.js} +1 -1
  27. package/dist/web-dist/assets/{css-BY0zxVqM.js → css-C3v_G68F.js} +1 -1
  28. package/dist/web-dist/assets/cssMode-DEx5wjaw.js +1 -0
  29. package/dist/web-dist/assets/{cypher-D9AVJPko.js → cypher-BTD8b27B.js} +1 -1
  30. package/dist/web-dist/assets/{dart-vuJN5abD.js → dart-CwL-_kqb.js} +1 -1
  31. package/dist/web-dist/assets/database.store-1pbPyu5t.js +57 -0
  32. package/dist/web-dist/assets/{dist-DmSgBrHs.js → dist-BXhLQctj.js} +1 -1
  33. package/dist/web-dist/assets/{dockerfile-Du-akT44.js → dockerfile-CdgVtJCK.js} +1 -1
  34. package/dist/web-dist/assets/{ecl-C3XWQlLZ.js → ecl-BVdxv81-.js} +1 -1
  35. package/dist/web-dist/assets/{editor.api-VeMVvGYa.js → editor.api-CYxF2O7b.js} +1 -1
  36. package/dist/web-dist/assets/{elixir-BzsCBGJ0.js → elixir-DfatOM0G.js} +1 -1
  37. package/dist/web-dist/assets/{esm-D_bQ4AdP.js → esm-D-gZMxcU.js} +1 -1
  38. package/dist/web-dist/assets/{flow9-z5gBTD0L.js → flow9-a4YAXy8S.js} +1 -1
  39. package/dist/web-dist/assets/{freemarker2-B9XmkS8x.js → freemarker2-CfPBr1kT.js} +1 -1
  40. package/dist/web-dist/assets/{fsharp-CMq6tChx.js → fsharp-DPMv4wkA.js} +1 -1
  41. package/dist/web-dist/assets/{go-ClPsEbRK.js → go-IiZtrnqs.js} +1 -1
  42. package/dist/web-dist/assets/{graphql-7BvkEJ5O.js → graphql-CXNuaSRA.js} +1 -1
  43. package/dist/web-dist/assets/{handlebars-sf8CVwlq.js → handlebars-DxY2nPcz.js} +1 -1
  44. package/dist/web-dist/assets/{hcl-DN6aCTHV.js → hcl-SxWYdXh8.js} +1 -1
  45. package/dist/web-dist/assets/highlighted-body-OFNGDK62-CrpnFH8F.js +1 -0
  46. package/dist/web-dist/assets/{html-DI5TL_8H.js → html-drmbqc-0.js} +1 -1
  47. package/dist/web-dist/assets/{htmlMode-D_4DT2Lu.js → htmlMode-_WyzBcs8.js} +1 -1
  48. package/dist/web-dist/assets/icons-D00FvbYk.js +1 -0
  49. package/dist/web-dist/assets/index-De1y1AW6.css +2 -0
  50. package/dist/web-dist/assets/index-DvUqe2GZ.js +45 -0
  51. package/dist/web-dist/assets/indexes-DKdMLQaQ.js +1 -0
  52. package/dist/web-dist/assets/{ini-Ba74TRs3.js → ini-dRlOWwKj.js} +1 -1
  53. package/dist/web-dist/assets/{java-B1OFDleH.js → java-6BlUAALm.js} +1 -1
  54. package/dist/web-dist/assets/{javascript-Cf3sZaZX.js → javascript-BDJbGhjO.js} +1 -1
  55. package/dist/web-dist/assets/json-editor-CWN4Qxy5.js +1 -0
  56. package/dist/web-dist/assets/{jsonMode-CQjwhzT5.js → jsonMode-CMZrI5JG.js} +3 -3
  57. package/dist/web-dist/assets/{julia-CMywvhYA.js → julia-D9gAObN3.js} +1 -1
  58. package/dist/web-dist/assets/keys-BNEHyGRj.js +1 -0
  59. package/dist/web-dist/assets/{kotlin-BD6_sIY9.js → kotlin-BkNKxUBx.js} +1 -1
  60. package/dist/web-dist/assets/label-r_iGrn1k.js +1 -0
  61. package/dist/web-dist/assets/{less-BxdK-Aa1.js → less-CXD3UefM.js} +1 -1
  62. package/dist/web-dist/assets/{lexon-DCaYyeqi.js → lexon-C_fFLl-m.js} +1 -1
  63. package/dist/web-dist/assets/{liquid-D7tk2apZ.js → liquid-DK-C1kNz.js} +1 -1
  64. package/dist/web-dist/assets/logs-DYp_nXQS.js +1 -0
  65. package/dist/web-dist/assets/{lspLanguageFeatures-DHxnBjVJ.js → lspLanguageFeatures-C43gbr5Q.js} +3 -3
  66. package/dist/web-dist/assets/{lua-DYwtBF6d.js → lua-D9zIDNVg.js} +1 -1
  67. package/dist/web-dist/assets/{m3-CogUFTfR.js → m3-BOUXBH8W.js} +1 -1
  68. package/dist/web-dist/assets/{markdown-COKMRj9K.js → markdown-HYv7mtUU.js} +1 -1
  69. package/dist/web-dist/assets/{mdx-H6YCl9d8.js → mdx-CyR2pftH.js} +1 -1
  70. package/dist/web-dist/assets/mermaid-GHXKKRXX-BVKgPqVX.js +1 -0
  71. package/dist/web-dist/assets/{middleware-CEqbkwLH.js → middleware-z4uSElcP.js} +1 -1
  72. package/dist/web-dist/assets/{mips-BDOMMsh0.js → mips-BYotwMVA.js} +1 -1
  73. package/dist/web-dist/assets/{module-CYndhtxW.js → module-BcWVk-SL.js} +1 -1
  74. package/dist/web-dist/assets/{monaco-theme-CyGd7xOU.js → monaco-theme-BIjVxdNP.js} +4 -4
  75. package/dist/web-dist/assets/{msdax-Bt2yooL5.js → msdax-B5L4PZsP.js} +1 -1
  76. package/dist/web-dist/assets/{mysql-Bs8-d6RT.js → mysql-B58bnHpg.js} +1 -1
  77. package/dist/web-dist/assets/{objective-c-DZGYv99U.js → objective-c-CFqy6rAv.js} +1 -1
  78. package/dist/web-dist/assets/{pascal-FvUHIAld.js → pascal-CLsa5WGA.js} +1 -1
  79. package/dist/web-dist/assets/{pascaligo-DEr9uXJO.js → pascaligo-DziJFYKK.js} +1 -1
  80. package/dist/web-dist/assets/{perl-DfX9jvgM.js → perl-CmwL-QR-.js} +1 -1
  81. package/dist/web-dist/assets/{personal-preferences.store-BIcu6qr5.js → personal-preferences.store-D5exZVZQ.js} +1 -1
  82. package/dist/web-dist/assets/{pgsql-B12f-wRt.js → pgsql-Do7fvYVV.js} +1 -1
  83. package/dist/web-dist/assets/{php-MynGtmh0.js → php-Dj9jihN6.js} +1 -1
  84. package/dist/web-dist/assets/{pla-BSfIEgVT.js → pla-L8RfOkFM.js} +1 -1
  85. package/dist/web-dist/assets/{postiats-wriGJNMc.js → postiats-BXpJZeqC.js} +1 -1
  86. package/dist/web-dist/assets/{powerquery-qTNF5irm.js → powerquery-BXkVIUru.js} +1 -1
  87. package/dist/web-dist/assets/{powershell-Cr0AiP2J.js → powershell-DwW-M4zK.js} +1 -1
  88. package/dist/web-dist/assets/{preload-helper-DICoZAvL.js → preload-helper-ThWhQeFm.js} +1 -1
  89. package/dist/web-dist/assets/{protobuf-B5pCjOfx.js → protobuf-K907XPEr.js} +1 -1
  90. package/dist/web-dist/assets/{pug-BnGzsuEw.js → pug-C-RaYi9h.js} +1 -1
  91. package/dist/web-dist/assets/{python-Bd-J5HMt.js → python-CP4tLlJS.js} +1 -1
  92. package/dist/web-dist/assets/{qsharp-C-Z8Szjm.js → qsharp-CzL8Ss6l.js} +1 -1
  93. package/dist/web-dist/assets/queries.store-BY932Cz6.js +1 -0
  94. package/dist/web-dist/assets/query-runner-DE3oEoYe.js +17 -0
  95. package/dist/web-dist/assets/{r-lFEgLDol.js → r-CRucCfm1.js} +1 -1
  96. package/dist/web-dist/assets/{radix-ui-Bp71_UWp.js → radix-ui-C1Muznox.js} +7 -7
  97. package/dist/web-dist/assets/{razor-BL-2JJuP.js → razor-D5MHZkbo.js} +1 -1
  98. package/dist/web-dist/assets/react-HGZFyY1j.js +1 -0
  99. package/dist/web-dist/assets/{react-dom-ctQEFzyp.js → react-dom-DtHnGHi-.js} +5 -5
  100. package/dist/web-dist/assets/{redis-CJPiZ1dc.js → redis-D2ruGQTE.js} +1 -1
  101. package/dist/web-dist/assets/redis-value-DvqdrDxN.js +1 -0
  102. package/dist/web-dist/assets/{redshift-D1FKNo6F.js → redshift-ClhJ3UDf.js} +1 -1
  103. package/dist/web-dist/assets/{restructuredtext-BdtNntNZ.js → restructuredtext-CDSduErp.js} +1 -1
  104. package/dist/web-dist/assets/{rolldown-runtime-Ba77kUFP.js → rolldown-runtime-DglIe7XP.js} +1 -1
  105. package/dist/web-dist/assets/{ruby-C2uUAsPh.js → ruby-BOYci4GS.js} +1 -1
  106. package/dist/web-dist/assets/runner-CdvyQd_7.js +1 -0
  107. package/dist/web-dist/assets/{rust-B22jVKPi.js → rust-C6GsoKwD.js} +1 -1
  108. package/dist/web-dist/assets/{sb-H5-MsoWu.js → sb-Byu7SwWe.js} +1 -1
  109. package/dist/web-dist/assets/{scala-JHuRLUuq.js → scala-BXABW78T.js} +1 -1
  110. package/dist/web-dist/assets/schema-BG-MIF2O.js +1 -0
  111. package/dist/web-dist/assets/{scheme-CqKe-_5y.js → scheme-8OXsCVoc.js} +1 -1
  112. package/dist/web-dist/assets/{scss-C9ckl5Lm.js → scss-osYiZxfm.js} +1 -1
  113. package/dist/web-dist/assets/{select-Cg3fBZqb.js → select-DIrPycKO.js} +1 -1
  114. package/dist/web-dist/assets/{separator-B2Ii4cjw.js → separator-DXlD6ZPI.js} +1 -1
  115. package/dist/web-dist/assets/sheet-sidebar-K2TU7XMc.js +1 -0
  116. package/dist/web-dist/assets/{shell-C9lIrU5P.js → shell-xb0sqli5.js} +1 -1
  117. package/dist/web-dist/assets/{solidity-BdsCByFb.js → solidity-BaiP98Rq.js} +1 -1
  118. package/dist/web-dist/assets/{sophia-BiYQOR15.js → sophia-CQgWshwN.js} +1 -1
  119. package/dist/web-dist/assets/{sparql-CZhOhni4.js → sparql-XOTzL0Lh.js} +1 -1
  120. package/dist/web-dist/assets/{sql-DGoEI4nz.js → sql-DGJWoFiH.js} +1 -1
  121. package/dist/web-dist/assets/{st-DUBBkXkg.js → st-BD5QOETo.js} +1 -1
  122. package/dist/web-dist/assets/{swift-D_36y0eN.js → swift-lLfOkw1g.js} +1 -1
  123. package/dist/web-dist/assets/{systemverilog-BAtlR_WK.js → systemverilog-BYxoqTfR.js} +1 -1
  124. package/dist/web-dist/assets/table-DoAtaSpv.js +1 -0
  125. package/dist/web-dist/assets/{tanstack-HxB2LyLp.js → tanstack-DeB5Eprq.js} +4 -4
  126. package/dist/web-dist/assets/{tcl-D05MO8B_.js → tcl-BFpZjjdK.js} +1 -1
  127. package/dist/web-dist/assets/tooltip-B_5geL0k.js +1 -0
  128. package/dist/web-dist/assets/{tsMode-4FmdP9_o.js → tsMode-8DDkjaCA.js} +1 -1
  129. package/dist/web-dist/assets/{twig-CPq3SV5E.js → twig-Ds4bsmPZ.js} +1 -1
  130. package/dist/web-dist/assets/{typescript-CEcdsK9n.js → typescript-BD4P_hvn.js} +1 -1
  131. package/dist/web-dist/assets/{typespec-I6aAHcEc.js → typespec-DMwDmafU.js} +1 -1
  132. package/dist/web-dist/assets/{utils-CNXzeC6_.js → utils-vY5qZZPu.js} +1 -1
  133. package/dist/web-dist/assets/{vb-C6fWMOt8.js → vb-B3EULsLk.js} +1 -1
  134. package/dist/web-dist/assets/visualizer-CsdVT6fl.js +1 -0
  135. package/dist/web-dist/assets/{wgsl-CsswhpkD.js → wgsl-BCYPO-gR.js} +1 -1
  136. package/dist/web-dist/assets/workers-DiwDrKYe.js +1 -0
  137. package/dist/web-dist/assets/{xml-Clh3WxEv.js → xml-CPmvJeqm.js} +1 -1
  138. package/dist/web-dist/assets/{yaml--Kwp2ruw.js → yaml-CGAao1xZ.js} +1 -1
  139. package/dist/web-dist/index.html +23 -22
  140. package/package.json +5 -3
  141. package/dist/web-dist/assets/_pathlessLayout-D83hYFIC.js +0 -1
  142. package/dist/web-dist/assets/_pathlessLayout-DYRsUfs6.js +0 -2
  143. package/dist/web-dist/assets/_queryId-DmyRcSX-.js +0 -1
  144. package/dist/web-dist/assets/_table-CXzhHR9S.js +0 -1
  145. package/dist/web-dist/assets/_table-Cwy7lxKk.js +0 -1
  146. package/dist/web-dist/assets/_table-DaqO5XGq.js +0 -1
  147. package/dist/web-dist/assets/badge-Ckwkbv_3.js +0 -1
  148. package/dist/web-dist/assets/browser-dcbfhXDu.js +0 -1
  149. package/dist/web-dist/assets/cssMode-D_jEABO9.js +0 -1
  150. package/dist/web-dist/assets/database.store-C0jTx_DA.js +0 -57
  151. package/dist/web-dist/assets/highlighted-body-OFNGDK62-BU0nMuYA.js +0 -1
  152. package/dist/web-dist/assets/icons-BEkcNqUd.js +0 -1
  153. package/dist/web-dist/assets/index-CK2sj4Xy.css +0 -2
  154. package/dist/web-dist/assets/index-b6Apx1z7.js +0 -39
  155. package/dist/web-dist/assets/indexes-Cv0o_HTj.js +0 -1
  156. package/dist/web-dist/assets/json-editor-C9dFqjTV.js +0 -1
  157. package/dist/web-dist/assets/keys-o03XLuW4.js +0 -1
  158. package/dist/web-dist/assets/logs-Ncb6EFEi.js +0 -1
  159. package/dist/web-dist/assets/mermaid-GHXKKRXX-D3S70ynC.js +0 -1
  160. package/dist/web-dist/assets/queries.store-BbUkkWy1.js +0 -1
  161. package/dist/web-dist/assets/query-runner-DBIufzsZ.js +0 -17
  162. package/dist/web-dist/assets/react-BziCK5DU.js +0 -1
  163. package/dist/web-dist/assets/redis-value-rbj0L_ie.js +0 -1
  164. package/dist/web-dist/assets/runner-WhyDqbco.js +0 -1
  165. package/dist/web-dist/assets/schema-DdnQO20v.js +0 -1
  166. package/dist/web-dist/assets/sheet-sidebar-D8BG4Pf9.js +0 -1
  167. package/dist/web-dist/assets/spinner-gvrX8mkL.js +0 -1
  168. package/dist/web-dist/assets/table-Gq1Nd4WJ.js +0 -1
  169. package/dist/web-dist/assets/tooltip-CIAbgIn7.js +0 -12
  170. package/dist/web-dist/assets/visualizer-Cxu0_nai.js +0 -1
  171. package/dist/web-dist/assets/workers-CH8V5wKq.js +0 -1
@@ -0,0 +1 @@
1
+ import{g as n}from"./tanstack-DeB5Eprq.js";import{jt as o}from"./radix-ui-C1Muznox.js";import{et as s}from"./index-DvUqe2GZ.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};e.SENTRY_RELEASE={id:"db-studio@1.19.0"};var t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="01454382-6bc6-4cb3-8ee3-ab9583f871c3",e._sentryDebugIdIdentifier="sentry-dbid-01454382-6bc6-4cb3-8ee3-ab9583f871c3")}catch{}})();var r=o();function u(){return s()?.dataModel==="key-value"?(0,r.jsx)(n,{to:"/browser"}):(0,r.jsx)("main",{className:"flex-1 flex items-center justify-center",children:"Select a tab to get started"})}export{u as component};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chat-sidebar-Cq9VUD6G.js","assets/rolldown-runtime-DglIe7XP.js","assets/icons-D00FvbYk.js","assets/radix-ui-C1Muznox.js","assets/bundle-mjs-DnfzKk33.js","assets/utils-vY5qZZPu.js","assets/tooltip-B_5geL0k.js","assets/react-HGZFyY1j.js","assets/sheet-sidebar-K2TU7XMc.js","assets/label-r_iGrn1k.js","assets/constants-Ma2YHUjt.js","assets/database.store-1pbPyu5t.js","assets/preload-helper-ThWhQeFm.js","assets/separator-DXlD6ZPI.js","assets/index-DvUqe2GZ.js","assets/tanstack-DeB5Eprq.js","assets/react-dom-DtHnGHi-.js","assets/dist-BXhLQctj.js","assets/badge-DKcWcYUF.js","assets/select-DIrPycKO.js","assets/keys-BNEHyGRj.js","assets/middleware-z4uSElcP.js","assets/personal-preferences.store-D5exZVZQ.js","assets/index-De1y1AW6.css"])))=>i.map(i=>d[i]);
2
+ import{n as cs,r as ds}from"./rolldown-runtime-DglIe7XP.js";import{C as us,_ as se,d as ms,g as oe,h as Be,n as hs,s as te,y as me}from"./tanstack-DeB5Eprq.js";import{A as xs,Dt as fs,E as J,Ft as bs,L as ps,M as gs,N as He,Q as js,St as vs,T as qe,Tt as ys,V as Cs,W as Ns,X as Ue,Y as Ss,Z as ws,_ as ks,a as Ts,at as Es,b as we,et as Ds,f as _s,g as Rs,k as ke,lt as Is,m as Fs,nt as Os,p as As,pt as Ls,r as zs,s as Te,st as Ms,tt as Ps,v as $s,x as Ks,xt as Vs,yt as Oe}from"./icons-D00FvbYk.js";import{a as Qs,i as Bs,jt as Hs,n as qs,o as Us,r as Ws,t as Gs}from"./radix-ui-C1Muznox.js";import{n as M}from"./dist-BXhLQctj.js";import{t as T}from"./utils-vY5qZZPu.js";import{n as z,t as Ae}from"./label-r_iGrn1k.js";import{a as Z,i as Ee,n as De,o as C,t as _e}from"./tooltip-B_5geL0k.js";import{i as Ys,n as Xs,s as Zs,t as Js}from"./sheet-sidebar-K2TU7XMc.js";import{F as et,r as st,t as R}from"./constants-Ma2YHUjt.js";import{i as tt,t as We}from"./database.store-1pbPyu5t.js";import{t as at}from"./preload-helper-ThWhQeFm.js";import{c as rt,d as nt,f as lt,l as it,o as ot,p as ct,s as dt,t as ut,u as mt}from"./badge-DKcWcYUF.js";import{a as ae,i as re,n as ne,r as P,t as le}from"./select-DIrPycKO.js";import{t as ht}from"./keys-BNEHyGRj.js";import{r as xt,t as ft}from"./separator-DXlD6ZPI.js";import{r as Re}from"./personal-preferences.store-D5exZVZQ.js";import{A as Ge,B as Ne,D as bt,F as pt,H as Ye,I as Xe,L as Ze,M as gt,N as jt,O as F,Q as vt,R as yt,U as Je,V as es,W as ss,Z as Ct,_ as Nt,a as St,b as wt,ct as q,d as kt,dt as U,et as V,f as Tt,ft as W,h as Et,it as Dt,j as _t,lt as G,o as Rt,ot as ee,pt as It,q as Ie,s as Ft,st as Y,u as Ot,ut as X,v as B,w as At,x as H,y as Le,z as I}from"./index-DvUqe2GZ.js";import{t as he}from"./queries.store-BY932Cz6.js";import{i as Lt,n as ye,o as zt,r as Mt,s as Pt}from"./redis-value-DvqdrDxN.js";(function(){try{var s=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};s.SENTRY_RELEASE={id:"db-studio@1.19.0"};var t=new s.Error().stack;t&&(s._sentryDebugIds=s._sentryDebugIds||{},s._sentryDebugIds[t]="6440435e-414b-47a4-92ab-d65c80cadd02",s._sentryDebugIdIdentifier="sentry-dbid-6440435e-414b-47a4-92ab-d65c80cadd02")}catch{}})();var ze={AUTHOR:"Hüsam 🥑 <husam@ql3.dev>",AUTHOR_NAME:"Hüsam",AUTHOR_AVATAR:"/avocado.png",AUTHOR_USERNAME:"husamql3",AUTHOR_GITHUB_LINK:"https://github.com/husamql3",SITE_DESCRIPTION:"The modern pgAdmin alternative that works with every database.",SITE_KEYWORDS:["pgadmin alternative","database client","database gui","database browser","sql editor","postgresql client","mysql client","table editor","ai sql","er diagram"],SITE_TITLE:"db-studio",SITE_NAME:"dbstudio.sh",SITE_URL:"https://dbstudio.sh",SITE_X_LINK:"https://x.com/dbstudio_sh",SITE_GITHUB_LINK:"https://github.com/husamql3/db-studio",SITE_GITHUB_NEW_ISSUE_LINK:"https://github.com/husamql3/db-studio/issues/new/choose",SITE_DOCS_LINK:"https://dbstudio.sh/docs",SITE_CHANGELOG_LINK:"https://dbstudio.sh/changelog",SITE_ROADMAP_LINK:"https://dbstudio.sh/roadmap",SITE_IMAGE:"https://dbstudio.sh/og-image.png",SITE_IMAGE_WIDTH:"1200",SITE_IMAGE_HEIGHT:"630",SITE_IMAGE_ALT:"dbstudio.sh – Modern database management studio",SITE_COLOR:"#1447e6"},l=ds(bs(),1),$t=({enabled:s=!0}={})=>{const{data:t,isLoading:r,error:a,refetch:n}=us({queryKey:ht.rateLimit(),queryFn:async()=>(await et()).data,enabled:s});return{rateLimit:t,isLoadingRateLimit:r,errorRateLimit:a,refetchRateLimit:n}},ts={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},Me=l.createContext&&l.createContext(ts),Kt=["attr","size","title"];function Vt(s,t){if(s==null)return{};var r,a,n=Qt(s,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(s);for(a=0;a<i.length;a++)r=i[a],t.indexOf(r)===-1&&{}.propertyIsEnumerable.call(s,r)&&(n[r]=s[r])}return n}function Qt(s,t){if(s==null)return{};var r={};for(var a in s)if({}.hasOwnProperty.call(s,a)){if(t.indexOf(a)!==-1)continue;r[a]=s[a]}return r}function de(){return de=Object.assign?Object.assign.bind():function(s){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)({}).hasOwnProperty.call(r,a)&&(s[a]=r[a])}return s},de.apply(null,arguments)}function Pe(s,t){var r=Object.keys(s);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(s);t&&(a=a.filter(function(n){return Object.getOwnPropertyDescriptor(s,n).enumerable})),r.push.apply(r,a)}return r}function ue(s){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Pe(Object(r),!0).forEach(function(a){Bt(s,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(s,Object.getOwnPropertyDescriptors(r)):Pe(Object(r)).forEach(function(a){Object.defineProperty(s,a,Object.getOwnPropertyDescriptor(r,a))})}return s}function Bt(s,t,r){return(t=Ht(t))in s?Object.defineProperty(s,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):s[t]=r,s}function Ht(s){var t=qt(s,"string");return typeof t=="symbol"?t:t+""}function qt(s,t){if(typeof s!="object"||!s)return s;var r=s[Symbol.toPrimitive];if(r!==void 0){var a=r.call(s,t||"default");if(typeof a!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(s)}function as(s){return s&&s.map((t,r)=>l.createElement(t.tag,ue({key:r},t.attr),as(t.child)))}function Ut(s){return t=>l.createElement(Wt,de({attr:ue({},s.attr)},t),as(s.child))}function Wt(s){var t=r=>{var{attr:a,size:n,title:i}=s,c=Vt(s,Kt),o=n||r.size||"1em",m;return r.className&&(m=r.className),s.className&&(m=(m?m+" ":"")+s.className),l.createElement("svg",de({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},r.attr,a,c,{className:m,style:ue(ue({color:s.color||r.color},r.style),s.style),height:o,width:o,xmlns:"http://www.w3.org/2000/svg"}),i&&l.createElement("title",null,i),s.children)};return Me!==void 0?l.createElement(Me.Consumer,null,r=>t(r)):t(ts)}function Gt(s){return Ut({tag:"svg",attr:{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},child:[{tag:"path",attr:{d:"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4"},child:[]},{tag:"path",attr:{d:"M9 18c-4.51 2-5-2-7-2"},child:[]}]})(s)}var e=Hs(),Se=()=>at(()=>import("./chat-sidebar-Cq9VUD6G.js").then(s=>s.t),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23])),Yt=(0,l.lazy)(()=>Se().then(s=>({default:s.ChatSidebar}))),Xt=()=>{const{openOverlay:s,isOverlayOpen:t}=Z(),[r,a]=(0,l.useState)(!1);t("chat.assistant")&&!r&&a(!0);const{dbType:n}=We(),{provider:i}=kt(),c=Tt(Et),o=Ft(),m=c.status[i],h=m?.state==="set"||m?.state==="locked",{rateLimit:f,isLoadingRateLimit:g,errorRateLimit:x}=$t({enabled:o&&i==="gemini"&&!h}),{remaining:p=0,limit:d=0}=f??{remaining:0,limit:0},y=h?"bg-emerald-500":g||x?"bg-zinc-500":i!=="gemini"||p===0?"bg-red-500":p<=5?"bg-yellow-500":"bg-emerald-500";return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsxs)(_e,{children:[(0,e.jsx)(Ee,{asChild:!0,children:(0,e.jsxs)(C,{variant:"ghost",className:"rounded-none size-12 relative text-muted-foreground hover:text-foreground hover:bg-muted/60 transition-colors","aria-label":"Open AI assistant",onPointerEnter:Se,onFocus:Se,onClick:()=>{s("chat.assistant"),n&&tt.capture("chat_opened",{db_type:n})},children:[(0,e.jsx)(ks,{className:"size-5"}),(0,e.jsx)("span",{"data-testid":"chat-status-indicator",className:T("absolute top-2 right-2 h-2 w-2 rounded-full ring-2 ring-background",y)})]})}),(0,e.jsx)(De,{side:"right",className:"text-xs",children:h?(0,e.jsxs)("p",{children:["AI Assistant · personal ",i," key"]}):!g&&!x?p>0?(0,e.jsxs)("p",{children:[p,"/",d," messages remaining"]}):(0,e.jsx)("p",{children:"AI Assistant"}):(0,e.jsx)("p",{children:"AI status unavailable"})})]}),r&&(0,e.jsx)(l.Suspense,{children:(0,e.jsx)(Yt,{})})]})},Zt={table:_s,runner:Rs,schema:Is,indexes:ps,logs:Ks,visualizer:zs,browser:ws},xe="relative flex size-12 shrink-0 items-center justify-center text-muted-foreground transition-colors hover:bg-muted/60 hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring",fe=({label:s,children:t})=>(0,e.jsxs)(_e,{children:[(0,e.jsx)(Ee,{asChild:!0,children:t}),(0,e.jsx)(De,{side:"right",children:(0,e.jsx)("p",{className:"capitalize",children:s})})]}),Jt=()=>{const{pathname:s}=te(),t=me({strict:!1}),r=V(),a=s.split("/")[1]||"table",n=r?.dataModel==="key-value"?["browser","runner","logs"]:st.filter(o=>(o!=="indexes"||r?.indexes)&&(o!=="logs"||r?.serverLogs)),i=t.table,c=Ie();return n.map(o=>{const m=Zt[o],h=(o==="table"||o==="schema"||o==="indexes")&&i,f=a===o;return(0,e.jsx)(fe,{label:o,children:(0,e.jsx)(Be,{to:h?`/${o}/$table`:`/${o}`,params:h?{table:i}:void 0,search:h?{[R.TABLE_SCHEMA]:c}:void 0,"aria-label":o,"aria-current":f?"page":void 0,className:T(xe,f&&"bg-muted text-foreground"),children:(0,e.jsx)(m,{className:"size-5"})})},o)})},ea=()=>{const{sidebar:{isOpen:s},setSidebarOpen:t,setSidebarPinned:r}=Re();return(0,e.jsx)(fe,{label:s?"Hide sidebar":"Show sidebar",children:(0,e.jsx)("button",{type:"button","aria-label":"Toggle sidebar",className:xe,onClick:()=>{t(!s),r(!s)},children:(0,e.jsx)(xs,{className:"size-5"})})})},$e=[{value:"light",label:"Light",icon:As},{value:"dark",label:"Dark",icon:gs},{value:"system",label:"System",icon:He}],sa=()=>{const{theme:s,setTheme:t}=At(),r=$e.find(a=>a.value===s)?.icon??He;return(0,e.jsxs)(Xe,{children:[(0,e.jsx)(fe,{label:"More",children:(0,e.jsx)(ss,{asChild:!0,children:(0,e.jsx)("button",{type:"button","aria-label":"More",className:xe,children:(0,e.jsx)(Ds,{className:"size-5"})})})}),(0,e.jsxs)(Ze,{side:"right",align:"end",sideOffset:8,className:"w-48",children:[(0,e.jsxs)(es,{children:[(0,e.jsxs)(Je,{children:[(0,e.jsx)(r,{}),"Theme"]}),(0,e.jsx)(Ye,{children:$e.map(({value:a,label:n,icon:i})=>(0,e.jsxs)(I,{onClick:()=>t(a),children:[(0,e.jsx)(i,{}),n,s===a&&(0,e.jsx)(vs,{className:"ml-auto"})]},a))})]}),(0,e.jsx)(Ne,{}),(0,e.jsx)(I,{asChild:!0,children:(0,e.jsxs)("a",{href:ze.SITE_GITHUB_NEW_ISSUE_LINK,target:"_blank",rel:"noopener noreferrer",children:[(0,e.jsx)(ys,{}),"Report a bug"]})}),(0,e.jsx)(I,{asChild:!0,children:(0,e.jsxs)("a",{href:ze.SITE_GITHUB_LINK,target:"_blank",rel:"noopener noreferrer",children:[(0,e.jsx)(Gt,{}),"View on GitHub"]})})]})]})},Ke=()=>(0,e.jsx)("div",{className:"h-px w-full shrink-0 bg-border"}),ta=()=>{const{openOverlay:s}=Z();return(0,e.jsxs)("nav",{"aria-label":"Main",className:"flex shrink-0 flex-col border-r border-border bg-background",style:{width:R.RAIL_WIDTH},children:[(0,e.jsx)(ea,{}),(0,e.jsx)(Ke,{}),(0,e.jsx)(Jt,{}),(0,e.jsxs)("div",{className:"mt-auto flex flex-col",children:[(0,e.jsx)(Ke,{}),(0,e.jsx)(Xt,{}),(0,e.jsx)(fe,{label:"Settings",children:(0,e.jsx)("button",{type:"button","aria-label":"Open settings",className:xe,onClick:()=>s("settings.app"),children:(0,e.jsx)($s,{className:"size-5"})})}),(0,e.jsx)(sa,{})]})]})};function rs({...s}){return(0,e.jsx)(Bs,{"data-slot":"context-menu",...s})}function ns({className:s,...t}){return(0,e.jsx)(Us,{"data-slot":"context-menu-trigger",className:T("select-none",s),...t})}function ls({className:s,...t}){return(0,e.jsx)(Ws,{children:(0,e.jsx)(Gs,{"data-slot":"context-menu-content",className:T("data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 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 ring-foreground/10 bg-popover text-popover-foreground min-w-32 rounded-lg p-1 shadow-md ring-1 duration-100 z-50 max-h-(--radix-context-menu-content-available-height) origin-(--radix-context-menu-content-transform-origin) overflow-x-hidden overflow-y-auto",s),...t})})}function $({className:s,inset:t,variant:r="default",...a}){return(0,e.jsx)(qs,{"data-slot":"context-menu-item","data-inset":t,"data-variant":r,className:T("focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:text-destructive not-data-[variant=destructive]:focus:**:text-accent-foreground min-h-7 gap-2 rounded-md px-2 py-1 text-xs/relaxed [&_svg:not([class*='size-'])]:size-3.5 group/context-menu-item relative flex cursor-default items-center outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0",s),...a})}function Ve({className:s,...t}){return(0,e.jsx)(Qs,{"data-slot":"context-menu-separator",className:T("bg-border/50 -mx-1 my-1 h-px",s),...t})}var Ce=({folderId:s,isExpanded:t,onToggle:r,count:a,name:n,showContextMenu:i=!1})=>{const c=se(),{deleteFolder:o,getQueriesByFolder:m,addQuery:h,updateFolder:f}=he(),[g,x]=(0,l.useState)(!1),[p,d]=(0,l.useState)(""),[j,y]=(0,l.useState)(!1),b=(0,l.useCallback)(()=>{if(s){if(m(s).length>0){y(!0);return}o(s)}},[o,s,m]),w=(0,l.useCallback)(()=>{s&&(o(s),y(!1))},[o,s]),E=(0,l.useCallback)(()=>{const k=h(void 0,s);c({to:"/runner/$queryId",params:{queryId:k}})},[h,s,c]),u=(0,l.useCallback)(()=>{d(n),x(!0)},[n]),v=(0,l.useCallback)(()=>{s&&p.trim()&&(f(s,{name:p.trim()}),x(!1),d(""))},[s,p,f]);return(0,e.jsxs)(e.Fragment,{children:[i?(0,e.jsxs)(rs,{children:[(0,e.jsx)(ns,{asChild:!0,children:(0,e.jsxs)("button",{type:"button",onClick:r,className:T("w-full flex gap-2 px-4 py-2 text-sm transition-colors text-left","hover:bg-sidebar-accent/50 hover:text-sidebar-foreground focus:outline-none focus:bg-sidebar-accent focus:text-sidebar-accent-foreground","text-sidebar-foreground/70 items-center"),children:[(0,e.jsx)(Oe,{className:T("size-4 transition-transform duration-200",t?"rotate-90":"")}),(0,e.jsx)("span",{className:"flex-1",children:n}),(0,e.jsx)(ee,{children:a})]})}),(0,e.jsxs)(ls,{children:[(0,e.jsxs)($,{onClick:E,children:[(0,e.jsx)(J,{className:"size-4"}),"Add a new query"]}),(0,e.jsxs)($,{onClick:u,children:[(0,e.jsx)(ke,{className:"size-4"}),"Rename folder"]}),(0,e.jsxs)($,{onClick:b,children:[(0,e.jsx)(Te,{className:"size-4"}),"Delete folder"]})]})]}):(0,e.jsxs)("button",{type:"button",onClick:r,className:T("w-full flex gap-2 px-4 py-2 text-sm transition-colors text-left","hover:bg-sidebar-accent/50 hover:text-sidebar-foreground focus:outline-none focus:bg-sidebar-accent focus:text-sidebar-accent-foreground","text-sidebar-foreground/70 items-center"),children:[(0,e.jsx)(Oe,{className:T("size-4 transition-transform duration-200",t?"rotate-90":"")}),(0,e.jsx)("span",{className:"flex-1",children:n}),(0,e.jsx)(ee,{children:a})]}),(0,e.jsx)(Y,{open:g,onOpenChange:x,children:(0,e.jsxs)(q,{children:[(0,e.jsxs)(U,{children:[(0,e.jsx)(W,{children:"Rename Folder"}),(0,e.jsx)(G,{children:"Enter a new name for this folder."})]}),(0,e.jsx)(z,{value:p,onChange:k=>d(k.target.value),placeholder:"Folder name",onKeyDown:k=>{k.key==="Enter"&&v()},autoFocus:!0}),(0,e.jsxs)(X,{children:[(0,e.jsx)(C,{variant:"outline",onClick:()=>{x(!1),d("")},children:"Cancel"}),(0,e.jsx)(C,{onClick:v,disabled:!p.trim(),children:"Rename"})]})]})}),(0,e.jsx)(ot,{open:j,onOpenChange:y,children:(0,e.jsxs)(it,{children:[(0,e.jsxs)(lt,{children:[(0,e.jsx)(ct,{children:"Delete Folder"}),(0,e.jsxs)(mt,{children:["This folder contains ",a," ",a===1?"query":"queries",". Deleting this folder will also delete all queries inside it. This action cannot be undone."]})]}),(0,e.jsxs)(nt,{children:[(0,e.jsx)(rt,{children:"Cancel"}),(0,e.jsx)(dt,{onClick:w,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"Delete Folder"})]})]})})]})},ce=({id:s,tableName:t,isNested:r=!1,showContextMenu:a=!0})=>{const n=se(),{deleteQuery:i,addQuery:c,getQuery:o,toggleFavorite:m,updateQuery:h,moveQuery:f,folders:g,addFolder:x}=he(),{queryId:p}=me({strict:!1}),d=p===s,j=o(s),y=j?.isFavorite??!1,[b,w]=(0,l.useState)(!1),[E,u]=(0,l.useState)(""),[v,k]=(0,l.useState)(!1),[Q,O]=(0,l.useState)(void 0),[A,D]=(0,l.useState)(!1),[_,L]=(0,l.useState)(""),ie=(0,l.useCallback)(()=>{n({to:"/runner/$queryId",params:{queryId:s}})},[n,s]),be=(0,l.useCallback)(()=>{i(s),p===s&&n({to:"/runner"}),M.success("Query deleted successfully")},[i,s,n,p]),pe=(0,l.useCallback)(()=>{const N=o(s),os=c(`${N?.name} (Copy)`);n({to:"/runner/$queryId",params:{queryId:os}}),M.success("Query duplicated successfully")},[c,o,n,s]),ge=(0,l.useCallback)(()=>{m(s),M.success("Query favorited successfully")},[m,s]),je=(0,l.useCallback)(()=>{u(j?.name??""),w(!0)},[j?.name]),S=(0,l.useCallback)(()=>{E.trim()&&(h(s,{name:E.trim()}),w(!1),u(""),M.success("Query renamed successfully"))},[s,E,h]),ve=(0,l.useCallback)(()=>{O(j?.folderId),D(!1),L(""),k(!0)},[j?.folderId]),is=(0,l.useCallback)(N=>{N==="__create_new__"?(D(!0),O(void 0)):(D(!1),O(N==="__none__"?void 0:N))},[]),Fe=(0,l.useCallback)(()=>{if(A&&_.trim()){const N=Math.random().toString(36).substring(2,15);x({id:N,name:_.trim(),isExpanded:!0,isFavorite:!1}),f(s,N),M.success("Query moved to new folder successfully")}else A||(f(s,Q),M.success("Query moved to selected folder successfully"));k(!1),D(!1),L(""),O(void 0)},[A,_,Q,s,x,f]);return(0,e.jsxs)("li",{className:"relative",children:[a?(0,e.jsxs)(rs,{children:[(0,e.jsx)(ns,{asChild:!0,children:(0,e.jsxs)("button",{type:"button",onClick:ie,className:T("w-full flex gap-2 py-2 text-sm transition-colors text-left justify-start items-center focus:outline-none",d?"text-sidebar-accent-foreground bg-sidebar-accent font-medium":"text-sidebar-foreground/70 hover:text-sidebar-foreground hover:bg-sidebar-accent/50 focus:bg-sidebar-accent focus:text-sidebar-accent-foreground",r?"px-4 pl-12":"px-4"),children:[d&&(0,e.jsx)("span",{className:"absolute left-0 top-0 bottom-0 w-1 bg-primary"}),(0,e.jsx)("span",{className:"flex-1",children:t})]})}),(0,e.jsxs)(ls,{children:[(0,e.jsxs)($,{onClick:je,children:[(0,e.jsx)(ke,{className:"size-4"}),"Rename query"]}),(0,e.jsxs)($,{onClick:pe,children:[(0,e.jsx)(Ms,{className:"size-4"}),"Duplicate query"]}),(0,e.jsxs)($,{onClick:ge,children:[(0,e.jsx)(Fs,{className:y?"size-4 fill-current":"size-4"}),y?"Remove from favorites":"Add to favorites"]}),(0,e.jsx)(Ve,{}),(0,e.jsxs)($,{onClick:ve,children:[(0,e.jsx)(Ss,{className:"size-4"}),"Move to folder"]}),(0,e.jsx)(Ve,{}),(0,e.jsxs)($,{onClick:be,children:[(0,e.jsx)(Te,{className:"size-4"}),"Delete query"]})]})]}):(0,e.jsxs)("button",{type:"button",onClick:ie,className:T("w-full flex gap-2 py-2 text-sm transition-colors text-left justify-start items-center focus:outline-none",d?"text-sidebar-accent-foreground bg-sidebar-accent font-medium":"text-sidebar-foreground/70 hover:text-sidebar-foreground hover:bg-sidebar-accent/50 focus:bg-sidebar-accent focus:text-sidebar-accent-foreground",r?"px-4 pl-12":"px-4"),children:[d&&(0,e.jsx)("span",{className:"absolute left-0 top-0 bottom-0 w-1 bg-primary"}),(0,e.jsx)("span",{className:"flex-1",children:t})]}),(0,e.jsx)(Y,{open:b,onOpenChange:w,children:(0,e.jsxs)(q,{children:[(0,e.jsxs)(U,{children:[(0,e.jsx)(W,{children:"Rename Query"}),(0,e.jsx)(G,{children:"Enter a new name for this query."})]}),(0,e.jsx)(z,{value:E,onChange:N=>u(N.target.value),placeholder:"Query name",onKeyDown:N=>{N.key==="Enter"&&S()},autoFocus:!0}),(0,e.jsxs)(X,{children:[(0,e.jsx)(C,{variant:"outline",onClick:()=>{w(!1),u("")},children:"Cancel"}),(0,e.jsx)(C,{onClick:S,disabled:!E.trim(),children:"Rename"})]})]})}),(0,e.jsx)(Y,{open:v,onOpenChange:N=>{k(N),N||(D(!1),L(""),O(void 0))},children:(0,e.jsxs)(q,{children:[(0,e.jsxs)(U,{children:[(0,e.jsx)(W,{children:"Move to Folder"}),(0,e.jsx)(G,{children:"Select a folder to move this query to."})]}),(0,e.jsx)("div",{className:"space-y-4",children:A?(0,e.jsx)(z,{value:_,onChange:N=>L(N.target.value),placeholder:"Folder name",onKeyDown:N=>{N.key==="Enter"&&_.trim()&&Fe(),N.key==="Escape"&&(D(!1),L(""))},autoFocus:!0}):(0,e.jsxs)(le,{value:Q??"__none__",onValueChange:is,children:[(0,e.jsx)(re,{className:"w-full",children:(0,e.jsx)(ae,{placeholder:"Select a folder"})}),(0,e.jsxs)(ne,{children:[(0,e.jsx)(P,{value:"__none__",children:"No folder"}),g.map(N=>(0,e.jsx)(P,{value:N.id,children:N.name},N.id)),(0,e.jsx)(P,{value:"__create_new__",children:(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsx)(Ue,{className:"size-4"}),"Create a new folder"]})})]})]})}),(0,e.jsxs)(X,{children:[(0,e.jsx)(C,{variant:"outline",onClick:()=>{k(!1),D(!1),L(""),O(void 0)},children:"Cancel"}),(0,e.jsx)(C,{onClick:Fe,disabled:A&&!_.trim(),children:A?"Create & Move":"Move"})]})]})})]})},aa=()=>{const[s]=F(R.SIDEBAR_SEARCH,{defaultValue:""}),{folders:t,queries:r,getFavoriteQueries:a,getQueriesByFolder:n,toggleFolder:i}=he(),[c,o]=(0,l.useState)(!0),[m,h]=(0,l.useState)(!0),f=r.filter(d=>!d.isFavorite).length,g=a(),x=g.length,p=r.filter(d=>!d.folderId&&!d.isFavorite);if(s){const d=r.filter(j=>j.name.toLowerCase().includes(s.toLowerCase()));return d.length===0?(0,e.jsx)("div",{className:"flex-1 overflow-y-auto p-4",children:"No queries found matching"}):(0,e.jsx)("div",{className:"flex-1 overflow-y-auto",children:d.map(j=>(0,e.jsx)(ce,{id:j.id,tableName:j.name},j.id))})}return(0,e.jsxs)("div",{className:"flex-1 overflow-y-auto",children:[(0,e.jsx)(Ce,{name:"Favorites",isExpanded:c,onToggle:()=>o(!c),count:x}),c&&g.map(d=>(0,e.jsx)(ce,{id:d.id,tableName:d.name},d.id)),(0,e.jsx)(ft,{className:"bg-sidebar-border"}),(0,e.jsx)(Ce,{name:"Queries",isExpanded:m,onToggle:()=>h(!m),count:f}),m&&(0,e.jsxs)(e.Fragment,{children:[t.map(d=>{const j=n(d.id),y=j.length;return(0,e.jsxs)("div",{children:[(0,e.jsx)(Ce,{folderId:d.id,name:d.name,isExpanded:d.isExpanded,onToggle:()=>i(d.id),count:y,showContextMenu:!0}),d.isExpanded&&j.map(b=>(0,e.jsx)(ce,{id:b.id,tableName:b.name,isNested:!0,showContextMenu:!0},b.id))]},d.id)}),p.map(d=>(0,e.jsx)(ce,{id:d.id,tableName:d.name,showContextMenu:!0},d.id))]})]})},ra=()=>{const{addQuery:s,addFolder:t}=he(),r=se(),a=(0,l.useRef)(null),[n,i]=F(R.SIDEBAR_SEARCH,{defaultValue:""}),c=h=>{i(h.target.value)},o=()=>{const h=s();r({to:"/runner/$queryId",params:{queryId:h}})},m=()=>{const h=Math.random().toString(36).substring(2,15);t({id:h,name:"New Folder",isExpanded:!0,isFavorite:!1})};return(0,e.jsxs)("div",{className:"p-3 space-y-2 border-b border-sidebar-border",children:[(0,e.jsxs)("div",{className:"flex gap-2",children:[(0,e.jsxs)(C,{className:"flex-1 justify-start h-8",onClick:o,children:[(0,e.jsx)(J,{className:"size-4"}),"Add Query"]}),(0,e.jsxs)(C,{className:"flex-1 justify-start h-8",onClick:m,children:[(0,e.jsx)(Ue,{className:"size-4"}),"Add Folder"]})]}),(0,e.jsxs)("div",{className:"relative",children:[(0,e.jsx)(we,{className:"absolute left-2 top-1/2 -translate-y-1/2 size-4 text-muted-foreground"}),(0,e.jsx)(z,{ref:a,placeholder:"Search queries",value:n??"",onChange:c,className:"rounded-sm h-8 pl-8 pr-8"}),(0,e.jsx)(ee,{className:"absolute right-2 top-1/2 -translate-y-1/2 text-xs",children:"/"})]})]})},na=()=>(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(ra,{}),(0,e.jsx)(aa,{})]}),la=({tableName:s,schemaName:t})=>{const r=se(),a=me({strict:!1}),{pathname:n}=te(),i=Ie(),{copyTableSchema:c,isCopyingSchema:o}=Dt(),{exportFile:m,isExportingFile:h}=gt(),{deleteTable:f,forceDeleteTable:g,isDeletingTable:x}=jt(),{renameTable:p,isRenamingTable:d}=_t({tableName:s,schemaName:t}),{openOverlay:j,closeOverlay:y,isOverlayOpen:b}=Z(),{setEditingTable:w}=vt(),E=pt(),[u,v]=(0,l.useState)(s),[k,Q]=(0,l.useState)([]),O=t?`${t}.${s}`:s,A=`tables.rename-table.${O}`,D=`tables.delete-table.${O}`,_=`tables.force-delete-table.${O}`,L=S=>{S?(v(s),j(A)):y(A)},ie=async()=>{const S=u.trim();if(!(!S||S===s))try{if(await p({newTableName:S,schemaName:t}),L(!1),a.table===s&&i===t){const ve=n.startsWith("/schema")?"/schema/$table":n.startsWith("/indexes")?"/indexes/$table":"/table/$table";r({to:ve,params:{table:S},search:{[R.TABLE_SCHEMA]:t}})}}catch{}},be=()=>{navigator.clipboard.writeText(s),M.success("Table name copied to clipboard")},pe=async()=>{const S=await f(s,t);S.fkViolation?(Q(S.relatedRecords),y(D),j(_)):(y(D),r({to:"/"}))},ge=async()=>{await g(s,t),y(_),r({to:"/"})},je=()=>{y(_),Q([])};return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsxs)(Xe,{children:[(0,e.jsx)(ss,{asChild:!0,children:(0,e.jsx)(C,{variant:"ghost",size:"icon-sm",onClick:S=>{S.stopPropagation(),S.preventDefault()},onPointerDown:S=>{S.stopPropagation()},children:(0,e.jsx)(Ps,{})})}),(0,e.jsx)(Ze,{className:"w-56",align:"start",children:(0,e.jsxs)(yt,{children:[(0,e.jsxs)(I,{onClick:be,children:[(0,e.jsx)(Ls,{className:"size-4"}),"Copy name"]}),(0,e.jsxs)(I,{onClick:()=>c(s,t),disabled:o,children:[(0,e.jsx)(js,{className:"size-4"}),"Copy table schema"]}),(0,e.jsx)(Ne,{}),(0,e.jsxs)(I,{onClick:()=>L(!0),children:[(0,e.jsx)(Ts,{className:"size-4"}),"Rename table"]}),!E&&(0,e.jsxs)(I,{onClick:()=>{w({tableName:s,schemaName:t}),j("schema.edit-table")},children:[(0,e.jsx)(ke,{className:"size-4"}),"Edit table"]}),(0,e.jsxs)(es,{children:[(0,e.jsxs)(Je,{children:[(0,e.jsx)(Os,{className:"size-4"}),"Export data"]}),(0,e.jsxs)(Ye,{children:[(0,e.jsx)(I,{onClick:()=>m({tableName:s,schemaName:t,format:"csv"}),disabled:h,children:"Export as CSV"}),(0,e.jsx)(I,{onClick:()=>m({tableName:s,schemaName:t,format:"json"}),disabled:h,children:"Export as JSON"}),(0,e.jsx)(I,{onClick:()=>m({tableName:s,schemaName:t,format:"xlsx"}),disabled:h,children:"Export as Excel"})]})]}),(0,e.jsx)(Ne,{}),(0,e.jsxs)(I,{variant:"destructive",onClick:()=>j(D),children:[(0,e.jsx)(Te,{className:"size-4"}),"Delete table"]})]})})]}),(0,e.jsx)(ia,{tableName:s,newTableName:u,setNewTableName:v,isOpen:b(A),onOpenChange:L,onRename:ie,isRenaming:d}),(0,e.jsx)(oa,{isOpen:b(D),onOpenChange:S=>{S||y(D)},tableName:s,onDelete:pe,isDeleting:x}),(0,e.jsx)(ca,{isOpen:b(_),onOpenChange:S=>{S||y(_)},tableName:s,relatedRecords:k,onForceDelete:ge,onCancel:je,isDeleting:x})]})},ia=({tableName:s,newTableName:t,setNewTableName:r,isOpen:a,onOpenChange:n,onRename:i,isRenaming:c})=>{const o=t.trim(),m=!o||o===s;return(0,e.jsx)(Y,{open:a,onOpenChange:n,children:(0,e.jsxs)(q,{className:"max-w-md",children:[(0,e.jsxs)(U,{children:[(0,e.jsx)(W,{children:"Rename Table"}),(0,e.jsx)(G,{children:"Update the table name while keeping all data and schema unchanged."})]}),(0,e.jsxs)("div",{className:"space-y-4",children:[(0,e.jsxs)("div",{className:"space-y-2",children:[(0,e.jsx)(Ae,{htmlFor:"current-table-name",children:"Current name"}),(0,e.jsx)(z,{id:"current-table-name",value:s,readOnly:!0,disabled:!0})]}),(0,e.jsxs)("div",{className:"space-y-2",children:[(0,e.jsx)(Ae,{htmlFor:"new-table-name",children:"New name"}),(0,e.jsx)(z,{id:"new-table-name",value:t,onChange:h=>r(h.target.value),placeholder:"table_name",autoFocus:!0,disabled:c,onKeyDown:h=>{h.key==="Enter"&&!m&&!c&&i()}})]})]}),(0,e.jsxs)(X,{className:"gap-2",children:[(0,e.jsx)(C,{variant:"outline",onClick:()=>n(!1),disabled:c,children:"Cancel"}),(0,e.jsx)(C,{onClick:i,disabled:m||c,children:c?"Renaming...":"Rename Table"})]})]})})},oa=({isOpen:s,onOpenChange:t,tableName:r,onDelete:a,isDeleting:n})=>(0,e.jsx)(Y,{open:s,onOpenChange:t,children:(0,e.jsxs)(q,{className:"max-w-md",children:[(0,e.jsxs)(U,{children:[(0,e.jsx)(W,{children:"Delete Table"}),(0,e.jsxs)(G,{children:["Are you sure you want to delete the table"," ",(0,e.jsxs)("span",{className:"font-semibold text-foreground",children:['"',r,'"']}),"? This action cannot be undone and all data will be permanently lost."]})]}),(0,e.jsxs)(X,{className:"gap-2",children:[(0,e.jsx)(C,{variant:"outline",onClick:()=>t(!1),disabled:n,children:"Cancel"}),(0,e.jsx)(C,{variant:"destructive",onClick:a,disabled:n,children:n?"Deleting...":"Delete Table"})]})]})}),ca=({isOpen:s,onOpenChange:t,tableName:r,relatedRecords:a,onForceDelete:n,onCancel:i,isDeleting:c})=>(0,e.jsx)(Y,{open:s,onOpenChange:t,children:(0,e.jsxs)(q,{className:"max-w-xl! max-h-[calc(100vh-1rem)]!",children:[(0,e.jsxs)(U,{children:[(0,e.jsx)(W,{children:"Cannot Delete - Foreign Key Constraint"}),(0,e.jsxs)(G,{children:["The table ",(0,e.jsxs)("span",{className:"font-semibold text-foreground",children:['"',r,'"']})," ","cannot be deleted because it is referenced by records in other tables. You can either cancel the operation or force delete, which will also delete all related records."]})]}),(0,e.jsx)("div",{className:"space-y-4 max-h-64 overflow-y-auto",children:a.map((o,m)=>(0,e.jsxs)("div",{className:"border border-border rounded-md p-3",children:[(0,e.jsxs)("div",{className:"font-medium text-sm mb-2",children:["Table: ",(0,e.jsx)("span",{className:"text-primary",children:o.tableName}),(0,e.jsxs)("span",{className:"text-muted-foreground ml-2",children:["(",o.records.length," record",o.records.length!==1?"s":"",")"]})]}),(0,e.jsxs)("div",{className:"text-xs text-muted-foreground mb-2",children:["References column: ",o.columnName]}),(0,e.jsx)("div",{className:"bg-muted rounded p-2 text-xs overflow-x-auto",children:(0,e.jsxs)("pre",{className:"whitespace-pre-wrap",children:[JSON.stringify(o.records.slice(0,5),null,2),o.records.length>5&&(0,e.jsxs)("div",{className:"text-muted-foreground mt-2",children:["... and ",o.records.length-5," more"]})]})})]},`${o.tableName}-${o.columnName}-${m}`))}),(0,e.jsxs)(X,{className:"gap-2",children:[(0,e.jsx)(C,{variant:"outline",onClick:i,disabled:c,children:"Cancel"}),(0,e.jsx)(C,{variant:"destructive",onClick:n,disabled:c,children:c?"Deleting...":"Force Delete All"})]})]})}),da=({tableName:s,rowCount:t,rowCountEstimated:r,schemaName:a})=>{const n=me({strict:!1}),{pathname:i}=te(),c=n.table,[o,m]=F(R.ACTIVE_TABLE),h=i.startsWith("/visualizer"),f=Nt({schemaName:a,tableName:s}),g=Ie(),x=h?o===f:c===s&&(g===void 0||g===a),p=i.startsWith("/schema")?"/schema/$table":i.startsWith("/indexes")?"/indexes/$table":"/table/$table",d=(0,e.jsxs)("span",{className:"flex-1 truncate",children:[a&&a!=="public"?`${a}.`:"",s]});return(0,e.jsxs)("li",{className:"relative group",children:[x&&(0,e.jsx)("span",{className:"absolute left-0 top-0 bottom-0 w-1 bg-primary z-10"}),(0,e.jsxs)("div",{className:T("w-full flex gap-0.5 pl-4 pr-2 py-1.5 text-sm transition-colors text-left justify-start items-center focus:outline-none",x?"text-sidebar-accent-foreground bg-sidebar-accent font-medium":"text-sidebar-foreground/70 hover:text-sidebar-foreground hover:bg-sidebar-accent/50 focus:bg-sidebar-accent focus:text-sidebar-accent-foreground"),children:[h?(0,e.jsx)("button",{type:"button",onClick:()=>{m(f)},className:"flex-1 flex items-center gap-1 min-w-0 text-left focus:outline-none",children:d}):(0,e.jsx)(Be,{to:p,params:{table:s},search:{[R.TABLE_SCHEMA]:a},className:"flex-1 flex items-center gap-1 min-w-0 focus:outline-none",children:d}),(0,e.jsxs)("div",{className:"flex items-center gap-1 h-5 shrink-0",children:[(0,e.jsx)("div",{className:T(x?"opacity-100":"opacity-0 group-hover:opacity-100 focus-within:opacity-100"),children:(0,e.jsx)(la,{tableName:s,schemaName:a})}),(0,e.jsxs)(ee,{children:[r&&"~",t]})]})]})]})},ua=()=>{const[s]=F(R.SIDEBAR_SEARCH,{defaultValue:""}),[t,r]=F(R.ACTIVE_SCHEMA,{defaultValue:"all"}),a=V(),{tablesList:n=[],isLoadingTablesList:i,errorTablesList:c}=Ge(),o=(0,l.useMemo)(()=>Array.from(new Set(n.reduce((f,g)=>(g.schemaName&&f.push(g.schemaName),f),[]))).sort(),[n]),m=(a?.schemaSelector??!1)&&o.length>1,h=n?.filter(f=>{const g=t==="all"||f.schemaName===t,x=f.tableName.toLowerCase().includes(s.toLowerCase());return g&&x});return(0,l.useEffect)(()=>{!m||t==="all"||o.includes(t)||r("all")},[o,t,r,m]),i?(0,e.jsx)("div",{className:"flex-1 h-full overflow-y-auto pb-3 flex items-center justify-center",children:(0,e.jsx)(It,{size:"size-6"})}):c?(0,e.jsxs)("div",{className:"flex-1 overflow-y-auto pb-3 h-full flex items-center justify-center",children:["Error: ",c.message]}):(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("div",{className:"flex-1 overflow-y-auto pb-3",children:h&&h.length>0?(0,e.jsx)("ul",{children:h?.map(f=>(0,e.jsx)(da,{schemaName:f.schemaName,tableName:f.tableName,rowCount:f.rowCount,rowCountEstimated:f.rowCountEstimated},f.schemaName?`${f.schemaName}.${f.tableName}`:f.tableName))}):s?(0,e.jsx)("div",{className:"flex-1 overflow-y-auto pb-3 h-full flex items-center justify-center",children:"No tables found matching"}):(0,e.jsx)("div",{className:"flex-1 overflow-y-auto pb-3 h-full flex items-center justify-center",children:"No tables available"})}),(0,e.jsx)(Ct,{})]})},ma=()=>{const s=(0,l.useRef)(null),[t,r]=F(R.SIDEBAR_SEARCH,{defaultValue:""}),{openOverlay:a}=Z(),n=V();return bt("/",i=>{i.preventDefault(),s.current&&s.current.focus()},{preventDefault:!0}),(0,e.jsx)("div",{className:"px-3 pb-3 pt-2 space-y-2",children:(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsxs)("div",{className:"relative min-w-0 flex-1",children:[(0,e.jsx)(we,{className:"absolute left-2 top-1/2 -translate-y-1/2 size-4 text-muted-foreground"}),(0,e.jsx)(z,{ref:s,variant:"outline",placeholder:"Search tables",value:t??"",onChange:i=>r(i.target.value.trim()),className:"rounded-sm h-8 pl-8 pr-8"}),(0,e.jsx)(ee,{className:"absolute right-2 top-1/2 -translate-y-1/2 text-xs",children:"/"})]}),n?.dataModel!=="document"&&(0,e.jsx)(C,{size:"icon-lg",className:"shrink-0 rounded-sm",onClick:()=>a("table-builder.create-table"),"aria-label":"Add table",children:(0,e.jsx)(J,{className:"size-4"})})]})})},ha=()=>{const[s,t]=F(R.ACTIVE_SCHEMA,{defaultValue:"all"}),r=V(),{tablesList:a=[]}=Ge(),n=(0,l.useMemo)(()=>Array.from(new Set(a.reduce((i,c)=>(c.schemaName&&i.push(c.schemaName),i),[]))).sort(),[a]);return(r?.schemaSelector??!1)&&n.length>1?(0,e.jsx)("div",{className:"px-3 pt-3",children:(0,e.jsxs)(le,{value:s,onValueChange:t,children:[(0,e.jsx)(re,{variant:"outline",className:"h-8! w-full justify-between rounded-sm",children:(0,e.jsx)(ae,{placeholder:"Select schema"})}),(0,e.jsxs)(ne,{children:[(0,e.jsx)(P,{value:"all",children:"All schemas"}),n.map(i=>(0,e.jsx)(P,{value:i,children:i},i))]})]})}):null},Qe=()=>(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(ha,{}),(0,e.jsx)(ma,{}),(0,e.jsx)(xt,{className:"flex-1 overflow-y-auto pb-3 block h-full w-full",children:(0,e.jsx)(ua,{})})]});function xa(){const{databases:s,isLoadingDatabases:t,refetchDatabases:r,isRefetchingDatabases:a}=Rt(),{connectionInfo:n,isLoadingConnectionInfo:i}=St(),{selectedDatabase:c,setSelectedDatabase:o}=We(),m=V(),h=se(),[f,g]=(0,l.useState)(!1),x=d=>{o(d),h({to:m?.dataModel==="key-value"?"/browser":"/table",search:{}})},p=async()=>{await r(),M.success("Databases refreshed")};return(0,e.jsx)("div",{className:"mt-auto border-t border-sidebar-border bg-sidebar text-sidebar-foreground",children:(0,e.jsxs)("div",{className:"p-4 space-y-2",children:[(0,e.jsxs)("div",{className:"space-y-2",children:[(0,e.jsxs)("div",{className:"flex items-center justify-between",children:[(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsx)(Es,{className:"size-4 text-muted-foreground"}),(0,e.jsx)("span",{className:"text-sm font-medium",children:"Database"})]}),(0,e.jsxs)(_e,{children:[(0,e.jsx)(Ee,{asChild:!0,children:(0,e.jsx)(C,{variant:"ghost",size:"icon",className:"size-6 hover:bg-accent",onClick:p,disabled:t||a,children:(0,e.jsx)(qe,{className:T("size-3.5",(t||a)&&"animate-spin")})})}),(0,e.jsx)(De,{children:"Refresh databases"})]})]}),(0,e.jsxs)(le,{value:c||"",onValueChange:x,children:[(0,e.jsx)(re,{className:"h-9 text-xs font-mono w-full",disabled:t||a,children:(0,e.jsx)(ae,{placeholder:"Select database..."})}),(0,e.jsx)(ne,{children:s?.map(d=>(0,e.jsx)(P,{value:d.name,className:"font-mono text-xs",children:d.name},d.name))})]})]}),(0,e.jsxs)("div",{className:"space-y-2",children:[(0,e.jsxs)(C,{variant:"ghost",className:"w-full hover:bg-accent flex items-center justify-between",onClick:()=>g(!f),disabled:i||a,children:[(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsx)("div",{className:"flex items-center justify-center",children:(0,e.jsxs)("div",{className:"relative flex size-2",children:[(0,e.jsx)("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full bg-green-400 opacity-75"}),(0,e.jsx)("span",{className:"relative inline-flex rounded-full size-2 bg-green-500"})]})}),(0,e.jsx)("span",{className:"text-xs font-medium text-green-600",children:"Connected"})]}),(0,e.jsx)(Vs,{className:T("size-3 text-muted-foreground transition-transform",f&&"rotate-180")})]}),f&&n&&(0,e.jsxs)("div",{className:"space-y-1.5 p-2 rounded-md bg-muted/30",children:[(0,e.jsxs)("div",{className:"flex justify-between items-center",children:[(0,e.jsx)("span",{className:"text-xs text-muted-foreground",children:"Host"}),(0,e.jsxs)("span",{className:"text-xs font-mono text-foreground",children:[n.host,":",n.port]})]}),(0,e.jsxs)("div",{className:"flex justify-between items-center",children:[(0,e.jsx)("span",{className:"text-xs text-muted-foreground",children:"User"}),(0,e.jsx)("span",{className:"text-xs font-mono text-foreground",children:n.user})]}),(0,e.jsxs)("div",{className:"flex justify-between items-center",children:[(0,e.jsx)("span",{className:"text-xs text-muted-foreground",children:"Databases"}),(0,e.jsx)("span",{className:"text-xs font-mono font-medium text-foreground",children:s?.length||0})]})]})]})]})})}var fa=({children:s})=>{const{sidebar:{width:t,isOpen:r,isPinned:a},setSidebarWidth:n,setSidebarOpen:i}=Re(),c=(0,l.useRef)(!1),o=(0,l.useRef)(0),m=(0,l.useRef)(0),h=(0,l.useRef)(null),f=(0,l.useRef)(u=>{}),g=(0,l.useRef)(()=>{}),x=(0,l.useRef)(()=>{}),p=(0,l.useRef)(()=>{}),d=(0,l.useCallback)(u=>{c.current&&requestAnimationFrame(()=>{const v=u.clientX-o.current,k=m.current+v;n(k)})},[n]),j=(0,l.useCallback)(()=>{c.current=!1,Object.assign(document.body.style,{cursor:"",userSelect:""});const u=document.getElementById("resize-overlay");u&&u.remove()},[]),y=(0,l.useCallback)(u=>{u.preventDefault(),c.current=!0,o.current=u.clientX,m.current=t,Object.assign(document.body.style,{cursor:"col-resize",userSelect:"none"});const v=document.createElement("div");v.id="resize-overlay",v.style.cssText="position:fixed;inset:0;z-index:9999;cursor:col-resize;",document.body.appendChild(v)},[t]),b=(0,l.useCallback)(()=>{a||i(!0)},[a,i]),w=(0,l.useCallback)(()=>{a||i(!1)},[a,i]);f.current=d,g.current=j,x.current=b,p.current=w;const E=u=>{a||i(u)};return(0,l.useEffect)(()=>{const u=k=>f.current(k),v=()=>g.current();return document.addEventListener("mousemove",u),document.addEventListener("mouseup",v),()=>{document.removeEventListener("mousemove",u),document.removeEventListener("mouseup",v)}},[]),(0,l.useEffect)(()=>{const u=h.current;if(!u)return;const v=()=>x.current(),k=()=>p.current();return u.addEventListener("mouseenter",v),u.addEventListener("mouseleave",k),()=>{u.removeEventListener("mouseenter",v),u.removeEventListener("mouseleave",k)}},[]),(0,e.jsxs)(Xs,{open:r,onOpenChange:E,modal:!1,children:[(0,e.jsx)(Zs,{className:"sr-only",children:"Open Sidebar"}),(0,e.jsx)(Ys,{ref:h,side:"left",showCloseButton:!1,isPinned:a,className:"sidebar-behind-rail bg-sidebar border-r border-sidebar-border text-sidebar-foreground p-0",style:{width:`${t}px`,left:`${R.RAIL_WIDTH}px`},onOpenAutoFocus:u=>u.preventDefault(),children:(0,e.jsxs)("div",{className:"relative h-full flex flex-col",children:[s,(0,e.jsx)("div",{role:"button",tabIndex:0,onMouseDown:y,className:T("absolute inset-y-0 -right-1.5 w-3 cursor-col-resize z-50 outline-none","after:absolute after:inset-y-0 after:left-1/2 after:w-px after:transition-colors","hover:after:bg-blue-400/70 active:after:bg-blue-400/70 focus-visible:after:bg-blue-400/70"),title:"Drag to resize sidebar"})]})})]})},ba=["string","hash","list","set","zset","stream"],K=Lt(""),pa=()=>{const{closeOverlay:s,isOverlayOpen:t}=Z(),[r,a]=(0,l.useState)(K),[n,i]=(0,l.useState)("string"),[c,o]=(0,l.useState)(K),[m,h]=(0,l.useState)(K),[f,g]=(0,l.useState)("0"),[x,p]=(0,l.useState)(""),{createKey:d,isPending:j}=zt(),y=t("redis-browser.create-key"),b=n==="hash"||n==="stream",w=r===null||c===null||b&&m===null,E=async()=>{const u=b?m:K;if(r===null||c===null||u===null)return;let v;switch(n){case"string":v={kind:"string",value:c};break;case"hash":v={kind:"hash",entries:[{field:c,value:u}]};break;case"list":v={kind:"list",entries:[c]};break;case"set":v={kind:"set",members:[c]};break;case"zset":v={kind:"zset",entries:[{member:c,score:Number(f)}]};break;case"stream":v={kind:"stream",id:"*",fields:[{field:c,value:u}]}}await d({key:r,type:n,value:v,ttlMs:x?Number(x)*1e3:null}),a(K),i("string"),o(K),h(K),g("0"),p(""),s("redis-browser.create-key")};return(0,e.jsxs)(Js,{title:"Create Redis key",description:"Creates the key atomically and never overwrites an existing key.",open:y,onOpenChange:u=>{u||s("redis-browser.create-key")},size:"sm:max-w-md!",headerClassName:"border-b border-border p-4",titleClassName:"text-sm font-medium",contentClassName:"space-y-4 px-4 py-4",children:[(0,e.jsxs)(wt,{className:"gap-4",children:[(0,e.jsxs)(B,{children:[(0,e.jsx)(H,{htmlFor:"redis-key-name",children:"Key"}),(0,e.jsx)(ye,{id:"redis-key-name",value:r,onChange:a,className:"h-8",placeholder:"cache:user:42"}),(0,e.jsx)(Le,{children:"Text, hexadecimal, and Base64 keys are supported."})]}),(0,e.jsxs)(B,{children:[(0,e.jsx)(H,{htmlFor:"redis-key-type",children:"Type"}),(0,e.jsxs)(le,{value:n,onValueChange:u=>i(u),children:[(0,e.jsx)(re,{id:"redis-key-type",className:"h-8!",children:(0,e.jsx)(ae,{})}),(0,e.jsx)(ne,{children:ba.map(u=>(0,e.jsx)(P,{value:u,children:u},u))})]})]}),(0,e.jsxs)(B,{children:[(0,e.jsx)(H,{htmlFor:"redis-key-first-value",children:n==="hash"||n==="stream"?"Initial field":n==="zset"?"Initial member":"Initial value"}),(0,e.jsx)(ye,{id:"redis-key-first-value",value:c,onChange:o})]}),(n==="hash"||n==="stream")&&(0,e.jsxs)(B,{children:[(0,e.jsx)(H,{htmlFor:"redis-key-second-value",children:"Initial value"}),(0,e.jsx)(ye,{id:"redis-key-second-value",value:m,onChange:h})]}),n==="zset"&&(0,e.jsxs)(B,{children:[(0,e.jsx)(H,{htmlFor:"redis-key-score",children:"Score"}),(0,e.jsx)(z,{id:"redis-key-score",type:"number",value:f,onChange:u=>g(u.target.value),className:"font-mono"})]}),(0,e.jsxs)(B,{children:[(0,e.jsx)(H,{htmlFor:"redis-key-ttl",children:"TTL in seconds"}),(0,e.jsx)(z,{id:"redis-key-ttl",type:"number",min:1,value:x,onChange:u=>p(u.target.value),placeholder:"Persistent",className:"font-mono h-8"}),(0,e.jsx)(Le,{children:"Leave empty to create a persistent key."})]})]}),(0,e.jsxs)("div",{className:"flex justify-end gap-2 border-t border-border pt-4",children:[(0,e.jsx)(C,{variant:"outline",onClick:()=>s("redis-browser.create-key"),children:"Cancel"}),(0,e.jsx)(C,{disabled:j||w,onClick:E,children:"Create key"})]})]})},ga=["string","hash","list","set","zset","stream"],ja={string:"STR",hash:"HASH",list:"LIST",set:"SET",zset:"ZSET",stream:"XSTR"},va=s=>s===-1?"∞":s<0?"gone":s<1e3?`${s}ms`:s<6e4?`${Math.ceil(s/1e3)}s`:s<36e5?`${Math.ceil(s/6e4)}m`:`${Math.ceil(s/36e5)}h`,ya=s=>s===null?"—":s<1024?`${s} B`:`${(s/1024).toFixed(1)} KiB`,Ca=(s,t)=>t!==void 0?t||"(empty key)":`0x${Array.from(Mt(s),r=>r.toString(16).padStart(2,"0")).join("")}`,Na=()=>{const{openOverlay:s}=Z(),[t,r]=F("key"),[a,n]=F("search",{defaultValue:""}),[i,c]=(0,l.useState)(a),[o,m]=F("type",{defaultValue:""}),[h,f]=F("glob",{defaultValue:"false"}),g=h==="true",x=Pt({search:i,type:o,exactPattern:g}),p=(0,l.useMemo)(()=>x.data?.pages.flatMap(b=>b.keys)??[],[x.data]),d=(0,l.useRef)(null),j=hs({count:p.length,getScrollElement:()=>d.current,estimateSize:()=>33,overscan:10}),y=j.getVirtualItems();return(0,l.useEffect)(()=>{const b=window.setTimeout(()=>c(a),250);return()=>window.clearTimeout(b)},[a]),(0,l.useEffect)(()=>{const b=y.at(-1);b&&b.index>=p.length-5&&x.hasNextPage&&!x.isFetchingNextPage&&x.fetchNextPage()},[y,p.length,x.hasNextPage,x.isFetchingNextPage,x.fetchNextPage]),(0,e.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col bg-background font-mono",children:[(0,e.jsxs)("div",{children:[(0,e.jsxs)("div",{className:"space-y-2 px-3 pb-3 pt-2",children:[(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsxs)("div",{className:"relative min-w-0 flex-1",children:[(0,e.jsx)(we,{className:"absolute left-2 top-1/2 -translate-y-1/2 size-4 text-muted-foreground"}),(0,e.jsx)(z,{variant:"outline",value:a,onChange:b=>n(b.target.value),placeholder:g?"Redis glob pattern":"Find keys","aria-label":"Find Redis keys",className:"h-8 rounded-sm pl-8"})]}),(0,e.jsx)(C,{variant:"outline",size:"icon-lg",className:"shrink-0 rounded-sm",onClick:()=>M.promise(x.refetch({throwOnError:!0}),{loading:"Refreshing Redis keys...",success:"Redis keys refreshed",error:"Failed to refresh Redis keys"}),disabled:x.isFetching,"aria-label":"Refresh Redis keys",children:(0,e.jsx)(qe,{className:T(x.isFetching&&"animate-spin")})}),(0,e.jsx)(C,{size:"icon-lg",className:"shrink-0 rounded-sm",onClick:()=>s("redis-browser.create-key"),"aria-label":"Create Redis key",children:(0,e.jsx)(J,{})})]}),(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsxs)(le,{value:o||"all",onValueChange:b=>m(b==="all"?"":b),children:[(0,e.jsx)(re,{variant:"outline","aria-label":"Filter Redis key type",className:"h-8! min-w-0 flex-1 justify-between rounded-sm",children:(0,e.jsx)(ae,{})}),(0,e.jsxs)(ne,{children:[(0,e.jsx)(P,{value:"all",children:"All types"}),ga.map(b=>(0,e.jsx)(P,{value:b,children:b},b))]})]}),(0,e.jsxs)(Ot,{variant:"outline",size:"lg",pressed:g,onPressedChange:b=>f(b?"true":"false"),className:"shrink-0 rounded-sm px-2 text-xs/relaxed uppercase","aria-label":"Use Redis glob pattern",children:[(0,e.jsx)(fs,{className:"size-4"})," Glob"]})]})]}),(0,e.jsxs)("div",{className:"flex h-6 items-center justify-between px-4 text-[9px] uppercase tracking-wider text-muted-foreground",children:[(0,e.jsxs)("span",{children:[p.length," loaded"]}),(0,e.jsx)("span",{children:x.dataUpdatedAt>0?new Date(x.dataUpdatedAt).toLocaleTimeString():"not scanned"})]})]}),(0,e.jsxs)("div",{ref:d,className:"min-h-0 flex-1 overflow-auto",children:[x.isLoading?(0,e.jsx)("div",{className:"px-3 py-4 text-xs text-muted-foreground",children:"Scanning keyspace…"}):p.length===0?(0,e.jsxs)("div",{className:"flex min-h-32 flex-col items-center justify-center gap-2 px-4 text-center text-muted-foreground",children:[(0,e.jsx)(Cs,{className:"size-4"}),(0,e.jsx)("span",{className:"text-xs",children:"No keys in this scan."}),(0,e.jsxs)(C,{variant:"outline",size:"sm",onClick:()=>s("redis-browser.create-key"),children:[(0,e.jsx)(J,{})," Create key"]})]}):(0,e.jsx)("div",{className:"relative w-full",style:{height:`${j.getTotalSize()}px`},children:y.map(b=>{const w=p[b.index],E=w.key.base64||"-",u=Ca(w.key.base64,w.key.utf8);return(0,e.jsxs)(C,{variant:"ghost",onClick:()=>r(E),className:T("absolute left-0 top-0 h-auto w-full justify-start gap-2 rounded-none px-4 py-1.5 text-sm font-normal transition-colors",t===E?"bg-sidebar-accent text-sidebar-accent-foreground font-medium before:absolute before:inset-y-0 before:left-0 before:w-1 before:bg-primary":"text-sidebar-foreground/70 hover:bg-sidebar-accent/50 hover:text-sidebar-foreground"),style:{transform:`translateY(${b.start}px)`},title:u,children:[(0,e.jsx)("span",{className:"min-w-0 flex-1 truncate text-left text-current",children:u}),(0,e.jsx)(ut,{variant:"outline",className:"h-4 w-10 shrink-0 justify-center rounded-sm px-1 text-[8px] font-normal text-muted-foreground",children:ja[w.type]??"?"}),(0,e.jsxs)("span",{className:"shrink-0 text-[9px] text-muted-foreground",children:[ya(w.memoryBytes)," ·"," ",w.ttlMs===-1?(0,e.jsx)(Ns,{className:"inline size-3 align-[-2px]","aria-label":"No expiry"}):va(w.ttlMs)]})]},`${E}-${b.index}`)})}),x.isFetchingNextPage&&(0,e.jsx)("div",{className:"px-2 py-1 text-center text-[10px] text-muted-foreground",children:"Scanning more…"})]}),(0,e.jsx)(pa,{})]})},Sa=()=>{const{pathname:s}=te(),t=s.split("/")[1],r=V()?.dataModel==="key-value",a=(0,l.useMemo)(()=>{if(r&&t!=="runner")return(0,e.jsx)(Na,{});switch(t){case"":case"table":case"schema":case"indexes":return(0,e.jsx)(Qe,{});case"runner":return(0,e.jsx)(na,{});default:return(0,e.jsx)(Qe,{})}},[r,t]);return(0,e.jsxs)(fa,{children:[a,(0,e.jsx)(xa,{})]})},qa=cs({component:()=>wa});function wa(){const s=V(),t=s?.dataModel==="key-value",{pathname:r}=te(),a=r.split("/")[1],{sidebar:{isPinned:n,width:i}}=Re();return t&&a!=="browser"&&a!=="runner"&&a!=="logs"?(0,e.jsx)(oe,{to:"/browser"}):!t&&a==="browser"?(0,e.jsx)(oe,{to:"/"}):s&&!s.indexes&&a==="indexes"?(0,e.jsx)(oe,{to:"/table"}):s&&!s.serverLogs&&a==="logs"?(0,e.jsx)(oe,{to:"/table"}):(0,e.jsxs)("div",{className:"bg-background text-foreground w-dvw flex h-dvh max-h-dvh overflow-hidden relative",children:[(0,e.jsx)(ta,{}),(0,e.jsx)(Sa,{}),(0,e.jsx)("div",{className:"rail-content relative flex-1 flex flex-col h-full overflow-hidden",style:{marginLeft:n?`${i}px`:"0"},children:(0,e.jsx)(ms,{})})]})}export{wa as component,$t as n,qa as t};
@@ -0,0 +1 @@
1
+ import{jt as r}from"./radix-ui-C1Muznox.js";import{n as t}from"./index-DvUqe2GZ.js";import{t as o}from"./query-runner-DE3oEoYe.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};e.SENTRY_RELEASE={id:"db-studio@1.19.0"};var n=new e.Error().stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="2097325a-2873-4c95-82b2-2282719dbb67",e._sentryDebugIdIdentifier="sentry-dbid-2097325a-2873-4c95-82b2-2282719dbb67")}catch{}})();var s=r();function b(){const{queryId:e}=t.useParams();return(0,s.jsx)(o,{queryId:e})}export{b as component};
@@ -0,0 +1 @@
1
+ import{r as H}from"./rolldown-runtime-DglIe7XP.js";import{C as J,S as $,T as L,h as X}from"./tanstack-DeB5Eprq.js";import{E as R,F as Y,Ft as W,T as Z,f as ee,o as se,s as ne}from"./icons-D00FvbYk.js";import{jt as te}from"./radix-ui-C1Muznox.js";import{n as E}from"./dist-BXhLQctj.js";import{t as ae}from"./utils-vY5qZZPu.js";import{n as _,t as g}from"./label-r_iGrn1k.js";import{a as f,i as re,n as ie,o as u,t as de}from"./tooltip-B_5geL0k.js";import{t as oe}from"./sheet-sidebar-K2TU7XMc.js";import{t as le}from"./react-HGZFyY1j.js";import{h as ce,o as xe,u as me}from"./constants-Ma2YHUjt.js";import{o as ue,t as C}from"./database.store-1pbPyu5t.js";import{t as b}from"./badge-DKcWcYUF.js";import{a as he,i as fe,n as pe,r as ge,t as je}from"./select-DIrPycKO.js";import{r as I}from"./keys-BNEHyGRj.js";import{$ as be,J as ye,K as O,X as ve,ct as Ne,dt as Ce,et as Ie,ft as Se,i as De,lt as Te,nt as A,pt as P,q as S,rt as ze,st as ke,tt as qe,ut as we}from"./index-DvUqe2GZ.js";(function(){try{var s=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};s.SENTRY_RELEASE={id:"db-studio@1.19.0"};var a=new s.Error().stack;a&&(s._sentryDebugIds=s._sentryDebugIds||{},s._sentryDebugIds[a]="4ba5c3d3-b150-4443-86b1-f36b0b3f17f6",s._sentryDebugIdIdentifier="sentry-dbid-4ba5c3d3-b150-4443-86b1-f36b0b3f17f6")}catch{}})();var N=H(W(),1),Fe=({tableName:s,schemaName:a})=>{const r=L(),{closeOverlay:i}=f(),{selectedDatabase:o}=C(),{mutateAsync:x,isPending:l}=$({mutationFn:async d=>(await xe({tableName:s,schemaName:a,data:d,db:o})).data.data,onSuccess:async()=>{await r.invalidateQueries({queryKey:I.byTable(s),exact:!1}),i("indexes.create-index")}});return{createIndex:async d=>E.promise(x(d),{loading:"Creating index...",success:n=>n||"Index created successfully",error:n=>typeof n.details=="string"&&n.details||n.message||"Failed to create index"}),isCreatingIndex:l}},e=te(),_e=({tableName:s})=>{const{closeOverlay:a}=f(),r=S(),{createIndex:i,isCreatingIndex:o}=Fe({tableName:s,schemaName:r}),{tableCols:x,isLoadingTableCols:l}=be({tableName:s,schemaName:r}),m=Ie(),d=m?.indexes||null,n=d?.methods??[],{control:h,register:M,handleSubmit:U,setValue:D,watch:V,formState:{errors:y,dirtyFields:B,isSubmitted:T}}=ze({mode:"onSubmit",defaultValues:{indexName:"",columns:[],isUnique:!1,method:n[0]},resolver:qe(ue)}),p=V("columns"),Q=m?.dataModel==="document",[z,G]=(0,N.useState)([]),[v,k]=(0,N.useState)(""),q=[...new Set([...x?.map(({columnName:t})=>t)??[],...z])],w=t=>{const c=p.includes(t)?p.filter(j=>j!==t):[...p,t];D("columns",c,{shouldValidate:T}),B.indexName||D("indexName",c.length?`${s}_${c.join("_").replaceAll(".","_")}_idx`:"",{shouldValidate:T})},F=()=>{const t=v.trim();t&&(q.includes(t)||G([...z,t]),p.includes(t)||w(t),k(""))};return(0,e.jsxs)("form",{onSubmit:U(t=>i(t)),className:"space-y-6",children:[(0,e.jsxs)("div",{className:"space-y-2",children:[(0,e.jsx)(g,{className:"text-xs",children:"Columns, in index order"}),l?(0,e.jsx)(P,{size:"size-5"}):(0,e.jsx)("div",{className:"space-y-1",children:q.map(t=>{const c=p.indexOf(t),j=`create-index-column-${t}`;return(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsx)(O,{id:j,checked:c!==-1,onCheckedChange:()=>w(t)}),(0,e.jsx)(g,{htmlFor:j,className:"font-mono font-normal cursor-pointer",children:t}),c!==-1&&(0,e.jsxs)("span",{className:"text-xs text-muted-foreground",children:["#",c+1]})]},t)})}),Q&&(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsx)(_,{value:v,onChange:t=>k(t.target.value),onKeyDown:t=>{t.key==="Enter"&&(t.preventDefault(),F())},placeholder:"Add field path, e.g. address.city","aria-label":"Add field path",className:"font-mono"}),(0,e.jsx)(u,{type:"button",variant:"outline",onClick:F,disabled:!v.trim(),children:"Add"})]}),y.columns&&(0,e.jsx)("p",{className:"text-xs text-destructive",children:"Select at least one column."})]}),(0,e.jsxs)("div",{className:"space-y-2",children:[(0,e.jsx)(g,{htmlFor:"create-index-name",className:"text-xs",children:"Name"}),(0,e.jsx)(_,{id:"create-index-name",...M("indexName"),placeholder:`${s}_column_idx`,className:ae("font-mono",y.indexName&&"border-destructive ring-destructive ring-1")}),y.indexName&&(0,e.jsx)("p",{className:"text-xs text-destructive",children:"Enter an index name."})]}),(0,e.jsxs)("div",{className:"flex items-center gap-6",children:[(0,e.jsx)(A,{control:h,name:"isUnique",render:({field:t})=>(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsx)(O,{id:"create-index-unique",checked:t.value,onCheckedChange:c=>t.onChange(c===!0)}),(0,e.jsx)(g,{htmlFor:"create-index-unique",className:"cursor-pointer",children:"Unique"})]})}),n.length>0&&(0,e.jsx)(A,{control:h,name:"method",render:({field:t})=>(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsx)(g,{htmlFor:"create-index-method",children:"Method"}),(0,e.jsxs)(je,{value:t.value,onValueChange:t.onChange,children:[(0,e.jsx)(fe,{id:"create-index-method",className:"font-mono",children:(0,e.jsx)(he,{})}),(0,e.jsx)(pe,{children:n.map(c=>(0,e.jsx)(ge,{value:c,className:"font-mono",children:c},c))})]})]})})]}),d?.createNote&&(0,e.jsxs)("p",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[(0,e.jsx)(se,{className:"size-3.5 shrink-0"}),d.createNote]}),(0,e.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,e.jsx)(u,{type:"button",variant:"outline",size:"lg",onClick:()=>a("indexes.create-index"),disabled:o,children:"Cancel"}),(0,e.jsx)(u,{type:"submit",variant:"default",size:"lg",disabled:o,children:o?"Creating...":"Create index"})]})]})},Oe=({tableName:s})=>{const{closeOverlay:a,isOverlayOpen:r}=f();return(0,e.jsx)(oe,{title:"Create index",description:`Create an index on "${s}".`,open:r("indexes.create-index"),onOpenChange:i=>{i||a("indexes.create-index")},children:(0,e.jsx)(_e,{tableName:s})})},Ae=({tableName:s,schemaName:a})=>{const r=L(),{closeOverlay:i}=f(),{selectedDatabase:o}=C(),{mutateAsync:x,isPending:l}=$({mutationFn:async d=>(await me({tableName:s,schemaName:a,indexName:d,db:o})).data.data,onSuccess:async()=>{await r.invalidateQueries({queryKey:I.byTable(s),exact:!1}),i("indexes.drop-index")}});return{dropIndex:async d=>E.promise(x(d),{loading:"Dropping index...",success:n=>n||"Index dropped successfully",error:n=>typeof n.details=="string"&&n.details||n.message||"Failed to drop index"}),isDroppingIndex:l}},K=le()(s=>({droppingIndex:null,setDroppingIndex:a=>s({droppingIndex:a})})),$e=({tableName:s})=>{const{closeOverlay:a,isOverlayOpen:r}=f(),{droppingIndex:i}=K(),o=S(),{dropIndex:x,isDroppingIndex:l}=Ae({tableName:s,schemaName:o});return i?(0,e.jsx)(ke,{open:r("indexes.drop-index"),onOpenChange:m=>{m||a("indexes.drop-index")},children:(0,e.jsxs)(Ne,{className:"max-w-md",children:[(0,e.jsxs)(Ce,{children:[(0,e.jsx)(Se,{children:"Drop Index"}),(0,e.jsxs)(Te,{children:["Drop the index"," ",(0,e.jsxs)("span",{className:"font-semibold text-foreground",children:['"',i.indexName,'"']})," ","from table ",(0,e.jsxs)("span",{className:"font-semibold text-foreground",children:['"',s,'"']}),"? No rows are deleted, but queries that rely on this index may get slower."]})]}),(0,e.jsxs)(we,{className:"gap-2",children:[(0,e.jsx)(u,{variant:"outline",onClick:()=>a("indexes.drop-index"),disabled:l,children:"Cancel"}),(0,e.jsx)(u,{variant:"destructive",onClick:()=>x(i.indexName),disabled:l,children:l?"Dropping...":"Drop Index"})]})]})}):null},Le=({index:s})=>{const{openOverlay:a}=f(),{setDroppingIndex:r}=K();return s.kind!=="index"?(0,e.jsxs)(de,{children:[(0,e.jsx)(re,{asChild:!0,children:(0,e.jsx)("span",{className:"inline-flex text-muted-foreground/40",children:(0,e.jsx)(Y,{className:"size-3.5"})})}),(0,e.jsx)(ie,{side:"left",children:(0,e.jsx)("p",{children:"Backs a constraint. Drop the constraint to remove it."})})]}):(0,e.jsx)(u,{variant:"ghost",size:"icon-sm",className:"text-muted-foreground hover:text-destructive","aria-label":`Drop index ${s.indexName}`,onClick:()=>{r(s),a("indexes.drop-index")},children:(0,e.jsx)(ne,{className:"size-3.5"})})},Re=({tableName:s,refetch:a,isRefetching:r=!1})=>{const{openOverlay:i}=f();return(0,e.jsxs)("header",{className:"max-h-8 overflow-hidden border-b border-border w-full flex items-center bg-background text-foreground sticky top-0 left-0 right-0 z-0",children:[(0,e.jsx)(u,{type:"button",variant:"ghost",className:"size-8! aspect-square border-x-0 border-y-0 border-border rounded-none text-muted-foreground hover:text-foreground hover:bg-muted/60 transition-colors",onClick:()=>{a()},"aria-label":`Refetch indexes for ${s}`,disabled:r,children:(0,e.jsx)(Z,{className:"size-4"})}),(0,e.jsx)(u,{variant:"ghost",asChild:!0,className:"h-8! border-l border-y-0 border-r-0 border-border rounded-none flex items-center gap-2 text-muted-foreground hover:text-foreground",children:(0,e.jsxs)(X,{to:"/table/$table",params:{table:s},"aria-label":`View data for ${s}`,children:[(0,e.jsx)(ee,{className:"size-4"}),"View data"]})}),(0,e.jsxs)(u,{type:"button",variant:"default",className:"h-8! border-l border-y-0 border-r-0 border-border rounded-none flex items-center gap-2",onClick:()=>i("indexes.create-index"),children:[(0,e.jsx)(R,{className:"size-4"}),"Create Index"]})]})},Ee=({tableName:s,schemaName:a})=>{const{selectedDatabase:r}=C(),{data:i,isLoading:o,isRefetching:x,error:l,refetch:m}=J({queryKey:I.table(s,r,a),queryFn:()=>ce(s,r,a),select:d=>d.data.data,enabled:!!s&&!!r});return{tableIndexes:i,isLoadingTableIndexes:o,isRefetchingTableIndexes:x,errorTableIndexes:l,refetchTableIndexes:m}},Pe={primary:"Primary","unique-constraint":"Unique constraint",index:null},Ke=({tableName:s})=>{const{tableIndexes:a,isLoadingTableIndexes:r,isRefetchingTableIndexes:i,errorTableIndexes:o,refetchTableIndexes:x}=Ee({tableName:s,schemaName:S()}),{openOverlay:l}=f(),m=!!a?.some(n=>n.method!==null),d=(0,N.useMemo)(()=>[{id:"indexName",header:"Name",accessorKey:"indexName",cell:({row:n})=>{const h=Pe[n.original.kind];return(0,e.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,e.jsx)("span",{className:"font-mono text-foreground font-medium truncate",children:n.original.indexName}),h&&(0,e.jsx)(b,{variant:"secondary",className:"text-[0.6rem] px-1.5 shrink-0",children:h}),n.original.isSparse&&(0,e.jsx)(b,{variant:"secondary",className:"text-[0.6rem] px-1.5 shrink-0",children:"Sparse"}),n.original.expireAfterSeconds!==void 0&&(0,e.jsxs)(b,{variant:"secondary",className:"text-[0.6rem] px-1.5 shrink-0",children:["TTL (",n.original.expireAfterSeconds,"s)"]})]})},size:340,minSize:160},{id:"columns",header:"Columns",accessorFn:n=>n.columns.join(", "),cell:({getValue:n})=>(0,e.jsx)("span",{className:"font-mono text-xs text-muted-foreground truncate",children:n()}),size:220,minSize:120},{id:"isUnique",header:"Unique",cell:({row:n})=>n.original.isUnique?(0,e.jsx)(b,{variant:"secondary",className:"text-[0.6rem] px-1.5",children:"Unique"}):(0,e.jsx)("span",{className:"text-xs text-muted-foreground/50",children:"no"}),size:90,minSize:80},...m?[{id:"method",header:"Method",cell:({row:n})=>(0,e.jsx)("span",{className:"font-mono text-xs text-muted-foreground",children:n.original.method}),size:100,minSize:80}]:[],{id:"definition",header:"Definition",accessorKey:"definition",cell:({getValue:n})=>{const h=n();return h?(0,e.jsx)("span",{className:"font-mono text-xs text-muted-foreground truncate",children:h}):(0,e.jsx)("span",{className:"text-muted-foreground/50",children:"—"})},size:360,minSize:120},{id:"actions",header:"",cell:({row:n})=>(0,e.jsx)("div",{className:"flex flex-1 justify-center items-center",children:(0,e.jsx)(Le,{index:n.original})}),size:50,enableResizing:!1}],[m]);return r?(0,e.jsx)("div",{className:"size-full flex items-center justify-center",children:(0,e.jsx)(P,{size:"size-7"})}):o?(0,e.jsxs)("div",{className:"size-full flex flex-col items-center justify-center gap-2",children:[(0,e.jsx)("div",{className:"text-sm font-medium",children:"Failed to load indexes"}),(0,e.jsx)("div",{className:"text-sm text-muted-foreground",children:o.message})]}):(0,e.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden",children:[(0,e.jsx)(Re,{tableName:s,refetch:x,isRefetching:i}),a?.length?(0,e.jsx)(ve,{columns:d,data:a,renderCellAccessory:n=>(0,e.jsx)(ye,{value:n})}):(0,e.jsxs)("div",{className:"flex-1 flex flex-col items-center justify-center gap-3",children:[(0,e.jsx)("div",{className:"text-sm text-muted-foreground",children:"This table has no indexes yet."}),(0,e.jsxs)(u,{type:"button",onClick:()=>l("indexes.create-index"),children:[(0,e.jsx)(R,{className:"size-4"}),"Create index"]})]}),(0,e.jsx)(Oe,{tableName:s}),(0,e.jsx)($e,{tableName:s})]})};function as(){const{table:s}=De.useParams();return(0,e.jsx)("main",{className:"flex-1 flex flex-col overflow-hidden",children:(0,e.jsx)(Ke,{tableName:s})})}export{as as component};
@@ -0,0 +1 @@
1
+ import{jt as o}from"./radix-ui-C1Muznox.js";import{P as d,t as r}from"./index-DvUqe2GZ.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};e.SENTRY_RELEASE={id:"db-studio@1.19.0"};var n=new e.Error().stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="8d9fd249-200b-4095-8844-dec457ebcf52",e._sentryDebugIdIdentifier="sentry-dbid-8d9fd249-200b-4095-8844-dec457ebcf52")}catch{}})();var t=o();function a(){const{table:e}=r.useParams();return(0,t.jsx)("main",{className:"flex-1 flex flex-col overflow-hidden",children:(0,t.jsx)(d,{tableName:e})})}export{a as component};
@@ -0,0 +1 @@
1
+ import{jt as n}from"./radix-ui-C1Muznox.js";import{C as o,S as r}from"./index-DvUqe2GZ.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};e.SENTRY_RELEASE={id:"db-studio@1.19.0"};var t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="a2e29594-4016-4a09-956f-78f41e8b5e64",e._sentryDebugIdIdentifier="sentry-dbid-a2e29594-4016-4a09-956f-78f41e8b5e64")}catch{}})();var s=n();function f(){const{table:e}=o.useParams();return(0,s.jsx)(r,{tableName:e})}export{f as component};
@@ -1 +1 @@
1
- (function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};e.SENTRY_RELEASE={id:"db-studio@1.18.0"};var t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="3c39b1bc-0997-4627-b32e-a588be4711ba",e._sentryDebugIdIdentifier="sentry-dbid-3c39b1bc-0997-4627-b32e-a588be4711ba")}catch{}})();var i={comments:{lineComment:"*"},brackets:[["[","]"],["(",")"]]},s={defaultToken:"invalid",ignoreCase:!0,tokenPostfix:".abap",keywords:["abap-source","abbreviated","abstract","accept","accepting","according","activation","actual","add","add-corresponding","adjacent","after","alias","aliases","align","all","allocate","alpha","analysis","analyzer","and","append","appendage","appending","application","archive","area","arithmetic","as","ascending","aspect","assert","assign","assigned","assigning","association","asynchronous","at","attributes","authority","authority-check","avg","back","background","backup","backward","badi","base","before","begin","between","big","binary","bintohex","bit","black","blank","blanks","blob","block","blocks","blue","bound","boundaries","bounds","boxed","break-point","buffer","by","bypassing","byte","byte-order","call","calling","case","cast","casting","catch","center","centered","chain","chain-input","chain-request","change","changing","channels","character","char-to-hex","check","checkbox","ci_","circular","class","class-coding","class-data","class-events","class-methods","class-pool","cleanup","clear","client","clob","clock","close","coalesce","code","coding","col_background","col_group","col_heading","col_key","col_negative","col_normal","col_positive","col_total","collect","color","column","columns","comment","comments","commit","common","communication","comparing","component","components","compression","compute","concat","concat_with_space","concatenate","cond","condense","condition","connect","connection","constants","context","contexts","continue","control","controls","conv","conversion","convert","copies","copy","corresponding","country","cover","cpi","create","creating","critical","currency","currency_conversion","current","cursor","cursor-selection","customer","customer-function","dangerous","data","database","datainfo","dataset","date","dats_add_days","dats_add_months","dats_days_between","dats_is_valid","daylight","dd/mm/yy","dd/mm/yyyy","ddmmyy","deallocate","decimal_shift","decimals","declarations","deep","default","deferred","define","defining","definition","delete","deleting","demand","department","descending","describe","destination","detail","dialog","directory","disconnect","display","display-mode","distinct","divide","divide-corresponding","division","do","dummy","duplicate","duplicates","duration","during","dynamic","dynpro","edit","editor-call","else","elseif","empty","enabled","enabling","encoding","end","endat","endcase","endcatch","endchain","endclass","enddo","endenhancement","end-enhancement-section","endexec","endform","endfunction","endian","endif","ending","endinterface","end-lines","endloop","endmethod","endmodule","end-of-definition","end-of-editing","end-of-file","end-of-page","end-of-selection","endon","endprovide","endselect","end-test-injection","end-test-seam","endtry","endwhile","endwith","engineering","enhancement","enhancement-point","enhancements","enhancement-section","entries","entry","enum","environment","equiv","errormessage","errors","escaping","event","events","exact","except","exception","exceptions","exception-table","exclude","excluding","exec","execute","exists","exit","exit-command","expand","expanding","expiration","explicit","exponent","export","exporting","extend","extended","extension","extract","fail","fetch","field","field-groups","fields","field-symbol","field-symbols","file","filter","filters","filter-table","final","find","first","first-line","fixed-point","fkeq","fkge","flush","font","for","form","format","forward","found","frame","frames","free","friends","from","function","functionality","function-pool","further","gaps","generate","get","giving","gkeq","gkge","global","grant","green","group","groups","handle","handler","harmless","hashed","having","hdb","header","headers","heading","head-lines","help-id","help-request","hextobin","hide","high","hint","hold","hotspot","icon","id","identification","identifier","ids","if","ignore","ignoring","immediately","implementation","implementations","implemented","implicit","import","importing","in","inactive","incl","include","includes","including","increment","index","index-line","infotypes","inheriting","init","initial","initialization","inner","inout","input","insert","instance","instances","instr","intensified","interface","interface-pool","interfaces","internal","intervals","into","inverse","inverted-date","is","iso","job","join","keep","keeping","kernel","key","keys","keywords","kind","language","last","late","layout","leading","leave","left","left-justified","leftplus","leftspace","legacy","length","let","level","levels","like","line","lines","line-count","linefeed","line-selection","line-size","list","listbox","list-processing","little","llang","load","load-of-program","lob","local","locale","locator","logfile","logical","log-point","long","loop","low","lower","lpad","lpi","ltrim","mail","main","major-id","mapping","margin","mark","mask","match","matchcode","max","maximum","medium","members","memory","mesh","message","message-id","messages","messaging","method","methods","min","minimum","minor-id","mm/dd/yy","mm/dd/yyyy","mmddyy","mode","modif","modifier","modify","module","move","move-corresponding","multiply","multiply-corresponding","name","nametab","native","nested","nesting","new","new-line","new-page","new-section","next","no","no-display","no-extension","no-gap","no-gaps","no-grouping","no-heading","no-scrolling","no-sign","no-title","no-topofpage","no-zero","node","nodes","non-unicode","non-unique","not","null","number","object","objects","obligatory","occurrence","occurrences","occurs","of","off","offset","ole","on","only","open","option","optional","options","or","order","other","others","out","outer","output","output-length","overflow","overlay","pack","package","pad","padding","page","pages","parameter","parameters","parameter-table","part","partially","pattern","percentage","perform","performing","person","pf1","pf10","pf11","pf12","pf13","pf14","pf15","pf2","pf3","pf4","pf5","pf6","pf7","pf8","pf9","pf-status","pink","places","pool","pos_high","pos_low","position","pragmas","precompiled","preferred","preserving","primary","print","print-control","priority","private","procedure","process","program","property","protected","provide","public","push","pushbutton","put","queue-only","quickinfo","radiobutton","raise","raising","range","ranges","read","reader","read-only","receive","received","receiver","receiving","red","redefinition","reduce","reduced","ref","reference","refresh","regex","reject","remote","renaming","replace","replacement","replacing","report","request","requested","reserve","reset","resolution","respecting","responsible","result","results","resumable","resume","retry","return","returncode","returning","returns","right","right-justified","rightplus","rightspace","risk","rmc_communication_failure","rmc_invalid_status","rmc_system_failure","role","rollback","rows","rpad","rtrim","run","sap","sap-spool","saving","scale_preserving","scale_preserving_scientific","scan","scientific","scientific_with_leading_zero","scroll","scroll-boundary","scrolling","search","secondary","seconds","section","select","selection","selections","selection-screen","selection-set","selection-sets","selection-table","select-options","send","separate","separated","set","shared","shift","short","shortdump-id","sign_as_postfix","single","size","skip","skipping","smart","some","sort","sortable","sorted","source","specified","split","spool","spots","sql","sqlscript","stable","stamp","standard","starting","start-of-editing","start-of-selection","state","statement","statements","static","statics","statusinfo","step-loop","stop","structure","structures","style","subkey","submatches","submit","subroutine","subscreen","subtract","subtract-corresponding","suffix","sum","summary","summing","supplied","supply","suppress","switch","switchstates","symbol","syncpoints","syntax","syntax-check","syntax-trace","system-call","system-exceptions","system-exit","tab","tabbed","table","tables","tableview","tabstrip","target","task","tasks","test","testing","test-injection","test-seam","text","textpool","then","throw","time","times","timestamp","timezone","tims_is_valid","title","titlebar","title-lines","to","tokenization","tokens","top-lines","top-of-page","trace-file","trace-table","trailing","transaction","transfer","transformation","translate","transporting","trmac","truncate","truncation","try","tstmp_add_seconds","tstmp_current_utctimestamp","tstmp_is_valid","tstmp_seconds_between","type","type-pool","type-pools","types","uline","unassign","under","unicode","union","unique","unit_conversion","unix","unpack","until","unwind","up","update","upper","user","user-command","using","utf-8","valid","value","value-request","values","vary","varying","verification-message","version","via","view","visible","wait","warning","when","whenever","where","while","width","window","windows","with","with-heading","without","with-title","word","work","write","writer","xml","xsd","yellow","yes","yymmdd","zero","zone","abap_system_timezone","abap_user_timezone","access","action","adabas","adjust_numbers","allow_precision_loss","allowed","amdp","applicationuser","as_geo_json","as400","associations","balance","behavior","breakup","bulk","cds","cds_client","check_before_save","child","clients","corr","corr_spearman","cross","cycles","datn_add_days","datn_add_months","datn_days_between","dats_from_datn","dats_tims_to_tstmp","dats_to_datn","db2","db6","ddl","dense_rank","depth","deterministic","discarding","entities","entity","error","failed","finalize","first_value","fltp_to_dec","following","fractional","full","graph","grouping","hierarchy","hierarchy_ancestors","hierarchy_ancestors_aggregate","hierarchy_descendants","hierarchy_descendants_aggregate","hierarchy_siblings","incremental","indicators","lag","last_value","lead","leaves","like_regexpr","link","locale_sap","lock","locks","many","mapped","matched","measures","median","mssqlnt","multiple","nodetype","ntile","nulls","occurrences_regexpr","one","operations","oracle","orphans","over","parent","parents","partition","pcre","period","pfcg_mapping","preceding","privileged","product","projection","rank","redirected","replace_regexpr","reported","response","responses","root","row","row_number","sap_system_date","save","schema","session","sets","shortdump","siblings","spantree","start","stddev","string_agg","subtotal","sybase","tims_from_timn","tims_to_timn","to_blob","to_clob","total","trace-entry","tstmp_to_dats","tstmp_to_dst","tstmp_to_tims","tstmpl_from_utcl","tstmpl_to_utcl","unbounded","utcl_add_seconds","utcl_current","utcl_seconds_between","uuid","var","verbatim"],builtinFunctions:["abs","acos","asin","atan","bit-set","boolc","boolx","ceil","char_off","charlen","cmax","cmin","concat_lines_of","contains","contains_any_not_of","contains_any_of","cos","cosh","count","count_any_not_of","count_any_of","dbmaxlen","distance","escape","exp","find_any_not_of","find_any_of","find_end","floor","frac","from_mixed","ipow","line_exists","line_index","log","log10","matches","nmax","nmin","numofchar","repeat","rescale","reverse","round","segment","shift_left","shift_right","sign","sin","sinh","sqrt","strlen","substring","substring_after","substring_before","substring_from","substring_to","tan","tanh","to_lower","to_mixed","to_upper","trunc","utclong_add","utclong_current","utclong_diff","xsdbool","xstrlen"],typeKeywords:["b","c","d","decfloat16","decfloat34","f","i","int8","n","p","s","string","t","utclong","x","xstring","any","clike","csequence","decfloat","numeric","simple","xsequence","accp","char","clnt","cuky","curr","datn","dats","d16d","d16n","d16r","d34d","d34n","d34r","dec","df16_dec","df16_raw","df34_dec","df34_raw","fltp","geom_ewkb","int1","int2","int4","lang","lchr","lraw","numc","quan","raw","rawstring","sstring","timn","tims","unit","utcl","df16_scl","df34_scl","prec","varc","abap_bool","abap_false","abap_true","abap_undefined","me","screen","space","super","sy","syst","table_line","*sys*"],builtinMethods:["class_constructor","constructor"],derivedTypes:["%CID","%CID_REF","%CONTROL","%DATA","%ELEMENT","%FAIL","%KEY","%MSG","%PARAM","%PID","%PID_ASSOC","%PID_PARENT","%_HINTS"],cdsLanguage:["@AbapAnnotation","@AbapCatalog","@AccessControl","@API","@ClientDependent","@ClientHandling","@CompatibilityContract","@DataAging","@EndUserText","@Environment","@LanguageDependency","@MappingRole","@Metadata","@MetadataExtension","@ObjectModel","@Scope","@Semantics","$EXTENSION","$SELF"],selectors:["->","->*","=>","~","~*"],operators:[" +"," -","/","*","**","div","mod","=","#","@","+=","-=","*=","/=","**=","&&=","?=","&","&&","bit-and","bit-not","bit-or","bit-xor","m","o","z","<"," >","<=",">=","<>","><","=<","=>","bt","byte-ca","byte-cn","byte-co","byte-cs","byte-na","byte-ns","ca","cn","co","cp","cs","eq","ge","gt","le","lt","na","nb","ne","np","ns","*/","*:","--","/*","//"],symbols:/[=><!~?&+\-*\/\^%#@]+/,tokenizer:{root:[[/[a-z_\/$%@]([\w\/$%]|-(?!>))*/,{cases:{"@typeKeywords":"type","@keywords":"keyword","@cdsLanguage":"annotation","@derivedTypes":"type","@builtinFunctions":"type","@builtinMethods":"type","@operators":"key","@default":"identifier"}}],[/<[\w]+>/,"identifier"],[/##[\w|_]+/,"comment"],{include:"@whitespace"},[/[:,.]/,"delimiter"],[/[{}()\[\]]/,"@brackets"],[/@symbols/,{cases:{"@selectors":"tag","@operators":"key","@default":""}}],[/'/,{token:"string",bracket:"@open",next:"@stringquote"}],[/`/,{token:"string",bracket:"@open",next:"@stringping"}],[/\|/,{token:"string",bracket:"@open",next:"@stringtemplate"}],[/\d+/,"number"]],stringtemplate:[[/[^\\\|]+/,"string"],[/\\\|/,"string"],[/\|/,{token:"string",bracket:"@close",next:"@pop"}]],stringping:[[/[^\\`]+/,"string"],[/`/,{token:"string",bracket:"@close",next:"@pop"}]],stringquote:[[/[^\\']+/,"string"],[/'/,{token:"string",bracket:"@close",next:"@pop"}]],whitespace:[[/[ \t\r\n]+/,""],[/^\*.*$/,"comment"],[/\".*$/,"comment"]]}};export{i as conf,s as language};
1
+ (function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};e.SENTRY_RELEASE={id:"db-studio@1.19.0"};var t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="3c39b1bc-0997-4627-b32e-a588be4711ba",e._sentryDebugIdIdentifier="sentry-dbid-3c39b1bc-0997-4627-b32e-a588be4711ba")}catch{}})();var i={comments:{lineComment:"*"},brackets:[["[","]"],["(",")"]]},s={defaultToken:"invalid",ignoreCase:!0,tokenPostfix:".abap",keywords:["abap-source","abbreviated","abstract","accept","accepting","according","activation","actual","add","add-corresponding","adjacent","after","alias","aliases","align","all","allocate","alpha","analysis","analyzer","and","append","appendage","appending","application","archive","area","arithmetic","as","ascending","aspect","assert","assign","assigned","assigning","association","asynchronous","at","attributes","authority","authority-check","avg","back","background","backup","backward","badi","base","before","begin","between","big","binary","bintohex","bit","black","blank","blanks","blob","block","blocks","blue","bound","boundaries","bounds","boxed","break-point","buffer","by","bypassing","byte","byte-order","call","calling","case","cast","casting","catch","center","centered","chain","chain-input","chain-request","change","changing","channels","character","char-to-hex","check","checkbox","ci_","circular","class","class-coding","class-data","class-events","class-methods","class-pool","cleanup","clear","client","clob","clock","close","coalesce","code","coding","col_background","col_group","col_heading","col_key","col_negative","col_normal","col_positive","col_total","collect","color","column","columns","comment","comments","commit","common","communication","comparing","component","components","compression","compute","concat","concat_with_space","concatenate","cond","condense","condition","connect","connection","constants","context","contexts","continue","control","controls","conv","conversion","convert","copies","copy","corresponding","country","cover","cpi","create","creating","critical","currency","currency_conversion","current","cursor","cursor-selection","customer","customer-function","dangerous","data","database","datainfo","dataset","date","dats_add_days","dats_add_months","dats_days_between","dats_is_valid","daylight","dd/mm/yy","dd/mm/yyyy","ddmmyy","deallocate","decimal_shift","decimals","declarations","deep","default","deferred","define","defining","definition","delete","deleting","demand","department","descending","describe","destination","detail","dialog","directory","disconnect","display","display-mode","distinct","divide","divide-corresponding","division","do","dummy","duplicate","duplicates","duration","during","dynamic","dynpro","edit","editor-call","else","elseif","empty","enabled","enabling","encoding","end","endat","endcase","endcatch","endchain","endclass","enddo","endenhancement","end-enhancement-section","endexec","endform","endfunction","endian","endif","ending","endinterface","end-lines","endloop","endmethod","endmodule","end-of-definition","end-of-editing","end-of-file","end-of-page","end-of-selection","endon","endprovide","endselect","end-test-injection","end-test-seam","endtry","endwhile","endwith","engineering","enhancement","enhancement-point","enhancements","enhancement-section","entries","entry","enum","environment","equiv","errormessage","errors","escaping","event","events","exact","except","exception","exceptions","exception-table","exclude","excluding","exec","execute","exists","exit","exit-command","expand","expanding","expiration","explicit","exponent","export","exporting","extend","extended","extension","extract","fail","fetch","field","field-groups","fields","field-symbol","field-symbols","file","filter","filters","filter-table","final","find","first","first-line","fixed-point","fkeq","fkge","flush","font","for","form","format","forward","found","frame","frames","free","friends","from","function","functionality","function-pool","further","gaps","generate","get","giving","gkeq","gkge","global","grant","green","group","groups","handle","handler","harmless","hashed","having","hdb","header","headers","heading","head-lines","help-id","help-request","hextobin","hide","high","hint","hold","hotspot","icon","id","identification","identifier","ids","if","ignore","ignoring","immediately","implementation","implementations","implemented","implicit","import","importing","in","inactive","incl","include","includes","including","increment","index","index-line","infotypes","inheriting","init","initial","initialization","inner","inout","input","insert","instance","instances","instr","intensified","interface","interface-pool","interfaces","internal","intervals","into","inverse","inverted-date","is","iso","job","join","keep","keeping","kernel","key","keys","keywords","kind","language","last","late","layout","leading","leave","left","left-justified","leftplus","leftspace","legacy","length","let","level","levels","like","line","lines","line-count","linefeed","line-selection","line-size","list","listbox","list-processing","little","llang","load","load-of-program","lob","local","locale","locator","logfile","logical","log-point","long","loop","low","lower","lpad","lpi","ltrim","mail","main","major-id","mapping","margin","mark","mask","match","matchcode","max","maximum","medium","members","memory","mesh","message","message-id","messages","messaging","method","methods","min","minimum","minor-id","mm/dd/yy","mm/dd/yyyy","mmddyy","mode","modif","modifier","modify","module","move","move-corresponding","multiply","multiply-corresponding","name","nametab","native","nested","nesting","new","new-line","new-page","new-section","next","no","no-display","no-extension","no-gap","no-gaps","no-grouping","no-heading","no-scrolling","no-sign","no-title","no-topofpage","no-zero","node","nodes","non-unicode","non-unique","not","null","number","object","objects","obligatory","occurrence","occurrences","occurs","of","off","offset","ole","on","only","open","option","optional","options","or","order","other","others","out","outer","output","output-length","overflow","overlay","pack","package","pad","padding","page","pages","parameter","parameters","parameter-table","part","partially","pattern","percentage","perform","performing","person","pf1","pf10","pf11","pf12","pf13","pf14","pf15","pf2","pf3","pf4","pf5","pf6","pf7","pf8","pf9","pf-status","pink","places","pool","pos_high","pos_low","position","pragmas","precompiled","preferred","preserving","primary","print","print-control","priority","private","procedure","process","program","property","protected","provide","public","push","pushbutton","put","queue-only","quickinfo","radiobutton","raise","raising","range","ranges","read","reader","read-only","receive","received","receiver","receiving","red","redefinition","reduce","reduced","ref","reference","refresh","regex","reject","remote","renaming","replace","replacement","replacing","report","request","requested","reserve","reset","resolution","respecting","responsible","result","results","resumable","resume","retry","return","returncode","returning","returns","right","right-justified","rightplus","rightspace","risk","rmc_communication_failure","rmc_invalid_status","rmc_system_failure","role","rollback","rows","rpad","rtrim","run","sap","sap-spool","saving","scale_preserving","scale_preserving_scientific","scan","scientific","scientific_with_leading_zero","scroll","scroll-boundary","scrolling","search","secondary","seconds","section","select","selection","selections","selection-screen","selection-set","selection-sets","selection-table","select-options","send","separate","separated","set","shared","shift","short","shortdump-id","sign_as_postfix","single","size","skip","skipping","smart","some","sort","sortable","sorted","source","specified","split","spool","spots","sql","sqlscript","stable","stamp","standard","starting","start-of-editing","start-of-selection","state","statement","statements","static","statics","statusinfo","step-loop","stop","structure","structures","style","subkey","submatches","submit","subroutine","subscreen","subtract","subtract-corresponding","suffix","sum","summary","summing","supplied","supply","suppress","switch","switchstates","symbol","syncpoints","syntax","syntax-check","syntax-trace","system-call","system-exceptions","system-exit","tab","tabbed","table","tables","tableview","tabstrip","target","task","tasks","test","testing","test-injection","test-seam","text","textpool","then","throw","time","times","timestamp","timezone","tims_is_valid","title","titlebar","title-lines","to","tokenization","tokens","top-lines","top-of-page","trace-file","trace-table","trailing","transaction","transfer","transformation","translate","transporting","trmac","truncate","truncation","try","tstmp_add_seconds","tstmp_current_utctimestamp","tstmp_is_valid","tstmp_seconds_between","type","type-pool","type-pools","types","uline","unassign","under","unicode","union","unique","unit_conversion","unix","unpack","until","unwind","up","update","upper","user","user-command","using","utf-8","valid","value","value-request","values","vary","varying","verification-message","version","via","view","visible","wait","warning","when","whenever","where","while","width","window","windows","with","with-heading","without","with-title","word","work","write","writer","xml","xsd","yellow","yes","yymmdd","zero","zone","abap_system_timezone","abap_user_timezone","access","action","adabas","adjust_numbers","allow_precision_loss","allowed","amdp","applicationuser","as_geo_json","as400","associations","balance","behavior","breakup","bulk","cds","cds_client","check_before_save","child","clients","corr","corr_spearman","cross","cycles","datn_add_days","datn_add_months","datn_days_between","dats_from_datn","dats_tims_to_tstmp","dats_to_datn","db2","db6","ddl","dense_rank","depth","deterministic","discarding","entities","entity","error","failed","finalize","first_value","fltp_to_dec","following","fractional","full","graph","grouping","hierarchy","hierarchy_ancestors","hierarchy_ancestors_aggregate","hierarchy_descendants","hierarchy_descendants_aggregate","hierarchy_siblings","incremental","indicators","lag","last_value","lead","leaves","like_regexpr","link","locale_sap","lock","locks","many","mapped","matched","measures","median","mssqlnt","multiple","nodetype","ntile","nulls","occurrences_regexpr","one","operations","oracle","orphans","over","parent","parents","partition","pcre","period","pfcg_mapping","preceding","privileged","product","projection","rank","redirected","replace_regexpr","reported","response","responses","root","row","row_number","sap_system_date","save","schema","session","sets","shortdump","siblings","spantree","start","stddev","string_agg","subtotal","sybase","tims_from_timn","tims_to_timn","to_blob","to_clob","total","trace-entry","tstmp_to_dats","tstmp_to_dst","tstmp_to_tims","tstmpl_from_utcl","tstmpl_to_utcl","unbounded","utcl_add_seconds","utcl_current","utcl_seconds_between","uuid","var","verbatim"],builtinFunctions:["abs","acos","asin","atan","bit-set","boolc","boolx","ceil","char_off","charlen","cmax","cmin","concat_lines_of","contains","contains_any_not_of","contains_any_of","cos","cosh","count","count_any_not_of","count_any_of","dbmaxlen","distance","escape","exp","find_any_not_of","find_any_of","find_end","floor","frac","from_mixed","ipow","line_exists","line_index","log","log10","matches","nmax","nmin","numofchar","repeat","rescale","reverse","round","segment","shift_left","shift_right","sign","sin","sinh","sqrt","strlen","substring","substring_after","substring_before","substring_from","substring_to","tan","tanh","to_lower","to_mixed","to_upper","trunc","utclong_add","utclong_current","utclong_diff","xsdbool","xstrlen"],typeKeywords:["b","c","d","decfloat16","decfloat34","f","i","int8","n","p","s","string","t","utclong","x","xstring","any","clike","csequence","decfloat","numeric","simple","xsequence","accp","char","clnt","cuky","curr","datn","dats","d16d","d16n","d16r","d34d","d34n","d34r","dec","df16_dec","df16_raw","df34_dec","df34_raw","fltp","geom_ewkb","int1","int2","int4","lang","lchr","lraw","numc","quan","raw","rawstring","sstring","timn","tims","unit","utcl","df16_scl","df34_scl","prec","varc","abap_bool","abap_false","abap_true","abap_undefined","me","screen","space","super","sy","syst","table_line","*sys*"],builtinMethods:["class_constructor","constructor"],derivedTypes:["%CID","%CID_REF","%CONTROL","%DATA","%ELEMENT","%FAIL","%KEY","%MSG","%PARAM","%PID","%PID_ASSOC","%PID_PARENT","%_HINTS"],cdsLanguage:["@AbapAnnotation","@AbapCatalog","@AccessControl","@API","@ClientDependent","@ClientHandling","@CompatibilityContract","@DataAging","@EndUserText","@Environment","@LanguageDependency","@MappingRole","@Metadata","@MetadataExtension","@ObjectModel","@Scope","@Semantics","$EXTENSION","$SELF"],selectors:["->","->*","=>","~","~*"],operators:[" +"," -","/","*","**","div","mod","=","#","@","+=","-=","*=","/=","**=","&&=","?=","&","&&","bit-and","bit-not","bit-or","bit-xor","m","o","z","<"," >","<=",">=","<>","><","=<","=>","bt","byte-ca","byte-cn","byte-co","byte-cs","byte-na","byte-ns","ca","cn","co","cp","cs","eq","ge","gt","le","lt","na","nb","ne","np","ns","*/","*:","--","/*","//"],symbols:/[=><!~?&+\-*\/\^%#@]+/,tokenizer:{root:[[/[a-z_\/$%@]([\w\/$%]|-(?!>))*/,{cases:{"@typeKeywords":"type","@keywords":"keyword","@cdsLanguage":"annotation","@derivedTypes":"type","@builtinFunctions":"type","@builtinMethods":"type","@operators":"key","@default":"identifier"}}],[/<[\w]+>/,"identifier"],[/##[\w|_]+/,"comment"],{include:"@whitespace"},[/[:,.]/,"delimiter"],[/[{}()\[\]]/,"@brackets"],[/@symbols/,{cases:{"@selectors":"tag","@operators":"key","@default":""}}],[/'/,{token:"string",bracket:"@open",next:"@stringquote"}],[/`/,{token:"string",bracket:"@open",next:"@stringping"}],[/\|/,{token:"string",bracket:"@open",next:"@stringtemplate"}],[/\d+/,"number"]],stringtemplate:[[/[^\\\|]+/,"string"],[/\\\|/,"string"],[/\|/,{token:"string",bracket:"@close",next:"@pop"}]],stringping:[[/[^\\`]+/,"string"],[/`/,{token:"string",bracket:"@close",next:"@pop"}]],stringquote:[[/[^\\']+/,"string"],[/'/,{token:"string",bracket:"@close",next:"@pop"}]],whitespace:[[/[ \t\r\n]+/,""],[/^\*.*$/,"comment"],[/\".*$/,"comment"]]}};export{i as conf,s as language};
@@ -1 +1 @@
1
- (function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};e.SENTRY_RELEASE={id:"db-studio@1.18.0"};var s=new e.Error().stack;s&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[s]="b63b13e9-254d-4208-948c-98ef9dce408e",e._sentryDebugIdIdentifier="sentry-dbid-b63b13e9-254d-4208-948c-98ef9dce408e")}catch{}})();var r={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"<",close:">"}],folding:{markers:{start:new RegExp("^\\s*//\\s*(?:(?:#?region\\b)|(?:<editor-fold\\b))"),end:new RegExp("^\\s*//\\s*(?:(?:#?endregion\\b)|(?:</editor-fold>))")}}},n=["abstract","activate","and","any","array","as","asc","assert","autonomous","begin","bigdecimal","blob","boolean","break","bulk","by","case","cast","catch","char","class","collect","commit","const","continue","convertcurrency","decimal","default","delete","desc","do","double","else","end","enum","exception","exit","export","extends","false","final","finally","float","for","from","future","get","global","goto","group","having","hint","if","implements","import","in","inner","insert","instanceof","int","interface","into","join","last_90_days","last_month","last_n_days","last_week","like","limit","list","long","loop","map","merge","native","new","next_90_days","next_month","next_n_days","next_week","not","null","nulls","number","object","of","on","or","outer","override","package","parallel","pragma","private","protected","public","retrieve","return","returning","rollback","savepoint","search","select","set","short","sort","stat","static","strictfp","super","switch","synchronized","system","testmethod","then","this","this_month","this_week","throw","throws","today","tolabel","tomorrow","transaction","transient","trigger","true","try","type","undelete","update","upsert","using","virtual","void","volatile","webservice","when","where","while","yesterday"],o=e=>e.charAt(0).toUpperCase()+e.substr(1),t=[];n.forEach(e=>{t.push(e),t.push(e.toUpperCase()),t.push(o(e))});var a={defaultToken:"",tokenPostfix:".apex",keywords:t,operators:["=",">","<","!","~","?",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%","<<",">>",">>>","+=","-=","*=","/=","&=","|=","^=","%=","<<=",">>=",">>>="],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\d+(_+\d+)*/,octaldigits:/[0-7]+(_+[0-7]+)*/,binarydigits:/[0-1]+(_+[0-1]+)*/,hexdigits:/[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,tokenizer:{root:[[/[a-z_$][\w$]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],[/[A-Z][\w\$]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"type.identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/@\s*[a-zA-Z_\$][\w\$]*/,"annotation"],[/(@digits)[eE]([\-+]?(@digits))?[fFdD]?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?[fFdD]?/,"number.float"],[/(@digits)[fFdD]/,"number.float"],[/(@digits)[lL]?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string",'@string."'],[/'/,"string","@string.'"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@apexdoc"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],apexdoc:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/["']/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}]]}};export{r as conf,a as language};
1
+ (function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};e.SENTRY_RELEASE={id:"db-studio@1.19.0"};var s=new e.Error().stack;s&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[s]="b63b13e9-254d-4208-948c-98ef9dce408e",e._sentryDebugIdIdentifier="sentry-dbid-b63b13e9-254d-4208-948c-98ef9dce408e")}catch{}})();var r={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"<",close:">"}],folding:{markers:{start:new RegExp("^\\s*//\\s*(?:(?:#?region\\b)|(?:<editor-fold\\b))"),end:new RegExp("^\\s*//\\s*(?:(?:#?endregion\\b)|(?:</editor-fold>))")}}},n=["abstract","activate","and","any","array","as","asc","assert","autonomous","begin","bigdecimal","blob","boolean","break","bulk","by","case","cast","catch","char","class","collect","commit","const","continue","convertcurrency","decimal","default","delete","desc","do","double","else","end","enum","exception","exit","export","extends","false","final","finally","float","for","from","future","get","global","goto","group","having","hint","if","implements","import","in","inner","insert","instanceof","int","interface","into","join","last_90_days","last_month","last_n_days","last_week","like","limit","list","long","loop","map","merge","native","new","next_90_days","next_month","next_n_days","next_week","not","null","nulls","number","object","of","on","or","outer","override","package","parallel","pragma","private","protected","public","retrieve","return","returning","rollback","savepoint","search","select","set","short","sort","stat","static","strictfp","super","switch","synchronized","system","testmethod","then","this","this_month","this_week","throw","throws","today","tolabel","tomorrow","transaction","transient","trigger","true","try","type","undelete","update","upsert","using","virtual","void","volatile","webservice","when","where","while","yesterday"],o=e=>e.charAt(0).toUpperCase()+e.substr(1),t=[];n.forEach(e=>{t.push(e),t.push(e.toUpperCase()),t.push(o(e))});var a={defaultToken:"",tokenPostfix:".apex",keywords:t,operators:["=",">","<","!","~","?",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%","<<",">>",">>>","+=","-=","*=","/=","&=","|=","^=","%=","<<=",">>=",">>>="],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\d+(_+\d+)*/,octaldigits:/[0-7]+(_+[0-7]+)*/,binarydigits:/[0-1]+(_+[0-1]+)*/,hexdigits:/[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,tokenizer:{root:[[/[a-z_$][\w$]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],[/[A-Z][\w\$]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"type.identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/@\s*[a-zA-Z_\$][\w\$]*/,"annotation"],[/(@digits)[eE]([\-+]?(@digits))?[fFdD]?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?[fFdD]?/,"number.float"],[/(@digits)[fFdD]/,"number.float"],[/(@digits)[lL]?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string",'@string."'],[/'/,"string","@string.'"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@apexdoc"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],apexdoc:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/["']/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}]]}};export{r as conf,a as language};
@@ -1 +1 @@
1
- (function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};e.SENTRY_RELEASE={id:"db-studio@1.18.0"};var t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="bf9ae677-ef2b-449e-b821-9b20d55f8b83",e._sentryDebugIdIdentifier="sentry-dbid-bf9ae677-ef2b-449e-b821-9b20d55f8b83")}catch{}})();var o={comments:{lineComment:"#"}},s={defaultToken:"keyword",ignoreCase:!0,tokenPostfix:".azcli",str:/[^#\s]/,tokenizer:{root:[{include:"@comment"},[/\s-+@str*\s*/,{cases:{"@eos":{token:"key.identifier",next:"@popall"},"@default":{token:"key.identifier",next:"@type"}}}],[/^-+@str*\s*/,{cases:{"@eos":{token:"key.identifier",next:"@popall"},"@default":{token:"key.identifier",next:"@type"}}}]],type:[{include:"@comment"},[/-+@str*\s*/,{cases:{"@eos":{token:"key.identifier",next:"@popall"},"@default":"key.identifier"}}],[/@str+\s*/,{cases:{"@eos":{token:"string",next:"@popall"},"@default":"string"}}]],comment:[[/#.*$/,{cases:{"@eos":{token:"comment",next:"@popall"}}}]]}};export{o as conf,s as language};
1
+ (function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};e.SENTRY_RELEASE={id:"db-studio@1.19.0"};var t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="bf9ae677-ef2b-449e-b821-9b20d55f8b83",e._sentryDebugIdIdentifier="sentry-dbid-bf9ae677-ef2b-449e-b821-9b20d55f8b83")}catch{}})();var o={comments:{lineComment:"#"}},s={defaultToken:"keyword",ignoreCase:!0,tokenPostfix:".azcli",str:/[^#\s]/,tokenizer:{root:[{include:"@comment"},[/\s-+@str*\s*/,{cases:{"@eos":{token:"key.identifier",next:"@popall"},"@default":{token:"key.identifier",next:"@type"}}}],[/^-+@str*\s*/,{cases:{"@eos":{token:"key.identifier",next:"@popall"},"@default":{token:"key.identifier",next:"@type"}}}]],type:[{include:"@comment"},[/-+@str*\s*/,{cases:{"@eos":{token:"key.identifier",next:"@popall"},"@default":"key.identifier"}}],[/@str+\s*/,{cases:{"@eos":{token:"string",next:"@popall"},"@default":"string"}}]],comment:[[/#.*$/,{cases:{"@eos":{token:"comment",next:"@popall"}}}]]}};export{o as conf,s as language};
@@ -0,0 +1 @@
1
+ import{U as l,ht as u,mt as c,o as g}from"./icons-D00FvbYk.js";import{$ as f,G as m,J as p,K as x,Q as b,X as v,Y as h,Z as j,et as y,jt as C,nt as w,q as z,rt as A,tt as D,vt as k}from"./radix-ui-C1Muznox.js";import{t as o}from"./utils-vY5qZZPu.js";import{i as N}from"./label-r_iGrn1k.js";import{c as _,o as s}from"./tooltip-B_5geL0k.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};e.SENTRY_RELEASE={id:"db-studio@1.19.0"};var a=new e.Error().stack;a&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[a]="a096bec2-9aa9-491f-914f-32a164eed58c",e._sentryDebugIdIdentifier="sentry-dbid-a096bec2-9aa9-491f-914f-32a164eed58c")}catch{}})();var t=C(),T={info:{icon:l,containerClass:"border-blue-500/50 bg-blue-50/50 text-blue-600 dark:bg-blue-950/20",iconClass:"text-blue-500"},warning:{icon:g,containerClass:"border-amber-500/50 bg-amber-50/50 text-amber-600 dark:bg-amber-950/20",iconClass:"text-amber-500"},error:{icon:u,containerClass:"border-red-500/50 bg-red-50/50 text-red-600 dark:bg-red-950/20",iconClass:"text-red-500"},success:{icon:c,containerClass:"border-emerald-500/50 bg-emerald-50/50 text-emerald-600 dark:bg-emerald-950/20",iconClass:"text-emerald-500"}},O=({variant:e,title:a,message:r,className:i})=>{const n=T[e],d=n.icon;return(0,t.jsxs)("div",{className:o("rounded-md border px-4 py-3",n.containerClass,i),children:[(0,t.jsxs)("p",{className:o("text-sm flex items-center gap-2",r?"mb-1":""),children:[(0,t.jsx)(d,{"aria-hidden":"true",className:o("-mt-0.5 inline-flex opacity-80",n.iconClass),size:16}),(0,t.jsx)("span",{className:"font-medium",children:a})]}),r&&(0,t.jsx)("p",{className:"text-xs opacity-90 ml-7",children:r})]})};function V({...e}){return(0,t.jsx)(w,{"data-slot":"alert-dialog",...e})}function I({...e}){return(0,t.jsx)(D,{"data-slot":"alert-dialog-portal",...e})}function P({className:e,...a}){return(0,t.jsx)(y,{"data-slot":"alert-dialog-overlay",className:o("data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 bg-black/80 duration-100 supports-backdrop-filter:backdrop-blur-xs fixed inset-0 z-50",e),...a})}function Y({className:e,size:a="default",...r}){return(0,t.jsxs)(I,{children:[(0,t.jsx)(P,{}),(0,t.jsx)(b,{"data-slot":"alert-dialog-content","data-size":a,className:o("data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 bg-background ring-foreground/10 gap-3 rounded-xl p-4 ring-1 duration-100 data-[size=default]:max-w-xs data-[size=sm]:max-w-64 data-[size=default]:sm:max-w-sm group/alert-dialog-content fixed top-1/2 left-1/2 z-50 grid w-full -translate-x-1/2 -translate-y-1/2 outline-none",e),...r})]})}function F({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"alert-dialog-header",className:o("grid grid-rows-[auto_1fr] place-items-center gap-1 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-4 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),...a})}function G({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"alert-dialog-footer",className:o("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),...a})}function H({className:e,...a}){return(0,t.jsx)(A,{"data-slot":"alert-dialog-title",className:o("text-sm font-medium sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2",e),...a})}function J({className:e,...a}){return(0,t.jsx)(f,{"data-slot":"alert-dialog-description",className:o("text-muted-foreground *:[a]:hover:text-foreground text-xs/relaxed text-balance md:text-pretty *:[a]:underline *:[a]:underline-offset-3",e),...a})}function K({className:e,variant:a="default",size:r="default",...i}){return(0,t.jsx)(s,{variant:a,size:r,asChild:!0,children:(0,t.jsx)(v,{"data-slot":"alert-dialog-action",className:o(e),...i})})}function L({className:e,variant:a="outline",size:r="default",...i}){return(0,t.jsx)(s,{variant:a,size:r,asChild:!0,children:(0,t.jsx)(j,{"data-slot":"alert-dialog-cancel",className:o(e),...i})})}function Q({modal:e,...a}){const r=N();return(0,t.jsx)(p,{"data-slot":"popover",modal:e??(r?!0:void 0),...a})}function U({...e}){return(0,t.jsx)(h,{"data-slot":"popover-trigger",...e})}function X({className:e,align:a="center",sideOffset:r=4,...i}){return(0,t.jsx)(z,{children:(0,t.jsx)(x,{"data-slot":"popover-content",align:a,sideOffset:r,className:o("bg-popover text-popover-foreground data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 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 ring-foreground/10 flex flex-col gap-4 rounded-lg p-2.5 text-xs shadow-md ring-1 duration-100 z-50 w-72 origin-(--radix-popover-content-transform-origin) outline-hidden",e),...i})})}function Z({...e}){return(0,t.jsx)(m,{"data-slot":"popover-anchor",...e})}var E=_("h-5 gap-1 rounded-full border border-transparent px-2 py-0.5 text-[0.625rem] font-medium transition-all has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&>svg]:size-2.5! inline-flex items-center justify-center w-fit whitespace-nowrap shrink-0 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-colors overflow-hidden group/badge",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",secondary:"bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80",destructive:"bg-destructive/10 [a]:hover:bg-destructive/20 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 text-destructive dark:bg-destructive/20",outline:"border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground bg-input/20 dark:bg-input/30",ghost:"hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50",link:"text-primary underline-offset-4 hover:underline"}},defaultVariants:{variant:"default"}});function M({className:e,variant:a="default",asChild:r=!1,...i}){return(0,t.jsx)(r?k:"span",{"data-slot":"badge","data-variant":a,className:o(E({variant:a}),e),...i})}export{U as a,L as c,G as d,F as f,X as i,Y as l,O as m,Q as n,V as o,H as p,Z as r,K as s,M as t,J as u};
@@ -1 +1 @@
1
- (function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};e.SENTRY_RELEASE={id:"db-studio@1.18.0"};var s=new e.Error().stack;s&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[s]="249f5ce5-b92e-40d9-8b24-1d5a7cdcea72",e._sentryDebugIdIdentifier="sentry-dbid-249f5ce5-b92e-40d9-8b24-1d5a7cdcea72")}catch{}})();var t={comments:{lineComment:"REM"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}],surroundingPairs:[{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}],folding:{markers:{start:new RegExp("^\\s*(::\\s*|REM\\s+)#region"),end:new RegExp("^\\s*(::\\s*|REM\\s+)#endregion")}}},n={defaultToken:"",ignoreCase:!0,tokenPostfix:".bat",brackets:[{token:"delimiter.bracket",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"}],keywords:/call|defined|echo|errorlevel|exist|for|goto|if|pause|set|shift|start|title|not|pushd|popd/,symbols:/[=><!~?&|+\-*\/\^;\.,]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/^(\s*)(rem(?:\s.*|))$/,["","comment"]],[/(\@?)(@keywords)(?!\w)/,[{token:"keyword"},{token:"keyword.$2"}]],[/[ \t\r\n]+/,""],[/setlocal(?!\w)/,"keyword.tag-setlocal"],[/endlocal(?!\w)/,"keyword.tag-setlocal"],[/[a-zA-Z_]\w*/,""],[/:\w*/,"metatag"],[/%[^%]+%/,"variable"],[/%%[\w]+(?!\w)/,"variable"],[/[{}()\[\]]/,"@brackets"],[/@symbols/,"delimiter"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F_]*[0-9a-fA-F]/,"number.hex"],[/\d+/,"number"],[/[;,.]/,"delimiter"],[/"/,"string",'@string."'],[/'/,"string","@string.'"]],string:[[/[^\\"'%]+/,{cases:{"@eos":{token:"string",next:"@popall"},"@default":"string"}}],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/%[\w ]+%/,"variable"],[/%%[\w]+(?!\w)/,"variable"],[/["']/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}],[/$/,"string","@popall"]]}};export{t as conf,n as language};
1
+ (function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};e.SENTRY_RELEASE={id:"db-studio@1.19.0"};var s=new e.Error().stack;s&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[s]="249f5ce5-b92e-40d9-8b24-1d5a7cdcea72",e._sentryDebugIdIdentifier="sentry-dbid-249f5ce5-b92e-40d9-8b24-1d5a7cdcea72")}catch{}})();var t={comments:{lineComment:"REM"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}],surroundingPairs:[{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}],folding:{markers:{start:new RegExp("^\\s*(::\\s*|REM\\s+)#region"),end:new RegExp("^\\s*(::\\s*|REM\\s+)#endregion")}}},n={defaultToken:"",ignoreCase:!0,tokenPostfix:".bat",brackets:[{token:"delimiter.bracket",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"}],keywords:/call|defined|echo|errorlevel|exist|for|goto|if|pause|set|shift|start|title|not|pushd|popd/,symbols:/[=><!~?&|+\-*\/\^;\.,]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/^(\s*)(rem(?:\s.*|))$/,["","comment"]],[/(\@?)(@keywords)(?!\w)/,[{token:"keyword"},{token:"keyword.$2"}]],[/[ \t\r\n]+/,""],[/setlocal(?!\w)/,"keyword.tag-setlocal"],[/endlocal(?!\w)/,"keyword.tag-setlocal"],[/[a-zA-Z_]\w*/,""],[/:\w*/,"metatag"],[/%[^%]+%/,"variable"],[/%%[\w]+(?!\w)/,"variable"],[/[{}()\[\]]/,"@brackets"],[/@symbols/,"delimiter"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F_]*[0-9a-fA-F]/,"number.hex"],[/\d+/,"number"],[/[;,.]/,"delimiter"],[/"/,"string",'@string."'],[/'/,"string","@string.'"]],string:[[/[^\\"'%]+/,{cases:{"@eos":{token:"string",next:"@popall"},"@default":"string"}}],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/%[\w ]+%/,"variable"],[/%%[\w]+(?!\w)/,"variable"],[/["']/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}],[/$/,"string","@popall"]]}};export{t as conf,n as language};
@@ -1,2 +1,2 @@
1
- (function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};e.SENTRY_RELEASE={id:"db-studio@1.18.0"};var n=new e.Error().stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="6f8aa1b6-e914-4261-b615-33cc7f55ccba",e._sentryDebugIdIdentifier="sentry-dbid-6f8aa1b6-e914-4261-b615-33cc7f55ccba")}catch{}})();var t=e=>`\\b${e}\\b`,o=t("[_a-zA-Z][_a-zA-Z0-9]*"),r=["targetScope","resource","module","param","var","output","for","in","if","existing"],i=["true","false","null"],a="[ \\t\\r\\n]",s="[0-9]+",g={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"'",close:"'"},{open:"'''",close:"'''"}],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"'",close:"'",notIn:["string","comment"]},{open:"'''",close:"'''",notIn:["string","comment"]}],autoCloseBefore:`:.,=}])'
1
+ (function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};e.SENTRY_RELEASE={id:"db-studio@1.19.0"};var n=new e.Error().stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="6f8aa1b6-e914-4261-b615-33cc7f55ccba",e._sentryDebugIdIdentifier="sentry-dbid-6f8aa1b6-e914-4261-b615-33cc7f55ccba")}catch{}})();var t=e=>`\\b${e}\\b`,o=t("[_a-zA-Z][_a-zA-Z0-9]*"),r=["targetScope","resource","module","param","var","output","for","in","if","existing"],i=["true","false","null"],a="[ \\t\\r\\n]",s="[0-9]+",g={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"'",close:"'"},{open:"'''",close:"'''"}],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"'",close:"'",notIn:["string","comment"]},{open:"'''",close:"'''",notIn:["string","comment"]}],autoCloseBefore:`:.,=}])'
2
2
  `,indentationRules:{increaseIndentPattern:new RegExp("^((?!\\/\\/).)*(\\{[^}\"'`]*|\\([^)\"'`]*|\\[[^\\]\"'`]*)$"),decreaseIndentPattern:new RegExp("^((?!.*?\\/\\*).*\\*/)?\\s*[\\}\\]].*$")}},l={defaultToken:"",tokenPostfix:".bicep",brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"}],symbols:/[=><!~?:&|+\-*/^%]+/,keywords:r,namedLiterals:i,escapes:"\\\\(u{[0-9A-Fa-f]+}|n|r|t|\\\\|'|\\${)",tokenizer:{root:[{include:"@expression"},{include:"@whitespace"}],stringVerbatim:[{regex:"(|'|'')[^']",action:{token:"string"}},{regex:"'''",action:{token:"string.quote",next:"@pop"}}],stringLiteral:[{regex:"\\${",action:{token:"delimiter.bracket",next:"@bracketCounting"}},{regex:"[^\\\\'$]+",action:{token:"string"}},{regex:"@escapes",action:{token:"string.escape"}},{regex:"\\\\.",action:{token:"string.escape.invalid"}},{regex:"'",action:{token:"string",next:"@pop"}}],bracketCounting:[{regex:"{",action:{token:"delimiter.bracket",next:"@bracketCounting"}},{regex:"}",action:{token:"delimiter.bracket",next:"@pop"}},{include:"expression"}],comment:[{regex:"[^\\*]+",action:{token:"comment"}},{regex:"\\*\\/",action:{token:"comment",next:"@pop"}},{regex:"[\\/*]",action:{token:"comment"}}],whitespace:[{regex:a},{regex:"\\/\\*",action:{token:"comment",next:"@comment"}},{regex:"\\/\\/.*$",action:{token:"comment"}}],expression:[{regex:"'''",action:{token:"string.quote",next:"@stringVerbatim"}},{regex:"'",action:{token:"string.quote",next:"@stringLiteral"}},{regex:s,action:{token:"number"}},{regex:o,action:{cases:{"@keywords":{token:"keyword"},"@namedLiterals":{token:"keyword"},"@default":{token:"identifier"}}}}]}};export{g as conf,l as language};
@@ -0,0 +1 @@
1
+ import{r as me}from"./rolldown-runtime-DglIe7XP.js";import{_ as he}from"./tanstack-DeB5Eprq.js";import{E as ee,Ft as xe,S as B,St as fe,T as be,b as pe,it as ge,jt as ve,k as je,s as M,st as ye,u as Ne}from"./icons-D00FvbYk.js";import{jt as ke}from"./radix-ui-C1Muznox.js";import{n as we}from"./dist-BXhLQctj.js";import{t as q}from"./utils-vY5qZZPu.js";import{n as J}from"./label-r_iGrn1k.js";import{a as Se,i as Z,n as Q,o as m,t as W}from"./tooltip-B_5geL0k.js";import{w as Ce}from"./constants-Ma2YHUjt.js";import{t as Re}from"./database.store-1pbPyu5t.js";import{a as De,c as Me,d as _e,f as Le,i as Te,l as Ee,m as P,n as $e,o as Fe,p as Oe,s as Ae,t as ze,u as Ie}from"./badge-DKcWcYUF.js";import{O as Pe,b as Be,c as Je,l as ie,pt as Ke,v as Y,x as X,y as Ue}from"./index-DvUqe2GZ.js";import{t as Ge}from"./queries.store-BY932Cz6.js";import{a as He,i as Ve,n as S,o as qe,r as Ze,t as D}from"./redis-value-DvqdrDxN.js";(function(){try{var s=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};s.SENTRY_RELEASE={id:"db-studio@1.19.0"};var r=new s.Error().stack;r&&(s._sentryDebugIds=s._sentryDebugIds||{},s._sentryDebugIds[r]="8af56557-36d5-42e0-b98d-eb9a580ec8ff",s._sentryDebugIdIdentifier="sentry-dbid-8af56557-36d5-42e0-b98d-eb9a580ec8ff")}catch{}})();var p=me(xe(),1),e=ke(),le=({text:s,label:r,className:t})=>{const[a,i]=(0,p.useState)(!1);return(0,e.jsxs)(W,{children:[(0,e.jsx)(Z,{asChild:!0,children:(0,e.jsx)(m,{variant:"ghost",size:"icon-sm",className:t,onClick:async()=>{await navigator.clipboard.writeText(typeof s=="function"?s():s),i(!0),window.setTimeout(()=>i(!1),1200)},"aria-label":r,children:a?(0,e.jsx)(fe,{}):(0,e.jsx)(ye,{})})}),(0,e.jsx)(Q,{children:a?"Copied":r})]})},Qe=[{label:"60s",ttlMs:6e4},{label:"10m",ttlMs:6e5},{label:"1h",ttlMs:36e5},{label:"1d",ttlMs:864e5},{label:"7d",ttlMs:6048e5}],We=s=>s===null?"—":s<1024?`${s} B`:s<1048576?`${(s/1024).toFixed(1)} KiB`:`${(s/1048576).toFixed(1)} MiB`,Ye=s=>{const r=Math.max(0,Math.ceil(s/1e3));if(r<60)return`${r}s`;const t=Math.floor(r/60);if(t<60)return`${t}m ${r%60}s`;const a=Math.floor(t/60);return a<24?`${a}h ${t%60}m`:`${Math.floor(a/24)}d ${a%24}h`},Xe=s=>{const[,r]=(0,p.useReducer)(t=>t+1,0);(0,p.useEffect)(()=>{if(!s)return;const t=window.setInterval(r,1e3);return()=>window.clearInterval(t)},[s])},es=({detail:s,label:r,loadedCount:t,fetchedAt:a,isFetching:i,pending:n,command:l,act:o,onRefresh:d,onOpenRunner:h,onDelete:c})=>{const[b,u]=(0,p.useState)(s.key),[_,U]=(0,p.useState)("");Xe(s.ttlMs>0);const C=s.ttlMs>0?s.ttlMs-(Date.now()-a):s.ttlMs,N=s.ttlMs===-1,x=!N&&C<=0,z=[{name:"TTL",value:N?"∞":x?"expired":Ye(C),hint:N?"No expiry — the key persists until deleted.":x?"The TTL elapsed; Redis has evicted or is about to evict this key.":`Expires ${new Date(a+s.ttlMs).toLocaleString()}`,alert:x},{name:"MEM",value:We(s.memoryBytes),hint:"Approximate memory usage reported by MEMORY USAGE."},{name:"LEN",value:s.length?.toLocaleString()??"—",hint:t!==null&&s.length!==null?`${t.toLocaleString()} of ${s.length.toLocaleString()} entries loaded in this view.`:"Length reported by Redis (entries, or bytes for strings)."},{name:"REV",value:s.revision.slice(0,8),hint:"Optimistic-lock revision. Writes are rejected when the key changed since this fetch."},{name:"AT",value:new Date(a).toLocaleTimeString(),hint:"When this snapshot was fetched from Redis."}];return(0,e.jsx)("header",{className:"border-b border-border",children:(0,e.jsxs)("div",{className:"flex min-h-10 items-stretch justify-between",children:[(0,e.jsxs)("div",{className:"flex min-w-0 flex-1 items-stretch overflow-x-auto",children:[(0,e.jsxs)("div",{className:"flex min-w-0 max-w-[min(36rem,45vw)] shrink items-center gap-1 px-3 py-1.5",children:[(0,e.jsx)("code",{className:"min-w-0 truncate text-sm text-foreground",title:r,children:r||"(empty key)"}),(0,e.jsx)(le,{text:s.key.utf8??s.key.base64,label:"Copy key name",className:"shrink-0 text-muted-foreground"}),(0,e.jsx)(ze,{variant:"outline",className:"h-4 shrink-0 rounded-sm px-1.5 text-[8px] font-normal uppercase text-muted-foreground",children:s.type})]}),z.map(({name:v,value:I,hint:L,alert:T},E)=>(0,e.jsxs)(W,{children:[(0,e.jsx)(Z,{asChild:!0,children:(0,e.jsxs)("div",{className:q("flex shrink-0 cursor-default items-center gap-1.5 border-s border-border px-2 text-[10px]",E===z.length-1&&"border-e"),children:[(0,e.jsx)("span",{className:"text-muted-foreground",children:v}),(0,e.jsx)("span",{className:q("tabular-nums",T?"text-destructive":"text-foreground"),children:I})]})}),(0,e.jsx)(Q,{side:"bottom",children:L})]},v))]}),(0,e.jsxs)("div",{className:"flex shrink-0 items-stretch",children:[(0,e.jsxs)(m,{variant:"ghost",size:"sm",className:"h-auto rounded-none border-y-0 border-s border-e-0 border-border px-2",onClick:d,disabled:i,children:[(0,e.jsx)(be,{className:q(i&&"animate-spin")})," Refresh"]}),l&&(0,e.jsxs)(W,{children:[(0,e.jsx)(Z,{asChild:!0,children:(0,e.jsxs)(m,{variant:"ghost",size:"sm",className:"h-auto rounded-none border-y-0 border-s border-e-0 border-border px-2",onClick:h,children:[(0,e.jsx)(Ne,{})," Runner"]})}),(0,e.jsxs)(Q,{side:"bottom",children:["Open in the query runner as ",(0,e.jsx)("code",{className:"font-mono",children:l})]})]}),(0,e.jsxs)($e,{children:[(0,e.jsx)(De,{asChild:!0,children:(0,e.jsxs)(m,{variant:"ghost",size:"sm",className:"h-auto rounded-none border-y-0 border-s border-e-0 border-border px-2",children:[(0,e.jsx)(je,{})," Edit"]})}),(0,e.jsx)(Te,{align:"end",className:"w-72 rounded-sm p-3 font-mono",children:(0,e.jsxs)(Be,{className:"gap-4",children:[(0,e.jsxs)(Y,{className:"gap-1.5",children:[(0,e.jsx)(X,{htmlFor:"redis-key-rename",children:"Rename key"}),(0,e.jsxs)("form",{className:"flex",onSubmit:v=>{v.preventDefault(),!(b===null||b.base64===s.key.base64||n)&&o({action:"rename",newKey:b})},children:[(0,e.jsx)(S,{id:"redis-key-rename",value:b,onChange:u,className:"rounded-e-none font-mono"}),(0,e.jsx)(m,{type:"submit",size:"icon",className:"h-auto self-stretch rounded-s-none border-0 bg-clip-border",disabled:b===null||b.base64===s.key.base64||n,"aria-label":"Rename key",children:(0,e.jsx)(ve,{})})]})]}),(0,e.jsxs)(Y,{className:"gap-1.5",children:[(0,e.jsx)(X,{htmlFor:"redis-key-ttl-operation",children:"TTL in seconds"}),(0,e.jsxs)("form",{className:"flex",onSubmit:v=>{v.preventDefault(),!n&&o({action:"setTtl",ttlMs:_?Number(_)*1e3:null})},children:[(0,e.jsx)(J,{id:"redis-key-ttl-operation",type:"number",min:1,value:_,onChange:v=>U(v.target.value),placeholder:s.ttlMs>0?String(Math.ceil(s.ttlMs/1e3)):"Persistent",className:"rounded-e-none font-mono"}),(0,e.jsx)(m,{type:"submit",className:"h-auto self-stretch rounded-s-none border-0 bg-clip-border",disabled:n,children:"Apply"})]}),(0,e.jsxs)("div",{className:"flex flex-wrap gap-1",children:[Qe.map(v=>(0,e.jsx)(m,{type:"button",variant:"outline",size:"xs",disabled:n,onClick:()=>o({action:"setTtl",ttlMs:v.ttlMs}),children:v.label},v.label)),(0,e.jsx)(m,{type:"button",variant:"outline",size:"xs",disabled:n||N,onClick:()=>o({action:"setTtl",ttlMs:null}),children:"Persist"})]}),(0,e.jsx)(Ue,{children:"Leave empty to persist the key."})]})]})})]}),(0,e.jsxs)(m,{variant:"destructive",size:"sm",className:"h-auto rounded-none border-y-0 border-s border-e-0 border-border px-2",disabled:n,onClick:c,children:[(0,e.jsx)(M,{})," Delete"]})]})]})})},w=Ve(""),j=s=>s.utf8??`base64:${s.base64}`,$=(s,...r)=>r.some(t=>String(t).toLowerCase().includes(s)),F=s=>{switch(s.kind){case"string":return JSON.stringify(j(s.value),null,2);case"hash":return JSON.stringify(Object.fromEntries(s.entries.map(r=>[j(r.field),j(r.value)])),null,2);case"list":return JSON.stringify(s.entries.map(r=>j(r.value)),null,2);case"set":return JSON.stringify(s.members.map(j),null,2);case"zset":return JSON.stringify(s.entries.map(r=>({member:j(r.member),score:r.score})),null,2);case"stream":return JSON.stringify(s.entries.map(r=>({id:r.id,fields:Object.fromEntries(r.fields.map(t=>[j(t.field),j(t.value)]))})),null,2);default:return""}},K=(s,r)=>{const[t,a]=(0,p.useState)(s),[i,n]=(0,p.useState)(r);return i!==r&&(n(r),a(s)),[t,a]},O=({filtered:s})=>(0,e.jsx)("div",{className:"flex h-10 items-center justify-center px-2 text-xs text-muted-foreground",children:s?"No loaded entries match the filter.":"No entries loaded."}),A=({filter:s,onFilterChange:r,shownCount:t,loadedCount:a,totalCount:i,copyJson:n,extra:l,header:o,children:d,footer:h})=>(0,e.jsxs)("div",{className:"overflow-hidden border border-border",children:[(0,e.jsxs)("div",{className:"flex h-8 items-center gap-1 border-b border-border bg-muted/10 px-1",children:[(0,e.jsx)(pe,{className:"ms-1 size-3 shrink-0 text-muted-foreground"}),(0,e.jsx)(J,{variant:"outline",value:s,onChange:c=>r(c.target.value),placeholder:"Filter loaded entries","aria-label":"Filter loaded entries",className:"h-6 flex-1 rounded-none border-none px-1 font-mono focus-visible:ring-0"}),l,(0,e.jsx)("span",{className:"shrink-0 px-1 text-[10px] tabular-nums text-muted-foreground",children:s?`${t} / ${a}`:i!==null&&i>a?`${a.toLocaleString()} of ${i.toLocaleString()}`:a.toLocaleString()}),(0,e.jsx)(le,{text:n,label:"Copy loaded entries as JSON"})]}),o,d,h]}),se=({labels:s,onSave:r,pending:t,score:a=!1})=>{const[i,n]=(0,p.useState)(w),[l,o]=(0,p.useState)(w),[d,h]=(0,p.useState)("0"),c=i===null||!a&&l===null,b=async u=>{u.preventDefault(),!(i===null||l===null)&&await r(i,a?Number(d):l)&&(n(w),o(w),h("0"))};return(0,e.jsxs)("form",{onSubmit:b,className:"grid grid-cols-[1fr_1fr_auto] items-center gap-2 border-t border-border bg-muted/10 p-2",children:[(0,e.jsx)(S,{value:i,onChange:n,placeholder:s[0]}),a?(0,e.jsx)(J,{type:"number",step:"any",value:d,onChange:u=>h(u.target.value),placeholder:s[1],className:"font-mono"}):(0,e.jsx)(S,{value:l,onChange:o,placeholder:s[1]}),(0,e.jsxs)(m,{type:"submit",disabled:t||c,children:[(0,e.jsx)(ee,{})," Add"]})]})},ss=({value:s,truncated:r,act:t,pending:a,onLoadFull:i,onDownload:n})=>{const[l,o]=K(s,s.base64),d=l!==null&&l.base64!==s.base64;return(0,e.jsxs)("div",{className:"space-y-3",children:[r&&(0,e.jsxs)("div",{className:"grid gap-2 border-b border-border pb-3 sm:grid-cols-[1fr_auto] sm:items-center",children:[(0,e.jsx)(P,{variant:"warning",title:"Preview truncated",message:"Load the full value before editing (up to the 8 MiB response cap).",className:"rounded-sm"}),(0,e.jsx)(m,{variant:"outline",onClick:i,children:"Load full"})]}),(0,e.jsx)(D,{value:s,onDownload:n}),(0,e.jsxs)("form",{onSubmit:h=>{h.preventDefault(),l!==null&&d&&t({action:"setString",value:l})},className:"border border-border p-3",children:[(0,e.jsxs)(Y,{className:"gap-1.5",children:[(0,e.jsx)(X,{htmlFor:"redis-string-value",children:"Replace value"}),(0,e.jsx)(S,{id:"redis-string-value",value:l,onChange:o})]}),(0,e.jsxs)(m,{type:"submit",className:"mt-3",disabled:r||a||!d,children:[(0,e.jsx)(B,{})," Save value"]})]})]})},rs=({field:s,value:r,act:t,pending:a})=>{const[i,n]=K(r,r.base64),l=i!==null&&i.base64!==r.base64;return(0,e.jsxs)("div",{className:"grid min-h-8 grid-cols-[minmax(10rem,0.7fr)_1fr_5rem] items-center gap-2 border-b border-border px-2 py-1",children:[(0,e.jsx)(D,{value:s,compact:!0}),(0,e.jsx)(S,{value:i,onChange:n}),(0,e.jsxs)("div",{className:"flex",children:[(0,e.jsx)(m,{variant:"ghost",size:"icon-sm",className:l?"text-primary":void 0,disabled:a||!l,onClick:()=>i!==null&&t({action:"upsertHash",field:s,value:i}),"aria-label":"Save hash value",children:(0,e.jsx)(B,{})}),(0,e.jsx)(m,{variant:"ghost",size:"icon-sm",className:"text-muted-foreground hover:text-destructive",disabled:a,onClick:()=>t({action:"deleteHash",field:s}),"aria-label":"Delete hash field",children:(0,e.jsx)(M,{})})]})]})},ts=({value:s,total:r,act:t,pending:a})=>{const[i,n]=(0,p.useState)(""),l=i.trim().toLowerCase(),o=l?s.entries.filter(d=>$(l,j(d.field),j(d.value))):s.entries;return(0,e.jsx)(A,{filter:i,onFilterChange:n,shownCount:o.length,loadedCount:s.entries.length,totalCount:r,copyJson:()=>F(s),header:(0,e.jsxs)("div",{className:"grid h-8 grid-cols-[minmax(10rem,0.7fr)_1fr_5rem] items-center border-b border-border bg-muted/20 px-2 text-[10px] uppercase tracking-wider text-muted-foreground",children:[(0,e.jsx)("span",{children:"Field"}),(0,e.jsx)("span",{children:"Value"}),(0,e.jsx)("span",{})]}),footer:(0,e.jsx)(se,{labels:["field","value"],pending:a,onSave:(d,h)=>t({action:"upsertHash",field:d,value:h})}),children:o.length===0?(0,e.jsx)(O,{filtered:l.length>0}):o.map(d=>(0,e.jsx)(rs,{field:d.field,value:d.value,act:t,pending:a},d.field.base64))})},as=({index:s,value:r,revision:t,act:a,pending:i})=>{const[n,l]=K(r,`${t}:${r.base64}`),o=n!==null&&n.base64!==r.base64;return(0,e.jsxs)("div",{className:"grid min-h-8 grid-cols-[3rem_1fr_5rem] items-center gap-2 border-b border-border px-2 py-1",children:[(0,e.jsx)("code",{className:"text-xs text-muted-foreground",children:s}),(0,e.jsx)(S,{value:n,onChange:l}),(0,e.jsxs)("div",{className:"flex",children:[(0,e.jsx)(m,{variant:"ghost",size:"icon-sm",className:o?"text-primary":void 0,disabled:i||!o,onClick:()=>n!==null&&a({action:"setList",index:s,value:n}),"aria-label":`Save list item ${s}`,children:(0,e.jsx)(B,{})}),(0,e.jsx)(m,{variant:"ghost",size:"icon-sm",className:"text-muted-foreground hover:text-destructive",disabled:i,onClick:()=>a({action:"deleteList",index:s}),"aria-label":`Delete list item ${s}`,children:(0,e.jsx)(M,{})})]})]})},ns=({value:s,revision:r,total:t,act:a,pending:i})=>{const[n,l]=(0,p.useState)(""),[o,d]=(0,p.useState)(w),h=n.trim().toLowerCase(),c=h?s.entries.filter(u=>$(h,u.index,j(u.value))):s.entries,b=async u=>{o!==null&&await a({action:"pushList",side:u,value:o})&&d(w)};return(0,e.jsx)(A,{filter:n,onFilterChange:l,shownCount:c.length,loadedCount:s.entries.length,totalCount:t,copyJson:()=>F(s),header:(0,e.jsxs)("div",{className:"grid h-8 grid-cols-[3rem_1fr_5rem] items-center border-b border-border bg-muted/20 px-2 text-[10px] uppercase tracking-wider text-muted-foreground",children:[(0,e.jsx)("span",{children:"Index"}),(0,e.jsx)("span",{children:"Value"}),(0,e.jsx)("span",{})]}),footer:(0,e.jsxs)("form",{onSubmit:u=>{u.preventDefault(),b("right")},className:"grid grid-cols-[1fr_auto_auto] items-center gap-2 border-t border-border bg-muted/10 p-2",children:[(0,e.jsx)(S,{value:o,onChange:d,placeholder:"new item"}),(0,e.jsx)(m,{type:"button",variant:"outline",disabled:i||o===null,onClick:()=>b("left"),children:"Push left"}),(0,e.jsx)(m,{type:"submit",disabled:i||o===null,children:"Push right"})]}),children:c.length===0?(0,e.jsx)(O,{filtered:h.length>0}):c.map(u=>(0,e.jsx)(as,{index:u.index,value:u.value,revision:r,act:a,pending:i},u.index))})},is=({value:s,total:r,act:t,pending:a})=>{const[i,n]=(0,p.useState)(""),[l,o]=(0,p.useState)(w),d=i.trim().toLowerCase(),h=d?s.members.filter(c=>$(d,j(c))):s.members;return(0,e.jsx)(A,{filter:i,onFilterChange:n,shownCount:h.length,loadedCount:s.members.length,totalCount:r,copyJson:()=>F(s),header:(0,e.jsxs)("div",{className:"grid h-8 grid-cols-[1fr_2rem] items-center border-b border-border bg-muted/20 px-2 text-[10px] uppercase tracking-wider text-muted-foreground",children:[(0,e.jsx)("span",{children:"Member"}),(0,e.jsx)("span",{})]}),footer:(0,e.jsxs)("form",{onSubmit:async c=>{c.preventDefault(),l!==null&&await t({action:"addSet",member:l})&&o(w)},className:"grid grid-cols-[1fr_auto] items-center gap-2 border-t border-border bg-muted/10 p-2",children:[(0,e.jsx)(S,{value:l,onChange:o,placeholder:"new member"}),(0,e.jsxs)(m,{type:"submit",disabled:a||l===null,children:[(0,e.jsx)(ee,{})," Add member"]})]}),children:h.length===0?(0,e.jsx)(O,{filtered:d.length>0}):h.map(c=>(0,e.jsxs)("div",{className:"flex min-h-8 items-center gap-2 border-b border-border px-2 py-1",children:[(0,e.jsx)("span",{className:"min-w-0 flex-1",children:(0,e.jsx)(D,{value:c,compact:!0})}),(0,e.jsx)(m,{variant:"ghost",size:"icon-sm",className:"text-muted-foreground hover:text-destructive",disabled:a,onClick:()=>t({action:"removeSet",member:c}),"aria-label":"Remove set member",children:(0,e.jsx)(M,{})})]},c.base64))})},ls=({member:s,score:r,act:t,pending:a})=>{const[i,n]=K(String(r),String(r)),l=Number(i),o=i!==String(r);return(0,e.jsxs)("div",{className:"grid min-h-8 grid-cols-[1fr_8rem_5rem] items-center gap-2 border-b border-border px-2 py-1",children:[(0,e.jsx)(D,{value:s,compact:!0}),(0,e.jsx)(J,{inputMode:"decimal",value:i,onChange:d=>n(d.target.value),"aria-label":"Sorted set score",className:"font-mono"}),(0,e.jsxs)("div",{className:"flex",children:[(0,e.jsx)(m,{variant:"ghost",size:"icon-sm",className:o?"text-primary":void 0,disabled:a||!o||!Number.isFinite(l),onClick:()=>t({action:"upsertZset",member:s,score:l}),"aria-label":"Save sorted set score",children:(0,e.jsx)(B,{})}),(0,e.jsx)(m,{variant:"ghost",size:"icon-sm",className:"text-muted-foreground hover:text-destructive",disabled:a,onClick:()=>t({action:"removeZset",member:s}),"aria-label":"Remove sorted set member",children:(0,e.jsx)(M,{})})]})]})},os=({value:s,total:r,act:t,pending:a})=>{const[i,n]=(0,p.useState)(""),l=i.trim().toLowerCase(),o=l?s.entries.filter(d=>$(l,j(d.member),d.score)):s.entries;return(0,e.jsx)(A,{filter:i,onFilterChange:n,shownCount:o.length,loadedCount:s.entries.length,totalCount:r,copyJson:()=>F(s),header:(0,e.jsxs)("div",{className:"grid h-8 grid-cols-[1fr_8rem_5rem] items-center border-b border-border bg-muted/20 px-2 text-[10px] uppercase tracking-wider text-muted-foreground",children:[(0,e.jsx)("span",{children:"Member"}),(0,e.jsx)("span",{children:"Score"}),(0,e.jsx)("span",{})]}),footer:(0,e.jsx)(se,{score:!0,labels:["member","score"],pending:a,onSave:(d,h)=>t({action:"upsertZset",member:d,score:h})}),children:o.length===0?(0,e.jsx)(O,{filtered:l.length>0}):o.map(d=>(0,e.jsx)(ls,{member:d.member,score:d.score,act:t,pending:a},d.member.base64))})},ds=({value:s,total:r,act:t,pending:a,direction:i,onDirectionChange:n})=>{const[l,o]=(0,p.useState)(""),d=l.trim().toLowerCase(),h=d?s.entries.filter(c=>$(d,c.id,...c.fields.flatMap(b=>[j(b.field),j(b.value)]))):s.entries;return(0,e.jsx)(A,{filter:l,onFilterChange:o,shownCount:h.length,loadedCount:s.entries.length,totalCount:r,copyJson:()=>F(s),extra:(0,e.jsxs)(Je,{type:"single",variant:"ghost",size:"sm",value:i,onValueChange:c=>c&&n(c),"aria-label":"Stream order",className:"shrink-0 rounded-none",children:[(0,e.jsx)(ie,{value:"forward",className:"h-6 rounded-none px-2 text-[10px]",children:"Oldest first"}),(0,e.jsx)(ie,{value:"backward",className:"h-6 rounded-none px-2 text-[10px]",children:"Newest first"})]}),header:(0,e.jsxs)("div",{className:"grid h-8 grid-cols-[10rem_1fr_2rem] items-center border-b border-border bg-muted/20 px-2 text-[10px] uppercase tracking-wider text-muted-foreground",children:[(0,e.jsx)("span",{children:"Entry ID"}),(0,e.jsx)("span",{children:"Fields"}),(0,e.jsx)("span",{})]}),footer:(0,e.jsx)(se,{labels:["field","value"],pending:a,onSave:(c,b)=>t({action:"appendStream",id:"*",fields:[{field:c,value:b}]})}),children:h.length===0?(0,e.jsx)(O,{filtered:d.length>0}):h.map(c=>(0,e.jsxs)("div",{className:"grid grid-cols-[10rem_1fr_2rem] border-b border-border",children:[(0,e.jsx)("code",{className:"border-e border-border px-2 py-1.5 text-xs text-primary",children:c.id}),(0,e.jsx)("div",{className:"grid gap-1 px-2 py-1.5",children:c.fields.map(b=>(0,e.jsxs)("div",{className:"grid grid-cols-[minmax(8rem,0.4fr)_1fr] gap-3",children:[(0,e.jsx)(D,{value:b.field,compact:!0}),(0,e.jsx)(D,{value:b.value,compact:!0})]},b.field.base64))}),(0,e.jsx)(m,{variant:"ghost",size:"icon-sm",className:"rounded-none text-muted-foreground hover:text-destructive",disabled:a,onClick:()=>t({action:"deleteStream",id:c.id}),"aria-label":`Delete stream entry ${c.id}`,children:(0,e.jsx)(M,{})})]},c.id))})},cs=({detail:s,act:r,pending:t,onLoadFull:a,onDownload:i,streamDirection:n,onStreamDirectionChange:l})=>{const o=s.value;switch(o.kind){case"string":return(0,e.jsx)(ss,{value:o.value,truncated:o.truncated,act:r,pending:t,onLoadFull:a,onDownload:i});case"hash":return(0,e.jsx)(ts,{value:o,total:s.length,act:r,pending:t});case"list":return(0,e.jsx)(ns,{value:o,revision:s.revision,total:s.length,act:r,pending:t});case"set":return(0,e.jsx)(is,{value:o,total:s.length,act:r,pending:t});case"zset":return(0,e.jsx)(os,{value:o,total:s.length,act:r,pending:t});case"stream":return(0,e.jsx)(ds,{value:o,total:s.length,act:r,pending:t,direction:n,onDirectionChange:l});default:return(0,e.jsx)(P,{variant:"info",title:"Metadata only",message:"This Redis module type cannot be edited in this release.",className:"rounded-sm"})}},us=s=>{if(s.key.utf8===void 0)return null;const r=JSON.stringify(s.key.utf8);switch(s.type){case"string":return`GET ${r}`;case"hash":return`HGETALL ${r}`;case"list":return`LRANGE ${r} 0 -1`;case"set":return`SMEMBERS ${r}`;case"zset":return`ZRANGE ${r} 0 -1 WITHSCORES`;case"stream":return`XRANGE ${r} - + COUNT 100`;default:return null}},ms=s=>{switch(s.value.kind){case"hash":case"list":case"zset":case"stream":return s.value.entries.length;case"set":return s.value.members.length;default:return null}},hs=()=>{const s=he(),{selectedDatabase:r}=Re(),{openOverlay:t}=Se(),{addQuery:a,updateQuery:i}=Ge(),[n,l]=Pe("key"),[o,d]=(0,p.useState)(null),[h,c]=(0,p.useState)(null),b=h===n?"backward":"forward",u=He(n,o===n,b),{applyAction:_,deleteKey:U,isPending:C}=qe(),N=u.data?.pages,x=N?.[0],[z,v]=(0,p.useState)(!1),[I,L]=(0,p.useState)(null),T=x?.key.utf8??(x?`binary:${x.key.base64}`:""),E=x?us(x):null,R=(0,p.useMemo)(()=>{if(!x||!N||N.length===1)return x;const f=structuredClone(x);for(const g of N.slice(1))f.value.kind==="hash"&&g.value.kind==="hash"&&f.value.entries.push(...g.value.entries),f.value.kind==="list"&&g.value.kind==="list"&&f.value.entries.push(...g.value.entries),f.value.kind==="set"&&g.value.kind==="set"&&f.value.members.push(...g.value.members),f.value.kind==="zset"&&g.value.kind==="zset"&&f.value.entries.push(...g.value.entries),f.value.kind==="stream"&&g.value.kind==="stream"&&f.value.entries.push(...g.value.entries);return f},[x,N]),G=R?ms(R):null,H=async(f,g=!1)=>{if(!n||!x)return!1;try{const k=await _(n,{expectedRevision:x.revision,force:g,operation:f});return L(null),k.deleted?l(null):(k.key.base64||"-")!==n&&l(k.key.base64||"-"),!0}catch(k){return k.status===409&&L(f),!1}},oe=()=>{if(!E)return;const f=a(`redis: ${T.slice(0,40)}`);i(f,{query:E}),s({to:"/runner/$queryId",params:{queryId:f}})},de=async()=>{if(!n||!x||x.type!=="string")return;const f=[];let g=0,k=!0;for(;k;){const y=(await Ce({db:r??"",key:n,offset:g,expectedRevision:x.revision})).data.data;if(f.push(Ze(y.chunk.base64)),k=y.hasMore,y.hasMore&&(y.nextOffset===null||y.nextOffset<=g))throw new Error("Redis download made no forward progress");g=y.nextOffset??g}const ce=f.reduce((y,ue)=>y+ue.length,0),te=new Uint8Array(ce);let ae=0;for(const y of f)te.set(y,ae),ae+=y.length;const ne=URL.createObjectURL(new Blob([te.buffer])),V=document.createElement("a");V.href=ne,V.download=`${x.key.utf8?.replaceAll(/[^\w.-]+/g,"_")||"redis-value"}.bin`,V.click(),URL.revokeObjectURL(ne)};if(!n)return(0,e.jsx)("main",{className:"flex flex-1 items-center justify-center bg-background font-mono",children:(0,e.jsxs)("div",{className:"max-w-sm text-center",children:[(0,e.jsx)(ge,{className:"mx-auto mb-3 size-5 text-muted-foreground"}),(0,e.jsx)("h1",{className:"text-sm font-medium text-foreground",children:"No key selected"}),(0,e.jsx)("p",{className:"mt-1 text-xs leading-5 text-muted-foreground",children:"Select a key from the navigator or create one to inspect its value."}),(0,e.jsxs)(m,{variant:"outline",className:"mt-3",onClick:()=>t("redis-browser.create-key"),children:[(0,e.jsx)(ee,{})," Create key"]})]})});if(u.isLoading)return(0,e.jsx)("main",{className:"flex flex-1 items-center justify-center",children:(0,e.jsx)(Ke,{})});if(u.error||!x||!R)return(0,e.jsx)("main",{className:"flex flex-1 items-center justify-center bg-background p-4",children:(0,e.jsxs)("div",{className:"w-full max-w-md text-center",children:[(0,e.jsx)(P,{variant:"error",title:"Unable to load key",message:u.error?.message??"The key no longer exists.",className:"rounded-sm text-start"}),(0,e.jsx)(m,{variant:"outline",className:"mt-4",onClick:()=>l(null),children:"Back to keyspace"})]})});const re=R.length!==null&&G!==null?Math.max(0,R.length-G):null;return(0,e.jsxs)("main",{className:"flex min-h-0 flex-1 flex-col bg-background font-mono",children:[(0,e.jsx)(es,{detail:x,label:T,loadedCount:G,fetchedAt:u.dataUpdatedAt,isFetching:u.isFetching,pending:C,command:E,act:H,onRefresh:()=>u.refetch(),onOpenRunner:oe,onDelete:()=>v(!0)},x.key.base64),(0,e.jsx)(Fe,{open:z,onOpenChange:v,children:(0,e.jsxs)(Ee,{children:[(0,e.jsxs)(Le,{children:[(0,e.jsx)(Oe,{children:"Delete key"}),(0,e.jsxs)(Ie,{children:["Are you sure you want to delete"," ",(0,e.jsx)("code",{className:"break-all text-foreground",children:T||"(empty key)"}),"? This action cannot be undone."]})]}),(0,e.jsxs)(_e,{children:[(0,e.jsx)(Me,{children:"Cancel"}),(0,e.jsx)(Ae,{variant:"destructive",onClick:async()=>{v(!1);try{await U(n,x.revision),l(null)}catch{}},children:"Delete"})]})]})}),I&&(0,e.jsxs)("div",{className:"grid gap-2 border-b border-border p-2 sm:grid-cols-[1fr_auto] sm:items-center",children:[(0,e.jsx)(P,{variant:"warning",title:"Revision conflict",message:"This key changed on the server. Reload it or overwrite with the pending change.",className:"rounded-sm py-2"}),(0,e.jsxs)("div",{className:"flex gap-2",children:[(0,e.jsx)(m,{variant:"outline",onClick:()=>{L(null),u.refetch()},children:"Reload"}),(0,e.jsx)(m,{disabled:C,onClick:()=>H(I,!0),children:"Overwrite"})]})]}),(0,e.jsx)("div",{className:"min-h-0 flex-1 overflow-auto",children:(0,e.jsxs)("section",{className:"p-3",children:[(0,e.jsx)(cs,{detail:R,act:H,pending:C,onLoadFull:()=>d(n),onDownload:()=>{we.promise(de(),{loading:"Downloading original Redis bytes…",success:"Redis value downloaded",error:f=>f.message||"Download failed"})},streamDirection:b,onStreamDirectionChange:f=>c(f==="backward"?n:null)},x.key.base64),u.hasNextPage&&(0,e.jsx)(m,{variant:"outline",className:"mt-3 w-full",onClick:()=>u.fetchNextPage(),disabled:u.isFetchingNextPage,children:u.isFetchingNextPage?"Loading…":x.type==="stream"&&b==="backward"?"Load 100 older entries":`Load next 100${re!==null?` (${re.toLocaleString()} remaining)`:""}`})]})})]})},Ds=hs;export{Ds as component};