@marimo-team/frontend 0.23.15-dev6 → 0.23.15-dev63
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-BalYv0pK.js +1 -0
- package/dist/assets/ConnectedDataExplorerComponent-DI7mV-Gw.js +1 -0
- package/dist/assets/DeferredRequestRegistry-C8EV1PoE.js +1 -0
- package/dist/assets/ErrorBoundary-C7_5jjWi.js +1 -0
- package/dist/assets/ImageComparisonComponent-Cz3xVDLH.js +1 -0
- package/dist/assets/ImperativeModal-BIavOiUv.js +1 -0
- package/dist/assets/Inputs-B8-VCb_j.js +1 -0
- package/dist/assets/JsonOutput-DnGSkLeP.js +53 -0
- package/dist/assets/LazyAnyLanguageCodeMirror-sVm_hz8A.js +2 -0
- package/dist/assets/MarimoErrorOutput-DO2k2fA5.js +11 -0
- package/dist/assets/Plot-X2G47XHf.js +3789 -0
- package/dist/assets/RSPContexts-CgC81f0I.js +1 -0
- package/dist/assets/RenderHTML-BCvU9dYz.js +1 -0
- package/dist/assets/RunButton-BKRupqr7.js +1 -0
- package/dist/assets/__vite-browser-external-BkrtI7wJ.js +1 -0
- package/dist/assets/__vite-browser-external-DeX3BBVP.js +1 -0
- package/dist/assets/add-cell-with-ai-CEZtaZCK.js +107 -0
- package/dist/assets/add-connection-dialog-CEp3SJR2.js +170 -0
- package/dist/assets/agent-panel-By4A-Cqr.js +287 -0
- package/dist/assets/ai-model-dropdown-DXgLphFa.js +5 -0
- package/dist/assets/alert-dialog-BXegNC0I.js +11 -0
- package/dist/assets/alert-jlwhGxSb.js +1 -0
- package/dist/assets/any-language-editor-DCpZRrpx.js +1 -0
- package/dist/assets/apl-DTwRFDps.js +1 -0
- package/dist/assets/app-config-button-NrM9ywXA.js +1 -0
- package/dist/assets/arc-CfUZAQDm.js +1 -0
- package/dist/assets/architecture-7HQA4BMR-Bvqj37EA.js +1 -0
- package/dist/assets/architectureDiagram-VXUJARFQ-sx_yisiZ.js +36 -0
- package/dist/assets/arrays-DbOq36rN.js +1 -0
- package/dist/assets/arrow-right-C1pQZGqv.js +1 -0
- package/dist/assets/asciiarmor-CiqkDK0s.js +1 -0
- package/dist/assets/asn1-RTvH5MEs.js +1 -0
- package/dist/assets/badge-B92a4ePY.js +1 -0
- package/dist/assets/ban-DOUu3Y9Q.js +1 -0
- package/dist/assets/blockDiagram-VD42YOAC-KexI-fgH.js +122 -0
- package/dist/assets/bot-message-square-DTHo_4sQ.js +1 -0
- package/dist/assets/brainfuck-szH_VGzd.js +1 -0
- package/dist/assets/button-eIihcbUw.js +1 -0
- package/dist/assets/c4Diagram-YG6GDRKO-d8NrlxRF.js +10 -0
- package/dist/assets/cache-panel-wllSTlbM.js +1 -0
- package/dist/assets/capabilities-B09j1Eor.js +1 -0
- package/dist/assets/card-VUBaYDpT.js +1 -0
- package/dist/assets/cell-editor-DdofA9oQ.js +27 -0
- package/dist/assets/cell-link-DqBkyAFe.js +1 -0
- package/dist/assets/cells-Cf7bHHq3.js +229 -0
- package/dist/assets/channel-D-k8o3T1.js +1 -0
- package/dist/assets/chart-no-axes-column-iDRxid4h.js +1 -0
- package/dist/assets/chat-display-BG08ltQ3.js +1 -0
- package/dist/assets/chat-panel-P2CzCtXJ.js +4 -0
- package/dist/assets/chat-ui-fAJZAoTD.js +4 -0
- package/dist/assets/check-rzLRd0j9.js +1 -0
- package/dist/assets/chevron-right-BS_NcSch.js +1 -0
- package/dist/assets/chunk-4BX2VUAB-fhh1HlXH.js +1 -0
- package/dist/assets/chunk-4F5CHEZ2-ClSh5rxG.js +1 -0
- package/dist/assets/chunk-55IACEB6-xhaY4LU6.js +1 -0
- package/dist/assets/chunk-5FQGJX7Z-Cp0LZT-a.js +113 -0
- package/dist/assets/chunk-ABZYJK2D-BtK4zInQ.js +80 -0
- package/dist/assets/chunk-ATLVNIR6-YZDenslF.js +1 -0
- package/dist/assets/chunk-B2363JML-cit0ouFv.js +1 -0
- package/dist/assets/chunk-B4BG7PRW-DYIZwDbt.js +165 -0
- package/dist/assets/chunk-CVBHYZKI-CIyHeK0Q.js +1 -0
- package/dist/assets/chunk-DI55MBZ5-TodwBGEN.js +220 -0
- package/dist/assets/chunk-EXTU4WIE-C76bF1UD.js +1 -0
- package/dist/assets/chunk-FMBD7UC4-Yq65IDPA.js +15 -0
- package/dist/assets/chunk-FRFDVMJY--Re1QfFE.js +1 -0
- package/dist/assets/chunk-HN2XXSSU-CcbN4n6W.js +1 -0
- package/dist/assets/chunk-JA3XYJ7Z-CPXEu7AX.js +70 -0
- package/dist/assets/chunk-JZLCHNYA-D8q1z6Py.js +54 -0
- package/dist/assets/chunk-MI3HLSF2-bmomnexd.js +32 -0
- package/dist/assets/chunk-N4CR4FBY-BhsjB2qn.js +2 -0
- package/dist/assets/chunk-PL6DKKU2-CAwRAr-p.js +1 -0
- package/dist/assets/chunk-QN33PNHL-ngvPqyQ0.js +1 -0
- package/dist/assets/chunk-QXUST7PY-C4c0Sjmn.js +7 -0
- package/dist/assets/chunk-QZHKN3VN-CkbwBDOS.js +1 -0
- package/dist/assets/chunk-S3R3BYOJ-Bt2NnquF.js +2 -0
- package/dist/assets/chunk-SJTYNZTY-G1spWesO.js +1 -0
- package/dist/assets/chunk-TCCFYFTB-BRcmzY4m.js +125 -0
- package/dist/assets/chunk-TQ3KTPDO-DBwra5xv.js +1 -0
- package/dist/assets/chunk-TZMSLE5B-Dysko1OC.js +1 -0
- package/dist/assets/chunk-UMXZTB3W-A5RvYDPE.js +1 -0
- package/dist/assets/circle-check-C32B6Qa1.js +1 -0
- package/dist/assets/circle-play-9HoTo51X.js +1 -0
- package/dist/assets/circle-plus-BluydVNx.js +1 -0
- package/dist/assets/classDiagram-2ON5EDUG-C-rIg7EQ.js +1 -0
- package/dist/assets/classDiagram-v2-WZHVMYZB-MBAsRLae.js +1 -0
- package/dist/assets/clear-button-DQtvx6eq.js +1 -0
- package/dist/assets/clike-DKPr2D1_.js +1 -0
- package/dist/assets/clipboard-paste-DQh4rXZQ.js +1 -0
- package/dist/assets/clojure-CyEbLmch.js +1 -0
- package/dist/assets/cmake-Dk8f7QuI.js +1 -0
- package/dist/assets/cn-DYvqRARy.js +1 -0
- package/dist/assets/cobol-BJJRqW1D.js +1 -0
- package/dist/assets/code-B2aKtXoe.js +1 -0
- package/dist/assets/code-block-37QAKDTI-DlENujeV.js +2 -0
- package/dist/assets/code-xml-aSiY8T7C.js +1 -0
- package/dist/assets/coffeescript-BDuWJ9WO.js +1 -0
- package/dist/assets/column-preview-BgZLUEOj.js +1 -0
- package/dist/assets/command-CAJLPEBq.js +1 -0
- package/dist/assets/command-palette-B_QgR-xg.js +1 -0
- package/dist/assets/common-CD6Mj8n6.js +1 -0
- package/dist/assets/commonlisp-CVHm2VSp.js +1 -0
- package/dist/assets/components-BH6gDVv6.js +1 -0
- package/dist/assets/config-BbOTTCYY.js +1 -0
- package/dist/assets/config-COUOIPEq.js +1 -0
- package/dist/assets/constants-CDyU_g2F.js +1 -0
- package/dist/assets/context-BFPaAUK_.js +1 -0
- package/dist/assets/copy-3iHFdt22.js +1 -0
- package/dist/assets/copy-BtTOqPTS.js +1 -0
- package/dist/assets/copy-icon-C2pG0ZNK.js +1 -0
- package/dist/assets/cose-bilkent-S5V4N54A-BlMw4-M9.js +1 -0
- package/dist/assets/createReducer-C7kZ8zEe.js +1 -0
- package/dist/assets/crystal-C2Fgr79A.js +1 -0
- package/dist/assets/css-DsUcFZz8.js +1 -0
- package/dist/assets/cypher-CUlCm6vR.js +1 -0
- package/dist/assets/d-4ANEHA6q.js +1 -0
- package/dist/assets/dagre-6UL2VRFP-kJ4x17JK.js +4 -0
- package/dist/assets/data-grid-overlay-editor-DbobQcVo.js +1 -0
- package/dist/assets/database-zap-CKO8g4BU.js +1 -0
- package/dist/assets/datasource-ySAiC9gr.js +3 -0
- package/dist/assets/dates-D-kIKDYA.js +1 -0
- package/dist/assets/dependency-graph-panel-BF23EwcD.js +5 -0
- package/dist/assets/diagram-PSM6KHXK-d-5aQNHk.js +24 -0
- package/dist/assets/diagram-QEK2KX5R-CO-PXq75.js +43 -0
- package/dist/assets/diagram-S2PKOQOG-Dv7pcvYC.js +24 -0
- package/dist/assets/dialog-D1DEsRZ2.js +1 -0
- package/dist/assets/diff-C-W-5V8L.js +1 -0
- package/dist/assets/dist-0QUuSoRx.js +1 -0
- package/dist/assets/dist-12S8I4CH.js +14 -0
- package/dist/assets/dist-3N7-WLqi.js +1 -0
- package/dist/assets/dist-56ul6-mm.js +1 -0
- package/dist/assets/dist-6c4zOh78.js +1 -0
- package/dist/assets/dist-98K4fusX.js +1 -0
- package/dist/assets/dist-B8g3pNYJ.js +1 -0
- package/dist/assets/dist-BCMBu0rO.js +2 -0
- package/dist/assets/dist-BJZAIIze.js +1 -0
- package/dist/assets/dist-BMOD2Pyh.js +1 -0
- package/dist/assets/dist-BaKJ0-Tb.js +1 -0
- package/dist/assets/dist-Bfm9U3vp.js +1 -0
- package/dist/assets/dist-BsphJPAV.js +1 -0
- package/dist/assets/dist-ByK00N0T.js +1 -0
- package/dist/assets/dist-ByVeMWkr.js +1 -0
- package/dist/assets/dist-C5kf6g-d.js +1 -0
- package/dist/assets/dist-CCAhuqF-.js +1 -0
- package/dist/assets/dist-CDUl-YL4.js +1 -0
- package/dist/assets/dist-CECF_J8y.js +1 -0
- package/dist/assets/dist-CM-lWxt3.js +1 -0
- package/dist/assets/dist-CPjTeT8p.js +3 -0
- package/dist/assets/dist-CRrIf3gB.js +1 -0
- package/dist/assets/dist-CpbbK4-I.js +1 -0
- package/dist/assets/dist-Csf5i4KY.js +1 -0
- package/dist/assets/dist-CvWC93qL.js +1 -0
- package/dist/assets/dist-D35OyUMQ.js +7 -0
- package/dist/assets/dist-D5ToCtv8.js +1 -0
- package/dist/assets/dist-D6Iobl3P.js +1 -0
- package/dist/assets/dist-DGhK0kPE.js +1 -0
- package/dist/assets/dist-DI1-Z60I.js +2 -0
- package/dist/assets/dist-DNGKAtWk.js +1 -0
- package/dist/assets/dist-DQNaXfK1.js +1 -0
- package/dist/assets/dist-DYEuVkEX.js +1 -0
- package/dist/assets/dist-DcwTQG1A.js +6 -0
- package/dist/assets/dist-DnjsPBRJ.js +1 -0
- package/dist/assets/dist-DokId-qM.js +1 -0
- package/dist/assets/dist-DrBqBDHF.js +1 -0
- package/dist/assets/dist-DrtRBAn8.js +3 -0
- package/dist/assets/dist-DsfPGbgk.js +1 -0
- package/dist/assets/dist-Du-wcJyR.js +7 -0
- package/dist/assets/dist-DzAAhYcW.js +1 -0
- package/dist/assets/dist-O5-NiN3f.js +1 -0
- package/dist/assets/dist-OgwOt8T2.js +1 -0
- package/dist/assets/dist-R1kU4nzJ.js +1 -0
- package/dist/assets/dist-SVDIDTM2.js +1 -0
- package/dist/assets/dist-aRc_dRed.js +13 -0
- package/dist/assets/dist-sPfKr-vH.js +1 -0
- package/dist/assets/dist-xSLg7wNV.js +1 -0
- package/dist/assets/dockerfile-C2PznFWk.js +1 -0
- package/dist/assets/documentation-panel-e9Fi9R7e.js +1 -0
- package/dist/assets/download-BomYt3nl.js +9 -0
- package/dist/assets/dropdown-menu-BFZLnWeO.js +1 -0
- package/dist/assets/dtd-D9h-tL8G.js +1 -0
- package/dist/assets/dylan-D3MC56xy.js +1 -0
- package/dist/assets/ecl-B6UC4tME.js +1 -0
- package/dist/assets/edit-page-Cj3IcXFr.js +9 -0
- package/dist/assets/eiffel-CjvEov4k.js +1 -0
- package/dist/assets/ellipsis-C_B8Ux9M.js +1 -0
- package/dist/assets/elm-DvSbvRWe.js +1 -0
- package/dist/assets/empty-state-CqJvEFRk.js +1 -0
- package/dist/assets/en-US-CjNeNXDB.js +1 -0
- package/dist/assets/erDiagram-Q2GNP2WA-BQ8HfnRu.js +60 -0
- package/dist/assets/erlang-DJYaGXyq.js +1 -0
- package/dist/assets/error-banner-B6eIlxzg.js +1 -0
- package/dist/assets/error-entries-Birw-8VX.js +8 -0
- package/dist/assets/error-panel-DdsUL6b7.js +1 -0
- package/dist/assets/es-1D83cgiu.js +5 -0
- package/dist/assets/esm-BL7jQmzn.js +1 -0
- package/dist/assets/esm-Cmv0Nuxi.js +1 -0
- package/dist/assets/external-link-BOlXZUla.js +1 -0
- package/dist/assets/eye-off-BOZA7gbn.js +1 -0
- package/dist/assets/factor-CUQCrkTo.js +1 -0
- package/dist/assets/factor-DMrXrOH8.js +1 -0
- package/dist/assets/field-BeZbVzXA.js +1 -0
- package/dist/assets/file-CJH9JNGH.js +1 -0
- package/dist/assets/file-explorer-panel-DbdoJbbF.js +26 -0
- package/dist/assets/file-headphone-DAu6VO6j.js +1 -0
- package/dist/assets/file-icons-Cb54mIL8.js +1 -0
- package/dist/assets/file-name-input-BWFcK1ey.js +3 -0
- package/dist/assets/fileToBase64-C2Yy-YXq.js +1 -0
- package/dist/assets/floating-outline-wz-WSRgP.js +1 -0
- package/dist/assets/flowDiagram-NV44I4VS-xBOzhlfg.js +162 -0
- package/dist/assets/focus-DiEyfiAG.js +1 -0
- package/dist/assets/form-CgWNb44_.js +2 -0
- package/dist/assets/formats-ClEFGPy-.js +1 -0
- package/dist/assets/formatting-B_41gSF5.js +1 -0
- package/dist/assets/forth-D9xegiCO.js +1 -0
- package/dist/assets/fortran-B0Oe0U8s.js +1 -0
- package/dist/assets/fullscreen-dUjPYOmm.js +41 -0
- package/dist/assets/gallery-page-CWQQAYpa.js +1 -0
- package/dist/assets/ganttDiagram-JELNMOA3-D2O_k-Zg.js +267 -0
- package/dist/assets/gas-jLjj-PIq.js +1 -0
- package/dist/assets/gherkin-3Ig8Crit.js +1 -0
- package/dist/assets/gitGraph-G5XIXVHT-8HJwNcdU.js +1 -0
- package/dist/assets/gitGraphDiagram-V2S2FVAM-Nk4Ll9GY.js +65 -0
- package/dist/assets/github-_JH-0hIO.js +1 -0
- package/dist/assets/glide-data-editor-lMARFWHS.js +132 -0
- package/dist/assets/groovy-NKpNVJ-n.js +1 -0
- package/dist/assets/haskell-OPE4bAjk.js +1 -0
- package/dist/assets/hat-glasses-BttHlyvs.js +1 -0
- package/dist/assets/haxe-DEAZF8L3.js +1 -0
- package/dist/assets/home-page-DJ4jJsZj.js +4 -0
- package/dist/assets/house-DS0r7dNZ.js +1 -0
- package/dist/assets/html-to-image-CwmX28T9.js +2 -0
- package/dist/assets/icons-CIPE8AIY.js +1 -0
- package/dist/assets/idl-BM6265Xl.js +1 -0
- package/dist/assets/image-5XI2VU-q.js +1 -0
- package/dist/assets/index-BjlEpvLC.css +2 -0
- package/dist/assets/index-C0JtPo0J.js +38 -0
- package/dist/assets/info-VBDWY6EO-rfe3WPvd.js +1 -0
- package/dist/assets/infoDiagram-HS3SLOUP-DQnMjKYJ.js +2 -0
- package/dist/assets/input-CqrUjynb.js +1 -0
- package/dist/assets/isValid-D7naiWNs.js +1 -0
- package/dist/assets/javascript-CZ9vDpAy.js +1 -0
- package/dist/assets/journeyDiagram-XKPGCS4Q-D61FGivn.js +139 -0
- package/dist/assets/julia-BrY9TQnt.js +1 -0
- package/dist/assets/kanban-definition-3W4ZIXB7-Bnv0X0Tu.js +89 -0
- package/dist/assets/katex-C-lfa1AM.js +1 -0
- package/dist/assets/kbd-C5HnBH5U.js +1 -0
- package/dist/assets/kiosk-mode-ABm3oYgq.js +1 -0
- package/dist/assets/label-BElwWzf0.js +1 -0
- package/dist/assets/layout-BOwE7yok.js +9 -0
- package/dist/assets/line-DNm2phYo.js +1 -0
- package/dist/assets/linear-CTQqNbVX.js +1 -0
- package/dist/assets/link-CHdiBDr5.js +1 -0
- package/dist/assets/links-CToBjIIj.js +1 -0
- package/dist/assets/links-wcQA1Np1.js +1 -0
- package/dist/assets/livescript-CNahkUp5.js +1 -0
- package/dist/assets/logs-panel-iFV4ZJ9b.js +1 -0
- package/dist/assets/loro_wasm_bg-Duqr-kJ2.js +1 -0
- package/dist/assets/lua-Skr4TVu_.js +1 -0
- package/dist/assets/marimo-icons-C_nFooxr.js +1 -0
- package/dist/assets/markdown-renderer-QvXG0CRk.js +5 -0
- package/dist/assets/mathematica-BXxhrpeY.js +1 -0
- package/dist/assets/mbox-BRrQCVe9.js +1 -0
- package/dist/assets/menu-items-DbSLBfXR.js +1 -0
- package/dist/assets/mermaid-4DMBBIKO-CDGmT6YQ.js +1 -0
- package/dist/assets/mermaid-Bh0flEIb.js +11 -0
- package/dist/assets/mermaid-parser.core-Dz2GMGqQ.js +4 -0
- package/dist/assets/message-circle-dL5J5ZsZ.js +1 -0
- package/dist/assets/mhchem-CIWniJp4.js +1 -0
- package/dist/assets/mindmap-definition-VGOIOE7T-C-YaKmEU.js +68 -0
- package/dist/assets/mirc-CffYPE4R.js +1 -0
- package/dist/assets/mllike-C1DLZhEI.js +1 -0
- package/dist/assets/modelica-CvAyRRNV.js +1 -0
- package/dist/assets/mscgen-uMZWtMZv.js +1 -0
- package/dist/assets/multi-icon-nrKPWjDU.js +1 -0
- package/dist/assets/mumps-DFJehEx7.js +1 -0
- package/dist/assets/name-cell-input-C6cukQ9k.js +1 -0
- package/dist/assets/nsis-BVI9YULz.js +1 -0
- package/dist/assets/nsis-Ccvd1gbp.js +1 -0
- package/dist/assets/ntriples-Bcdh7b2H.js +1 -0
- package/dist/assets/number-overlay-editor-BQ9P6yP7.js +9 -0
- package/dist/assets/numbers-CeeaFKqu.js +1 -0
- package/dist/assets/objects-BlG0ZrO0.js +1 -0
- package/dist/assets/octave-CdAKz6YS.js +1 -0
- package/dist/assets/once-CGKw_kwj.js +1 -0
- package/dist/assets/ordinal-DyTNGK17.js +1 -0
- package/dist/assets/outline-panel-BPlg9_CE.js +1 -0
- package/dist/assets/oz-DSySeR-W.js +1 -0
- package/dist/assets/package-Bxz_8e44.js +1 -0
- package/dist/assets/packages-panel-BzQF60rG.js +1 -0
- package/dist/assets/packet-DYOGHKS2-DTVloLa7.js +1 -0
- package/dist/assets/pair-with-agent-modal-CKOYwOYw.js +4 -0
- package/dist/assets/panel-context-CH75ubGG.js +1 -0
- package/dist/assets/panels-CW-PUlv2.js +4 -0
- package/dist/assets/pascal-DefziIUN.js +1 -0
- package/dist/assets/pathUtils-Bfcp5m-a.js +1 -0
- package/dist/assets/perl-BOOloBPk.js +1 -0
- package/dist/assets/pie-VRWISCQL-Bmght6JF.js +1 -0
- package/dist/assets/pieDiagram-ADFJNKIX-DlFYL0BN.js +30 -0
- package/dist/assets/pig-f0nBb-5x.js +1 -0
- package/dist/assets/plus-AgXtozBz.js +1 -0
- package/dist/assets/popover-DrHQ3KEt.js +1 -0
- package/dist/assets/powershell-DToQjbK9.js +1 -0
- package/dist/assets/precisionRound-i2ImZxgc.js +1 -0
- package/dist/assets/process-output-BEhIGfkO.js +1 -0
- package/dist/assets/properties-BRob-nyj.js +1 -0
- package/dist/assets/protobuf-DZyC6051.js +1 -0
- package/dist/assets/pug-BtXi5KiX.js +1 -0
- package/dist/assets/pug-pVoM8FRt.js +1 -0
- package/dist/assets/puppet-9fuYG07F.js +1 -0
- package/dist/assets/purify.es-CWmnYhGI.js +3 -0
- package/dist/assets/python-_Mr8fyXP.js +1 -0
- package/dist/assets/q-D73s4Y77.js +1 -0
- package/dist/assets/quadrantDiagram-AYHSOK5B-BpJug2BH.js +7 -0
- package/dist/assets/r-BOEjz92e.js +1 -0
- package/dist/assets/radar-ZZBFDIW7-CYwWzRgW.js +1 -0
- package/dist/assets/radio-group-CLBjGkt5.js +1 -0
- package/dist/assets/react-vega-TNCk_eWj.js +188 -0
- package/dist/assets/readonly-code-display-D63oRtBP.js +1 -0
- package/dist/assets/readonly-python-code-CW_G5e4E.js +1 -0
- package/dist/assets/refresh-ccw-sLaKP2vj.js +1 -0
- package/dist/assets/refresh-cw-CYq4mK5a.js +1 -0
- package/dist/assets/renderShortcut-BZLr8D7H.js +1 -0
- package/dist/assets/request-registry-DHocQ_4I.js +1 -0
- package/dist/assets/requests-9-v2bhoi.js +1 -0
- package/dist/assets/requirementDiagram-UZGBJVZJ-Bd-1eny8.js +64 -0
- package/dist/assets/reveal-component-DqMRxmUr.js +1069 -0
- package/dist/assets/rotate-ccw-CTnUuC8r.js +1 -0
- package/dist/assets/rpm-LpXWTM5t.js +1 -0
- package/dist/assets/ruby-DodgSDfF.js +1 -0
- package/dist/assets/run-page-s6Mf8p78.js +1 -0
- package/dist/assets/runs-D51Xwrsk.js +1 -0
- package/dist/assets/sankeyDiagram-TZEHDZUN-CDWAE6GV.js +10 -0
- package/dist/assets/sas-D9KCtUmL.js +1 -0
- package/dist/assets/save-DBuEmnnF.js +1 -0
- package/dist/assets/save-worker-_Qc1hOeF.js +102 -0
- package/dist/assets/scheme-p8UJxmJw.js +1 -0
- package/dist/assets/scratchpad-panel-CXsxdMB-.js +1 -0
- package/dist/assets/scroll-to-bottom-button-Cgr10kaJ.js +1 -0
- package/dist/assets/secrets-panel-Cc5KDBk6.js +1 -0
- package/dist/assets/select-B5TFNjmU.js +1 -0
- package/dist/assets/sequenceDiagram-WL72ISMW-B6hjDGBF.js +145 -0
- package/dist/assets/session-CEFnN9Cq.js +1 -0
- package/dist/assets/session-panel-CmHetqAb.js +1 -0
- package/dist/assets/settings-D_PiwXwo.js +1 -0
- package/dist/assets/share-CYpcX4N4.js +1 -0
- package/dist/assets/shell-BWdqyqwL.js +1 -0
- package/dist/assets/sieve-CLwJmtiQ.js +1 -0
- package/dist/assets/skeleton-B_4CZVEm.js +1 -0
- package/dist/assets/smalltalk-D3KV-Qah.js +1 -0
- package/dist/assets/snippets-panel-CXpGflMO.js +1 -0
- package/dist/assets/sparkles-DUCpRFlS.js +1 -0
- package/dist/assets/sparql-D9Jz2mBw.js +1 -0
- package/dist/assets/spec-CzqcmYQk.js +1 -0
- package/dist/assets/spinner-D-V4psAa.js +1 -0
- package/dist/assets/square-DFICx2Qv.js +1 -0
- package/dist/assets/square-function-DNNRTPQJ.js +1 -0
- package/dist/assets/src-CIOdyciO.js +1 -0
- package/dist/assets/state-BXbiRXZk.js +3 -0
- package/dist/assets/state-BvdK8eiw.js +1 -0
- package/dist/assets/state-DBzEQtWz.js +1 -0
- package/dist/assets/state-WBgc7MiA.js +1 -0
- package/dist/assets/stateDiagram-FKZM4ZOC-Bzv6j99z.js +1 -0
- package/dist/assets/stateDiagram-v2-4FDKWEC3-CA1l0rNa.js +1 -0
- package/dist/assets/step-CDlhJj9-.js +1 -0
- package/dist/assets/stex-pjf-hOob.js +1 -0
- package/dist/assets/strings-Djnbwmfl.js +2 -0
- package/dist/assets/stylus-ClN4l_XO.js +1 -0
- package/dist/assets/swift-Dvd_9xBv.js +1 -0
- package/dist/assets/swiper-component-DInvCxhI.js +1 -0
- package/dist/assets/switch-CvweaCXq.js +1 -0
- package/dist/assets/table-CH2plyy9.js +1 -0
- package/dist/assets/table-D-tcnZC7.js +1 -0
- package/dist/assets/tcl-DR2p8cyi.js +1 -0
- package/dist/assets/terminal-D3IQBBYo.js +62 -0
- package/dist/assets/textarea-CpFfEUet.js +1 -0
- package/dist/assets/textile-D6S27_J2.js +1 -0
- package/dist/assets/time-BuRlxEhE.js +1 -0
- package/dist/assets/timeline-definition-IT6M3QCI-DXwdU1og.js +61 -0
- package/dist/assets/timer-VYMLXPue.js +1 -0
- package/dist/assets/toDate-Ct2FT81-.js +1 -0
- package/dist/assets/toml-B-YuQ2Id.js +1 -0
- package/dist/assets/tooltip-CFX4fYHU.js +1 -0
- package/dist/assets/tooltip-HLb6RxVp.js +61 -0
- package/dist/assets/tracing-CKn3gWHw.js +1 -0
- package/dist/assets/tracing-panel-BU-o_LCd.js +2 -0
- package/dist/assets/trash-2-72W0TZ3L.js +1 -0
- package/dist/assets/trash-CKgJJN6a.js +1 -0
- package/dist/assets/tree-actions-CsC2XmGo.js +1 -0
- package/dist/assets/treemap-GDKQZRPO-4Cm6HMmj.js +1 -0
- package/dist/assets/triangle-alert-BL4YVsPy.js +1 -0
- package/dist/assets/troff-HSk8AoRF.js +1 -0
- package/dist/assets/ttcn-CehzlVdx.js +1 -0
- package/dist/assets/ttcn-cfg-CLEPwk1s.js +1 -0
- package/dist/assets/turtle-DQLHkbOu.js +1 -0
- package/dist/assets/types-jdbI9Q8O.js +1 -0
- package/dist/assets/use-vega-container-remeasure-CbKTb_jy.js +1 -0
- package/dist/assets/useAsyncData-Bg5iAViP.js +1 -0
- package/dist/assets/useBoolean-0INKlLC_.js +1 -0
- package/dist/assets/useCellActionButton-CRfIEVB5.js +1 -0
- package/dist/assets/useDateFormatter-rtpVEy3J.js +1 -0
- package/dist/assets/useDeleteCell-EPH4kcG7.js +1 -0
- package/dist/assets/useDependencyPanelTab-CZnK7N2L.js +1 -0
- package/dist/assets/useEventListener-B_w3A283.js +1 -0
- package/dist/assets/useHotkey-DIuRH8Wu.js +1 -0
- package/dist/assets/useIframeCapabilities-Ccb4fvKc.js +1 -0
- package/dist/assets/useInstallPackage-BRbUAUFn.js +1 -0
- package/dist/assets/useInterval-CC0vKpWm.js +1 -0
- package/dist/assets/useLifecycle-lLOBhc-1.js +1 -0
- package/dist/assets/useNotebookActions-UvL5xEdt.js +14 -0
- package/dist/assets/useNumberFormatter-4-Qvf4uR.js +1 -0
- package/dist/assets/usePress-5hBv4sjD.js +7 -0
- package/dist/assets/useRunCells-CSSF_mJ0.js +1 -0
- package/dist/assets/useSplitCell-9Qz93yPZ.js +1 -0
- package/dist/assets/useTheme-KXqAyDPC.js +1 -0
- package/dist/assets/utils-CCTAhdFi.js +1 -0
- package/dist/assets/utils-Z80SV4_d.js +1 -0
- package/dist/assets/vb-o1EHrS4z.js +1 -0
- package/dist/assets/vbscript-BS8yUFpf.js +1 -0
- package/dist/assets/vega-component-Cie3ag_T.js +1 -0
- package/dist/assets/vega-embed-container-hDAVOOba.js +1 -0
- package/dist/assets/vega-loader.browser-Dun7Qe4B.js +6 -0
- package/dist/assets/velocity-u_oGPFaA.js +1 -0
- package/dist/assets/verilog-CSmDH7su.js +1 -0
- package/dist/assets/vhdl-BCaWLcjw.js +1 -0
- package/dist/assets/webidl-Bf6dokXM.js +1 -0
- package/dist/assets/worker-BQo2bijx.js +145 -0
- package/dist/assets/workflow-e-XGaKyY.js +1 -0
- package/dist/assets/write-secret-modal-DEEn7sZV.js +1 -0
- package/dist/assets/x-C-Eq0ag8.js +1 -0
- package/dist/assets/xquery-Di0kkiXg.js +1 -0
- package/dist/assets/xychartDiagram-PRI3JC2R-Cb0exSKs.js +7 -0
- package/dist/assets/yacas-DB8tPtyp.js +1 -0
- package/dist/assets/youtube-OwaksuQt.js +1 -0
- package/dist/assets/z80-DFUvlWxk.js +1 -0
- package/dist/index.html +162 -161
- package/package.json +3 -1
- package/src/__mocks__/requests.ts +3 -0
- package/src/components/charts/lazy.tsx +3 -1
- package/src/components/charts/vega-embed-container.tsx +18 -0
- package/src/components/chat/__tests__/chat-utils.test.ts +244 -1
- package/src/components/chat/__tests__/message-queue.test.tsx +121 -0
- package/src/components/chat/chat-panel.tsx +196 -67
- package/src/components/chat/chat-utils.ts +111 -2
- package/src/components/editor/RecoveryButton.tsx +2 -2
- package/src/components/editor/SortableCell.tsx +6 -2
- package/src/components/editor/__tests__/output-persistence.test.tsx +241 -0
- package/src/components/editor/actions/__tests__/pair-with-agent-commands.test.ts +153 -0
- package/src/components/editor/actions/pair-with-agent-commands.ts +109 -0
- package/src/components/editor/actions/pair-with-agent-modal.tsx +20 -64
- package/src/components/editor/actions/useNotebookActions.tsx +8 -0
- package/src/components/editor/ai/add-cell-with-ai.tsx +14 -5
- package/src/components/editor/ai/ai-completion-editor.tsx +4 -1
- package/src/components/editor/cell/cell-context-menu.tsx +7 -0
- package/src/components/editor/chrome/components/__tests__/feedback-button.test.tsx +221 -0
- package/src/components/editor/chrome/components/feedback-button.tsx +308 -77
- package/src/components/editor/chrome/panels/packages-panel.tsx +11 -1
- package/src/components/editor/chrome/panels/write-secret-modal.tsx +3 -2
- package/src/components/editor/columns/__tests__/cell-column.test.tsx +105 -0
- package/src/components/editor/columns/cell-column.tsx +34 -4
- package/src/components/editor/columns/sortable-column.tsx +24 -4
- package/src/components/editor/connections/__tests__/secret-combobox.test.ts +134 -0
- package/src/components/editor/connections/database/schemas.ts +35 -27
- package/src/components/editor/connections/form-renderers.tsx +42 -110
- package/src/components/editor/connections/secret-combobox.tsx +253 -0
- package/src/components/editor/connections/storage/schemas.ts +12 -6
- package/src/components/editor/file-tree/download.ts +46 -0
- package/src/components/editor/file-tree/file-explorer.tsx +3 -21
- package/src/components/editor/file-tree/file-viewer.tsx +4 -27
- package/src/components/editor/navigation/__tests__/navigation.test.ts +33 -0
- package/src/components/editor/navigation/navigation.ts +8 -1
- package/src/components/editor/notebook-cell.tsx +203 -106
- package/src/components/editor/renderers/__tests__/cells-renderer.test.tsx +66 -0
- package/src/components/editor/renderers/cell-array.tsx +26 -13
- package/src/components/editor/renderers/cells-renderer.tsx +8 -2
- package/src/components/editor/renderers/slides-layout/__tests__/plugin.test.ts +29 -0
- package/src/components/editor/renderers/slides-layout/types.ts +4 -0
- package/src/components/editor/renderers/vertical-layout/vertical-layout.tsx +19 -19
- package/src/components/slides/reveal-component.tsx +37 -17
- package/src/components/slides/slide-form.tsx +72 -0
- package/src/components/ui/toast.tsx +11 -3
- package/src/components/ui/toaster.tsx +65 -9
- package/src/core/ai/context/providers/error.ts +6 -158
- package/src/core/cells/__tests__/utils.test.ts +59 -0
- package/src/core/cells/utils.ts +51 -0
- package/src/core/codemirror/completion/__tests__/signature-hint.test.ts +97 -3
- package/src/core/codemirror/completion/signature-hint.ts +78 -11
- package/src/core/constants.ts +8 -0
- package/src/core/diagnostics/__tests__/issue-details.test.ts +173 -0
- package/src/core/diagnostics/issue-details.ts +139 -0
- package/src/core/errors/__tests__/error-entries.test.ts +25 -0
- package/src/core/errors/error-entries.ts +176 -0
- package/src/core/islands/__tests__/bridge.test.ts +341 -46
- package/src/core/islands/__tests__/main.test.ts +176 -0
- package/src/core/islands/__tests__/parse.test.ts +105 -0
- package/src/core/islands/bootstrap.ts +8 -3
- package/src/core/islands/bridge.ts +117 -23
- package/src/core/islands/components/__tests__/web-components.test.tsx +214 -0
- package/src/core/islands/components/web-components.tsx +76 -15
- package/src/core/islands/constants.ts +1 -0
- package/src/core/islands/main.ts +69 -3
- package/src/core/islands/parse.ts +70 -23
- package/src/core/islands/worker/__tests__/controller.test.ts +173 -0
- package/src/core/islands/worker/worker.tsx +145 -57
- package/src/core/network/__tests__/requests-lazy.test.ts +18 -0
- package/src/core/network/__tests__/requests-network.test.ts +7 -0
- package/src/core/network/requests-lazy.ts +13 -1
- package/src/core/network/requests-network.ts +3 -0
- package/src/core/network/requests-static.ts +1 -0
- package/src/core/network/requests-toasting.tsx +1 -0
- package/src/core/network/types.ts +3 -0
- package/src/core/runtime/__tests__/runtime.test.ts +64 -0
- package/src/core/runtime/runtime.ts +30 -10
- package/src/core/wasm/bridge.ts +8 -0
- package/src/core/wasm/worker/bootstrap.ts +113 -20
- package/src/core/wasm/worker/types.ts +2 -0
- package/src/css/app/Cell.css +10 -0
- package/src/hooks/__tests__/useHotkey.test.tsx +88 -0
- package/src/hooks/useHotkey.ts +29 -4
- package/src/plugins/impl/anywidget/__tests__/host.test.ts +6 -9
- package/src/plugins/impl/anywidget/__tests__/registry.test.ts +3 -1
- package/src/plugins/impl/anywidget/__tests__/widget-binding.test.ts +32 -61
- package/src/plugins/impl/anywidget/model-proxy.ts +0 -13
- package/src/plugins/impl/anywidget/runtime.ts +1 -0
- package/src/plugins/impl/anywidget/widget-binding.ts +8 -34
- package/src/plugins/impl/image-comparison/ImageComparisonComponent.tsx +53 -2
- package/src/plugins/impl/image-comparison/__tests__/ImageComparisonComponent.test.tsx +71 -0
- package/src/plugins/impl/vega/__tests__/use-vega-container-remeasure.test.ts +102 -0
- package/src/plugins/impl/vega/use-vega-container-remeasure.ts +39 -0
- package/src/plugins/impl/vega/vega-component.tsx +5 -4
- package/src/theme/__tests__/useTheme.test.ts +68 -0
- package/src/theme/useTheme.ts +16 -1
- package/dist/assets/CellStatus-CJiCB3Hi.js +0 -1
- package/dist/assets/ConnectedDataExplorerComponent-B4fGzEJZ.js +0 -1
- package/dist/assets/DeferredRequestRegistry-RuL7NV1n.js +0 -1
- package/dist/assets/ErrorBoundary-Bo313Z9X.js +0 -1
- package/dist/assets/ImageComparisonComponent-BHNx9yIG.js +0 -1
- package/dist/assets/ImperativeModal-B62Q6S9l.js +0 -1
- package/dist/assets/Inputs-SmI80aJQ.js +0 -1
- package/dist/assets/JsonOutput-Cqq7S3wn.js +0 -53
- package/dist/assets/LazyAnyLanguageCodeMirror-BSGwa0jm.js +0 -2
- package/dist/assets/MarimoErrorOutput-t_4q7nKD.js +0 -11
- package/dist/assets/Plot-BB9gg44K.js +0 -3789
- package/dist/assets/RSPContexts-VzcTZjG1.js +0 -1
- package/dist/assets/RenderHTML-DZz6EFTa.js +0 -1
- package/dist/assets/RunButton-rOSamvRh.js +0 -1
- package/dist/assets/__vite-browser-external-CeH7R2Sf.js +0 -1
- package/dist/assets/__vite-browser-external-DTK_qJHK.js +0 -1
- package/dist/assets/add-cell-with-ai-Cy1aVVcT.js +0 -110
- package/dist/assets/add-connection-dialog-B7evz8iS.js +0 -170
- package/dist/assets/agent-panel-CBDRTGjF.js +0 -287
- package/dist/assets/ai-model-dropdown-Cs7srqhW.js +0 -5
- package/dist/assets/alert-1y_DnRWn.js +0 -1
- package/dist/assets/alert-dialog-CC0gG4Av.js +0 -11
- package/dist/assets/any-language-editor-DPRB0D1H.js +0 -1
- package/dist/assets/apl-Chr9VNQb.js +0 -1
- package/dist/assets/app-config-button-vfhq9pUS.js +0 -1
- package/dist/assets/arc-DUSwcTI9.js +0 -1
- package/dist/assets/architecture-7HQA4BMR-BKC1aYPh.js +0 -1
- package/dist/assets/architectureDiagram-VXUJARFQ-9zNZOBwF.js +0 -36
- package/dist/assets/arrays-DWxvyYxP.js +0 -1
- package/dist/assets/arrow-right-DFk7kYqp.js +0 -1
- package/dist/assets/asciiarmor-DzJGO3cy.js +0 -1
- package/dist/assets/asn1-Blkd-UVm.js +0 -1
- package/dist/assets/badge-6yGCqY1Z.js +0 -1
- package/dist/assets/ban-CttLZK8l.js +0 -1
- package/dist/assets/blockDiagram-VD42YOAC-CoeffysX.js +0 -122
- package/dist/assets/bot-message-square-AslRbAeb.js +0 -1
- package/dist/assets/brainfuck-BeRVF6bt.js +0 -1
- package/dist/assets/button-BF7GSjhW.js +0 -1
- package/dist/assets/c4Diagram-YG6GDRKO-HRtHHrnC.js +0 -10
- package/dist/assets/cache-panel-BlIrcwlT.js +0 -1
- package/dist/assets/capabilities-CjNGDxxx.js +0 -1
- package/dist/assets/card-s1ZaQ9ub.js +0 -1
- package/dist/assets/cell-editor-CTnJaccs.js +0 -27
- package/dist/assets/cell-link-BZg1pgHT.js +0 -1
- package/dist/assets/cells-ChH37lAD.js +0 -229
- package/dist/assets/channel-xkFudYwF.js +0 -1
- package/dist/assets/chart-no-axes-column-DVEV2j1H.js +0 -1
- package/dist/assets/chat-display-g1pE3dpm.js +0 -1
- package/dist/assets/chat-panel-DC85y3IW.js +0 -3
- package/dist/assets/chat-ui-CcC5kdbn.js +0 -4
- package/dist/assets/check-DQmqoJgr.js +0 -1
- package/dist/assets/chevron-right-C7RH0Nc7.js +0 -1
- package/dist/assets/chunk-4BX2VUAB-B9eTC_as.js +0 -1
- package/dist/assets/chunk-4F5CHEZ2-DMnTTluO.js +0 -1
- package/dist/assets/chunk-55IACEB6-RaPtcg4Z.js +0 -1
- package/dist/assets/chunk-5FQGJX7Z-OScactr4.js +0 -113
- package/dist/assets/chunk-ABZYJK2D-BahEojQ2.js +0 -80
- package/dist/assets/chunk-ATLVNIR6-x_ij98gB.js +0 -1
- package/dist/assets/chunk-B2363JML-Dku8Kg6Q.js +0 -1
- package/dist/assets/chunk-B4BG7PRW-CNWrrwyq.js +0 -165
- package/dist/assets/chunk-CVBHYZKI-BmNXddyI.js +0 -1
- package/dist/assets/chunk-DI55MBZ5-DLtrYKQl.js +0 -220
- package/dist/assets/chunk-EXTU4WIE-BosqMJS0.js +0 -1
- package/dist/assets/chunk-FMBD7UC4-CXkgki2e.js +0 -15
- package/dist/assets/chunk-FRFDVMJY-W8ieZ4T6.js +0 -1
- package/dist/assets/chunk-HN2XXSSU-BstCPYtG.js +0 -1
- package/dist/assets/chunk-JA3XYJ7Z-BGpTu7cp.js +0 -70
- package/dist/assets/chunk-JZLCHNYA-B5kB1fLQ.js +0 -54
- package/dist/assets/chunk-MI3HLSF2-BceZdyTR.js +0 -32
- package/dist/assets/chunk-N4CR4FBY-BBG_uFjb.js +0 -2
- package/dist/assets/chunk-PL6DKKU2-B2NeQSoB.js +0 -1
- package/dist/assets/chunk-QN33PNHL-CVHu8q7d.js +0 -1
- package/dist/assets/chunk-QXUST7PY-CFthKhW0.js +0 -7
- package/dist/assets/chunk-QZHKN3VN-B9NOrYv5.js +0 -1
- package/dist/assets/chunk-S3R3BYOJ-C_f67nz1.js +0 -2
- package/dist/assets/chunk-SJTYNZTY-KfBChqO5.js +0 -1
- package/dist/assets/chunk-TCCFYFTB-Cq0Vz6d2.js +0 -125
- package/dist/assets/chunk-TQ3KTPDO-BMxqKE6C.js +0 -1
- package/dist/assets/chunk-TZMSLE5B-HjU3PlWB.js +0 -1
- package/dist/assets/chunk-UMXZTB3W-BUDrzDik.js +0 -1
- package/dist/assets/circle-check-Q2N68uwG.js +0 -1
- package/dist/assets/circle-play-BvVg4iiT.js +0 -1
- package/dist/assets/circle-plus-BIy1BGHw.js +0 -1
- package/dist/assets/classDiagram-2ON5EDUG-BijpneZJ.js +0 -1
- package/dist/assets/classDiagram-v2-WZHVMYZB-DcBY2KJt.js +0 -1
- package/dist/assets/clear-button-DhIdI0ng.js +0 -1
- package/dist/assets/clike-BhFoDDUF.js +0 -1
- package/dist/assets/clipboard-paste-CXof_R04.js +0 -1
- package/dist/assets/clojure-D3LWk-SC.js +0 -1
- package/dist/assets/cmake-238GeNbi.js +0 -1
- package/dist/assets/cn-X2M2usMq.js +0 -1
- package/dist/assets/cobol-CZP4RjnO.js +0 -1
- package/dist/assets/code-DP40S9ln.js +0 -1
- package/dist/assets/code-block-37QAKDTI-DhYEpctq.js +0 -2
- package/dist/assets/code-xml-tqeFGeKJ.js +0 -1
- package/dist/assets/coffeescript-B7XjCOaF.js +0 -1
- package/dist/assets/column-preview-47aOuXOh.js +0 -1
- package/dist/assets/command-DRHbYHUP.js +0 -1
- package/dist/assets/command-palette-Gt0BItEs.js +0 -1
- package/dist/assets/common-DLhZ1eJc.js +0 -1
- package/dist/assets/commonlisp-DKNhPgyy.js +0 -1
- package/dist/assets/components-F3_UehyY.js +0 -1
- package/dist/assets/config-CjCV0n0j.js +0 -1
- package/dist/assets/config-Vyzo6FSF.js +0 -1
- package/dist/assets/constants-B9JJ72XE.js +0 -1
- package/dist/assets/context-C2Ie4tn_.js +0 -1
- package/dist/assets/copy-D8MtpXgN.js +0 -1
- package/dist/assets/copy-IBNGDypD.js +0 -1
- package/dist/assets/copy-icon-EHMT-qlr.js +0 -1
- package/dist/assets/cose-bilkent-S5V4N54A-BfoWxM7A.js +0 -1
- package/dist/assets/createReducer-3wF4dU7I.js +0 -1
- package/dist/assets/crystal-DmwO_0_4.js +0 -1
- package/dist/assets/css-b-BDNvIM.js +0 -1
- package/dist/assets/cypher-Bld-ecrK.js +0 -1
- package/dist/assets/d-D0LlbZRM.js +0 -1
- package/dist/assets/dagre-6UL2VRFP-D9JPUp6S.js +0 -4
- package/dist/assets/data-grid-overlay-editor-DmMSodPy.js +0 -1
- package/dist/assets/database-zap-DIlSqcdp.js +0 -1
- package/dist/assets/datasource-ii4hOmhM.js +0 -3
- package/dist/assets/dates-D8uxHHPL.js +0 -1
- package/dist/assets/dependency-graph-panel-BD4d_qw2.js +0 -5
- package/dist/assets/diagram-PSM6KHXK-B0tUabrq.js +0 -24
- package/dist/assets/diagram-QEK2KX5R-Cw9uF9O2.js +0 -43
- package/dist/assets/diagram-S2PKOQOG-CQ2c8wZv.js +0 -24
- package/dist/assets/dialog-DkJmIrsG.js +0 -1
- package/dist/assets/diff-BhkLDFRp.js +0 -1
- package/dist/assets/dist-B0WqBUnf.js +0 -1
- package/dist/assets/dist-BKUbUFYs.js +0 -1
- package/dist/assets/dist-BP6Oj7vU.js +0 -1
- package/dist/assets/dist-BTohsDew.js +0 -1
- package/dist/assets/dist-BXnBIECY.js +0 -1
- package/dist/assets/dist-BbGE6FVk.js +0 -1
- package/dist/assets/dist-BnV7Zv4J.js +0 -1
- package/dist/assets/dist-BqW5KzD0.js +0 -1
- package/dist/assets/dist-BtrqKtvn.js +0 -3
- package/dist/assets/dist-C4-ruy-b.js +0 -1
- package/dist/assets/dist-C62CI8Os.js +0 -7
- package/dist/assets/dist-C6zQ57IZ.js +0 -1
- package/dist/assets/dist-CF7wJiFo.js +0 -1
- package/dist/assets/dist-CIQQgRzz.js +0 -1
- package/dist/assets/dist-CIlJuwTK.js +0 -1
- package/dist/assets/dist-CKCDTgIC.js +0 -1
- package/dist/assets/dist-CNKFZCiw.js +0 -1
- package/dist/assets/dist-CR5yl751.js +0 -1
- package/dist/assets/dist-CUoPT-12.js +0 -1
- package/dist/assets/dist-CVIPALxj.js +0 -1
- package/dist/assets/dist-CWf9ows7.js +0 -1
- package/dist/assets/dist-CcVb-ahb.js +0 -1
- package/dist/assets/dist-CfGDksO-.js +0 -2
- package/dist/assets/dist-Ci66nyHs.js +0 -1
- package/dist/assets/dist-Cr2Z8vBa.js +0 -1
- package/dist/assets/dist-CrExO-X4.js +0 -1
- package/dist/assets/dist-CruUwJkI.js +0 -1
- package/dist/assets/dist-CwfKvuyQ.js +0 -2
- package/dist/assets/dist-CzcvL_Z9.js +0 -1
- package/dist/assets/dist-D-2yWcX9.js +0 -1
- package/dist/assets/dist-DCqDlsgq.js +0 -1
- package/dist/assets/dist-DJZFvU6Z.js +0 -1
- package/dist/assets/dist-DU8gTNy9.js +0 -1
- package/dist/assets/dist-DblYTes5.js +0 -6
- package/dist/assets/dist-Dez1I5M9.js +0 -14
- package/dist/assets/dist-DgBuTUso.js +0 -7
- package/dist/assets/dist-DkYp4RmM.js +0 -1
- package/dist/assets/dist-DlREAgj1.js +0 -1
- package/dist/assets/dist-FCPDbCwM.js +0 -1
- package/dist/assets/dist-KRVJJ-dD.js +0 -1
- package/dist/assets/dist-Qjp1OoCV.js +0 -1
- package/dist/assets/dist-RW5SS83Z.js +0 -1
- package/dist/assets/dist-UghNT0W0.js +0 -3
- package/dist/assets/dist-XexmIjM8.js +0 -1
- package/dist/assets/dist-ZjSH4Z6x.js +0 -13
- package/dist/assets/dist-azqjLiVY.js +0 -1
- package/dist/assets/dist-hvL02v1Z.js +0 -1
- package/dist/assets/dist-qGjvyIZU.js +0 -1
- package/dist/assets/dockerfile-BLAGVcyS.js +0 -1
- package/dist/assets/documentation-panel-De-VtKhs.js +0 -1
- package/dist/assets/download-BVqpOaYz.js +0 -9
- package/dist/assets/dropdown-menu-DfGLyCbP.js +0 -1
- package/dist/assets/dtd-CjtwvVlM.js +0 -1
- package/dist/assets/dylan-D750ej-H.js +0 -1
- package/dist/assets/ecl-ChePjOI6.js +0 -1
- package/dist/assets/edit-page-ByuvhrYn.js +0 -9
- package/dist/assets/eiffel-MZyxske9.js +0 -1
- package/dist/assets/ellipsis-D0iYysLh.js +0 -1
- package/dist/assets/elm-gXtxhfT4.js +0 -1
- package/dist/assets/empty-state-QmmE2oN4.js +0 -1
- package/dist/assets/en-US-BXNio91F.js +0 -1
- package/dist/assets/erDiagram-Q2GNP2WA-x4InYUc5.js +0 -60
- package/dist/assets/erlang-CEe3KwR2.js +0 -1
- package/dist/assets/error-banner-DEWyImqa.js +0 -1
- package/dist/assets/error-panel-BWy0Wum5.js +0 -1
- package/dist/assets/es-EItoYvXh.js +0 -5
- package/dist/assets/esm-B_l4S2x_.js +0 -1
- package/dist/assets/esm-X3Tr2pur.js +0 -1
- package/dist/assets/external-link-BktyywYg.js +0 -1
- package/dist/assets/eye-off-DI0EQXw0.js +0 -1
- package/dist/assets/factor-Cf6jeuFE.js +0 -1
- package/dist/assets/factor-D7Lm0c37.js +0 -1
- package/dist/assets/field-DlNY-dDH.js +0 -1
- package/dist/assets/file-BvoBtS_V.js +0 -1
- package/dist/assets/file-explorer-panel-lxCbk6eL.js +0 -26
- package/dist/assets/file-headphone-CUN2DC78.js +0 -1
- package/dist/assets/file-icons-BSYRCaKq.js +0 -1
- package/dist/assets/file-name-input-0TQuog_P.js +0 -3
- package/dist/assets/fileToBase64-BSOFR3RV.js +0 -1
- package/dist/assets/floating-outline-Dy8nXch3.js +0 -1
- package/dist/assets/flowDiagram-NV44I4VS-D6dpsSFe.js +0 -162
- package/dist/assets/focus-CeA7VBO7.js +0 -1
- package/dist/assets/form-x2vXRBGq.js +0 -2
- package/dist/assets/formats-ZGU43GQU.js +0 -1
- package/dist/assets/formatting-DhA_x3cD.js +0 -1
- package/dist/assets/forth-cDDgSP9p.js +0 -1
- package/dist/assets/fortran-C8vMa5zJ.js +0 -1
- package/dist/assets/fullscreen-BXI8V5i6.js +0 -41
- package/dist/assets/gallery-page-DoxZqkrq.js +0 -1
- package/dist/assets/ganttDiagram-JELNMOA3-CiHe5iIm.js +0 -267
- package/dist/assets/gas-Df167mJ4.js +0 -1
- package/dist/assets/gherkin-8tk6kFf5.js +0 -1
- package/dist/assets/gitGraph-G5XIXVHT-DR6EWL-x.js +0 -1
- package/dist/assets/gitGraphDiagram-V2S2FVAM-DYyxaqXO.js +0 -65
- package/dist/assets/github-DghuZBnj.js +0 -1
- package/dist/assets/glide-data-editor-zlTMrHkt.js +0 -132
- package/dist/assets/globals-B2VpoaLA.js +0 -1
- package/dist/assets/groovy-JuojAv0H.js +0 -1
- package/dist/assets/haskell-Bpjctb1r.js +0 -1
- package/dist/assets/hat-glasses-DlK0E4SX.js +0 -1
- package/dist/assets/haxe-DJHguewM.js +0 -1
- package/dist/assets/home-page-BDr2ccto.js +0 -4
- package/dist/assets/hooks-C9C5iUZz.js +0 -1
- package/dist/assets/house-DHu4JLi3.js +0 -1
- package/dist/assets/html-to-image-B9XAiAY5.js +0 -2
- package/dist/assets/icons-avFV3lBF.js +0 -1
- package/dist/assets/idl-feOWH07C.js +0 -1
- package/dist/assets/image-BzUcK6ho.js +0 -1
- package/dist/assets/index-Bv_jqGHk.js +0 -38
- package/dist/assets/index-DZAttTAm.css +0 -2
- package/dist/assets/info-VBDWY6EO-CB7fium3.js +0 -1
- package/dist/assets/infoDiagram-HS3SLOUP-BvAjf34S.js +0 -2
- package/dist/assets/input-DB2LiTiQ.js +0 -1
- package/dist/assets/isValid-DKyiOp4U.js +0 -1
- package/dist/assets/javascript-BekfVgKQ.js +0 -1
- package/dist/assets/journeyDiagram-XKPGCS4Q-DH75OGJw.js +0 -139
- package/dist/assets/julia-DG-ah68k.js +0 -1
- package/dist/assets/kanban-definition-3W4ZIXB7-DHdmqfgQ.js +0 -89
- package/dist/assets/katex-CByyX_jt.js +0 -1
- package/dist/assets/kbd-UVzWBHfi.js +0 -1
- package/dist/assets/kiosk-mode-jQCgP3s9.js +0 -1
- package/dist/assets/label-CFvCMYuj.js +0 -1
- package/dist/assets/layout-CvW9L5oQ.js +0 -9
- package/dist/assets/line-BKm-YkCh.js +0 -1
- package/dist/assets/linear-BD0d4-bn.js +0 -1
- package/dist/assets/link-e5mRDDOC.js +0 -1
- package/dist/assets/links-Bof3pNQU.js +0 -1
- package/dist/assets/links-CCkJpphF.js +0 -1
- package/dist/assets/livescript-B2wfFY5r.js +0 -1
- package/dist/assets/logs-panel-BTnX1HXX.js +0 -1
- package/dist/assets/loro_wasm_bg-B9rbCmxT.js +0 -1
- package/dist/assets/lua-CDP4_ezR.js +0 -1
- package/dist/assets/marimo-icons-DuRILrB8.js +0 -1
- package/dist/assets/markdown-renderer-BxBgsCTf.js +0 -5
- package/dist/assets/mathematica-BElcKLBW.js +0 -1
- package/dist/assets/mbox-DlwO5A6s.js +0 -1
- package/dist/assets/menu-items-CQMqwayA.js +0 -1
- package/dist/assets/mermaid-4DMBBIKO-Bc5nhxrT.js +0 -1
- package/dist/assets/mermaid-CcR9c7HL.js +0 -11
- package/dist/assets/mermaid-parser.core-Chxpj4sw.js +0 -4
- package/dist/assets/message-circle-RkIzfQEi.js +0 -1
- package/dist/assets/mhchem-CkxmpjZ8.js +0 -1
- package/dist/assets/mindmap-definition-VGOIOE7T-DFjySly4.js +0 -68
- package/dist/assets/mirc-D6l20mh4.js +0 -1
- package/dist/assets/mllike-fwkzyrZt.js +0 -1
- package/dist/assets/modelica-DAnB6nmO.js +0 -1
- package/dist/assets/mscgen-Cs4VQ67l.js +0 -1
- package/dist/assets/multi-icon-CTvmuLdL.js +0 -1
- package/dist/assets/mumps-Dt8k0EUU.js +0 -1
- package/dist/assets/name-cell-input-DOmw-OQJ.js +0 -1
- package/dist/assets/nsis-C1g8DTeO.js +0 -1
- package/dist/assets/nsis-C5Oj2cBc.js +0 -1
- package/dist/assets/ntriples-DTMBUZ7F.js +0 -1
- package/dist/assets/number-overlay-editor-BYYoWTbS.js +0 -9
- package/dist/assets/numbers-_ry1Nlla.js +0 -1
- package/dist/assets/octave-BwfNaTxP.js +0 -1
- package/dist/assets/once-CXj_gH7S.js +0 -1
- package/dist/assets/ordinal-BEKpVWu-.js +0 -1
- package/dist/assets/outline-panel-CNmQqc8n.js +0 -1
- package/dist/assets/oz-6BWZLab7.js +0 -1
- package/dist/assets/package-BTIV9-Dk.js +0 -1
- package/dist/assets/packages-panel-COIInbnq.js +0 -1
- package/dist/assets/packet-DYOGHKS2-DfGBb0Dd.js +0 -1
- package/dist/assets/pair-with-agent-modal-CB0Cx-Eb.js +0 -4
- package/dist/assets/panel-context-DC1vAeB3.js +0 -1
- package/dist/assets/panels-CZgpp-Jc.js +0 -4
- package/dist/assets/pascal-64fygDAy.js +0 -1
- package/dist/assets/pathUtils-BXCjaLHB.js +0 -1
- package/dist/assets/perl-CC5X3ewy.js +0 -1
- package/dist/assets/pie-VRWISCQL-BUcldHEm.js +0 -1
- package/dist/assets/pieDiagram-ADFJNKIX-Cqy3gKwK.js +0 -30
- package/dist/assets/pig-DP6pbekb.js +0 -1
- package/dist/assets/plus-ZXRHY1up.js +0 -1
- package/dist/assets/popover-DMNO6Poc.js +0 -1
- package/dist/assets/powershell-WtGE4kBw.js +0 -1
- package/dist/assets/precisionRound-BOmLQIKI.js +0 -1
- package/dist/assets/process-output-BSGc23nl.js +0 -1
- package/dist/assets/properties-CRoDUVbK.js +0 -1
- package/dist/assets/protobuf-BS6gEp_x.js +0 -1
- package/dist/assets/pug-CzQlD5xP.js +0 -1
- package/dist/assets/pug-STAEJHPq.js +0 -1
- package/dist/assets/puppet-BV74Hcdf.js +0 -1
- package/dist/assets/purify.es-DfJp_of2.js +0 -2
- package/dist/assets/python-4yue3pyq.js +0 -1
- package/dist/assets/q-SorAikmF.js +0 -1
- package/dist/assets/quadrantDiagram-AYHSOK5B-B3qlPKHh.js +0 -7
- package/dist/assets/r-Dc7847Lm.js +0 -1
- package/dist/assets/radar-ZZBFDIW7-DALEitfL.js +0 -1
- package/dist/assets/radio-group-xSHDhdM7.js +0 -1
- package/dist/assets/react-vega-BVvkE5O4.js +0 -1
- package/dist/assets/react-vega-DJIihc-q.js +0 -188
- package/dist/assets/readonly-code-display-DAO13rnf.js +0 -1
- package/dist/assets/readonly-python-code-C12Tt_qR.js +0 -1
- package/dist/assets/refresh-ccw-Bee7JLOl.js +0 -1
- package/dist/assets/refresh-cw-C9FftltI.js +0 -1
- package/dist/assets/renderShortcut-DTZeni4V.js +0 -1
- package/dist/assets/request-registry-K6vbazWs.js +0 -1
- package/dist/assets/requests-KshNNAOp.js +0 -1
- package/dist/assets/requirementDiagram-UZGBJVZJ-C1PyB1kO.js +0 -64
- package/dist/assets/reveal-component-Br8zxPxo.js +0 -1069
- package/dist/assets/rotate-ccw-ZsOWbQCw.js +0 -1
- package/dist/assets/rpm-C2rCOQ1Z.js +0 -1
- package/dist/assets/ruby-DNrqAMg4.js +0 -1
- package/dist/assets/run-page-DYYDJi1y.js +0 -1
- package/dist/assets/runs-ChtaccFx.js +0 -1
- package/dist/assets/sankeyDiagram-TZEHDZUN-CWokPFKQ.js +0 -10
- package/dist/assets/sas-BKYzR5_z.js +0 -1
- package/dist/assets/save-BNNMzGly.js +0 -1
- package/dist/assets/save-worker-Bcr7rl0C.js +0 -77
- package/dist/assets/scheme-as2FasXy.js +0 -1
- package/dist/assets/scratchpad-panel-BpovE3w8.js +0 -1
- package/dist/assets/secrets-panel-B_LDPvs3.js +0 -1
- package/dist/assets/select-Cjly7tmx.js +0 -1
- package/dist/assets/sequenceDiagram-WL72ISMW-Bt2iqyTe.js +0 -145
- package/dist/assets/session-CsT5Gg9j.js +0 -1
- package/dist/assets/session-panel-D9KEIcxF.js +0 -1
- package/dist/assets/settings-1WkYMLdR.js +0 -1
- package/dist/assets/share-DQjChRJG.js +0 -1
- package/dist/assets/shell-Bf8Q5ES6.js +0 -1
- package/dist/assets/sieve-D515TmZq.js +0 -1
- package/dist/assets/smalltalk-DYzx-8Vf.js +0 -1
- package/dist/assets/snippets-panel-B0kWXd0i.js +0 -1
- package/dist/assets/sparkles-COaEc8Qn.js +0 -1
- package/dist/assets/sparql-6VnDrYOs.js +0 -1
- package/dist/assets/spec-CDgWI0fT.js +0 -1
- package/dist/assets/spinner-BbI9qk88.js +0 -1
- package/dist/assets/square-35tXIgiR.js +0 -1
- package/dist/assets/square-function-Dx0pKHko.js +0 -1
- package/dist/assets/src-CvyFXpBy.js +0 -1
- package/dist/assets/state-Csq9SFHN.js +0 -3
- package/dist/assets/state-DIDUL4YY.js +0 -1
- package/dist/assets/state-DjrxAf9W.js +0 -1
- package/dist/assets/state-MC8-jN2e.js +0 -1
- package/dist/assets/stateDiagram-FKZM4ZOC-Cu-QGXei.js +0 -1
- package/dist/assets/stateDiagram-v2-4FDKWEC3-C_watzL2.js +0 -1
- package/dist/assets/step-B5y1YzZ4.js +0 -1
- package/dist/assets/stex-BBWVYm-R.js +0 -1
- package/dist/assets/strings-DvZlHYnD.js +0 -2
- package/dist/assets/stylus-DUyoKY_7.js +0 -1
- package/dist/assets/swift-CXFwyL-K.js +0 -1
- package/dist/assets/swiper-component-1Qq8v34u.js +0 -1
- package/dist/assets/switch-DqXjpgoL.js +0 -1
- package/dist/assets/table-CnW850Wt.js +0 -1
- package/dist/assets/table-DxdydCSG.js +0 -1
- package/dist/assets/tcl-DbyqErhh.js +0 -1
- package/dist/assets/terminal-BRypP4mE.js +0 -62
- package/dist/assets/textarea-D_WnJbC1.js +0 -1
- package/dist/assets/textile-8fxKT1uq.js +0 -1
- package/dist/assets/time-jEmAyVx0.js +0 -1
- package/dist/assets/timeline-definition-IT6M3QCI-DbqS7JT0.js +0 -61
- package/dist/assets/timer-B6DpdVnC.js +0 -1
- package/dist/assets/toDate-DCE7d2fN.js +0 -1
- package/dist/assets/toml-BpCjWJNE.js +0 -1
- package/dist/assets/tooltip-CgQpRVyN.js +0 -1
- package/dist/assets/tracing-BnSjCbj3.js +0 -1
- package/dist/assets/tracing-panel-VQ2bJwVp.js +0 -2
- package/dist/assets/trash-2-CqTUwVuU.js +0 -1
- package/dist/assets/trash-BW_KaFjz.js +0 -1
- package/dist/assets/tree-actions-DONHntzY.js +0 -1
- package/dist/assets/treemap-GDKQZRPO-DD4LlMfm.js +0 -1
- package/dist/assets/triangle-alert-D8Ft17xk.js +0 -1
- package/dist/assets/troff-BhJs9Lif.js +0 -1
- package/dist/assets/ttcn-BVPxY_nX.js +0 -1
- package/dist/assets/ttcn-cfg-B4sCU0gH.js +0 -1
- package/dist/assets/turtle-D4EQx9sx.js +0 -1
- package/dist/assets/types-BnrgJ4Gh.js +0 -1
- package/dist/assets/useAsyncData-DAQcLiyE.js +0 -1
- package/dist/assets/useBoolean-DmobZaim.js +0 -1
- package/dist/assets/useCellActionButton-DJgU89TM.js +0 -1
- package/dist/assets/useDateFormatter-CAlTJ8HV.js +0 -1
- package/dist/assets/useDeleteCell-Dd-rdVr9.js +0 -1
- package/dist/assets/useDependencyPanelTab-5uO5bZY0.js +0 -1
- package/dist/assets/useEventListener-BakX-tnw.js +0 -1
- package/dist/assets/useHotkey-tGzXOQVZ.js +0 -1
- package/dist/assets/useIframeCapabilities-B0dNZiKK.js +0 -1
- package/dist/assets/useInstallPackage-C1Dd0aIZ.js +0 -1
- package/dist/assets/useInterval-DeSrhhRN.js +0 -1
- package/dist/assets/useLifecycle-Baf35rp4.js +0 -1
- package/dist/assets/useNotebookActions-DAyvCHVP.js +0 -1
- package/dist/assets/useNumberFormatter-CuxZh3Bq.js +0 -1
- package/dist/assets/usePress-BSFUeqnS.js +0 -7
- package/dist/assets/useRunCells-Dmf7GVGt.js +0 -1
- package/dist/assets/useSplitCell-BtwG_Ap2.js +0 -1
- package/dist/assets/useTheme-COorCcXC.js +0 -1
- package/dist/assets/utils-CCzEbCvM.js +0 -1
- package/dist/assets/utils-DPvpQ891.js +0 -61
- package/dist/assets/vb-D-5BLYdM.js +0 -1
- package/dist/assets/vbscript-DOZuVfk8.js +0 -1
- package/dist/assets/vega-component-DLk5ZoUT.js +0 -1
- package/dist/assets/vega-loader.browser-CZV6_g2i.js +0 -6
- package/dist/assets/velocity-BPduikoO.js +0 -1
- package/dist/assets/verilog-D9S6puFO.js +0 -1
- package/dist/assets/vhdl-YYXNXz0X.js +0 -1
- package/dist/assets/webidl-Ct7ps8LR.js +0 -1
- package/dist/assets/worker-Bp53hInb.js +0 -120
- package/dist/assets/workflow-f8flhcJ1.js +0 -1
- package/dist/assets/write-secret-modal-K2n79wHj.js +0 -1
- package/dist/assets/x-9vLEgLY6.js +0 -1
- package/dist/assets/xquery-9kDflInd.js +0 -1
- package/dist/assets/xychartDiagram-PRI3JC2R-BbSJBns5.js +0 -7
- package/dist/assets/yacas-u934AJft.js +0 -1
- package/dist/assets/youtube-NfBeYlaL.js +0 -1
- package/dist/assets/z80-BQ7XtT4U.js +0 -1
- /package/dist/assets/{Deferred-BMfCOLaw.js → Deferred-D2igisxY.js} +0 -0
- /package/dist/assets/{SSRProvider-DX2edArU.js → SSRProvider-BUSmWJKC.js} +0 -0
- /package/dist/assets/{apl-C1zdcQvI.js → apl-DVqFAlEd.js} +0 -0
- /package/dist/assets/{array-CEZNxKGf.js → array-Ddg9CgJT.js} +0 -0
- /package/dist/assets/{asciiarmor-B--OGpM1.js → asciiarmor-B45BhOLj.js} +0 -0
- /package/dist/assets/{asn1-D2UnMTL5.js → asn1-C4T2ctU6.js} +0 -0
- /package/dist/assets/{asterisk-Bjb62jej.js → asterisk-9U_4Kgke.js} +0 -0
- /package/dist/assets/{azure-DBVzcmvx.js → azure-nN8APleF.js} +0 -0
- /package/dist/assets/{blob-BiK5xmlC.js → blob-C3EfaMOb.js} +0 -0
- /package/dist/assets/{brainfuck-DrjMyC8V.js → brainfuck-kVh8Eud4.js} +0 -0
- /package/dist/assets/{bundle.esm-D544r2Sr.js → bundle.esm-D0TWQ6iT.js} +0 -0
- /package/dist/assets/{chunk-DR5Q36YT-SM9ZwAOv.js → chunk-DR5Q36YT-Bsu9Glc0.js} +0 -0
- /package/dist/assets/{cjs-DXo9vDEJ.js → cjs-D5tzp-Y6.js} +0 -0
- /package/dist/assets/{click-outside-container-C-40Ctlw.js → click-outside-container-CrWZsAF5.js} +0 -0
- /package/dist/assets/{clike-CCdVFz-6.js → clike-O0gwXilc.js} +0 -0
- /package/dist/assets/{clojure-BjmTMymc.js → clojure-CsbMWxp9.js} +0 -0
- /package/dist/assets/{clsx-BtEcuwwV.js → clsx-XrBBnd7s.js} +0 -0
- /package/dist/assets/{cmake-CgqRscDS.js → cmake-FpJvOdyj.js} +0 -0
- /package/dist/assets/{cobol-DZNhVUeB.js → cobol-Duxbpsru.js} +0 -0
- /package/dist/assets/{coffeescript-Qp7k0WHA.js → coffeescript-D-Unz9IP.js} +0 -0
- /package/dist/assets/{colors-Dm6L93c7.js → colors-C_0lIznd.js} +0 -0
- /package/dist/assets/{common-keywords-D_14jCw0.js → common-keywords-PqH2GDfH.js} +0 -0
- /package/dist/assets/{commonlisp-De6q7_JS.js → commonlisp-_nR12oc7.js} +0 -0
- /package/dist/assets/{createLucideIcon-BTp1tQDO.js → createLucideIcon-w-Qo9n0R.js} +0 -0
- /package/dist/assets/{crystal-BGXRJSF-.js → crystal-dj3W4b1A.js} +0 -0
- /package/dist/assets/{css-CNKF6pC6.js → css-0BG6A_BC.js} +0 -0
- /package/dist/assets/{cypher-BUDAQ7Fk.js → cypher-CKPokaoH.js} +0 -0
- /package/dist/assets/{cytoscape.esm-DHwdGdKb.js → cytoscape.esm-DzUNSF80.js} +0 -0
- /package/dist/assets/{d-BIAtzqpc.js → d-BrbqzVa2.js} +0 -0
- /package/dist/assets/{defaultLocale-DK1MWd7f.js → defaultLocale-BUCH2FMc.js} +0 -0
- /package/dist/assets/{defaultLocale-OkOxlkkM.js → defaultLocale-DOVIEEPN.js} +0 -0
- /package/dist/assets/{diff-aadYO3ro.js → diff-BmdR9FsO.js} +0 -0
- /package/dist/assets/{dist-COnmrAVZ.js → dist-D9sE1udr.js} +0 -0
- /package/dist/assets/{dtd-uNeIl1u0.js → dtd-DbCXDVgi.js} +0 -0
- /package/dist/assets/{duckdb-keywords-CSySeB8R.js → duckdb-keywords-mPlR0SxW.js} +0 -0
- /package/dist/assets/{dylan-CrZBaY0F.js → dylan-CLLzL2Js.js} +0 -0
- /package/dist/assets/{ebnf-KJaLpQez.js → ebnf-Cnws41cu.js} +0 -0
- /package/dist/assets/{ecl-ByTsrrt6.js → ecl-BC7x2nzk.js} +0 -0
- /package/dist/assets/{eiffel-DRhIEZQi.js → eiffel-CDU836rz.js} +0 -0
- /package/dist/assets/{elm-BBPeNBgT.js → elm-D-_bXARs.js} +0 -0
- /package/dist/assets/{emotion-is-prop-valid.esm-CK2zY6a8.js → emotion-is-prop-valid.esm-lG8j6oqk.js} +0 -0
- /package/dist/assets/{erlang-EMEOk6kj.js → erlang-CwDZk2zM.js} +0 -0
- /package/dist/assets/{errors-Bi-kjxOy.js → errors-PgHhDa-M.js} +0 -0
- /package/dist/assets/{esm-D8Ai_4yn.js → esm-D6WfbcL3.js} +0 -0
- /package/dist/assets/{events-XR_LpvHc.js → events-90X9nql5.js} +0 -0
- /package/dist/assets/{extends-CeSFM22p.js → extends-B9D0JO9U.js} +0 -0
- /package/dist/assets/{fcl-Cf241iHu.js → fcl-CwkPc-_9.js} +0 -0
- /package/dist/assets/{forth-BdKkHzwH.js → forth-D6FsO_8x.js} +0 -0
- /package/dist/assets/{fortran-DxGNM9Kj.js → fortran-D4BMbIkG.js} +0 -0
- /package/dist/assets/{gas-hf-H6Zc4.js → gas-JFjzcgdY.js} +0 -0
- /package/dist/assets/{gherkin-D1O_VlrS.js → gherkin-Cyu-qGaF.js} +0 -0
- /package/dist/assets/{groovy-Budmgm6I.js → groovy-CZaE9eN-.js} +0 -0
- /package/dist/assets/{haskell-CDrggYs0.js → haskell-Dc6o0IGr.js} +0 -0
- /package/dist/assets/{haxe-CPnBkTzf.js → haxe-Bsf0tzqs.js} +0 -0
- /package/dist/assets/{http-_roNBajA.js → http-BQNSD-HR.js} +0 -0
- /package/dist/assets/{idl-BTZd0S94.js → idl-1W91kQ8_.js} +0 -0
- /package/dist/assets/{init-BpLL1fe9.js → init-nx27Zb9l.js} +0 -0
- /package/dist/assets/{invariant-C2E8KCbD.js → invariant-CkiqGLcK.js} +0 -0
- /package/dist/assets/{javascript-Czx24F5X.js → javascript-BZ81-2rO.js} +0 -0
- /package/dist/assets/{jsx-runtime-PbYoItBR.js → jsx-runtime-Blw4afVn.js} +0 -0
- /package/dist/assets/{julia-OeEN0FvJ.js → julia-BZOsq0r_.js} +0 -0
- /package/dist/assets/{katex-C5COVNYq.js → katex-CvZ3kCGk.js} +0 -0
- /package/dist/assets/{livescript-DLmsZIyI.js → livescript-CNZfmikk.js} +0 -0
- /package/dist/assets/{loro_wasm_bg-BFCm9sQd.js → loro_wasm_bg-RNUly1SE.js} +0 -0
- /package/dist/assets/{lua-BM3BXoTQ.js → lua-DXGRliwd.js} +0 -0
- /package/dist/assets/{main-DmhaVp6Y.js → main-BNL5rxQw.js} +0 -0
- /package/dist/assets/{math-CpvW-dlE.js → math-CLO4uoaP.js} +0 -0
- /package/dist/assets/{mathematica-BbPQ8-Rw.js → mathematica-BoUj8M7D.js} +0 -0
- /package/dist/assets/{mbox-D2_16jOO.js → mbox-DLVP8LAe.js} +0 -0
- /package/dist/assets/{micromark-factory-space-BUQpMdx2.js → micromark-factory-space-Dx_STMJD.js} +0 -0
- /package/dist/assets/{mirc-CzS_wutP.js → mirc-kI4d5fMu.js} +0 -0
- /package/dist/assets/{mllike-D9b50pH5.js → mllike-CD9vBc_2.js} +0 -0
- /package/dist/assets/{modelica-C8E83p8w.js → modelica-DgfsLJuF.js} +0 -0
- /package/dist/assets/{mscgen-Dk-3wFOB.js → mscgen-B1HDwshJ.js} +0 -0
- /package/dist/assets/{mumps-BRQASZoy.js → mumps-D_-b9TZD.js} +0 -0
- /package/dist/assets/{nginx-Dfd7l9Sj.js → nginx-Cm282mo8.js} +0 -0
- /package/dist/assets/{node-sql-parser-DfWMhh1q.js → node-sql-parser-BWgUjcfV.js} +0 -0
- /package/dist/assets/{ntriples-D6VU4eew.js → ntriples-COX9JFZ8.js} +0 -0
- /package/dist/assets/{objectWithoutPropertiesLoose-BkUn3I0-.js → objectWithoutPropertiesLoose-CboCOq4o.js} +0 -0
- /package/dist/assets/{octave-xff1drIF.js → octave-BejycR79.js} +0 -0
- /package/dist/assets/{oz-CRz8coQc.js → oz-CFFivrGn.js} +0 -0
- /package/dist/assets/{pascal-DZhgfws7.js → pascal-B_p9jkCs.js} +0 -0
- /package/dist/assets/{path-DtYs9Dst.js → path-Bz_hIzg5.js} +0 -0
- /package/dist/assets/{paths-DhuNSnZ_.js → paths-BKO-pHK6.js} +0 -0
- /package/dist/assets/{perl-BKXEkch3.js → perl-C-SFBTly.js} +0 -0
- /package/dist/assets/{pig-rvFhLOOE.js → pig-BhxDMp2k.js} +0 -0
- /package/dist/assets/{powershell-Db7zgjV-.js → powershell-c59M-9N2.js} +0 -0
- /package/dist/assets/{preload-helper-BW0IMuFq.js → preload-helper-TXkS1QI3.js} +0 -0
- /package/dist/assets/{prop-types-B6Y2e__V.js → prop-types-C638SUfx.js} +0 -0
- /package/dist/assets/{properties-BF6anRzc.js → properties-D1JNwCKy.js} +0 -0
- /package/dist/assets/{protobuf-De4giNfG.js → protobuf-DQS7ex8R.js} +0 -0
- /package/dist/assets/{puppet-CMgcPW4L.js → puppet-DaQvhvew.js} +0 -0
- /package/dist/assets/{python-DOZzlkV_.js → python-XHl3eRTS.js} +0 -0
- /package/dist/assets/{q-8XMigH-s.js → q-DppnoRE3.js} +0 -0
- /package/dist/assets/{r-BuEncdBJ.js → r-D8-F_FWj.js} +0 -0
- /package/dist/assets/{range-DNqFcYmr.js → range-u_glTVdi.js} +0 -0
- /package/dist/assets/{react-icons.esm-DCqqMD4w.js → react-icons.esm-D4GMDkIf.js} +0 -0
- /package/dist/assets/{react-resizable-panels.browser.esm-Ce2ksurd.js → react-resizable-panels.browser.esm-Z-MD3n3J.js} +0 -0
- /package/dist/assets/{requests-DqJEWJ-Q.js → requests-DYeT4CEe.js} +0 -0
- /package/dist/assets/{rpm-DnfrioeJ.js → rpm-CegJhNNO.js} +0 -0
- /package/dist/assets/{ruby-C9f8lbWZ.js → ruby-YMIxufV1.js} +0 -0
- /package/dist/assets/{sas-TQvbwzLU.js → sas-wTtX9UIQ.js} +0 -0
- /package/dist/assets/{scheme-DCJ8_Fy0.js → scheme-BGenom3k.js} +0 -0
- /package/dist/assets/{semaphore-X3ApuO41.js → semaphore-DtBYRzWS.js} +0 -0
- /package/dist/assets/{shell-D8pt0LM7.js → shell-Bu1sLaiP.js} +0 -0
- /package/dist/assets/{sieve-DGXZ82l_.js → sieve-ffe6rUQh.js} +0 -0
- /package/dist/assets/{simple-mode-B3UD3n_i.js → simple-mode-DBSzUJLA.js} +0 -0
- /package/dist/assets/{smalltalk-DyRmt5Ka.js → smalltalk-NU5EGjHp.js} +0 -0
- /package/dist/assets/{solr-CJeCgAfj.js → solr-ptw1yIqO.js} +0 -0
- /package/dist/assets/{sparql-CLILkzHY.js → sparql-uqVktnwO.js} +0 -0
- /package/dist/assets/{spreadsheet-BYYvgLKe.js → spreadsheet-VEzeu_mb.js} +0 -0
- /package/dist/assets/{sql-B5I6FC3m.js → sql-tYjnWETe.js} +0 -0
- /package/dist/assets/{src-CW27-Kjl.js → src-BshXgZd4.js} +0 -0
- /package/dist/assets/{stex-0ac7Aukl.js → stex-FMMSUPAS.js} +0 -0
- /package/dist/assets/{stylus-BCmjnwMM.js → stylus-B2E6Ulaz.js} +0 -0
- /package/dist/assets/{swift-BkcVjmPv.js → swift-Rmnn7ATv.js} +0 -0
- /package/dist/assets/{tcl-B3wbfJh2.js → tcl-ZPWCn2nn.js} +0 -0
- /package/dist/assets/{textile-D12VShq0.js → textile-uhA33kFk.js} +0 -0
- /package/dist/assets/{tiddlywiki-hmNzZkq6.js → tiddlywiki-CPkGLyXH.js} +0 -0
- /package/dist/assets/{tiki-BL1SzuSx.js → tiki-BtjLo8OF.js} +0 -0
- /package/dist/assets/{toml-XXoBgyAV.js → toml-BFZv2Mv7.js} +0 -0
- /package/dist/assets/{treemap-qinQgXo1.js → treemap-Bca0xNNq.js} +0 -0
- /package/dist/assets/{troff-D9lX0BP4.js → troff-B5eayHop.js} +0 -0
- /package/dist/assets/{ttcn-DQ5upjvU.js → ttcn-BM0Yp8NY.js} +0 -0
- /package/dist/assets/{ttcn-cfg-pqnJIxH9.js → ttcn-cfg-CfbkL3Q_.js} +0 -0
- /package/dist/assets/{turtle-BUVCUZMx.js → turtle-DvetLxrv.js} +0 -0
- /package/dist/assets/{types-D4wsSrXa.js → types-Da7lA5YC.js} +0 -0
- /package/dist/assets/{use-toast-kCNiuc-_.js → use-toast-BwJoaaDM.js} +0 -0
- /package/dist/assets/{useDebounce-CpLI2dsc.js → useDebounce-JDKr83KO.js} +0 -0
- /package/dist/assets/{useDeepCompareMemoize-CWcgQCbT.js → useDeepCompareMemoize-CSMoa-ga.js} +0 -0
- /package/dist/assets/{useNonce-0SWz6w4W.js → useNonce-CbdaHKzX.js} +0 -0
- /package/dist/assets/{uuid-ClFZlR7U.js → uuid-ImXS-885.js} +0 -0
- /package/dist/assets/{vb-CgKmZtlp.js → vb-i5Z8scch.js} +0 -0
- /package/dist/assets/{vbscript-mB-oVfPH.js → vbscript-BiPYgIyi.js} +0 -0
- /package/dist/assets/{velocity-CrvX3BFT.js → velocity-Dw3R3YoX.js} +0 -0
- /package/dist/assets/{verilog-C0Wzs7-f.js → verilog-B8FhJcX6.js} +0 -0
- /package/dist/assets/{vhdl-s8UGv0A3.js → vhdl-BqPEoXdJ.js} +0 -0
- /package/dist/assets/{web-vitals-B8i8c08M.js → web-vitals-CwE0GGzl.js} +0 -0
- /package/dist/assets/{webidl-GTmlnawS.js → webidl-mMO-qW5Q.js} +0 -0
- /package/dist/assets/{ws-DSN-Rmiu.js → ws-BmTnbVEi.js} +0 -0
- /package/dist/assets/{xquery-Bq3_mXJv.js → xquery-DvqNwq7L.js} +0 -0
- /package/dist/assets/{yacas-B1P8UzPS.js → yacas-Dku9Z6Kf.js} +0 -0
- /package/dist/assets/{z80-C8FzIVqi.js → z80-DvazU5Tr.js} +0 -0
package/src/core/wasm/bridge.ts
CHANGED
|
@@ -16,6 +16,7 @@ import { getInitialAppMode } from "../mode";
|
|
|
16
16
|
import { API } from "../network/api";
|
|
17
17
|
import type {
|
|
18
18
|
EditRequests,
|
|
19
|
+
EnvironmentInfo,
|
|
19
20
|
ExportAsHTMLRequest,
|
|
20
21
|
ExportAsMarkdownRequest,
|
|
21
22
|
FileCopyResponse,
|
|
@@ -629,6 +630,13 @@ export class PyodideBridge implements RunRequests, EditRequests {
|
|
|
629
630
|
};
|
|
630
631
|
|
|
631
632
|
getUsageStats = throwNotImplemented;
|
|
633
|
+
getEnvironmentInfo: EditRequests["getEnvironmentInfo"] = async () => {
|
|
634
|
+
const response = await this.rpc.proxy.request.bridge({
|
|
635
|
+
functionName: "get_environment_info",
|
|
636
|
+
payload: undefined,
|
|
637
|
+
});
|
|
638
|
+
return response as EnvironmentInfo;
|
|
639
|
+
};
|
|
632
640
|
openTutorial = throwNotImplemented;
|
|
633
641
|
getRecentFiles = throwNotImplemented;
|
|
634
642
|
getWorkspaceFiles = throwNotImplemented;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/* Copyright 2026 Marimo. All rights reserved. */
|
|
2
2
|
import { loadPyodide, type PyodideInterface } from "pyodide";
|
|
3
|
+
import type { PyCallable, PyProxy } from "pyodide/ffi";
|
|
3
4
|
import type { UserConfig } from "@/core/config/config-schema";
|
|
4
5
|
import type { NotificationPayload } from "@/core/kernel/messages";
|
|
5
6
|
import type { JsonString } from "@/utils/json/base64";
|
|
@@ -12,6 +13,12 @@ import type { SerializedBridge, WasmController } from "./types";
|
|
|
12
13
|
import { shouldLoadDuckDBPackages } from "../utils";
|
|
13
14
|
|
|
14
15
|
const MAKE_SNAPSHOT = false;
|
|
16
|
+
type SessionResources = [
|
|
17
|
+
bridge: PyProxy,
|
|
18
|
+
init: PyCallable,
|
|
19
|
+
packages: PyProxy,
|
|
20
|
+
stop: PyCallable,
|
|
21
|
+
];
|
|
15
22
|
|
|
16
23
|
// This class initializes the wasm environment
|
|
17
24
|
// We would like this initialization to be parallelizable
|
|
@@ -25,6 +32,9 @@ const MAKE_SNAPSHOT = false;
|
|
|
25
32
|
|
|
26
33
|
export class DefaultWasmController implements WasmController {
|
|
27
34
|
protected pyodide: PyodideInterface | null = null;
|
|
35
|
+
private packageLoadQueue = Promise.resolve();
|
|
36
|
+
private sessionGeneration = 0;
|
|
37
|
+
private activeSessionStops = new Set<PyCallable>();
|
|
28
38
|
|
|
29
39
|
get requirePyodide() {
|
|
30
40
|
invariant(this.pyodide, "Pyodide not loaded");
|
|
@@ -111,6 +121,7 @@ export class DefaultWasmController implements WasmController {
|
|
|
111
121
|
onMessage: (message: JsonString<NotificationPayload>) => void;
|
|
112
122
|
userConfig: UserConfig;
|
|
113
123
|
}): Promise<SerializedBridge> {
|
|
124
|
+
const sessionGeneration = this.sessionGeneration;
|
|
114
125
|
const { code, filename, onMessage, queryParameters, userConfig } = opts;
|
|
115
126
|
// We pass down a messenger object to the code
|
|
116
127
|
// This is used to have synchronous communication between the JS and Python code
|
|
@@ -126,47 +137,129 @@ export class DefaultWasmController implements WasmController {
|
|
|
126
137
|
|
|
127
138
|
const span = t.startSpan("startSession.runPython");
|
|
128
139
|
const nbFilename = filename || WasmFileSystem.NOTEBOOK_FILENAME;
|
|
129
|
-
const
|
|
140
|
+
const sessionResources = this.requirePyodide.runPython(
|
|
130
141
|
`
|
|
131
142
|
print("[py] Starting marimo...")
|
|
132
143
|
import asyncio
|
|
144
|
+
import gc
|
|
133
145
|
import js
|
|
134
146
|
from marimo._pyodide.bootstrap import create_session, instantiate
|
|
135
147
|
|
|
136
148
|
assert js.messenger, "messenger is not defined"
|
|
137
149
|
assert js.query_params, "query_params is not defined"
|
|
138
150
|
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
151
|
+
def create_session_resources():
|
|
152
|
+
session, bridge = create_session(
|
|
153
|
+
filename="${nbFilename}",
|
|
154
|
+
query_params=js.query_params.to_py(),
|
|
155
|
+
message_callback=js.messenger.callback,
|
|
156
|
+
user_config=js.user_config.to_py(),
|
|
157
|
+
)
|
|
158
|
+
session_task = None
|
|
145
159
|
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
160
|
+
def init(auto_instantiate=True):
|
|
161
|
+
nonlocal session_task
|
|
162
|
+
instantiate(session, auto_instantiate)
|
|
163
|
+
session_task = asyncio.create_task(session.start())
|
|
149
164
|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
165
|
+
async def stop():
|
|
166
|
+
nonlocal bridge, session, session_task
|
|
167
|
+
task = session_task
|
|
168
|
+
kernel_task = getattr(session, "kernel_task", None)
|
|
169
|
+
if kernel_task is None:
|
|
170
|
+
if task is not None:
|
|
171
|
+
task.cancel()
|
|
172
|
+
else:
|
|
173
|
+
kernel_task.stop()
|
|
174
|
+
if task is not None:
|
|
175
|
+
await asyncio.gather(task, return_exceptions=True)
|
|
176
|
+
if bridge is not None:
|
|
177
|
+
bridge.session = None
|
|
178
|
+
task = None
|
|
179
|
+
kernel_task = None
|
|
180
|
+
session_task = None
|
|
181
|
+
session = None
|
|
182
|
+
bridge = None
|
|
183
|
+
gc.collect()
|
|
153
184
|
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
span.end();
|
|
185
|
+
with open("${nbFilename}", "r") as f:
|
|
186
|
+
packages = session.find_packages(f.read())
|
|
157
187
|
|
|
158
|
-
|
|
188
|
+
return bridge, init, packages, stop
|
|
189
|
+
|
|
190
|
+
create_session_resources()`,
|
|
191
|
+
) as PyProxy;
|
|
192
|
+
span.end();
|
|
193
|
+
let bridgeProxy!: PyProxy;
|
|
194
|
+
let initSession!: PyCallable;
|
|
195
|
+
let packagesProxy!: PyProxy;
|
|
196
|
+
let stopSession!: PyCallable;
|
|
197
|
+
try {
|
|
198
|
+
[bridgeProxy, initSession, packagesProxy, stopSession] =
|
|
199
|
+
sessionResources as unknown as SessionResources;
|
|
200
|
+
} finally {
|
|
201
|
+
sessionResources.destroy();
|
|
202
|
+
}
|
|
203
|
+
let foundPackages: Set<string>;
|
|
204
|
+
try {
|
|
205
|
+
foundPackages = new Set<string>(packagesProxy.toJs());
|
|
206
|
+
} catch (error) {
|
|
207
|
+
bridgeProxy.destroy();
|
|
208
|
+
initSession.destroy();
|
|
209
|
+
stopSession.destroy();
|
|
210
|
+
throw error;
|
|
211
|
+
} finally {
|
|
212
|
+
packagesProxy.destroy();
|
|
213
|
+
}
|
|
214
|
+
this.activeSessionStops.add(stopSession);
|
|
159
215
|
|
|
160
216
|
// Fire and forget:
|
|
161
217
|
// Load notebook dependencies and instantiate the session
|
|
162
218
|
// We don't want to wait for this to finish,
|
|
163
219
|
// so we can show the initial code immediately giving
|
|
164
220
|
// a sense of responsiveness.
|
|
165
|
-
|
|
166
|
-
|
|
221
|
+
const dependenciesReady = this.packageLoadQueue.then(() => {
|
|
222
|
+
if (sessionGeneration !== this.sessionGeneration) {
|
|
223
|
+
return;
|
|
224
|
+
}
|
|
225
|
+
return this.loadNotebookDeps(code, foundPackages);
|
|
167
226
|
});
|
|
227
|
+
this.packageLoadQueue = dependenciesReady.catch(() => undefined);
|
|
228
|
+
void dependenciesReady
|
|
229
|
+
.then(() => {
|
|
230
|
+
if (sessionGeneration !== this.sessionGeneration) {
|
|
231
|
+
return;
|
|
232
|
+
}
|
|
233
|
+
return initSession(userConfig.runtime.auto_instantiate);
|
|
234
|
+
})
|
|
235
|
+
.catch((error: unknown) => {
|
|
236
|
+
Logger.error("Failed to load notebook dependencies", error);
|
|
237
|
+
})
|
|
238
|
+
.finally(() => initSession.destroy());
|
|
239
|
+
|
|
240
|
+
return bridgeProxy as unknown as SerializedBridge;
|
|
241
|
+
}
|
|
168
242
|
|
|
169
|
-
|
|
243
|
+
async stopSession(): Promise<void> {
|
|
244
|
+
this.sessionGeneration += 1;
|
|
245
|
+
const stops = [...this.activeSessionStops];
|
|
246
|
+
let hasFailure = false;
|
|
247
|
+
let firstFailure: unknown;
|
|
248
|
+
for (const stop of stops) {
|
|
249
|
+
try {
|
|
250
|
+
await stop();
|
|
251
|
+
this.activeSessionStops.delete(stop);
|
|
252
|
+
stop.destroy();
|
|
253
|
+
} catch (error) {
|
|
254
|
+
if (!hasFailure) {
|
|
255
|
+
hasFailure = true;
|
|
256
|
+
firstFailure = error;
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
if (hasFailure) {
|
|
261
|
+
throw firstFailure;
|
|
262
|
+
}
|
|
170
263
|
}
|
|
171
264
|
|
|
172
265
|
private async loadNotebookDeps(code: string, foundPackages: Set<string>) {
|
|
@@ -9,6 +9,7 @@ import type { JsonString } from "@/utils/json/base64";
|
|
|
9
9
|
import type {
|
|
10
10
|
CodeCompletionRequest,
|
|
11
11
|
CopyNotebookRequest,
|
|
12
|
+
EnvironmentInfo,
|
|
12
13
|
ExportAsHTMLRequest,
|
|
13
14
|
ExportAsMarkdownRequest,
|
|
14
15
|
FileCopyRequest,
|
|
@@ -73,6 +74,7 @@ export interface RawBridge {
|
|
|
73
74
|
code_complete(request: CodeCompletionRequest): Promise<string>;
|
|
74
75
|
read_code(): Promise<{ contents: string }>;
|
|
75
76
|
read_snippets(): Promise<Snippets>;
|
|
77
|
+
get_environment_info(): Promise<EnvironmentInfo>;
|
|
76
78
|
format(request: FormatCellsRequest): Promise<FormatResponse>;
|
|
77
79
|
save(request: SaveNotebookRequest): Promise<string>;
|
|
78
80
|
copy(request: CopyNotebookRequest): Promise<string>;
|
package/src/css/app/Cell.css
CHANGED
|
@@ -255,6 +255,12 @@
|
|
|
255
255
|
border: none;
|
|
256
256
|
box-shadow: none;
|
|
257
257
|
|
|
258
|
+
/* No dividers between sections. Tailwind v4's divide-y is structural
|
|
259
|
+
* (`> :not(:last-child)`), so hidden-but-mounted children (e.g. the tray
|
|
260
|
+
* while presenting) still count as siblings and would otherwise draw a
|
|
261
|
+
* stray rule under the output. */
|
|
262
|
+
@apply divide-y-0;
|
|
263
|
+
|
|
258
264
|
.output-area {
|
|
259
265
|
/* flow-root interferes with margin collapsing, but appears to be unneeded
|
|
260
266
|
* when cell outlines are hidden; clear:both is sufficient.
|
|
@@ -443,6 +449,10 @@
|
|
|
443
449
|
/* Set a fixed gutter width to ensure the hover area is always wide enough */
|
|
444
450
|
/* And make the gutter bigger when the window is super wide */
|
|
445
451
|
--gutter-width: 100px;
|
|
452
|
+
|
|
453
|
+
/* Vertical gap between notebook cells (gap-5). Overridable via custom css;
|
|
454
|
+
* zeroed while presenting, when published cells flow together. */
|
|
455
|
+
--notebook-cell-gap: 1.25rem;
|
|
446
456
|
}
|
|
447
457
|
|
|
448
458
|
/* ------------------------ CodeMirror Editor ----------------------------- */
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/* Copyright 2026 Marimo. All rights reserved. */
|
|
2
|
+
import { renderHook } from "@testing-library/react";
|
|
3
|
+
import { createStore, Provider } from "jotai";
|
|
4
|
+
import { describe, expect, it, vi } from "vitest";
|
|
5
|
+
import { Functions } from "@/utils/functions";
|
|
6
|
+
import { useHotkey } from "../useHotkey";
|
|
7
|
+
|
|
8
|
+
// global.hideCode is bound to "Mod-." by default; "mod" accepts ctrl or meta.
|
|
9
|
+
const SHORTCUT = "global.hideCode";
|
|
10
|
+
|
|
11
|
+
function createWrapper() {
|
|
12
|
+
const store = createStore();
|
|
13
|
+
return ({ children }: { children: React.ReactNode }) => (
|
|
14
|
+
<Provider store={store}>{children}</Provider>
|
|
15
|
+
);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
function press() {
|
|
19
|
+
const event = new KeyboardEvent("keydown", {
|
|
20
|
+
key: ".",
|
|
21
|
+
ctrlKey: true,
|
|
22
|
+
cancelable: true,
|
|
23
|
+
bubbles: true,
|
|
24
|
+
});
|
|
25
|
+
document.dispatchEvent(event);
|
|
26
|
+
return event;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
describe("useHotkey", () => {
|
|
30
|
+
it("invokes the callback and prevents default", () => {
|
|
31
|
+
const callback = vi.fn();
|
|
32
|
+
renderHook(() => useHotkey(SHORTCUT, callback), {
|
|
33
|
+
wrapper: createWrapper(),
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
const event = press();
|
|
37
|
+
expect(callback).toHaveBeenCalledOnce();
|
|
38
|
+
expect(event.defaultPrevented).toBe(true);
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
it("does not prevent default when the callback returns false", () => {
|
|
42
|
+
const callback = vi.fn(() => false);
|
|
43
|
+
renderHook(() => useHotkey(SHORTCUT, callback), {
|
|
44
|
+
wrapper: createWrapper(),
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
const event = press();
|
|
48
|
+
expect(callback).toHaveBeenCalledOnce();
|
|
49
|
+
expect(event.defaultPrevented).toBe(false);
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
it("still swallows the keystroke for NOOP catch-all handlers", () => {
|
|
53
|
+
renderHook(() => useHotkey(SHORTCUT, Functions.NOOP), {
|
|
54
|
+
wrapper: createWrapper(),
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
const event = press();
|
|
58
|
+
expect(event.defaultPrevented).toBe(true);
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
it("neither runs the callback nor prevents default when disabled", () => {
|
|
62
|
+
const callback = vi.fn();
|
|
63
|
+
renderHook(() => useHotkey(SHORTCUT, callback, { disabled: true }), {
|
|
64
|
+
wrapper: createWrapper(),
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
const event = press();
|
|
68
|
+
expect(callback).not.toHaveBeenCalled();
|
|
69
|
+
expect(event.defaultPrevented).toBe(false);
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
it("re-enables when disabled flips back to false", () => {
|
|
73
|
+
const callback = vi.fn();
|
|
74
|
+
const { rerender } = renderHook(
|
|
75
|
+
({ disabled }: { disabled: boolean }) =>
|
|
76
|
+
useHotkey(SHORTCUT, callback, { disabled }),
|
|
77
|
+
{ wrapper: createWrapper(), initialProps: { disabled: true } },
|
|
78
|
+
);
|
|
79
|
+
|
|
80
|
+
press();
|
|
81
|
+
expect(callback).not.toHaveBeenCalled();
|
|
82
|
+
|
|
83
|
+
rerender({ disabled: false });
|
|
84
|
+
const event = press();
|
|
85
|
+
expect(callback).toHaveBeenCalledOnce();
|
|
86
|
+
expect(event.defaultPrevented).toBe(true);
|
|
87
|
+
});
|
|
88
|
+
});
|
package/src/hooks/useHotkey.ts
CHANGED
|
@@ -17,13 +17,31 @@ type HotkeyHandler = (
|
|
|
17
17
|
// oxlint-disable-next-line typescript/no-invalid-void-type
|
|
18
18
|
) => boolean | void | undefined | Promise<void>;
|
|
19
19
|
|
|
20
|
+
interface HotkeyOptions {
|
|
21
|
+
/**
|
|
22
|
+
* If true, the hotkey is not handled at all: the callback does not run, the
|
|
23
|
+
* event's default is not prevented, and the action is not registered in the
|
|
24
|
+
* shortcut registry.
|
|
25
|
+
*
|
|
26
|
+
* This differs from passing `Functions.NOOP` as the callback, which still
|
|
27
|
+
* swallows the keystroke (preventDefault) to suppress native browser/OS
|
|
28
|
+
* behavior.
|
|
29
|
+
*/
|
|
30
|
+
disabled?: boolean;
|
|
31
|
+
}
|
|
32
|
+
|
|
20
33
|
/**
|
|
21
34
|
* Registers a hotkey listener for the given shortcut.
|
|
22
35
|
*
|
|
23
36
|
* @param callback The callback to run when the shortcut is pressed. It does not need to be memoized as this hook will always use the latest callback.
|
|
24
37
|
* If the callback returns false, preventDefault will not be called on the event.
|
|
25
38
|
*/
|
|
26
|
-
export function useHotkey(
|
|
39
|
+
export function useHotkey(
|
|
40
|
+
shortcut: HotkeyAction,
|
|
41
|
+
callback: HotkeyHandler,
|
|
42
|
+
options: HotkeyOptions = {},
|
|
43
|
+
) {
|
|
44
|
+
const { disabled = false } = options;
|
|
27
45
|
const { registerAction, unregisterAction } = useSetRegisteredAction();
|
|
28
46
|
const hotkeys = useAtomValue(hotkeysAtom);
|
|
29
47
|
|
|
@@ -31,7 +49,7 @@ export function useHotkey(shortcut: HotkeyAction, callback: HotkeyHandler) {
|
|
|
31
49
|
const memoizeCallback = useEvent((evt?: KeyboardEvent) => callback(evt));
|
|
32
50
|
|
|
33
51
|
const listener = useEvent((e: KeyboardEvent) => {
|
|
34
|
-
if (e.defaultPrevented) {
|
|
52
|
+
if (disabled || e.defaultPrevented) {
|
|
35
53
|
return;
|
|
36
54
|
}
|
|
37
55
|
|
|
@@ -51,11 +69,18 @@ export function useHotkey(shortcut: HotkeyAction, callback: HotkeyHandler) {
|
|
|
51
69
|
|
|
52
70
|
// Register with the shortcut registry
|
|
53
71
|
useEffect(() => {
|
|
54
|
-
if (!isNOOP) {
|
|
72
|
+
if (!isNOOP && !disabled) {
|
|
55
73
|
registerAction(shortcut, memoizeCallback);
|
|
56
74
|
return () => unregisterAction(shortcut);
|
|
57
75
|
}
|
|
58
|
-
}, [
|
|
76
|
+
}, [
|
|
77
|
+
memoizeCallback,
|
|
78
|
+
shortcut,
|
|
79
|
+
isNOOP,
|
|
80
|
+
disabled,
|
|
81
|
+
registerAction,
|
|
82
|
+
unregisterAction,
|
|
83
|
+
]);
|
|
59
84
|
}
|
|
60
85
|
|
|
61
86
|
/**
|
|
@@ -277,25 +277,22 @@ describe("WidgetBinding receives a host in render props", () => {
|
|
|
277
277
|
});
|
|
278
278
|
});
|
|
279
279
|
|
|
280
|
-
describe("host-mounted views
|
|
281
|
-
it("
|
|
282
|
-
const childId = asModelId("host-
|
|
280
|
+
describe("host-mounted views", () => {
|
|
281
|
+
it("render with the child's current model state", async () => {
|
|
282
|
+
const childId = asModelId("host-child-state");
|
|
283
283
|
const parentController = new AbortController();
|
|
284
284
|
const getModuleSpy = vi.spyOn(WIDGET_DEF_REGISTRY, "getModule");
|
|
285
285
|
try {
|
|
286
286
|
const childWidget = {
|
|
287
287
|
render: vi.fn(({ model, el }) => {
|
|
288
|
-
el.textContent =
|
|
289
|
-
model.on("change:count", () => {
|
|
290
|
-
el.textContent = `count is ${model.get("count")}`;
|
|
291
|
-
});
|
|
288
|
+
el.textContent = `count is ${model.get("count")}`;
|
|
292
289
|
}),
|
|
293
290
|
};
|
|
294
291
|
const childModel = new Model<ModelState>({ count: 8 }, createMockComm());
|
|
295
292
|
WIDGET_REGISTRY.setModel(childId, childModel);
|
|
296
293
|
WIDGET_REGISTRY.setSpec(childId, {
|
|
297
|
-
url: "./@file/10-host-
|
|
298
|
-
hash: "hash-host-
|
|
294
|
+
url: "./@file/10-host-child-state.js",
|
|
295
|
+
hash: "hash-host-child-state",
|
|
299
296
|
});
|
|
300
297
|
getModuleSpy.mockResolvedValue({ default: childWidget });
|
|
301
298
|
|
|
@@ -210,7 +210,7 @@ describe("WidgetRegistry.getWidget", () => {
|
|
|
210
210
|
});
|
|
211
211
|
|
|
212
212
|
afterEach(() => {
|
|
213
|
-
|
|
213
|
+
vi.restoreAllMocks();
|
|
214
214
|
});
|
|
215
215
|
|
|
216
216
|
it("binds an undisplayed widget from its ESM spec", async () => {
|
|
@@ -309,6 +309,7 @@ describe("WidgetRegistry.getWidget", () => {
|
|
|
309
309
|
});
|
|
310
310
|
|
|
311
311
|
it("rejects with the AFM error when the module has no usable exports", async () => {
|
|
312
|
+
const invalidateSpy = vi.spyOn(WIDGET_DEF_REGISTRY, "invalidate");
|
|
312
313
|
getModuleSpy.mockResolvedValue({ notAWidget: true });
|
|
313
314
|
|
|
314
315
|
const model = new Model<ModelState>({ count: 0 }, createMockComm());
|
|
@@ -318,6 +319,7 @@ describe("WidgetRegistry.getWidget", () => {
|
|
|
318
319
|
await expect(registry.getWidget(testId)).rejects.toThrow(
|
|
319
320
|
/missing a default export/,
|
|
320
321
|
);
|
|
322
|
+
expect(invalidateSpy).toHaveBeenCalledWith(SPEC.hash);
|
|
321
323
|
});
|
|
322
324
|
|
|
323
325
|
it("rejects when the model never arrives", async () => {
|
|
@@ -95,6 +95,16 @@ describe("WidgetDefRegistry", () => {
|
|
|
95
95
|
promise1.catch(() => undefined);
|
|
96
96
|
});
|
|
97
97
|
|
|
98
|
+
it("should retry a new URL after invalidating the same hash", () => {
|
|
99
|
+
const promise1 = getModule(registry, "http://localhost/a.js", "same-hash");
|
|
100
|
+
registry.invalidate("same-hash");
|
|
101
|
+
const promise2 = getModule(registry, "http://localhost/b.js", "same-hash");
|
|
102
|
+
|
|
103
|
+
expect(promise1).not.toBe(promise2);
|
|
104
|
+
promise1.catch(() => undefined);
|
|
105
|
+
promise2.catch(() => undefined);
|
|
106
|
+
});
|
|
107
|
+
|
|
98
108
|
it("should create different promises for different hashes", () => {
|
|
99
109
|
const promise1 = getModule(registry, "http://localhost/a.js", "hash-a");
|
|
100
110
|
const promise2 = getModule(registry, "http://localhost/b.js", "hash-b");
|
|
@@ -337,13 +347,12 @@ describe("WidgetBinding", () => {
|
|
|
337
347
|
{ el: document.createElement("div") },
|
|
338
348
|
{ signal: controller.signal },
|
|
339
349
|
);
|
|
340
|
-
// Called once by the hydration replay at mount, once by the set.
|
|
341
350
|
model.set("count", 1);
|
|
342
|
-
expect(onCount).toHaveBeenCalledTimes(
|
|
351
|
+
expect(onCount).toHaveBeenCalledTimes(1);
|
|
343
352
|
|
|
344
353
|
controller.abort();
|
|
345
354
|
model.set("count", 2);
|
|
346
|
-
expect(onCount).toHaveBeenCalledTimes(
|
|
355
|
+
expect(onCount).toHaveBeenCalledTimes(1);
|
|
347
356
|
});
|
|
348
357
|
|
|
349
358
|
it("should auto-clear initialize listeners on destroy", async () => {
|
|
@@ -366,92 +375,54 @@ describe("WidgetBinding", () => {
|
|
|
366
375
|
});
|
|
367
376
|
});
|
|
368
377
|
|
|
369
|
-
describe("WidgetBinding
|
|
370
|
-
it("
|
|
378
|
+
describe("WidgetBinding render listeners", () => {
|
|
379
|
+
it("fire only for changes after mount, never for pre-existing state", async () => {
|
|
371
380
|
const model = new Model<ModelState>({ count: 8 }, createMockComm());
|
|
372
|
-
const
|
|
373
|
-
const
|
|
374
|
-
render: vi.fn(({ model, el }) => {
|
|
375
|
-
// A widget view that starts with a local default and relies on
|
|
376
|
-
// change events for hydration.
|
|
377
|
-
el.textContent = "count is 5";
|
|
378
|
-
model.on("change:count", () => {
|
|
379
|
-
el.textContent = `count is ${model.get("count")}`;
|
|
380
|
-
});
|
|
381
|
-
}),
|
|
382
|
-
};
|
|
383
|
-
const binding = await createBinding(widgetDef, model);
|
|
384
|
-
|
|
385
|
-
const controller = new AbortController();
|
|
386
|
-
await binding.createView({ el }, { signal: controller.signal });
|
|
387
|
-
expect(el.textContent).toBe("count is 8");
|
|
388
|
-
});
|
|
389
|
-
|
|
390
|
-
it("does not re-fire listeners of already-mounted views", async () => {
|
|
391
|
-
// Mounting view B must not double-paint view A: the replay is
|
|
392
|
-
// scoped to the listeners the new render attached.
|
|
393
|
-
const model = new Model<ModelState>({ count: 0 }, createMockComm());
|
|
394
|
-
const listeners: Array<ReturnType<typeof vi.fn>> = [];
|
|
381
|
+
const onCount = vi.fn();
|
|
382
|
+
const onAnyChange = vi.fn();
|
|
395
383
|
const widgetDef = {
|
|
396
384
|
render: vi.fn(({ model }) => {
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
model.on("change:count", listener);
|
|
385
|
+
model.on("change:count", onCount);
|
|
386
|
+
model.on("change", onAnyChange);
|
|
400
387
|
}),
|
|
401
388
|
};
|
|
402
389
|
const binding = await createBinding(widgetDef, model);
|
|
403
390
|
const controller = new AbortController();
|
|
404
|
-
|
|
405
391
|
await binding.createView(
|
|
406
392
|
{ el: document.createElement("div") },
|
|
407
393
|
{ signal: controller.signal },
|
|
408
394
|
);
|
|
409
|
-
expect(
|
|
395
|
+
expect(onCount).not.toHaveBeenCalled();
|
|
396
|
+
expect(onAnyChange).not.toHaveBeenCalled();
|
|
410
397
|
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
);
|
|
415
|
-
// View B's listener hydrated once; view A's was left alone.
|
|
416
|
-
expect(listeners[1]).toHaveBeenCalledTimes(1);
|
|
417
|
-
expect(listeners[0]).toHaveBeenCalledTimes(1);
|
|
398
|
+
model.set("count", 9);
|
|
399
|
+
expect(onCount).toHaveBeenCalledTimes(1);
|
|
400
|
+
expect(onCount).toHaveBeenCalledWith(9);
|
|
418
401
|
});
|
|
419
402
|
|
|
420
|
-
it("
|
|
421
|
-
const model = new Model<ModelState>({ count:
|
|
422
|
-
const
|
|
403
|
+
it("mounting a second view does not fire the first view's listeners", async () => {
|
|
404
|
+
const model = new Model<ModelState>({ count: 0 }, createMockComm());
|
|
405
|
+
const listeners: Array<ReturnType<typeof vi.fn>> = [];
|
|
423
406
|
const widgetDef = {
|
|
424
407
|
render: vi.fn(({ model }) => {
|
|
425
|
-
|
|
408
|
+
const listener = vi.fn();
|
|
409
|
+
listeners.push(listener);
|
|
410
|
+
model.on("change:count", listener);
|
|
426
411
|
}),
|
|
427
412
|
};
|
|
428
413
|
const binding = await createBinding(widgetDef, model);
|
|
429
414
|
const controller = new AbortController();
|
|
415
|
+
|
|
430
416
|
await binding.createView(
|
|
431
417
|
{ el: document.createElement("div") },
|
|
432
418
|
{ signal: controller.signal },
|
|
433
419
|
);
|
|
434
|
-
expect(onAnyChange).toHaveBeenCalledTimes(1);
|
|
435
|
-
});
|
|
436
|
-
|
|
437
|
-
it("does not replay initialize listeners", async () => {
|
|
438
|
-
// The guarantee is per-view: initialize listeners existed before
|
|
439
|
-
// any view, and replaying at them would fire once per mount.
|
|
440
|
-
const model = new Model<ModelState>({ count: 1 }, createMockComm());
|
|
441
|
-
const initListener = vi.fn();
|
|
442
|
-
const widgetDef = {
|
|
443
|
-
initialize: vi.fn(({ model }) => {
|
|
444
|
-
model.on("change:count", initListener);
|
|
445
|
-
}),
|
|
446
|
-
render: vi.fn(),
|
|
447
|
-
};
|
|
448
|
-
const binding = await createBinding(widgetDef, model);
|
|
449
|
-
const controller = new AbortController();
|
|
450
420
|
await binding.createView(
|
|
451
421
|
{ el: document.createElement("div") },
|
|
452
422
|
{ signal: controller.signal },
|
|
453
423
|
);
|
|
454
|
-
expect(
|
|
424
|
+
expect(listeners[0]).not.toHaveBeenCalled();
|
|
425
|
+
expect(listeners[1]).not.toHaveBeenCalled();
|
|
455
426
|
});
|
|
456
427
|
|
|
457
428
|
it("clears the element before rendering into it", async () => {
|
|
@@ -5,15 +5,6 @@ import type { ModelState } from "./types";
|
|
|
5
5
|
|
|
6
6
|
type ModelEventCallback = Parameters<AnyModel<ModelState>["on"]>[1];
|
|
7
7
|
|
|
8
|
-
/**
|
|
9
|
-
* A listener registered through a model proxy (see the hydration
|
|
10
|
-
* replay in `WidgetBinding.createView`).
|
|
11
|
-
*/
|
|
12
|
-
export interface ProxyRegistration {
|
|
13
|
-
event: string;
|
|
14
|
-
callback: ModelEventCallback;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
8
|
/**
|
|
18
9
|
* Wrap a model so every `on()` call from inside `initialize` or `render`
|
|
19
10
|
* is auto-tied to a lifetime `AbortSignal`. When the signal aborts,
|
|
@@ -27,14 +18,11 @@ export interface ProxyRegistration {
|
|
|
27
18
|
* The proxy is purely a host-side ergonomic helper. The widget author
|
|
28
19
|
* still writes `model.on("change:foo", handler)` exactly as before; the
|
|
29
20
|
* cleanup signal is supplied transparently.
|
|
30
|
-
*
|
|
31
|
-
* `onRegister`, when given, observes each `on()` registration.
|
|
32
21
|
*/
|
|
33
22
|
// oxlint-disable-next-line marimo/prefer-object-params -- concise internal helper used at protocol call sites
|
|
34
23
|
export function modelProxy<T extends ModelState>(
|
|
35
24
|
model: AnyModel<T>,
|
|
36
25
|
signal: AbortSignal,
|
|
37
|
-
onRegister?: (registration: ProxyRegistration) => void,
|
|
38
26
|
): AnyModel<T> {
|
|
39
27
|
return {
|
|
40
28
|
get(key) {
|
|
@@ -55,7 +43,6 @@ export function modelProxy<T extends ModelState>(
|
|
|
55
43
|
signal.addEventListener("abort", () => model.off(name, callback), {
|
|
56
44
|
once: true,
|
|
57
45
|
});
|
|
58
|
-
onRegister?.({ event: name, callback });
|
|
59
46
|
},
|
|
60
47
|
off(name?: string | null, callback?: ModelEventCallback | null): void {
|
|
61
48
|
model.off(name ?? null, callback ?? null);
|