db-studio 1.2.7 → 1.2.9

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 (520) hide show
  1. package/dist/index.js +44 -44
  2. package/dist/index.js.map +1 -1
  3. package/package.json +4 -8
  4. package/dist/core-dist/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  5. package/dist/core-dist/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  6. package/dist/core-dist/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  7. package/dist/core-dist/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  8. package/dist/core-dist/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  9. package/dist/core-dist/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  10. package/dist/core-dist/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  11. package/dist/core-dist/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  12. package/dist/core-dist/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  13. package/dist/core-dist/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  14. package/dist/core-dist/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  15. package/dist/core-dist/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  16. package/dist/core-dist/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  17. package/dist/core-dist/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  18. package/dist/core-dist/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  19. package/dist/core-dist/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  20. package/dist/core-dist/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  21. package/dist/core-dist/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  22. package/dist/core-dist/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  23. package/dist/core-dist/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  24. package/dist/core-dist/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  25. package/dist/core-dist/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  26. package/dist/core-dist/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  27. package/dist/core-dist/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  28. package/dist/core-dist/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  29. package/dist/core-dist/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  30. package/dist/core-dist/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  31. package/dist/core-dist/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  32. package/dist/core-dist/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  33. package/dist/core-dist/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  34. package/dist/core-dist/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  35. package/dist/core-dist/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  36. package/dist/core-dist/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  37. package/dist/core-dist/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  38. package/dist/core-dist/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  39. package/dist/core-dist/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  40. package/dist/core-dist/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  41. package/dist/core-dist/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  42. package/dist/core-dist/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  43. package/dist/core-dist/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  44. package/dist/core-dist/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  45. package/dist/core-dist/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  46. package/dist/core-dist/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  47. package/dist/core-dist/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  48. package/dist/core-dist/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  49. package/dist/core-dist/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  50. package/dist/core-dist/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  51. package/dist/core-dist/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  52. package/dist/core-dist/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  53. package/dist/core-dist/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  54. package/dist/core-dist/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  55. package/dist/core-dist/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  56. package/dist/core-dist/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  57. package/dist/core-dist/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  58. package/dist/core-dist/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  59. package/dist/core-dist/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  60. package/dist/core-dist/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  61. package/dist/core-dist/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  62. package/dist/core-dist/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  63. package/dist/core-dist/assets/_baseUniq-DeTP8pep.js +0 -1
  64. package/dist/core-dist/assets/_queryId-xb71ELMT.js +0 -1
  65. package/dist/core-dist/assets/_table-CPYKXxJK.js +0 -1
  66. package/dist/core-dist/assets/abap-BdImnpbu.js +0 -1
  67. package/dist/core-dist/assets/abap-DLDM7-KI.js +0 -1
  68. package/dist/core-dist/assets/actionscript-3-CfeIJUat.js +0 -1
  69. package/dist/core-dist/assets/ada-bCR0ucgS.js +0 -1
  70. package/dist/core-dist/assets/andromeeda-C-Jbm3Hp.js +0 -1
  71. package/dist/core-dist/assets/angular-html-CU67Zn6k.js +0 -1
  72. package/dist/core-dist/assets/angular-ts-BwZT4LLn.js +0 -1
  73. package/dist/core-dist/assets/apache-Pmp26Uib.js +0 -1
  74. package/dist/core-dist/assets/apex-D8_7TLub.js +0 -1
  75. package/dist/core-dist/assets/apex-DNDY2TF8.js +0 -1
  76. package/dist/core-dist/assets/apl-dKokRX4l.js +0 -1
  77. package/dist/core-dist/assets/applescript-Co6uUVPk.js +0 -1
  78. package/dist/core-dist/assets/ara-BRHolxvo.js +0 -1
  79. package/dist/core-dist/assets/arc-BoR-jFRR.js +0 -1
  80. package/dist/core-dist/assets/architectureDiagram-VXUJARFQ-CZLHhedK.js +0 -36
  81. package/dist/core-dist/assets/asciidoc-Dv7Oe6Be.js +0 -1
  82. package/dist/core-dist/assets/asm-D_Q5rh1f.js +0 -1
  83. package/dist/core-dist/assets/astro-CbQHKStN.js +0 -1
  84. package/dist/core-dist/assets/aurora-x-D-2ljcwZ.js +0 -1
  85. package/dist/core-dist/assets/awk-DMzUqQB5.js +0 -1
  86. package/dist/core-dist/assets/ayu-dark-CmMr59Fi.js +0 -1
  87. package/dist/core-dist/assets/azcli-Y6nb8tq_.js +0 -1
  88. package/dist/core-dist/assets/ballerina-BFfxhgS-.js +0 -1
  89. package/dist/core-dist/assets/bat-BkioyH1T.js +0 -1
  90. package/dist/core-dist/assets/bat-BwHxbl9M.js +0 -1
  91. package/dist/core-dist/assets/beancount-k_qm7-4y.js +0 -1
  92. package/dist/core-dist/assets/berry-uYugtg8r.js +0 -1
  93. package/dist/core-dist/assets/bibtex-CHM0blh-.js +0 -1
  94. package/dist/core-dist/assets/bicep-Bmn6On1c.js +0 -1
  95. package/dist/core-dist/assets/bicep-CFznDFnq.js +0 -2
  96. package/dist/core-dist/assets/blade-D4QpJJKB.js +0 -1
  97. package/dist/core-dist/assets/blockDiagram-VD42YOAC-CeAErDmg.js +0 -122
  98. package/dist/core-dist/assets/bsl-BO_Y6i37.js +0 -1
  99. package/dist/core-dist/assets/c-BIGW1oBm.js +0 -1
  100. package/dist/core-dist/assets/c3-VCDPK7BO.js +0 -1
  101. package/dist/core-dist/assets/c4Diagram-YG6GDRKO-OSVEUkvh.js +0 -10
  102. package/dist/core-dist/assets/cadence-Bv_4Rxtq.js +0 -1
  103. package/dist/core-dist/assets/cairo-KRGpt6FW.js +0 -1
  104. package/dist/core-dist/assets/cameligo-Bf6VGUru.js +0 -1
  105. package/dist/core-dist/assets/catppuccin-frappe-DFWUc33u.js +0 -1
  106. package/dist/core-dist/assets/catppuccin-latte-C9dUb6Cb.js +0 -1
  107. package/dist/core-dist/assets/catppuccin-macchiato-DQyhUUbL.js +0 -1
  108. package/dist/core-dist/assets/catppuccin-mocha-D87Tk5Gz.js +0 -1
  109. package/dist/core-dist/assets/channel-CNjzrXvL.js +0 -1
  110. package/dist/core-dist/assets/chunk-4BX2VUAB-BEVdK-cK.js +0 -1
  111. package/dist/core-dist/assets/chunk-55IACEB6-BhPxNRfI.js +0 -1
  112. package/dist/core-dist/assets/chunk-B4BG7PRW-BIYfgIK7.js +0 -165
  113. package/dist/core-dist/assets/chunk-DI55MBZ5-usB5CT3s.js +0 -220
  114. package/dist/core-dist/assets/chunk-FMBD7UC4-D_zfIsjm.js +0 -15
  115. package/dist/core-dist/assets/chunk-QN33PNHL-BZgTlwI6.js +0 -1
  116. package/dist/core-dist/assets/chunk-QZHKN3VN-DVUwvM1e.js +0 -1
  117. package/dist/core-dist/assets/chunk-TZMSLE5B-D0G1xb6O.js +0 -1
  118. package/dist/core-dist/assets/clarity-D53aC0YG.js +0 -1
  119. package/dist/core-dist/assets/classDiagram-2ON5EDUG-BhJm11nN.js +0 -1
  120. package/dist/core-dist/assets/classDiagram-v2-WZHVMYZB-BhJm11nN.js +0 -1
  121. package/dist/core-dist/assets/clojure-Dnu-v4kV.js +0 -1
  122. package/dist/core-dist/assets/clojure-P80f7IUj.js +0 -1
  123. package/dist/core-dist/assets/clone-CpKDUrON.js +0 -1
  124. package/dist/core-dist/assets/cmake-D1j8_8rp.js +0 -1
  125. package/dist/core-dist/assets/cobol-nwyudZeR.js +0 -1
  126. package/dist/core-dist/assets/code-block-IT6T5CEO-CVoIiHLl.js +0 -154
  127. package/dist/core-dist/assets/codeowners-Bp6g37R7.js +0 -1
  128. package/dist/core-dist/assets/codeql-DsOJ9woJ.js +0 -1
  129. package/dist/core-dist/assets/codicon-ngg6Pgfi.ttf +0 -0
  130. package/dist/core-dist/assets/coffee-Bd8akH9Z.js +0 -1
  131. package/dist/core-dist/assets/coffee-Ch7k5sss.js +0 -1
  132. package/dist/core-dist/assets/common-lisp-Cg-RD9OK.js +0 -1
  133. package/dist/core-dist/assets/coq-DkFqJrB1.js +0 -1
  134. package/dist/core-dist/assets/cose-bilkent-S5V4N54A-mPMfO63b.js +0 -1
  135. package/dist/core-dist/assets/cpp-BbWJElDN.js +0 -1
  136. package/dist/core-dist/assets/cpp-CofmeUqb.js +0 -1
  137. package/dist/core-dist/assets/crystal-tKQVLTB8.js +0 -1
  138. package/dist/core-dist/assets/csharp-Co3qMtFm.js +0 -1
  139. package/dist/core-dist/assets/csharp-K5feNrxe.js +0 -1
  140. package/dist/core-dist/assets/csp-D-4FJmMZ.js +0 -1
  141. package/dist/core-dist/assets/css-DPfMkruS.js +0 -1
  142. package/dist/core-dist/assets/css-DdJfP1eB.js +0 -3
  143. package/dist/core-dist/assets/css.worker-DBVD8oXr.js +0 -93
  144. package/dist/core-dist/assets/cssMode-BbbavvFK.js +0 -1
  145. package/dist/core-dist/assets/csv-fuZLfV_i.js +0 -1
  146. package/dist/core-dist/assets/cue-D82EKSYY.js +0 -1
  147. package/dist/core-dist/assets/cypher-COkxafJQ.js +0 -1
  148. package/dist/core-dist/assets/cypher-cTPe9QuQ.js +0 -1
  149. package/dist/core-dist/assets/cytoscape.esm-5J0xJHOV.js +0 -321
  150. package/dist/core-dist/assets/d-85-TOEBH.js +0 -1
  151. package/dist/core-dist/assets/dagre-6UL2VRFP-C2kq_KdG.js +0 -4
  152. package/dist/core-dist/assets/dark-plus-C3mMm8J8.js +0 -1
  153. package/dist/core-dist/assets/dart-BOtBlQCF.js +0 -1
  154. package/dist/core-dist/assets/dart-CF10PKvl.js +0 -1
  155. package/dist/core-dist/assets/dax-CEL-wOlO.js +0 -1
  156. package/dist/core-dist/assets/defaultLocale-C4B-KCzX.js +0 -1
  157. package/dist/core-dist/assets/desktop-BmXAJ9_W.js +0 -1
  158. package/dist/core-dist/assets/diagram-PSM6KHXK-dnGx_20I.js +0 -24
  159. package/dist/core-dist/assets/diagram-QEK2KX5R-DUffoXTA.js +0 -43
  160. package/dist/core-dist/assets/diagram-S2PKOQOG-DknjRkcy.js +0 -24
  161. package/dist/core-dist/assets/diff-D97Zzqfu.js +0 -1
  162. package/dist/core-dist/assets/docker-BcOcwvcX.js +0 -1
  163. package/dist/core-dist/assets/dockerfile-BG73LgW2.js +0 -1
  164. package/dist/core-dist/assets/dotenv-Da5cRb03.js +0 -1
  165. package/dist/core-dist/assets/dracula-BzJJZx-M.js +0 -1
  166. package/dist/core-dist/assets/dracula-soft-BXkSAIEj.js +0 -1
  167. package/dist/core-dist/assets/dream-maker-BtqSS_iP.js +0 -1
  168. package/dist/core-dist/assets/ecl-BEgZUVRK.js +0 -1
  169. package/dist/core-dist/assets/edge-BkV0erSs.js +0 -1
  170. package/dist/core-dist/assets/elixir-BkW5O-1t.js +0 -1
  171. package/dist/core-dist/assets/elixir-CDX3lj18.js +0 -1
  172. package/dist/core-dist/assets/elm-DbKCFpqz.js +0 -1
  173. package/dist/core-dist/assets/emacs-lisp-C9XAeP06.js +0 -1
  174. package/dist/core-dist/assets/erDiagram-Q2GNP2WA-BYhHqY5d.js +0 -60
  175. package/dist/core-dist/assets/erb-BOJIQeun.js +0 -1
  176. package/dist/core-dist/assets/erlang-DsQrWhSR.js +0 -1
  177. package/dist/core-dist/assets/everforest-dark-BgDCqdQA.js +0 -1
  178. package/dist/core-dist/assets/everforest-light-C8M2exoo.js +0 -1
  179. package/dist/core-dist/assets/fennel-BYunw83y.js +0 -1
  180. package/dist/core-dist/assets/fish-BvzEVeQv.js +0 -1
  181. package/dist/core-dist/assets/flow9-BeJ5waoc.js +0 -1
  182. package/dist/core-dist/assets/flowDiagram-NV44I4VS--B_JCKG9.js +0 -162
  183. package/dist/core-dist/assets/fluent-C4IJs8-o.js +0 -1
  184. package/dist/core-dist/assets/format-cell-value-DJ9wR-dS.js +0 -7
  185. package/dist/core-dist/assets/fortran-fixed-form-CkoXwp7k.js +0 -1
  186. package/dist/core-dist/assets/fortran-free-form-BxgE0vQu.js +0 -1
  187. package/dist/core-dist/assets/freemarker2-C8JhQdZP.js +0 -3
  188. package/dist/core-dist/assets/fsharp-CXgrBDvD.js +0 -1
  189. package/dist/core-dist/assets/fsharp-PahG7c26.js +0 -1
  190. package/dist/core-dist/assets/ganttDiagram-JELNMOA3-fwVvPSFQ.js +0 -267
  191. package/dist/core-dist/assets/gdresource-B7Tvp0Sc.js +0 -1
  192. package/dist/core-dist/assets/gdscript-DTMYz4Jt.js +0 -1
  193. package/dist/core-dist/assets/gdshader-DkwncUOv.js +0 -1
  194. package/dist/core-dist/assets/genie-D0YGMca9.js +0 -1
  195. package/dist/core-dist/assets/gherkin-DyxjwDmM.js +0 -1
  196. package/dist/core-dist/assets/git-commit-F4YmCXRG.js +0 -1
  197. package/dist/core-dist/assets/git-rebase-r7XF79zn.js +0 -1
  198. package/dist/core-dist/assets/gitGraphDiagram-NY62KEGX-B1Rw385f.js +0 -65
  199. package/dist/core-dist/assets/github-dark-DHJKELXO.js +0 -1
  200. package/dist/core-dist/assets/github-dark-default-Cuk6v7N8.js +0 -1
  201. package/dist/core-dist/assets/github-dark-dimmed-DH5Ifo-i.js +0 -1
  202. package/dist/core-dist/assets/github-dark-high-contrast-E3gJ1_iC.js +0 -1
  203. package/dist/core-dist/assets/github-light-DAi9KRSo.js +0 -1
  204. package/dist/core-dist/assets/github-light-default-D7oLnXFd.js +0 -1
  205. package/dist/core-dist/assets/github-light-high-contrast-BfjtVDDH.js +0 -1
  206. package/dist/core-dist/assets/gleam-BspZqrRM.js +0 -1
  207. package/dist/core-dist/assets/glimmer-js-Rg0-pVw9.js +0 -1
  208. package/dist/core-dist/assets/glimmer-ts-U6CK756n.js +0 -1
  209. package/dist/core-dist/assets/glsl-DplSGwfg.js +0 -1
  210. package/dist/core-dist/assets/gn-n2N0HUVH.js +0 -1
  211. package/dist/core-dist/assets/gnuplot-DdkO51Og.js +0 -1
  212. package/dist/core-dist/assets/go-Dn2_MT6a.js +0 -1
  213. package/dist/core-dist/assets/go-acbASCJo.js +0 -1
  214. package/dist/core-dist/assets/graph-B4OompRX.js +0 -1
  215. package/dist/core-dist/assets/graphql-BxJiqAUM.js +0 -1
  216. package/dist/core-dist/assets/graphql-ChdNCCLP.js +0 -1
  217. package/dist/core-dist/assets/groovy-gcz8RCvz.js +0 -1
  218. package/dist/core-dist/assets/gruvbox-dark-hard-CFHQjOhq.js +0 -1
  219. package/dist/core-dist/assets/gruvbox-dark-medium-GsRaNv29.js +0 -1
  220. package/dist/core-dist/assets/gruvbox-dark-soft-CVdnzihN.js +0 -1
  221. package/dist/core-dist/assets/gruvbox-light-hard-CH1njM8p.js +0 -1
  222. package/dist/core-dist/assets/gruvbox-light-medium-DRw_LuNl.js +0 -1
  223. package/dist/core-dist/assets/gruvbox-light-soft-hJgmCMqR.js +0 -1
  224. package/dist/core-dist/assets/hack-CaT9iCJl.js +0 -1
  225. package/dist/core-dist/assets/haml-B8DHNrY2.js +0 -1
  226. package/dist/core-dist/assets/handlebars-B9xzXuR2.js +0 -1
  227. package/dist/core-dist/assets/handlebars-BL8al0AC.js +0 -1
  228. package/dist/core-dist/assets/haskell-Df6bDoY_.js +0 -1
  229. package/dist/core-dist/assets/haxe-CzTSHFRz.js +0 -1
  230. package/dist/core-dist/assets/hcl-BWvSN4gD.js +0 -1
  231. package/dist/core-dist/assets/hcl-DtV1sZF8.js +0 -1
  232. package/dist/core-dist/assets/hjson-D5-asLiD.js +0 -1
  233. package/dist/core-dist/assets/hlsl-D3lLCCz7.js +0 -1
  234. package/dist/core-dist/assets/houston-DnULxvSX.js +0 -1
  235. package/dist/core-dist/assets/html-DhJbXNLg.js +0 -1
  236. package/dist/core-dist/assets/html-GMplVEZG.js +0 -1
  237. package/dist/core-dist/assets/html-derivative-BFtXZ54Q.js +0 -1
  238. package/dist/core-dist/assets/html.worker-CwpTb9lJ.js +0 -470
  239. package/dist/core-dist/assets/htmlMode-CSFATZjY.js +0 -1
  240. package/dist/core-dist/assets/http-jrhK8wxY.js +0 -1
  241. package/dist/core-dist/assets/hurl-irOxFIW8.js +0 -1
  242. package/dist/core-dist/assets/hxml-Bvhsp5Yf.js +0 -1
  243. package/dist/core-dist/assets/hy-DFXneXwc.js +0 -1
  244. package/dist/core-dist/assets/imba-DGztddWO.js +0 -1
  245. package/dist/core-dist/assets/index-BAVByTDE.js +0 -93
  246. package/dist/core-dist/assets/index-BjpaRjp0.css +0 -1
  247. package/dist/core-dist/assets/index-C1V1hQQg.js +0 -1
  248. package/dist/core-dist/assets/index-Cpv2wm86.js +0 -1
  249. package/dist/core-dist/assets/index-DQ8lDHvH.js +0 -1
  250. package/dist/core-dist/assets/index-DwoOS22k.js +0 -1
  251. package/dist/core-dist/assets/indexes-DvT7ztBf.js +0 -1
  252. package/dist/core-dist/assets/infoDiagram-WHAUD3N6-Ca5DIjt4.js +0 -2
  253. package/dist/core-dist/assets/ini-BEwlwnbL.js +0 -1
  254. package/dist/core-dist/assets/ini-Kd9XrMLS.js +0 -1
  255. package/dist/core-dist/assets/init-Gi6I4Gst.js +0 -1
  256. package/dist/core-dist/assets/java-CXBNlu9o.js +0 -1
  257. package/dist/core-dist/assets/java-CylS5w8V.js +0 -1
  258. package/dist/core-dist/assets/javascript-XYqgRwCU.js +0 -1
  259. package/dist/core-dist/assets/javascript-wDzz0qaB.js +0 -1
  260. package/dist/core-dist/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2 +0 -0
  261. package/dist/core-dist/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2 +0 -0
  262. package/dist/core-dist/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2 +0 -0
  263. package/dist/core-dist/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2 +0 -0
  264. package/dist/core-dist/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2 +0 -0
  265. package/dist/core-dist/assets/jinja-4LBKfQ-Z.js +0 -1
  266. package/dist/core-dist/assets/jison-wvAkD_A8.js +0 -1
  267. package/dist/core-dist/assets/journeyDiagram-XKPGCS4Q-DVnTCfN2.js +0 -139
  268. package/dist/core-dist/assets/json-Cp-IABpG.js +0 -1
  269. package/dist/core-dist/assets/json.worker-BoL8UZqY.js +0 -58
  270. package/dist/core-dist/assets/json5-C9tS-k6U.js +0 -1
  271. package/dist/core-dist/assets/jsonMode-DDnE0tij.js +0 -7
  272. package/dist/core-dist/assets/jsonc-Des-eS-w.js +0 -1
  273. package/dist/core-dist/assets/jsonl-DcaNXYhu.js +0 -1
  274. package/dist/core-dist/assets/jsonnet-DFQXde-d.js +0 -1
  275. package/dist/core-dist/assets/jssm-C2t-YnRu.js +0 -1
  276. package/dist/core-dist/assets/jsx-g9-lgVsj.js +0 -1
  277. package/dist/core-dist/assets/julia-CxzCAyBv.js +0 -1
  278. package/dist/core-dist/assets/julia-cl7-CwDS.js +0 -1
  279. package/dist/core-dist/assets/kanagawa-dragon-CkXjmgJE.js +0 -1
  280. package/dist/core-dist/assets/kanagawa-lotus-CfQXZHmo.js +0 -1
  281. package/dist/core-dist/assets/kanagawa-wave-DWedfzmr.js +0 -1
  282. package/dist/core-dist/assets/kanban-definition-3W4ZIXB7-BCv733kL.js +0 -89
  283. package/dist/core-dist/assets/katex-DvXFAOB1.css +0 -1
  284. package/dist/core-dist/assets/kdl-DV7GczEv.js +0 -1
  285. package/dist/core-dist/assets/kotlin-BdnUsdx6.js +0 -1
  286. package/dist/core-dist/assets/kotlin-s7OhZKlX.js +0 -1
  287. package/dist/core-dist/assets/kusto-DZf3V79B.js +0 -1
  288. package/dist/core-dist/assets/laserwave-DUszq2jm.js +0 -1
  289. package/dist/core-dist/assets/latex-B4uzh10-.js +0 -1
  290. package/dist/core-dist/assets/layout-Yc_iIB-x.js +0 -1
  291. package/dist/core-dist/assets/lean-BZvkOJ9d.js +0 -1
  292. package/dist/core-dist/assets/less-9HpZscsL.js +0 -2
  293. package/dist/core-dist/assets/less-B1dDrJ26.js +0 -1
  294. package/dist/core-dist/assets/lexon-OrD6JF1K.js +0 -1
  295. package/dist/core-dist/assets/light-plus-B7mTdjB0.js +0 -1
  296. package/dist/core-dist/assets/linear-Ccvhuns4.js +0 -1
  297. package/dist/core-dist/assets/liquid-BEKYmbJG.js +0 -1
  298. package/dist/core-dist/assets/liquid-DYVedYrR.js +0 -1
  299. package/dist/core-dist/assets/llvm-BtvRca6l.js +0 -1
  300. package/dist/core-dist/assets/log-2UxHyX5q.js +0 -1
  301. package/dist/core-dist/assets/logo-BtOb2qkB.js +0 -1
  302. package/dist/core-dist/assets/logs-CJ_qckmn.js +0 -1
  303. package/dist/core-dist/assets/lspLanguageFeatures-GQiniNAU.js +0 -4
  304. package/dist/core-dist/assets/lua-BbnMAYS6.js +0 -1
  305. package/dist/core-dist/assets/lua-Cyyb5UIc.js +0 -1
  306. package/dist/core-dist/assets/luau-C-HG3fhB.js +0 -1
  307. package/dist/core-dist/assets/m3-B8OfTtLu.js +0 -1
  308. package/dist/core-dist/assets/make-CHLpvVh8.js +0 -1
  309. package/dist/core-dist/assets/markdown-BFxVWTOG.js +0 -1
  310. package/dist/core-dist/assets/markdown-Cvjx9yec.js +0 -1
  311. package/dist/core-dist/assets/marko-DZsq8hO1.js +0 -1
  312. package/dist/core-dist/assets/material-theme-D5KoaKCx.js +0 -1
  313. package/dist/core-dist/assets/material-theme-darker-BfHTSMKl.js +0 -1
  314. package/dist/core-dist/assets/material-theme-lighter-B0m2ddpp.js +0 -1
  315. package/dist/core-dist/assets/material-theme-ocean-CyktbL80.js +0 -1
  316. package/dist/core-dist/assets/material-theme-palenight-Csfq5Kiy.js +0 -1
  317. package/dist/core-dist/assets/matlab-D7o27uSR.js +0 -1
  318. package/dist/core-dist/assets/mdc-DUICxH0z.js +0 -1
  319. package/dist/core-dist/assets/mdx-BwwPudXS.js +0 -1
  320. package/dist/core-dist/assets/mdx-Cmh6b_Ma.js +0 -1
  321. package/dist/core-dist/assets/mermaid-VLURNSYL-DIO6bwbh.js +0 -385
  322. package/dist/core-dist/assets/mermaid-mWjccvbQ.js +0 -1
  323. package/dist/core-dist/assets/mermaid.core-slM-mBGw.js +0 -191
  324. package/dist/core-dist/assets/min-dark-CafNBF8u.js +0 -1
  325. package/dist/core-dist/assets/min-light-CTRr51gU.js +0 -1
  326. package/dist/core-dist/assets/min-n8lTmAvY.js +0 -1
  327. package/dist/core-dist/assets/mindmap-definition-VGOIOE7T-CZwrzjwH.js +0 -68
  328. package/dist/core-dist/assets/mips-CiqrrVzr.js +0 -1
  329. package/dist/core-dist/assets/mipsasm-CKIfxQSi.js +0 -1
  330. package/dist/core-dist/assets/mojo-B93PlW-d.js +0 -1
  331. package/dist/core-dist/assets/monokai-D4h5O-jR.js +0 -1
  332. package/dist/core-dist/assets/moonbit-Ba13S78F.js +0 -1
  333. package/dist/core-dist/assets/move-Bu9oaDYs.js +0 -1
  334. package/dist/core-dist/assets/msdax-DmeGPVcC.js +0 -1
  335. package/dist/core-dist/assets/mysql-C_tMU-Nz.js +0 -1
  336. package/dist/core-dist/assets/narrat-DRg8JJMk.js +0 -1
  337. package/dist/core-dist/assets/nextflow-BrzmwbiE.js +0 -1
  338. package/dist/core-dist/assets/nginx-DknmC5AR.js +0 -1
  339. package/dist/core-dist/assets/night-owl-C39BiMTA.js +0 -1
  340. package/dist/core-dist/assets/nim-CVrawwO9.js +0 -1
  341. package/dist/core-dist/assets/nix-CwoSXNpI.js +0 -1
  342. package/dist/core-dist/assets/nord-Ddv68eIx.js +0 -1
  343. package/dist/core-dist/assets/nushell-C-sUppwS.js +0 -1
  344. package/dist/core-dist/assets/objective-c-BDtDVThU.js +0 -1
  345. package/dist/core-dist/assets/objective-c-DXmwc3jG.js +0 -1
  346. package/dist/core-dist/assets/objective-cpp-CLxacb5B.js +0 -1
  347. package/dist/core-dist/assets/ocaml-C0hk2d4L.js +0 -1
  348. package/dist/core-dist/assets/one-dark-pro-DVMEJ2y_.js +0 -1
  349. package/dist/core-dist/assets/one-light-PoHY5YXO.js +0 -1
  350. package/dist/core-dist/assets/openscad-C4EeE6gA.js +0 -1
  351. package/dist/core-dist/assets/ordinal-Cboi1Yqb.js +0 -1
  352. package/dist/core-dist/assets/pascal-D93ZcfNL.js +0 -1
  353. package/dist/core-dist/assets/pascal-vHIfCaH5.js +0 -1
  354. package/dist/core-dist/assets/pascaligo-DtZ0uQbO.js +0 -1
  355. package/dist/core-dist/assets/perl-C0TMdlhV.js +0 -1
  356. package/dist/core-dist/assets/perl-Ub6l9XKa.js +0 -1
  357. package/dist/core-dist/assets/pgsql-BlNEE0v7.js +0 -1
  358. package/dist/core-dist/assets/php-BBUBE1dy.js +0 -1
  359. package/dist/core-dist/assets/php-CDn_0X-4.js +0 -1
  360. package/dist/core-dist/assets/pieDiagram-ADFJNKIX-Dij_1qyq.js +0 -30
  361. package/dist/core-dist/assets/pkl-u5AG7uiY.js +0 -1
  362. package/dist/core-dist/assets/pla-DSh2-awV.js +0 -1
  363. package/dist/core-dist/assets/plastic-3e1v2bzS.js +0 -1
  364. package/dist/core-dist/assets/plsql-ChMvpjG-.js +0 -1
  365. package/dist/core-dist/assets/po-BTJTHyun.js +0 -1
  366. package/dist/core-dist/assets/poimandres-CS3Unz2-.js +0 -1
  367. package/dist/core-dist/assets/polar-C0HS_06l.js +0 -1
  368. package/dist/core-dist/assets/postcss-CXtECtnM.js +0 -1
  369. package/dist/core-dist/assets/postiats-CocnycG-.js +0 -1
  370. package/dist/core-dist/assets/powerquery-CEu0bR-o.js +0 -1
  371. package/dist/core-dist/assets/powerquery-tScXyioY.js +0 -1
  372. package/dist/core-dist/assets/powershell-COWaemsV.js +0 -1
  373. package/dist/core-dist/assets/powershell-Dpen1YoG.js +0 -1
  374. package/dist/core-dist/assets/prisma-Dd19v3D-.js +0 -1
  375. package/dist/core-dist/assets/prolog-CbFg5uaA.js +0 -1
  376. package/dist/core-dist/assets/proto-C7zT0LnQ.js +0 -1
  377. package/dist/core-dist/assets/protobuf-Brw8urJB.js +0 -2
  378. package/dist/core-dist/assets/pug-8SOpv6rk.js +0 -1
  379. package/dist/core-dist/assets/pug-CGlum2m_.js +0 -1
  380. package/dist/core-dist/assets/puppet-BMWR74SV.js +0 -1
  381. package/dist/core-dist/assets/purescript-CklMAg4u.js +0 -1
  382. package/dist/core-dist/assets/python-B6aJPvgy.js +0 -1
  383. package/dist/core-dist/assets/python-CNAm6jim.js +0 -1
  384. package/dist/core-dist/assets/qml-3beO22l8.js +0 -1
  385. package/dist/core-dist/assets/qmldir-C8lEn-DE.js +0 -1
  386. package/dist/core-dist/assets/qsharp-Bw9ernYp.js +0 -1
  387. package/dist/core-dist/assets/qss-IeuSbFQv.js +0 -1
  388. package/dist/core-dist/assets/quadrantDiagram-AYHSOK5B-BZqGtn9b.js +0 -7
  389. package/dist/core-dist/assets/queries.store-CbImnNJo.js +0 -1
  390. package/dist/core-dist/assets/r-Dspwwk_N.js +0 -1
  391. package/dist/core-dist/assets/r-j7ic8hl3.js +0 -1
  392. package/dist/core-dist/assets/racket-BqYA7rlc.js +0 -1
  393. package/dist/core-dist/assets/raku-DXvB9xmW.js +0 -1
  394. package/dist/core-dist/assets/razor-1KPvGS6J.js +0 -1
  395. package/dist/core-dist/assets/razor-C1TweQQi.js +0 -1
  396. package/dist/core-dist/assets/red-bN70gL4F.js +0 -1
  397. package/dist/core-dist/assets/redis-Bu5POkcn.js +0 -1
  398. package/dist/core-dist/assets/redshift-Bs9aos_-.js +0 -1
  399. package/dist/core-dist/assets/reg-C-SQnVFl.js +0 -1
  400. package/dist/core-dist/assets/regexp-CDVJQ6XC.js +0 -1
  401. package/dist/core-dist/assets/rel-C3B-1QV4.js +0 -1
  402. package/dist/core-dist/assets/requirementDiagram-UZGBJVZJ-Dp1yAO4V.js +0 -64
  403. package/dist/core-dist/assets/restructuredtext-CqXO7rUv.js +0 -1
  404. package/dist/core-dist/assets/riscv-BM1_JUlF.js +0 -1
  405. package/dist/core-dist/assets/rose-pine-dawn-DHQR4-dF.js +0 -1
  406. package/dist/core-dist/assets/rose-pine-moon-D4_iv3hh.js +0 -1
  407. package/dist/core-dist/assets/rose-pine-qdsjHGoJ.js +0 -1
  408. package/dist/core-dist/assets/rosmsg-BJDFO7_C.js +0 -1
  409. package/dist/core-dist/assets/rst-B0xPkSld.js +0 -1
  410. package/dist/core-dist/assets/ruby-BvKwtOVI.js +0 -1
  411. package/dist/core-dist/assets/ruby-zBfavPgS.js +0 -1
  412. package/dist/core-dist/assets/runner-tab-D2hjlCAt.js +0 -915
  413. package/dist/core-dist/assets/runner-tab-Dvl_Svmm.css +0 -1
  414. package/dist/core-dist/assets/rust-B1yitclQ.js +0 -1
  415. package/dist/core-dist/assets/rust-BzKRNQWT.js +0 -1
  416. package/dist/core-dist/assets/sankeyDiagram-TZEHDZUN-D8yL2HOj.js +0 -10
  417. package/dist/core-dist/assets/sas-cz2c8ADy.js +0 -1
  418. package/dist/core-dist/assets/sass-Cj5Yp3dK.js +0 -1
  419. package/dist/core-dist/assets/sb-BBc9UKZt.js +0 -1
  420. package/dist/core-dist/assets/scala-C151Ov-r.js +0 -1
  421. package/dist/core-dist/assets/scala-D9hQfWCl.js +0 -1
  422. package/dist/core-dist/assets/schema-Dug6AN9b.js +0 -1
  423. package/dist/core-dist/assets/scheme-BPhDTwHR.js +0 -1
  424. package/dist/core-dist/assets/scheme-C98Dy4si.js +0 -1
  425. package/dist/core-dist/assets/scss-CBJaRo0y.js +0 -3
  426. package/dist/core-dist/assets/scss-OYdSNvt2.js +0 -1
  427. package/dist/core-dist/assets/sdbl-DVxCFoDh.js +0 -1
  428. package/dist/core-dist/assets/sequenceDiagram-WL72ISMW-DxWRatq4.js +0 -145
  429. package/dist/core-dist/assets/shaderlab-Dg9Lc6iA.js +0 -1
  430. package/dist/core-dist/assets/shell-DiJ1NA_G.js +0 -1
  431. package/dist/core-dist/assets/shellscript-Yzrsuije.js +0 -1
  432. package/dist/core-dist/assets/shellsession-BADoaaVG.js +0 -1
  433. package/dist/core-dist/assets/slack-dark-BthQWCQV.js +0 -1
  434. package/dist/core-dist/assets/slack-ochin-DqwNpetd.js +0 -1
  435. package/dist/core-dist/assets/smalltalk-BERRCDM3.js +0 -1
  436. package/dist/core-dist/assets/snazzy-light-Bw305WKR.js +0 -1
  437. package/dist/core-dist/assets/solarized-dark-DXbdFlpD.js +0 -1
  438. package/dist/core-dist/assets/solarized-light-L9t79GZl.js +0 -1
  439. package/dist/core-dist/assets/solidity-Db0IVjzk.js +0 -1
  440. package/dist/core-dist/assets/solidity-rGO070M0.js +0 -1
  441. package/dist/core-dist/assets/sophia-CnS9iZB_.js +0 -1
  442. package/dist/core-dist/assets/soy-Brmx7dQM.js +0 -1
  443. package/dist/core-dist/assets/sparql-CJmd_6j2.js +0 -1
  444. package/dist/core-dist/assets/sparql-rVzFXLq3.js +0 -1
  445. package/dist/core-dist/assets/spinner-DRgNI7eU.js +0 -1
  446. package/dist/core-dist/assets/splunk-BtCnVYZw.js +0 -1
  447. package/dist/core-dist/assets/sql-BLtJtn59.js +0 -1
  448. package/dist/core-dist/assets/sql-ClhHkBeG.js +0 -1
  449. package/dist/core-dist/assets/ssh-config-_ykCGR6B.js +0 -1
  450. package/dist/core-dist/assets/st-CHwy0fLd.js +0 -1
  451. package/dist/core-dist/assets/stata-BH5u7GGu.js +0 -1
  452. package/dist/core-dist/assets/stateDiagram-FKZM4ZOC-OB1RLZSz.js +0 -1
  453. package/dist/core-dist/assets/stateDiagram-v2-4FDKWEC3-CRUlT-Qs.js +0 -1
  454. package/dist/core-dist/assets/stylus-BEDo0Tqx.js +0 -1
  455. package/dist/core-dist/assets/svelte-zxCyuUbr.js +0 -1
  456. package/dist/core-dist/assets/swift-CnmFD0ga.js +0 -1
  457. package/dist/core-dist/assets/swift-Dg5xB15N.js +0 -1
  458. package/dist/core-dist/assets/synthwave-84-CbfX1IO0.js +0 -1
  459. package/dist/core-dist/assets/system-verilog-CnnmHF94.js +0 -1
  460. package/dist/core-dist/assets/systemd-4A_iFExJ.js +0 -1
  461. package/dist/core-dist/assets/systemverilog-Bs9z6M-B.js +0 -1
  462. package/dist/core-dist/assets/talonscript-CkByrt1z.js +0 -1
  463. package/dist/core-dist/assets/tasl-QIJgUcNo.js +0 -1
  464. package/dist/core-dist/assets/tcl-Dm6ycUr_.js +0 -1
  465. package/dist/core-dist/assets/tcl-dwOrl1Do.js +0 -1
  466. package/dist/core-dist/assets/templ-W15q3VgB.js +0 -1
  467. package/dist/core-dist/assets/terraform-BETggiCN.js +0 -1
  468. package/dist/core-dist/assets/tex-CvyZ59Mk.js +0 -1
  469. package/dist/core-dist/assets/timeline-definition-IT6M3QCI-Dp45IwZ4.js +0 -61
  470. package/dist/core-dist/assets/tokyo-night-hegEt444.js +0 -1
  471. package/dist/core-dist/assets/toml-vGWfd6FD.js +0 -1
  472. package/dist/core-dist/assets/treemap-KMMF4GRG-DbHVk-Xm.js +0 -128
  473. package/dist/core-dist/assets/ts-tags-zn1MmPIZ.js +0 -1
  474. package/dist/core-dist/assets/ts.worker-BH9nVgjN.js +0 -67718
  475. package/dist/core-dist/assets/tsMode-CE083Imf.js +0 -11
  476. package/dist/core-dist/assets/tsv-B_m7g4N7.js +0 -1
  477. package/dist/core-dist/assets/tsx-COt5Ahok.js +0 -1
  478. package/dist/core-dist/assets/turtle-BsS91CYL.js +0 -1
  479. package/dist/core-dist/assets/twig-CO9l9SDP.js +0 -1
  480. package/dist/core-dist/assets/twig-Csy3S7wG.js +0 -1
  481. package/dist/core-dist/assets/typescript-BPQ3VLAy.js +0 -1
  482. package/dist/core-dist/assets/typescript-CWvqEMrx.js +0 -1
  483. package/dist/core-dist/assets/typespec-BGHnOYBU.js +0 -1
  484. package/dist/core-dist/assets/typespec-Btyra-wh.js +0 -1
  485. package/dist/core-dist/assets/typst-DHCkPAjA.js +0 -1
  486. package/dist/core-dist/assets/v-BcVCzyr7.js +0 -1
  487. package/dist/core-dist/assets/vala-CsfeWuGM.js +0 -1
  488. package/dist/core-dist/assets/vb-D17OF-Vu.js +0 -1
  489. package/dist/core-dist/assets/vb-Db0cS2oM.js +0 -1
  490. package/dist/core-dist/assets/verilog-BQ8w6xss.js +0 -1
  491. package/dist/core-dist/assets/vesper-DU1UobuO.js +0 -1
  492. package/dist/core-dist/assets/vhdl-CeAyd5Ju.js +0 -1
  493. package/dist/core-dist/assets/viml-CJc9bBzg.js +0 -1
  494. package/dist/core-dist/assets/visualizer-BO_uVLiI.js +0 -1
  495. package/dist/core-dist/assets/vitesse-black-Bkuqu6BP.js +0 -1
  496. package/dist/core-dist/assets/vitesse-dark-D0r3Knsf.js +0 -1
  497. package/dist/core-dist/assets/vitesse-light-CVO1_9PV.js +0 -1
  498. package/dist/core-dist/assets/vue-DN_0RTcg.js +0 -1
  499. package/dist/core-dist/assets/vue-html-AaS7Mt5G.js +0 -1
  500. package/dist/core-dist/assets/vue-vine-CQOfvN7w.js +0 -1
  501. package/dist/core-dist/assets/vyper-CDx5xZoG.js +0 -1
  502. package/dist/core-dist/assets/wasm-CG6Dc4jp.js +0 -1
  503. package/dist/core-dist/assets/wasm-MzD3tlZU.js +0 -1
  504. package/dist/core-dist/assets/wenyan-BV7otONQ.js +0 -1
  505. package/dist/core-dist/assets/wgsl-BTesnYfV.js +0 -298
  506. package/dist/core-dist/assets/wgsl-Dx-B1_4e.js +0 -1
  507. package/dist/core-dist/assets/wikitext-BhOHFoWU.js +0 -1
  508. package/dist/core-dist/assets/wit-5i3qLPDT.js +0 -1
  509. package/dist/core-dist/assets/wolfram-lXgVvXCa.js +0 -1
  510. package/dist/core-dist/assets/xml-D48gAAGL.js +0 -1
  511. package/dist/core-dist/assets/xml-sdJ4AIDG.js +0 -1
  512. package/dist/core-dist/assets/xsl-CtQFsRM5.js +0 -1
  513. package/dist/core-dist/assets/xychartDiagram-PRI3JC2R-Dfqks87e.js +0 -7
  514. package/dist/core-dist/assets/yaml-B9qGdCLx.js +0 -1
  515. package/dist/core-dist/assets/yaml-Buea-lGh.js +0 -1
  516. package/dist/core-dist/assets/zenscript-DVFEvuxE.js +0 -1
  517. package/dist/core-dist/assets/zig-VOosw3JB.js +0 -1
  518. package/dist/core-dist/image.png +0 -0
  519. package/dist/core-dist/index.html +0 -14
  520. package/dist/core-dist/vite.svg +0 -1
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- var Nt=Object.defineProperty;var f=(t,e)=>()=>(t&&(e=t(t=0)),e);var Dt=(t,e)=>{for(var r in e)Nt(t,r,{get:e[r],enumerable:!0})};var N,I=f(()=>{"use strict";N={PORT:3333,ENV:".env",VAR_NAME:"DATABASE_URL",PROXY_URL:process.env.NODE_ENV==="development"?"http://localhost:8787":"https://db-studio-proxy.husamql3.workers.dev"}});import{Pool as Ft}from"pg";var U,Kt,C,Y=f(()=>{"use strict";U=null,Kt=()=>{if(!U){if(!process.env.DATABASE_URL)throw new Error("DATABASE_URL is not set. Please provide a database connection string.");try{U=new Ft({connectionString:process.env.DATABASE_URL}),U.on("error",t=>{})}catch(t){throw t}}return U},C=new Proxy({},{get(t,e){try{return Kt()[e]}catch(r){throw r}}})});import{Pool as Te}from"pg";var G,Vt,b,T=f(()=>{"use strict";G=class{pools=new Map;baseConfig=null;constructor(){this.initializeBaseConfig()}initializeBaseConfig(){let e=process.env.DATABASE_URL;if(!e)throw new Error("DATABASE_URL is not set. Please provide a database connection string.");try{let r=new URL(e);this.baseConfig={url:e,host:r.hostname,port:Number.parseInt(r.port,10)||5432,user:r.username,password:r.password}}catch(r){throw new Error(`Failed to parse DATABASE_URL: ${r}`)}}buildConnectionString(e){if(!this.baseConfig)throw new Error("Base configuration not initialized");if(!e){let r=this.baseConfig.url;r&&(e=new URL(r).pathname.slice(1))}try{let r=new URL(this.baseConfig.url);return r.pathname=`/${e}`,r.toString()}catch(r){throw new Error(`Failed to build connection string for database "${e}": ${r instanceof Error?r.message:String(r)}`)}}getPool(e){let r=this.buildConnectionString(e);if(!this.pools.has(r)){let o={connectionString:r,max:10,idleTimeoutMillis:3e4,connectionTimeoutMillis:2e3},a=new Te(o);a.on("error",n=>{}),this.pools.set(r,a)}return this.pools.get(r)??new Te({connectionString:r})}async closePool(e){let r=this.pools.get(e);r&&(await r.end(),this.pools.delete(e))}async closePoolByDatabase(e){let r=this.buildConnectionString(e);await this.closePool(r)}async closeAll(){let e=Array.from(this.pools.entries()).map(async([r,o])=>{await o.end()});await Promise.all(e),this.pools.clear()}getActivePools(){return Array.from(this.pools.keys())}},Vt=new G,b=t=>Vt.getPool(t)});function Se(t){let e=t.toLowerCase().trim();return e.includes("[]")||e==="date"||e==="time"||e==="time without time zone"||e.startsWith("time(")||e==="timestamp"||e==="timestamp without time zone"||e.startsWith("timestamp(")||e==="timestamp with time zone"||e==="timestamptz"||e.startsWith("timestamp with time zone(")?v.date:e==="integer"||e==="int"||e==="int4"||e==="bigint"||e==="int8"||e==="smallint"||e==="int2"||e==="decimal"||e.startsWith("decimal(")||e==="numeric"||e.startsWith("numeric(")||e==="real"||e==="float4"||e==="double precision"||e==="float8"||e==="float"||e==="serial"||e==="serial4"||e==="bigserial"||e==="serial8"||e==="money"?v.number:e==="boolean"||e==="bool"?v.boolean:e==="json"||e==="jsonb"?v.json:(e.startsWith("user-defined")||e==="enum"||e==="text"||e==="xml"||e==="character varying"||e.startsWith("varchar")||e.startsWith("character varying(")||e==="character"||e.startsWith("char")||e.startsWith("character(")||e==="bpchar"||e==="uuid"||e==="interval"||e.startsWith("interval")||e==="bytea"||e==="point"||e==="line"||e==="polygon"||e==="inet"||e==="cidr"||e==="macaddr"||e==="macaddr8",v.text)}function Ne(t){let e=t.toLowerCase().trim();return e==="integer"||e==="int"||e==="int4"||e==="serial"||e==="serial4"?p.int:e==="bigint"||e==="int8"||e==="bigserial"||e==="serial8"?p.bigint:e==="smallint"||e==="int2"?p.smallint:e==="decimal"||e.startsWith("decimal(")||e==="numeric"||e.startsWith("numeric(")?p.numeric:e==="real"||e==="float4"?p.float:e==="double precision"||e==="float8"||e==="float"?p.double:e==="money"?p.money:e==="boolean"||e==="bool"?p.boolean:e==="text"?p.text:e==="character varying"||e.startsWith("varchar")||e.startsWith("character varying(")?p.varchar:e==="character"||e.startsWith("char")||e.startsWith("character(")||e==="bpchar"?p.char:e==="json"?p.json:e==="jsonb"?p.jsonb:e==="xml"?p.xml:e==="uuid"?p.uuid:e==="date"?p.date:e==="time"||e==="time without time zone"||e.startsWith("time(")?p.time:e==="timestamp"||e==="timestamp without time zone"||e.startsWith("timestamp(")?p.timestamp:e==="timestamp with time zone"||e==="timestamptz"||e.startsWith("timestamp with time zone(")?p.timestamptz:e==="interval"||e.startsWith("interval")?p.interval:e==="bytea"?p.bytea:e==="inet"?p.inet:e==="cidr"?p.cidr:e==="macaddr"?p.macaddr:e==="macaddr8"?p.macaddr8:e==="point"?p.point:e==="line"?p.line:e==="polygon"?p.polygon:e.startsWith("array")||e.includes("[]")?p.text:e.startsWith("user-defined")||e==="enum"?p.enum:p.text}var v,p,De=f(()=>{"use strict";v={text:"text",boolean:"boolean",number:"number",enum:"enum",json:"json",date:"date",array:"array"};p={int:"int",bigint:"bigint",smallint:"smallint",numeric:"numeric",float:"float",double:"double",money:"money",boolean:"boolean",text:"text",varchar:"varchar",char:"char",json:"json",jsonb:"jsonb",xml:"xml",uuid:"uuid",date:"date",time:"time",timestamp:"timestamp",timestamptz:"timestamptz",interval:"interval",bytea:"bytea",inet:"inet",cidr:"cidr",macaddr:"macaddr",macaddr8:"macaddr8",point:"point",line:"line",polygon:"polygon",array:"array",enum:"enum"}});var F,J=f(()=>{"use strict";T();De();F=async(t,e)=>{let o=await b(e).connect();try{return(await o.query(`
2
+ var io=Object.defineProperty;var p=(o,e)=>()=>(o&&(e=o(o=0)),e);var lo=(o,e)=>{for(var t in e)io(o,t,{get:e[t],enumerable:!0})};import{Pool as Do}from"pg";var A,Co,N,M=p(()=>{"use strict";A=null,Co=()=>{if(!A){if(!process.env.DATABASE_URL)throw new Error("DATABASE_URL is not set. Please provide a database connection string.");try{A=new Do({connectionString:process.env.DATABASE_URL}),A.on("error",o=>{})}catch(o){throw o}}return A},N=new Proxy({},{get(o,e){try{return Co()[e]}catch(t){throw t}}})});import{Pool as fe}from"pg";var V,$o,f,E=p(()=>{"use strict";V=class{pools=new Map;baseConfig=null;constructor(){this.initializeBaseConfig()}initializeBaseConfig(){let e=process.env.DATABASE_URL;if(!e)throw new Error("DATABASE_URL is not set. Please provide a database connection string.");try{let t=new URL(e);this.baseConfig={url:e,host:t.hostname,port:Number.parseInt(t.port,10)||5432,user:t.username,password:t.password}}catch(t){throw new Error(`Failed to parse DATABASE_URL: ${t}`)}}buildConnectionString(e){if(!this.baseConfig)throw new Error("Base configuration not initialized");if(!e){let t=this.baseConfig.url;t&&(e=new URL(t).pathname.slice(1))}try{let t=new URL(this.baseConfig.url);return t.pathname=`/${e}`,t.toString()}catch(t){throw new Error(`Failed to build connection string for database "${e}": ${t instanceof Error?t.message:String(t)}`)}}getPool(e){let t=this.buildConnectionString(e);if(!this.pools.has(t)){let r={connectionString:t,max:10,idleTimeoutMillis:3e4,connectionTimeoutMillis:2e3},s=new fe(r);s.on("error",n=>{}),this.pools.set(t,s)}return this.pools.get(t)??new fe({connectionString:t})}async closePool(e){let t=this.pools.get(e);t&&(await t.end(),this.pools.delete(e))}async closePoolByDatabase(e){let t=this.buildConnectionString(e);await this.closePool(t)}async closeAll(){let e=Array.from(this.pools.entries()).map(async([t,r])=>{await r.end()});await Promise.all(e),this.pools.clear()}getActivePools(){return Array.from(this.pools.keys())}},$o=new V,f=o=>$o.getPool(o)});import{mapPostgresToDataType as Po,standardizeDataTypeLabel as Lo}from"shared/types";var O,K=p(()=>{"use strict";E();O=async(o,e)=>{let r=await f(e).connect();try{return(await r.query(`
3
3
  SELECT
4
4
  c.column_name as "columnName",
5
5
  c.data_type as "dataType",
@@ -48,18 +48,18 @@ var Nt=Object.defineProperty;var f=(t,e)=>()=>(t&&(e=t(t=0)),e);var Dt=(t,e)=>{f
48
48
  WHERE c.table_schema = 'public'
49
49
  AND c.table_name = $1
50
50
  ORDER BY c.ordinal_position;
51
- `,[t])).rows.map(n=>{let s=null;return n.enumValues&&(Array.isArray(n.enumValues)?s=n.enumValues:typeof n.enumValues=="string"&&(s=n.enumValues.replace(/[{}]/g,"").split(",").filter(Boolean))),{columnName:n.columnName,dataType:Se(n.dataType),dataTypeLabel:Ne(n.dataType),isNullable:n.isNullable,columnDefault:n.columnDefault,isPrimaryKey:n.isPrimaryKey,isForeignKey:n.isForeignKey,referencedTable:n.referencedTable,referencedColumn:n.referencedColumn,enumValues:s}})}finally{o.release()}}});async function Wt(){let t=await C.connect();try{return(await t.query(`
51
+ `,[o])).rows.map(n=>{let a=null;return n.enumValues&&(Array.isArray(n.enumValues)?a=n.enumValues:typeof n.enumValues=="string"&&(a=n.enumValues.replace(/[{}]/g,"").split(",").filter(Boolean))),{columnName:n.columnName,dataType:Po(n.dataType),dataTypeLabel:Lo(n.dataType),isNullable:n.isNullable,columnDefault:n.columnDefault,isPrimaryKey:n.isPrimaryKey,isForeignKey:n.isForeignKey,referencedTable:n.referencedTable,referencedColumn:n.referencedColumn,enumValues:a}})}finally{r.release()}}});async function Ao(){let o=await N.connect();try{return(await o.query(`
52
52
  SELECT table_name
53
53
  FROM information_schema.tables
54
54
  WHERE table_schema = 'public'
55
55
  AND table_type = 'BASE TABLE'
56
56
  ORDER BY table_name;
57
- `)).rows.map(r=>r.table_name)}finally{t.release()}}async function Mt(t){let e=await C.connect();try{return(await e.query(`
57
+ `)).rows.map(t=>t.table_name)}finally{o.release()}}async function Oo(o){let e=await N.connect();try{return(await e.query(`
58
58
  SELECT obj_description(oid) as description
59
59
  FROM pg_class
60
60
  WHERE relname = $1
61
61
  AND relnamespace = (SELECT oid FROM pg_namespace WHERE nspname = 'public');
62
- `,[t])).rows[0]?.description||void 0}finally{e.release()}}async function Bt(t){let e=await C.connect();try{return(await e.query(`SELECT * FROM "${t}" LIMIT 3`)).rows}catch{return[]}finally{e.release()}}function Ht(t){let e={name:t.columnName,type:t.dataTypeLabel,nullable:t.isNullable};return t.isPrimaryKey&&(e.isPrimaryKey=!0),t.isForeignKey&&t.referencedTable&&t.referencedColumn&&(e.foreignKey=`${t.referencedTable}.${t.referencedColumn}`),t.enumValues&&t.enumValues.length>0&&(e.enumValues=t.enumValues,e.description=`Enum values: ${t.enumValues.join(", ")}`),e}function Qt(t){let e=[];for(let r of t)for(let o of r.columns)if(o.foreignKey){let[a,n]=o.foreignKey.split(".");e.push({fromTable:r.name,fromColumn:o.name,toTable:a,toColumn:n})}return e}async function zt(t={}){let{includeSampleData:e=!1,includeDescriptions:r=!0}=t;try{let a=(await Wt()).map(async i=>{let[m,u,d]=await Promise.all([F(i),r?Mt(i):Promise.resolve(void 0),e?Bt(i):Promise.resolve([])]),l={name:i,columns:m.map(Ht)};return u&&(l.description=u),d.length>0&&(l.sampleData=d),l}),n=await Promise.all(a),s=Qt(n);return{dbType:"PostgreSQL",tables:n,relationships:s}}catch(o){throw new Error(`Failed to fetch database schema: ${o instanceof Error?o.message:"Unknown error"}`)}}async function ve(){return zt({includeSampleData:!0,includeDescriptions:!0})}var Re=f(()=>{"use strict";Y();J()});function Ce(t){return`You are a database assistant for db-studio. Your responses must be CONCISE and FOCUSED.
62
+ `,[o])).rows[0]?.description||void 0}finally{e.release()}}async function qo(o){let e=await N.connect();try{return(await e.query(`SELECT * FROM "${o}" LIMIT 3`)).rows}catch{return[]}finally{e.release()}}function ko(o){let e={name:o.columnName,type:o.dataTypeLabel,nullable:o.isNullable};return o.isPrimaryKey&&(e.isPrimaryKey=!0),o.isForeignKey&&o.referencedTable&&o.referencedColumn&&(e.foreignKey=`${o.referencedTable}.${o.referencedColumn}`),o.enumValues&&o.enumValues.length>0&&(e.enumValues=o.enumValues,e.description=`Enum values: ${o.enumValues.join(", ")}`),e}function Io(o){let e=[];for(let t of o)for(let r of t.columns)if(r.foreignKey){let[s,n]=r.foreignKey.split(".");e.push({fromTable:t.name,fromColumn:r.name,toTable:s,toColumn:n})}return e}async function xo(o={}){let{includeSampleData:e=!1,includeDescriptions:t=!0}=o;try{let s=(await Ao()).map(async c=>{let[u,l,m]=await Promise.all([O(c),t?Oo(c):Promise.resolve(void 0),e?qo(c):Promise.resolve([])]),i={name:c,columns:u.map(ko)};return l&&(i.description=l),m.length>0&&(i.sampleData=m),i}),n=await Promise.all(s),a=Io(n);return{dbType:"PostgreSQL",tables:n,relationships:a}}catch(r){throw new Error(`Failed to fetch database schema: ${r instanceof Error?r.message:"Unknown error"}`)}}async function ge(){return xo({includeSampleData:!0,includeDescriptions:!0})}var ye=p(()=>{"use strict";M();K()});function be(o){return`You are a database assistant for db-studio. Your responses must be CONCISE and FOCUSED.
63
63
 
64
64
  **Your Role:**
65
65
  1. Keep responses SHORT - 2-3 sentences maximum unless generating SQL
@@ -69,15 +69,15 @@ var Nt=Object.defineProperty;var f=(t,e)=>()=>(t&&(e=t(t=0)),e);var Dt=(t,e)=>{f
69
69
  - 1 sentence about expected results
70
70
  - NO verbose explanations
71
71
  3. Use exact table/column names from the schema
72
- 4. Generate valid ${t.dbType} syntax
72
+ 4. Generate valid ${o.dbType} syntax
73
73
  5. If query is unclear, ask ONE specific clarifying question
74
74
  6. No preamble, no apologies, get straight to the answer
75
75
 
76
76
  **Database Context:**
77
- ${Yt(t)}
77
+ ${Uo(o)}
78
78
 
79
79
  **Guidelines:**
80
- 1. Always generate syntactically correct SQL for the database type (${t.dbType})
80
+ 1. Always generate syntactically correct SQL for the database type (${o.dbType})
81
81
  2. Use proper table/column names exactly as defined in the schema
82
82
  3. When generating queries, wrap them in \`\`\`sql code blocks
83
83
  4. Explain what the query does in plain language
@@ -112,21 +112,21 @@ LIMIT 5;
112
112
 
113
113
  This will return the 5 customers with the highest total order value. You might also want to see:
114
114
  - Revenue trends over time for these customers
115
- - Their most frequently ordered products"`}function Yt(t){let e=`Database Type: ${t.dbType}
115
+ - Their most frequently ordered products"`}function Uo(o){let e=`Database Type: ${o.dbType}
116
116
 
117
117
  `;e+=`**Tables and Columns:**
118
- `;for(let r of t.tables){e+=`
119
- ### ${r.name}
120
- `,r.description&&(e+=`Description: ${r.description}
118
+ `;for(let t of o.tables){e+=`
119
+ ### ${t.name}
120
+ `,t.description&&(e+=`Description: ${t.description}
121
121
  `),e+=`Columns:
122
- `;for(let o of r.columns){let a=o.isPrimaryKey?" [PRIMARY KEY]":"",n=o.foreignKey?` [FK -> ${o.foreignKey}]`:"",s=o.nullable?"NULL":"NOT NULL";e+=` - ${o.name}: ${o.type} ${s}${a}${n}
123
- `,o.description&&(e+=` ${o.description}
124
- `)}r.sampleData&&r.sampleData.length>0&&(e+=`Sample data (${r.sampleData.length} rows):
125
- `,e+=`${JSON.stringify(r.sampleData.slice(0,3),null,2)}
126
- `)}if(t.relationships&&t.relationships.length>0){e+=`
122
+ `;for(let r of t.columns){let s=r.isPrimaryKey?" [PRIMARY KEY]":"",n=r.foreignKey?` [FK -> ${r.foreignKey}]`:"",a=r.nullable?"NULL":"NOT NULL";e+=` - ${r.name}: ${r.type} ${a}${s}${n}
123
+ `,r.description&&(e+=` ${r.description}
124
+ `)}t.sampleData&&t.sampleData.length>0&&(e+=`Sample data (${t.sampleData.length} rows):
125
+ `,e+=`${JSON.stringify(t.sampleData.slice(0,3),null,2)}
126
+ `)}if(o.relationships&&o.relationships.length>0){e+=`
127
127
  **Relationships:**
128
- `;for(let r of t.relationships)e+=` - ${r.fromTable}.${r.fromColumn} -> ${r.toTable}.${r.toColumn}
129
- `}return e}var _e=f(()=>{"use strict"});import{Hono as Gt}from"hono";var X,$e=f(()=>{"use strict";Re();I();_e();X=new Gt;X.post("/",async t=>{try{let{messages:e,conversationId:r}=await t.req.json(),o=await ve(),a=Ce(o),n={messages:e,conversationId:r,systemPrompt:a},s=await fetch(`${N.PROXY_URL}/chat`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!s.ok){let u=await s.json();return t.json({error:u.error||"Proxy request failed"},s.status)}let{readable:i,writable:m}=new TransformStream;return s.body?.pipeTo(m),new Response(i,{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}catch(e){let r=e instanceof Error?e.message:"An error occurred";return t.json({error:r},500)}})});import{z as c}from"zod";var Jt,xe,Xt,Zt,Pe,K,Ae,Le,Oe,Z,qe,L,_=f(()=>{"use strict";Jt=["CASCADE","SET NULL","SET DEFAULT","RESTRICT","NO ACTION"],xe=c.enum(Jt),Xt=c.object({columnName:c.string().min(1),columnType:c.string().min(1),defaultValue:c.string(),isPrimaryKey:c.boolean(),isNullable:c.boolean(),isUnique:c.boolean(),isIdentity:c.boolean(),isArray:c.boolean()}),Zt=c.object({columnName:c.string().min(1),referencedTable:c.string().min(1),referencedColumn:c.string().min(1),onUpdate:xe,onDelete:xe}),Pe=c.object({tableName:c.string().min(1,"Table name is required"),fields:c.array(Xt).min(1,"At least one field is required"),foreignKeys:c.array(Zt).optional()}),K=c.object({tableName:c.string().min(1,"Table name is required")}),Ae=c.object({page:c.string().optional().default("1").transform(Number),pageSize:c.string().optional().default("50").transform(Number),sort:c.string().optional().default(""),order:c.enum(["asc","desc"]).optional(),filters:c.string().optional().transform(t=>{if(!t)return[];try{return JSON.parse(t)}catch{return[]}})}),Le=c.object({tableName:c.string().min(1,"Table name is required"),data:c.record(c.string(),c.any())}),Oe=c.object({tableName:c.string().min(1,"Table name is required"),updates:c.array(c.object({rowData:c.any(),columnName:c.string().min(1),value:c.any()})).min(1,"At least one update is required"),primaryKey:c.string().optional()}),Z=c.object({tableName:c.string().min(1,"Table name is required"),primaryKeys:c.array(c.object({columnName:c.string().min(1),value:c.any()})).min(1,"At least one primary key is required")}),qe=c.object({query:c.string().min(1,"Query is required")}),L=c.object({database:c.string().optional()})});var $,V=f(()=>{"use strict";$=(t,e,r)=>{let o=e instanceof Error?e.message:r,a=!1;return e&&typeof e=="object"&&"code"in e?a=e.code==="ECONNREFUSED":e&&typeof e=="object"&&"errors"in e&&Array.isArray(e.errors)&&(a=e.errors?.some(s=>s.code==="ECONNREFUSED")??!1),a?t.json({success:!1,message:"Cannot connect to database. Please check your DATABASE_URL and ensure the database server is running.",error:o},503):t.json({success:!1,message:o},500)}});import{zValidator as ke}from"@hono/zod-validator";import{Hono as er}from"hono";var ee,Ie=f(()=>{"use strict";J();_();V();ee=new er;ee.get("/",ke("param",K),ke("query",L),async t=>{try{let{tableName:e}=t.req.valid("param"),{database:r}=t.req.valid("query"),o=await F(e,r);return t.json(o)}catch(e){return $(t,e,"Failed to fetch columns")}})});var tr,rr,je,Ue=f(()=>{"use strict";T();tr=t=>{if(t.length===0)return{clause:"",values:[]};let e=[],r=[];for(let o of t){let a=r.length+1,n=`"${o.columnName}"`;switch(o.operator){case"=":case"!=":case">":case">=":case"<":case"<=":e.push(`${n} ${o.operator} $${a}`),r.push(o.value);break;case"is":o.value.toLowerCase()==="null"?e.push(`${n} IS NULL`):(e.push(`${n} = $${a}`),r.push(o.value));break;case"is not":o.value.toLowerCase()==="null"?e.push(`${n} IS NOT NULL`):(e.push(`${n} != $${a}`),r.push(o.value));break;case"like":e.push(`${n}::text LIKE $${a}`),r.push(o.value);break;case"not like":e.push(`${n}::text NOT LIKE $${a}`),r.push(o.value);break;case"ilike":e.push(`${n}::text ILIKE $${a}`),r.push(o.value);break;case"not ilike":e.push(`${n}::text NOT ILIKE $${a}`),r.push(o.value);break;default:break}}return e.length===0?{clause:"",values:[]}:{clause:`WHERE ${e.join(" AND ")}`,values:r}},rr=(t,e)=>Array.isArray(t)?t.length===0?"":`ORDER BY ${t.map(o=>`"${o.columnName}" ${o.direction.toUpperCase()}`).join(", ")}`:t&&typeof t=="string"?`ORDER BY "${t}" ${e?.toUpperCase()||"ASC"}`:"",je=async(t,e=1,r=50,o="",a="asc",n=[],s)=>{let i=rr((Array.isArray(o),o),a),{clause:m,values:u}=tr(n),l=await b(s).connect();try{let g=(e-1)*r,w=await l.query(`SELECT COUNT(*) as total FROM "${t}" ${m}`,u),y=Number(w.rows[0].total),E=Math.ceil(y/r),S=u.length+1,h=u.length+2;return{data:(await l.query(`SELECT * FROM "${t}" ${m} ${i} LIMIT $${S} OFFSET $${h}`,[...u,r,g])).rows,meta:{page:e,limit:r,total:y,totalPages:E,hasNextPage:e<E,hasPreviousPage:e>1}}}finally{l.release()}}});import{zValidator as Fe}from"@hono/zod-validator";import{Hono as or}from"hono";var te,Ke=f(()=>{"use strict";Ue();_();V();te=new or;te.get("/",Fe("param",K),Fe("query",Ae),async t=>{try{let{tableName:e}=t.req.valid("param"),{page:r,pageSize:o,sort:a,order:n,filters:s}=t.req.valid("query"),i="";if(a)try{let d=JSON.parse(a);Array.isArray(d)?i=d:i=a}catch{i=a}let m=t.req.query("database"),u=await je(e,r,o,i,n,s,m);return t.json(u)}catch(e){return $(t,e,"Failed to fetch table data")}})});async function Ve(){return(await b().query(`
128
+ `;for(let t of o.relationships)e+=` - ${t.fromTable}.${t.fromColumn} -> ${t.toTable}.${t.toColumn}
129
+ `}return e}var he=p(()=>{"use strict"});import{Hono as Fo}from"hono";import{DEFAULTS as jo}from"shared/constants";var B,Ee=p(()=>{"use strict";ye();he();B=new Fo;B.post("/",async o=>{try{let{messages:e,conversationId:t}=await o.req.json(),r=await ge(),s=be(r),n={messages:e,conversationId:t,systemPrompt:s},a=await fetch(`${jo.PROXY_URL}/chat`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!a.ok){let l=await a.json();return o.json({error:l.error||"Proxy request failed"},a.status)}let{readable:c,writable:u}=new TransformStream;return a.body?.pipeTo(u),new Response(c,{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}catch(e){let t=e instanceof Error?e.message:"An error occurred";return o.json({error:t},500)}})});var T,q=p(()=>{"use strict";T=(o,e,t)=>{let r=e instanceof Error?e.message:t,s=!1;return e&&typeof e=="object"&&"code"in e?s=e.code==="ECONNREFUSED":e&&typeof e=="object"&&"errors"in e&&Array.isArray(e.errors)&&(s=e.errors?.some(a=>a.code==="ECONNREFUSED")??!1),s?o.json({success:!1,message:"Cannot connect to database. Please check your DATABASE_URL and ensure the database server is running.",error:r},503):o.json({success:!1,message:r},500)}});import{zValidator as we}from"@hono/zod-validator";import{Hono as Mo}from"hono";import{databaseQuerySchema as Vo,tableNameParamSchema as Ko}from"shared/types";var H,Se=p(()=>{"use strict";K();q();H=new Mo;H.get("/",we("param",Ko),we("query",Vo),async o=>{try{let{tableName:e}=o.req.valid("param"),{database:t}=o.req.valid("query"),r=await O(e,t);return o.json(r)}catch(e){return T(o,e,"Failed to fetch columns")}})});var Bo,Ho,Re,Ne=p(()=>{"use strict";E();Bo=o=>{if(o.length===0)return{clause:"",values:[]};let e=[],t=[];for(let r of o){let s=t.length+1,n=`"${r.columnName}"`;switch(r.operator){case"=":case"!=":case">":case">=":case"<":case"<=":e.push(`${n} ${r.operator} $${s}`),t.push(r.value);break;case"is":r.value.toLowerCase()==="null"?e.push(`${n} IS NULL`):(e.push(`${n} = $${s}`),t.push(r.value));break;case"is not":r.value.toLowerCase()==="null"?e.push(`${n} IS NOT NULL`):(e.push(`${n} != $${s}`),t.push(r.value));break;case"like":e.push(`${n}::text LIKE $${s}`),t.push(r.value);break;case"not like":e.push(`${n}::text NOT LIKE $${s}`),t.push(r.value);break;case"ilike":e.push(`${n}::text ILIKE $${s}`),t.push(r.value);break;case"not ilike":e.push(`${n}::text NOT ILIKE $${s}`),t.push(r.value);break;default:break}}return e.length===0?{clause:"",values:[]}:{clause:`WHERE ${e.join(" AND ")}`,values:t}},Ho=(o,e)=>Array.isArray(o)?o.length===0?"":`ORDER BY ${o.map(r=>`"${r.columnName}" ${r.direction.toUpperCase()}`).join(", ")}`:o&&typeof o=="string"?`ORDER BY "${o}" ${e?.toUpperCase()||"ASC"}`:"",Re=async(o,e=1,t=50,r="",s="asc",n=[],a)=>{let c=Ho((Array.isArray(r),r),s),{clause:u,values:l}=Bo(n),i=await f(a).connect();try{let d=(e-1)*t,h=await i.query(`SELECT COUNT(*) as total FROM "${o}" ${u}`,l),g=Number(h.rows[0].total),b=Math.ceil(g/t),w=l.length+1,y=l.length+2;return{data:(await i.query(`SELECT * FROM "${o}" ${u} ${c} LIMIT $${w} OFFSET $${y}`,[...l,t,d])).rows,meta:{page:e,limit:t,total:g,totalPages:b,hasNextPage:e<b,hasPreviousPage:e>1}}}finally{i.release()}}});import{zValidator as Te}from"@hono/zod-validator";import{Hono as Qo}from"hono";import{tableDataQuerySchema as Wo,tableNameParamSchema as Yo}from"shared/types";var Q,_e=p(()=>{"use strict";Ne();q();Q=new Qo;Q.get("/",Te("param",Yo),Te("query",Wo),async o=>{try{let{tableName:e}=o.req.valid("param"),{page:t,pageSize:r,sort:s,order:n,filters:a}=o.req.valid("query"),c="";if(s)try{let m=JSON.parse(s);Array.isArray(m)?c=m:c=s}catch{c=s}let u=o.req.query("database"),l=await Re(e,t,r,c,n,a,u);return o.json(l)}catch(e){return T(o,e,"Failed to fetch table data")}})});async function ve(){return(await f().query(`
130
130
  SELECT
131
131
  d.datname as name,
132
132
  pg_size_pretty(pg_database_size(d.datname)) as size,
@@ -135,7 +135,7 @@ This will return the 5 customers with the highest total order value. You might a
135
135
  FROM pg_catalog.pg_database d
136
136
  WHERE d.datistemplate = false
137
137
  ORDER BY d.datname;
138
- `)).rows}async function We(){return(await b().query("SELECT current_database() as database;")).rows[0]}async function Me(){let o=(await b().query(`
138
+ `)).rows}async function De(){return(await f().query("SELECT current_database() as database;")).rows[0]}async function Ce(){let r=(await f().query(`
139
139
  SELECT
140
140
  version() as version,
141
141
  current_database() as database,
@@ -144,7 +144,7 @@ This will return the 5 customers with the highest total order value. You might a
144
144
  inet_server_port() as port,
145
145
  (SELECT count(*) FROM pg_stat_activity WHERE datname = current_database()) as active_connections,
146
146
  (SELECT setting::int FROM pg_settings WHERE name = 'max_connections') as max_connections;
147
- `)).rows[0],a=process.env.DATABASE_URL,n="localhost",s=5432;if(a)try{let i=new URL(a);n=i.hostname,s=Number.parseInt(i.port,10)||5432}catch{}return{host:o.host||n,port:o.port||s,user:o.user,database:o.database,version:o.version,activeConnections:Number.parseInt(o.active_connections,10),maxConnections:Number.parseInt(o.max_connections,10)}}var Be=f(()=>{"use strict";T()});import{Hono as nr}from"hono";var O,He=f(()=>{"use strict";Be();O=new nr;O.get("/",async t=>{try{let e=await Ve();return t.json(e)}catch{return t.json({error:"Failed to fetch databases list"},500)}});O.get("/current",async t=>{try{let e=await We();return t.json(e)}catch{return t.json({error:"Failed to fetch current database"},500)}});O.get("/connection",async t=>{try{let e=await Me();return t.json(e)}catch{return t.json({error:"Failed to fetch database connection info"},500)}})});var Qe,ze=f(()=>{"use strict";T();Qe=async t=>{let{query:e,database:r}=t,a=await b(r).connect();try{if(!e||!e.trim())throw new Error("Query cannot be empty");let n=e.trim().replace(/;+$/,""),s=performance.now(),i=await a.query(n),m=performance.now()-s;return{columns:i.fields.map(d=>d.name),rows:i.rows,rowCount:i.rows.length,duration:m,message:i.rows.length===0?"OK":void 0}}catch(n){let s=n instanceof Error?n.message:"Unknown error occurred";throw new Error(s)}finally{a.release()}}});import{zValidator as ar}from"@hono/zod-validator";import{Hono as sr}from"hono";var re,Ye=f(()=>{"use strict";ze();_();re=new sr;re.post("/",ar("json",qe),async t=>{try{let{query:e}=t.req.valid("json"),r=t.req.query("database"),o=await Qe({query:e,database:r});return t.json(o)}catch(e){let r=e instanceof Error?e.message:"Unknown error";return t.json({status:"error",error:r},500)}})});var oe,ir,Ge,Je,Xe=f(()=>{"use strict";T();oe=async(t,e)=>(await b(e).query(`
147
+ `)).rows[0],s=process.env.DATABASE_URL,n="localhost",a=5432;if(s)try{let c=new URL(s);n=c.hostname,a=Number.parseInt(c.port,10)||5432}catch{}return{host:r.host||n,port:r.port||a,user:r.user,database:r.database,version:r.version,activeConnections:Number.parseInt(r.active_connections,10),maxConnections:Number.parseInt(r.max_connections,10)}}var $e=p(()=>{"use strict";E()});import{Hono as Go}from"hono";var C,Pe=p(()=>{"use strict";$e();C=new Go;C.get("/",async o=>{try{let e=await ve();return o.json(e)}catch{return o.json({error:"Failed to fetch databases list"},500)}});C.get("/current",async o=>{try{let e=await De();return o.json(e)}catch{return o.json({error:"Failed to fetch current database"},500)}});C.get("/connection",async o=>{try{let e=await Ce();return o.json(e)}catch{return o.json({error:"Failed to fetch database connection info"},500)}})});var Le,Ae=p(()=>{"use strict";E();Le=async o=>{let{query:e,database:t}=o,s=await f(t).connect();try{if(!e||!e.trim())throw new Error("Query cannot be empty");let n=e.trim().replace(/;+$/,""),a=performance.now(),c=await s.query(n),u=performance.now()-a;return{columns:c.fields.map(m=>m.name),rows:c.rows,rowCount:c.rows.length,duration:u,message:c.rows.length===0?"OK":void 0}}catch(n){let a=n instanceof Error?n.message:"Unknown error occurred";throw new Error(a)}finally{s.release()}}});import{zValidator as Jo}from"@hono/zod-validator";import{Hono as zo}from"hono";import{executeQuerySchema as Xo}from"shared/types";var W,Oe=p(()=>{"use strict";Ae();W=new zo;W.post("/",Jo("json",Xo),async o=>{try{let{query:e}=o.req.valid("json"),t=o.req.query("database"),r=await Le({query:e,database:t});return o.json(r)}catch(e){let t=e instanceof Error?e.message:"Unknown error";return o.json({status:"error",error:t},500)}})});var Y,Zo,qe,ke,Ie=p(()=>{"use strict";E();Y=async(o,e)=>(await f(e).query(`
148
148
  SELECT
149
149
  tc.constraint_name,
150
150
  tc.table_name as referencing_table,
@@ -160,39 +160,39 @@ This will return the 5 customers with the highest total order value. You might a
160
160
  AND ccu.table_schema = tc.table_schema
161
161
  WHERE tc.constraint_type = 'FOREIGN KEY'
162
162
  AND ccu.table_name = $1
163
- `,[t])).rows.map(({row:n})=>({constraintName:n.constraint_name,referencingTable:n.referencing_table,referencingColumn:n.referencing_column,referencedTable:n.referenced_table,referencedColumn:n.referenced_column})),ir=async(t,e,r)=>{let o=await oe(t,r);if(o.length===0)return[];let a=[],n=b(r),s=new Map;for(let m of o){let u=`${m.referencingTable}.${m.referencingColumn}`;s.has(u)||s.set(u,[]),s.get(u)?.push(m)}let i=e.map(m=>m.value);for(let[m,u]of s){let d=u[0];if(!d||!e.find(y=>y.columnName===d.referencedColumn))continue;let g=i.map((y,E)=>`$${E+1}`).join(", "),w=`
164
- SELECT * FROM "${d.referencingTable}"
165
- WHERE "${d.referencingColumn}" IN (${g})
163
+ `,[o])).rows.map(({row:n})=>({constraintName:n.constraint_name,referencingTable:n.referencing_table,referencingColumn:n.referencing_column,referencedTable:n.referenced_table,referencedColumn:n.referenced_column})),Zo=async(o,e,t)=>{let r=await Y(o,t);if(r.length===0)return[];let s=[],n=f(t),a=new Map;for(let u of r){let l=`${u.referencingTable}.${u.referencingColumn}`;a.has(l)||a.set(l,[]),a.get(l)?.push(u)}let c=e.map(u=>u.value);for(let[u,l]of a){let m=l[0];if(!m||!e.find(g=>g.columnName===m.referencedColumn))continue;let d=c.map((g,b)=>`$${b+1}`).join(", "),h=`
164
+ SELECT * FROM "${m.referencingTable}"
165
+ WHERE "${m.referencingColumn}" IN (${d})
166
166
  LIMIT 100
167
- `;try{let y=await n.query(w,i);y.rows.length>0&&a.push({tableName:d.referencingTable,columnName:d.referencingColumn,constraintName:d.constraintName,records:y.rows})}catch{}}return a},Ge=async t=>{let{tableName:e,primaryKeys:r,database:o}=t,n=await b(o).connect();try{await n.query("BEGIN");let s=r[0]?.columnName;if(!s)throw new Error("Primary key column name is required");let i=r.map(l=>l.value),m=i.map((l,g)=>`$${g+1}`).join(", "),u=`
167
+ `;try{let g=await n.query(h,c);g.rows.length>0&&s.push({tableName:m.referencingTable,columnName:m.referencingColumn,constraintName:m.constraintName,records:g.rows})}catch{}}return s},qe=async o=>{let{tableName:e,primaryKeys:t,database:r}=o,n=await f(r).connect();try{await n.query("BEGIN");let a=t[0]?.columnName;if(!a)throw new Error("Primary key column name is required");let c=t.map(i=>i.value),u=c.map((i,d)=>`$${d+1}`).join(", "),l=`
168
168
  DELETE FROM "${e}"
169
- WHERE "${s}" IN (${m})
169
+ WHERE "${a}" IN (${u})
170
170
  RETURNING *
171
- `,d=await n.query(u,i);return await n.query("COMMIT"),{success:!0,message:`Successfully deleted ${d.rowCount} ${d.rowCount===1?"record":"records"} from "${e}"`,deletedCount:d.rowCount??0}}catch(s){if(await n.query("ROLLBACK"),s.code==="23503")return{success:!1,message:"Cannot delete: Records are referenced by other tables",fkViolation:!0,relatedRecords:await ir(e,r)};throw s}finally{n.release()}},Je=async t=>{let{tableName:e,primaryKeys:r,database:o}=t,n=await b(o).connect();try{await n.query("BEGIN");let s=r[0]?.columnName;if(!s)throw new Error("Primary key column name is required");let i=r.map(h=>h.value),m=await oe(e,o),u=0,d=new Set,l=async(h,P,q)=>{let yt=await oe(h,o);for(let A of yt){let H=q.map((ie,St)=>`$${St+1}`).join(", "),Tt=`
172
- SELECT "${A.referencedColumn}" FROM "${h}"
173
- WHERE "${P}" IN (${H})
174
- `,se=(await n.query(Tt,q)).rows.map(({row:ie})=>ie[A.referencedColumn]);se.length>0&&await l(A.referencingTable,A.referencingColumn,se)}let ht=q.map((A,H)=>`$${H+1}`).join(", "),Et=`
175
- DELETE FROM "${h}"
176
- WHERE "${P}" IN (${ht})
177
- `,wt=await n.query(Et,q);u+=wt.rowCount??0,d.add(h)};for(let h of m)d.has(h.referencingTable)||await l(h.referencingTable,h.referencingColumn,i);let g=i.map((h,P)=>`$${P+1}`).join(", "),w=`
171
+ `,m=await n.query(l,c);return await n.query("COMMIT"),{success:!0,message:`Successfully deleted ${m.rowCount} ${m.rowCount===1?"record":"records"} from "${e}"`,deletedCount:m.rowCount??0}}catch(a){if(await n.query("ROLLBACK"),a.code==="23503")return{success:!1,message:"Cannot delete: Records are referenced by other tables",fkViolation:!0,relatedRecords:await Zo(e,t)};throw a}finally{n.release()}},ke=async o=>{let{tableName:e,primaryKeys:t,database:r}=o,n=await f(r).connect();try{await n.query("BEGIN");let a=t[0]?.columnName;if(!a)throw new Error("Primary key column name is required");let c=t.map(y=>y.value),u=await Y(e,r),l=0,m=new Set,i=async(y,v,$)=>{let to=await Y(y,r);for(let D of to){let U=$.map((Z,co)=>`$${co+1}`).join(", "),ao=`
172
+ SELECT "${D.referencedColumn}" FROM "${y}"
173
+ WHERE "${v}" IN (${U})
174
+ `,X=(await n.query(ao,$)).rows.map(({row:Z})=>Z[D.referencedColumn]);X.length>0&&await i(D.referencingTable,D.referencingColumn,X)}let ro=$.map((D,U)=>`$${U+1}`).join(", "),no=`
175
+ DELETE FROM "${y}"
176
+ WHERE "${v}" IN (${ro})
177
+ `,so=await n.query(no,$);l+=so.rowCount??0,m.add(y)};for(let y of u)m.has(y.referencingTable)||await i(y.referencingTable,y.referencingColumn,c);let d=c.map((y,v)=>`$${v+1}`).join(", "),h=`
178
178
  DELETE FROM "${e}"
179
- WHERE "${s}" IN (${g})
179
+ WHERE "${a}" IN (${d})
180
180
  RETURNING *
181
- `,y=await n.query(w,i);await n.query("COMMIT");let E=y.rowCount??0;return{success:!0,message:u>0?`Successfully deleted ${E} ${E===1?"record":"records"} from "${e}" and ${u} related ${u===1?"record":"records"} from other tables`:`Successfully deleted ${E} ${E===1?"record":"records"} from "${e}"`,deletedCount:E+u}}catch(s){throw await n.query("ROLLBACK"),s}finally{n.release()}}});var Ze,et=f(()=>{"use strict";T();Ze=async t=>{let{tableName:e,data:r,database:o}=t,n=await b(o).connect();try{let s=Object.keys(r),i=Object.values(r),m=s.map((g,w)=>`$${w+1}`).join(", "),u=s.map(g=>`"${g}"`).join(", "),d=`
182
- INSERT INTO "${e}" (${u})
183
- VALUES (${m})
181
+ `,g=await n.query(h,c);await n.query("COMMIT");let b=g.rowCount??0;return{success:!0,message:l>0?`Successfully deleted ${b} ${b===1?"record":"records"} from "${e}" and ${l} related ${l===1?"record":"records"} from other tables`:`Successfully deleted ${b} ${b===1?"record":"records"} from "${e}"`,deletedCount:b+l}}catch(a){throw await n.query("ROLLBACK"),a}finally{n.release()}}});var xe,Ue=p(()=>{"use strict";E();xe=async o=>{let{tableName:e,data:t,database:r}=o,n=await f(r).connect();try{let a=Object.keys(t),c=Object.values(t),u=a.map((d,h)=>`$${h+1}`).join(", "),l=a.map(d=>`"${d}"`).join(", "),m=`
182
+ INSERT INTO "${e}" (${l})
183
+ VALUES (${u})
184
184
  RETURNING *
185
- `,l=await n.query(d,i);return{success:!0,message:`Record inserted into "${e}" successfully`,data:l.rows[0]}}catch(s){throw s}finally{n.release()}}});var tt,rt=f(()=>{"use strict";T();tt=async t=>{let{tableName:e,updates:r,primaryKey:o="id",database:a}=t,s=await b(a).connect();try{await s.query("BEGIN");let i=new Map;for(let d of r){let l=d.rowData[o];if(l===void 0)throw new Error(`Primary key "${o}" not found in row data. Please ensure the row has a primary key.`);i.has(l)||i.set(l,[]),i.get(l)?.push({columnName:d.columnName,value:d.value,rowData:d.rowData})}let m=[],u=0;for(let[d,l]of i.entries()){let g=l.map((S,h)=>`"${S.columnName}" = $${h+1}`),w=l.map(S=>S.value!==null&&typeof S.value=="object"?JSON.stringify(S.value):S.value);w.push(d);let y=`
185
+ `,i=await n.query(m,c);return{success:!0,message:`Record inserted into "${e}" successfully`,data:i.rows[0]}}catch(a){throw a}finally{n.release()}}});var Fe,je=p(()=>{"use strict";E();Fe=async o=>{let{tableName:e,updates:t,primaryKey:r="id",database:s}=o,a=await f(s).connect();try{await a.query("BEGIN");let c=new Map;for(let m of t){let i=m.rowData[r];if(i===void 0)throw new Error(`Primary key "${r}" not found in row data. Please ensure the row has a primary key.`);c.has(i)||c.set(i,[]),c.get(i)?.push({columnName:m.columnName,value:m.value,rowData:m.rowData})}let u=[],l=0;for(let[m,i]of c.entries()){let d=i.map((w,y)=>`"${w.columnName}" = $${y+1}`),h=i.map(w=>w.value!==null&&typeof w.value=="object"?JSON.stringify(w.value):w.value);h.push(m);let g=`
186
186
  UPDATE "${e}"
187
- SET ${g.join(", ")}
188
- WHERE "${o}" = $${w.length}
187
+ SET ${d.join(", ")}
188
+ WHERE "${r}" = $${h.length}
189
189
  RETURNING *
190
- `,E=await s.query(y,w);if(E.rowCount===0)throw new Error(`Record with ${o} = ${d} not found in table "${e}"`);m.push(E.rows[0]),u+=E.rowCount||0}return await s.query("COMMIT"),{success:!0,message:`Successfully updated ${u} ${u===1?"row":"rows"} in "${e}"`,data:m,updatedCount:u}}catch(i){throw await s.query("ROLLBACK"),i}finally{s.release()}}});import{zValidator as D}from"@hono/zod-validator";import{Hono as cr}from"hono";import{z as ot}from"zod";var W,x,nt=f(()=>{"use strict";Xe();et();rt();_();W=ot.object({database:ot.string()}),x=new cr;x.post("/",D("json",Le),D("query",W),async t=>{try{let e=t.req.valid("json"),{tableName:r,data:o}=e,{database:a}=t.req.valid("query"),n=await Ze({tableName:r,data:o,database:a});return t.json(n)}catch(e){let r=e&&typeof e=="object"&&"detail"in e?e.detail:void 0;return t.json({success:!1,message:e instanceof Error?e.message:"Failed to create record",detail:r},500)}});x.patch("/",D("json",Oe),D("query",W),async t=>{try{let e=t.req.valid("json"),{tableName:r,updates:o,primaryKey:a}=e,{database:n}=t.req.valid("query"),s=await tt({tableName:r,updates:o,primaryKey:a,database:n});return t.json(s)}catch(e){let r=e&&typeof e=="object"&&"detail"in e?e.detail:void 0;return t.json({success:!1,message:e instanceof Error?e.message:"Failed to update records",detail:r},500)}});x.delete("/",D("json",Z),D("query",W),async t=>{try{let e=t.req.valid("json"),{tableName:r,primaryKeys:o}=e,{database:a}=t.req.valid("query"),n=await Ge({tableName:r,primaryKeys:o,database:a});return n.fkViolation?t.json(n,409):t.json(n)}catch(e){let r=e&&typeof e=="object"&&"detail"in e?e.detail:void 0;return t.json({success:!1,message:e instanceof Error?e.message:"Failed to delete records",detail:r},500)}});x.delete("/force",D("json",Z),D("query",W),async t=>{try{let e=t.req.valid("json"),{tableName:r,primaryKeys:o}=e,{database:a}=t.req.valid("query"),n=await Je({tableName:r,primaryKeys:o,database:a});return t.json(n)}catch(e){let r=e&&typeof e=="object"&&"detail"in e?e.detail:void 0;return t.json({success:!1,message:e instanceof Error?e.message:"Failed to force delete records",detail:r},500)}})});var at,st=f(()=>{"use strict";T();at=async(t,e)=>{let{tableName:r,fields:o,foreignKeys:a}=t,s=await b(e).connect();try{let i=o.map(l=>{let g=`"${l.columnName}" ${l.columnType}`;return l.isArray&&(g+="[]"),l.isPrimaryKey&&(g+=" PRIMARY KEY"),l.isUnique&&!l.isPrimaryKey&&(g+=" UNIQUE"),l.isNullable||(g+=" NOT NULL"),l.isIdentity&&(g+=" GENERATED ALWAYS AS IDENTITY"),l.defaultValue&&!l.isIdentity&&(g+=` DEFAULT ${l.defaultValue}`),g}),m=a?.map(l=>`CONSTRAINT "${`fk_${r}_${l.columnName}_${l.referencedTable}_${l.referencedColumn}`}" FOREIGN KEY ("${l.columnName}") REFERENCES "${l.referencedTable}" ("${l.referencedColumn}") ON UPDATE ${l.onUpdate} ON DELETE ${l.onDelete}`)||[],u=[...i,...m],d=`
191
- CREATE TABLE "${r}" (
192
- ${u.join(`,
190
+ `,b=await a.query(g,h);if(b.rowCount===0)throw new Error(`Record with ${r} = ${m} not found in table "${e}"`);u.push(b.rows[0]),l+=b.rowCount||0}return await a.query("COMMIT"),{success:!0,message:`Successfully updated ${l} ${l===1?"row":"rows"} in "${e}"`,data:u,updatedCount:l}}catch(c){throw await a.query("ROLLBACK"),c}finally{a.release()}}});import{zValidator as S}from"@hono/zod-validator";import{Hono as et}from"hono";import{databaseQuerySchema as k,deleteRecordsSchema as Me,insertRecordSchema as ot,updateRecordsSchema as tt}from"shared/types";var _,Ve=p(()=>{"use strict";Ie();Ue();je();_=new et;_.post("/",S("json",ot),S("query",k),async o=>{try{let e=o.req.valid("json"),{tableName:t,data:r}=e,{database:s}=o.req.valid("query"),n=await xe({tableName:t,data:r,database:s});return o.json(n)}catch(e){let t=e&&typeof e=="object"&&"detail"in e?e.detail:void 0;return o.json({success:!1,message:e instanceof Error?e.message:"Failed to create record",detail:t},500)}});_.patch("/",S("json",tt),S("query",k),async o=>{try{let e=o.req.valid("json"),{tableName:t,updates:r,primaryKey:s}=e,{database:n}=o.req.valid("query"),a=await Fe({tableName:t,updates:r,primaryKey:s,database:n});return o.json(a)}catch(e){let t=e&&typeof e=="object"&&"detail"in e?e.detail:void 0;return o.json({success:!1,message:e instanceof Error?e.message:"Failed to update records",detail:t},500)}});_.delete("/",S("json",Me),S("query",k),async o=>{try{let e=o.req.valid("json"),{tableName:t,primaryKeys:r}=e,{database:s}=o.req.valid("query"),n=await qe({tableName:t,primaryKeys:r,database:s});return n.fkViolation?o.json(n,409):o.json(n)}catch(e){let t=e&&typeof e=="object"&&"detail"in e?e.detail:void 0;return o.json({success:!1,message:e instanceof Error?e.message:"Failed to delete records",detail:t},500)}});_.delete("/force",S("json",Me),S("query",k),async o=>{try{let e=o.req.valid("json"),{tableName:t,primaryKeys:r}=e,{database:s}=o.req.valid("query"),n=await ke({tableName:t,primaryKeys:r,database:s});return o.json(n)}catch(e){let t=e&&typeof e=="object"&&"detail"in e?e.detail:void 0;return o.json({success:!1,message:e instanceof Error?e.message:"Failed to force delete records",detail:t},500)}})});var Ke,Be=p(()=>{"use strict";E();Ke=async(o,e)=>{let{tableName:t,fields:r,foreignKeys:s}=o,a=await f(e).connect();try{let c=r.map(i=>{let d=`"${i.columnName}" ${i.columnType}`;return i.isArray&&(d+="[]"),i.isPrimaryKey&&(d+=" PRIMARY KEY"),i.isUnique&&!i.isPrimaryKey&&(d+=" UNIQUE"),i.isNullable||(d+=" NOT NULL"),i.isIdentity&&(d+=" GENERATED ALWAYS AS IDENTITY"),i.defaultValue&&!i.isIdentity&&(d+=` DEFAULT ${i.defaultValue}`),d}),u=s?.map(i=>`CONSTRAINT "${`fk_${t}_${i.columnName}_${i.referencedTable}_${i.referencedColumn}`}" FOREIGN KEY ("${i.columnName}") REFERENCES "${i.referencedTable}" ("${i.referencedColumn}") ON UPDATE ${i.onUpdate} ON DELETE ${i.onDelete}`)||[],l=[...c,...u],m=`
191
+ CREATE TABLE "${t}" (
192
+ ${l.join(`,
193
193
  `)}
194
194
  );
195
- `;return await s.query(d),{success:!0,tableName:r,message:`Table "${r}" created successfully`}}catch(i){throw i}finally{s.release()}}});var it,ct=f(()=>{"use strict";T();it=async t=>{let r=await b(t).connect();try{return(await r.query(`
195
+ `;return await a.query(m),{success:!0,tableName:t,message:`Table "${t}" created successfully`}}catch(c){throw c}finally{a.release()}}});var He,Qe=p(()=>{"use strict";E();He=async o=>{let t=await f(o).connect();try{return(await t.query(`
196
196
  SELECT
197
197
  t.table_name as "tableName",
198
198
  COALESCE(s.n_live_tup, 0) as "rowCount"
@@ -201,5 +201,5 @@ This will return the 5 customers with the highest total order value. You might a
201
201
  WHERE t.table_schema = 'public'
202
202
  AND t.table_type = 'BASE TABLE'
203
203
  ORDER BY t.table_name;
204
- `)).rows.map(a=>({tableName:a.tableName,rowCount:Number(a.rowCount)}))}finally{r.release()}}});import{zValidator as ne}from"@hono/zod-validator";import{Hono as lr}from"hono";var M,lt=f(()=>{"use strict";st();ct();_();V();M=new lr;M.get("/",ne("query",L),async t=>{try{let{database:e}=t.req.valid("query"),r=await it(e);return t.json(r)}catch(e){return $(t,e,"Failed to fetch tables")}});M.post("/",ne("json",Pe),ne("query",L),async t=>{try{let e=t.req.valid("json"),{database:r}=t.req.valid("query"),o=await at(e,r);return t.json(o)}catch(e){let r=e&&typeof e=="object"&&"detail"in e?e.detail:void 0;return t.json({success:!1,message:e instanceof Error?e.message:"Failed to create table",detail:r},500)}})});import{Hono as ur}from"hono";var ut,mr,dr,mt,dt=f(()=>{"use strict";Y();ut=async()=>{let t=await C.connect();try{return await t.query("SELECT 1"),{success:!0}}catch(e){return{success:!1,error:e instanceof Error?e.message:"Unknown error"}}finally{t.release()}},mr=5e3,dr=1e4,mt=t=>{let e=new ur;return e.get("/",t(()=>{let r;return{onOpen:async(o,a)=>{try{let n=await ut();a.send(JSON.stringify({...n,status:n.success?"connected":"failed",timestamp:new Date().toISOString()}))}catch{a.send(JSON.stringify({success:!1,status:"failed",error:"Initial check failed",timestamp:new Date().toISOString()}))}r=setInterval(async()=>{try{let n=await Promise.race([ut(),new Promise((s,i)=>setTimeout(()=>i({success:!1,error:"Database check timeout"}),dr))]);a.send(JSON.stringify({...n,status:n.success?"connected":"failed",timestamp:new Date().toISOString()}))}catch(n){a.send(JSON.stringify({success:!1,status:"failed",error:n instanceof Error?n.message:"Check failed",timestamp:new Date().toISOString()}))}},mr)},onMessage(o,a){},onClose:()=>{r&&clearInterval(r)},onError:o=>{r&&clearInterval(r)}}})),e}});var gt={};Dt(gt,{createServer:()=>hr});import B from"path";import{fileURLToPath as pr}from"url";import{serveStatic as pt}from"@hono/node-server/serve-static";import{createNodeWebSocket as fr}from"@hono/node-ws";import{Hono as gr}from"hono";import{cors as br}from"hono/cors";import{logger as yr}from"hono/logger";var ft,hr,bt=f(()=>{"use strict";$e();Ie();Ke();He();Ye();nt();lt();dt();ft=()=>{if(process.env.NODE_ENV==="development")return B.resolve(process.cwd(),"../core/dist");let t=B.dirname(pr(import.meta.url));return B.resolve(t,"./core-dist")},hr=()=>{let t=new gr({strict:!1}),{upgradeWebSocket:e,injectWebSocket:r}=fr({app:t});return t.use("/*",br()),t.use(yr()),t.use("/favicon.ico",pt({path:B.resolve(ft(),"favicon.ico")})),t.use("*",async(o,a)=>{o.header("Access-Control-Allow-Origin","*"),o.header("Access-Control-Allow-Methods","GET, POST, PUT, DELETE, OPTIONS"),o.header("Access-Control-Allow-Headers","Content-Type"),await a()}),t.route("/ws",mt(e)),t.route("/databases",O),t.route("/tables",M),t.route("/tables/:tableName/columns",ee),t.route("/tables/:tableName/data",te),t.route("/records",x),t.route("/query",re),t.route("/chat",X),t.use("/*",pt({root:ft()})),{app:t,injectWebSocket:r}}});import{intro as Er,outro as wr}from"@clack/prompts";import{serve as Tr}from"@hono/node-server";import Sr from"open";import ae from"picocolors";import{program as ce}from"commander";var le=()=>(ce.name("db-studio").option("-e, --env <path>","Path to custom .env file").option("-p, --port <port>","Port to run the server on").option("-d, --database-url <url>","Database URL to use").option("-n, --var-name <name>","Custom environment variable name (default: DATABASE_URL)").option("-s, --status","Show status of the server").option("-h, --help","Show help").option("-v, --version","Show version").parse(process.argv),ce.opts());import{readFile as vt}from"fs/promises";import{resolve as Rt}from"path";import{cancel as k,isCancel as Q,note as ue,select as Ct,spinner as _t,text as me}from"@clack/prompts";import{parse as $t}from"dotenv";import z from"picocolors";var de=async(t,e)=>{let r=e||"DATABASE_URL";if(t?.[r])return t[r];let o=_t();o.start("Looking for database connection..."),t?ue(z.red(`${r} not found in .env`)):ue(z.red("No .env file found in current directory"));let a=await Ct({message:`How do you want to provide ${r}?`,options:[{value:"manual",label:"Enter connection string manually"},{value:"other-env",label:"Use different .env file"},{value:"cancel",label:"Cancel / Exit"}],initialValue:"manual"});if((Q(a)||a==="cancel")&&(k("No database connection provided. Exiting..."),process.exit(0)),a==="other-env"){o.start("Waiting for path...");let s=await me({message:"Enter path to .env file",placeholder:"~/projects/myapp/.env.local or ./special.env",validate(m){if(!m.trim())return"Path is required"}});Q(s)&&(k("Cancelled."),process.exit(0)),o.stop("Trying custom .env...");let i=Rt(s);try{let m=await vt(i,"utf-8"),u=$t(m);if(u[r])return u[r];throw new Error(`${r} still missing in custom file`)}catch(m){let u=m;k(`Cannot read or parse file: ${z.dim(u.message)}`),process.exit(1)}}o.stop("Manual input...");let n=await me({message:`Paste your ${r}`,placeholder:"postgresql://user:password@localhost:5432/mydb",validate(s){if(!s.trim())return"Connection string is required!";try{new URL(s);return}catch{return"Must be a valid URL format"}}});return Q(n)&&(k("Cancelled."),process.exit(0)),n.trim()};import{access as xt,readFile as Pt}from"fs/promises";import{resolve as pe}from"path";import{parse as At}from"dotenv";var R=async t=>{let e=t?pe(t):pe(process.cwd(),".env");try{await xt(e);let r=await Pt(e,"utf-8");return At(r)}catch(r){if(r instanceof Error&&r.message.includes("ENOENT"))return null;throw r}};import{intro as Lt,outro as Ot}from"@clack/prompts";import fe from"picocolors";var ge=()=>{Lt(fe.inverse(" db-studio ")),Ot(fe.green("For more information, visit: https://dbstudio.sh/docs"))};import{intro as qt,note as kt,outro as be}from"@clack/prompts";import j from"picocolors";I();var ye=async(t,e,r)=>{qt(j.inverse(" db-studio "));let o=r||N.VAR_NAME,a=null;if(e)a=e;else{let n=t?await R(t):await R(N.ENV);n?.[o]&&(a=n[o])}a?be(j.green(`\u2713 Database connection configured (using ${o})`)):(kt(j.red(`\u2717 ${o} not found`),"Status"),be(j.yellow("\u26A0 No database connection configured")))};import{intro as jt,outro as Ut}from"@clack/prompts";import Ee from"picocolors";var he={name:"db-studio",type:"module",version:"1.2.7",description:"Modern database client for PostgreSQL with spreadsheet-like grid, AI-powered SQL assistance, ER diagrams, fast data browsing and editing. CLI tool, upcoming desktop & web versions.",keywords:["database","database client","postgres","postgresql","database gui","sql client","database studio","postgres gui","ai sql","sql editor","er diagram","database management","data browser","spreadsheet database","postgres admin","mysql client","sqlite client","database tool","developer tools"],author:"H\xFCsam \u{1F951} <devhsmq@gmail.com>",homepage:"https://dbstudio.sh",repository:{type:"git",url:"git+https://github.com/husamql3/db-studio.git"},bugs:{url:"https://github.com/husamql3/db-studio/issues"},license:"MIT",bin:{"db-studio":"./dist/index.js"},files:["dist"],scripts:{dev:"NODE_ENV=development tsx watch src/index.ts",build:"tsup","build:release":"tsup --minify --sourcemap",start:"node dist/index.js",check:"biome check --write --unsafe --verbose"},dependencies:{"@clack/prompts":"^0.11.0","@hono/node-server":"^1.19.7","@hono/node-ws":"^1.2.0","@hono/zod-validator":"^0.7.6","@tanstack/ai-openai":"^0.2.1","@upstash/redis":"^1.36.1",commander:"^12.1.0",dotenv:"^16.4.7",hono:"^4.10.4",open:"^10.0.2",pg:"^8.13.1",picocolors:"^1.1.1",zod:"^4.2.1"},devDependencies:{"@biomejs/biome":"^2.2.6","@biomejs/cli-linux-x64":"^2.2.6","@types/node":"^20.11.17","@types/pg":"^8.16.0",tsup:"^8.5.1",tsx:"^4.7.1",typescript:"^5.8.3",wrangler:"^4.4.0"}};var we=()=>{jt(Ee.inverse(" db-studio ")),Ut(Ee.green(`\u{1F680} db-studio v${he.version}`))};I();var Nr=async()=>{let{env:t,port:e,databaseUrl:r,varName:o,status:a,help:n,version:s}=le();n&&(ge(),process.exit(0)),s&&(we(),process.exit(0)),a&&(await ye(t,r,o),process.exit(0)),Er(ae.inverse(" db-studio "));let i=e?parseInt(e,10):N.PORT,m=o||N.VAR_NAME,u=t?await R(t):await R(N.ENV),d=r||await de(u,m);process.env.DATABASE_URL=d;let{createServer:l}=await Promise.resolve().then(()=>(bt(),gt)),{app:g,injectWebSocket:w}=l(),y=Tr({fetch:g.fetch,port:i});w(y),wr(ae.green(`Server running at ${ae.cyan(`http://localhost:${i}`)}`)),process.env.NODE_ENV&&process.env.NODE_ENV!=="development"&&await Sr(`http://localhost:${i}`)};Nr().catch(t=>{process.exit(1)});export{Nr as main};
204
+ `)).rows.map(s=>({tableName:s.tableName,rowCount:Number(s.rowCount)}))}finally{t.release()}}});import{zValidator as G}from"@hono/zod-validator";import{Hono as rt}from"hono";import{createTableSchema as nt,databaseQuerySchema as We}from"shared/types";var I,Ye=p(()=>{"use strict";Be();Qe();q();I=new rt;I.get("/",G("query",We),async o=>{try{let{database:e}=o.req.valid("query"),t=await He(e);return o.json(t)}catch(e){return T(o,e,"Failed to fetch tables")}});I.post("/",G("json",nt),G("query",We),async o=>{try{let e=o.req.valid("json"),{database:t}=o.req.valid("query"),r=await Ke(e,t);return o.json(r)}catch(e){let t=e&&typeof e=="object"&&"detail"in e?e.detail:void 0;return o.json({success:!1,message:e instanceof Error?e.message:"Failed to create table",detail:t},500)}})});import{Hono as st}from"hono";var Ge,at,ct,Je,ze=p(()=>{"use strict";M();Ge=async()=>{let o=await N.connect();try{return await o.query("SELECT 1"),{success:!0}}catch(e){return{success:!1,error:e instanceof Error?e.message:"Unknown error"}}finally{o.release()}},at=5e3,ct=1e4,Je=o=>{let e=new st;return e.get("/",o(()=>{let t;return{onOpen:async(r,s)=>{try{let n=await Ge();s.send(JSON.stringify({...n,status:n.success?"connected":"failed",timestamp:new Date().toISOString()}))}catch{s.send(JSON.stringify({success:!1,status:"failed",error:"Initial check failed",timestamp:new Date().toISOString()}))}t=setInterval(async()=>{try{let n=await Promise.race([Ge(),new Promise((a,c)=>setTimeout(()=>c({success:!1,error:"Database check timeout"}),ct))]);s.send(JSON.stringify({...n,status:n.success?"connected":"failed",timestamp:new Date().toISOString()}))}catch(n){s.send(JSON.stringify({success:!1,status:"failed",error:n instanceof Error?n.message:"Check failed",timestamp:new Date().toISOString()}))}},at)},onMessage(r,s){},onClose:()=>{t&&clearInterval(t)},onError:r=>{t&&clearInterval(t)}}})),e}});var eo={};lo(eo,{createServer:()=>pt});import x from"path";import{fileURLToPath as it}from"url";import{serveStatic as Xe}from"@hono/node-server/serve-static";import{createNodeWebSocket as lt}from"@hono/node-ws";import{Hono as ut}from"hono";import{cors as mt}from"hono/cors";import{logger as dt}from"hono/logger";var Ze,pt,oo=p(()=>{"use strict";Ee();Se();_e();Pe();Oe();Ve();Ye();ze();Ze=()=>{if(process.env.NODE_ENV==="development")return x.resolve(process.cwd(),"../core/dist");let o=x.dirname(it(import.meta.url));return x.resolve(o,"./core-dist")},pt=()=>{let o=new ut({strict:!1}),{upgradeWebSocket:e,injectWebSocket:t}=lt({app:o});return o.use("/*",mt()),process.env.NODE_ENV==="development"&&o.use(dt()),o.use("/favicon.ico",Xe({path:x.resolve(Ze(),"favicon.ico")})),o.use("*",async(r,s)=>{r.header("Access-Control-Allow-Origin","*"),r.header("Access-Control-Allow-Methods","GET, POST, PUT, DELETE, OPTIONS"),r.header("Access-Control-Allow-Headers","Content-Type"),await s()}),o.route("/ws",Je(e)),o.route("/databases",C),o.route("/tables",I),o.route("/tables/:tableName/columns",H),o.route("/tables/:tableName/data",Q),o.route("/records",_),o.route("/query",W),o.route("/chat",B),o.use("/*",Xe({root:Ze()})),{app:o,injectWebSocket:t}}});import{intro as ft,outro as gt}from"@clack/prompts";import{serve as yt}from"@hono/node-server";import bt from"open";import J from"picocolors";import{DEFAULTS as z}from"shared/constants";import{program as ee}from"commander";var oe=()=>(ee.name("db-studio").option("-e, --env <path>","Path to custom .env file").option("-p, --port <port>","Port to run the server on").option("-d, --database-url <url>","Database URL to use").option("-n, --var-name <name>","Custom environment variable name (default: DATABASE_URL)").option("-s, --status","Show status of the server").option("-h, --help","Show help").option("-v, --version","Show version").parse(process.argv),ee.opts());import{readFile as uo}from"fs/promises";import{resolve as mo}from"path";import{cancel as P,isCancel as F,note as te,select as po,spinner as fo,text as re}from"@clack/prompts";import{parse as go}from"dotenv";import j from"picocolors";var ne=async(o,e)=>{let t=e||"DATABASE_URL";if(o?.[t])return o[t];let r=fo();r.start("Looking for database connection..."),o?te(j.red(`${t} not found in .env`)):te(j.red("No .env file found in current directory"));let s=await po({message:`How do you want to provide ${t}?`,options:[{value:"manual",label:"Enter connection string manually"},{value:"other-env",label:"Use different .env file"},{value:"cancel",label:"Cancel / Exit"}],initialValue:"manual"});if((F(s)||s==="cancel")&&(P("No database connection provided. Exiting..."),process.exit(0)),s==="other-env"){r.start("Waiting for path...");let a=await re({message:"Enter path to .env file",placeholder:"~/projects/myapp/.env.local or ./special.env",validate(u){if(!u.trim())return"Path is required"}});F(a)&&(P("Cancelled."),process.exit(0)),r.stop("Trying custom .env...");let c=mo(a);try{let u=await uo(c,"utf-8"),l=go(u);if(l[t])return l[t];throw new Error(`${t} still missing in custom file`)}catch(u){let l=u;P(`Cannot read or parse file: ${j.dim(l.message)}`),process.exit(1)}}r.stop("Manual input...");let n=await re({message:`Paste your ${t}`,placeholder:"postgresql://user:password@localhost:5432/mydb",validate(a){if(!a.trim())return"Connection string is required!";try{new URL(a);return}catch{return"Must be a valid URL format"}}});return F(n)&&(P("Cancelled."),process.exit(0)),n.trim()};import{access as yo,readFile as bo}from"fs/promises";import{resolve as se}from"path";import{parse as ho}from"dotenv";var R=async o=>{let e=o?se(o):se(process.cwd(),".env");try{await yo(e);let t=await bo(e,"utf-8");return ho(t)}catch(t){if(t instanceof Error&&t.message.includes("ENOENT"))return null;throw t}};import{intro as Eo,outro as wo}from"@clack/prompts";import ae from"picocolors";import{META as So}from"shared/constants/meta.js";var ce=()=>{Eo(ae.inverse(" db-studio ")),wo(ae.green(`For more information, visit: ${So.SITE_DOCS_LINK}`))};import{intro as Ro,note as No,outro as ie}from"@clack/prompts";import L from"picocolors";import{DEFAULTS as le}from"shared/constants";var ue=async(o,e,t)=>{Ro(L.inverse(" db-studio "));let r=t||le.VAR_NAME,s=null;if(e)s=e;else{let n=o?await R(o):await R(le.ENV);n?.[r]&&(s=n[r])}s?ie(L.green(`\u2713 Database connection configured (using ${r})`)):(No(L.red(`\u2717 ${r} not found`),"Status"),ie(L.yellow("\u26A0 No database connection configured")))};import{intro as _o,outro as vo}from"@clack/prompts";import de from"picocolors";var me={name:"db-studio",type:"module",version:"1.2.9",description:"Modern database client for PostgreSQL with spreadsheet-like grid, AI-powered SQL assistance, ER diagrams, fast data browsing and editing. CLI tool, upcoming desktop & web versions.",keywords:["database","database client","postgres","postgresql","database gui","sql client","database studio","postgres gui","ai sql","sql editor","er diagram","database management","data browser","spreadsheet database","postgres admin","mysql client","sqlite client","database tool","developer tools"],author:"H\xFCsam \u{1F951} <devhsmq@gmail.com>",homepage:"https://dbstudio.sh",repository:{type:"git",url:"git+https://github.com/husamql3/db-studio.git"},bugs:{url:"https://github.com/husamql3/db-studio/issues"},license:"MIT",bin:{"db-studio":"./dist/index.js"},files:["dist"],scripts:{dev:"NODE_ENV=development tsx watch src/index.ts",build:"tsup --minify --sourcemap",start:"node dist/index.js",check:"biome check --write --unsafe --verbose"},dependencies:{shared:"workspace:*","@clack/prompts":"^0.11.0","@hono/node-server":"^1.19.7","@hono/node-ws":"^1.2.0","@hono/zod-validator":"^0.7.6",commander:"^12.1.0",dotenv:"^16.4.7",hono:"^4.10.4",open:"^10.0.2",pg:"^8.13.1",picocolors:"^1.1.1",zod:"^4.2.1"},devDependencies:{"@biomejs/biome":"^2.2.6","@types/node":"^20.11.17","@types/pg":"^8.16.0",tsup:"^8.5.1",tsx:"^4.7.1",typescript:"^5.8.3"}};var pe=()=>{_o(de.inverse(" db-studio ")),vo(de.green(`\u{1F680} db-studio v${me.version}`))};var ht=async()=>{let{env:o,port:e,databaseUrl:t,varName:r,status:s,help:n,version:a}=oe();n&&(ce(),process.exit(0)),a&&(pe(),process.exit(0)),s&&(await ue(o,t,r),process.exit(0)),ft(J.inverse(" db-studio "));let c=e?parseInt(e,10):z.PORT,u=r||z.VAR_NAME,l=o?await R(o):await R(z.ENV),m=t||await ne(l,u);process.env.DATABASE_URL=m;let{createServer:i}=await Promise.resolve().then(()=>(oo(),eo)),{app:d,injectWebSocket:h}=i(),g=yt({fetch:d.fetch,port:c});h(g),gt(J.green(`Server running at ${J.cyan(`http://localhost:${c}`)}`)),process.env.NODE_ENV&&process.env.NODE_ENV!=="development"&&await bt(`http://localhost:${c}`)};ht().catch(o=>{process.exit(1)});export{ht as main};
205
205
  //# sourceMappingURL=index.js.map