@marimo-team/frontend 0.20.1 → 0.20.3-dev76
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-DWf8HNpq.js +1 -0
- package/dist/assets/Combination-BM4eSgxb.js +41 -0
- package/dist/assets/ConnectedDataExplorerComponent-1-K4ayMi.js +1 -0
- package/dist/assets/DeferredRequestRegistry-CFO2z1af.js +1 -0
- package/dist/assets/ErrorBoundary-dVj6GVNE.js +1 -0
- package/dist/assets/ImageComparisonComponent-Cclg_ESp.js +1 -0
- package/dist/assets/ImperativeModal-Upm6NvJ2.js +1 -0
- package/dist/assets/Inputs-gtU1AJKM.js +1 -0
- package/dist/assets/JsonOutput-BY6AF2rC.js +46 -0
- package/dist/assets/LazyAnyLanguageCodeMirror-BJLRV5Wa.js +2 -0
- package/dist/assets/MarimoErrorOutput-Bc9QVsMT.js +7 -0
- package/dist/assets/Plot-Br2dF8op.js +3789 -0
- package/dist/assets/RenderHTML-pHm9Hij5.js +1 -0
- package/dist/assets/_baseEach-DKvBKtvu.js +1 -0
- package/dist/assets/_baseFlatten-C_qcB35v.js +1 -0
- package/dist/assets/_baseIsEqual-BU8KB_Ip.js +1 -0
- package/dist/assets/_baseMap-ypWFjvN8.js +1 -0
- package/dist/assets/_basePickBy-36rMhJTw.js +1 -0
- package/dist/assets/_baseSet-BEHvSeoM.js +1 -0
- package/dist/assets/_baseSlice-39dTX4Wi.js +1 -0
- package/dist/assets/_baseUniq-qwHSJi3M.js +1 -0
- package/dist/assets/_createAggregator-BjsxkJZj.js +1 -0
- package/dist/assets/add-cell-with-ai-BEj4NWn-.js +90 -0
- package/dist/assets/add-database-form-CmSfNkTd.js +111 -0
- package/dist/assets/agent-panel-BOVMxx37.js +287 -0
- package/dist/assets/ai-model-dropdown-C9Rf0otx.js +5 -0
- package/dist/assets/alert-DdNm63Am.js +1 -0
- package/dist/assets/alert-dialog-DNI_v2jv.js +11 -0
- package/dist/assets/any-language-editor-DulvMw8Z.js +1 -0
- package/dist/assets/apl-3xKEEmjQ.js +1 -0
- package/dist/assets/app-config-button-CCvZplfS.js +1 -0
- package/dist/assets/arc-DUSwcTI9.js +1 -0
- package/dist/assets/architecture-7HQA4BMR-utm7V-06.js +1 -0
- package/dist/assets/architectureDiagram-VXUJARFQ-B6XSgwWv.js +36 -0
- package/dist/assets/asciiarmor-BCugLX69.js +1 -0
- package/dist/assets/asn1-B8ndG_Ze.js +1 -0
- package/dist/assets/assertNever-Dw9aFN4h.js +1 -0
- package/dist/assets/azure-B1scLE4v.js +1 -0
- package/dist/assets/badge-BxfUmJ6M.js +1 -0
- package/dist/assets/blockDiagram-VD42YOAC-Dw1VruWT.js +122 -0
- package/dist/assets/bot-message-square-BzawfL5p.js +1 -0
- package/dist/assets/brainfuck-h1OIoSEo.js +1 -0
- package/dist/assets/button-BmOH9agK.js +1 -0
- package/dist/assets/c4Diagram-YG6GDRKO-BX4PpWTu.js +10 -0
- package/dist/assets/cache-panel-BSRvQ8Xi.js +1 -0
- package/dist/assets/capabilities-CeYo4YI0.js +1 -0
- package/dist/assets/capitalize-irHJCpFh.js +1 -0
- package/dist/assets/card-DBF3HJUb.js +1 -0
- package/dist/assets/cell-editor-DiiGbTNs.js +23 -0
- package/dist/assets/cell-link-CAT3x2v4.js +1 -0
- package/dist/assets/cells-FF1g1Mh-.js +229 -0
- package/dist/assets/channel-BdIOfM17.js +1 -0
- package/dist/assets/chart-no-axes-column-F2DZENgf.js +1 -0
- package/dist/assets/chat-display-Cb1PiLxN.js +1 -0
- package/dist/assets/chat-panel-B4k2pTfq.js +3 -0
- package/dist/assets/check-BnZGcuDh.js +1 -0
- package/dist/assets/chevron-right-_z3dkNFy.js +1 -0
- package/dist/assets/chunk-4BX2VUAB-DhvNmHH5.js +1 -0
- package/dist/assets/chunk-4F5CHEZ2-svLgn8gR.js +1 -0
- package/dist/assets/chunk-55IACEB6-DPm6ES7n.js +1 -0
- package/dist/assets/chunk-5FQGJX7Z-DuVTi23h.js +113 -0
- package/dist/assets/chunk-ABZYJK2D-BoImiTgT.js +80 -0
- package/dist/assets/chunk-ATLVNIR6-DWN8nwDE.js +1 -0
- package/dist/assets/chunk-B2363JML-BJ47tdQW.js +1 -0
- package/dist/assets/chunk-B4BG7PRW-nWKViSIe.js +165 -0
- package/dist/assets/chunk-CVBHYZKI-BX0N_ipT.js +1 -0
- package/dist/assets/chunk-DI55MBZ5-DsYl9sIZ.js +220 -0
- package/dist/assets/chunk-DR5Q36YT-DOSR70sR.js +1 -0
- package/dist/assets/chunk-EXTU4WIE-BbRAciH8.js +1 -0
- package/dist/assets/chunk-FMBD7UC4-BDlH9XLH.js +15 -0
- package/dist/assets/chunk-FRFDVMJY-So4RW9Kg.js +1 -0
- package/dist/assets/chunk-HN2XXSSU-ujlBpRMF.js +1 -0
- package/dist/assets/chunk-JA3XYJ7Z-BnMJV1nD.js +70 -0
- package/dist/assets/chunk-JZLCHNYA-D2MgKieY.js +54 -0
- package/dist/assets/chunk-MI3HLSF2-D9JXkg6-.js +32 -0
- package/dist/assets/chunk-N4CR4FBY-pKNVmA0u.js +2 -0
- package/dist/assets/chunk-PL6DKKU2-b96i0Xhv.js +1 -0
- package/dist/assets/chunk-QN33PNHL-C01Meqsa.js +1 -0
- package/dist/assets/chunk-QXUST7PY-D5xq5giT.js +7 -0
- package/dist/assets/chunk-QZHKN3VN-zZhG5AHT.js +1 -0
- package/dist/assets/chunk-S3R3BYOJ-BHcv1C2j.js +2 -0
- package/dist/assets/chunk-SJTYNZTY-CYg6SbV7.js +1 -0
- package/dist/assets/chunk-TCCFYFTB-Pdx7j6Wx.js +125 -0
- package/dist/assets/chunk-TQ3KTPDO-CAAKzMy7.js +1 -0
- package/dist/assets/chunk-TZMSLE5B-D_lhSMp7.js +1 -0
- package/dist/assets/chunk-UMXZTB3W-w6XObCtJ.js +1 -0
- package/dist/assets/circle-check-CceJVe3L.js +1 -0
- package/dist/assets/circle-play-n0LbT9bZ.js +1 -0
- package/dist/assets/circle-plus-DfyUnSPr.js +1 -0
- package/dist/assets/classDiagram-2ON5EDUG-C8lxPHjc.js +1 -0
- package/dist/assets/classDiagram-v2-WZHVMYZB-C5kOgcAE.js +1 -0
- package/dist/assets/clear-button-jiwoSELH.js +1 -0
- package/dist/assets/clike-DPuzjNcL.js +1 -0
- package/dist/assets/clipboard-paste-DVaOjTFK.js +1 -0
- package/dist/assets/clojure-yGQavt_D.js +1 -0
- package/dist/assets/clone-390rHRbp.js +1 -0
- package/dist/assets/cmake-yLKyOybp.js +1 -0
- package/dist/assets/cn-d_A4rA-x.js +1 -0
- package/dist/assets/cobol-C5qkyUSJ.js +1 -0
- package/dist/assets/code-block-37QAKDTI-6EmvTShA.js +2 -0
- package/dist/assets/code-xml-BMv1Dtd2.js +1 -0
- package/dist/assets/coffeescript-CtR3eWCa.js +1 -0
- package/dist/assets/column-preview-UqWtgk7m.js +1 -0
- package/dist/assets/command-W0aMBKpO.js +1 -0
- package/dist/assets/command-palette-4GD_9thV.js +1 -0
- package/dist/assets/common-DIShU5MS.js +1 -0
- package/dist/assets/commonlisp-D-heOGa1.js +1 -0
- package/dist/assets/components-BLWMb_FO.js +1 -0
- package/dist/assets/components-DhxPTtfy.js +1 -0
- package/dist/assets/config-vle9v48l.js +1 -0
- package/dist/assets/context-DAH8i0ik.js +1 -0
- package/dist/assets/copy-CAR4dOiD.js +1 -0
- package/dist/assets/copy-hG3KkB-h.js +1 -0
- package/dist/assets/copy-icon-Cg5270DP.js +1 -0
- package/dist/assets/cose-bilkent-S5V4N54A-C4qI5Omf.js +1 -0
- package/dist/assets/createReducer-BcTiTw8T.js +1 -0
- package/dist/assets/crystal-PRx3aORZ.js +1 -0
- package/dist/assets/css-COQFxLQn.js +1 -0
- package/dist/assets/cypher-whf3KLcn.js +1 -0
- package/dist/assets/d-Rxavm_nZ.js +1 -0
- package/dist/assets/dagre-6UL2VRFP-7OtmcV5Q.js +4 -0
- package/dist/assets/dagre-Duvt3tBX.js +1 -0
- package/dist/assets/data-grid-overlay-editor-DcJUwxxA.js +1 -0
- package/dist/assets/database-zap-B3efE3T2.js +1 -0
- package/dist/assets/datasource-C5iY_kH6.js +3 -0
- package/dist/assets/dates-BL9QfUQ0.js +1 -0
- package/dist/assets/debounce-D8CkpJG7.js +1 -0
- package/dist/assets/dependency-graph-panel-BWfB8adR.js +5 -0
- package/dist/assets/diagram-PSM6KHXK-Bxvbx3PW.js +24 -0
- package/dist/assets/diagram-QEK2KX5R-ko939-gD.js +43 -0
- package/dist/assets/diagram-S2PKOQOG-CXW2MByb.js +24 -0
- package/dist/assets/dialog-DxCG9U2G.js +1 -0
- package/dist/assets/diff-BuBMfzxS.js +1 -0
- package/dist/assets/dist-0qXxt1VF.js +1 -0
- package/dist/assets/dist-4go66rGa.js +1 -0
- package/dist/assets/dist-B3emHSjb.js +1 -0
- package/dist/assets/dist-BDJDjQTP.js +1 -0
- package/dist/assets/dist-BMae4pFN.js +1 -0
- package/dist/assets/dist-BRjtiDLy.js +1 -0
- package/dist/assets/dist-BRw3dwds.js +1 -0
- package/dist/assets/dist-BUISUvVa.js +1 -0
- package/dist/assets/dist-BYah04_6.js +1 -0
- package/dist/assets/dist-BYbeMVLN.js +1 -0
- package/dist/assets/dist-BkKLXyVM.js +1 -0
- package/dist/assets/dist-BmupR6hJ.js +1 -0
- package/dist/assets/dist-BpJ2dYWn.js +1 -0
- package/dist/assets/dist-C0GaLmeM.js +1 -0
- package/dist/assets/dist-C2QWw4Xo.js +1 -0
- package/dist/assets/dist-C2n842c9.js +1 -0
- package/dist/assets/dist-C9Tymsam.js +1 -0
- package/dist/assets/dist-CEQIJ2pn.js +2 -0
- package/dist/assets/dist-CHWMEIbT.js +1 -0
- package/dist/assets/dist-CLn8560E.js +1 -0
- package/dist/assets/dist-CPbQEKNx.js +1 -0
- package/dist/assets/dist-CPvOfeA1.js +1 -0
- package/dist/assets/dist-CU-Ty5ht.js +2 -0
- package/dist/assets/dist-CYxfO26e.js +1 -0
- package/dist/assets/dist-C_w6Go0g.js +13 -0
- package/dist/assets/dist-CdZb2Grj.js +1 -0
- package/dist/assets/dist-CncFhr17.js +1 -0
- package/dist/assets/dist-CrRgfU8C.js +1 -0
- package/dist/assets/dist-D3d3ioNg.js +3 -0
- package/dist/assets/dist-D4Jt2p6U.js +1 -0
- package/dist/assets/dist-D89dID68.js +1 -0
- package/dist/assets/dist-DDs9pMUo.js +7 -0
- package/dist/assets/dist-DRM_TtJV.js +6 -0
- package/dist/assets/dist-DU2EJ7el.js +3 -0
- package/dist/assets/dist-DUY6xZX8.js +13 -0
- package/dist/assets/dist-DUYSgv8L.js +1 -0
- package/dist/assets/dist-DZhm7iRc.js +1 -0
- package/dist/assets/dist-DaUUgnNZ.js +1 -0
- package/dist/assets/dist-DnkvqAMq.js +1 -0
- package/dist/assets/dist-DpVoU5lF.js +1 -0
- package/dist/assets/dist-DqGTdKtw.js +1 -0
- package/dist/assets/dist-Dr0CXDHq.js +1 -0
- package/dist/assets/dist-OAWl1fS6.js +1 -0
- package/dist/assets/dist-OuzXQwz4.js +1 -0
- package/dist/assets/dist-Y8kplKu9.js +1 -0
- package/dist/assets/dist-wVMmgzGW.js +1 -0
- package/dist/assets/dist-x2aGlNO5.js +1 -0
- package/dist/assets/dist-xCxFRJqp.js +1 -0
- package/dist/assets/dockerfile-DsQk2-Mx.js +1 -0
- package/dist/assets/documentation-panel-7qSLXVrB.js +1 -0
- package/dist/assets/download-BG-iMGgV.js +1 -0
- package/dist/assets/download-BdFtkLcU.js +9 -0
- package/dist/assets/dropdown-menu-CYyWUG65.js +1 -0
- package/dist/assets/dtd-Byyl3ADK.js +1 -0
- package/dist/assets/dylan-zE-fWZ95.js +1 -0
- package/dist/assets/ecl-oGqPqdsN.js +1 -0
- package/dist/assets/edit-page-EW0RO0sT.js +13 -0
- package/dist/assets/eiffel-C_tzASKk.js +1 -0
- package/dist/assets/ellipsis-CnEpKti0.js +1 -0
- package/dist/assets/ellipsis-vertical-CqcBoxmi.js +1 -0
- package/dist/assets/elm-DowGsQrq.js +1 -0
- package/dist/assets/empty-state-DFr2pZOz.js +1 -0
- package/dist/assets/en-US-6llqATF7.js +1 -0
- package/dist/assets/erDiagram-Q2GNP2WA-F2DG5vaX.js +60 -0
- package/dist/assets/erlang-DXj5Mety.js +1 -0
- package/dist/assets/error-banner-AdDcypw3.js +1 -0
- package/dist/assets/error-panel-DEPfBXJ0.js +1 -0
- package/dist/assets/es-BLdjaIr6.js +5 -0
- package/dist/assets/esm-DYDEu0Nq.js +1 -0
- package/dist/assets/esm-YYGhitWU.js +1 -0
- package/dist/assets/eye-off-DgTL09j7.js +1 -0
- package/dist/assets/factor-BBRGvEpt.js +1 -0
- package/dist/assets/factor-CkLnJXKV.js +1 -0
- package/dist/assets/field-DVVr5TG5.js +1 -0
- package/dist/assets/file-DVwc11C3.js +1 -0
- package/dist/assets/file-explorer-panel-C5zIHrKp.js +1 -0
- package/dist/assets/file-plus-corner-BRwJx0yp.js +1 -0
- package/dist/assets/file-video-camera-Fa5c_iPb.js +1 -0
- package/dist/assets/floating-outline-R_VWqURd.js +1 -0
- package/dist/assets/flowDiagram-NV44I4VS-Cy5R0SXS.js +162 -0
- package/dist/assets/focus-E9cdlDyd.js +1 -0
- package/dist/assets/form-DbXf0B9X.js +2 -0
- package/dist/assets/formats-Bd3u9VU8.js +1 -0
- package/dist/assets/formatting-CkUjNdR1.js +1 -0
- package/dist/assets/forth-ir5Q2myN.js +1 -0
- package/dist/assets/fortran-Ckvuc18T.js +1 -0
- package/dist/assets/gallery-page-JQHurhaG.js +1 -0
- package/dist/assets/ganttDiagram-JELNMOA3-er2McpRV.js +267 -0
- package/dist/assets/gas-IcbZgopn.js +1 -0
- package/dist/assets/gherkin-BUQFbyhq.js +1 -0
- package/dist/assets/gitGraph-G5XIXVHT-BJUqJxuW.js +1 -0
- package/dist/assets/gitGraphDiagram-V2S2FVAM-BXz54piQ.js +65 -0
- package/dist/assets/glide-data-editor-ZP6OT6Ns.js +132 -0
- package/dist/assets/globals-Ce6X5cHF.js +1 -0
- package/dist/assets/globe-B68kre4p.js +1 -0
- package/dist/assets/graphlib-DG_BOc5S.js +1 -0
- package/dist/assets/groovy-CPRpPrR6.js +1 -0
- package/dist/assets/haskell-BZ64_L1W.js +1 -0
- package/dist/assets/haxe-u0gVVSGf.js +1 -0
- package/dist/assets/home-page-CIBZds6Y.js +4 -0
- package/dist/assets/hooks-CL179DVG.js +1 -0
- package/dist/assets/html-to-image-CrvxeCGx.js +2 -0
- package/dist/assets/icons-CHolxgW2.js +1 -0
- package/dist/assets/idl-D6vrTcdT.js +1 -0
- package/dist/assets/image-DJi6ovcV.js +1 -0
- package/dist/assets/index-BoyzQq0I.js +38 -0
- package/dist/assets/index-CvffbdXo.css +2 -0
- package/dist/assets/info-VBDWY6EO-CTfN_yCw.js +1 -0
- package/dist/assets/infoDiagram-HS3SLOUP-D9ookr-q.js +2 -0
- package/dist/assets/input-CRB-lq4Q.js +1 -0
- package/dist/assets/isArrayLikeObject-BkJc8lDE.js +1 -0
- package/dist/assets/isEmpty-9KlyX4nB.js +1 -0
- package/dist/assets/isValid-DXCp8eGi.js +1 -0
- package/dist/assets/javascript-DtGa6W6u.js +1 -0
- package/dist/assets/journeyDiagram-XKPGCS4Q-xJXwsVPO.js +139 -0
- package/dist/assets/julia-ChDcWdzF.js +1 -0
- package/dist/assets/kanban-definition-3W4ZIXB7-CCBTnZpc.js +89 -0
- package/dist/assets/katex-BubCv2pM.js +1 -0
- package/dist/assets/kbd-CNdD3jWa.js +1 -0
- package/dist/assets/kiosk-mode-xFsMpb4u.js +1 -0
- package/dist/assets/label-CGS9p44y.js +1 -0
- package/dist/assets/layout-S2qz-Sk_.js +5 -0
- package/dist/assets/line-BKm-YkCh.js +1 -0
- package/dist/assets/linear-DG7yljSg.js +1 -0
- package/dist/assets/link-BMKs5Gz_.js +1 -0
- package/dist/assets/links-DJ5XP9fV.js +1 -0
- package/dist/assets/links-DhyyPCG4.js +1 -0
- package/dist/assets/livescript-D3x57DP6.js +1 -0
- package/dist/assets/logs-panel-v1CSRp0G.js +1 -0
- package/dist/assets/loro_wasm_bg-D0L2fcEg.js +1 -0
- package/dist/assets/lua-CfeyF-5c.js +1 -0
- package/dist/assets/main-Cmx6WhDY.js +35 -0
- package/dist/assets/maps-8VTEe-0T.js +1 -0
- package/dist/assets/marimo-icons-B0iaQddz.js +1 -0
- package/dist/assets/markdown-renderer-CiOnsDJo.js +10 -0
- package/dist/assets/mathematica-CAUFFTVp.js +1 -0
- package/dist/assets/mbox-Duq1SQ_k.js +1 -0
- package/dist/assets/menu-items-uT9t8sb4.js +1 -0
- package/dist/assets/merge-DnJbrtRQ.js +1 -0
- package/dist/assets/mermaid-4DMBBIKO-BRWsSysM.js +1 -0
- package/dist/assets/mermaid-B3IDWWhK.js +11 -0
- package/dist/assets/mermaid-parser.core-f-6U1AUp.js +4 -0
- package/dist/assets/mhchem-D0np7Nq0.js +1 -0
- package/dist/assets/min-DXnsUn-p.js +1 -0
- package/dist/assets/mindmap-definition-VGOIOE7T-hpDaXNav.js +68 -0
- package/dist/assets/mirc-B8ay9N_G.js +1 -0
- package/dist/assets/mllike-Cdk-SxrR.js +1 -0
- package/dist/assets/modelica-cErGJ40J.js +1 -0
- package/dist/assets/mscgen-jRCec7TG.js +1 -0
- package/dist/assets/multi-icon-OxLi6M3I.js +1 -0
- package/dist/assets/multi-map-CDn9gple.js +1 -0
- package/dist/assets/mumps-CPuZtknR.js +1 -0
- package/dist/assets/name-cell-input-DSy4I8wZ.js +1 -0
- package/dist/assets/now-DIo_1hTm.js +1 -0
- package/dist/assets/nsis-DLIsIma3.js +1 -0
- package/dist/assets/nsis-ggFWkoqT.js +1 -0
- package/dist/assets/ntriples-eQBrW6tI.js +1 -0
- package/dist/assets/number-overlay-editor-BNjcKmLy.js +9 -0
- package/dist/assets/numbers-DD2lH3f-.js +1 -0
- package/dist/assets/octave-CcpumlkH.js +1 -0
- package/dist/assets/once-DRC4SgqY.js +1 -0
- package/dist/assets/ordinal-CIVqSC4M.js +1 -0
- package/dist/assets/outline-panel-DUHUBCxJ.js +1 -0
- package/dist/assets/oz-D3u6XBI4.js +1 -0
- package/dist/assets/packages-panel-CD4rRpCH.js +1 -0
- package/dist/assets/packet-DYOGHKS2-DfKNdoQU.js +1 -0
- package/dist/assets/panel-context-ICWm_stq.js +1 -0
- package/dist/assets/panels-_992W_EU.js +1 -0
- package/dist/assets/pascal-COvFIqNx.js +1 -0
- package/dist/assets/perl-BSxTN_bc.js +1 -0
- package/dist/assets/pick-BeVScbIo.js +1 -0
- package/dist/assets/pie-VRWISCQL-CfPb9Iyo.js +1 -0
- package/dist/assets/pieDiagram-ADFJNKIX-DYPzbM_t.js +30 -0
- package/dist/assets/pig-B5SEJPfW.js +1 -0
- package/dist/assets/play-Cb6tYyv-.js +1 -0
- package/dist/assets/plus-BgyD1fCH.js +1 -0
- package/dist/assets/popover-2GpKY98n.js +1 -0
- package/dist/assets/powershell-T0AiDBtK.js +1 -0
- package/dist/assets/precisionRound-NX56vp6K.js +1 -0
- package/dist/assets/process-output-CG4dqRHK.js +1 -0
- package/dist/assets/properties-CEyxcWzr.js +1 -0
- package/dist/assets/protobuf-BgP8VdyX.js +1 -0
- package/dist/assets/pug-D1MIs29p.js +1 -0
- package/dist/assets/pug-qZYhFFj7.js +1 -0
- package/dist/assets/puppet-DQ0s94I4.js +1 -0
- package/dist/assets/python-jVWqyNLt.js +1 -0
- package/dist/assets/q-Ddp_9iFq.js +1 -0
- package/dist/assets/quadrantDiagram-AYHSOK5B-DaOAbQTd.js +7 -0
- package/dist/assets/r-WnM9HAaQ.js +1 -0
- package/dist/assets/radar-ZZBFDIW7-9GhwFnEA.js +1 -0
- package/dist/assets/range-BGa3qZre.js +1 -0
- package/dist/assets/react-vega-CYEp7Hhy.js +190 -0
- package/dist/assets/react-vega-DDgw1_ws.js +1 -0
- package/dist/assets/readonly-python-code-B5GInwZp.js +1 -0
- package/dist/assets/reduce-DkYTQbK1.js +1 -0
- package/dist/assets/refresh-ccw-fkpyyW4C.js +1 -0
- package/dist/assets/refresh-cw-6vegZcuZ.js +1 -0
- package/dist/assets/renderShortcut-CMdaUbHS.js +1 -0
- package/dist/assets/request-registry-CbsOZIpY.js +1 -0
- package/dist/assets/requests-DZy_SQ_v.js +1 -0
- package/dist/assets/requests-KFvRjaaN.js +1 -0
- package/dist/assets/requirementDiagram-UZGBJVZJ-Cy9_RLyk.js +64 -0
- package/dist/assets/rotate-ccw-BNlUg6K6.js +1 -0
- package/dist/assets/rpm-Cpb0cYbF.js +1 -0
- package/dist/assets/ruby-npoQJqOj.js +1 -0
- package/dist/assets/run-page-DzZn5REc.js +1 -0
- package/dist/assets/runs-BMpRKQKC.js +1 -0
- package/dist/assets/sankeyDiagram-TZEHDZUN-VPOD73xc.js +10 -0
- package/dist/assets/sas-D5R_hCoQ.js +1 -0
- package/dist/assets/save-BShTD2ty.js +1 -0
- package/dist/assets/scheme-oK64G5wG.js +1 -0
- package/dist/assets/scratchpad-panel-DWu26mkk.js +1 -0
- package/dist/assets/secrets-panel-CAz6p-JQ.js +1 -0
- package/dist/assets/select-DjvQ3a3F.js +1 -0
- package/dist/assets/sequenceDiagram-WL72ISMW-BnMeGyEq.js +145 -0
- package/dist/assets/session-BQVN1Kxg.js +1 -0
- package/dist/assets/session-panel-D7so3k0L.js +1 -0
- package/dist/assets/settings-DuNjGb99.js +1 -0
- package/dist/assets/share-XjNIMk98.js +1 -0
- package/dist/assets/shell-D-C8eGy_.js +1 -0
- package/dist/assets/sieve-DPRpRdV2.js +1 -0
- package/dist/assets/slides-component-BZCkobYT.css +1 -0
- package/dist/assets/slides-component-Bjat3BTE.js +1 -0
- package/dist/assets/smalltalk-bsl5ZJOd.js +1 -0
- package/dist/assets/snippets-panel-CFa_X6Lb.js +1 -0
- package/dist/assets/sortBy-B9Ki4_h3.js +1 -0
- package/dist/assets/sparql-CJUH6gR2.js +1 -0
- package/dist/assets/spec-HU4WDTN0.js +1 -0
- package/dist/assets/spinner-Cg6xI4rq.js +1 -0
- package/dist/assets/square-BQ6pR0y3.js +1 -0
- package/dist/assets/square-function-DVqP0HiQ.js +1 -0
- package/dist/assets/src-lcGySDV2.js +1 -0
- package/dist/assets/state-BlC8AgKx.js +1 -0
- package/dist/assets/state-C1dI2xM8.js +1 -0
- package/dist/assets/state-O2Ife70c.js +1 -0
- package/dist/assets/stateDiagram-FKZM4ZOC-KIAr66GY.js +1 -0
- package/dist/assets/stateDiagram-v2-4FDKWEC3-CZBJocb3.js +1 -0
- package/dist/assets/step-B5y1YzZ4.js +1 -0
- package/dist/assets/stex-CruVQx-P.js +1 -0
- package/dist/assets/stylus-Dz-M3k6z.js +1 -0
- package/dist/assets/swift-BZHzeogd.js +1 -0
- package/dist/assets/switch-CvXNrFdd.js +1 -0
- package/dist/assets/table-BhRziAuf.js +1 -0
- package/dist/assets/table-CeILsq6V.js +1 -0
- package/dist/assets/tcl-CjjnKQKi.js +1 -0
- package/dist/assets/terminal-BJynXdg_.js +62 -0
- package/dist/assets/textarea-Bh-JbFt9.js +1 -0
- package/dist/assets/textile-C6DxVHfN.js +1 -0
- package/dist/assets/time-D8_flTb-.js +1 -0
- package/dist/assets/timeline-definition-IT6M3QCI-CsLwsqls.js +61 -0
- package/dist/assets/toDate-DDAiY7kz.js +1 -0
- package/dist/assets/toInteger-Cl1doThW.js +1 -0
- package/dist/assets/toNumber-GB_lFVaq.js +1 -0
- package/dist/assets/toggle-B6rNJdxn.js +1 -0
- package/dist/assets/toml-DTuUvOIE.js +1 -0
- package/dist/assets/tooltip-BrjpohcK.js +61 -0
- package/dist/assets/tooltip-D7xdZcKW.js +1 -0
- package/dist/assets/tracing-CtIjhfga.js +1 -0
- package/dist/assets/tracing-panel-BQQQ7QWv.js +2 -0
- package/dist/assets/trash-2-B00-wGoJ.js +1 -0
- package/dist/assets/trash-CJS9T5-q.js +1 -0
- package/dist/assets/tree-Rwd8OPB8.js +3 -0
- package/dist/assets/treemap-GDKQZRPO-BGBWZqyV.js +1 -0
- package/dist/assets/troff-yA83BgDZ.js +1 -0
- package/dist/assets/ttcn-F0FnYTMB.js +1 -0
- package/dist/assets/ttcn-cfg-CSr0YVH7.js +1 -0
- package/dist/assets/turtle-DaAbI02L.js +1 -0
- package/dist/assets/types-BSdeUIYH.js +17 -0
- package/dist/assets/types-un36DD9G.js +1 -0
- package/dist/assets/uniq-BcZ2NhGK.js +1 -0
- package/dist/assets/useAddCell-CxVx0Nv2.js +1 -0
- package/dist/assets/useAsyncData-D89z7Kpl.js +1 -0
- package/dist/assets/useBoolean-CM4hA6rT.js +1 -0
- package/dist/assets/useCellActionButton-QibVT_Q5.js +1 -0
- package/dist/assets/useDateFormatter-Dm6WIEWp.js +1 -0
- package/dist/assets/useDebounce-PhGkOHyw.js +1 -0
- package/dist/assets/useDeleteCell-8V08AJDo.js +1 -0
- package/dist/assets/useDependencyPanelTab-0VcOLAUG.js +1 -0
- package/dist/assets/useEvent-WUlsM6MC.js +1 -0
- package/dist/assets/useIframeCapabilities-DDClcvJ3.js +1 -0
- package/dist/assets/useInstallPackage-z6g4hGCr.js +1 -0
- package/dist/assets/useInterval-nTH-RAU5.js +1 -0
- package/dist/assets/useLifecycle-BDXC6oVR.js +1 -0
- package/dist/assets/useNonce-BY4jV7Yb.js +56 -0
- package/dist/assets/useNotebookActions-CedCjOAV.js +1 -0
- package/dist/assets/useNumberFormatter-Cvi0uMeX.js +1 -0
- package/dist/assets/usePress-C7hs6zHi.js +7 -0
- package/dist/assets/useSplitCell-Dcg7WwVF.js +1 -0
- package/dist/assets/useTheme-0tqyqYah.js +1 -0
- package/dist/assets/utilities.esm-BqS8da1L.js +3 -0
- package/dist/assets/utils-CORJ8yYa.js +1 -0
- package/dist/assets/vb-BYziWQVS.js +1 -0
- package/dist/assets/vbscript-CP_qFLQN.js +1 -0
- package/dist/assets/vega-component-BZeFK2Gj.js +1 -0
- package/dist/assets/vega-loader.browser-xq8miGHn.js +6 -0
- package/dist/assets/velocity-etCBW8YB.js +1 -0
- package/dist/assets/verilog-DO_FdUQ9.js +1 -0
- package/dist/assets/vhdl-CtT4O7WT.js +1 -0
- package/dist/assets/webidl-DUTo0zWa.js +1 -0
- package/dist/assets/workflow-BmruJ2Ti.js +1 -0
- package/dist/assets/write-secret-modal-lM40RNrZ.js +1 -0
- package/dist/assets/x-yqLqiq5Q.js +1 -0
- package/dist/assets/xquery-B0wH9AmB.js +1 -0
- package/dist/assets/xychartDiagram-PRI3JC2R-CvSP67JF.js +7 -0
- package/dist/assets/yacas-UtDKR_RQ.js +1 -0
- package/dist/assets/youtube-C6LYzJHy.js +1 -0
- package/dist/assets/z80-gTLyuPxz.js +1 -0
- package/dist/index.html +180 -177
- package/package.json +11 -11
- package/src/__mocks__/requests.ts +2 -0
- package/src/components/app-config/ai-config.tsx +1 -1
- package/src/components/app-config/user-config-form.tsx +27 -0
- package/src/components/data-table/__tests__/pagination.test.tsx +16 -24
- package/src/components/data-table/charts/lazy-chart.tsx +1 -1
- package/src/components/data-table/data-table.tsx +20 -18
- package/src/components/data-table/pagination.tsx +138 -56
- package/src/components/data-table/range-focus/__tests__/cell-selection-stats.test.tsx +365 -0
- package/src/components/data-table/range-focus/__tests__/test-utils.ts +77 -0
- package/src/components/data-table/range-focus/__tests__/utils.test.ts +205 -65
- package/src/components/data-table/range-focus/cell-selection-stats.tsx +79 -0
- package/src/components/data-table/range-focus/utils.ts +69 -7
- package/src/components/data-table/types.ts +4 -0
- package/src/components/databases/engine-variable.tsx +2 -1
- package/src/components/databases/icons/google-cloud-storage.svg +38 -0
- package/src/components/datasources/components.tsx +6 -2
- package/src/components/dependency-graph/minimap-content.tsx +3 -5
- package/src/components/dependency-graph/utils/__tests__/cell-preview.test.ts +143 -0
- package/src/components/dependency-graph/utils/cell-preview.ts +46 -0
- package/src/components/editor/Output.tsx +3 -28
- package/src/components/editor/cell/cell-actions.tsx +6 -5
- package/src/components/editor/cell/cell-context-menu.tsx +11 -7
- package/src/components/editor/chrome/panels/components.tsx +88 -0
- package/src/components/editor/chrome/panels/file-explorer-panel.tsx +120 -7
- package/src/components/editor/chrome/panels/outline/floating-outline.tsx +27 -15
- package/src/components/editor/chrome/panels/session-panel.tsx +24 -35
- package/src/components/editor/file-tree/__tests__/requesting-tree.test.ts +17 -1
- package/src/components/editor/file-tree/file-explorer.tsx +38 -6
- package/src/components/editor/file-tree/file-header.tsx +61 -0
- package/src/components/editor/file-tree/file-viewer.tsx +88 -167
- package/src/components/editor/file-tree/renderers.tsx +142 -21
- package/src/components/editor/file-tree/requesting-tree.tsx +6 -2
- package/src/components/editor/output/console/ConsoleOutput.tsx +34 -2
- package/src/components/editor/output/console/__tests__/ConsoleOutput.test.tsx +13 -0
- package/src/components/icons/marimo-icons.tsx +173 -0
- package/src/components/markdown/markdown-renderer.tsx +3 -20
- package/src/components/pages/run-page.tsx +2 -2
- package/src/components/storage/components.tsx +86 -0
- package/src/components/storage/storage-file-viewer.tsx +225 -0
- package/src/components/storage/storage-inspector.tsx +610 -0
- package/src/core/ai/tools/__tests__/edit-notebook-tool.test.ts +79 -0
- package/src/core/ai/tools/edit-notebook-tool.ts +5 -0
- package/src/core/cells/__tests__/cells.test.ts +30 -0
- package/src/core/cells/cells.ts +6 -1
- package/src/core/cells/outline.ts +7 -1
- package/src/core/cells/outputs.ts +20 -8
- package/src/core/codemirror/language/languages/sql/sql.ts +76 -62
- package/src/core/codemirror/language/panel/sql.tsx +3 -3
- package/src/core/codemirror/lsp/__tests__/normalize-markdown-math.test.ts +123 -0
- package/src/core/codemirror/lsp/__tests__/notebook-lsp.test.ts +196 -0
- package/src/core/codemirror/lsp/normalize-markdown-math.ts +381 -0
- package/src/core/codemirror/lsp/notebook-lsp.ts +59 -3
- package/src/core/config/feature-flag.tsx +2 -0
- package/src/core/dom/__tests__/outline.test.ts +48 -0
- package/src/core/dom/outline.ts +13 -2
- package/src/core/islands/bridge.ts +2 -0
- package/src/core/islands/main.ts +2 -0
- package/src/core/network/requests-lazy.ts +2 -0
- package/src/core/network/requests-network.ts +16 -0
- package/src/core/network/requests-static.ts +2 -0
- package/src/core/network/requests-toasting.tsx +2 -0
- package/src/core/network/types.ts +6 -0
- package/src/core/storage/__tests__/state.test.ts +345 -0
- package/src/core/storage/__tests__/types.test.ts +83 -0
- package/src/core/storage/__tests__/useStorageEntries.test.tsx +187 -0
- package/src/core/storage/request-registry.ts +36 -0
- package/src/core/storage/state.ts +132 -0
- package/src/core/storage/types.ts +57 -0
- package/src/core/wasm/bridge.ts +2 -0
- package/src/core/websocket/useMarimoKernelConnection.tsx +19 -1
- package/src/hooks/__tests__/useNonce.test.tsx +127 -0
- package/src/hooks/__tests__/useOverflowDetection.test.tsx +127 -0
- package/src/hooks/useNonce.ts +6 -5
- package/src/hooks/useOverflowDetection.ts +36 -0
- package/src/plugins/impl/MatrixPlugin.tsx +5 -2
- package/src/plugins/impl/__tests__/MatrixPlugin.test.tsx +1 -1
- package/src/plugins/impl/code/any-language-editor.tsx +14 -3
- package/src/plugins/impl/matplotlib/__tests__/matplotlib-renderer.test.ts +37 -2
- package/src/plugins/impl/matplotlib/matplotlib-renderer.ts +13 -1
- package/src/utils/__tests__/filenames.test.ts +54 -1
- package/src/utils/filenames.ts +42 -0
- package/dist/assets/CellStatus-CXzj7sRm.js +0 -1
- package/dist/assets/Combination-CdkqT4eF.js +0 -41
- package/dist/assets/ConnectedDataExplorerComponent-BtaufJqg.js +0 -1
- package/dist/assets/DeferredRequestRegistry-ODyALcIJ.js +0 -1
- package/dist/assets/ErrorBoundary-CL8ByR73.js +0 -1
- package/dist/assets/ImageComparisonComponent-DaRs7UvQ.js +0 -1
- package/dist/assets/ImperativeModal-BcWA2M3r.js +0 -1
- package/dist/assets/Inputs-fHea2UE1.js +0 -1
- package/dist/assets/JsonOutput-Cf8A51yY.js +0 -46
- package/dist/assets/LazyAnyLanguageCodeMirror-Bd0XX4es.js +0 -2
- package/dist/assets/MarimoErrorOutput-DDh0mN6J.js +0 -7
- package/dist/assets/Plot-UGYbSTJ3.js +0 -3789
- package/dist/assets/RenderHTML-BtyszmRY.js +0 -1
- package/dist/assets/_baseEach-BhAgFun2.js +0 -1
- package/dist/assets/_baseFlatten-CUZNxU8H.js +0 -1
- package/dist/assets/_baseFor-Duhs3RiJ.js +0 -1
- package/dist/assets/_baseIsEqual-B9N9Mw_N.js +0 -1
- package/dist/assets/_baseMap-D3aN2j3O.js +0 -1
- package/dist/assets/_baseSet-5Rdwpmr3.js +0 -1
- package/dist/assets/_baseUniq-BP3iN0f3.js +0 -1
- package/dist/assets/add-cell-with-ai-BCTdiv0p.js +0 -90
- package/dist/assets/add-database-form-Be5HSGc6.js +0 -111
- package/dist/assets/agent-panel-2Q2T5S16.js +0 -287
- package/dist/assets/ai-model-dropdown-BC0cdhi9.js +0 -5
- package/dist/assets/alert-Djvdl92y.js +0 -1
- package/dist/assets/alert-dialog-Btfo5nE7.js +0 -11
- package/dist/assets/any-language-editor-D6_jIAss.js +0 -3
- package/dist/assets/apl-m-AMVo9Q.js +0 -1
- package/dist/assets/app-config-button-DmKmnxml.js +0 -1
- package/dist/assets/arc-ONRhTAm2.js +0 -1
- package/dist/assets/architecture-U656AL7Q-BXMjPYuG.js +0 -1
- package/dist/assets/architectureDiagram-VXUJARFQ-C7m5iL4C.js +0 -36
- package/dist/assets/arrow-left-CgqvfuXk.js +0 -1
- package/dist/assets/asciiarmor-BCgPMx-s.js +0 -1
- package/dist/assets/asn1-f2_lxsgc.js +0 -1
- package/dist/assets/assertNever-eF2N5g4Y.js +0 -1
- package/dist/assets/badge-Duqg7hNv.js +0 -1
- package/dist/assets/blockDiagram-VD42YOAC-D3VTcGtQ.js +0 -122
- package/dist/assets/bot-message-square-BNUYewXt.js +0 -1
- package/dist/assets/brainfuck-ZYebo2B9.js +0 -1
- package/dist/assets/button-DOOm_ggu.js +0 -1
- package/dist/assets/c4Diagram-YG6GDRKO-DeGX1mCC.js +0 -10
- package/dist/assets/cache-panel-DTR5L2Ml.js +0 -1
- package/dist/assets/capabilities-DTeDSdGM.js +0 -1
- package/dist/assets/capitalize-O1rWkjI6.js +0 -1
- package/dist/assets/card-Cl7Rwjou.js +0 -1
- package/dist/assets/cell-editor-DW3vX0Hr.js +0 -23
- package/dist/assets/cell-link-HggHOhac.js +0 -1
- package/dist/assets/cells-BvQJ_wGv.js +0 -254
- package/dist/assets/channel-uqHqvwkh.js +0 -1
- package/dist/assets/chart-no-axes-column-BXq2PuKd.js +0 -1
- package/dist/assets/chat-display-Bvu3qbng.js +0 -1
- package/dist/assets/chat-panel-BGfg1SLf.js +0 -3
- package/dist/assets/check-CAiA4SIb.js +0 -1
- package/dist/assets/chevron-right-Cez-Jqdk.js +0 -1
- package/dist/assets/chunk-4BX2VUAB-KawmK-5L.js +0 -1
- package/dist/assets/chunk-55IACEB6-yE5HX-Wz.js +0 -1
- package/dist/assets/chunk-5FQGJX7Z-BuHQ2zZJ.js +0 -113
- package/dist/assets/chunk-76Q3JFCE-DgTNlWLG.js +0 -1
- package/dist/assets/chunk-ABZYJK2D-zjU2RqNw.js +0 -80
- package/dist/assets/chunk-ATLVNIR6-D5Snp2DL.js +0 -1
- package/dist/assets/chunk-B4BG7PRW-kcvpFVyq.js +0 -165
- package/dist/assets/chunk-CVBHYZKI-DU48rJVu.js +0 -1
- package/dist/assets/chunk-DI55MBZ5-CuaKj0HK.js +0 -220
- package/dist/assets/chunk-EXTU4WIE-DQBwRCkx.js +0 -1
- package/dist/assets/chunk-FMBD7UC4-CHJv683r.js +0 -15
- package/dist/assets/chunk-FPAJGGOC-CbeZEPWm.js +0 -125
- package/dist/assets/chunk-FWNWRKHM-BJqoIuVF.js +0 -1
- package/dist/assets/chunk-HN2XXSSU-Bdbi3Mns.js +0 -1
- package/dist/assets/chunk-JA3XYJ7Z-DX4bo94N.js +0 -70
- package/dist/assets/chunk-JZLCHNYA-DYuUuKtZ.js +0 -54
- package/dist/assets/chunk-LBM3YZW2-XGgejlQq.js +0 -1
- package/dist/assets/chunk-LHMN2FUI-BEi6IUQb.js +0 -1
- package/dist/assets/chunk-MI3HLSF2-n3vxgSbN.js +0 -32
- package/dist/assets/chunk-N4CR4FBY-BON0Mwrl.js +0 -2
- package/dist/assets/chunk-O7ZBX7Z2-LHfZUTOA.js +0 -1
- package/dist/assets/chunk-QN33PNHL-CVYbno5t.js +0 -1
- package/dist/assets/chunk-QXUST7PY-BIvSztQy.js +0 -7
- package/dist/assets/chunk-QZHKN3VN-Cp_TxrNJ.js +0 -1
- package/dist/assets/chunk-S3R3BYOJ-v5Xg6aqf.js +0 -2
- package/dist/assets/chunk-S6J4BHB3-CrigYXUL.js +0 -1
- package/dist/assets/chunk-T53DSG4Q-gqM1xQ36.js +0 -1
- package/dist/assets/chunk-TZMSLE5B-BxAGWPcZ.js +0 -1
- package/dist/assets/chunk-XAJISQIX-0gvwv13B.js +0 -1
- package/dist/assets/circle-check-DwXZ6wul.js +0 -1
- package/dist/assets/circle-play-DjSRfMkE.js +0 -1
- package/dist/assets/circle-plus-yTkn5aIV.js +0 -1
- package/dist/assets/classDiagram-2ON5EDUG-UKFp8UX6.js +0 -1
- package/dist/assets/classDiagram-v2-WZHVMYZB-DP5SaZcv.js +0 -1
- package/dist/assets/clear-button-Iy93qpY9.js +0 -1
- package/dist/assets/clike-O99jWPIc.js +0 -1
- package/dist/assets/clipboard-paste-D6NlptzF.js +0 -1
- package/dist/assets/clojure-NE6UT6b9.js +0 -1
- package/dist/assets/clone-bEECh4rs.js +0 -1
- package/dist/assets/cmake-7TIUAxVu.js +0 -1
- package/dist/assets/cn-BfqzeB_k.js +0 -1
- package/dist/assets/cobol-BdI6-uBH.js +0 -1
- package/dist/assets/code-block-37QAKDTI-VG5NaJEQ.js +0 -2
- package/dist/assets/code-xml-CAMyACkU.js +0 -1
- package/dist/assets/coffeescript-CLx5m4GS.js +0 -1
- package/dist/assets/column-preview-CJ3a0IPi.js +0 -1
- package/dist/assets/command-D2UvWA5R.js +0 -1
- package/dist/assets/command-palette-D8rmVaQE.js +0 -1
- package/dist/assets/common-CdY4MV1-.js +0 -1
- package/dist/assets/commonlisp-8d9AwdCm.js +0 -1
- package/dist/assets/config-BHy9GZrJ.js +0 -1
- package/dist/assets/context-DoXuYYBM.js +0 -1
- package/dist/assets/copy-CmJTXGCp.js +0 -1
- package/dist/assets/copy-fZotD7fi.js +0 -1
- package/dist/assets/copy-icon-DQ4_WQe7.js +0 -1
- package/dist/assets/cose-bilkent-S5V4N54A-CbgVOhIY.js +0 -1
- package/dist/assets/createReducer-DhUZtGnB.js +0 -1
- package/dist/assets/crystal-Bn-cOTHZ.js +0 -1
- package/dist/assets/css-Ctj1grpW.js +0 -1
- package/dist/assets/cypher-DnT9gfY3.js +0 -1
- package/dist/assets/d-DCjbmG72.js +0 -1
- package/dist/assets/dagre-6UL2VRFP-DU6p50BW.js +0 -4
- package/dist/assets/dagre-DFula7I5.js +0 -1
- package/dist/assets/data-grid-overlay-editor-P1nXBnKB.js +0 -1
- package/dist/assets/database-zap-DjyjptVG.js +0 -1
- package/dist/assets/datasource-ow4Y3Yl7.js +0 -3
- package/dist/assets/dates-CeHtKOEz.js +0 -1
- package/dist/assets/debounce-B3mjKxHe.js +0 -1
- package/dist/assets/dependency-graph-panel-G7LHU1W_.js +0 -4
- package/dist/assets/diagram-PSM6KHXK-DE5xwnbv.js +0 -24
- package/dist/assets/diagram-QEK2KX5R-D2cX-DID.js +0 -43
- package/dist/assets/diagram-S2PKOQOG-ruaXlG20.js +0 -24
- package/dist/assets/dialog-BY1JTkTv.js +0 -1
- package/dist/assets/diff-DtVdhdPz.js +0 -1
- package/dist/assets/dist-58osgSTy.js +0 -1
- package/dist/assets/dist-B3moP5J0.js +0 -1
- package/dist/assets/dist-B9UvQEKY.js +0 -1
- package/dist/assets/dist-BDH5XYf0.js +0 -1
- package/dist/assets/dist-BFIBAOoU.js +0 -3
- package/dist/assets/dist-BGj9ey0m.js +0 -1
- package/dist/assets/dist-BGl4L4Qw.js +0 -1
- package/dist/assets/dist-BKGFUG98.js +0 -1
- package/dist/assets/dist-BPM4RU79.js +0 -1
- package/dist/assets/dist-BZl-Tewq.js +0 -1
- package/dist/assets/dist-BbnY99Cn.js +0 -1
- package/dist/assets/dist-Bie__U8O.js +0 -1
- package/dist/assets/dist-Bsp55hDJ.js +0 -2
- package/dist/assets/dist-C4tIy6GA.js +0 -1
- package/dist/assets/dist-C8PtNoUO.js +0 -1
- package/dist/assets/dist-CCYZUpo1.js +0 -1
- package/dist/assets/dist-CFRIjHXV.js +0 -1
- package/dist/assets/dist-CY9T8Ye8.js +0 -1
- package/dist/assets/dist-CaKf4gjo.js +0 -1
- package/dist/assets/dist-CehSYLRr.js +0 -1
- package/dist/assets/dist-CfOw57vq.js +0 -1
- package/dist/assets/dist-ChjglRRU.js +0 -13
- package/dist/assets/dist-CkDKNI-t.js +0 -1
- package/dist/assets/dist-Cka1pjxF.js +0 -1
- package/dist/assets/dist-D-SgQKH_.js +0 -1
- package/dist/assets/dist-D9xGHqiw.js +0 -2
- package/dist/assets/dist-DAxpo7DH.js +0 -1
- package/dist/assets/dist-DP8UD8yK.js +0 -1
- package/dist/assets/dist-DQ1HIq9U.js +0 -1
- package/dist/assets/dist-DXEbN9dc.js +0 -1
- package/dist/assets/dist-DitzHVlf.js +0 -1
- package/dist/assets/dist-Dq6dViu8.js +0 -3
- package/dist/assets/dist-DrUzA1yp.js +0 -1
- package/dist/assets/dist-DvlYinQM.js +0 -1
- package/dist/assets/dist-Dw5p3QBM.js +0 -1
- package/dist/assets/dist-GhfjlQt5.js +0 -1
- package/dist/assets/dist-HoBrI5Oq.js +0 -1
- package/dist/assets/dist-Qq3FmokF.js +0 -1
- package/dist/assets/dist-Sapk1n6W.js +0 -6
- package/dist/assets/dist-XYfs_NJs.js +0 -1
- package/dist/assets/dist-bE7sV_bx.js +0 -7
- package/dist/assets/dist-m6mzfYjs.js +0 -13
- package/dist/assets/dist-oFpLdR8n.js +0 -1
- package/dist/assets/dist-qpoyijSp.js +0 -1
- package/dist/assets/dist-sLPsrFJ9.js +0 -1
- package/dist/assets/dist-slVnaZ55.js +0 -1
- package/dist/assets/dist-vZkxMoNS.js +0 -1
- package/dist/assets/dist-yCrXzwf-.js +0 -1
- package/dist/assets/dockerfile-DLv42vp6.js +0 -1
- package/dist/assets/documentation-panel-C1BKTYu6.js +0 -1
- package/dist/assets/download-FoG6dAm7.js +0 -9
- package/dist/assets/download-Jiq5cuc9.js +0 -1
- package/dist/assets/dropdown-menu-BjqFXaqX.js +0 -1
- package/dist/assets/dtd-CHKGQo-k.js +0 -1
- package/dist/assets/dylan-DKXsKw9e.js +0 -1
- package/dist/assets/ecl-BJuToLkm.js +0 -1
- package/dist/assets/edit-page-qkwPqNNl.js +0 -13
- package/dist/assets/eiffel-Bs0gRCeB.js +0 -1
- package/dist/assets/ellipsis-3ww_PRTI.js +0 -1
- package/dist/assets/ellipsis-vertical-49SoChzg.js +0 -1
- package/dist/assets/elm-BXUbhN4m.js +0 -1
- package/dist/assets/empty-state-DlQg-nUq.js +0 -1
- package/dist/assets/en-US-DyCX-qVi.js +0 -1
- package/dist/assets/erDiagram-Q2GNP2WA-mfrxCDrL.js +0 -60
- package/dist/assets/erlang-B9b7RAaI.js +0 -1
- package/dist/assets/error-banner-ClreFLcv.js +0 -1
- package/dist/assets/error-panel-Cse2qyD7.js +0 -1
- package/dist/assets/es-BAwLP160.js +0 -5
- package/dist/assets/esm-CP9RsJ4O.js +0 -1
- package/dist/assets/esm-DPool9PJ.js +0 -1
- package/dist/assets/eye-off-D6Gma1GF.js +0 -1
- package/dist/assets/factor-BbYo7zsD.js +0 -1
- package/dist/assets/factor-C2NWkG3V.js +0 -1
- package/dist/assets/field-0rGb7K7u.js +0 -1
- package/dist/assets/file-BH6mbfdw.js +0 -1
- package/dist/assets/file-explorer-panel-I8XsTAeG.js +0 -1
- package/dist/assets/file-plus-corner-BEHHIF2L.js +0 -1
- package/dist/assets/file-video-camera-o8CZtjRQ.js +0 -1
- package/dist/assets/flatten-D-7VEN0q.js +0 -1
- package/dist/assets/floating-outline-D3kzMiv3.js +0 -1
- package/dist/assets/flowDiagram-NV44I4VS-BEP3c13J.js +0 -162
- package/dist/assets/focus-CPRFg4kn.js +0 -1
- package/dist/assets/form-DISpbGyw.js +0 -2
- package/dist/assets/formats-DekCK0sB.js +0 -1
- package/dist/assets/forth-DAh7UX6C.js +0 -1
- package/dist/assets/fortran-Dy64-0b5.js +0 -1
- package/dist/assets/gallery-page-DST6-asz.js +0 -1
- package/dist/assets/ganttDiagram-JELNMOA3-Bh21ZsxH.js +0 -267
- package/dist/assets/gas-DC-7PUFB.js +0 -1
- package/dist/assets/gherkin-ByiMyVl5.js +0 -1
- package/dist/assets/gitGraph-F6HP7TQM-DWQaw9OD.js +0 -1
- package/dist/assets/gitGraphDiagram-NY62KEGX-BT8AJ_oS.js +0 -65
- package/dist/assets/glide-data-editor-CcAOmSAy.js +0 -132
- package/dist/assets/globals-g_NWGBtF.js +0 -1
- package/dist/assets/graphlib-B4SLw_H3.js +0 -1
- package/dist/assets/groovy-DaM0RAwa.js +0 -1
- package/dist/assets/haskell-BwRtIbXW.js +0 -1
- package/dist/assets/haxe-DFGSCjmC.js +0 -1
- package/dist/assets/home-page-DFksLw4j.js +0 -4
- package/dist/assets/hooks-DDDn7T5i.js +0 -1
- package/dist/assets/html-to-image-DvPYLUI8.js +0 -2
- package/dist/assets/icon-32x32-BRWY2pQ7.js +0 -1
- package/dist/assets/icons-iU3GgPzu.js +0 -1
- package/dist/assets/idl-Ip8qszMi.js +0 -1
- package/dist/assets/index-DEPjuBkG.js +0 -38
- package/dist/assets/index-DHVzmQ5n.css +0 -2
- package/dist/assets/info-NVLQJR56-1OAJDwaV.js +0 -1
- package/dist/assets/infoDiagram-WHAUD3N6-DGsING1X.js +0 -2
- package/dist/assets/input-lGnR5jA2.js +0 -1
- package/dist/assets/isEmpty-CgX_-6Mt.js +0 -1
- package/dist/assets/isValid-B3O42hgP.js +0 -1
- package/dist/assets/javascript-DmUu6wxV.js +0 -1
- package/dist/assets/journeyDiagram-XKPGCS4Q-DSd8IIQu.js +0 -139
- package/dist/assets/julia-C8K-9kxt.js +0 -1
- package/dist/assets/kanban-definition-3W4ZIXB7-ArgMxQwL.js +0 -89
- package/dist/assets/katex-DKG5nadA.js +0 -1
- package/dist/assets/kbd-CxD_4JZI.js +0 -1
- package/dist/assets/kiosk-mode-DChTDQjX.js +0 -1
- package/dist/assets/label-DjfzNSto.js +0 -1
- package/dist/assets/layout-W7LHtlpD.js +0 -5
- package/dist/assets/line-j0cbFv7-.js +0 -1
- package/dist/assets/linear-CuVR7XfL.js +0 -1
- package/dist/assets/link-mqDMswUJ.js +0 -1
- package/dist/assets/links-BJkZcoxM.js +0 -1
- package/dist/assets/links-C5-xPFlM.js +0 -1
- package/dist/assets/livescript-B3MfBDE2.js +0 -1
- package/dist/assets/logs-panel-WG80bH91.js +0 -1
- package/dist/assets/loro_wasm_bg-C00qP84v.js +0 -1
- package/dist/assets/lua-B2YpVx0h.js +0 -1
- package/dist/assets/main-Drs5hZkn.js +0 -5
- package/dist/assets/maps-BNf8B88H.js +0 -1
- package/dist/assets/markdown-renderer-Dyy86-0S.js +0 -10
- package/dist/assets/mathematica-D9tSC-hw.js +0 -1
- package/dist/assets/mbox-CjoMCyMH.js +0 -1
- package/dist/assets/menu-items-BrytomlJ.js +0 -1
- package/dist/assets/merge-BBX6ug-N.js +0 -1
- package/dist/assets/mermaid-4DMBBIKO-8jBrJ6he.js +0 -1
- package/dist/assets/mermaid-D0AUvq3m.js +0 -11
- package/dist/assets/mermaid-parser.core-Bxb_w1Y_.js +0 -4
- package/dist/assets/mhchem-DL3I7eG_.js +0 -1
- package/dist/assets/min-Ci3LzCQg.js +0 -1
- package/dist/assets/mindmap-definition-VGOIOE7T-CO9Z_oJe.js +0 -68
- package/dist/assets/mirc-DvJdMBLZ.js +0 -1
- package/dist/assets/mllike-5ykSeapn.js +0 -1
- package/dist/assets/mode-COhtYT4e.js +0 -1
- package/dist/assets/modelica-laYOX8Zo.js +0 -1
- package/dist/assets/mscgen-z_sYErek.js +0 -1
- package/dist/assets/multi-icon-D7W4mYWz.js +0 -1
- package/dist/assets/multi-map-CfaU7is9.js +0 -1
- package/dist/assets/mumps-BwcCoPkA.js +0 -1
- package/dist/assets/name-cell-input-Cga4BASx.js +0 -1
- package/dist/assets/now-6sUe0ZdD.js +0 -1
- package/dist/assets/nsis-CpSPdWjV.js +0 -1
- package/dist/assets/nsis-Cr8jf68z.js +0 -1
- package/dist/assets/ntriples-D2ki9JZ6.js +0 -1
- package/dist/assets/number-overlay-editor-C-FFb-0C.js +0 -9
- package/dist/assets/numbers-C8M1-yNT.js +0 -1
- package/dist/assets/octave-D817mWs9.js +0 -1
- package/dist/assets/once-BF7GI0Uf.js +0 -1
- package/dist/assets/ordinal-BgBuquWg.js +0 -1
- package/dist/assets/outline-panel-oVyrH0zg.js +0 -1
- package/dist/assets/oz-3GS03IG4.js +0 -1
- package/dist/assets/packages-panel-CAj1iddH.js +0 -1
- package/dist/assets/packet-BFZMPI3H-OC_C0-SD.js +0 -1
- package/dist/assets/panel-context-Dt_6WOwy.js +0 -1
- package/dist/assets/panels-BP4rsYL6.js +0 -1
- package/dist/assets/pascal-C08wXab2.js +0 -1
- package/dist/assets/perl-Ija-iETI.js +0 -1
- package/dist/assets/pick-B_6Qi5aM.js +0 -1
- package/dist/assets/pie-7BOR55EZ-BSzfjxO9.js +0 -1
- package/dist/assets/pieDiagram-ADFJNKIX-crDibg1h.js +0 -30
- package/dist/assets/pig-BlBD3yVJ.js +0 -1
- package/dist/assets/play-BqVslMWT.js +0 -1
- package/dist/assets/plus-lLt9OnHP.js +0 -1
- package/dist/assets/popover-Ds94yD5w.js +0 -1
- package/dist/assets/powershell-CjOQ_PjD.js +0 -1
- package/dist/assets/precisionRound-CC3g-1mL.js +0 -1
- package/dist/assets/process-output-WvCcApgB.js +0 -1
- package/dist/assets/properties-5yVGVBrw.js +0 -1
- package/dist/assets/protobuf-hlm5v2rk.js +0 -1
- package/dist/assets/pug-CKg66ZCy.js +0 -1
- package/dist/assets/pug-DifRb20b.js +0 -1
- package/dist/assets/puppet-BpFPuj45.js +0 -1
- package/dist/assets/python-B_AEFhuO.js +0 -1
- package/dist/assets/q-BzDxfEQq.js +0 -1
- package/dist/assets/quadrantDiagram-AYHSOK5B-CJc8o4d8.js +0 -7
- package/dist/assets/r-BJ9VYyYa.js +0 -1
- package/dist/assets/radar-NHE76QYJ-B6FFI1V5.js +0 -1
- package/dist/assets/range-D2UKkEg-.js +0 -1
- package/dist/assets/react-vega-BAVgRRRE.js +0 -190
- package/dist/assets/react-vega-DgZywl4q.js +0 -1
- package/dist/assets/readonly-python-code-ZwGAfelJ.js +0 -1
- package/dist/assets/reduce-CaioMeUx.js +0 -1
- package/dist/assets/refresh-ccw-ClD7bKJN.js +0 -1
- package/dist/assets/refresh-cw-g2lXkmkk.js +0 -1
- package/dist/assets/renderShortcut-DpJiiIXp.js +0 -1
- package/dist/assets/request-registry-BSmhL1H2.js +0 -1
- package/dist/assets/requests-BBq_BAOb.js +0 -1
- package/dist/assets/requests-DqPjMMrg.js +0 -1
- package/dist/assets/requirementDiagram-UZGBJVZJ-BYtm3tqW.js +0 -64
- package/dist/assets/rotate-ccw-ek_QGiK_.js +0 -1
- package/dist/assets/rpm-Ez4HwV9T.js +0 -1
- package/dist/assets/ruby-BcHOM0EI.js +0 -1
- package/dist/assets/run-page-BsDIxokV.js +0 -1
- package/dist/assets/runs-CeGA8yfw.js +0 -1
- package/dist/assets/sankeyDiagram-TZEHDZUN-CITCOQqx.js +0 -10
- package/dist/assets/sas-Qmf5gHIU.js +0 -1
- package/dist/assets/save-XAnt-ceT.js +0 -1
- package/dist/assets/scheme-Ctib9V77.js +0 -1
- package/dist/assets/scratchpad-panel-Bl5zLNBf.js +0 -1
- package/dist/assets/secrets-panel-BVIrZtkg.js +0 -1
- package/dist/assets/select-BvXsf3Xf.js +0 -1
- package/dist/assets/sequenceDiagram-WL72ISMW-C0F5nOqB.js +0 -145
- package/dist/assets/session-BH_ggR75.js +0 -1
- package/dist/assets/session-panel-C2uwzFbP.js +0 -1
- package/dist/assets/settings-CfA0GMiv.js +0 -1
- package/dist/assets/share-ZGgmy4Y2.js +0 -1
- package/dist/assets/shell-BtgVCAhn.js +0 -1
- package/dist/assets/sieve-CMsTkuH0.js +0 -1
- package/dist/assets/slides-component-C82fZBn2.js +0 -1
- package/dist/assets/slides-component-vtdQFHpk.css +0 -1
- package/dist/assets/smalltalk-BKSCdMTS.js +0 -1
- package/dist/assets/snippets-panel-DE-LV-IU.js +0 -1
- package/dist/assets/sortBy-CGfmqUg5.js +0 -1
- package/dist/assets/sparql-TK6HapG4.js +0 -1
- package/dist/assets/spec-D4b3DLJL.js +0 -1
- package/dist/assets/spinner-BBkRPIE-.js +0 -1
- package/dist/assets/square-H4PcQmi-.js +0 -1
- package/dist/assets/square-function-anVqGjs0.js +0 -1
- package/dist/assets/src-CyeQdfB6.js +0 -1
- package/dist/assets/state-CcHiS-2P.js +0 -1
- package/dist/assets/state-D0hcaf71.js +0 -1
- package/dist/assets/stateDiagram-FKZM4ZOC-uYDMAqgO.js +0 -1
- package/dist/assets/stateDiagram-v2-4FDKWEC3-uOKkKYXc.js +0 -1
- package/dist/assets/step-BE8c2ivx.js +0 -1
- package/dist/assets/stex-CttlPN-j.js +0 -1
- package/dist/assets/stylus-C8FKVvgQ.js +0 -1
- package/dist/assets/swift-D7BZKS_y.js +0 -1
- package/dist/assets/switch-C3e8vdXY.js +0 -1
- package/dist/assets/table-CP7epTk0.js +0 -1
- package/dist/assets/table-CqXVb6os.js +0 -1
- package/dist/assets/tcl-DFrjfFmM.js +0 -1
- package/dist/assets/terminal-CX81S9mS.js +0 -62
- package/dist/assets/textarea-DIGVRG-E.js +0 -1
- package/dist/assets/textile-Bj913nF7.js +0 -1
- package/dist/assets/time-DsekpC83.js +0 -1
- package/dist/assets/timeline-definition-IT6M3QCI-CoII4u2b.js +0 -61
- package/dist/assets/toDate-D_5B1mPf.js +0 -1
- package/dist/assets/toInteger-CDcO32Gx.js +0 -1
- package/dist/assets/toggle-CUhRontP.js +0 -1
- package/dist/assets/toml-B6qgmS36.js +0 -1
- package/dist/assets/tooltip-D13BIptq.js +0 -1
- package/dist/assets/tooltip-DuBjDOOi.js +0 -61
- package/dist/assets/tracing-h7TdA1_p.js +0 -1
- package/dist/assets/tracing-panel-Babikkit.js +0 -2
- package/dist/assets/trash-2-xM9f8S8N.js +0 -1
- package/dist/assets/trash-dqgOOChU.js +0 -1
- package/dist/assets/tree-CLkssdQm.js +0 -3
- package/dist/assets/treemap-KMMF4GRG-Dm59wMtG.js +0 -1
- package/dist/assets/triangle-alert-CEPiiwZT.js +0 -1
- package/dist/assets/troff-CysSpyUG.js +0 -1
- package/dist/assets/ttcn-DG1k5i1B.js +0 -1
- package/dist/assets/ttcn-cfg-p1jV7x_I.js +0 -1
- package/dist/assets/turtle-DSkxUncB.js +0 -1
- package/dist/assets/types-B02j-0zo.js +0 -1
- package/dist/assets/types-B0GfsfZC.js +0 -17
- package/dist/assets/useAddCell-DWpYLvcR.js +0 -1
- package/dist/assets/useAsyncData-BwpzRwt1.js +0 -1
- package/dist/assets/useBoolean-YzhJ5RKx.js +0 -1
- package/dist/assets/useCellActionButton-Db9MI9XQ.js +0 -1
- package/dist/assets/useDateFormatter-D2wb2n1M.js +0 -1
- package/dist/assets/useDebounce-WGQaRdB8.js +0 -1
- package/dist/assets/useDeleteCell-87_Oh8sv.js +0 -1
- package/dist/assets/useDependencyPanelTab-BloSVZ6I.js +0 -1
- package/dist/assets/useEvent-BhXAndur.js +0 -1
- package/dist/assets/useIframeCapabilities-C-JfwMug.js +0 -1
- package/dist/assets/useInstallPackage-BPxx1pVW.js +0 -1
- package/dist/assets/useInterval-BjNoiPwK.js +0 -1
- package/dist/assets/useLifecycle-CKk7uG4E.js +0 -1
- package/dist/assets/useNonce-CGCAoh-I.js +0 -56
- package/dist/assets/useNotebookActions-_M_GKcKV.js +0 -1
- package/dist/assets/useNumberFormatter-DBQ_eVX1.js +0 -1
- package/dist/assets/usePress-a6K9HmSS.js +0 -7
- package/dist/assets/useRunCells-DCLlGGDx.js +0 -1
- package/dist/assets/useSplitCell-BGRLlxZG.js +0 -1
- package/dist/assets/useTheme-BHn95Ieq.js +0 -1
- package/dist/assets/utilities.esm-C57m8aJQ.js +0 -3
- package/dist/assets/utils-Cul5vKXJ.js +0 -1
- package/dist/assets/vb-BIvYC4My.js +0 -1
- package/dist/assets/vbscript-Coxg2EVQ.js +0 -1
- package/dist/assets/vega-component-DL4Ss3K1.js +0 -1
- package/dist/assets/vega-loader.browser-BR6dmQ_3.js +0 -6
- package/dist/assets/velocity-Cy90c7hC.js +0 -1
- package/dist/assets/verilog-CTtn3HA0.js +0 -1
- package/dist/assets/vhdl-D3r3mwOF.js +0 -1
- package/dist/assets/webidl-CHPMhkWI.js +0 -1
- package/dist/assets/workflow-DJ_gxPAG.js +0 -1
- package/dist/assets/write-secret-modal-D7m5yRRP.js +0 -1
- package/dist/assets/x-CvUjX6Qu.js +0 -1
- package/dist/assets/xquery-d-YlNlXH.js +0 -1
- package/dist/assets/xychartDiagram-PRI3JC2R-CUZdyvgx.js +0 -7
- package/dist/assets/yacas-BfZ0gs5_.js +0 -1
- package/dist/assets/youtube-B6DpFVdU.js +0 -1
- package/dist/assets/z80-cYJ4lyZA.js +0 -1
- /package/dist/assets/{Deferred-C3YDyEAR.js → Deferred-CfyqLOPG.js} +0 -0
- /package/dist/assets/{SSRProvider-CkFAAHXw.js → SSRProvider-BkypbMcb.js} +0 -0
- /package/dist/assets/{_arrayReduce-TT0iOGKY.js → _arrayReduce-BKEr35uH.js} +0 -0
- /package/dist/assets/{_baseProperty-NKyJO2oh.js → _baseProperty-DuoFhI7N.js} +0 -0
- /package/dist/assets/{_hasUnicode-CWqKLxBC.js → _hasUnicode-QS_pSfjY.js} +0 -0
- /package/dist/assets/{apl-T0uH_RjM.js → apl-_OaVDIdj.js} +0 -0
- /package/dist/assets/{array-BCwZq3ts.js → array-CEZNxKGf.js} +0 -0
- /package/dist/assets/{asciiarmor-D3ol7c2G.js → asciiarmor-C9F03XGV.js} +0 -0
- /package/dist/assets/{asn1-DA-fXXsk.js → asn1-BnyFT2xh.js} +0 -0
- /package/dist/assets/{asterisk-B04IJwAt.js → asterisk-Dykb_Qas.js} +0 -0
- /package/dist/assets/{blob-CTort_or.js → blob-C3EfaMOb.js} +0 -0
- /package/dist/assets/{brainfuck-exn1QR7H.js → brainfuck-BDCj_8tQ.js} +0 -0
- /package/dist/assets/{bundle.esm-CvMga-X6.js → bundle.esm-cfPbrCwe.js} +0 -0
- /package/dist/assets/{cjs-BFk44HyO.js → cjs-CVt8hZ5L.js} +0 -0
- /package/dist/assets/{click-outside-container-ChOZeHlm.js → click-outside-container-gHk0jCel.js} +0 -0
- /package/dist/assets/{clike-BK27e5qn.js → clike-CoedqJfF.js} +0 -0
- /package/dist/assets/{clojure-Df1U5nhC.js → clojure-BEClvbJJ.js} +0 -0
- /package/dist/assets/{clsx-nlQpVU_5.js → clsx-A78R3nYl.js} +0 -0
- /package/dist/assets/{cmake-DrCf0yvp.js → cmake-CCoJFsI7.js} +0 -0
- /package/dist/assets/{cobol-BWxHqof4.js → cobol-CrncQb9J.js} +0 -0
- /package/dist/assets/{coffeescript-nKvg8y_U.js → coffeescript-DwVkfncu.js} +0 -0
- /package/dist/assets/{colors-CI3VyX7X.js → colors-Dm6L93c7.js} +0 -0
- /package/dist/assets/{common-keywords-D6ImdZX8.js → common-keywords-sop6vXJR.js} +0 -0
- /package/dist/assets/{commonlisp-Dm562cBV.js → commonlisp-CJ40YQuw.js} +0 -0
- /package/dist/assets/{constants-B6Cb__3x.js → constants-CdR60lKM.js} +0 -0
- /package/dist/assets/{createLucideIcon-C5NDK5NL.js → createLucideIcon-BvP5LBIs.js} +0 -0
- /package/dist/assets/{crystal-CrCmK2Cb.js → crystal-YUhScjFU.js} +0 -0
- /package/dist/assets/{css-jpfGFPDE.js → css-BpYxrU6m.js} +0 -0
- /package/dist/assets/{cypher-RQ5M28al.js → cypher-DtBx1FxP.js} +0 -0
- /package/dist/assets/{cytoscape.esm-BauVghWH.js → cytoscape.esm-CuwfIk-V.js} +0 -0
- /package/dist/assets/{d-CNQ_nPqU.js → d-Dah-rTjO.js} +0 -0
- /package/dist/assets/{defaultLocale-YxeC1tYk.js → defaultLocale-DPBdGRrH.js} +0 -0
- /package/dist/assets/{defaultLocale-BgG6rTtO.js → defaultLocale-Lfi0pexn.js} +0 -0
- /package/dist/assets/{diff-DOODcY7A.js → diff-CbRoYxJw.js} +0 -0
- /package/dist/assets/{dist-C1VXabOr.js → dist-BjCIGEdQ.js} +0 -0
- /package/dist/assets/{dtd-CRYKjxdR.js → dtd-DnxzgohM.js} +0 -0
- /package/dist/assets/{duckdb-keywords-5i8us9ML.js → duckdb-keywords-CEWQs1NJ.js} +0 -0
- /package/dist/assets/{dylan-Bg0sO2y3.js → dylan-DV-GV0Um.js} +0 -0
- /package/dist/assets/{ebnf--2SLsnbd.js → ebnf-BoS8ZFT2.js} +0 -0
- /package/dist/assets/{ecl-DaBeV7OZ.js → ecl-D5jDMU68.js} +0 -0
- /package/dist/assets/{eiffel-BtJc6fqQ.js → eiffel-DKJu2v1N.js} +0 -0
- /package/dist/assets/{elm-D9Rly7Qq.js → elm-jc1dahX5.js} +0 -0
- /package/dist/assets/{emotion-is-prop-valid.esm-C4tLsq6-.js → emotion-is-prop-valid.esm-CK2zY6a8.js} +0 -0
- /package/dist/assets/{erlang-FZMRuv-7.js → erlang-xV-AfkqS.js} +0 -0
- /package/dist/assets/{errors-CZb6hI2x.js → errors-iwK4b4VF.js} +0 -0
- /package/dist/assets/{esm-CMMkDitC.js → esm-DM72gy9Q.js} +0 -0
- /package/dist/assets/{extends-C9xCLRj9.js → extends-CeSFM22p.js} +0 -0
- /package/dist/assets/{fcl-CcJxrJDr.js → fcl-JwfU5Rr4.js} +0 -0
- /package/dist/assets/{forth-C6jh4lHA.js → forth-C9zvylLL.js} +0 -0
- /package/dist/assets/{fortran-DuxTe5qi.js → fortran-CyOyVtLP.js} +0 -0
- /package/dist/assets/{gas-D7RWbiQ0.js → gas-B3PseLpk.js} +0 -0
- /package/dist/assets/{gherkin-DV4l4nlf.js → gherkin-BJegP8jG.js} +0 -0
- /package/dist/assets/{groovy-Ij7mXzwd.js → groovy-B7OnG3ZU.js} +0 -0
- /package/dist/assets/{hasIn-CycJImp8.js → hasIn-Dzwrcr75.js} +0 -0
- /package/dist/assets/{haskell-BT_ZNgUJ.js → haskell-BtINGz8b.js} +0 -0
- /package/dist/assets/{haxe-DYYwGmM8.js → haxe-DG3vLZ0S.js} +0 -0
- /package/dist/assets/{http-BBXW5Cu0.js → http-BSf7msSy.js} +0 -0
- /package/dist/assets/{idl-CjBvIccU.js → idl-ARaXQ5Lo.js} +0 -0
- /package/dist/assets/{init-DE_uL9Ns.js → init-BpLL1fe9.js} +0 -0
- /package/dist/assets/{invariant-CAG_dYON.js → invariant-awXiPaF0.js} +0 -0
- /package/dist/assets/{isString-DtNk7ov1.js → isString-CqoLqJdS.js} +0 -0
- /package/dist/assets/{javascript-DQz7szA1.js → javascript-DbuC-gIm.js} +0 -0
- /package/dist/assets/{jsx-runtime-BttUhiRM.js → jsx-runtime-CP2fAiZX.js} +0 -0
- /package/dist/assets/{julia-U0NSUEwm.js → julia-C2ly3uah.js} +0 -0
- /package/dist/assets/{katex-bTFStUqL.js → katex-0Z75JF53.js} +0 -0
- /package/dist/assets/{livescript-D7jeebX7.js → livescript-BHGtnzZk.js} +0 -0
- /package/dist/assets/{loro_wasm_bg-CDlYurK8.js → loro_wasm_bg-DNKZeVyM.js} +0 -0
- /package/dist/assets/{lua-CT4vrRvN.js → lua-0hHWC4O5.js} +0 -0
- /package/dist/assets/{math-Bf0RgaKx.js → math-CpvW-dlE.js} +0 -0
- /package/dist/assets/{mathematica-DmzlinOc.js → mathematica-BeUaygJp.js} +0 -0
- /package/dist/assets/{mbox-DYDL20A1.js → mbox-CR4_Euk_.js} +0 -0
- /package/dist/assets/{mirc-6LiBC6Dw.js → mirc-Cc0cHJWO.js} +0 -0
- /package/dist/assets/{mllike-orSu1SHG.js → mllike-D58Jm9uo.js} +0 -0
- /package/dist/assets/{modelica-BsibU-7c.js → modelica-CVUPArJj.js} +0 -0
- /package/dist/assets/{mscgen-vX4NsSXf.js → mscgen-B_Av7U7x.js} +0 -0
- /package/dist/assets/{mumps-DIZYQE11.js → mumps-CSXER37P.js} +0 -0
- /package/dist/assets/{nginx-CiiHaY6Q.js → nginx-CNcs7tVC.js} +0 -0
- /package/dist/assets/{node-sql-parser-Bzh-sm1v.js → node-sql-parser-fWuidk6P.js} +0 -0
- /package/dist/assets/{ntriples-CwlUIE0o.js → ntriples-BH96LyUh.js} +0 -0
- /package/dist/assets/{objectWithoutPropertiesLoose-B0M-wzEz.js → objectWithoutPropertiesLoose-BkUn3I0-.js} +0 -0
- /package/dist/assets/{octave-BWtN_wao.js → octave-MtIOg8Xr.js} +0 -0
- /package/dist/assets/{oz-CJMVKlqL.js → oz-CQSW4u2r.js} +0 -0
- /package/dist/assets/{pascal-C9rPtth-.js → pascal-kJIfJeBL.js} +0 -0
- /package/dist/assets/{path-LDcaQ64B.js → path-DtYs9Dst.js} +0 -0
- /package/dist/assets/{paths-gUC_uwid.js → paths-BVwhPRFT.js} +0 -0
- /package/dist/assets/{perl-CF7pKLbl.js → perl-DDhi21z2.js} +0 -0
- /package/dist/assets/{pig-Bu0nn8JT.js → pig-BdUzMo_O.js} +0 -0
- /package/dist/assets/{powershell-Bzwpi8yQ.js → powershell-D_qEipPM.js} +0 -0
- /package/dist/assets/{preload-helper-reX6CfMN.js → preload-helper-y72bE5iF.js} +0 -0
- /package/dist/assets/{prop-types-dQH5VuL1.js → prop-types-B6Y2e__V.js} +0 -0
- /package/dist/assets/{properties-Cfh_Lj0j.js → properties-CS6vA6nt.js} +0 -0
- /package/dist/assets/{protobuf-Vz3fs9Hb.js → protobuf-COtqlKri.js} +0 -0
- /package/dist/assets/{puppet-JwSHf4DX.js → puppet-Ctozq3R1.js} +0 -0
- /package/dist/assets/{purify.es-CPiHmTAE.js → purify.es-DFAhPV1y.js} +0 -0
- /package/dist/assets/{python-BRHQZrcc.js → python-D9pCSume.js} +0 -0
- /package/dist/assets/{q-DWFQ7YI_.js → q-CKhLXEtL.js} +0 -0
- /package/dist/assets/{r-DHkTNFL2.js → r-BvAfMHMS.js} +0 -0
- /package/dist/assets/{range-CRQCYhPr.js → range-Dk7lXDev.js} +0 -0
- /package/dist/assets/{react-resizable-panels.browser.esm-DzNEmH2W.js → react-resizable-panels.browser.esm-RgA6v8U3.js} +0 -0
- /package/dist/assets/{rpm-zbaZz_dk.js → rpm-CUTjLkz_.js} +0 -0
- /package/dist/assets/{ruby-COvM5Bj_.js → ruby-jDDZwg5-.js} +0 -0
- /package/dist/assets/{sas-Be8P6y_s.js → sas-mA9119dU.js} +0 -0
- /package/dist/assets/{scheme-B9Zors0b.js → scheme-Bw6sYvQh.js} +0 -0
- /package/dist/assets/{shell-CaaQwZ-W.js → shell-BSG_6EVv.js} +0 -0
- /package/dist/assets/{sieve-CdflT_3W.js → sieve-BvqlFANQ.js} +0 -0
- /package/dist/assets/{simple-mode-BJAT_N3M.js → simple-mode-C0eLpHUg.js} +0 -0
- /package/dist/assets/{smalltalk-CRO88y3z.js → smalltalk-CarfjYvX.js} +0 -0
- /package/dist/assets/{solr-DYYuHZ7Q.js → solr-B928KjNx.js} +0 -0
- /package/dist/assets/{sparql-DEker8ZS.js → sparql-DpdbGHkw.js} +0 -0
- /package/dist/assets/{spreadsheet-hVThRh5Z.js → spreadsheet-CAG48M_e.js} +0 -0
- /package/dist/assets/{sql-DG1AJQLP.js → sql-nk70rjN1.js} +0 -0
- /package/dist/assets/{src-CsZby044.js → src-BRLtyMKi.js} +0 -0
- /package/dist/assets/{stex-iJ-Q_35P.js → stex-C6JeW1YI.js} +0 -0
- /package/dist/assets/{stylus-DAJwnVOa.js → stylus-DwqF5JX3.js} +0 -0
- /package/dist/assets/{swift-D5F-FU3-.js → swift-XQW_3Dnq.js} +0 -0
- /package/dist/assets/{tcl-DirNbhYm.js → tcl-DSytfKxX.js} +0 -0
- /package/dist/assets/{textile-DhHo4rKl.js → textile-C0sJ895O.js} +0 -0
- /package/dist/assets/{tiddlywiki-Dc8c_QaF.js → tiddlywiki-BiHxc-2_.js} +0 -0
- /package/dist/assets/{tiki-CwGnGueS.js → tiki-Cwip62d7.js} +0 -0
- /package/dist/assets/{timer-BgiWPhV9.js → timer-BEJidwwG.js} +0 -0
- /package/dist/assets/{toml-CrP9HWVu.js → toml-Bduwr9FD.js} +0 -0
- /package/dist/assets/{treemap-BKxvGXqJ.js → treemap-qinQgXo1.js} +0 -0
- /package/dist/assets/{troff-BWD1WiE0.js → troff-DhuvYLXE.js} +0 -0
- /package/dist/assets/{ttcn-CQzcRj0D.js → ttcn-C2K9hXYD.js} +0 -0
- /package/dist/assets/{ttcn-cfg-jzTcqwRW.js → ttcn-cfg-DWjJYHn-.js} +0 -0
- /package/dist/assets/{turtle-BAqH2D2z.js → turtle-q-WiynB8.js} +0 -0
- /package/dist/assets/{types-Cpe-qFT-.js → types-Myu7G9iV.js} +0 -0
- /package/dist/assets/{use-toast-CAzHts2e.js → use-toast-BtZldTi5.js} +0 -0
- /package/dist/assets/{useDeepCompareMemoize-BharaTWq.js → useDeepCompareMemoize-D1hTncYV.js} +0 -0
- /package/dist/assets/{useEventListener-B3HCnU20.js → useEventListener-CjXriKgk.js} +0 -0
- /package/dist/assets/{uuid-BW_8PQB5.js → uuid-BukULOeS.js} +0 -0
- /package/dist/assets/{vb-CrUpzy4g.js → vb-BzUPMIAg.js} +0 -0
- /package/dist/assets/{vbscript-DEuHZ0Y0.js → vbscript-CUBxk5hi.js} +0 -0
- /package/dist/assets/{velocity-D99sTvXl.js → velocity-CFrdKnJ-.js} +0 -0
- /package/dist/assets/{verilog-XWBMMjwd.js → verilog-uIU1FX2_.js} +0 -0
- /package/dist/assets/{vhdl-BAGmVXDV.js → vhdl-Ca2_GOin.js} +0 -0
- /package/dist/assets/{web-vitals-BV7RJGkj.js → web-vitals-CJ8ovao_.js} +0 -0
- /package/dist/assets/{webidl-xagG_7hd.js → webidl-Fd2zBPO0.js} +0 -0
- /package/dist/assets/{ws-BZQmQxZ7.js → ws-Sb1KIggW.js} +0 -0
- /package/dist/assets/{xquery-B8Mguhly.js → xquery-S8ffVcwS.js} +0 -0
- /package/dist/assets/{yacas-XW2NxGKw.js → yacas-BFgZPXn6.js} +0 -0
- /package/dist/assets/{z80-DhICfTcL.js → z80-P5o2E6_C.js} +0 -0
- /package/src/components/editor/file-tree/__tests__/{file-expolorer.test.ts → file-explorer.test.ts} +0 -0
|
@@ -0,0 +1,345 @@
|
|
|
1
|
+
/* Copyright 2026 Marimo. All rights reserved. */
|
|
2
|
+
import { beforeEach, describe, expect, it } from "vitest";
|
|
3
|
+
import type { VariableName } from "../../variables/types";
|
|
4
|
+
import { exportedForTesting } from "../state";
|
|
5
|
+
import type { StorageEntry, StorageNamespace, StorageState } from "../types";
|
|
6
|
+
|
|
7
|
+
const { initialState, reducer, createActions } = exportedForTesting;
|
|
8
|
+
|
|
9
|
+
function makeNamespace(
|
|
10
|
+
overrides: Partial<StorageNamespace> & { name: string },
|
|
11
|
+
): StorageNamespace {
|
|
12
|
+
return {
|
|
13
|
+
displayName: overrides.displayName ?? overrides.name,
|
|
14
|
+
name: overrides.name,
|
|
15
|
+
protocol: overrides.protocol ?? "s3",
|
|
16
|
+
rootPath: overrides.rootPath ?? "/",
|
|
17
|
+
storageEntries: overrides.storageEntries ?? [],
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
function makeEntry(
|
|
22
|
+
overrides: Partial<StorageEntry> & { path: string },
|
|
23
|
+
): StorageEntry {
|
|
24
|
+
return {
|
|
25
|
+
kind: overrides.kind ?? "file",
|
|
26
|
+
lastModified: overrides.lastModified ?? null,
|
|
27
|
+
metadata: overrides.metadata ?? {},
|
|
28
|
+
path: overrides.path,
|
|
29
|
+
size: overrides.size ?? 0,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
describe("storage state", () => {
|
|
34
|
+
let state: StorageState;
|
|
35
|
+
|
|
36
|
+
const actions = createActions((action) => {
|
|
37
|
+
state = reducer(state, action);
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
beforeEach(() => {
|
|
41
|
+
state = initialState();
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
describe("initialState", () => {
|
|
45
|
+
it("should start with empty namespaces and entries", () => {
|
|
46
|
+
expect(state).toEqual({
|
|
47
|
+
namespaces: [],
|
|
48
|
+
entriesByPath: new Map(),
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
describe("setNamespaces", () => {
|
|
54
|
+
it("should add namespaces from an empty state", () => {
|
|
55
|
+
const ns1 = makeNamespace({ name: "my_s3", protocol: "s3" });
|
|
56
|
+
const ns2 = makeNamespace({ name: "my_gcs", protocol: "gcs" });
|
|
57
|
+
|
|
58
|
+
actions.setNamespaces({ namespaces: [ns1, ns2] });
|
|
59
|
+
|
|
60
|
+
expect(state.namespaces).toEqual([ns1, ns2]);
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
it("should merge namespaces by name, replacing existing ones", () => {
|
|
64
|
+
const nsOld = makeNamespace({
|
|
65
|
+
name: "my_s3",
|
|
66
|
+
protocol: "s3",
|
|
67
|
+
rootPath: "/old",
|
|
68
|
+
});
|
|
69
|
+
const nsOther = makeNamespace({ name: "my_gcs", protocol: "gcs" });
|
|
70
|
+
actions.setNamespaces({ namespaces: [nsOld, nsOther] });
|
|
71
|
+
|
|
72
|
+
const nsUpdated = makeNamespace({
|
|
73
|
+
name: "my_s3",
|
|
74
|
+
protocol: "s3",
|
|
75
|
+
rootPath: "/new",
|
|
76
|
+
});
|
|
77
|
+
actions.setNamespaces({ namespaces: [nsUpdated] });
|
|
78
|
+
|
|
79
|
+
expect(state.namespaces).toHaveLength(2);
|
|
80
|
+
expect(state.namespaces).toEqual([nsUpdated, nsOther]);
|
|
81
|
+
});
|
|
82
|
+
|
|
83
|
+
it("should add new namespaces alongside existing ones", () => {
|
|
84
|
+
const ns1 = makeNamespace({ name: "ns1" });
|
|
85
|
+
actions.setNamespaces({ namespaces: [ns1] });
|
|
86
|
+
|
|
87
|
+
const ns2 = makeNamespace({ name: "ns2" });
|
|
88
|
+
actions.setNamespaces({ namespaces: [ns2] });
|
|
89
|
+
|
|
90
|
+
expect(state.namespaces).toHaveLength(2);
|
|
91
|
+
expect(state.namespaces).toEqual([ns1, ns2]);
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
it("should not affect entriesByPath", () => {
|
|
95
|
+
const entry = makeEntry({ path: "file.txt" });
|
|
96
|
+
actions.setEntries({
|
|
97
|
+
namespace: "ns",
|
|
98
|
+
prefix: null,
|
|
99
|
+
entries: [entry],
|
|
100
|
+
});
|
|
101
|
+
|
|
102
|
+
actions.setNamespaces({
|
|
103
|
+
namespaces: [makeNamespace({ name: "ns" })],
|
|
104
|
+
});
|
|
105
|
+
|
|
106
|
+
expect(state.entriesByPath.get("ns::")).toEqual([entry]);
|
|
107
|
+
});
|
|
108
|
+
});
|
|
109
|
+
|
|
110
|
+
describe("setEntries", () => {
|
|
111
|
+
it("should store entries keyed by namespace and prefix", () => {
|
|
112
|
+
const entries = [
|
|
113
|
+
makeEntry({ path: "a.txt", size: 100 }),
|
|
114
|
+
makeEntry({ path: "b.txt", size: 200 }),
|
|
115
|
+
];
|
|
116
|
+
|
|
117
|
+
actions.setEntries({
|
|
118
|
+
namespace: "my_s3",
|
|
119
|
+
prefix: "data/",
|
|
120
|
+
entries,
|
|
121
|
+
});
|
|
122
|
+
|
|
123
|
+
expect(state.entriesByPath.get("my_s3::data/")).toEqual(entries);
|
|
124
|
+
});
|
|
125
|
+
|
|
126
|
+
it("should use empty string for null prefix", () => {
|
|
127
|
+
const entries = [makeEntry({ path: "root.txt" })];
|
|
128
|
+
|
|
129
|
+
actions.setEntries({
|
|
130
|
+
namespace: "my_s3",
|
|
131
|
+
prefix: null,
|
|
132
|
+
entries,
|
|
133
|
+
});
|
|
134
|
+
|
|
135
|
+
expect(state.entriesByPath.get("my_s3::")).toEqual(entries);
|
|
136
|
+
});
|
|
137
|
+
|
|
138
|
+
it("should use empty string for undefined prefix", () => {
|
|
139
|
+
const entries = [makeEntry({ path: "root.txt" })];
|
|
140
|
+
|
|
141
|
+
actions.setEntries({
|
|
142
|
+
namespace: "my_s3",
|
|
143
|
+
prefix: undefined,
|
|
144
|
+
entries,
|
|
145
|
+
});
|
|
146
|
+
|
|
147
|
+
expect(state.entriesByPath.get("my_s3::")).toEqual(entries);
|
|
148
|
+
});
|
|
149
|
+
|
|
150
|
+
it("should overwrite entries for the same namespace and prefix", () => {
|
|
151
|
+
const oldEntries = [makeEntry({ path: "old.txt" })];
|
|
152
|
+
const newEntries = [makeEntry({ path: "new.txt" })];
|
|
153
|
+
|
|
154
|
+
actions.setEntries({
|
|
155
|
+
namespace: "ns",
|
|
156
|
+
prefix: "p/",
|
|
157
|
+
entries: oldEntries,
|
|
158
|
+
});
|
|
159
|
+
actions.setEntries({
|
|
160
|
+
namespace: "ns",
|
|
161
|
+
prefix: "p/",
|
|
162
|
+
entries: newEntries,
|
|
163
|
+
});
|
|
164
|
+
|
|
165
|
+
expect(state.entriesByPath.get("ns::p/")).toEqual(newEntries);
|
|
166
|
+
});
|
|
167
|
+
|
|
168
|
+
it("should store entries for different namespaces independently", () => {
|
|
169
|
+
const entriesA = [makeEntry({ path: "a.txt" })];
|
|
170
|
+
const entriesB = [makeEntry({ path: "b.txt" })];
|
|
171
|
+
|
|
172
|
+
actions.setEntries({
|
|
173
|
+
namespace: "ns_a",
|
|
174
|
+
prefix: null,
|
|
175
|
+
entries: entriesA,
|
|
176
|
+
});
|
|
177
|
+
actions.setEntries({
|
|
178
|
+
namespace: "ns_b",
|
|
179
|
+
prefix: null,
|
|
180
|
+
entries: entriesB,
|
|
181
|
+
});
|
|
182
|
+
|
|
183
|
+
expect(state.entriesByPath.get("ns_a::")).toEqual(entriesA);
|
|
184
|
+
expect(state.entriesByPath.get("ns_b::")).toEqual(entriesB);
|
|
185
|
+
});
|
|
186
|
+
|
|
187
|
+
it("should store entries for different prefixes independently", () => {
|
|
188
|
+
const entriesRoot = [makeEntry({ path: "root.txt" })];
|
|
189
|
+
const entriesSub = [makeEntry({ path: "sub/file.txt" })];
|
|
190
|
+
|
|
191
|
+
actions.setEntries({
|
|
192
|
+
namespace: "ns",
|
|
193
|
+
prefix: null,
|
|
194
|
+
entries: entriesRoot,
|
|
195
|
+
});
|
|
196
|
+
actions.setEntries({
|
|
197
|
+
namespace: "ns",
|
|
198
|
+
prefix: "sub/",
|
|
199
|
+
entries: entriesSub,
|
|
200
|
+
});
|
|
201
|
+
|
|
202
|
+
expect(state.entriesByPath.get("ns::")).toEqual(entriesRoot);
|
|
203
|
+
expect(state.entriesByPath.get("ns::sub/")).toEqual(entriesSub);
|
|
204
|
+
});
|
|
205
|
+
|
|
206
|
+
it("should not affect namespaces", () => {
|
|
207
|
+
const ns = makeNamespace({ name: "ns" });
|
|
208
|
+
actions.setNamespaces({ namespaces: [ns] });
|
|
209
|
+
|
|
210
|
+
actions.setEntries({
|
|
211
|
+
namespace: "ns",
|
|
212
|
+
prefix: null,
|
|
213
|
+
entries: [makeEntry({ path: "file.txt" })],
|
|
214
|
+
});
|
|
215
|
+
|
|
216
|
+
expect(state.namespaces).toEqual([ns]);
|
|
217
|
+
});
|
|
218
|
+
});
|
|
219
|
+
|
|
220
|
+
describe("clearNamespaceCache", () => {
|
|
221
|
+
it("should remove all entries for the given namespace", () => {
|
|
222
|
+
actions.setEntries({
|
|
223
|
+
namespace: "my_s3",
|
|
224
|
+
prefix: null,
|
|
225
|
+
entries: [makeEntry({ path: "root.txt" })],
|
|
226
|
+
});
|
|
227
|
+
actions.setEntries({
|
|
228
|
+
namespace: "my_s3",
|
|
229
|
+
prefix: "data/",
|
|
230
|
+
entries: [makeEntry({ path: "data/file.csv" })],
|
|
231
|
+
});
|
|
232
|
+
actions.setEntries({
|
|
233
|
+
namespace: "my_s3",
|
|
234
|
+
prefix: "data/nested/",
|
|
235
|
+
entries: [makeEntry({ path: "data/nested/deep.txt" })],
|
|
236
|
+
});
|
|
237
|
+
|
|
238
|
+
actions.clearNamespaceCache("my_s3");
|
|
239
|
+
|
|
240
|
+
expect(state.entriesByPath.get("my_s3::")).toBeUndefined();
|
|
241
|
+
expect(state.entriesByPath.get("my_s3::data/")).toBeUndefined();
|
|
242
|
+
expect(state.entriesByPath.get("my_s3::data/nested/")).toBeUndefined();
|
|
243
|
+
});
|
|
244
|
+
|
|
245
|
+
it("should not affect entries from other namespaces", () => {
|
|
246
|
+
const otherEntries = [makeEntry({ path: "other.txt" })];
|
|
247
|
+
actions.setEntries({
|
|
248
|
+
namespace: "my_s3",
|
|
249
|
+
prefix: null,
|
|
250
|
+
entries: [makeEntry({ path: "root.txt" })],
|
|
251
|
+
});
|
|
252
|
+
actions.setEntries({
|
|
253
|
+
namespace: "my_gcs",
|
|
254
|
+
prefix: null,
|
|
255
|
+
entries: otherEntries,
|
|
256
|
+
});
|
|
257
|
+
|
|
258
|
+
actions.clearNamespaceCache("my_s3");
|
|
259
|
+
|
|
260
|
+
expect(state.entriesByPath.get("my_s3::")).toBeUndefined();
|
|
261
|
+
expect(state.entriesByPath.get("my_gcs::")).toEqual(otherEntries);
|
|
262
|
+
});
|
|
263
|
+
|
|
264
|
+
it("should not affect namespaces", () => {
|
|
265
|
+
const ns = makeNamespace({ name: "my_s3" });
|
|
266
|
+
actions.setNamespaces({ namespaces: [ns] });
|
|
267
|
+
actions.setEntries({
|
|
268
|
+
namespace: "my_s3",
|
|
269
|
+
prefix: null,
|
|
270
|
+
entries: [makeEntry({ path: "file.txt" })],
|
|
271
|
+
});
|
|
272
|
+
|
|
273
|
+
actions.clearNamespaceCache("my_s3");
|
|
274
|
+
|
|
275
|
+
expect(state.namespaces).toEqual([ns]);
|
|
276
|
+
});
|
|
277
|
+
|
|
278
|
+
it("should be a no-op for a namespace with no cached entries", () => {
|
|
279
|
+
actions.setEntries({
|
|
280
|
+
namespace: "my_gcs",
|
|
281
|
+
prefix: null,
|
|
282
|
+
entries: [makeEntry({ path: "file.txt" })],
|
|
283
|
+
});
|
|
284
|
+
|
|
285
|
+
actions.clearNamespaceCache("nonexistent");
|
|
286
|
+
|
|
287
|
+
expect(state.entriesByPath.get("my_gcs::")).toEqual([
|
|
288
|
+
makeEntry({ path: "file.txt" }),
|
|
289
|
+
]);
|
|
290
|
+
});
|
|
291
|
+
});
|
|
292
|
+
|
|
293
|
+
describe("filterFromVariables", () => {
|
|
294
|
+
it("should keep namespaces whose variable is still in scope", () => {
|
|
295
|
+
const ns1 = makeNamespace({ name: "var_a" });
|
|
296
|
+
const ns2 = makeNamespace({ name: "var_b" });
|
|
297
|
+
actions.setNamespaces({ namespaces: [ns1, ns2] });
|
|
298
|
+
|
|
299
|
+
actions.filterFromVariables([
|
|
300
|
+
"var_a" as VariableName,
|
|
301
|
+
"var_b" as VariableName,
|
|
302
|
+
]);
|
|
303
|
+
|
|
304
|
+
expect(state.namespaces).toEqual([ns1, ns2]);
|
|
305
|
+
});
|
|
306
|
+
|
|
307
|
+
it("should remove namespaces whose variable is no longer in scope", () => {
|
|
308
|
+
const ns1 = makeNamespace({ name: "var_a" });
|
|
309
|
+
const ns2 = makeNamespace({ name: "var_b" });
|
|
310
|
+
actions.setNamespaces({ namespaces: [ns1, ns2] });
|
|
311
|
+
|
|
312
|
+
actions.filterFromVariables(["var_a" as VariableName]);
|
|
313
|
+
|
|
314
|
+
expect(state.namespaces).toEqual([ns1]);
|
|
315
|
+
});
|
|
316
|
+
|
|
317
|
+
it("should remove all named namespaces when given an empty variable list", () => {
|
|
318
|
+
const ns1 = makeNamespace({ name: "var_a" });
|
|
319
|
+
const ns2 = makeNamespace({ name: "var_b" });
|
|
320
|
+
actions.setNamespaces({ namespaces: [ns1, ns2] });
|
|
321
|
+
|
|
322
|
+
actions.filterFromVariables([]);
|
|
323
|
+
|
|
324
|
+
expect(state.namespaces).toEqual([]);
|
|
325
|
+
});
|
|
326
|
+
|
|
327
|
+
it("should not affect entriesByPath", () => {
|
|
328
|
+
const ns = makeNamespace({ name: "ns" });
|
|
329
|
+
actions.setNamespaces({ namespaces: [ns] });
|
|
330
|
+
|
|
331
|
+
const entry = makeEntry({ path: "file.txt" });
|
|
332
|
+
actions.setEntries({
|
|
333
|
+
namespace: "ns",
|
|
334
|
+
prefix: null,
|
|
335
|
+
entries: [entry],
|
|
336
|
+
});
|
|
337
|
+
|
|
338
|
+
actions.filterFromVariables([]);
|
|
339
|
+
|
|
340
|
+
// Namespace removed, but entries remain (they are keyed independently)
|
|
341
|
+
expect(state.namespaces).toEqual([]);
|
|
342
|
+
expect(state.entriesByPath.get("ns::")).toEqual([entry]);
|
|
343
|
+
});
|
|
344
|
+
});
|
|
345
|
+
});
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/* Copyright 2026 Marimo. All rights reserved. */
|
|
2
|
+
import { describe, expect, it } from "vitest";
|
|
3
|
+
import { storageNamespacePrefix, storagePathKey, storageUrl } from "../types";
|
|
4
|
+
|
|
5
|
+
describe("storagePathKey", () => {
|
|
6
|
+
it("should join namespace and prefix", () => {
|
|
7
|
+
expect(storagePathKey("ns", "data/")).toBe("ns::data/");
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
it("should use empty string for null prefix", () => {
|
|
11
|
+
expect(storagePathKey("ns", null)).toBe("ns::");
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
it("should use empty string for undefined prefix", () => {
|
|
15
|
+
expect(storagePathKey("ns", undefined)).toBe("ns::");
|
|
16
|
+
});
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
describe("storageNamespacePrefix", () => {
|
|
20
|
+
it("should append separator", () => {
|
|
21
|
+
expect(storageNamespacePrefix("my_s3")).toBe("my_s3::");
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
describe("storageUrl", () => {
|
|
26
|
+
it("should combine protocol, rootPath, and entryPath", () => {
|
|
27
|
+
expect(storageUrl("s3", "my-bucket", "data/file.csv")).toEqual(
|
|
28
|
+
new URL("s3://my-bucket/data/file.csv"),
|
|
29
|
+
);
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
it("should handle empty rootPath", () => {
|
|
33
|
+
expect(storageUrl("s3", "", "marimo-artifacts/file.csv")).toEqual(
|
|
34
|
+
new URL("s3://marimo-artifacts/file.csv"),
|
|
35
|
+
);
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
it("should handle rootPath with trailing slash", () => {
|
|
39
|
+
expect(storageUrl("s3", "my-bucket/", "data/file.csv")).toEqual(
|
|
40
|
+
new URL("s3://my-bucket/data/file.csv"),
|
|
41
|
+
);
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
it("should handle entryPath with leading slash", () => {
|
|
45
|
+
expect(storageUrl("s3", "my-bucket", "/data/file.csv")).toEqual(
|
|
46
|
+
new URL("s3://my-bucket/data/file.csv"),
|
|
47
|
+
);
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
it("should collapse multiple slashes between rootPath and entryPath", () => {
|
|
51
|
+
expect(storageUrl("s3", "my-bucket/", "/data/file.csv")).toEqual(
|
|
52
|
+
new URL("s3://my-bucket/data/file.csv"),
|
|
53
|
+
);
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
it("should handle directory paths with trailing slash", () => {
|
|
57
|
+
expect(storageUrl("gcs", "my-bucket", "data/")).toEqual(
|
|
58
|
+
new URL("gcs://my-bucket/data/"),
|
|
59
|
+
);
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
it("should handle empty entryPath", () => {
|
|
63
|
+
expect(storageUrl("s3", "my-bucket", "")).toEqual(
|
|
64
|
+
new URL("s3://my-bucket"),
|
|
65
|
+
);
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
it("should handle both rootPath and entryPath empty", () => {
|
|
69
|
+
expect(storageUrl("s3", "", "")).toEqual(new URL("s3://"));
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
it("should work with file protocol", () => {
|
|
73
|
+
expect(storageUrl("file", "/home/user", "docs/readme.md")).toEqual(
|
|
74
|
+
new URL("file:///home/user/docs/readme.md"),
|
|
75
|
+
);
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
it("should work with nested rootPath", () => {
|
|
79
|
+
expect(storageUrl("s3", "bucket/prefix", "sub/file.txt")).toEqual(
|
|
80
|
+
new URL("s3://bucket/prefix/sub/file.txt"),
|
|
81
|
+
);
|
|
82
|
+
});
|
|
83
|
+
});
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
/* Copyright 2026 Marimo. All rights reserved. */
|
|
2
|
+
|
|
3
|
+
import { renderHook, waitFor } from "@testing-library/react";
|
|
4
|
+
import { createStore, Provider } from "jotai";
|
|
5
|
+
import type { ReactNode } from "react";
|
|
6
|
+
import * as React from "react";
|
|
7
|
+
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
|
8
|
+
import { storageAtom, useStorageEntries } from "../state";
|
|
9
|
+
import type { StorageEntry, StorageState } from "../types";
|
|
10
|
+
|
|
11
|
+
const mockRequest = vi.fn();
|
|
12
|
+
|
|
13
|
+
vi.mock("../request-registry", () => ({
|
|
14
|
+
ListStorageEntries: {
|
|
15
|
+
request: (...args: unknown[]) => mockRequest(...args),
|
|
16
|
+
},
|
|
17
|
+
}));
|
|
18
|
+
|
|
19
|
+
function makeEntry(
|
|
20
|
+
overrides: Partial<StorageEntry> & { path: string },
|
|
21
|
+
): StorageEntry {
|
|
22
|
+
return {
|
|
23
|
+
kind: overrides.kind ?? "file",
|
|
24
|
+
lastModified: overrides.lastModified ?? null,
|
|
25
|
+
metadata: overrides.metadata ?? {},
|
|
26
|
+
path: overrides.path,
|
|
27
|
+
size: overrides.size ?? 0,
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
describe("useStorageEntries", () => {
|
|
32
|
+
let store: ReturnType<typeof createStore>;
|
|
33
|
+
|
|
34
|
+
const wrapper = ({ children }: { children: ReactNode }) =>
|
|
35
|
+
React.createElement(Provider, { store }, children);
|
|
36
|
+
|
|
37
|
+
beforeEach(() => {
|
|
38
|
+
vi.clearAllMocks();
|
|
39
|
+
store = createStore();
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
afterEach(() => {
|
|
43
|
+
vi.restoreAllMocks();
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
function setStorageState(state: Partial<StorageState>) {
|
|
47
|
+
const current = store.get(storageAtom);
|
|
48
|
+
store.set(storageAtom, { ...current, ...state });
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
it("should fetch entries when not cached", async () => {
|
|
52
|
+
const entries = [
|
|
53
|
+
makeEntry({ path: "a.txt" }),
|
|
54
|
+
makeEntry({ path: "b.txt" }),
|
|
55
|
+
];
|
|
56
|
+
mockRequest.mockResolvedValue({ entries });
|
|
57
|
+
|
|
58
|
+
const { result } = renderHook(() => useStorageEntries("my_s3", "data/"), {
|
|
59
|
+
wrapper,
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
expect(result.current.isPending).toBe(true);
|
|
63
|
+
expect(result.current.entries).toEqual([]);
|
|
64
|
+
|
|
65
|
+
await waitFor(() => {
|
|
66
|
+
expect(result.current.isPending).toBe(false);
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
expect(result.current.entries).toEqual(entries);
|
|
70
|
+
expect(mockRequest).toHaveBeenCalledWith({
|
|
71
|
+
namespace: "my_s3",
|
|
72
|
+
prefix: "data/",
|
|
73
|
+
limit: 150,
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
|
|
77
|
+
it("should return cached entries without fetching", async () => {
|
|
78
|
+
const entries = [makeEntry({ path: "cached.txt" })];
|
|
79
|
+
setStorageState({
|
|
80
|
+
entriesByPath: new Map([["my_s3::data/", entries]]),
|
|
81
|
+
});
|
|
82
|
+
|
|
83
|
+
const { result } = renderHook(() => useStorageEntries("my_s3", "data/"), {
|
|
84
|
+
wrapper,
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
expect(result.current.entries).toEqual(entries);
|
|
88
|
+
expect(result.current.isPending).toBe(false);
|
|
89
|
+
expect(result.current.error).toBeUndefined();
|
|
90
|
+
expect(mockRequest).not.toHaveBeenCalled();
|
|
91
|
+
});
|
|
92
|
+
|
|
93
|
+
it("should normalize null prefix to empty string", async () => {
|
|
94
|
+
const entries = [makeEntry({ path: "root.txt" })];
|
|
95
|
+
mockRequest.mockResolvedValue({ entries });
|
|
96
|
+
|
|
97
|
+
const { result } = renderHook(() => useStorageEntries("ns"), { wrapper });
|
|
98
|
+
|
|
99
|
+
await waitFor(() => {
|
|
100
|
+
expect(result.current.isPending).toBe(false);
|
|
101
|
+
});
|
|
102
|
+
|
|
103
|
+
expect(result.current.entries).toEqual(entries);
|
|
104
|
+
expect(mockRequest).toHaveBeenCalledWith(
|
|
105
|
+
expect.objectContaining({ prefix: "" }),
|
|
106
|
+
);
|
|
107
|
+
});
|
|
108
|
+
|
|
109
|
+
it("should normalize undefined prefix to empty string", async () => {
|
|
110
|
+
const entries = [makeEntry({ path: "root.txt" })];
|
|
111
|
+
mockRequest.mockResolvedValue({ entries });
|
|
112
|
+
|
|
113
|
+
const { result } = renderHook(() => useStorageEntries("ns", undefined), {
|
|
114
|
+
wrapper,
|
|
115
|
+
});
|
|
116
|
+
|
|
117
|
+
await waitFor(() => {
|
|
118
|
+
expect(result.current.isPending).toBe(false);
|
|
119
|
+
});
|
|
120
|
+
|
|
121
|
+
expect(mockRequest).toHaveBeenCalledWith(
|
|
122
|
+
expect.objectContaining({ prefix: "" }),
|
|
123
|
+
);
|
|
124
|
+
});
|
|
125
|
+
|
|
126
|
+
it("should return the error when fetch fails and nothing is cached", async () => {
|
|
127
|
+
mockRequest.mockRejectedValue(new Error("network failure"));
|
|
128
|
+
|
|
129
|
+
const { result } = renderHook(() => useStorageEntries("ns", "pfx/"), {
|
|
130
|
+
wrapper,
|
|
131
|
+
});
|
|
132
|
+
|
|
133
|
+
await waitFor(() => {
|
|
134
|
+
expect(result.current.error).toBeDefined();
|
|
135
|
+
});
|
|
136
|
+
|
|
137
|
+
expect(result.current.error?.message).toBe("network failure");
|
|
138
|
+
expect(result.current.entries).toEqual([]);
|
|
139
|
+
expect(result.current.isPending).toBe(false);
|
|
140
|
+
});
|
|
141
|
+
|
|
142
|
+
it("should surface result.error as a thrown error", async () => {
|
|
143
|
+
mockRequest.mockResolvedValue({
|
|
144
|
+
entries: [],
|
|
145
|
+
error: "access denied",
|
|
146
|
+
});
|
|
147
|
+
|
|
148
|
+
const { result } = renderHook(() => useStorageEntries("ns", "pfx/"), {
|
|
149
|
+
wrapper,
|
|
150
|
+
});
|
|
151
|
+
|
|
152
|
+
await waitFor(() => {
|
|
153
|
+
expect(result.current.error).toBeDefined();
|
|
154
|
+
});
|
|
155
|
+
|
|
156
|
+
expect(result.current.error?.message).toBe("access denied");
|
|
157
|
+
expect(result.current.entries).toEqual([]);
|
|
158
|
+
expect(result.current.isPending).toBe(false);
|
|
159
|
+
});
|
|
160
|
+
|
|
161
|
+
it("should suppress error when entries are cached", async () => {
|
|
162
|
+
const entries = [makeEntry({ path: "ok.txt" })];
|
|
163
|
+
setStorageState({
|
|
164
|
+
entriesByPath: new Map([["ns::pfx/", entries]]),
|
|
165
|
+
});
|
|
166
|
+
|
|
167
|
+
const { result } = renderHook(() => useStorageEntries("ns", "pfx/"), {
|
|
168
|
+
wrapper,
|
|
169
|
+
});
|
|
170
|
+
|
|
171
|
+
expect(result.current.error).toBeUndefined();
|
|
172
|
+
expect(result.current.entries).toEqual(entries);
|
|
173
|
+
expect(result.current.isPending).toBe(false);
|
|
174
|
+
});
|
|
175
|
+
|
|
176
|
+
it("should store fetched entries in the atom", async () => {
|
|
177
|
+
const entries = [makeEntry({ path: "new.txt" })];
|
|
178
|
+
mockRequest.mockResolvedValue({ entries });
|
|
179
|
+
|
|
180
|
+
renderHook(() => useStorageEntries("ns", "sub/"), { wrapper });
|
|
181
|
+
|
|
182
|
+
await waitFor(() => {
|
|
183
|
+
const state = store.get(storageAtom);
|
|
184
|
+
expect(state.entriesByPath.get("ns::sub/")).toEqual(entries);
|
|
185
|
+
});
|
|
186
|
+
});
|
|
187
|
+
});
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/* Copyright 2026 Marimo. All rights reserved. */
|
|
2
|
+
|
|
3
|
+
import type { NotificationMessageData } from "../kernel/messages";
|
|
4
|
+
import { DeferredRequestRegistry } from "../network/DeferredRequestRegistry";
|
|
5
|
+
import { getRequestClient } from "../network/requests";
|
|
6
|
+
import type {
|
|
7
|
+
StorageDownloadRequest,
|
|
8
|
+
StorageListEntriesRequest,
|
|
9
|
+
} from "../network/types";
|
|
10
|
+
|
|
11
|
+
export type StorageEntriesResult = NotificationMessageData<"storage-entries">;
|
|
12
|
+
|
|
13
|
+
export type StorageDownloadReadyResult =
|
|
14
|
+
NotificationMessageData<"storage-download-ready">;
|
|
15
|
+
|
|
16
|
+
export const ListStorageEntries = new DeferredRequestRegistry<
|
|
17
|
+
Omit<StorageListEntriesRequest, "requestId">,
|
|
18
|
+
StorageEntriesResult
|
|
19
|
+
>("storage-list-entries", async (requestId, req) => {
|
|
20
|
+
const client = getRequestClient();
|
|
21
|
+
await client.listStorageEntries({
|
|
22
|
+
requestId: requestId,
|
|
23
|
+
...req,
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
export const DownloadStorage = new DeferredRequestRegistry<
|
|
28
|
+
Omit<StorageDownloadRequest, "requestId">,
|
|
29
|
+
StorageDownloadReadyResult
|
|
30
|
+
>("storage-download", async (requestId, req) => {
|
|
31
|
+
const client = getRequestClient();
|
|
32
|
+
await client.downloadStorage({
|
|
33
|
+
requestId: requestId,
|
|
34
|
+
...req,
|
|
35
|
+
});
|
|
36
|
+
});
|