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.
- package/dist/index.js +44 -44
- package/dist/index.js.map +1 -1
- package/package.json +4 -8
- package/dist/core-dist/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
- package/dist/core-dist/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
- package/dist/core-dist/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
- package/dist/core-dist/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
- package/dist/core-dist/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
- package/dist/core-dist/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
- package/dist/core-dist/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
- package/dist/core-dist/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
- package/dist/core-dist/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
- package/dist/core-dist/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
- package/dist/core-dist/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
- package/dist/core-dist/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
- package/dist/core-dist/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
- package/dist/core-dist/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
- package/dist/core-dist/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
- package/dist/core-dist/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
- package/dist/core-dist/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
- package/dist/core-dist/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
- package/dist/core-dist/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
- package/dist/core-dist/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
- package/dist/core-dist/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
- package/dist/core-dist/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
- package/dist/core-dist/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
- package/dist/core-dist/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
- package/dist/core-dist/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
- package/dist/core-dist/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
- package/dist/core-dist/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
- package/dist/core-dist/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
- package/dist/core-dist/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
- package/dist/core-dist/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
- package/dist/core-dist/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
- package/dist/core-dist/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
- package/dist/core-dist/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
- package/dist/core-dist/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
- package/dist/core-dist/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
- package/dist/core-dist/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
- package/dist/core-dist/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
- package/dist/core-dist/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
- package/dist/core-dist/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
- package/dist/core-dist/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
- package/dist/core-dist/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
- package/dist/core-dist/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
- package/dist/core-dist/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
- package/dist/core-dist/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
- package/dist/core-dist/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
- package/dist/core-dist/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
- package/dist/core-dist/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
- package/dist/core-dist/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
- package/dist/core-dist/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
- package/dist/core-dist/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
- package/dist/core-dist/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
- package/dist/core-dist/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
- package/dist/core-dist/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
- package/dist/core-dist/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
- package/dist/core-dist/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
- package/dist/core-dist/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
- package/dist/core-dist/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
- package/dist/core-dist/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
- package/dist/core-dist/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
- package/dist/core-dist/assets/_baseUniq-DeTP8pep.js +0 -1
- package/dist/core-dist/assets/_queryId-xb71ELMT.js +0 -1
- package/dist/core-dist/assets/_table-CPYKXxJK.js +0 -1
- package/dist/core-dist/assets/abap-BdImnpbu.js +0 -1
- package/dist/core-dist/assets/abap-DLDM7-KI.js +0 -1
- package/dist/core-dist/assets/actionscript-3-CfeIJUat.js +0 -1
- package/dist/core-dist/assets/ada-bCR0ucgS.js +0 -1
- package/dist/core-dist/assets/andromeeda-C-Jbm3Hp.js +0 -1
- package/dist/core-dist/assets/angular-html-CU67Zn6k.js +0 -1
- package/dist/core-dist/assets/angular-ts-BwZT4LLn.js +0 -1
- package/dist/core-dist/assets/apache-Pmp26Uib.js +0 -1
- package/dist/core-dist/assets/apex-D8_7TLub.js +0 -1
- package/dist/core-dist/assets/apex-DNDY2TF8.js +0 -1
- package/dist/core-dist/assets/apl-dKokRX4l.js +0 -1
- package/dist/core-dist/assets/applescript-Co6uUVPk.js +0 -1
- package/dist/core-dist/assets/ara-BRHolxvo.js +0 -1
- package/dist/core-dist/assets/arc-BoR-jFRR.js +0 -1
- package/dist/core-dist/assets/architectureDiagram-VXUJARFQ-CZLHhedK.js +0 -36
- package/dist/core-dist/assets/asciidoc-Dv7Oe6Be.js +0 -1
- package/dist/core-dist/assets/asm-D_Q5rh1f.js +0 -1
- package/dist/core-dist/assets/astro-CbQHKStN.js +0 -1
- package/dist/core-dist/assets/aurora-x-D-2ljcwZ.js +0 -1
- package/dist/core-dist/assets/awk-DMzUqQB5.js +0 -1
- package/dist/core-dist/assets/ayu-dark-CmMr59Fi.js +0 -1
- package/dist/core-dist/assets/azcli-Y6nb8tq_.js +0 -1
- package/dist/core-dist/assets/ballerina-BFfxhgS-.js +0 -1
- package/dist/core-dist/assets/bat-BkioyH1T.js +0 -1
- package/dist/core-dist/assets/bat-BwHxbl9M.js +0 -1
- package/dist/core-dist/assets/beancount-k_qm7-4y.js +0 -1
- package/dist/core-dist/assets/berry-uYugtg8r.js +0 -1
- package/dist/core-dist/assets/bibtex-CHM0blh-.js +0 -1
- package/dist/core-dist/assets/bicep-Bmn6On1c.js +0 -1
- package/dist/core-dist/assets/bicep-CFznDFnq.js +0 -2
- package/dist/core-dist/assets/blade-D4QpJJKB.js +0 -1
- package/dist/core-dist/assets/blockDiagram-VD42YOAC-CeAErDmg.js +0 -122
- package/dist/core-dist/assets/bsl-BO_Y6i37.js +0 -1
- package/dist/core-dist/assets/c-BIGW1oBm.js +0 -1
- package/dist/core-dist/assets/c3-VCDPK7BO.js +0 -1
- package/dist/core-dist/assets/c4Diagram-YG6GDRKO-OSVEUkvh.js +0 -10
- package/dist/core-dist/assets/cadence-Bv_4Rxtq.js +0 -1
- package/dist/core-dist/assets/cairo-KRGpt6FW.js +0 -1
- package/dist/core-dist/assets/cameligo-Bf6VGUru.js +0 -1
- package/dist/core-dist/assets/catppuccin-frappe-DFWUc33u.js +0 -1
- package/dist/core-dist/assets/catppuccin-latte-C9dUb6Cb.js +0 -1
- package/dist/core-dist/assets/catppuccin-macchiato-DQyhUUbL.js +0 -1
- package/dist/core-dist/assets/catppuccin-mocha-D87Tk5Gz.js +0 -1
- package/dist/core-dist/assets/channel-CNjzrXvL.js +0 -1
- package/dist/core-dist/assets/chunk-4BX2VUAB-BEVdK-cK.js +0 -1
- package/dist/core-dist/assets/chunk-55IACEB6-BhPxNRfI.js +0 -1
- package/dist/core-dist/assets/chunk-B4BG7PRW-BIYfgIK7.js +0 -165
- package/dist/core-dist/assets/chunk-DI55MBZ5-usB5CT3s.js +0 -220
- package/dist/core-dist/assets/chunk-FMBD7UC4-D_zfIsjm.js +0 -15
- package/dist/core-dist/assets/chunk-QN33PNHL-BZgTlwI6.js +0 -1
- package/dist/core-dist/assets/chunk-QZHKN3VN-DVUwvM1e.js +0 -1
- package/dist/core-dist/assets/chunk-TZMSLE5B-D0G1xb6O.js +0 -1
- package/dist/core-dist/assets/clarity-D53aC0YG.js +0 -1
- package/dist/core-dist/assets/classDiagram-2ON5EDUG-BhJm11nN.js +0 -1
- package/dist/core-dist/assets/classDiagram-v2-WZHVMYZB-BhJm11nN.js +0 -1
- package/dist/core-dist/assets/clojure-Dnu-v4kV.js +0 -1
- package/dist/core-dist/assets/clojure-P80f7IUj.js +0 -1
- package/dist/core-dist/assets/clone-CpKDUrON.js +0 -1
- package/dist/core-dist/assets/cmake-D1j8_8rp.js +0 -1
- package/dist/core-dist/assets/cobol-nwyudZeR.js +0 -1
- package/dist/core-dist/assets/code-block-IT6T5CEO-CVoIiHLl.js +0 -154
- package/dist/core-dist/assets/codeowners-Bp6g37R7.js +0 -1
- package/dist/core-dist/assets/codeql-DsOJ9woJ.js +0 -1
- package/dist/core-dist/assets/codicon-ngg6Pgfi.ttf +0 -0
- package/dist/core-dist/assets/coffee-Bd8akH9Z.js +0 -1
- package/dist/core-dist/assets/coffee-Ch7k5sss.js +0 -1
- package/dist/core-dist/assets/common-lisp-Cg-RD9OK.js +0 -1
- package/dist/core-dist/assets/coq-DkFqJrB1.js +0 -1
- package/dist/core-dist/assets/cose-bilkent-S5V4N54A-mPMfO63b.js +0 -1
- package/dist/core-dist/assets/cpp-BbWJElDN.js +0 -1
- package/dist/core-dist/assets/cpp-CofmeUqb.js +0 -1
- package/dist/core-dist/assets/crystal-tKQVLTB8.js +0 -1
- package/dist/core-dist/assets/csharp-Co3qMtFm.js +0 -1
- package/dist/core-dist/assets/csharp-K5feNrxe.js +0 -1
- package/dist/core-dist/assets/csp-D-4FJmMZ.js +0 -1
- package/dist/core-dist/assets/css-DPfMkruS.js +0 -1
- package/dist/core-dist/assets/css-DdJfP1eB.js +0 -3
- package/dist/core-dist/assets/css.worker-DBVD8oXr.js +0 -93
- package/dist/core-dist/assets/cssMode-BbbavvFK.js +0 -1
- package/dist/core-dist/assets/csv-fuZLfV_i.js +0 -1
- package/dist/core-dist/assets/cue-D82EKSYY.js +0 -1
- package/dist/core-dist/assets/cypher-COkxafJQ.js +0 -1
- package/dist/core-dist/assets/cypher-cTPe9QuQ.js +0 -1
- package/dist/core-dist/assets/cytoscape.esm-5J0xJHOV.js +0 -321
- package/dist/core-dist/assets/d-85-TOEBH.js +0 -1
- package/dist/core-dist/assets/dagre-6UL2VRFP-C2kq_KdG.js +0 -4
- package/dist/core-dist/assets/dark-plus-C3mMm8J8.js +0 -1
- package/dist/core-dist/assets/dart-BOtBlQCF.js +0 -1
- package/dist/core-dist/assets/dart-CF10PKvl.js +0 -1
- package/dist/core-dist/assets/dax-CEL-wOlO.js +0 -1
- package/dist/core-dist/assets/defaultLocale-C4B-KCzX.js +0 -1
- package/dist/core-dist/assets/desktop-BmXAJ9_W.js +0 -1
- package/dist/core-dist/assets/diagram-PSM6KHXK-dnGx_20I.js +0 -24
- package/dist/core-dist/assets/diagram-QEK2KX5R-DUffoXTA.js +0 -43
- package/dist/core-dist/assets/diagram-S2PKOQOG-DknjRkcy.js +0 -24
- package/dist/core-dist/assets/diff-D97Zzqfu.js +0 -1
- package/dist/core-dist/assets/docker-BcOcwvcX.js +0 -1
- package/dist/core-dist/assets/dockerfile-BG73LgW2.js +0 -1
- package/dist/core-dist/assets/dotenv-Da5cRb03.js +0 -1
- package/dist/core-dist/assets/dracula-BzJJZx-M.js +0 -1
- package/dist/core-dist/assets/dracula-soft-BXkSAIEj.js +0 -1
- package/dist/core-dist/assets/dream-maker-BtqSS_iP.js +0 -1
- package/dist/core-dist/assets/ecl-BEgZUVRK.js +0 -1
- package/dist/core-dist/assets/edge-BkV0erSs.js +0 -1
- package/dist/core-dist/assets/elixir-BkW5O-1t.js +0 -1
- package/dist/core-dist/assets/elixir-CDX3lj18.js +0 -1
- package/dist/core-dist/assets/elm-DbKCFpqz.js +0 -1
- package/dist/core-dist/assets/emacs-lisp-C9XAeP06.js +0 -1
- package/dist/core-dist/assets/erDiagram-Q2GNP2WA-BYhHqY5d.js +0 -60
- package/dist/core-dist/assets/erb-BOJIQeun.js +0 -1
- package/dist/core-dist/assets/erlang-DsQrWhSR.js +0 -1
- package/dist/core-dist/assets/everforest-dark-BgDCqdQA.js +0 -1
- package/dist/core-dist/assets/everforest-light-C8M2exoo.js +0 -1
- package/dist/core-dist/assets/fennel-BYunw83y.js +0 -1
- package/dist/core-dist/assets/fish-BvzEVeQv.js +0 -1
- package/dist/core-dist/assets/flow9-BeJ5waoc.js +0 -1
- package/dist/core-dist/assets/flowDiagram-NV44I4VS--B_JCKG9.js +0 -162
- package/dist/core-dist/assets/fluent-C4IJs8-o.js +0 -1
- package/dist/core-dist/assets/format-cell-value-DJ9wR-dS.js +0 -7
- package/dist/core-dist/assets/fortran-fixed-form-CkoXwp7k.js +0 -1
- package/dist/core-dist/assets/fortran-free-form-BxgE0vQu.js +0 -1
- package/dist/core-dist/assets/freemarker2-C8JhQdZP.js +0 -3
- package/dist/core-dist/assets/fsharp-CXgrBDvD.js +0 -1
- package/dist/core-dist/assets/fsharp-PahG7c26.js +0 -1
- package/dist/core-dist/assets/ganttDiagram-JELNMOA3-fwVvPSFQ.js +0 -267
- package/dist/core-dist/assets/gdresource-B7Tvp0Sc.js +0 -1
- package/dist/core-dist/assets/gdscript-DTMYz4Jt.js +0 -1
- package/dist/core-dist/assets/gdshader-DkwncUOv.js +0 -1
- package/dist/core-dist/assets/genie-D0YGMca9.js +0 -1
- package/dist/core-dist/assets/gherkin-DyxjwDmM.js +0 -1
- package/dist/core-dist/assets/git-commit-F4YmCXRG.js +0 -1
- package/dist/core-dist/assets/git-rebase-r7XF79zn.js +0 -1
- package/dist/core-dist/assets/gitGraphDiagram-NY62KEGX-B1Rw385f.js +0 -65
- package/dist/core-dist/assets/github-dark-DHJKELXO.js +0 -1
- package/dist/core-dist/assets/github-dark-default-Cuk6v7N8.js +0 -1
- package/dist/core-dist/assets/github-dark-dimmed-DH5Ifo-i.js +0 -1
- package/dist/core-dist/assets/github-dark-high-contrast-E3gJ1_iC.js +0 -1
- package/dist/core-dist/assets/github-light-DAi9KRSo.js +0 -1
- package/dist/core-dist/assets/github-light-default-D7oLnXFd.js +0 -1
- package/dist/core-dist/assets/github-light-high-contrast-BfjtVDDH.js +0 -1
- package/dist/core-dist/assets/gleam-BspZqrRM.js +0 -1
- package/dist/core-dist/assets/glimmer-js-Rg0-pVw9.js +0 -1
- package/dist/core-dist/assets/glimmer-ts-U6CK756n.js +0 -1
- package/dist/core-dist/assets/glsl-DplSGwfg.js +0 -1
- package/dist/core-dist/assets/gn-n2N0HUVH.js +0 -1
- package/dist/core-dist/assets/gnuplot-DdkO51Og.js +0 -1
- package/dist/core-dist/assets/go-Dn2_MT6a.js +0 -1
- package/dist/core-dist/assets/go-acbASCJo.js +0 -1
- package/dist/core-dist/assets/graph-B4OompRX.js +0 -1
- package/dist/core-dist/assets/graphql-BxJiqAUM.js +0 -1
- package/dist/core-dist/assets/graphql-ChdNCCLP.js +0 -1
- package/dist/core-dist/assets/groovy-gcz8RCvz.js +0 -1
- package/dist/core-dist/assets/gruvbox-dark-hard-CFHQjOhq.js +0 -1
- package/dist/core-dist/assets/gruvbox-dark-medium-GsRaNv29.js +0 -1
- package/dist/core-dist/assets/gruvbox-dark-soft-CVdnzihN.js +0 -1
- package/dist/core-dist/assets/gruvbox-light-hard-CH1njM8p.js +0 -1
- package/dist/core-dist/assets/gruvbox-light-medium-DRw_LuNl.js +0 -1
- package/dist/core-dist/assets/gruvbox-light-soft-hJgmCMqR.js +0 -1
- package/dist/core-dist/assets/hack-CaT9iCJl.js +0 -1
- package/dist/core-dist/assets/haml-B8DHNrY2.js +0 -1
- package/dist/core-dist/assets/handlebars-B9xzXuR2.js +0 -1
- package/dist/core-dist/assets/handlebars-BL8al0AC.js +0 -1
- package/dist/core-dist/assets/haskell-Df6bDoY_.js +0 -1
- package/dist/core-dist/assets/haxe-CzTSHFRz.js +0 -1
- package/dist/core-dist/assets/hcl-BWvSN4gD.js +0 -1
- package/dist/core-dist/assets/hcl-DtV1sZF8.js +0 -1
- package/dist/core-dist/assets/hjson-D5-asLiD.js +0 -1
- package/dist/core-dist/assets/hlsl-D3lLCCz7.js +0 -1
- package/dist/core-dist/assets/houston-DnULxvSX.js +0 -1
- package/dist/core-dist/assets/html-DhJbXNLg.js +0 -1
- package/dist/core-dist/assets/html-GMplVEZG.js +0 -1
- package/dist/core-dist/assets/html-derivative-BFtXZ54Q.js +0 -1
- package/dist/core-dist/assets/html.worker-CwpTb9lJ.js +0 -470
- package/dist/core-dist/assets/htmlMode-CSFATZjY.js +0 -1
- package/dist/core-dist/assets/http-jrhK8wxY.js +0 -1
- package/dist/core-dist/assets/hurl-irOxFIW8.js +0 -1
- package/dist/core-dist/assets/hxml-Bvhsp5Yf.js +0 -1
- package/dist/core-dist/assets/hy-DFXneXwc.js +0 -1
- package/dist/core-dist/assets/imba-DGztddWO.js +0 -1
- package/dist/core-dist/assets/index-BAVByTDE.js +0 -93
- package/dist/core-dist/assets/index-BjpaRjp0.css +0 -1
- package/dist/core-dist/assets/index-C1V1hQQg.js +0 -1
- package/dist/core-dist/assets/index-Cpv2wm86.js +0 -1
- package/dist/core-dist/assets/index-DQ8lDHvH.js +0 -1
- package/dist/core-dist/assets/index-DwoOS22k.js +0 -1
- package/dist/core-dist/assets/indexes-DvT7ztBf.js +0 -1
- package/dist/core-dist/assets/infoDiagram-WHAUD3N6-Ca5DIjt4.js +0 -2
- package/dist/core-dist/assets/ini-BEwlwnbL.js +0 -1
- package/dist/core-dist/assets/ini-Kd9XrMLS.js +0 -1
- package/dist/core-dist/assets/init-Gi6I4Gst.js +0 -1
- package/dist/core-dist/assets/java-CXBNlu9o.js +0 -1
- package/dist/core-dist/assets/java-CylS5w8V.js +0 -1
- package/dist/core-dist/assets/javascript-XYqgRwCU.js +0 -1
- package/dist/core-dist/assets/javascript-wDzz0qaB.js +0 -1
- package/dist/core-dist/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2 +0 -0
- package/dist/core-dist/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2 +0 -0
- package/dist/core-dist/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2 +0 -0
- package/dist/core-dist/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2 +0 -0
- package/dist/core-dist/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2 +0 -0
- package/dist/core-dist/assets/jinja-4LBKfQ-Z.js +0 -1
- package/dist/core-dist/assets/jison-wvAkD_A8.js +0 -1
- package/dist/core-dist/assets/journeyDiagram-XKPGCS4Q-DVnTCfN2.js +0 -139
- package/dist/core-dist/assets/json-Cp-IABpG.js +0 -1
- package/dist/core-dist/assets/json.worker-BoL8UZqY.js +0 -58
- package/dist/core-dist/assets/json5-C9tS-k6U.js +0 -1
- package/dist/core-dist/assets/jsonMode-DDnE0tij.js +0 -7
- package/dist/core-dist/assets/jsonc-Des-eS-w.js +0 -1
- package/dist/core-dist/assets/jsonl-DcaNXYhu.js +0 -1
- package/dist/core-dist/assets/jsonnet-DFQXde-d.js +0 -1
- package/dist/core-dist/assets/jssm-C2t-YnRu.js +0 -1
- package/dist/core-dist/assets/jsx-g9-lgVsj.js +0 -1
- package/dist/core-dist/assets/julia-CxzCAyBv.js +0 -1
- package/dist/core-dist/assets/julia-cl7-CwDS.js +0 -1
- package/dist/core-dist/assets/kanagawa-dragon-CkXjmgJE.js +0 -1
- package/dist/core-dist/assets/kanagawa-lotus-CfQXZHmo.js +0 -1
- package/dist/core-dist/assets/kanagawa-wave-DWedfzmr.js +0 -1
- package/dist/core-dist/assets/kanban-definition-3W4ZIXB7-BCv733kL.js +0 -89
- package/dist/core-dist/assets/katex-DvXFAOB1.css +0 -1
- package/dist/core-dist/assets/kdl-DV7GczEv.js +0 -1
- package/dist/core-dist/assets/kotlin-BdnUsdx6.js +0 -1
- package/dist/core-dist/assets/kotlin-s7OhZKlX.js +0 -1
- package/dist/core-dist/assets/kusto-DZf3V79B.js +0 -1
- package/dist/core-dist/assets/laserwave-DUszq2jm.js +0 -1
- package/dist/core-dist/assets/latex-B4uzh10-.js +0 -1
- package/dist/core-dist/assets/layout-Yc_iIB-x.js +0 -1
- package/dist/core-dist/assets/lean-BZvkOJ9d.js +0 -1
- package/dist/core-dist/assets/less-9HpZscsL.js +0 -2
- package/dist/core-dist/assets/less-B1dDrJ26.js +0 -1
- package/dist/core-dist/assets/lexon-OrD6JF1K.js +0 -1
- package/dist/core-dist/assets/light-plus-B7mTdjB0.js +0 -1
- package/dist/core-dist/assets/linear-Ccvhuns4.js +0 -1
- package/dist/core-dist/assets/liquid-BEKYmbJG.js +0 -1
- package/dist/core-dist/assets/liquid-DYVedYrR.js +0 -1
- package/dist/core-dist/assets/llvm-BtvRca6l.js +0 -1
- package/dist/core-dist/assets/log-2UxHyX5q.js +0 -1
- package/dist/core-dist/assets/logo-BtOb2qkB.js +0 -1
- package/dist/core-dist/assets/logs-CJ_qckmn.js +0 -1
- package/dist/core-dist/assets/lspLanguageFeatures-GQiniNAU.js +0 -4
- package/dist/core-dist/assets/lua-BbnMAYS6.js +0 -1
- package/dist/core-dist/assets/lua-Cyyb5UIc.js +0 -1
- package/dist/core-dist/assets/luau-C-HG3fhB.js +0 -1
- package/dist/core-dist/assets/m3-B8OfTtLu.js +0 -1
- package/dist/core-dist/assets/make-CHLpvVh8.js +0 -1
- package/dist/core-dist/assets/markdown-BFxVWTOG.js +0 -1
- package/dist/core-dist/assets/markdown-Cvjx9yec.js +0 -1
- package/dist/core-dist/assets/marko-DZsq8hO1.js +0 -1
- package/dist/core-dist/assets/material-theme-D5KoaKCx.js +0 -1
- package/dist/core-dist/assets/material-theme-darker-BfHTSMKl.js +0 -1
- package/dist/core-dist/assets/material-theme-lighter-B0m2ddpp.js +0 -1
- package/dist/core-dist/assets/material-theme-ocean-CyktbL80.js +0 -1
- package/dist/core-dist/assets/material-theme-palenight-Csfq5Kiy.js +0 -1
- package/dist/core-dist/assets/matlab-D7o27uSR.js +0 -1
- package/dist/core-dist/assets/mdc-DUICxH0z.js +0 -1
- package/dist/core-dist/assets/mdx-BwwPudXS.js +0 -1
- package/dist/core-dist/assets/mdx-Cmh6b_Ma.js +0 -1
- package/dist/core-dist/assets/mermaid-VLURNSYL-DIO6bwbh.js +0 -385
- package/dist/core-dist/assets/mermaid-mWjccvbQ.js +0 -1
- package/dist/core-dist/assets/mermaid.core-slM-mBGw.js +0 -191
- package/dist/core-dist/assets/min-dark-CafNBF8u.js +0 -1
- package/dist/core-dist/assets/min-light-CTRr51gU.js +0 -1
- package/dist/core-dist/assets/min-n8lTmAvY.js +0 -1
- package/dist/core-dist/assets/mindmap-definition-VGOIOE7T-CZwrzjwH.js +0 -68
- package/dist/core-dist/assets/mips-CiqrrVzr.js +0 -1
- package/dist/core-dist/assets/mipsasm-CKIfxQSi.js +0 -1
- package/dist/core-dist/assets/mojo-B93PlW-d.js +0 -1
- package/dist/core-dist/assets/monokai-D4h5O-jR.js +0 -1
- package/dist/core-dist/assets/moonbit-Ba13S78F.js +0 -1
- package/dist/core-dist/assets/move-Bu9oaDYs.js +0 -1
- package/dist/core-dist/assets/msdax-DmeGPVcC.js +0 -1
- package/dist/core-dist/assets/mysql-C_tMU-Nz.js +0 -1
- package/dist/core-dist/assets/narrat-DRg8JJMk.js +0 -1
- package/dist/core-dist/assets/nextflow-BrzmwbiE.js +0 -1
- package/dist/core-dist/assets/nginx-DknmC5AR.js +0 -1
- package/dist/core-dist/assets/night-owl-C39BiMTA.js +0 -1
- package/dist/core-dist/assets/nim-CVrawwO9.js +0 -1
- package/dist/core-dist/assets/nix-CwoSXNpI.js +0 -1
- package/dist/core-dist/assets/nord-Ddv68eIx.js +0 -1
- package/dist/core-dist/assets/nushell-C-sUppwS.js +0 -1
- package/dist/core-dist/assets/objective-c-BDtDVThU.js +0 -1
- package/dist/core-dist/assets/objective-c-DXmwc3jG.js +0 -1
- package/dist/core-dist/assets/objective-cpp-CLxacb5B.js +0 -1
- package/dist/core-dist/assets/ocaml-C0hk2d4L.js +0 -1
- package/dist/core-dist/assets/one-dark-pro-DVMEJ2y_.js +0 -1
- package/dist/core-dist/assets/one-light-PoHY5YXO.js +0 -1
- package/dist/core-dist/assets/openscad-C4EeE6gA.js +0 -1
- package/dist/core-dist/assets/ordinal-Cboi1Yqb.js +0 -1
- package/dist/core-dist/assets/pascal-D93ZcfNL.js +0 -1
- package/dist/core-dist/assets/pascal-vHIfCaH5.js +0 -1
- package/dist/core-dist/assets/pascaligo-DtZ0uQbO.js +0 -1
- package/dist/core-dist/assets/perl-C0TMdlhV.js +0 -1
- package/dist/core-dist/assets/perl-Ub6l9XKa.js +0 -1
- package/dist/core-dist/assets/pgsql-BlNEE0v7.js +0 -1
- package/dist/core-dist/assets/php-BBUBE1dy.js +0 -1
- package/dist/core-dist/assets/php-CDn_0X-4.js +0 -1
- package/dist/core-dist/assets/pieDiagram-ADFJNKIX-Dij_1qyq.js +0 -30
- package/dist/core-dist/assets/pkl-u5AG7uiY.js +0 -1
- package/dist/core-dist/assets/pla-DSh2-awV.js +0 -1
- package/dist/core-dist/assets/plastic-3e1v2bzS.js +0 -1
- package/dist/core-dist/assets/plsql-ChMvpjG-.js +0 -1
- package/dist/core-dist/assets/po-BTJTHyun.js +0 -1
- package/dist/core-dist/assets/poimandres-CS3Unz2-.js +0 -1
- package/dist/core-dist/assets/polar-C0HS_06l.js +0 -1
- package/dist/core-dist/assets/postcss-CXtECtnM.js +0 -1
- package/dist/core-dist/assets/postiats-CocnycG-.js +0 -1
- package/dist/core-dist/assets/powerquery-CEu0bR-o.js +0 -1
- package/dist/core-dist/assets/powerquery-tScXyioY.js +0 -1
- package/dist/core-dist/assets/powershell-COWaemsV.js +0 -1
- package/dist/core-dist/assets/powershell-Dpen1YoG.js +0 -1
- package/dist/core-dist/assets/prisma-Dd19v3D-.js +0 -1
- package/dist/core-dist/assets/prolog-CbFg5uaA.js +0 -1
- package/dist/core-dist/assets/proto-C7zT0LnQ.js +0 -1
- package/dist/core-dist/assets/protobuf-Brw8urJB.js +0 -2
- package/dist/core-dist/assets/pug-8SOpv6rk.js +0 -1
- package/dist/core-dist/assets/pug-CGlum2m_.js +0 -1
- package/dist/core-dist/assets/puppet-BMWR74SV.js +0 -1
- package/dist/core-dist/assets/purescript-CklMAg4u.js +0 -1
- package/dist/core-dist/assets/python-B6aJPvgy.js +0 -1
- package/dist/core-dist/assets/python-CNAm6jim.js +0 -1
- package/dist/core-dist/assets/qml-3beO22l8.js +0 -1
- package/dist/core-dist/assets/qmldir-C8lEn-DE.js +0 -1
- package/dist/core-dist/assets/qsharp-Bw9ernYp.js +0 -1
- package/dist/core-dist/assets/qss-IeuSbFQv.js +0 -1
- package/dist/core-dist/assets/quadrantDiagram-AYHSOK5B-BZqGtn9b.js +0 -7
- package/dist/core-dist/assets/queries.store-CbImnNJo.js +0 -1
- package/dist/core-dist/assets/r-Dspwwk_N.js +0 -1
- package/dist/core-dist/assets/r-j7ic8hl3.js +0 -1
- package/dist/core-dist/assets/racket-BqYA7rlc.js +0 -1
- package/dist/core-dist/assets/raku-DXvB9xmW.js +0 -1
- package/dist/core-dist/assets/razor-1KPvGS6J.js +0 -1
- package/dist/core-dist/assets/razor-C1TweQQi.js +0 -1
- package/dist/core-dist/assets/red-bN70gL4F.js +0 -1
- package/dist/core-dist/assets/redis-Bu5POkcn.js +0 -1
- package/dist/core-dist/assets/redshift-Bs9aos_-.js +0 -1
- package/dist/core-dist/assets/reg-C-SQnVFl.js +0 -1
- package/dist/core-dist/assets/regexp-CDVJQ6XC.js +0 -1
- package/dist/core-dist/assets/rel-C3B-1QV4.js +0 -1
- package/dist/core-dist/assets/requirementDiagram-UZGBJVZJ-Dp1yAO4V.js +0 -64
- package/dist/core-dist/assets/restructuredtext-CqXO7rUv.js +0 -1
- package/dist/core-dist/assets/riscv-BM1_JUlF.js +0 -1
- package/dist/core-dist/assets/rose-pine-dawn-DHQR4-dF.js +0 -1
- package/dist/core-dist/assets/rose-pine-moon-D4_iv3hh.js +0 -1
- package/dist/core-dist/assets/rose-pine-qdsjHGoJ.js +0 -1
- package/dist/core-dist/assets/rosmsg-BJDFO7_C.js +0 -1
- package/dist/core-dist/assets/rst-B0xPkSld.js +0 -1
- package/dist/core-dist/assets/ruby-BvKwtOVI.js +0 -1
- package/dist/core-dist/assets/ruby-zBfavPgS.js +0 -1
- package/dist/core-dist/assets/runner-tab-D2hjlCAt.js +0 -915
- package/dist/core-dist/assets/runner-tab-Dvl_Svmm.css +0 -1
- package/dist/core-dist/assets/rust-B1yitclQ.js +0 -1
- package/dist/core-dist/assets/rust-BzKRNQWT.js +0 -1
- package/dist/core-dist/assets/sankeyDiagram-TZEHDZUN-D8yL2HOj.js +0 -10
- package/dist/core-dist/assets/sas-cz2c8ADy.js +0 -1
- package/dist/core-dist/assets/sass-Cj5Yp3dK.js +0 -1
- package/dist/core-dist/assets/sb-BBc9UKZt.js +0 -1
- package/dist/core-dist/assets/scala-C151Ov-r.js +0 -1
- package/dist/core-dist/assets/scala-D9hQfWCl.js +0 -1
- package/dist/core-dist/assets/schema-Dug6AN9b.js +0 -1
- package/dist/core-dist/assets/scheme-BPhDTwHR.js +0 -1
- package/dist/core-dist/assets/scheme-C98Dy4si.js +0 -1
- package/dist/core-dist/assets/scss-CBJaRo0y.js +0 -3
- package/dist/core-dist/assets/scss-OYdSNvt2.js +0 -1
- package/dist/core-dist/assets/sdbl-DVxCFoDh.js +0 -1
- package/dist/core-dist/assets/sequenceDiagram-WL72ISMW-DxWRatq4.js +0 -145
- package/dist/core-dist/assets/shaderlab-Dg9Lc6iA.js +0 -1
- package/dist/core-dist/assets/shell-DiJ1NA_G.js +0 -1
- package/dist/core-dist/assets/shellscript-Yzrsuije.js +0 -1
- package/dist/core-dist/assets/shellsession-BADoaaVG.js +0 -1
- package/dist/core-dist/assets/slack-dark-BthQWCQV.js +0 -1
- package/dist/core-dist/assets/slack-ochin-DqwNpetd.js +0 -1
- package/dist/core-dist/assets/smalltalk-BERRCDM3.js +0 -1
- package/dist/core-dist/assets/snazzy-light-Bw305WKR.js +0 -1
- package/dist/core-dist/assets/solarized-dark-DXbdFlpD.js +0 -1
- package/dist/core-dist/assets/solarized-light-L9t79GZl.js +0 -1
- package/dist/core-dist/assets/solidity-Db0IVjzk.js +0 -1
- package/dist/core-dist/assets/solidity-rGO070M0.js +0 -1
- package/dist/core-dist/assets/sophia-CnS9iZB_.js +0 -1
- package/dist/core-dist/assets/soy-Brmx7dQM.js +0 -1
- package/dist/core-dist/assets/sparql-CJmd_6j2.js +0 -1
- package/dist/core-dist/assets/sparql-rVzFXLq3.js +0 -1
- package/dist/core-dist/assets/spinner-DRgNI7eU.js +0 -1
- package/dist/core-dist/assets/splunk-BtCnVYZw.js +0 -1
- package/dist/core-dist/assets/sql-BLtJtn59.js +0 -1
- package/dist/core-dist/assets/sql-ClhHkBeG.js +0 -1
- package/dist/core-dist/assets/ssh-config-_ykCGR6B.js +0 -1
- package/dist/core-dist/assets/st-CHwy0fLd.js +0 -1
- package/dist/core-dist/assets/stata-BH5u7GGu.js +0 -1
- package/dist/core-dist/assets/stateDiagram-FKZM4ZOC-OB1RLZSz.js +0 -1
- package/dist/core-dist/assets/stateDiagram-v2-4FDKWEC3-CRUlT-Qs.js +0 -1
- package/dist/core-dist/assets/stylus-BEDo0Tqx.js +0 -1
- package/dist/core-dist/assets/svelte-zxCyuUbr.js +0 -1
- package/dist/core-dist/assets/swift-CnmFD0ga.js +0 -1
- package/dist/core-dist/assets/swift-Dg5xB15N.js +0 -1
- package/dist/core-dist/assets/synthwave-84-CbfX1IO0.js +0 -1
- package/dist/core-dist/assets/system-verilog-CnnmHF94.js +0 -1
- package/dist/core-dist/assets/systemd-4A_iFExJ.js +0 -1
- package/dist/core-dist/assets/systemverilog-Bs9z6M-B.js +0 -1
- package/dist/core-dist/assets/talonscript-CkByrt1z.js +0 -1
- package/dist/core-dist/assets/tasl-QIJgUcNo.js +0 -1
- package/dist/core-dist/assets/tcl-Dm6ycUr_.js +0 -1
- package/dist/core-dist/assets/tcl-dwOrl1Do.js +0 -1
- package/dist/core-dist/assets/templ-W15q3VgB.js +0 -1
- package/dist/core-dist/assets/terraform-BETggiCN.js +0 -1
- package/dist/core-dist/assets/tex-CvyZ59Mk.js +0 -1
- package/dist/core-dist/assets/timeline-definition-IT6M3QCI-Dp45IwZ4.js +0 -61
- package/dist/core-dist/assets/tokyo-night-hegEt444.js +0 -1
- package/dist/core-dist/assets/toml-vGWfd6FD.js +0 -1
- package/dist/core-dist/assets/treemap-KMMF4GRG-DbHVk-Xm.js +0 -128
- package/dist/core-dist/assets/ts-tags-zn1MmPIZ.js +0 -1
- package/dist/core-dist/assets/ts.worker-BH9nVgjN.js +0 -67718
- package/dist/core-dist/assets/tsMode-CE083Imf.js +0 -11
- package/dist/core-dist/assets/tsv-B_m7g4N7.js +0 -1
- package/dist/core-dist/assets/tsx-COt5Ahok.js +0 -1
- package/dist/core-dist/assets/turtle-BsS91CYL.js +0 -1
- package/dist/core-dist/assets/twig-CO9l9SDP.js +0 -1
- package/dist/core-dist/assets/twig-Csy3S7wG.js +0 -1
- package/dist/core-dist/assets/typescript-BPQ3VLAy.js +0 -1
- package/dist/core-dist/assets/typescript-CWvqEMrx.js +0 -1
- package/dist/core-dist/assets/typespec-BGHnOYBU.js +0 -1
- package/dist/core-dist/assets/typespec-Btyra-wh.js +0 -1
- package/dist/core-dist/assets/typst-DHCkPAjA.js +0 -1
- package/dist/core-dist/assets/v-BcVCzyr7.js +0 -1
- package/dist/core-dist/assets/vala-CsfeWuGM.js +0 -1
- package/dist/core-dist/assets/vb-D17OF-Vu.js +0 -1
- package/dist/core-dist/assets/vb-Db0cS2oM.js +0 -1
- package/dist/core-dist/assets/verilog-BQ8w6xss.js +0 -1
- package/dist/core-dist/assets/vesper-DU1UobuO.js +0 -1
- package/dist/core-dist/assets/vhdl-CeAyd5Ju.js +0 -1
- package/dist/core-dist/assets/viml-CJc9bBzg.js +0 -1
- package/dist/core-dist/assets/visualizer-BO_uVLiI.js +0 -1
- package/dist/core-dist/assets/vitesse-black-Bkuqu6BP.js +0 -1
- package/dist/core-dist/assets/vitesse-dark-D0r3Knsf.js +0 -1
- package/dist/core-dist/assets/vitesse-light-CVO1_9PV.js +0 -1
- package/dist/core-dist/assets/vue-DN_0RTcg.js +0 -1
- package/dist/core-dist/assets/vue-html-AaS7Mt5G.js +0 -1
- package/dist/core-dist/assets/vue-vine-CQOfvN7w.js +0 -1
- package/dist/core-dist/assets/vyper-CDx5xZoG.js +0 -1
- package/dist/core-dist/assets/wasm-CG6Dc4jp.js +0 -1
- package/dist/core-dist/assets/wasm-MzD3tlZU.js +0 -1
- package/dist/core-dist/assets/wenyan-BV7otONQ.js +0 -1
- package/dist/core-dist/assets/wgsl-BTesnYfV.js +0 -298
- package/dist/core-dist/assets/wgsl-Dx-B1_4e.js +0 -1
- package/dist/core-dist/assets/wikitext-BhOHFoWU.js +0 -1
- package/dist/core-dist/assets/wit-5i3qLPDT.js +0 -1
- package/dist/core-dist/assets/wolfram-lXgVvXCa.js +0 -1
- package/dist/core-dist/assets/xml-D48gAAGL.js +0 -1
- package/dist/core-dist/assets/xml-sdJ4AIDG.js +0 -1
- package/dist/core-dist/assets/xsl-CtQFsRM5.js +0 -1
- package/dist/core-dist/assets/xychartDiagram-PRI3JC2R-Dfqks87e.js +0 -7
- package/dist/core-dist/assets/yaml-B9qGdCLx.js +0 -1
- package/dist/core-dist/assets/yaml-Buea-lGh.js +0 -1
- package/dist/core-dist/assets/zenscript-DVFEvuxE.js +0 -1
- package/dist/core-dist/assets/zig-VOosw3JB.js +0 -1
- package/dist/core-dist/image.png +0 -0
- package/dist/core-dist/index.html +0 -14
- 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
|
|
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
|
-
`,[
|
|
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(
|
|
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
|
-
`,[
|
|
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 ${
|
|
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
|
-
${
|
|
77
|
+
${Uo(o)}
|
|
78
78
|
|
|
79
79
|
**Guidelines:**
|
|
80
|
-
1. Always generate syntactically correct SQL for the database type (${
|
|
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
|
|
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
|
|
119
|
-
### ${
|
|
120
|
-
`,
|
|
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
|
|
123
|
-
`,
|
|
124
|
-
`)}
|
|
125
|
-
`,e+=`${JSON.stringify(
|
|
126
|
-
`)}if(
|
|
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
|
|
129
|
-
`}return e}var
|
|
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
|
|
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],
|
|
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
|
-
`,[
|
|
164
|
-
SELECT * FROM "${
|
|
165
|
-
WHERE "${
|
|
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
|
|
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 "${
|
|
169
|
+
WHERE "${a}" IN (${u})
|
|
170
170
|
RETURNING *
|
|
171
|
-
`,
|
|
172
|
-
SELECT "${
|
|
173
|
-
WHERE "${
|
|
174
|
-
`,
|
|
175
|
-
DELETE FROM "${
|
|
176
|
-
WHERE "${
|
|
177
|
-
`,
|
|
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 "${
|
|
179
|
+
WHERE "${a}" IN (${d})
|
|
180
180
|
RETURNING *
|
|
181
|
-
`,
|
|
182
|
-
INSERT INTO "${e}" (${
|
|
183
|
-
VALUES (${
|
|
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
|
-
`,
|
|
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 ${
|
|
188
|
-
WHERE "${
|
|
187
|
+
SET ${d.join(", ")}
|
|
188
|
+
WHERE "${r}" = $${h.length}
|
|
189
189
|
RETURNING *
|
|
190
|
-
`,
|
|
191
|
-
CREATE TABLE "${
|
|
192
|
-
${
|
|
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
|
|
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(
|
|
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
|