@marimo-team/frontend 0.24.1-dev3 → 0.24.1-dev30
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/assets/{CellStatus-B_dBNTJO.js → CellStatus-DdKYN88d.js} +1 -1
- package/dist/assets/{ConnectedDataExplorerComponent-DLvmqIcV.js → ConnectedDataExplorerComponent-CbTaTBJ8.js} +1 -1
- package/dist/assets/{JsonOutput-C5g_bqiZ.js → JsonOutput-htT793Wj.js} +7 -7
- package/dist/assets/LazyAnyLanguageCodeMirror-Bx0i_n8B.js +2 -0
- package/dist/assets/{MarimoErrorOutput-Cb0evuEp.js → MarimoErrorOutput-Db7coyFA.js} +7 -7
- package/dist/assets/{RenderHTML-BoN8Qu7U.js → RenderHTML-Cu5JtYZJ.js} +1 -1
- package/dist/assets/{RunButton-C3V3v58F.js → RunButton-BOnl_Dk8.js} +1 -1
- package/dist/assets/{abnfDiagram-N423BO3Z-BBbWbiyb.js → abnfDiagram-N423BO3Z-BhqlQxDe.js} +1 -1
- package/dist/assets/{add-cell-with-ai--yrESuLb.js → add-cell-with-ai-Chy4ITIT.js} +12 -12
- package/dist/assets/add-connection-dialog-DGYhyXo6.js +181 -0
- package/dist/assets/{agent-panel-i9R2vDC5.js → agent-panel--Nt4UmNj.js} +6 -6
- package/dist/assets/{ai-model-dropdown-Wvw4ot3v.js → ai-model-dropdown-BUCPZ0ND.js} +4 -4
- package/dist/assets/{any-language-editor-B92E_2Sy.js → any-language-editor-CV_jRt2A.js} +1 -1
- package/dist/assets/apl-sEsRK68R.js +1 -0
- package/dist/assets/app-config-button-BOxbrv3L.js +1 -0
- package/dist/assets/architecture-TIHT7OUA-CkB6_TwN.js +1 -0
- package/dist/assets/{architectureDiagram-T3A2C74G-DoGbg0qs.js → architectureDiagram-T3A2C74G-D_0znduP.js} +1 -1
- package/dist/assets/asciiarmor-CwCv7Lne.js +1 -0
- package/dist/assets/asn1-CuzWg-fh.js +1 -0
- package/dist/assets/{blob-XD7AvCQ1.js → blob-BVQSODqn.js} +1 -1
- package/dist/assets/{blockDiagram-VBNYF7ZC-Fapk5G8q.js → blockDiagram-VBNYF7ZC-DhnQkFJt.js} +1 -1
- package/dist/assets/brainfuck-CnnfS_cI.js +1 -0
- package/dist/assets/{c4Diagram-5PPSVZJV-DHpoGw8m.js → c4Diagram-5PPSVZJV-DAZWLixJ.js} +1 -1
- package/dist/assets/{cell-editor-CrWparei.js → cell-editor-DgOfL9Xv.js} +15 -15
- package/dist/assets/cell-link-Bx8FWjns.js +1 -0
- package/dist/assets/{cells-BvgwUKB9.js → cells-Biwqg0z6.js} +80 -80
- package/dist/assets/channel-97-i68Z5.js +1 -0
- package/dist/assets/{chat-display-CvI32cPI.js → chat-display-B2qUbgnh.js} +1 -1
- package/dist/assets/{chat-panel-nbCWEZX-.js → chat-panel-gxL2S-HQ.js} +2 -2
- package/dist/assets/{chat-ui-BmrjRgsi.js → chat-ui-BhnwgDpa.js} +1 -1
- package/dist/assets/{chunk-2GRJ4B5K-B92Uwj7z.js → chunk-2GRJ4B5K-BJlW2T7a.js} +1 -1
- package/dist/assets/{chunk-2Q5K7J3B-CjxRf8HM.js → chunk-2Q5K7J3B-BKHkc-hn.js} +1 -1
- package/dist/assets/{chunk-3NCLNEKW-D7adDEkj.js → chunk-3NCLNEKW-DYppyU2y.js} +1 -1
- package/dist/assets/{chunk-4I5QYGJK-Cce-HuZg.js → chunk-4I5QYGJK-o2gGFKEO.js} +1 -1
- package/dist/assets/{chunk-5FCAYU7R-BJ04i5uO.js → chunk-5FCAYU7R-B4Jz9Jv5.js} +1 -1
- package/dist/assets/{chunk-5FQGJX7Z-B4N_BMo6.js → chunk-5FQGJX7Z-BIDn9QG0.js} +2 -2
- package/dist/assets/{chunk-5HE753X5-DRFzJ7WN.js → chunk-5HE753X5-DySWu3WO.js} +1 -1
- package/dist/assets/{chunk-5JV3BV7I-BEi9dboc.js → chunk-5JV3BV7I-EFAb-cXP.js} +1 -1
- package/dist/assets/{chunk-5RXB4S5H-B63Jmiyu.js → chunk-5RXB4S5H-Bsyeqyau.js} +1 -1
- package/dist/assets/{chunk-5TONJI2A-C5JJwzzL.js → chunk-5TONJI2A-BtGpymP5.js} +1 -1
- package/dist/assets/{chunk-5VM5RSS4-CQG8Gkf2.js → chunk-5VM5RSS4-De48wE7I.js} +1 -1
- package/dist/assets/{chunk-6Q2QTUOP-CjNw1snm.js → chunk-6Q2QTUOP-UhOQcBq_.js} +1 -1
- package/dist/assets/{chunk-7BUUIJ7U-DFO0zbY5.js → chunk-7BUUIJ7U-VPkRElaC.js} +1 -1
- package/dist/assets/{chunk-7Z6QIM7H-BahVaiTb.js → chunk-7Z6QIM7H-CSiw9nlS.js} +1 -1
- package/dist/assets/{chunk-BIQX33UG-B1y9dy0P.js → chunk-BIQX33UG-Clm0kIyq.js} +1 -1
- package/dist/assets/{chunk-CQNSW5MT-BOOyLCfW.js → chunk-CQNSW5MT-CxPDGEiS.js} +1 -1
- package/dist/assets/{chunk-CYSBUYHQ-DAWZpY6r.js → chunk-CYSBUYHQ-Cx6JgR38.js} +1 -1
- package/dist/assets/{chunk-EMLP6XTP-Bj2I2iEi.js → chunk-EMLP6XTP-DrNgCa2u.js} +1 -1
- package/dist/assets/{chunk-GF5L2VYU-BA39vN3k.js → chunk-GF5L2VYU-B88HnHN4.js} +1 -1
- package/dist/assets/{chunk-I66GZJ75-CgJN5WrL.js → chunk-I66GZJ75-BWcitPjS.js} +3 -3
- package/dist/assets/{chunk-J7OUQ5F2-DK5phbYO.js → chunk-J7OUQ5F2-DuBXnQXx.js} +2 -2
- package/dist/assets/{chunk-JG7HCLWE-BEfUAeKb.js → chunk-JG7HCLWE-D4-rg2bS.js} +1 -1
- package/dist/assets/{chunk-JQJVKLGR-vTeSeIY7.js → chunk-JQJVKLGR-L5fl0mYk.js} +1 -1
- package/dist/assets/{chunk-JWPE2WC7-C-mBVSJi.js → chunk-JWPE2WC7-CIIO5B1k.js} +1 -1
- package/dist/assets/{chunk-KBJHAD2P-BKxl1MSu.js → chunk-KBJHAD2P-MvrqGNli.js} +1 -1
- package/dist/assets/{chunk-MOZMSUNE-C-RMDvp_.js → chunk-MOZMSUNE-t37mHxNa.js} +1 -1
- package/dist/assets/{chunk-NSK5VX7P-bxC5WUDr.js → chunk-NSK5VX7P-B_lLBcNS.js} +1 -1
- package/dist/assets/{chunk-OSBZ3O6U-DEYDoDYT.js → chunk-OSBZ3O6U-3f38erx3.js} +1 -1
- package/dist/assets/{chunk-QBLGF6JB-CBncH5PS.js → chunk-QBLGF6JB-CHob4JDY.js} +1 -1
- package/dist/assets/{chunk-QR6OTTB3-gGVLoYpg.js → chunk-QR6OTTB3-Xk5It1Th.js} +1 -1
- package/dist/assets/{chunk-R7FJI6CG-DWxNgy5y.js → chunk-R7FJI6CG-ClJ6eR5G.js} +1 -1
- package/dist/assets/{chunk-RYQCIY6F-DkXJx61e.js → chunk-RYQCIY6F-CZjjwaqg.js} +1 -1
- package/dist/assets/{chunk-U6XO7XAA-DWWxQ-OA.js → chunk-U6XO7XAA-Ct1fe-tp.js} +1 -1
- package/dist/assets/{chunk-UBXNYLIW-elhI8GOz.js → chunk-UBXNYLIW-XbwBj9py.js} +1 -1
- package/dist/assets/{chunk-W5SLKNZC-D_QNHYYQ.js → chunk-W5SLKNZC-DBMPI1Hf.js} +1 -1
- package/dist/assets/{chunk-WRU74C26-BU1GwH6E.js → chunk-WRU74C26-HbDQnuwB.js} +1 -1
- package/dist/assets/{chunk-XXDRQBXY-D_KNH1wc.js → chunk-XXDRQBXY-DyGGngH3.js} +1 -1
- package/dist/assets/{chunk-YOTPTUD7-Nm5N45o4.js → chunk-YOTPTUD7-CC6lxUuz.js} +1 -1
- package/dist/assets/{chunk-ZIRB5QZD-DKs4kfC7.js → chunk-ZIRB5QZD-Giz-iAOC.js} +1 -1
- package/dist/assets/classDiagram-JCYQIIEL-Bi4N77rq.js +1 -0
- package/dist/assets/classDiagram-v2-OCEON4UE-DDmVp-9r.js +1 -0
- package/dist/assets/{clike-BAN6KopO.js → clike-tfWZyYoN.js} +1 -1
- package/dist/assets/clojure-Bninbb7T.js +1 -0
- package/dist/assets/cmake-BpuaQxBS.js +1 -0
- package/dist/assets/cobol-GPJ0dHQG.js +1 -0
- package/dist/assets/{code-block-37QAKDTI-DYj4t0uu.js → code-block-37QAKDTI-CxkZZ2yu.js} +1 -1
- package/dist/assets/coffeescript-D7gQHdB-.js +1 -0
- package/dist/assets/{column-preview-DMqGohE5.js → column-preview-BaRqZ9P8.js} +1 -1
- package/dist/assets/{command-palette-DCAiZSda.js → command-palette-Cbie8JV9.js} +1 -1
- package/dist/assets/{common-Dx_4ekWj.js → common-sBRwGAKy.js} +1 -1
- package/dist/assets/commonlisp-Cr4KGe18.js +1 -0
- package/dist/assets/{components-CozWCL5N.js → components-CGGSwziZ.js} +1 -1
- package/dist/assets/components-DsJAWbBR.js +1 -0
- package/dist/assets/{cose-bilkent-JH36ORCC-BItWxPmu.js → cose-bilkent-JH36ORCC-Bgowgmmd.js} +1 -1
- package/dist/assets/crystal-CsTMAwME.js +1 -0
- package/dist/assets/{css-DWLxGm3Z.js → css-COZ77Eal.js} +1 -1
- package/dist/assets/cynefin-VYW2F7L2-mNpr4SbP.js +1 -0
- package/dist/assets/{cynefinDiagram-MW4NZA55-xRolnN9H.js → cynefinDiagram-MW4NZA55-BjhYqu92.js} +1 -1
- package/dist/assets/cypher-CY21sZiF.js +1 -0
- package/dist/assets/d-CURHSrpr.js +1 -0
- package/dist/assets/{dagre-VZM6K2ZE--7CAsOPi.js → dagre-VZM6K2ZE-BEuyIkT6.js} +1 -1
- package/dist/assets/{data-grid-overlay-editor-CP2bSduR.js → data-grid-overlay-editor-BQUij2ly.js} +1 -1
- package/dist/assets/data-source-discovery-DCNYJylO.js +1 -0
- package/dist/assets/{datasource-Le540Ng6.js → datasource-DxCwZdAq.js} +2 -2
- package/dist/assets/dependency-graph-panel-CLOQ_RvL.js +5 -0
- package/dist/assets/{diagram-7IWD3JNH-B55VSdpL.js → diagram-7IWD3JNH-Bs3lgu-c.js} +1 -1
- package/dist/assets/{diagram-B4RE2ZJO-BDn7ASqI.js → diagram-B4RE2ZJO-Dth7brNz.js} +1 -1
- package/dist/assets/{diagram-LBJQPF4R-B51MZG2V.js → diagram-LBJQPF4R-BTVLtL0d.js} +1 -1
- package/dist/assets/{diagram-Q27KOJAE-Cwk0Mlin.js → diagram-Q27KOJAE-CP204u9a.js} +1 -1
- package/dist/assets/{diagram-UB23O5K3-BdYFaMnx.js → diagram-UB23O5K3-ClHQzHar.js} +1 -1
- package/dist/assets/diff-oDNdZgsT.js +1 -0
- package/dist/assets/dist-2VJQDijP.js +1 -0
- package/dist/assets/{dist-etjVl5BO.js → dist-BB2m_pT9.js} +1 -1
- package/dist/assets/{dist-CAHB5I2V.js → dist-BIoV7ItK.js} +1 -1
- package/dist/assets/{dist-D5yi7Y8o.js → dist-BKZjRJh7.js} +1 -1
- package/dist/assets/dist-BSndAsl2.js +1 -0
- package/dist/assets/{dist-CF4ci481.js → dist-BrBdlR-1.js} +1 -1
- package/dist/assets/dist-CULUasdr.js +1 -0
- package/dist/assets/{dist-CG7o1Txo.js → dist-CgdeWOxv.js} +1 -1
- package/dist/assets/{dist-x-uwJAB2.js → dist-D7Pn6TvC.js} +1 -1
- package/dist/assets/{dist-Ci0ANOWc.js → dist-DoCsyl8V.js} +1 -1
- package/dist/assets/{dist-BhAom09b.js → dist-Q_HuxBl8.js} +1 -1
- package/dist/assets/{dist-UMYZc9Uw.js → dist-URSEPeIQ.js} +1 -1
- package/dist/assets/dist-e3TiiDdA.js +1 -0
- package/dist/assets/{dist-0tTkix79.js → dist-gKSpDGw2.js} +1 -1
- package/dist/assets/{dist-5AUFDACg.js → dist-ziD6OB9m.js} +1 -1
- package/dist/assets/{dockerfile-vQlfzaHL.js → dockerfile-L84t-MVG.js} +1 -1
- package/dist/assets/{documentation-panel-RJNMjUK6.js → documentation-panel-D9w8PAT9.js} +1 -1
- package/dist/assets/{download-B8NwKEtr.js → download-CfUkZlw7.js} +1 -1
- package/dist/assets/dtd-Cy2_BeYL.js +1 -0
- package/dist/assets/dylan-Crd9Fb_0.js +1 -0
- package/dist/assets/{ebnfDiagram-BXEA7PRR-BeNZBLGl.js → ebnfDiagram-BXEA7PRR-D5itfLTD.js} +1 -1
- package/dist/assets/ecl-CfCmFoo0.js +1 -0
- package/dist/assets/{edit-page-CvL5WAqs.js → edit-page-DKAg2YW9.js} +6 -6
- package/dist/assets/eiffel-gIaoJqnl.js +1 -0
- package/dist/assets/elm-BFWuf0zw.js +1 -0
- package/dist/assets/{erDiagram-JOGREHBK-Md316MnW.js → erDiagram-JOGREHBK-8nttFkHX.js} +1 -1
- package/dist/assets/erlang-o_h5GHv6.js +1 -0
- package/dist/assets/{error-entries-yYB8PZoo.js → error-entries-DpvSrZSw.js} +3 -3
- package/dist/assets/{error-panel-Dr928gBs.js → error-panel-uRl1_l47.js} +1 -1
- package/dist/assets/{esm-CpCa6w8Q.js → esm-B7G79VOo.js} +1 -1
- package/dist/assets/eventmodeling-45OFAUF4-CmCnqr0B.js +1 -0
- package/dist/assets/factor-DhP48x0i.js +1 -0
- package/dist/assets/{factor-D96xahcJ.js → factor-aNENtHLj.js} +1 -1
- package/dist/assets/file-explorer-panel-DwA9Lprz.js +37 -0
- package/dist/assets/{file-icons-D39zbjsS.js → file-icons-DpREEjwW.js} +1 -1
- package/dist/assets/{file-name-input-BLH5fTEA.js → file-name-input-C7AQKuoU.js} +1 -1
- package/dist/assets/{floating-outline-UPrDtFZF.js → floating-outline-4I6DvqaR.js} +1 -1
- package/dist/assets/flowDiagram-UKHOOZJN-BBKoHcjJ.js +1 -0
- package/dist/assets/{focus-BArgHYf8.js → focus-CeTtpVjV.js} +1 -1
- package/dist/assets/{form-BvzcNsxB.js → form-B10bgcbQ.js} +1 -1
- package/dist/assets/{form-BN1AKD58.js → form-Cj9BLARR.js} +1 -1
- package/dist/assets/forth-B9culvwH.js +1 -0
- package/dist/assets/fortran-P9CMHntW.js +1 -0
- package/dist/assets/{ganttDiagram-PKOTCBZU-ZWAQtEyO.js → ganttDiagram-PKOTCBZU-lYZ3LZM4.js} +1 -1
- package/dist/assets/gas-aBeBIUA2.js +1 -0
- package/dist/assets/gherkin-BKojMN6Q.js +1 -0
- package/dist/assets/gitGraph-TEB2WS4Q-lhsXnAif.js +1 -0
- package/dist/assets/{gitGraphDiagram-DS77QQ5N-BLejYVyQ.js → gitGraphDiagram-DS77QQ5N-BMWEqU01.js} +1 -1
- package/dist/assets/{glide-data-editor-BNZxtmKn.js → glide-data-editor-Bo6hLXbn.js} +6 -6
- package/dist/assets/groovy-CePAd7wh.js +1 -0
- package/dist/assets/haskell-QHmsrbZx.js +1 -0
- package/dist/assets/haxe-CQV_8vKL.js +1 -0
- package/dist/assets/{home-page-DcO0NzuV.js → home-page-BNJihtii.js} +2 -2
- package/dist/assets/{html-to-image-DKEUbBwc.js → html-to-image-ChfBVn8-.js} +1 -1
- package/dist/assets/idl-Dd8N44Cm.js +1 -0
- package/dist/assets/index-CxZ6uZaz.css +2 -0
- package/dist/assets/index-T5Rre8Dj.js +38 -0
- package/dist/assets/info-DKCQHKI2-C7T8UDyU.js +1 -0
- package/dist/assets/infoDiagram-6WML65LV-DF1s-6Vl.js +2 -0
- package/dist/assets/{ishikawaDiagram-WSZJBQD7-DsUyhPdP.js → ishikawaDiagram-WSZJBQD7-DaG24pVU.js} +1 -1
- package/dist/assets/javascript-DSNeo7JU.js +1 -0
- package/dist/assets/{journeyDiagram-NVQOT4AX-Dtytysty.js → journeyDiagram-NVQOT4AX-Bjv5KPQN.js} +1 -1
- package/dist/assets/julia-noK_uk9P.js +1 -0
- package/dist/assets/{kanban-definition-27J2QSJJ-CtSUWi1q.js → kanban-definition-27J2QSJJ-3QfkEp5c.js} +1 -1
- package/dist/assets/katex-D7rQd2tt.js +1 -0
- package/dist/assets/{layout-C5In1pVG.js → layout-YPBtS2D6.js} +5 -5
- package/dist/assets/livescript-YKkeujLh.js +1 -0
- package/dist/assets/{logs-panel-DItocggZ.js → logs-panel-ClE58_4G.js} +1 -1
- package/dist/assets/{loro_wasm_bg-Cei5H7n0.js → loro_wasm_bg-Bhj1szFH.js} +1 -1
- package/dist/assets/lua-fLqC1mOj.js +1 -0
- package/dist/assets/{markdown-renderer-D7RLn6TA.js → markdown-renderer-BOS4jZLt.js} +3 -3
- package/dist/assets/mathematica-BEqGrvB0.js +1 -0
- package/dist/assets/mbox-9uehSvC8.js +1 -0
- package/dist/assets/{mermaid-4DMBBIKO-oaGD2RAq.js → mermaid-4DMBBIKO-VnWrwEGQ.js} +1 -1
- package/dist/assets/{mermaid-D7qPJTl5.js → mermaid-DrH-G40O.js} +3 -3
- package/dist/assets/{mermaid-parser.core-C1pvq6V4.js → mermaid-parser.core-7L0n-40M.js} +2 -2
- package/dist/assets/{mhchem-ByBXJmVs.js → mhchem-jUQ3W9QS.js} +1 -1
- package/dist/assets/{mindmap-definition-FAOFIHXS-BdiofJNg.js → mindmap-definition-FAOFIHXS-BI-5PR09.js} +1 -1
- package/dist/assets/mirc-BTX_WxCv.js +1 -0
- package/dist/assets/mllike-LThTvO6F.js +1 -0
- package/dist/assets/modelica-ClexNQK-.js +1 -0
- package/dist/assets/mscgen-Cr-Z_Sdd.js +1 -0
- package/dist/assets/mumps-G_BfPdvs.js +1 -0
- package/dist/assets/{name-cell-input-jausH-CL.js → name-cell-input-UMsLssMV.js} +1 -1
- package/dist/assets/nsis-CBRC0JIr.js +1 -0
- package/dist/assets/{nsis-gzbsJ5t0.js → nsis-CNBWu0HQ.js} +1 -1
- package/dist/assets/ntriples-DrvRq09t.js +1 -0
- package/dist/assets/{number-overlay-editor-CrwfeUrx.js → number-overlay-editor-C-zZ00cy.js} +1 -1
- package/dist/assets/octave-BiPC57kS.js +1 -0
- package/dist/assets/{outline-panel-C_pASL6b.js → outline-panel-DweKocZK.js} +1 -1
- package/dist/assets/oz-DacpSh-q.js +1 -0
- package/dist/assets/{packages-panel-DTqur75g.js → packages-panel-Cbw5J5QD.js} +1 -1
- package/dist/assets/packet-7NZHBO7P-CJZ85ye7.js +1 -0
- package/dist/assets/panel-accordion-state-CgvX-ElJ.js +1 -0
- package/dist/assets/panels-DRv39UwA.js +4 -0
- package/dist/assets/pascal-BQpBPSms.js +1 -0
- package/dist/assets/{pegDiagram-VL7TDLO6-CUhl_uoo.js → pegDiagram-VL7TDLO6-Dr2AgOs7.js} +1 -1
- package/dist/assets/perl-BhMGfluR.js +1 -0
- package/dist/assets/pie-RZYD4A2V-DowYgF53.js +1 -0
- package/dist/assets/{pieDiagram-7S7Q4E2Y-BUJuppkz.js → pieDiagram-7S7Q4E2Y-CrBge38F.js} +1 -1
- package/dist/assets/pig-lTm9qLoi.js +1 -0
- package/dist/assets/powershell-3wPcC3I5.js +1 -0
- package/dist/assets/{process-output-ClE9lj2U.js → process-output-BMxr8Z3g.js} +1 -1
- package/dist/assets/properties-CfDlOPua.js +1 -0
- package/dist/assets/protobuf-DqtB_3Ds.js +1 -0
- package/dist/assets/pug-BendPilS.js +1 -0
- package/dist/assets/{pug-CfBtO6QD.js → pug-IDpseMj2.js} +1 -1
- package/dist/assets/puppet-CS4oS8k4.js +1 -0
- package/dist/assets/python-DwXz2aVG.js +1 -0
- package/dist/assets/q-CAmiN8ZZ.js +1 -0
- package/dist/assets/{quadrantDiagram-CIZ2JOQS-D1kqQfB1.js → quadrantDiagram-CIZ2JOQS-BE2ggXL5.js} +1 -1
- package/dist/assets/r-BVrS7OVn.js +1 -0
- package/dist/assets/radar-I7S5WNFK-CTSSWmoj.js +1 -0
- package/dist/assets/{radio-group-CSwRGU0A.js → radio-group-YNmbPL7y.js} +1 -1
- package/dist/assets/railroad-3IZDKUUU-B7NYUsSF.js +1 -0
- package/dist/assets/railroad-abnf-AHOZXSZD-YHDI2QY9.js +1 -0
- package/dist/assets/railroad-ebnf-EBAXGLYW-C63c8OB7.js +1 -0
- package/dist/assets/railroad-peg-LSFZ7HO6-Cjglh51C.js +1 -0
- package/dist/assets/{railroadDiagram-AXF67PYL-A0Qm-6po.js → railroadDiagram-AXF67PYL-DCQRdlxt.js} +1 -1
- package/dist/assets/{readonly-code-display-kRUXu5aJ.js → readonly-code-display-N9tCXdCz.js} +1 -1
- package/dist/assets/{readonly-python-code-BCOkadQf.js → readonly-python-code-BHrAhtGV.js} +1 -1
- package/dist/assets/{requirementDiagram-LRYGKXZP-Cq2ghiHc.js → requirementDiagram-LRYGKXZP-DwT1P9SV.js} +1 -1
- package/dist/assets/{reveal-component-DpjFw5UY.js → reveal-component-Cl6cd65E.js} +2 -2
- package/dist/assets/rpm-CdnUar42.js +1 -0
- package/dist/assets/ruby-BCel59B2.js +1 -0
- package/dist/assets/{run-page-BXPaOWqZ.js → run-page-Phwq7OJt.js} +1 -1
- package/dist/assets/{sankeyDiagram-W5VNT64P-RT9P6FJq.js → sankeyDiagram-W5VNT64P-DI3BRqfo.js} +1 -1
- package/dist/assets/sas-BmzKenFt.js +1 -0
- package/dist/assets/scheme-DkHD_m5P.js +1 -0
- package/dist/assets/{scratchpad-panel-GyB5PjiV.js → scratchpad-panel-CvihhlAP.js} +1 -1
- package/dist/assets/{sequenceDiagram-SI44F4Z6-Dk9UNsG3.js → sequenceDiagram-SI44F4Z6-BBkZRxiN.js} +1 -1
- package/dist/assets/session-panel-BmQ0PDHO.js +1 -0
- package/dist/assets/shell-BoNNN3zm.js +1 -0
- package/dist/assets/sieve-BXXK8f92.js +1 -0
- package/dist/assets/{sizeCapture-X5ZJPWSS-ce6Hf1Mn.js → sizeCapture-X5ZJPWSS-BwnqWK01.js} +1 -1
- package/dist/assets/{skeleton-CHVfqr51.js → skeleton-BsZq3Vmq.js} +1 -1
- package/dist/assets/smalltalk-BOqQhpHI.js +1 -0
- package/dist/assets/{snippets-panel-V4x4wLMQ.js → snippets-panel-cYP0GMUf.js} +1 -1
- package/dist/assets/sparql-edyZVkfL.js +1 -0
- package/dist/assets/spec-C_psFYbu.js +1 -0
- package/dist/assets/{src-Be2gSjc_.js → src-BydIU0H9.js} +1 -1
- package/dist/assets/{state-m2zUPztG.js → state-DJon00Ew.js} +1 -1
- package/dist/assets/{state-C7arWhwL.js → state-Dc5AjWPq.js} +2 -2
- package/dist/assets/{stateDiagram-OKZ733FA-b4p2-xPQ.js → stateDiagram-OKZ733FA-CKgejYo0.js} +1 -1
- package/dist/assets/stateDiagram-v2-UEYNNEHI-DGOHmIHi.js +1 -0
- package/dist/assets/stylus-D7JxHbZj.js +1 -0
- package/dist/assets/swift-BVf4glc7.js +1 -0
- package/dist/assets/{swimlanes-SLNWSIFB-BU8BFEOR.js → swimlanes-SLNWSIFB-CaRk1UjW.js} +2 -2
- package/dist/assets/swimlanesDiagram-ULZ7WXOC-B3waQOQb.js +8 -0
- package/dist/assets/tcl-Dj0fCfAi.js +1 -0
- package/dist/assets/textile-C2t_E40o.js +1 -0
- package/dist/assets/{timeline-definition-Z64GVDOM-D1kTYo17.js → timeline-definition-Z64GVDOM-eczfm7Uw.js} +1 -1
- package/dist/assets/toml-DaFUQW6l.js +1 -0
- package/dist/assets/{tracing-Cmwuiwj9.js → tracing-dGSNt8Nm.js} +1 -1
- package/dist/assets/{tracing-panel-CCXeYfOu.js → tracing-panel-CQCgx3e4.js} +2 -2
- package/dist/assets/{tree-actions-QMLf8Qhz.js → tree-actions-pW_UgP3m.js} +1 -1
- package/dist/assets/treeView-QDETBFTQ-CSvxEE7M.js +1 -0
- package/dist/assets/treemap-6X3UGDF4-CmweKwGi.js +1 -0
- package/dist/assets/troff-CYzkeKir.js +1 -0
- package/dist/assets/ttcn-CXYORWfg.js +1 -0
- package/dist/assets/ttcn-cfg-CaYX34bx.js +1 -0
- package/dist/assets/turtle-5bfs3D9s.js +1 -0
- package/dist/assets/{useCellActionButton-D8qyXNKv.js → useCellActionButton-De17Z9R3.js} +1 -1
- package/dist/assets/{useDeleteCell-Ctnxl8AT.js → useDeleteCell-BgFMPTmg.js} +1 -1
- package/dist/assets/{useDependencyPanelTab-CYSEZi6j.js → useDependencyPanelTab-w8VLtsK3.js} +1 -1
- package/dist/assets/{useNotebookActions-CxMrxNFT.js → useNotebookActions-BI53NQV3.js} +4 -4
- package/dist/assets/{useRunCells-DjQN3XYP.js → useRunCells-CAfRBo7h.js} +1 -1
- package/dist/assets/{useSplitCell-BG8Zd4lw.js → useSplitCell-N8Ohs-Pp.js} +1 -1
- package/dist/assets/{utils-Y4n-X10o.js → utils-Bp3MLwWq.js} +1 -1
- package/dist/assets/vb-CXQ5pSkV.js +1 -0
- package/dist/assets/vbscript-BZP_4BaN.js +1 -0
- package/dist/assets/{vega-component-1VoQOWvU.js → vega-component-DpKA6PEU.js} +1 -1
- package/dist/assets/{vega-embed-container-CH1lX0V6.js → vega-embed-container-D0V0wn9T.js} +1 -1
- package/dist/assets/velocity-BbHSi60j.js +1 -0
- package/dist/assets/{vennDiagram-T6HMQDX7-BhQR7L7x.js → vennDiagram-T6HMQDX7-BKrC4vk_.js} +1 -1
- package/dist/assets/verilog-Bw8NaRo-.js +1 -0
- package/dist/assets/vhdl-CkM1aKBX.js +1 -0
- package/dist/assets/wardley-OPB4EBWU-DKu5fTFq.js +1 -0
- package/dist/assets/{wardleyDiagram-T6FBY63Y-C6iZTOEK.js → wardleyDiagram-T6FBY63Y-BsBjXAQS.js} +1 -1
- package/dist/assets/webidl-C8MAcuKq.js +1 -0
- package/dist/assets/xquery-a81J2h4S.js +1 -0
- package/dist/assets/{xychartDiagram-ELKLHX3M-Hl9zZZJW.js → xychartDiagram-ELKLHX3M-i4ykddaR.js} +1 -1
- package/dist/assets/yacas-CjV2u_g7.js +1 -0
- package/dist/assets/z80-C0uVpBhe.js +1 -0
- package/dist/index.html +28 -28
- package/package.json +1 -1
- package/src/components/app-config/optional-features.test.ts +78 -0
- package/src/components/app-config/optional-features.tsx +33 -6
- package/src/components/data-table/__tests__/column_formatting.test.ts +7 -0
- package/src/components/data-table/charts/__tests__/schemas.test.ts +17 -2
- package/src/components/data-table/charts/chart-spec/types.ts +2 -0
- package/src/components/data-table/column-formatting/feature.ts +1 -0
- package/src/components/data-table/column-formatting/types.ts +1 -0
- package/src/components/data-table/column-summary/chart-spec-model.tsx +1 -0
- package/src/components/data-table/column-summary/column-summary.tsx +1 -0
- package/src/components/data-table/columns.tsx +4 -3
- package/src/components/datasets/__tests__/icons.test.ts +10 -2
- package/src/components/datasets/icons.tsx +4 -0
- package/src/components/datasources/__tests__/components.test.tsx +14 -1
- package/src/components/datasources/datasources.tsx +2 -40
- package/src/components/editor/chrome/panels/components.tsx +35 -0
- package/src/components/editor/chrome/panels/file-explorer-panel.tsx +10 -0
- package/src/components/editor/chrome/panels/session-panel.tsx +12 -4
- package/src/components/editor/connections/__tests__/quick-add-data-sources.test.tsx +2 -0
- package/src/components/editor/connections/add-connection-dialog.tsx +5 -1
- package/src/components/editor/connections/quick-add-data-sources.tsx +11 -7
- package/src/components/editor/connections/storage/__tests__/__snapshots__/as-code.test.ts.snap +43 -0
- package/src/components/editor/connections/storage/__tests__/as-code.test.ts +127 -0
- package/src/components/editor/connections/storage/add-storage-form.tsx +11 -1
- package/src/components/editor/connections/storage/as-code.ts +30 -1
- package/src/components/editor/connections/storage/schemas.ts +63 -0
- package/src/core/codemirror/code-lens/__tests__/popover.test.ts +13 -0
- package/src/core/codemirror/code-lens/popover.tsx +11 -5
- package/src/core/codemirror/language/languages/sql/__tests__/renderers.test.tsx +15 -4
- package/src/core/codemirror/language/languages/sql/renderers.tsx +1 -0
- package/src/core/datasets/__tests__/data-source-discovery.test.ts +277 -0
- package/src/core/datasets/data-source-connections.ts +36 -0
- package/src/core/datasets/data-source-discovery.ts +92 -0
- package/src/core/kernel/messages.ts +1 -0
- package/src/core/websocket/useMarimoKernelConnection.tsx +11 -3
- package/src/hooks/useDataSourceDiscovery.ts +50 -9
- package/src/plugins/impl/MatrixPlugin.tsx +256 -35
- package/src/plugins/impl/__tests__/DataEditorPlugin.test.ts +13 -1
- package/src/plugins/impl/__tests__/MatrixPlugin.test.tsx +540 -3
- package/src/plugins/impl/data-editor/glide-data-editor.tsx +1 -0
- package/src/plugins/impl/data-editor/glide-utils.ts +1 -0
- package/src/plugins/impl/data-frames/__tests__/schema.test.ts +9 -1
- package/src/plugins/impl/data-frames/utils/__tests__/operators.test.ts +8 -0
- package/src/plugins/impl/data-frames/utils/operators.ts +1 -1
- package/src/plugins/impl/vega/__tests__/vega.test.ts +22 -4
- package/src/plugins/impl/vega/utils.ts +3 -0
- package/dist/assets/LazyAnyLanguageCodeMirror-DUvRReKp.js +0 -2
- package/dist/assets/add-connection-dialog-DHyonb9T.js +0 -178
- package/dist/assets/apl-B-7blH-b.js +0 -1
- package/dist/assets/app-config-button-DnmQED8O.js +0 -1
- package/dist/assets/architecture-TIHT7OUA-YhortkiJ.js +0 -1
- package/dist/assets/asciiarmor-D3K8amZ9.js +0 -1
- package/dist/assets/asn1-UGGn98tp.js +0 -1
- package/dist/assets/brainfuck-B4y4U3tg.js +0 -1
- package/dist/assets/cell-link-WDIIwzUn.js +0 -1
- package/dist/assets/channel-B8YARzTa.js +0 -1
- package/dist/assets/classDiagram-JCYQIIEL-CjNLIEON.js +0 -1
- package/dist/assets/classDiagram-v2-OCEON4UE-DB1cPPS3.js +0 -1
- package/dist/assets/clojure-BAZ-ejkG.js +0 -1
- package/dist/assets/cmake-jWn0xN9y.js +0 -1
- package/dist/assets/cobol-XqY9jaWP.js +0 -1
- package/dist/assets/coffeescript-DI1jfZHX.js +0 -1
- package/dist/assets/commonlisp-UKb01OlU.js +0 -1
- package/dist/assets/components-DVs9Yu7X.js +0 -1
- package/dist/assets/crystal-DOvjTBWA.js +0 -1
- package/dist/assets/cynefin-VYW2F7L2-Dob7zmDv.js +0 -1
- package/dist/assets/cypher-CLDhu2ae.js +0 -1
- package/dist/assets/d-C0ecUZk9.js +0 -1
- package/dist/assets/dependency-graph-panel-BsdBM_AS.js +0 -5
- package/dist/assets/diff-657cCCVc.js +0 -1
- package/dist/assets/dist-BbNJKBqf.js +0 -1
- package/dist/assets/dist-CJU3fYUR.js +0 -1
- package/dist/assets/dist-ClAayqDs.js +0 -1
- package/dist/assets/dist-Dk7PW1P8.js +0 -1
- package/dist/assets/dtd-DSiK7Qgi.js +0 -1
- package/dist/assets/dylan-07d5-7Q9.js +0 -1
- package/dist/assets/ecl-CSTUHiwq.js +0 -1
- package/dist/assets/eiffel-DR99GcsM.js +0 -1
- package/dist/assets/elm-Cmh0iW6J.js +0 -1
- package/dist/assets/erlang-CS9Yc6UC.js +0 -1
- package/dist/assets/eventmodeling-45OFAUF4-Dfz56MmV.js +0 -1
- package/dist/assets/factor-DjB27Lcf.js +0 -1
- package/dist/assets/file-explorer-panel-Brf39GIG.js +0 -37
- package/dist/assets/flowDiagram-UKHOOZJN-DuIOw7R3.js +0 -1
- package/dist/assets/forth-UwTUu7NY.js +0 -1
- package/dist/assets/fortran-cptiB4gJ.js +0 -1
- package/dist/assets/gas-ajMbd9Us.js +0 -1
- package/dist/assets/gherkin-ClYkalzE.js +0 -1
- package/dist/assets/gitGraph-TEB2WS4Q-DHatMnz3.js +0 -1
- package/dist/assets/groovy-BY-gt7AW.js +0 -1
- package/dist/assets/haskell-D1BeJ7SR.js +0 -1
- package/dist/assets/haxe-QOq5WFXx.js +0 -1
- package/dist/assets/idl-3-UcEGx7.js +0 -1
- package/dist/assets/index-CXJA6BU5.js +0 -38
- package/dist/assets/index-WoaGtlKd.css +0 -2
- package/dist/assets/info-DKCQHKI2-DL5sXjlh.js +0 -1
- package/dist/assets/infoDiagram-6WML65LV-w0LSkwW5.js +0 -2
- package/dist/assets/javascript-CorD44JN.js +0 -1
- package/dist/assets/julia-BYqTtTAl.js +0 -1
- package/dist/assets/katex-DWt0esek.js +0 -1
- package/dist/assets/livescript-qYgfNnNE.js +0 -1
- package/dist/assets/lua-BCqCjdfz.js +0 -1
- package/dist/assets/mathematica-XKwMfn0d.js +0 -1
- package/dist/assets/mbox-BnkeOnif.js +0 -1
- package/dist/assets/mirc-ipoElhai.js +0 -1
- package/dist/assets/mllike-DmouQ5Dp.js +0 -1
- package/dist/assets/modelica-BtmmVsUf.js +0 -1
- package/dist/assets/mscgen-BHZmHZgz.js +0 -1
- package/dist/assets/mumps-oKfoFTl_.js +0 -1
- package/dist/assets/nsis-DDOPnuAW.js +0 -1
- package/dist/assets/ntriples-Dsyl_sOF.js +0 -1
- package/dist/assets/octave-CI5RGMPa.js +0 -1
- package/dist/assets/oz-D01pKAWx.js +0 -1
- package/dist/assets/packet-7NZHBO7P-Btbo_lPa.js +0 -1
- package/dist/assets/panel-accordion-state-DaMmC7UV.js +0 -1
- package/dist/assets/panels-B2LHXcJf.js +0 -4
- package/dist/assets/pascal-DGXfnIFD.js +0 -1
- package/dist/assets/perl-gZ7qIkF-.js +0 -1
- package/dist/assets/pie-RZYD4A2V-DHlhKt-c.js +0 -1
- package/dist/assets/pig-Cb90ayl-.js +0 -1
- package/dist/assets/powershell-_YxddSL3.js +0 -1
- package/dist/assets/properties-sU50dmvt.js +0 -1
- package/dist/assets/protobuf-DFdF-yfo.js +0 -1
- package/dist/assets/pug-DwUB-C24.js +0 -1
- package/dist/assets/puppet-DtKzwiZ6.js +0 -1
- package/dist/assets/python-BMLOKYmk.js +0 -1
- package/dist/assets/q-BF1zXMdP.js +0 -1
- package/dist/assets/r-BQiKhVSI.js +0 -1
- package/dist/assets/radar-I7S5WNFK-DZTiwd45.js +0 -1
- package/dist/assets/railroad-3IZDKUUU-DxAKHi3X.js +0 -1
- package/dist/assets/railroad-abnf-AHOZXSZD-DgPW-bTs.js +0 -1
- package/dist/assets/railroad-ebnf-EBAXGLYW-6hsaKhfa.js +0 -1
- package/dist/assets/railroad-peg-LSFZ7HO6-Sj3gnwID.js +0 -1
- package/dist/assets/rpm-v7UTuaHo.js +0 -1
- package/dist/assets/ruby-Cw43FpG3.js +0 -1
- package/dist/assets/sas-BIKscqlp.js +0 -1
- package/dist/assets/scheme-CGic3hSV.js +0 -1
- package/dist/assets/session-panel-CidCOM4_.js +0 -1
- package/dist/assets/shell-DAh545tm.js +0 -1
- package/dist/assets/sieve-bGkng63-.js +0 -1
- package/dist/assets/smalltalk-fIw53lm8.js +0 -1
- package/dist/assets/sparql-CHbJrAY_.js +0 -1
- package/dist/assets/spec-NeCHOv2Z.js +0 -1
- package/dist/assets/stateDiagram-v2-UEYNNEHI-DVggkZEP.js +0 -1
- package/dist/assets/stylus-3Q5WfXqT.js +0 -1
- package/dist/assets/swift-MKxc2knl.js +0 -1
- package/dist/assets/swimlanesDiagram-ULZ7WXOC-Dl8Izbnv.js +0 -8
- package/dist/assets/tcl-D3fKhQc_.js +0 -1
- package/dist/assets/textile-Bi_LEJQ3.js +0 -1
- package/dist/assets/toml-Dt-PBqwt.js +0 -1
- package/dist/assets/treeView-QDETBFTQ-DI-AuAry.js +0 -1
- package/dist/assets/treemap-6X3UGDF4-BikstUU5.js +0 -1
- package/dist/assets/troff-BSU-rxoD.js +0 -1
- package/dist/assets/ttcn-BmLjonVM.js +0 -1
- package/dist/assets/ttcn-cfg-TPTcP0Eh.js +0 -1
- package/dist/assets/turtle-HafmShQq.js +0 -1
- package/dist/assets/vb-CUif5uGR.js +0 -1
- package/dist/assets/vbscript-DWVPFl59.js +0 -1
- package/dist/assets/velocity-BJl8UzB4.js +0 -1
- package/dist/assets/verilog-B4LUPYXy.js +0 -1
- package/dist/assets/vhdl-C91h3ipk.js +0 -1
- package/dist/assets/wardley-OPB4EBWU-CeBjkYYY.js +0 -1
- package/dist/assets/webidl-DOay1zbU.js +0 -1
- package/dist/assets/xquery-Cez7jD_4.js +0 -1
- package/dist/assets/yacas-CSQEXB_S.js +0 -1
- package/dist/assets/z80-CJbYj7Wr.js +0 -1
- package/src/hooks/__tests__/useDataSourceDiscovery.test.ts +0 -80
- /package/dist/assets/{ImageComparisonComponent-BcnwhFjf.js → ImageComparisonComponent-f3_KuPvA.js} +0 -0
- /package/dist/assets/{Inputs-DrAa-p6i.js → Inputs-S6F4fq1S.js} +0 -0
- /package/dist/assets/{Plot-93LEWfvh.js → Plot-BKmsCw4V.js} +0 -0
- /package/dist/assets/{apl-CPlG1HX3.js → apl-HjCOpvY9.js} +0 -0
- /package/dist/assets/{asciiarmor-DV_pcocJ.js → asciiarmor-CZUdQ8YG.js} +0 -0
- /package/dist/assets/{asn1-DPxWcGvG.js → asn1-D9fbSxQp.js} +0 -0
- /package/dist/assets/{asterisk-1BK_fEUT.js → asterisk-GbGHf9GU.js} +0 -0
- /package/dist/assets/{brainfuck-CGDdBVNO.js → brainfuck-DoACnXtY.js} +0 -0
- /package/dist/assets/{chunk-KEIR6QF5-Dy1GNnFZ.js → chunk-KEIR6QF5-DALP8ow3.js} +0 -0
- /package/dist/assets/{chunk-Y2CYZVJY-Ci6ix4_L.js → chunk-Y2CYZVJY-BLNiTciS.js} +0 -0
- /package/dist/assets/{clear-button-D_bGby_-.js → clear-button-ChZ5WLVn.js} +0 -0
- /package/dist/assets/{click-outside-container-Ble4snjv.js → click-outside-container-B_JD95Fi.js} +0 -0
- /package/dist/assets/{clike-D91DrsBh.js → clike-BvT_OTqG.js} +0 -0
- /package/dist/assets/{clojure-B0eb_-2q.js → clojure-DObunWgq.js} +0 -0
- /package/dist/assets/{cmake-COzUvjiS.js → cmake-Bn1dmbG8.js} +0 -0
- /package/dist/assets/{cobol-DW4FSnmb.js → cobol-CJ0xj-s7.js} +0 -0
- /package/dist/assets/{coffeescript-CommR2mv.js → coffeescript-DSHpWjh8.js} +0 -0
- /package/dist/assets/{common-keywords-CL5lDC0w.js → common-keywords-DpBQRN1C.js} +0 -0
- /package/dist/assets/{commonlisp-FR_N9RJL.js → commonlisp-C8BmLRoV.js} +0 -0
- /package/dist/assets/{crystal-CAN7bz25.js → crystal-Ca8nJT--.js} +0 -0
- /package/dist/assets/{css-DmLg8a0m.js → css-CY56PGqI.js} +0 -0
- /package/dist/assets/{cypher-BzSJn05x.js → cypher-DkMgpwTD.js} +0 -0
- /package/dist/assets/{cytoscape.esm-DMX0DoYf.js → cytoscape.esm-ohuTJsWI.js} +0 -0
- /package/dist/assets/{d-UpmnByGo.js → d-De6gURe0.js} +0 -0
- /package/dist/assets/{diff-DRpitNo9.js → diff-D9jknSNL.js} +0 -0
- /package/dist/assets/{dist-CjgCY_Ws.js → dist-B8OryoSI.js} +0 -0
- /package/dist/assets/{dist-DcguuZEe.js → dist-B_Q1ayL4.js} +0 -0
- /package/dist/assets/{dist-BY5C0xw-.js → dist-BdgY02GB.js} +0 -0
- /package/dist/assets/{dist-5zzK1Bpl.js → dist-BpyRMlx3.js} +0 -0
- /package/dist/assets/{dist-Bp45OWJJ.js → dist-BvDn6jZn.js} +0 -0
- /package/dist/assets/{dist-CSEj3YUH.js → dist-C1_zNuc7.js} +0 -0
- /package/dist/assets/{dist-CYcHr3tv.js → dist-C3M1h1bY.js} +0 -0
- /package/dist/assets/{dist-iZqQ8eEZ.js → dist-CiELQ2ik.js} +0 -0
- /package/dist/assets/{dist-Op2xySIC.js → dist-CnESRnx2.js} +0 -0
- /package/dist/assets/{dist-SgSQKL07.js → dist-Cnb7x5X_.js} +0 -0
- /package/dist/assets/{dist-CqO2FBHV.js → dist-CtsSPT78.js} +0 -0
- /package/dist/assets/{dist-BQMAD-re.js → dist-DDuxOj5E.js} +0 -0
- /package/dist/assets/{dist-C3YC038-.js → dist-DXl-iyI_.js} +0 -0
- /package/dist/assets/{dist-VHnyClcl.js → dist-DcwGajoh.js} +0 -0
- /package/dist/assets/{dist-ChJa98Av.js → dist-M9OI1ywz.js} +0 -0
- /package/dist/assets/{dist-BTX2QySO.js → dist-oc6kOhWh.js} +0 -0
- /package/dist/assets/{dist-AhQW5KN1.js → dist-rcsCwDst.js} +0 -0
- /package/dist/assets/{dtd-CQV9N2ok.js → dtd-B5FJ4BXV.js} +0 -0
- /package/dist/assets/{duckdb-keywords-CKBoTxEb.js → duckdb-keywords-DrrKcwLz.js} +0 -0
- /package/dist/assets/{dylan-Bp98yT5y.js → dylan-zZheNs86.js} +0 -0
- /package/dist/assets/{ebnf-CviyCkP7.js → ebnf-DuKzoTsP.js} +0 -0
- /package/dist/assets/{ecl-BgtQ3zu5.js → ecl-BcK76Ow3.js} +0 -0
- /package/dist/assets/{eiffel-Cu14O7Gi.js → eiffel-KaaY88la.js} +0 -0
- /package/dist/assets/{elm-Dp1dn40k.js → elm-B7-LHWcm.js} +0 -0
- /package/dist/assets/{erlang-DdogJjdp.js → erlang-DaphDTvj.js} +0 -0
- /package/dist/assets/{esm-DbAcs2Px.js → esm-BKF5e2-i.js} +0 -0
- /package/dist/assets/{fcl-DjfeL5F6.js → fcl-DopXl_Cb.js} +0 -0
- /package/dist/assets/{forth-Dd0r86IP.js → forth-BKlt87ew.js} +0 -0
- /package/dist/assets/{fortran-4qvtlW4z.js → fortran-DDZOpuZf.js} +0 -0
- /package/dist/assets/{gallery-page-CtBVFIhS.js → gallery-page-4_c4sSjL.js} +0 -0
- /package/dist/assets/{gas-DqwqZHXy.js → gas-CDn7Y-Gk.js} +0 -0
- /package/dist/assets/{gherkin-DMxJEDh5.js → gherkin-eZ5FXLoA.js} +0 -0
- /package/dist/assets/{github-6F3RzPv3.js → github-CE-ZvKrv.js} +0 -0
- /package/dist/assets/{groovy-DA_MxBua.js → groovy-BwhPb7Fz.js} +0 -0
- /package/dist/assets/{haskell-B_hi8VEK.js → haskell-Dnk7SiND.js} +0 -0
- /package/dist/assets/{haxe-D-I6YeRN.js → haxe-lllox-eQ.js} +0 -0
- /package/dist/assets/{http-VleqgIZJ.js → http-BxcKXOao.js} +0 -0
- /package/dist/assets/{idl-CteRrHSs.js → idl-DgcPYEkx.js} +0 -0
- /package/dist/assets/{javascript-Cq9DsvSW.js → javascript-COkX3Xca.js} +0 -0
- /package/dist/assets/{julia-bHGj6eLp.js → julia-D-oyKrif.js} +0 -0
- /package/dist/assets/{katex-B9FkzyvX.js → katex-DX0AbnS9.js} +0 -0
- /package/dist/assets/{kiosk-mode-B8UhlOLw.js → kiosk-mode-CNguD0K4.js} +0 -0
- /package/dist/assets/{links-STGde2qx.js → links-CWv16njv.js} +0 -0
- /package/dist/assets/{livescript-C72YlTeO.js → livescript-D_iKnN6P.js} +0 -0
- /package/dist/assets/{loro_wasm_bg-DIEeF9jI.js → loro_wasm_bg-wiZiHqmd.js} +0 -0
- /package/dist/assets/{lua-DAtJrHXr.js → lua-DvA1dcWk.js} +0 -0
- /package/dist/assets/{marimo-icons-CW8-Txe-.js → marimo-icons-BT3Q9hP-.js} +0 -0
- /package/dist/assets/{mathematica-DGp7b8Lx.js → mathematica-BsU_wLgp.js} +0 -0
- /package/dist/assets/{mbox-C35KjfEV.js → mbox-C0XhbFpn.js} +0 -0
- /package/dist/assets/{mirc-BRCHEPv1.js → mirc-CHTyPhxQ.js} +0 -0
- /package/dist/assets/{mllike-D7ajla-U.js → mllike-CUPiTPoj.js} +0 -0
- /package/dist/assets/{modelica-0RGVL4ie.js → modelica-CY01YUSk.js} +0 -0
- /package/dist/assets/{mscgen-C7Ohs4Tl.js → mscgen-DrdJ4BfA.js} +0 -0
- /package/dist/assets/{mumps-Cgag5Xef.js → mumps-oDd7O1nq.js} +0 -0
- /package/dist/assets/{nginx-D7OKXoUe.js → nginx-BFZZWp0k.js} +0 -0
- /package/dist/assets/{node-sql-parser-DE2GpgS7.js → node-sql-parser-BAQ3SN57.js} +0 -0
- /package/dist/assets/{ntriples-oQv5c69K.js → ntriples-Kz6Omt8T.js} +0 -0
- /package/dist/assets/{octave-BMTXs4lo.js → octave-D4G4nAd-.js} +0 -0
- /package/dist/assets/{oz-CuHYwo8r.js → oz-BMPClN8a.js} +0 -0
- /package/dist/assets/{pascal-eFKoVV2p.js → pascal-PjzHq8gx.js} +0 -0
- /package/dist/assets/{perl-B1OqOW8w.js → perl-BJehkHc4.js} +0 -0
- /package/dist/assets/{pig-gIrBDx27.js → pig-BErUKXIE.js} +0 -0
- /package/dist/assets/{powershell-3fQF2XND.js → powershell-C9VPAjfT.js} +0 -0
- /package/dist/assets/{properties-D4HHpZmU.js → properties-C9_sS9KX.js} +0 -0
- /package/dist/assets/{protobuf-DFSTKR0L.js → protobuf-CTL_9hGv.js} +0 -0
- /package/dist/assets/{puppet-BAISgXk9.js → puppet-DiwkFvYr.js} +0 -0
- /package/dist/assets/{python-mPctBCbA.js → python-B6qWXHOF.js} +0 -0
- /package/dist/assets/{q-CYeV5Dbb.js → q-DK2HS4ce.js} +0 -0
- /package/dist/assets/{r-Ds4UrjIV.js → r-DaU8ID7q.js} +0 -0
- /package/dist/assets/{rough.esm-CR3HSVpq.js → rough.esm-DsKVbNkz.js} +0 -0
- /package/dist/assets/{rpm-DV5-r6dM.js → rpm-B1zWd_-L.js} +0 -0
- /package/dist/assets/{ruby-B9qrycrI.js → ruby-e8Zeo08a.js} +0 -0
- /package/dist/assets/{runs-B8nVipXz.js → runs-0Fl_whti.js} +0 -0
- /package/dist/assets/{sas-Cd7L1ZOe.js → sas-CtNe7N_s.js} +0 -0
- /package/dist/assets/{scheme-L6Kva-Kc.js → scheme-D7VUNgy0.js} +0 -0
- /package/dist/assets/{secrets-panel-CVQIJOsr.js → secrets-panel-C51QhQhQ.js} +0 -0
- /package/dist/assets/{shell-Ck42V1Kn.js → shell-95QiTNIY.js} +0 -0
- /package/dist/assets/{sieve-DfSJcUfS.js → sieve-4wk3Woa7.js} +0 -0
- /package/dist/assets/{simple-mode-CfoR0Lvg.js → simple-mode-C1B3ue4E.js} +0 -0
- /package/dist/assets/{smalltalk-CT418Iph.js → smalltalk-BFPyGpl7.js} +0 -0
- /package/dist/assets/{solr-CDPrSrj5.js → solr-BCnpA4mK.js} +0 -0
- /package/dist/assets/{sparql-BlJ_cLEt.js → sparql-BMyoR-t0.js} +0 -0
- /package/dist/assets/{spreadsheet-BsJYzkOI.js → spreadsheet-C39QEIvH.js} +0 -0
- /package/dist/assets/{sql-F2Gt8FSJ.js → sql-CE9Btgz4.js} +0 -0
- /package/dist/assets/{stylus-92qIiGm1.js → stylus-BbMWgEUg.js} +0 -0
- /package/dist/assets/{swift-gZzicbJu.js → swift-BCakwsWN.js} +0 -0
- /package/dist/assets/{swiper-component-LOm8fzBm.js → swiper-component-DpFUDvyR.js} +0 -0
- /package/dist/assets/{tcl-CtgoBYkk.js → tcl-Dupz7YXC.js} +0 -0
- /package/dist/assets/{terminal-Bo6pnmSU.js → terminal-RAduwztq.js} +0 -0
- /package/dist/assets/{textile-Du3RzJ2D.js → textile-CMQNVB0J.js} +0 -0
- /package/dist/assets/{tiddlywiki-BiVbsin5.js → tiddlywiki-CIp8hgce.js} +0 -0
- /package/dist/assets/{tiki-BjQr6gnj.js → tiki-C22wqq7_.js} +0 -0
- /package/dist/assets/{toml-HcF44TVB.js → toml-CDlujHqn.js} +0 -0
- /package/dist/assets/{troff-xbwT4huN.js → troff-Dxr_rPl0.js} +0 -0
- /package/dist/assets/{ttcn-cfg-jWDg1i50.js → ttcn-cfg-_MoagO29.js} +0 -0
- /package/dist/assets/{ttcn-phKysj_0.js → ttcn-iRE0hZ1i.js} +0 -0
- /package/dist/assets/{turtle-CPC48wcy.js → turtle-C00vzWJK.js} +0 -0
- /package/dist/assets/{types-C7hjolXC.js → types-l38AsXoI.js} +0 -0
- /package/dist/assets/{useInterval-CTStcSBb.js → useInterval-WeprorQN.js} +0 -0
- /package/dist/assets/{vb-BTubZ2rB.js → vb-CkVClY4-.js} +0 -0
- /package/dist/assets/{vbscript-B52mDFWM.js → vbscript-BAyqwxih.js} +0 -0
- /package/dist/assets/{velocity-BO3M1iFD.js → velocity-DizPkX9R.js} +0 -0
- /package/dist/assets/{verilog-CBz90JJu.js → verilog-BHLL_Z-1.js} +0 -0
- /package/dist/assets/{vhdl-CeQ1lGlV.js → vhdl-kw8S8KSM.js} +0 -0
- /package/dist/assets/{web-vitals-BaWpTOd5.js → web-vitals-DEQqQ7mh.js} +0 -0
- /package/dist/assets/{webidl-CRtF5pmu.js → webidl-BArrMnhe.js} +0 -0
- /package/dist/assets/{ws-CNqquaud.js → ws-B3l5rS71.js} +0 -0
- /package/dist/assets/{xquery-CFnbrHav.js → xquery-BVt_izxN.js} +0 -0
- /package/dist/assets/{yacas-KIC_JO6M.js → yacas-BFgb66eo.js} +0 -0
- /package/dist/assets/{z80-kGpw5_me.js → z80-CLywz-dK.js} +0 -0
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
var yt=Object.defineProperty;var _t=(t,e,s)=>e in t?yt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s;var G=(t,e,s)=>_t(t,typeof e!="symbol"?e+"":e,s);import{o as ce}from"./chunk-C4rtOYze.js";import{u as V}from"./useEvent-GCVIknuR.js";import{t as xt}from"./react-C60yClUi.js";import{Ct as le,E as St,Ir as kt,Zr as wt,ur as y}from"./cells-Biwqg0z6.js";import{D as K,L as u,P as _,T as L,_ as de,i as vt,k as x}from"./zod-BIDX-mZr.js";import{t as U}from"./compiler-runtime-DnimoHo0.js";import{_ as $t}from"./useEventListener-DpNnLPuE.js";import{c as jt}from"./utils-C8Yt16Y7.js";import{t as z}from"./cn-DCUzRj2J.js";import{t as Ct}from"./jsx-runtime-3wZU7vFS.js";import{a as At,c as pe,i as Nt,o as he,r as Rt,s as Tt,t as Lt}from"./popover-B96fOqfH.js";import{c as Dt,i as It,n as Pt,r as qt,s as Ft,t as Et}from"./select-CPo-KTTe.js";import{i as Ot,t as ue}from"./tooltip-C9LWGQ7Y.js";import{t as me}from"./button-W__YVea9.js";import{r as W}from"./strings-DmKKoXrM.js";import{r as Bt,t as Ut}from"./x-4y-nyVDU.js";import{t as Kt}from"./circle-plus-C5gP9LrU.js";import{t as Ht}from"./components-CGGSwziZ.js";import{n as te}from"./DeferredRequestRegistry-6TRSC3VZ.js";import{t as Wt}from"./plus-r1QITpsJ.js";import{t as Mt}from"./sparkles-DwqcWrJl.js";import{a as be,c as ge,i as Gt,n as fe,o as ye,p as Vt,r as _e,s as xe,u as zt}from"./form-B10bgcbQ.js";import{a as Qt,c as Jt,l as Yt,n as Zt,r as Xt,t as es}from"./dialog-WU4x2UpK.js";import{n as Se}from"./ImperativeModal-Dxj31V4A.js";import{t as Q}from"./links-BeU4kHTI.js";import{t as ts}from"./useIframeCapabilities-DBacdN1t.js";import{r as ss}from"./html-to-image-ChfBVn8-.js";import{o as rs}from"./focus-CeTtpVjV.js";import{n as ke}from"./useAsyncData-BcvSvTUt.js";import{a as ns,c as we,i as J,o as Y,s as os,t as as}from"./command-D5LtSvbN.js";import{c as l,o as is,t as cs}from"./form-Cj9BLARR.js";import{t as ls}from"./request-registry-bUowmAtG.js";import{a as se,c as re,d as ds,f as ps,i as ve,l as $e,n as hs,o as us,r as Z,s as F,t as je,u as Ce}from"./write-secret-modal-DBPF-L6f.js";import{a as ms,i as bs,n as gs,t as fs}from"./data-source-discovery-DCNYJylO.js";import{t as ys}from"./state-BFx9-sFK.js";var D=ce(xt(),1),o=ce(Ct(),1);function _s(t,e){if(!e)return{recommended:[],other:[...t]};let s;try{s=new RegExp(e,"i")}catch{return{recommended:[],other:[...t]}}let n=[],r=[];for(let i of t)s.test(i)?n.push(i):r.push(i);return{recommended:n,other:r}}const Ae=({value:t,onChange:e,placeholder:s,secretsOnly:n=!1,recommendedKeys:r,otherKeys:i,onCreateSecret:c,className:a,searchPlaceholder:d,formatCustomValueLabel:p=f=>`Use "${f}"`,createSecretLabel:h="Create a new secret",allowCustomValue:m,allowCreateSecret:g})=>{let[f,b]=(0,D.useState)(!1),[S,w]=(0,D.useState)(""),k=S.trim(),$=!n&&k.length>0&&k!==t&&((m==null?void 0:m(k))??!0),C=(g==null?void 0:g(k))??!0,j=t?F(t)?us(t):t:null,N=v=>{e(re(v)),b(!1),w("")},P=v=>{e(v),b(!1),w("")},q=()=>{e(""),w(""),b(!1)};return(0,o.jsxs)("div",{className:z("flex w-full min-w-48 mb-1 items-center gap-1",a),children:[(0,o.jsxs)(Lt,{modal:!0,open:f,onOpenChange:v=>{b(v),v||w("")},children:[(0,o.jsx)(Nt,{asChild:!0,children:(0,o.jsxs)("button",{type:"button",className:z("flex h-6 min-w-0 flex-1 shadow-xs-solid items-center justify-between","rounded-sm border border-input bg-background px-1.5 text-sm font-code ring-offset-background placeholder:text-muted-foreground","hover:shadow-sm-solid focus:outline-hidden focus:ring-1 focus:ring-ring focus:border-primary focus:shadow-md-solid",F(t)&&"bg-accent"),"aria-expanded":f,children:[(0,o.jsx)("span",{className:"truncate flex-1 min-w-0 text-left flex items-center gap-1.5",children:j?(0,o.jsxs)(o.Fragment,{children:[F(t)&&(0,o.jsx)(te,{className:"h-3 w-3 shrink-0 opacity-70"}),(0,o.jsx)("span",{className:"truncate",children:j})]}):(0,o.jsx)("span",{className:"text-muted-foreground",children:s})}),(0,o.jsx)(Bt,{className:"ml-1 h-4 w-4 opacity-50 shrink-0"})]})}),(0,o.jsx)(Rt,{className:"w-(--radix-popover-trigger-width) p-0",align:"start",children:(0,o.jsxs)(as,{children:[(0,o.jsx)(ns,{placeholder:d??(n?"Search secrets...":"Type a value or search secrets..."),rootClassName:"px-1 h-8",autoFocus:!0,value:S,onValueChange:w}),(0,o.jsxs)(os,{className:"max-h-60 overscroll-contain",children:[$&&(0,o.jsx)(J,{children:(0,o.jsx)(Y,{value:`use custom value ${k}`,onSelect:()=>P(k),children:p(k)})}),C&&(0,o.jsx)(J,{className:"mt-0",children:(0,o.jsxs)(Y,{value:`create new secret ${k}`,onSelect:()=>{let v=k||void 0;b(!1),w(""),c(v)},children:[(0,o.jsx)(Kt,{className:"mr-2 h-3.5 w-3.5"}),h]})}),r.length>0&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(we,{className:"mt-0"}),(0,o.jsx)(J,{heading:"Recommended",children:r.map(v=>(0,o.jsxs)(Y,{value:v,onSelect:()=>N(v),children:[(0,o.jsx)(te,{className:"mr-2 h-3 w-3 opacity-70"}),v]},v))})]}),i.length>0&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(we,{className:"mt-0"}),(0,o.jsx)(J,{heading:r.length>0?"Other":void 0,children:i.map(v=>(0,o.jsxs)(Y,{value:v,onSelect:()=>N(v),children:[(0,o.jsx)(te,{className:"mr-2 h-3 w-3 opacity-70"}),v]},v))})]})]})]})})]}),t&&(0,o.jsx)("button",{type:"button","aria-label":"Clear",className:z("flex h-6 w-6 shrink-0 items-center justify-center rounded-sm","text-muted-foreground hover:bg-muted hover:text-foreground","focus:outline-hidden focus:ring-1 focus:ring-ring"),onClick:q,children:(0,o.jsx)(Ut,{className:"h-3.5 w-3.5"})})]})};var xs=U(),Ne=(0,D.createContext)({providerNames:[],secretKeys:[],loading:!1,error:void 0,refreshSecrets:$t.NOOP});const Re=()=>(0,D.use)(Ne),Ss=t=>{let e=(0,xs.c)(14),{children:s}=t,n;e[0]===Symbol.for("react.memo_cache_sentinel")?(n=[],e[0]=n):n=e[0];let{data:r,isPending:i,error:c,refetch:a}=ke(Cs,n);r==null||r.secretKeys,r==null||r.providerNames;let d;e[1]===(r==null?void 0:r.secretKeys)?d=e[2]:(d=(r==null?void 0:r.secretKeys)||[],e[1]=r==null?void 0:r.secretKeys,e[2]=d);let p;e[3]===(r==null?void 0:r.providerNames)?p=e[4]:(p=(r==null?void 0:r.providerNames)||[],e[3]=r==null?void 0:r.providerNames,e[4]=p);let h;e[5]!==c||e[6]!==i||e[7]!==a||e[8]!==d||e[9]!==p?(h={secretKeys:d,providerNames:p,loading:i,error:c,refreshSecrets:a},e[5]=c,e[6]=i,e[7]=a,e[8]=d,e[9]=p,e[10]=h):h=e[10];let m=h,g;return e[11]!==s||e[12]!==m?(g=(0,o.jsx)(Ne,{value:m,children:s}),e[11]=s,e[12]=m,e[13]=g):g=e[13],g},ks={isMatch:t=>{if(t instanceof de){let{optionRegex:e}=l.parse(t.description||"");return!!e}return!1},Component:({schema:t,form:e,path:s})=>{let{secretKeys:n,providerNames:r,refreshSecrets:i}=Re(),{openModal:c,closeModal:a}=Se(),{label:d,description:p,placeholder:h,optionRegex:m="",inputType:g}=l.parse(t.description||""),f=g==="password",{recommended:b,other:S}=_s(n,m);return(0,o.jsx)(be,{control:e.control,name:s,render:({field:w})=>(0,o.jsxs)(ye,{children:[(0,o.jsx)(xe,{children:d}),(0,o.jsx)(_e,{children:p}),(0,o.jsx)(fe,{children:(0,o.jsx)(Ae,{value:w.value?String(w.value):"",onChange:w.onChange,placeholder:h,secretsOnly:f,recommendedKeys:b,otherKeys:S,onCreateSecret:k=>{c((0,o.jsx)(je,{providerNames:r,initialValue:k,onSuccess:$=>{i(),w.onChange(re($)),a()},onClose:a}))}})}),(0,o.jsx)(ge,{})]})})}},ws={isMatch:t=>{if(t instanceof de){let{special:e}=l.parse(t.description||"");return e==="secret_textarea"}return!1},Component:({schema:t,form:e,path:s})=>{let{secretKeys:n,providerNames:r,refreshSecrets:i}=Re(),{openModal:c,closeModal:a}=Se(),{label:d,description:p,placeholder:h}=l.parse(t.description||"");return(0,o.jsx)(be,{control:e.control,name:s,render:({field:m})=>{let g=m.value?String(m.value):"",f=Ce(g)?ps(g):g;return(0,o.jsxs)(ye,{children:[(0,o.jsxs)(xe,{className:"flex items-center gap-1",children:[d,(0,o.jsx)(ue,{content:"Enter a path to a file on disk, or create a secret to paste JSON directly.",delayDuration:300,children:(0,o.jsx)("button",{type:"button",className:"inline-flex","aria-label":"Credential input help",children:(0,o.jsx)(kt,{className:"h-3.5 w-3.5"})})})]}),(0,o.jsx)(_e,{children:p}),(0,o.jsx)(fe,{children:(0,o.jsx)(Ae,{value:f,onChange:b=>{m.onChange(!b||F(b)||Ce(b)?b:ds(b))},placeholder:h,searchPlaceholder:"Type a file path or paste JSON",formatCustomValueLabel:b=>`Use "${b}" as a file path`,createSecretLabel:"Paste JSON credentials",allowCustomValue:b=>!ve(b),allowCreateSecret:b=>!b||ve(b),recommendedKeys:[],otherKeys:n,onCreateSecret:b=>{c((0,o.jsx)(je,{providerNames:r,initialValue:b,multiline:!0,onSuccess:S=>{i(),m.onChange(re(S)),a()},onClose:a}))}})}),(0,o.jsx)(ge,{})]})}})}};function vs(t){return t.provider!=="env"}function $s(t){return t.name}function js(t){return t.keys}async function Cs(){let t=await ls.request({}),e=hs(t.secrets).filter(vs).map($s);return{secretKeys:t.secrets.flatMap(js).toSorted(),providerNames:e}}var M=U(),As=[ks,ws];const ne=t=>{let e=(0,M.c)(2),{children:s}=t,n;return e[0]===s?n=e[1]:(n=(0,o.jsx)("div",{className:"grid grid-cols-2 md:grid-cols-3 gap-4",children:s}),e[0]=s,e[1]=n),n},oe=t=>{let e=(0,M.c)(9),{name:s,color:n,icon:r,onSelect:i}=t,c;e[0]===n?c=e[1]:(c={backgroundColor:n},e[0]=n,e[1]=c);let a;e[2]===s?a=e[3]:(a=(0,o.jsx)("span",{className:"text-white font-medium text-lg",children:s}),e[2]=s,e[3]=a);let d;return e[4]!==r||e[5]!==i||e[6]!==c||e[7]!==a?(d=(0,o.jsxs)("button",{type:"button",className:"py-3 flex flex-col items-center justify-center gap-1 transition-all hover:scale-105 hover:brightness-110 rounded shadow-sm-solid hover:shadow-md-solid",style:c,onClick:i,children:[r,a]}),e[4]=r,e[5]=i,e[6]=c,e[7]=a,e[8]=d):d=e[8],d},Ns=t=>{let e=(0,M.c)(25),{onBack:s,isValid:n,libraries:r,preferredLibrary:i,onLibraryChange:c,displayNames:a,libraryLabel:d}=t,p=d===void 0?"Preferred library":d,h;e[0]===s?h=e[1]:(h=(0,o.jsx)(me,{type:"button",variant:"outline",onClick:s,children:"Back"}),e[0]=s,e[1]=h);let m=!n,g;e[2]===m?g=e[3]:(g=(0,o.jsx)(me,{type:"submit",disabled:m,children:"Add"}),e[2]=m,e[3]=g);let f;e[4]!==h||e[5]!==g?(f=(0,o.jsxs)("div",{className:"flex gap-2",children:[h,g]}),e[4]=h,e[5]=g,e[6]=f):f=e[6];let b;e[7]===Symbol.for("react.memo_cache_sentinel")?(b=(0,o.jsx)(Ft,{children:(0,o.jsx)(Dt,{placeholder:"Select a library"})}),e[7]=b):b=e[7];let S;e[8]===p?S=e[9]:(S=(0,o.jsxs)("div",{className:"flex flex-col gap-1 items-end",children:[b,(0,o.jsx)("span",{className:"text-xs text-muted-foreground",children:p})]}),e[8]=p,e[9]=S);let w;if(e[10]!==a||e[11]!==r){let j;e[13]===a?j=e[14]:(j=N=>(0,o.jsx)(It,{value:N,children:a[N]??N},N),e[13]=a,e[14]=j),w=r.map(j),e[10]=a,e[11]=r,e[12]=w}else w=e[12];let k;e[15]===w?k=e[16]:(k=(0,o.jsx)(Pt,{children:(0,o.jsx)(qt,{children:w})}),e[15]=w,e[16]=k);let $;e[17]!==c||e[18]!==i||e[19]!==S||e[20]!==k?($=(0,o.jsx)("div",{children:(0,o.jsxs)(Et,{value:i,onValueChange:c,children:[S,k]})}),e[17]=c,e[18]=i,e[19]=S,e[20]=k,e[21]=$):$=e[21];let C;return e[22]!==$||e[23]!==f?(C=(0,o.jsxs)("div",{className:"flex gap-2 justify-between",children:[f,$]}),e[22]=$,e[23]=f,e[24]=C):C=e[24],C};function Te(){let t=(0,M.c)(4),{createNewCell:e}=St(),s=rs(),n=V(jt),r;return t[0]!==n||t[1]!==e||t[2]!==s?(r=i=>{/\bmo\./.test(i)&&ss({autoInstantiate:n,createNewCell:e,fromCellId:s}),e({code:i,before:!1,cellId:s??"__end__",skipIfCodeExists:!0})},t[0]=n,t[1]=e,t[2]=s,t[3]=r):r=t[3],r}const Le=t=>{let e=(0,M.c)(30),{schema:s,libraries:n,preferredLibrary:r,displayNames:i,libraryLabel:c,generateCode:a,onSubmit:d,onBack:p}=t,h;e[0]===s?h=e[1]:(h=is(s),e[0]=s,e[1]=h);let m=h,g;e[2]===s?g=e[3]:(g=zt(s),e[2]=s,e[3]=g);let f;e[4]!==m||e[5]!==g?(f={defaultValues:m,resolver:g,reValidateMode:"onChange"},e[4]=m,e[5]=g,e[6]=f):f=e[6];let b=Vt(f),[S,w]=D.useState(r),k=Te(),$;e[7]!==a||e[8]!==k||e[9]!==d||e[10]!==S?($=ft=>{k(a(ft,S)),d()},e[7]=a,e[8]=k,e[9]=d,e[10]=S,e[11]=$):$=e[11];let C=$,j;e[12]!==b||e[13]!==C?(j=b.handleSubmit(C),e[12]=b,e[13]=C,e[14]=j):j=e[14];let N;e[15]===Symbol.for("react.memo_cache_sentinel")?(N=(0,o.jsx)(Gt,{}),e[15]=N):N=e[15];let P;e[16]!==b||e[17]!==s?(P=(0,o.jsx)(Ss,{children:(0,o.jsx)(cs,{schema:s,form:b,renderers:As,children:N})}),e[16]=b,e[17]=s,e[18]=P):P=e[18];let q;e[19]!==i||e[20]!==b.formState.isValid||e[21]!==n||e[22]!==c||e[23]!==p||e[24]!==S?(q=(0,o.jsx)(Ns,{onBack:p,isValid:b.formState.isValid,libraries:n,preferredLibrary:S,onLibraryChange:w,displayNames:i,libraryLabel:c}),e[19]=i,e[20]=b.formState.isValid,e[21]=n,e[22]=c,e[23]=p,e[24]=S,e[25]=q):q=e[25];let v;return e[26]!==j||e[27]!==P||e[28]!==q?(v=(0,o.jsxs)("form",{onSubmit:j,className:"space-y-4",children:[P,q]}),e[26]=j,e[27]=P,e[28]=q,e[29]=v):v=e[29],v};function E(){return u().optional().describe(l.of({label:"Password",inputType:"password",optionRegex:"(password|passwd|pgpassword|db.?pass(word)?)"}))}function X(t,e){let s=u();return s=e?s.nonempty():s.optional(),s=s.describe(l.of({label:t||"Token",inputType:"password",optionRegex:"(token|api.?key|access.?token|auth.?token|(^|_)pat(_|$))"})),s}function ee(){return u().optional().describe(l.of({label:"Warehouse Name",optionRegex:"(warehouse|snowflake.?warehouse)"}))}function ae(t,e){let s=u();return s=e?s.nonempty():s.optional(),s.describe(l.of({label:t||"URI",optionRegex:"(uri|url|connection.?string|database.?url|jdbc)"}))}function I(t){return u().nonempty().describe(l.of({label:t||"Host",optionRegex:"^(?!.*(kubernetes|gpg)).*(host(name)?|pghost|db.?host|database.?host|mysql.?host|postgres.?host|server.?host)"}))}function R(){return u().describe(l.of({label:"Database",optionRegex:"(database|db.?name|pgdatabase|^DB$|^DATABASE$)"}))}function Rs(){return u().describe(l.of({label:"Schema",optionRegex:"(^SCHEMA$|db.?schema|postgres.?schema|pg.?schema|_SCHEMA$)"}))}function T(){return u().nonempty().describe(l.of({label:"Username",optionRegex:"(username|pguser|db.?user|^USER$|_USER$)"}))}function O(t){let e=vt().describe(l.of({label:"Port",inputType:"number",placeholder:t==null?void 0:t.toString()})).transform(Number).refine(s=>s>=0&&s<=65535,{message:"Port must be between 0 and 65535"});return t===void 0?e:e.default(t)}function De(){return L().default(!1).describe(l.of({label:"Read Only"}))}const Ie=_({type:x("postgres"),host:I(),port:O(5432).optional(),database:R(),username:T(),password:E(),ssl:L().default(!1).describe(l.of({label:"Use SSL"}))}).describe(l.of({direction:"two-columns"})),Pe=_({type:x("mysql"),host:I(),port:O(3306),database:R(),username:T(),password:E(),ssl:L().default(!1).describe(l.of({label:"Use SSL"}))}).describe(l.of({direction:"two-columns"})),qe=_({type:x("sqlite"),database:R().describe(l.of({label:"Database Path"}))}).describe(l.of({direction:"two-columns"})),Fe=_({type:x("duckdb"),database:R().describe(l.of({label:"Database Path"})),read_only:De()}).describe(l.of({direction:"two-columns"})),Ee=_({type:x("motherduck"),database:R().default("my_db").describe(l.of({label:"Database Name"})),token:X()}).describe(l.of({direction:"two-columns"})),Oe=_({type:x("snowflake"),account:u().nonempty().describe(l.of({label:"Account",optionRegex:"(snowflake.?account|^SNOWFLAKE_ACCOUNT$|account.?id)"})),warehouse:u().optional().describe(l.of({label:"Warehouse",optionRegex:"(snowflake.?warehouse|warehouse)"})),database:R(),schema:u().optional().describe(l.of({label:"Schema",optionRegex:"(snowflake.?schema|^SCHEMA$|_SCHEMA$)"})),role:u().optional().describe(l.of({label:"Role"})),authType:K("type",[_({type:x("Password"),username:T(),password:E(),enable_mfa:L().default(!1).describe(l.of({label:"Enable MFA (Duo Push)"}))}),_({type:x("SSO (Browser)"),username:T()}),_({type:x("Key Pair"),username:T(),private_key_path:u().nonempty().describe(l.of({label:"Private Key Path",placeholder:"/path/to/rsa_key.p8"})),private_key_passphrase:u().optional().describe(l.of({label:"Private Key Passphrase",inputType:"password",optionRegex:"(passphrase|private.?key.?passphrase|key.?passphrase)"}))}),_({type:x("OAuth / PAT"),token:X("Token",!0)})]).default({type:"Password",username:"username",enable_mfa:!1}).describe(l.of({special:"tabs"}))}).describe(l.of({direction:"two-columns"})),Be=_({type:x("bigquery"),project:u().nonempty().describe(l.of({label:"Project ID",optionRegex:"(bigquery.?project|gcp.?project|google.?cloud.?project|project.?id)"})),dataset:u().nonempty().describe(l.of({label:"Dataset",optionRegex:"(bigquery.?dataset|dataset)"})),credentials_json:u().describe(l.of({label:"Credentials JSON",special:"secret_textarea"}))}).describe(l.of({direction:"two-columns"})),Ue=_({type:x("clickhouse_connect"),host:I(),port:O(8123).optional(),username:T(),password:E(),secure:L().default(!1).describe(l.of({label:"Use HTTPs"})),proxy_path:u().optional().describe(l.of({label:"Proxy Path",placeholder:"/clickhouse"}))}).describe(l.of({direction:"two-columns"})),Ke=_({type:x("timeplus"),host:I().default("localhost"),port:O(8123).optional(),username:T().default("default"),password:E().default("")}).describe(l.of({direction:"two-columns"})),He=_({type:x("chdb"),database:R().describe(l.of({label:"Database Path"})),read_only:De()}).describe(l.of({direction:"two-columns"})),We=_({type:x("trino"),host:I(),port:O(8080),database:R(),schema:Rs().optional(),username:T(),password:E(),async_support:L().default(!1).describe(l.of({label:"Async Support"}))}).describe(l.of({direction:"two-columns"})),Me=_({type:x("iceberg"),name:u().describe(l.of({label:"Catalog Name"})),catalog:K("type",[_({type:x("REST"),warehouse:ee(),uri:u().optional().describe(l.of({label:"URI",placeholder:"https://",optionRegex:"(uri|url|connection.?string|database.?url|jdbc)"})),token:X()}),_({type:x("SQL"),warehouse:ee(),uri:u().optional().describe(l.of({label:"URI",placeholder:"jdbc:iceberg://host:port/database",optionRegex:"(uri|url|connection.?string|database.?url|jdbc)"}))}),_({type:x("Hive"),warehouse:ee(),uri:ae()}),_({type:x("Glue"),warehouse:ee(),uri:ae()}),_({type:x("DynamoDB"),"dynamodb.profile-name":u().optional().describe(l.of({label:"Profile Name"})),"dynamodb.region":u().optional().describe(l.of({label:"Region"})),"dynamodb.access-key-id":u().optional().describe(l.of({label:"Access Key ID",inputType:"password",optionRegex:"(access.?key.?id|aws.?access.?key)"})),"dynamodb.secret-access-key":u().optional().describe(l.of({label:"Secret Access Key",inputType:"password",optionRegex:"(secret.?access.?key|aws.?secret)"})),"dynamodb.session-token":u().optional().describe(l.of({label:"Session Token",inputType:"password",optionRegex:"(session.?token|aws.?session)"}))})]).default({type:"REST",token:void 0}).describe(l.of({special:"tabs"}))}),Ge=_({type:x("datafusion"),sessionContext:L().optional().describe(l.of({label:"Use Session Context"}))}),Ve=_({type:x("pyspark"),host:I().optional(),port:O().optional()}),ze=_({type:x("redshift"),host:I(),port:O(5439),connectionType:K("type",[_({type:x("IAM credentials"),region:u().describe(l.of({label:"Region"})),aws_access_key_id:u().nonempty().describe(l.of({label:"AWS Access Key ID",inputType:"password",optionRegex:"(access.?key.?id|aws.?access.?key)"})),aws_secret_access_key:u().nonempty().describe(l.of({label:"AWS Secret Access Key",inputType:"password",optionRegex:"(secret.?access.?key|aws.?secret)"})),aws_session_token:u().optional().describe(l.of({label:"AWS Session Token",inputType:"password",optionRegex:"(session.?token|aws.?session)"}))}),_({type:x("DB credentials"),user:T(),password:E()})]).default({type:"IAM credentials",aws_access_key_id:"",aws_secret_access_key:"",region:""}),database:R()}).describe(l.of({direction:"two-columns"})),Qe=_({type:x("databricks"),access_token:X("Access Token",!0),server_hostname:I("Server Hostname"),http_path:ae("HTTP Path",!0),catalog:u().optional().describe(l.of({label:"Catalog"})),schema:u().optional().describe(l.of({label:"Schema"}))}).describe(l.of({direction:"two-columns"})),Je=_({type:x("supabase"),host:I(),port:O(5432).optional(),database:R(),username:T(),password:E(),disable_client_pooling:L().default(!1).describe(l.of({label:"Disable Client-Side Pooling"}))}).describe(l.of({direction:"two-columns"})),Ts=K("type",[Ie,Pe,qe,Fe,Ee,Oe,Be,Ue,Ke,He,We,Me,Ge,Ve,ze,Qe,Je]),Ye={sqlmodel:"SQLModel",sqlalchemy:"SQLAlchemy",duckdb:"DuckDB",clickhouse_connect:"ClickHouse Connect",chdb:"chDB",pyiceberg:"PyIceberg",ibis:"Ibis",motherduck:"MotherDuck",redshift:"Redshift",databricks:"Databricks"};var A=class{constructor(t,e,s){this.connection=t,this.orm=e,this.secrets=s}get imports(){let t=new Set(this.generateImports());switch(this.orm){case"sqlalchemy":t.add("import sqlalchemy");break;case"sqlmodel":t.add("import sqlmodel");break;case"duckdb":t.add("import duckdb");break;case"ibis":t.add("import ibis");break}return t}},Ls=t=>`_${t}`,Ds=class{constructor(){G(this,"secrets",{})}get imports(){return Object.keys(this.secrets).length===0?new Set:new Set(["import os"])}print(t,e,s){if(t=Ls(t),F(e)){let n=$e(e),r=s?`os.environ.get("${n}", "${s}")`:`os.environ.get("${n}")`;return this.secrets[t]=r,t}if(s!=null){let n=`os.environ.get("${e}", "${s}")`;return this.secrets[t]=n,t}return typeof e=="number"||typeof e=="number"?`${e}`:typeof e=="boolean"?H(e):e?`"${e}"`:""}printInFString(t,e,s){if(e===void 0)return"";if(typeof e=="number")return`${e}`;if(typeof e=="boolean")return H(e);let n=this.print(t,e,s);return n.startsWith('"')&&n.endsWith('"')?n.slice(1,-1):`{${n}}`}printPassword(t,e,s,n){let r=s?this.printInFString.bind(this):this.print.bind(this);return F(t)?r(n||"password",t):r(n||"password",e,t)}getSecrets(){return this.secrets}formatSecrets(){return Object.keys(this.secrets).length===0?"":Object.entries(this.secrets).map(([t,e])=>`${t} = ${e}`).join(`
|
|
2
|
+
`)}},Is=class extends A{generateImports(){return[]}generateConnectionCode(){let t=this.connection.ssl?", connect_args={'sslmode': 'require'}":"",e=this.secrets.printPassword(this.connection.password,"POSTGRES_PASSWORD",!0);return y(`
|
|
3
|
+
DATABASE_URL = f"postgresql://${this.secrets.printInFString("username",this.connection.username)}:${e}@${this.secrets.printInFString("host",this.connection.host)}:${this.secrets.printInFString("port",this.connection.port)}/${this.secrets.printInFString("database",this.connection.database)}"
|
|
4
|
+
engine = ${this.orm}.create_engine(DATABASE_URL${t})
|
|
5
|
+
`)}},Ps=class extends A{generateImports(){return[]}generateConnectionCode(){let t=this.connection.ssl?", connect_args={'ssl': {'ssl-mode': 'preferred'}}":"",e=this.secrets.printPassword(this.connection.password,"MYSQL_PASSWORD",!0),s=this.secrets.printInFString("database",this.connection.database);return y(`
|
|
6
|
+
DATABASE_URL = f"mysql+pymysql://${this.secrets.printInFString("username",this.connection.username)}:${e}@${this.secrets.printInFString("host",this.connection.host)}:${this.secrets.printInFString("port",this.connection.port)}/${s}"
|
|
7
|
+
engine = ${this.orm}.create_engine(DATABASE_URL${t})
|
|
8
|
+
`)}},qs=class extends A{generateImports(){return[]}generateConnectionCode(){let t=this.connection.database?this.secrets.printInFString("database",this.connection.database):"";return y(`
|
|
9
|
+
${t.startsWith("{")&&t.endsWith("}")?`DATABASE_URL = f"sqlite:///${t}"`:`DATABASE_URL = "sqlite:///${t}"`}
|
|
10
|
+
engine = ${this.orm}.create_engine(DATABASE_URL)
|
|
11
|
+
`)}},Fs=class extends A{generateImports(){return["from snowflake.sqlalchemy import URL"]}generateConnectionCode(){let{authType:t,account:e,database:s,warehouse:n,schema:r,role:i}=this.connection,c={account:this.secrets.print("account",e),database:this.secrets.print("database",s),warehouse:n?this.secrets.print("warehouse",n):void 0,schema:r?this.secrets.print("schema",r):void 0,role:i?this.secrets.print("role",i):void 0};switch(t.type){case"Password":{let a=this.secrets.printPassword(t.password,"SNOWFLAKE_PASSWORD",!1),d={...c,user:this.secrets.print("user",t.username),password:a};return t.enable_mfa?y(`
|
|
12
|
+
engine = ${this.orm}.create_engine(
|
|
13
|
+
URL(
|
|
14
|
+
${B(d,p=>` ${p}`)},
|
|
15
|
+
),
|
|
16
|
+
connect_args={"authenticator": "username_password_mfa"},
|
|
17
|
+
)
|
|
18
|
+
`):y(`
|
|
19
|
+
engine = ${this.orm}.create_engine(
|
|
20
|
+
URL(
|
|
21
|
+
${B(d,p=>` ${p}`)},
|
|
22
|
+
)
|
|
23
|
+
)
|
|
24
|
+
`)}case"SSO (Browser)":{let a={...c,user:this.secrets.print("user",t.username),authenticator:'"externalbrowser"'};return y(`
|
|
25
|
+
engine = ${this.orm}.create_engine(
|
|
26
|
+
URL(
|
|
27
|
+
${B(a,d=>` ${d}`)},
|
|
28
|
+
)
|
|
29
|
+
)
|
|
30
|
+
`)}case"Key Pair":{let a={...c,user:this.secrets.print("user",t.username)},d=this.secrets.print("private_key_path",t.private_key_path),p=t.private_key_passphrase?this.secrets.printPassword(t.private_key_passphrase,"SNOWFLAKE_PRIVATE_KEY_PASSPHRASE",!1):void 0,h=[' "authenticator": "SNOWFLAKE_JWT"',` "private_key_file": ${d}`];return p&&h.push(` "private_key_file_pwd": ${p}`),y(`
|
|
31
|
+
engine = ${this.orm}.create_engine(
|
|
32
|
+
URL(
|
|
33
|
+
${B(a,m=>` ${m}`)},
|
|
34
|
+
),
|
|
35
|
+
connect_args={
|
|
36
|
+
${h.join(`,
|
|
37
|
+
`)},
|
|
38
|
+
},
|
|
39
|
+
)
|
|
40
|
+
`)}case"OAuth / PAT":{let a=this.secrets.printPassword(t.token,"SNOWFLAKE_TOKEN",!1),d={...c,authenticator:'"oauth"',token:a};return y(`
|
|
41
|
+
engine = ${this.orm}.create_engine(
|
|
42
|
+
URL(
|
|
43
|
+
${B(d,p=>` ${p}`)},
|
|
44
|
+
)
|
|
45
|
+
)
|
|
46
|
+
`)}default:W(t)}}},Es=class extends A{get credential(){return se(this.connection.credentials_json,t=>this.secrets.print("credentials_json",t))}generateImports(){return this.credential.kind==="path"?[]:["import json"]}generateConnectionCode(){let t=this.secrets.printInFString("project",this.connection.project),e=this.secrets.printInFString("dataset",this.connection.dataset),s=this.credential;return s.kind==="path"?y(`
|
|
47
|
+
engine = ${this.orm}.create_engine(f"bigquery://${t}/${e}", credentials_path="${Z(s.path)}")
|
|
48
|
+
`):y(`
|
|
49
|
+
credentials = ${s.expr}
|
|
50
|
+
engine = ${this.orm}.create_engine(f"bigquery://${t}/${e}", credentials_info=credentials)
|
|
51
|
+
`)}},Os=class extends A{generateImports(){return[]}generateConnectionCode(){return y(`
|
|
52
|
+
DATABASE_URL = "${this.secrets.printInFString("database",this.connection.database||":memory:")}"
|
|
53
|
+
engine = ${this.orm}.connect(DATABASE_URL, read_only=${H(this.connection.read_only)})
|
|
54
|
+
`)}},Bs=class extends A{generateImports(){return[]}generateConnectionCode(){let t=this.secrets.printInFString("database",this.connection.database);return this.connection.token?y(`
|
|
55
|
+
conn = duckdb.connect("md:${t}", config={"motherduck_token": ${this.secrets.printPassword(this.connection.token,"MOTHERDUCK_TOKEN",!1)}})
|
|
56
|
+
`):y(`
|
|
57
|
+
conn = duckdb.connect("md:${t}")
|
|
58
|
+
`)}},Us=class extends A{generateImports(){return["import clickhouse_connect"]}generateConnectionCode(){let t=this.secrets.printPassword(this.connection.password,"CLICKHOUSE_PASSWORD",!1),e={host:this.secrets.print("host",this.connection.host),user:this.secrets.print("user",this.connection.username),secure:this.secrets.print("secure",this.connection.secure),port:this.connection.port?this.secrets.print("port",this.connection.port):void 0,password:this.connection.password?t:void 0,proxy_path:this.connection.proxy_path?this.secrets.print("proxy_path",this.connection.proxy_path):void 0};return y(`
|
|
59
|
+
engine = ${this.orm}.get_client(
|
|
60
|
+
${B(e,s=>` ${s}`)},
|
|
61
|
+
)
|
|
62
|
+
`)}},Ks=class extends A{generateImports(){return[]}generateConnectionCode(){let t=this.secrets.printPassword(this.connection.password,"TIMEPLUS_PASSWORD",!0);return y(`
|
|
63
|
+
DATABASE_URL = f"timeplus://${this.secrets.printInFString("username",this.connection.username)}:${t}@${this.secrets.printInFString("host",this.connection.host)}:${this.secrets.printInFString("port",this.connection.port)}"
|
|
64
|
+
engine = ${this.orm}.create_engine(DATABASE_URL)
|
|
65
|
+
`)}},Hs=class extends A{generateImports(){return["import chdb"]}generateConnectionCode(){let t=this.secrets.print("database",this.connection.database)||'""';return y(`
|
|
66
|
+
engine = ${this.orm}.connect(${t}, read_only=${H(this.connection.read_only)})
|
|
67
|
+
`)}},Ws=class extends A{generateImports(){return this.connection.async_support?["import aiotrino"]:["import trino.sqlalchemy"]}generateConnectionCode(){let t=this.connection.async_support?"aiotrino":"trino",e=this.connection.schema?`/${this.connection.schema}`:"",s=this.secrets.printInFString("username",this.connection.username),n=this.secrets.printInFString("host",this.connection.host),r=this.secrets.printInFString("port",this.connection.port),i=this.secrets.printInFString("database",this.connection.database),c=this.secrets.printPassword(this.connection.password,"TRINO_PASSWORD",!0);return y(`
|
|
68
|
+
engine = ${this.orm}.create_engine(f"${t}://${s}:${c}@${n}:${r}/${i}${e}")
|
|
69
|
+
`)}},Ms=class extends A{getCatalogOptions(){return Object.fromEntries(Object.entries(this.connection.catalog).filter(([t,e])=>e!=null&&e!==""&&t!=="type"))}generateImports(){if(Object.keys(this.getCatalogOptions()).length===0)return["from pyiceberg.catalog import load_catalog"];switch(this.connection.catalog.type){case"REST":return["from pyiceberg.catalog.rest import RestCatalog"];case"SQL":return["from pyiceberg.catalog.sql import SqlCatalog"];case"Hive":return["from pyiceberg.catalog.hive import HiveCatalog"];case"Glue":return["from pyiceberg.catalog.glue import GlueCatalog"];case"DynamoDB":return["from pyiceberg.catalog.dynamodb import DynamoDBCatalog"];default:W(this.connection.catalog)}}generateConnectionCode(){let t=`"${this.connection.name}"`,e=this.getCatalogOptions();if(Object.keys(e).length===0)return`catalog = load_catalog(${t})`;for(let[n,r]of Object.entries(e))F(r)?e[n]=this.secrets.print(n,r):typeof r=="string"&&(e[n]=`"${r}"`);let s=Xs(e,n=>` ${n}`);switch(this.connection.catalog.type){case"REST":return y(`
|
|
70
|
+
catalog = RestCatalog(
|
|
71
|
+
${t},
|
|
72
|
+
**{
|
|
73
|
+
${s}
|
|
74
|
+
},
|
|
75
|
+
)
|
|
76
|
+
`);case"SQL":return y(`
|
|
77
|
+
catalog = SqlCatalog(
|
|
78
|
+
${t},
|
|
79
|
+
**{
|
|
80
|
+
${s}
|
|
81
|
+
},
|
|
82
|
+
)
|
|
83
|
+
`);case"Hive":return y(`
|
|
84
|
+
catalog = HiveCatalog(
|
|
85
|
+
${t},
|
|
86
|
+
**{
|
|
87
|
+
${s}
|
|
88
|
+
},
|
|
89
|
+
)
|
|
90
|
+
`);case"Glue":return y(`
|
|
91
|
+
catalog = GlueCatalog(
|
|
92
|
+
${t},
|
|
93
|
+
**{
|
|
94
|
+
${s}
|
|
95
|
+
},
|
|
96
|
+
)
|
|
97
|
+
`);case"DynamoDB":return y(`
|
|
98
|
+
catalog = DynamoDBCatalog(
|
|
99
|
+
${t},
|
|
100
|
+
**{
|
|
101
|
+
${s}
|
|
102
|
+
},
|
|
103
|
+
)
|
|
104
|
+
`);default:W(this.connection.catalog)}}},Gs=class extends A{generateImports(){return["from datafusion import SessionContext"]}generateConnectionCode(){return this.connection.sessionContext?y(`
|
|
105
|
+
ctx = SessionContext()
|
|
106
|
+
# Sample table
|
|
107
|
+
_ = ctx.from_pydict({"a": [1, 2, 3]}, "my_table")
|
|
108
|
+
|
|
109
|
+
con = ibis.datafusion.connect(ctx)
|
|
110
|
+
`):y(`
|
|
111
|
+
con = ibis.datafusion.connect()
|
|
112
|
+
`)}},Vs=class extends A{generateImports(){return["from pyspark.sql import SparkSession"]}generateConnectionCode(){return this.connection.host||this.connection.port?y(`
|
|
113
|
+
session = SparkSession.builder.remote(f"sc://${this.secrets.printInFString("host",this.connection.host)}:${this.secrets.printInFString("port",this.connection.port)}").getOrCreate()
|
|
114
|
+
con = ibis.pyspark.connect(session)
|
|
115
|
+
`):y(`
|
|
116
|
+
con = ibis.pyspark.connect()
|
|
117
|
+
`)}},zs=class extends A{generateImports(){return["import redshift_connector"]}generateConnectionCode(){let t=this.secrets.print("host",this.connection.host),e=this.secrets.print("port",this.connection.port),s=this.secrets.print("database",this.connection.database);if(this.connection.connectionType.type==="IAM credentials"){let i=this.secrets.print("aws_access_key_id",this.connection.connectionType.aws_access_key_id),c=this.secrets.print("aws_secret_access_key",this.connection.connectionType.aws_secret_access_key),a=this.connection.connectionType.aws_session_token?this.secrets.print("aws_session_token",this.connection.connectionType.aws_session_token):void 0;return y(`
|
|
118
|
+
con = redshift_connector.connect(
|
|
119
|
+
${B({iam:!0,host:t,port:e,region:`"${this.connection.connectionType.region}"`,database:s,access_key_id:i,secret_access_key:c,...a&&{session_token:a}},d=>` ${d}`)},
|
|
120
|
+
)
|
|
121
|
+
`)}let n=this.connection.connectionType.user?this.secrets.print("user",this.connection.connectionType.user):void 0,r=this.connection.connectionType.password?this.secrets.printPassword(this.connection.connectionType.password,"REDSHIFT_PASSWORD",!1):void 0;return y(`
|
|
122
|
+
con = redshift_connector.connect(
|
|
123
|
+
${B({host:t,port:e,database:s,...n&&{user:n},...r&&{password:r}},i=>` ${i}`)},
|
|
124
|
+
)
|
|
125
|
+
`)}},Qs=class extends A{generateImports(){return[]}generateConnectionCode(){let t=this.orm!=="ibis",e=this.secrets.printPassword(this.connection.access_token,"DATABRICKS_ACCESS_TOKEN",t,"access_token"),s=this.secrets.printPassword(this.connection.server_hostname,"DATABRICKS_SERVER_HOSTNAME",t,"server_hostname"),n=this.secrets.printPassword(this.connection.http_path,"DATABRICKS_HTTP_PATH",t,"http_path"),r=this.connection.catalog?this.secrets.printInFString("catalog",this.connection.catalog):void 0,i=this.connection.schema?this.secrets.printInFString("schema",this.connection.schema):void 0,c=`databricks://token:${e}@${s}?http_path=${n}`;return r&&(c+=`&catalog=${r}`),i&&(c+=`&schema=${i}`),this.orm==="ibis"?y(`
|
|
126
|
+
engine = ibis.databricks.connect(
|
|
127
|
+
server_hostname=${s},
|
|
128
|
+
http_path=${n},${r?`
|
|
129
|
+
catalog=${r},`:""}${i?`
|
|
130
|
+
schema=${i},`:""}
|
|
131
|
+
access_token=${e}
|
|
132
|
+
)
|
|
133
|
+
`):y(`
|
|
134
|
+
DATABASE_URL = f"${c}"
|
|
135
|
+
engine = ${this.orm}.create_engine(DATABASE_URL)
|
|
136
|
+
`)}},Js=class extends A{generateImports(){return this.connection.disable_client_pooling?["from sqlalchemy.pool import NullPool"]:[]}generateConnectionCode(){let t=this.secrets.printPassword(this.connection.password,"SUPABASE_PASSWORD",!0),e=this.secrets.printInFString("username",this.connection.username),s=this.secrets.printInFString("host",this.connection.host),n=this.secrets.printInFString("port",this.connection.port),r=this.secrets.printInFString("database",this.connection.database),i=this.connection.disable_client_pooling?", poolclass=NullPool":"";return y(`
|
|
137
|
+
DATABASE_URL = f"postgresql+psycopg2://${e}:${t}@${s}:${n}/${r}?sslmode=require"
|
|
138
|
+
engine = ${this.orm}.create_engine(DATABASE_URL${i})
|
|
139
|
+
`)}},Ys=class{constructor(){G(this,"secrets",new Ds)}createGenerator(t,e){switch(t.type){case"postgres":return new Is(t,e,this.secrets);case"mysql":return new Ps(t,e,this.secrets);case"sqlite":return new qs(t,e,this.secrets);case"snowflake":return new Fs(t,e,this.secrets);case"bigquery":return new Es(t,e,this.secrets);case"duckdb":return new Os(t,e,this.secrets);case"motherduck":return new Bs(t,e,this.secrets);case"clickhouse_connect":return new Us(t,e,this.secrets);case"timeplus":return new Ks(t,e,this.secrets);case"chdb":return new Hs(t,e,this.secrets);case"trino":return new Ws(t,e,this.secrets);case"iceberg":return new Ms(t,e,this.secrets);case"datafusion":return new Gs(t,e,this.secrets);case"pyspark":return new Vs(t,e,this.secrets);case"redshift":return new zs(t,e,this.secrets);case"databricks":return new Qs(t,e,this.secrets);case"supabase":return new Js(t,e,this.secrets);default:W(t)}}};function Zs(t,e){if(!(e in Ye))throw Error(`Unsupported library: ${e}`);Ts.parse(t);let s=new Ys,n=s.createGenerator(t,e),r=n.generateConnectionCode(),i=s.secrets,c=[...new Set([...i.imports,...n.imports])].toSorted();c.push("");let a=i.formatSecrets();return a&&c.push(a),c.push(r.trim()),c.join(`
|
|
140
|
+
`)}function H(t){return t.toString().charAt(0).toUpperCase()+t.toString().slice(1)}function B(t,e){return Object.entries(t).filter(([,s])=>s!=null&&s!=="").map(([s,n])=>e(typeof n=="boolean"?`${s}=${H(n)}`:`${s}=${n}`)).join(`,
|
|
141
|
+
`)}function Xs(t,e){return Object.entries(t).filter(([,s])=>s!=null&&s!=="").map(([s,n])=>{let r=`"${s}"`;return e(typeof n=="boolean"?`${r}: ${H(n)}`:`${r}: ${n}`)}).join(`,
|
|
142
|
+
`)}var Ze=U(),Xe=[{name:"PostgreSQL",schema:Ie,color:"#336791",logo:"postgres",connectionLibraries:{libraries:["sqlalchemy","sqlmodel"],preferred:"sqlalchemy"}},{name:"MySQL",schema:Pe,color:"#00758F",logo:"mysql",connectionLibraries:{libraries:["sqlalchemy","sqlmodel"],preferred:"sqlalchemy"}},{name:"SQLite",schema:qe,color:"#003B57",logo:"sqlite",connectionLibraries:{libraries:["sqlalchemy","sqlmodel"],preferred:"sqlalchemy"}},{name:"DuckDB",schema:Fe,color:"#FFD700",logo:"duckdb",connectionLibraries:{libraries:["duckdb"],preferred:"duckdb"}},{name:"MotherDuck",schema:Ee,color:"#ff9538",logo:"motherduck",connectionLibraries:{libraries:["duckdb"],preferred:"duckdb"}},{name:"Snowflake",schema:Oe,color:"#29B5E8",logo:"snowflake",connectionLibraries:{libraries:["sqlalchemy","sqlmodel"],preferred:"sqlalchemy"}},{name:"ClickHouse",schema:Ue,color:"#2C2C1D",logo:"clickhouse",connectionLibraries:{libraries:["clickhouse_connect"],preferred:"clickhouse_connect"}},{name:"Timeplus",schema:Ke,color:"#B83280",logo:"timeplus",connectionLibraries:{libraries:["sqlalchemy","sqlmodel"],preferred:"sqlalchemy"}},{name:"BigQuery",schema:Be,color:"#4285F4",logo:"bigquery",connectionLibraries:{libraries:["sqlalchemy","sqlmodel"],preferred:"sqlalchemy"}},{name:"ClickHouse Embedded",schema:He,color:"#f2b611",logo:"clickhouse",connectionLibraries:{libraries:["chdb"],preferred:"chdb"}},{name:"Trino",schema:We,color:"#d466b6",logo:"trino",connectionLibraries:{libraries:["sqlalchemy","sqlmodel"],preferred:"sqlalchemy"}},{name:"DataFusion",schema:Ge,color:"#202A37",logo:"datafusion",connectionLibraries:{libraries:["ibis"],preferred:"ibis"}},{name:"PySpark",schema:Ve,color:"#1C5162",logo:"pyspark",connectionLibraries:{libraries:["ibis"],preferred:"ibis"}},{name:"Redshift",schema:ze,color:"#522BAE",logo:"redshift",connectionLibraries:{libraries:["redshift"],preferred:"redshift"}},{name:"Databricks",schema:Qe,color:"#c41e0c",logo:"databricks",connectionLibraries:{libraries:["sqlalchemy","sqlmodel","ibis"],preferred:"sqlalchemy"}},{name:"Supabase",schema:Je,color:"#238F5F",logo:"supabase",connectionLibraries:{libraries:["sqlalchemy","sqlmodel"],preferred:"sqlalchemy"}}],et=[{name:"Iceberg",schema:Me,color:"#000000",logo:"iceberg",connectionLibraries:{libraries:["pyiceberg"],preferred:"pyiceberg"}}],er=[...Xe,...et],tr=t=>{let e=(0,Ze.c)(12),{onSelect:s}=t,n;e[0]===s?n=e[1]:(n=Xe.map(p=>{let{name:h,schema:m,color:g,logo:f}=p;return(0,o.jsx)(oe,{name:h,color:g,icon:(0,o.jsx)(le,{name:f,className:"w-8 h-8 text-white brightness-0 invert dark:invert"}),onSelect:()=>s(m)},h)}),e[0]=s,e[1]=n);let r;e[2]===n?r=e[3]:(r=(0,o.jsx)(ne,{children:n}),e[2]=n,e[3]=r);let i;e[4]===Symbol.for("react.memo_cache_sentinel")?(i=(0,o.jsxs)("h4",{className:"font-semibold text-muted-foreground text-lg flex items-center gap-4 my-2",children:["Data Catalogs",(0,o.jsx)("hr",{className:"flex-1"})]}),e[4]=i):i=e[4];let c;e[5]===s?c=e[6]:(c=et.map(p=>{let{name:h,schema:m,color:g,logo:f}=p;return(0,o.jsx)(oe,{name:h,color:g,icon:(0,o.jsx)(le,{name:f,className:"w-8 h-8 text-white brightness-0 invert dark:invert"}),onSelect:()=>s(m)},h)}),e[5]=s,e[6]=c);let a;e[7]===c?a=e[8]:(a=(0,o.jsx)(ne,{children:c}),e[7]=c,e[8]=a);let d;return e[9]!==r||e[10]!==a?(d=(0,o.jsxs)(o.Fragment,{children:[r,i,a]}),e[9]=r,e[10]=a,e[11]=d):d=e[11],d};const sr=t=>{let e=(0,Ze.c)(13),{onSubmit:s,header:n}=t,[r,i]=(0,D.useState)(null);if(!r){let g;e[0]===Symbol.for("react.memo_cache_sentinel")?(g=(0,o.jsx)("div",{children:(0,o.jsx)(tr,{onSelect:i})}),e[0]=g):g=e[0];let f;return e[1]===n?f=e[2]:(f=(0,o.jsxs)(o.Fragment,{children:[n,g]}),e[1]=n,e[2]=f),f}let c;e[3]===r?c=e[4]:(c=er.find(g=>g.schema===r),e[3]=r,e[4]=c);let a=c==null?void 0:c.connectionLibraries,d;e[5]===(a==null?void 0:a.libraries)?d=e[6]:(d=(a==null?void 0:a.libraries)??[],e[5]=a==null?void 0:a.libraries,e[6]=d);let p=(a==null?void 0:a.preferred)??"sqlalchemy",h;e[7]===Symbol.for("react.memo_cache_sentinel")?(h=()=>i(null),e[7]=h):h=e[7];let m;return e[8]!==s||e[9]!==r||e[10]!==d||e[11]!==p?(m=(0,o.jsx)(Le,{schema:r,libraries:d,preferredLibrary:p,displayNames:Ye,libraryLabel:"Preferred connection library",generateCode:rr,onSubmit:s,onBack:h}),e[8]=s,e[9]=r,e[10]=d,e[11]=p,e[12]=m):m=e[12],m};function rr(t,e){return Zs(t,e)}var tt=U();function nr(){let t=(0,tt.c)(2),e=V(fs),s;return t[0]===e?s=t[1]:(s=[e],t[0]=e,t[1]=s),ke(gs,s)}function st(t){let e=(0,tt.c)(6),{data:s}=nr(),n=V(wt),r=V(ys),i;e:{if(!s){let a;e[0]===Symbol.for("react.memo_cache_sentinel")?(a=[],e[0]=a):a=e[0],i=a;break e}let c;if(e[1]!==n||e[2]!==s||e[3]!==t||e[4]!==r){let a={dialects:[...n.values()].map(ir),storageProtocols:r.map(ar),storageBackendTypes:r.map(or)};c=s.filter(d=>ms(d,t)&&!bs(d,a)),e[1]=n,e[2]=s,e[3]=t,e[4]=r,e[5]=c}else c=e[5];i=c}return i}function or(t){return t.backendType.toLowerCase()}function ar(t){return t.protocol.toLowerCase()}function ir(t){return t.dialect.toLowerCase()}var ie=U();const cr=t=>{let e=(0,ie.c)(13),{className:s,sources:n,onAdd:r}=t;if(n.length===0)return null;let i;e[0]===s?i=e[1]:(i=z("rounded-full bg-[linear-gradient(135deg,var(--blue-2),var(--purple-3))] px-3 py-2",s),e[0]=s,e[1]=i);let c;e[2]===Symbol.for("react.memo_cache_sentinel")?(c=(0,o.jsxs)("div",{className:"mr-1 flex items-center gap-1.5",children:[(0,o.jsx)(Mt,{className:"h-3.5 w-3.5 text-(--blue-9)"}),(0,o.jsx)("h3",{id:"quick-add-data-sources-title",className:"text-sm",children:"Quick add"})]}),e[2]=c):c=e[2];let a;if(e[3]!==r||e[4]!==n){let h;e[6]===r?h=e[7]:(h=m=>(0,o.jsx)(ue,{side:"bottom",content:(0,o.jsx)(lr,{source:m}),children:(0,o.jsxs)("button",{type:"button","aria-label":`Add ${m.displayName} connection`,className:"inline-flex items-center gap-1 rounded-full border border-border/60 bg-background px-2.5 py-1 text-xs font-medium text-foreground/90 transition-colors hover:border-(--blue-7) focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2",onClick:()=>r(m),children:[(0,o.jsx)(Wt,{className:"h-3 w-3 text-muted-foreground"}),m.displayName]})},m.id),e[6]=r,e[7]=h),a=n.map(h),e[3]=r,e[4]=n,e[5]=a}else a=e[5];let d;e[8]===a?d=e[9]:(d=(0,o.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[c,(0,o.jsx)(Ot,{delayDuration:200,children:a})]}),e[8]=a,e[9]=d);let p;return e[10]!==i||e[11]!==d?(p=(0,o.jsx)("section",{"aria-labelledby":"quick-add-data-sources-title",className:i,children:d}),e[10]=i,e[11]=d,e[12]=p):p=e[12],p};var lr=t=>{let e=(0,ie.c)(17),{source:s}=t,n;e[0]===s.displayName?n=e[1]:(n=(0,o.jsx)("div",{className:"font-medium",children:s.displayName}),e[0]=s.displayName,e[1]=n);let r;e[2]===s.origins?r=e[3]:(r=s.origins.map(pr).join(" and "),e[2]=s.origins,e[3]=r);let i;e[4]===r?i=e[5]:(i=(0,o.jsxs)("div",{className:"text-xs text-muted-foreground",children:["Detected from"," ",r]}),e[4]=r,e[5]=i);let c;e[6]!==n||e[7]!==i?(c=(0,o.jsxs)("div",{children:[n,i]}),e[6]=n,e[7]=i,e[8]=c):c=e[8];let a;e[9]===s.configuration?a=e[10]:(a=s.configuration.map(hr),e[9]=s.configuration,e[10]=a);let d;e[11]===a?d=e[12]:(d=(0,o.jsx)("dl",{className:"grid grid-cols-[auto_1fr] gap-x-3 gap-y-1 text-xs",children:a}),e[11]=a,e[12]=d);let p;e[13]===Symbol.for("react.memo_cache_sentinel")?(p=(0,o.jsx)("div",{className:"text-xs text-muted-foreground",children:"Click to add a configured cell."}),e[13]=p):p=e[13];let h;return e[14]!==c||e[15]!==d?(h=(0,o.jsxs)("div",{className:"min-w-64 space-y-2 py-1",children:[c,d,p]}),e[14]=c,e[15]=d,e[16]=h):h=e[16],h};const dr=t=>{let e=(0,ie.c)(7),{onSubmit:s,className:n,group:r}=t,i=Te(),c=st(r),a;e[0]!==i||e[1]!==s?(a=p=>{i(p.code),s==null||s()},e[0]=i,e[1]=s,e[2]=a):a=e[2];let d;return e[3]!==n||e[4]!==c||e[5]!==a?(d=(0,o.jsx)(cr,{className:n,sources:c,onAdd:a}),e[3]=n,e[4]=c,e[5]=a,e[6]=d):d=e[6],d};function pr(t){return t.label}function hr(t){return(0,o.jsxs)("div",{className:"contents",children:[(0,o.jsx)("dt",{className:"text-muted-foreground",children:t.field}),(0,o.jsx)("dd",{children:(0,o.jsx)("code",{children:t.value.kind==="environment-variable"?`os.environ["${t.value.name}"]`:t.value.value})})]},t.value.kind==="environment-variable"?t.value.name:`${t.field}:${t.value.value}`)}var rt=()=>K("type",[_({type:x("Access keys"),access_key_id:u().optional().describe(l.of({label:"Access Key ID",description:"Leave empty to use the default credential chain",inputType:"password",optionRegex:"(access.?key.?id|object.?storage.?key|aws.?access.?key)"})),secret_access_key:u().optional().describe(l.of({label:"Secret Access Key",inputType:"password",optionRegex:"(secret.?access.?key|object.?storage.?secret|aws.?secret)"}))}),_({type:x("Container credentials"),container_credentials_full_uri:u().nonempty().describe(l.of({label:"Credentials URI",description:"Endpoint that vends credentials to the container",placeholder:"http://169.254.170.23/v1/credentials",optionRegex:"container.?credentials"})),container_authorization_token_file:u().nonempty().describe(l.of({label:"Authorization Token File",description:"File holding the token sent to the credentials URI",placeholder:"/var/run/secrets/token",optionRegex:"(container.?authorization.?token.?file|container.?auth.?token)"}))})]).default({type:"Access keys"}).describe(l.of({label:"Credentials",special:"tabs"}));const nt=_({type:x("s3"),bucket:u().nonempty().describe(l.of({label:"Bucket",placeholder:"my-bucket",optionRegex:"(bucket|s3.?bucket)"})),region:u().optional().describe(l.of({label:"Region",placeholder:"us-east-1",optionRegex:"(region|aws.?region)"})),endpoint_url:u().optional().describe(l.of({label:"Endpoint URL",description:"Ignored if the AWS_ENDPOINT_URL_S3 environment variable is set",placeholder:"https://s3.amazonaws.com",optionRegex:"(endpoint|s3.?url|s3.?endpoint)"})),allow_http:L().default(!1).describe(l.of({label:"Allow HTTP",description:"Required for plain-http (non-TLS) endpoints"})),auth:rt()}).describe(l.of({direction:"two-columns"})),ot=_({type:x("gcs"),bucket:u().nonempty().describe(l.of({label:"Bucket",placeholder:"my-bucket",optionRegex:"(bucket|gcs.?bucket|google.?bucket)"})),service_account_key:u().optional().describe(l.of({label:"Service Account Key (JSON)",special:"secret_textarea"}))}).describe(l.of({direction:"two-columns"})),at=_({type:x("azure"),container:u().nonempty().describe(l.of({label:"Container",placeholder:"my-container"})),account_name:u().nonempty().describe(l.of({label:"Account Name",placeholder:"storageaccount",optionRegex:"(azure.?account|account.?name|storage.?account)"})),account_key:u().optional().describe(l.of({label:"Account Key",inputType:"password",optionRegex:"(azure.?key|account.?key|storage.?key)"}))}).describe(l.of({direction:"two-columns"})),it=_({type:x("coreweave"),bucket:u().nonempty().describe(l.of({label:"Bucket",placeholder:"bucket-name"})),region:u().nonempty().describe(l.of({label:"Region",placeholder:"US-EAST-04A"})),auth:rt()}).describe(l.of({direction:"two-columns"})),ct=_({type:x("gdrive"),credentials_json:u().optional().describe(l.of({label:"Service Account JSON",description:"Leave empty to use browser-based authentication",special:"secret_textarea"}))}).describe(l.of({direction:"two-columns"})),lt=_({type:x("huggingface"),token:u().optional().describe(l.of({label:"Access Token",description:"Leave empty to use the HF_TOKEN environment variable or cached login",inputType:"password",optionRegex:"(hf.?token|hugging.?face.?token|hub.?token)"}))}).describe(l.of({direction:"two-columns"}));function dt(t){return t!=null&&t!==""}const pt=_({type:x("github"),org:u().nonempty().describe(l.of({label:"Organization or user"})),repo:u().nonempty().describe(l.of({label:"Repository"})),sha:u().optional().describe(l.of({label:"Branch, tag, or commit",placeholder:"main",description:"Leave empty to use the default branch"})),username:u().optional().describe(l.of({label:"Username",description:"Set this together with access token",optionRegex:"(github.?username|github.?user)"})),token:u().optional().describe(l.of({label:"Access Token",description:"Set this together with username. Required for private repos and to avoid GitHub's rate limits.",inputType:"password",optionRegex:"(github.?token|gh.?token|github.?pat)"}))}).refine(t=>dt(t.username)===dt(t.token),{message:"Username and access token are required together",path:["token"]}).describe(l.of({direction:"two-columns"})),ur=K("type",[nt,ot,at,it,ct,lt,pt]),mr={obstore:"obstore",fsspec:"fsspec",huggingface_hub:"huggingface_hub"};var br=class{constructor(){G(this,"secrets",{})}get imports(){return Object.keys(this.secrets).length===0?new Set:new Set(["import os"])}print(t,e){if(e===void 0||e==="")return"";let s=`_${t}`;if(F(e)){let n=$e(e);return this.secrets[s]=`os.environ.get("${n}")`,s}return`"${Z(e)}"`}formatSecrets(){return Object.keys(this.secrets).length===0?"":Object.entries(this.secrets).map(([t,e])=>`${t} = ${e}`).join(`
|
|
143
|
+
`)}};function ht(t,e){if((t==null?void 0:t.type)==="Container credentials")return[` container_credentials_full_uri=${e.print("container_credentials_full_uri",t.container_credentials_full_uri)},`,` container_authorization_token_file=${e.print("container_authorization_token_file",t.container_authorization_token_file)},`];let s=[];return t!=null&&t.access_key_id&&s.push(` access_key_id=${e.print("access_key_id",t.access_key_id)},`),t!=null&&t.secret_access_key&&s.push(` secret_access_key=${e.print("secret_access_key",t.secret_access_key)},`),s}function gr(t,e){let s=e.print("bucket",t.bucket),n=new Set(["from obstore.store import S3Store"]),r=[];return t.region&&r.push(` region=${e.print("region",t.region)},`),r.push(...ht(t.auth,e)),t.endpoint_url&&r.push(` endpoint_url=${e.print("endpoint_url",t.endpoint_url)},`),t.allow_http&&r.push(" allow_http=True,"),{imports:n,code:y(`
|
|
144
|
+
store = S3Store(${s},${r.length>0?`
|
|
145
|
+
${r.join(`
|
|
146
|
+
`)}
|
|
147
|
+
`:""})
|
|
148
|
+
`)}}function fr(t,e){let s=e.print("bucket",t.bucket),n=new Set(["from obstore.store import GCSStore"]);if(!t.service_account_key)return{imports:n,code:y(`
|
|
149
|
+
store = GCSStore(${s})
|
|
150
|
+
`)};let r=se(t.service_account_key,i=>e.print("service_account_key",i));return r.kind==="path"?{imports:n,code:y(`
|
|
151
|
+
store = GCSStore(${s},
|
|
152
|
+
service_account_path="${Z(r.path)}",
|
|
153
|
+
)
|
|
154
|
+
`)}:(n.add("import json"),{imports:n,code:y(`
|
|
155
|
+
_credentials = ${r.expr}
|
|
156
|
+
store = GCSStore(${s},
|
|
157
|
+
service_account_key=_credentials,
|
|
158
|
+
)
|
|
159
|
+
`)})}function yr(t,e){let s=e.print("container",t.container),n=e.print("account_name",t.account_name),r=new Set(["from obstore.store import AzureStore"]),i=[`account_name=${n},`];return t.account_key&&i.push(`account_key=${e.print("account_key",t.account_key)},`),{imports:r,code:`store = AzureStore(${s},
|
|
160
|
+
${i.map(c=>` ${c}`).join(`
|
|
161
|
+
`)}
|
|
162
|
+
)`}}function _r(t,e){let s=e.print("bucket",t.bucket),n=new Set(["from obstore.store import S3Store"]),r=[` region=${e.print("region",t.region)},`];return r.push(...ht(t.auth,e)),r.push(` endpoint="https://${t.bucket}.cwobject.com",`," virtual_hosted_style_request=True,"),{imports:n,code:y(`
|
|
163
|
+
store = S3Store(${s},${`
|
|
164
|
+
${r.join(`
|
|
165
|
+
`)}
|
|
166
|
+
`})
|
|
167
|
+
`)}}function xr(t,e){let{secrets:s,isEmbedded:n=!1}=e,r=new Set(["from gdrive_fsspec import GoogleDriveFileSystem"]);if(t.credentials_json){let i=se(t.credentials_json,c=>s.print("credentials_json",c));return i.kind==="path"?{imports:r,code:y(`
|
|
168
|
+
fs = GoogleDriveFileSystem(creds="${Z(i.path)}", token="service_account", use_listings_cache=False, skip_instance_cache=True)
|
|
169
|
+
`)}:(r.add("import json"),{imports:r,code:y(`
|
|
170
|
+
_creds = ${i.expr}
|
|
171
|
+
fs = GoogleDriveFileSystem(creds=_creds, token="service_account", use_listings_cache=False, skip_instance_cache=True)
|
|
172
|
+
`)})}return{imports:r,code:y(n?`
|
|
173
|
+
fs = GoogleDriveFileSystem(use_listings_cache=False, skip_instance_cache=True, auth_kwargs={"use_local_webserver": False})
|
|
174
|
+
mo.output.clear_console()
|
|
175
|
+
`:`
|
|
176
|
+
fs = GoogleDriveFileSystem(use_listings_cache=False, skip_instance_cache=True)
|
|
177
|
+
`)}}function Sr(t,e){let s=new Set(["from huggingface_hub import HfApi"]);return t.token?{imports:s,code:`hf = HfApi(token=${e.print("token",t.token)})`}:{imports:s,code:"hf = HfApi()"}}function kr(t,e){let s=new Set(["from fsspec.implementations.github import GithubFileSystem"]),n=[`org=${e.print("org",t.org)},`,`repo=${e.print("repo",t.repo)},`];return t.sha&&n.push(`sha=${e.print("sha",t.sha)},`),t.username&&t.token&&n.push(`username=${e.print("username",t.username)},`,`token=${e.print("token",t.token)},`),{imports:s,code:`fs = GithubFileSystem(
|
|
178
|
+
${n.map(r=>` ${r}`).join(`
|
|
179
|
+
`)}
|
|
180
|
+
)`}}function wr(t,e){ur.parse(t);let s=new br,n;switch(t.type){case"s3":n=gr(t,s);break;case"gcs":n=fr(t,s);break;case"azure":n=yr(t,s);break;case"coreweave":n=_r(t,s);break;case"gdrive":n=xr(t,{secrets:s,isEmbedded:e.isEmbedded});break;case"huggingface":n=Sr(t,s);break;case"github":n=kr(t,s);break;default:W(t)}let r=[...new Set([...s.imports,...n.imports])].toSorted();r.push("");let i=s.formatSecrets();return i&&r.push(i),r.push(n.code.trim()),r.join(`
|
|
181
|
+
`)}var ut=U(),vr="#232F3E",mt=[{name:"Amazon S3",schema:nt,protocol:"s3",storageLibraries:{libraries:["obstore"],preferred:"obstore"}},{name:"Google Cloud Storage",schema:ot,protocol:"gcs",storageLibraries:{libraries:["obstore"],preferred:"obstore"}},{name:"Azure Blob Storage",schema:at,protocol:"azure",storageLibraries:{libraries:["obstore"],preferred:"obstore"}},{name:"CoreWeave",schema:it,protocol:"coreweave",storageLibraries:{libraries:["obstore"],preferred:"obstore"}},{name:"Google Drive",schema:ct,protocol:"gdrive",storageLibraries:{libraries:["fsspec"],preferred:"fsspec"}},{name:"Hugging Face Hub",schema:lt,protocol:"hf",storageLibraries:{libraries:["huggingface_hub"],preferred:"huggingface_hub"}},{name:"GitHub",schema:pt,protocol:"github",storageLibraries:{libraries:["fsspec"],preferred:"fsspec"}}],$r=t=>{let e=(0,ut.c)(4),{onSelect:s}=t,n;e[0]===s?n=e[1]:(n=mt.map(i=>{let{name:c,schema:a,protocol:d}=i;return(0,o.jsx)(oe,{name:c,color:vr,icon:(0,o.jsx)(Ht,{protocol:d,forceDark:!0,className:"w-7.5 h-7.5 text-white"}),onSelect:()=>s(a)},c)}),e[0]=s,e[1]=n);let r;return e[2]===n?r=e[3]:(r=(0,o.jsx)(ne,{children:n}),e[2]=n,e[3]=r),r};const jr=t=>{let e=(0,ut.c)(16),{onSubmit:s,header:n}=t,{isEmbedded:r}=ts(),[i,c]=(0,D.useState)(null);if(!i){let b;e[0]===Symbol.for("react.memo_cache_sentinel")?(b=(0,o.jsx)("div",{children:(0,o.jsx)($r,{onSelect:c})}),e[0]=b):b=e[0];let S;return e[1]===n?S=e[2]:(S=(0,o.jsxs)(o.Fragment,{children:[n,b]}),e[1]=n,e[2]=S),S}let a;e[3]===i?a=e[4]:(a=mt.find(b=>b.schema===i),e[3]=i,e[4]=a);let d=a==null?void 0:a.storageLibraries,p;e[5]===(d==null?void 0:d.libraries)?p=e[6]:(p=(d==null?void 0:d.libraries)??[],e[5]=d==null?void 0:d.libraries,e[6]=p);let h=(d==null?void 0:d.preferred)??"obstore",m;e[7]===r?m=e[8]:(m=(b,S)=>wr(b,{library:S,isEmbedded:r}),e[7]=r,e[8]=m);let g;e[9]===Symbol.for("react.memo_cache_sentinel")?(g=()=>c(null),e[9]=g):g=e[9];let f;return e[10]!==s||e[11]!==i||e[12]!==p||e[13]!==h||e[14]!==m?(f=(0,o.jsx)(Le,{schema:i,libraries:p,preferredLibrary:h,displayNames:mr,libraryLabel:"Preferred storage library",generateCode:m,onSubmit:s,onBack:g}),e[10]=s,e[11]=i,e[12]=p,e[13]=h,e[14]=m,e[15]=f):f=e[15],f};var bt=U();const Cr=t=>{let e=(0,bt.c)(9),{children:s,defaultTab:n}=t,r=n===void 0?"databases":n,[i,c]=(0,D.useState)(!1),a;e[0]===s?a=e[1]:(a=(0,o.jsx)(Yt,{asChild:!0,children:s}),e[0]=s,e[1]=a);let d;e[2]===Symbol.for("react.memo_cache_sentinel")?(d=()=>c(!1),e[2]=d):d=e[2];let p;e[3]===r?p=e[4]:(p=(0,o.jsx)(gt,{defaultTab:r,onClose:d}),e[3]=r,e[4]=p);let h;return e[5]!==i||e[6]!==a||e[7]!==p?(h=(0,o.jsxs)(es,{open:i,onOpenChange:c,children:[a,p]}),e[5]=i,e[6]=a,e[7]=p,e[8]=h):h=e[8],h},gt=t=>{let e=(0,bt.c)(24),{defaultTab:s,onClose:n}=t,[r,i]=(0,D.useState)(s===void 0?"databases":s),c;e[0]===Symbol.for("react.memo_cache_sentinel")?(c=(0,o.jsxs)(Tt,{className:"w-full mb-4",children:[(0,o.jsx)(pe,{value:"databases",className:"flex-1",children:"Databases & Catalogs"}),(0,o.jsx)(pe,{value:"storage",className:"flex-1",children:"Remote Storages"})]}),e[0]=c):c=e[0];let a=c,d;e[1]===r?d=e[2]:(d=r==="databases"?(0,o.jsxs)(o.Fragment,{children:["Don't see your database or connection method? A"," ",(0,o.jsx)(Q,{href:"https://docs.marimo.io/guides/working_with_data/sql/#connecting-to-a-custom-database",children:"code snippet"})," ","is all you need."]}):(0,o.jsxs)(o.Fragment,{children:["Don't see your storage or connection method? A"," ",(0,o.jsx)(Q,{href:"https://docs.marimo.io/guides/working_with_data/remote_storage/#creating-a-storage-connection",children:"code snippet"})," ","is all you need."]}),e[1]=r,e[2]=d);let p=d,h;e[3]===Symbol.for("react.memo_cache_sentinel")?(h=(0,o.jsx)(Jt,{children:"Add Connection"}),e[3]=h):h=e[3];let m;e[4]===Symbol.for("react.memo_cache_sentinel")?(m=(0,o.jsx)(Q,{href:"https://docs.marimo.io/guides/working_with_data/sql/#connecting-to-a-custom-database",children:"database, data catalog"}),e[4]=m):m=e[4];let g;e[5]===Symbol.for("react.memo_cache_sentinel")?(g=(0,o.jsx)(Q,{href:"https://docs.marimo.io/guides/working_with_data/remote_storage/",children:"remote storage"}),e[5]=g):g=e[5];let f;e[6]===p?f=e[7]:(f=(0,o.jsxs)(Qt,{children:[h,(0,o.jsxs)(Xt,{children:["Connect to a"," ",m," ","or"," ",g," ","directly from your notebook.",(0,o.jsx)("span",{className:"block",children:p})]})]}),e[6]=p,e[7]=f);let b=r==="storage"?"storage":"database",S;e[8]!==n||e[9]!==b?(S=(0,o.jsx)(dr,{onSubmit:n,className:"-mt-2",group:b}),e[8]=n,e[9]=b,e[10]=S):S=e[10];let w;e[11]===Symbol.for("react.memo_cache_sentinel")?(w=N=>i(N),e[11]=w):w=e[11];let k;e[12]===n?k=e[13]:(k=(0,o.jsx)(he,{value:"databases",className:"mt-0 focus-visible:ring-0 focus-visible:ring-offset-0",children:(0,o.jsx)(sr,{onSubmit:n,header:a})}),e[12]=n,e[13]=k);let $;e[14]===n?$=e[15]:($=(0,o.jsx)(he,{value:"storage",className:"mt-0 focus-visible:ring-0 focus-visible:ring-offset-0",children:(0,o.jsx)(jr,{onSubmit:n,header:a})}),e[14]=n,e[15]=$);let C;e[16]!==r||e[17]!==k||e[18]!==$?(C=(0,o.jsxs)(At,{value:r,onValueChange:w,children:[k,$]}),e[16]=r,e[17]=k,e[18]=$,e[19]=C):C=e[19];let j;return e[20]!==C||e[21]!==f||e[22]!==S?(j=(0,o.jsxs)(Zt,{className:"max-h-[75vh] overflow-y-auto",children:[f,S,C]}),e[20]=C,e[21]=f,e[22]=S,e[23]=j):j=e[23],j};export{gt as n,st as r,Cr as t};
|