@marimo-team/frontend 0.25.1-dev90 → 0.25.2-dev0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (365) hide show
  1. package/dist/assets/{ConnectedDataExplorerComponent-Bdak5-o8.js → ConnectedDataExplorerComponent-DJ5jwKfp.js} +1 -1
  2. package/dist/assets/{ErrorBoundary-DrliQ_7g.js → ErrorBoundary-BeE1cdgM.js} +2 -2
  3. package/dist/assets/{ImageComparisonComponent-DLxkuRy3.js → ImageComparisonComponent-pCLPT6RA.js} +1 -1
  4. package/dist/assets/LazyAnyLanguageCodeMirror-B_IYTCX5.js +2 -0
  5. package/dist/assets/{RunButton-qknEPbRR.js → RunButton-C2kFUhyO.js} +10 -10
  6. package/dist/assets/{abnfDiagram-VCTEODGH-dm832Yw9.js → abnfDiagram-VCTEODGH-CSPJSGaM.js} +1 -1
  7. package/dist/assets/add-cell-with-ai-BFgdVPaN.js +76 -0
  8. package/dist/assets/{agent-panel-CJva58SL.js → agent-panel-Dh7yWh9P.js} +5 -5
  9. package/dist/assets/ai-model-dropdown-DJ2elMLM.js +5 -0
  10. package/dist/assets/{any-language-editor-B7QvjaYO.js → any-language-editor-Cj_HzlZY.js} +1 -1
  11. package/dist/assets/app-config-button-DBCTefOX.js +1 -0
  12. package/dist/assets/{architectureDiagram-5GKGNRK7-CiRaYU5G.js → architectureDiagram-5GKGNRK7-7iukRoC9.js} +1 -1
  13. package/dist/assets/{blockDiagram-I7D4REHJ-BK3JcsXA.js → blockDiagram-I7D4REHJ-cuhpQB60.js} +1 -1
  14. package/dist/assets/{c4Diagram-7LVT6UL2-BbMz-zwF.js → c4Diagram-7LVT6UL2-CMQEYn6T.js} +1 -1
  15. package/dist/assets/{cache-panel-DxdmvFwH.js → cache-panel-C0oB1kE2.js} +1 -1
  16. package/dist/assets/{cells-BcQ8Tm3j.js → cells-CzugpTQu.js} +33 -33
  17. package/dist/assets/channel-CGdeorQk.js +1 -0
  18. package/dist/assets/{chat-display-TI342pMF.js → chat-display-DevO4F8W.js} +1 -1
  19. package/dist/assets/chat-panel-BGw0bqDk.js +4 -0
  20. package/dist/assets/{chat-ui-B1aeiWdr.js → chat-ui-CZZFGlZi.js} +4 -4
  21. package/dist/assets/{chunk-4HAMMTFA-F3WVmmmo.js → chunk-4HAMMTFA-C6Tl7kEY.js} +1 -1
  22. package/dist/assets/{chunk-75Z2AOVW-DA_lihEi.js → chunk-75Z2AOVW-BzzYECN7.js} +1 -1
  23. package/dist/assets/{chunk-DU6HZSFF-J-califE.js → chunk-DU6HZSFF-BlpgvKzl.js} +2 -2
  24. package/dist/assets/{chunk-F27PBJKO-BzJrz4xx.js → chunk-F27PBJKO-BVIgLGPF.js} +1 -1
  25. package/dist/assets/{chunk-GMAD6QVW-mXoq4V-T.js → chunk-GMAD6QVW-hv6IsAru.js} +1 -1
  26. package/dist/assets/{chunk-GVQU2GXP-B-87l3Xt.js → chunk-GVQU2GXP-Duv4ZYb-.js} +1 -1
  27. package/dist/assets/{chunk-IMKFNOWR-yy9Ec7ZM.js → chunk-IMKFNOWR-BIILwBhp.js} +1 -1
  28. package/dist/assets/{chunk-L3NEJ4N5-DLeZO9l0.js → chunk-L3NEJ4N5-B2hafvRU.js} +1 -1
  29. package/dist/assets/{chunk-OSK3NFVY-PWoOtECb.js → chunk-OSK3NFVY-SNGRdtNA.js} +1 -1
  30. package/dist/assets/{chunk-P2QGCYS3-DsJshZeL.js → chunk-P2QGCYS3-_SeE0QXb.js} +1 -1
  31. package/dist/assets/{chunk-POPQ4Y6H-CCg5TpSp.js → chunk-POPQ4Y6H-BB5NNJFE.js} +1 -1
  32. package/dist/assets/{chunk-PWAF6VOD-CrFPAGFi.js → chunk-PWAF6VOD-BZoBqp8x.js} +1 -1
  33. package/dist/assets/{chunk-SHT3W25Y-lri4OQTX.js → chunk-SHT3W25Y-BtLGdeDB.js} +1 -1
  34. package/dist/assets/{chunk-SVP7TREG-B3ISFgJc.js → chunk-SVP7TREG-B0UfxhUP.js} +1 -1
  35. package/dist/assets/{chunk-TICWLB2K-CJ7ETjY3.js → chunk-TICWLB2K-BP7vel_P.js} +1 -1
  36. package/dist/assets/classDiagram-ZZMXUADV-CoNXKNMZ.js +1 -0
  37. package/dist/assets/classDiagram-v2-VYDZK3BY-CoNXKNMZ.js +1 -0
  38. package/dist/assets/code-visibility-BFNYI7hr.js +1 -0
  39. package/dist/assets/command-palette-DN4JoOLD.js +1 -0
  40. package/dist/assets/{common-cDzShymV.js → common-DUCPhoyP.js} +1 -1
  41. package/dist/assets/{components-B3KlHXnD.js → components-CK7CeYlo.js} +1 -1
  42. package/dist/assets/components-DAmFBASm.js +1 -0
  43. package/dist/assets/config-B4VJJibu.js +1 -0
  44. package/dist/assets/{utils-B3E7otfg.js → config-BxZgoFvi.js} +1 -1
  45. package/dist/assets/config-DpGPGznL.js +1 -0
  46. package/dist/assets/{cynefinDiagram-5FMLGOSQ-1zl1wSTB.js → cynefinDiagram-5FMLGOSQ-BARZRQBb.js} +1 -1
  47. package/dist/assets/{dagre-DM-Ch8wC.js → dagre-DVyyr7Cb.js} +1 -1
  48. package/dist/assets/{dagre-GXQ25YYZ-BqoUeivc.js → dagre-GXQ25YYZ-79s0lOP0.js} +1 -1
  49. package/dist/assets/data-grid-overlay-editor-DPfnIudL.js +1 -0
  50. package/dist/assets/{dependency-graph-panel-C-SFFOPF.js → dependency-graph-panel-BN4CLayU.js} +3 -3
  51. package/dist/assets/{diagram-S7CK7UJ4-CF90sb1m.js → diagram-S7CK7UJ4-BCviGhvd.js} +1 -1
  52. package/dist/assets/{diagram-UQ7AKVKN-DgbZAUCH.js → diagram-UQ7AKVKN-Ds-BT46T.js} +1 -1
  53. package/dist/assets/{diagram-VSXAHHWV-DOQllF_r.js → diagram-VSXAHHWV-CK4GkM-q.js} +1 -1
  54. package/dist/assets/{diagram-VX7I27RA-6dC0a_-i.js → diagram-VX7I27RA-BtL2eh0t.js} +1 -1
  55. package/dist/assets/{diagram-Z3DM3KII-C1OXYmlB.js → diagram-Z3DM3KII-C6SmbLBS.js} +1 -1
  56. package/dist/assets/{dist-0HQ0BMF5.js → dist-CQvJDryh.js} +1 -1
  57. package/dist/assets/{documentation-panel-idK3s0j3.js → documentation-panel-CzRbXV5u.js} +1 -1
  58. package/dist/assets/{ebnfDiagram-PWID7BFC-7gC3cuC7.js → ebnfDiagram-PWID7BFC-D_JU4cMQ.js} +1 -1
  59. package/dist/assets/edit-page-jGNYBqQo.js +174 -0
  60. package/dist/assets/{erDiagram-RLTQ6QDP-BsE87b_i.js → erDiagram-RLTQ6QDP-Z9MJ6X-r.js} +1 -1
  61. package/dist/assets/{error-entries-C-LFkdXb.js → error-entries-CDSsy76p.js} +1 -1
  62. package/dist/assets/{error-panel-YAFgCest.js → error-panel-ABvjFG3p.js} +1 -1
  63. package/dist/assets/{feedback-button-sRQQL2TH.js → feedback-button-CZhLiwkO.js} +2 -2
  64. package/dist/assets/file-explorer-panel-DTiEpmVE.js +1 -0
  65. package/dist/assets/file-name-input-C1C8xrjA.js +3 -0
  66. package/dist/assets/filename-fxG7K_MU.js +1 -0
  67. package/dist/assets/flowDiagram-HODETNUW-ncLciK2K.js +1 -0
  68. package/dist/assets/{gallery-page-CH8TM7bV.js → gallery-page-Moi4ZdJ0.js} +1 -1
  69. package/dist/assets/{ganttDiagram-EL5Y4UJY-d9Qqbnau.js → ganttDiagram-EL5Y4UJY-Cgy11k0G.js} +1 -1
  70. package/dist/assets/{gitGraphDiagram-WWUBYQGX-DBunV_fz.js → gitGraphDiagram-WWUBYQGX-CVH8fay_.js} +1 -1
  71. package/dist/assets/glide-data-editor-CbsCWu-K.js +131 -0
  72. package/dist/assets/{graphlib-DDJ8O6ZH.js → graphlib-3maKwbRO.js} +1 -1
  73. package/dist/assets/has-cJsIKK9t.js +1 -0
  74. package/dist/assets/home-page-UAgVOkCZ.js +4 -0
  75. package/dist/assets/index--sT8xf-8.css +2 -0
  76. package/dist/assets/index-DafnX1Xx.js +62 -0
  77. package/dist/assets/{infoDiagram-27XIBGKW-FE7De1I6.js → infoDiagram-27XIBGKW-Dk8U81nJ.js} +1 -1
  78. package/dist/assets/{ishikawaDiagram-5VMMS53U-CSEGYrJ-.js → ishikawaDiagram-5VMMS53U-CzHQlMUQ.js} +1 -1
  79. package/dist/assets/{journeyDiagram-3NMN7TZE-Cp4mxQrE.js → journeyDiagram-3NMN7TZE-DRc8ACzh.js} +1 -1
  80. package/dist/assets/{kanban-definition-UXKFOSKX-d7iAZsOb.js → kanban-definition-UXKFOSKX-CVyVYiI6.js} +1 -1
  81. package/dist/assets/katex-DkE0ukCy.js +257 -0
  82. package/dist/assets/{logs-panel-xMj01DRN.js → logs-panel-Bz5ysVX4.js} +1 -1
  83. package/dist/assets/{mermaid-CNjXdDrA.js → mermaid-D_jPUVqz.js} +4 -4
  84. package/dist/assets/mhchem-CmzEtQj8.js +1 -0
  85. package/dist/assets/{mindmap-definition-YA3MSWOX-CddM9_uP.js → mindmap-definition-YA3MSWOX-D5t6Aq5Z.js} +1 -1
  86. package/dist/assets/{number-overlay-editor-N57if5NT.js → number-overlay-editor-FAD8sjFU.js} +1 -1
  87. package/dist/assets/{outline-panel-Garp-f5k.js → outline-panel-85oiQ0XX.js} +1 -1
  88. package/dist/assets/packages-panel-ClKIaP5S.js +1 -0
  89. package/dist/assets/{panels-CnbmgzkS.js → panels-B48zp96D.js} +9 -9
  90. package/dist/assets/{pegDiagram-XKGWAZYB-CEns8d-M.js → pegDiagram-XKGWAZYB-BTkTm4ej.js} +1 -1
  91. package/dist/assets/{pieDiagram-E7YTZNPT-wyb0xQ0R.js → pieDiagram-E7YTZNPT-Bq6X88M1.js} +1 -1
  92. package/dist/assets/{process-output-ObDfw1uu.js → process-output-Cg2ta3vY.js} +1 -1
  93. package/dist/assets/{quadrantDiagram-AXDQQJYC-BE-xlTLH.js → quadrantDiagram-AXDQQJYC-D_wrOwLk.js} +1 -1
  94. package/dist/assets/{railroadDiagram-O6MQD6OU-DZZVHmr2.js → railroadDiagram-O6MQD6OU-fv8HXW_g.js} +1 -1
  95. package/dist/assets/{requirementDiagram-BXWQKSXE-C3Bf4dd5.js → requirementDiagram-BXWQKSXE-DDOOMUfC.js} +1 -1
  96. package/dist/assets/{reveal-component-DgrXq3Kv.js → reveal-component-CR43gpTZ.js} +3 -3
  97. package/dist/assets/run-page-NR_KFWk8.js +1 -0
  98. package/dist/assets/{sankeyDiagram-P5KCCOFB-BWLQCyjK.js → sankeyDiagram-P5KCCOFB-CvvUY6tS.js} +1 -1
  99. package/dist/assets/scratchpad-panel-DHc-oVb1.js +1 -0
  100. package/dist/assets/{secrets-panel-4dRIaZfY.js → secrets-panel-C-65ZjnM.js} +1 -1
  101. package/dist/assets/{sequenceDiagram-WJ2MYXX4-BIY0mgX7.js → sequenceDiagram-WJ2MYXX4-DdpBhQaS.js} +1 -1
  102. package/dist/assets/session-DXKMv4Bs.js +1 -0
  103. package/dist/assets/session-panel-DiwQqIbt.js +1 -0
  104. package/dist/assets/{SelectionIndicator-DLJBcP4e.js → shell-BSnvn9t7.js} +1 -1
  105. package/dist/assets/snippets-panel-BLmXrneD.js +1 -0
  106. package/dist/assets/{stateDiagram-D77RDMKH-D_xRHRLf.js → stateDiagram-D77RDMKH-D3p19fac.js} +1 -1
  107. package/dist/assets/stateDiagram-v2-MP3YSRHH-CplsDaDl.js +1 -0
  108. package/dist/assets/{swimlanes-42K2YHIH-CDQzpfz0.js → swimlanes-42K2YHIH-CLxCSvU4.js} +1 -1
  109. package/dist/assets/swimlanesDiagram-VR7AAH4N-DPoIFx8T.js +8 -0
  110. package/dist/assets/{swiper-component-j-Lk25wW.js → swiper-component-rqJChT_P.js} +1 -1
  111. package/dist/assets/{terminal-BToH-U1t.js → terminal-CY4h1UmO.js} +1 -1
  112. package/dist/assets/{timeline-definition-24CTP7MA-D5Jgj1fz.js → timeline-definition-24CTP7MA-Cw2PY--x.js} +1 -1
  113. package/dist/assets/tooltip-PLkI_UfK.js +61 -0
  114. package/dist/assets/{tracing-DtKLmNHj.js → tracing-Q8NAdlrA.js} +1 -1
  115. package/dist/assets/tracing-panel-Ci4kY4dr.js +2 -0
  116. package/dist/assets/useCellActionButton-DpYtVfFe.js +1 -0
  117. package/dist/assets/useTheme-DcnXlv0_.js +1 -0
  118. package/dist/assets/{constants-BDbGiS7O.js → utils-B4K466FK.js} +1 -1
  119. package/dist/assets/{vega-component-DVSvu4vP.js → vega-component-BpoSew4K.js} +1 -1
  120. package/dist/assets/{vega-embed-container-QM1zZmYi.js → vega-embed-container-BOJG8mCA.js} +1 -1
  121. package/dist/assets/{vennDiagram-4TSXK5OY-Cv6jxbpX.js → vennDiagram-4TSXK5OY-D8bN6lVl.js} +1 -1
  122. package/dist/assets/{wardleyDiagram-VM6X3IG4-lwv-YoWo.js → wardleyDiagram-VM6X3IG4-CbZdo0SA.js} +1 -1
  123. package/dist/assets/{write-secret-modal-CBUZw27N.js → write-secret-modal-BiG2tahJ.js} +1 -1
  124. package/dist/assets/{xychartDiagram-S5SC5T6Z-CGM4LlFN.js → xychartDiagram-S5SC5T6Z-DUUQ9tau.js} +1 -1
  125. package/dist/assets/youtube-A9VT7NHb.js +1 -0
  126. package/dist/index.html +14 -13
  127. package/package.json +1 -2
  128. package/src/__mocks__/common.ts +3 -3
  129. package/src/__tests__/CellStatus.test.tsx +1 -1
  130. package/src/__tests__/setup.ts +7 -7
  131. package/src/components/app-config/ai-config.tsx +2 -0
  132. package/src/components/app-config/optional-features.tsx +1 -1
  133. package/src/components/chat/chat-panel.tsx +19 -8
  134. package/src/components/data-table/TableTopBar.tsx +2 -2
  135. package/src/components/data-table/__tests__/export-actions.test.tsx +662 -0
  136. package/src/components/data-table/charts/__tests__/chart-panel.test.tsx +286 -0
  137. package/src/components/data-table/charts/charts.tsx +26 -13
  138. package/src/components/data-table/column-summary/chart-spec-model.tsx +4 -4
  139. package/src/components/data-table/data-table.tsx +1 -1
  140. package/src/components/data-table/export-actions.tsx +642 -176
  141. package/src/components/data-table/schemas.ts +25 -3
  142. package/src/components/dependency-graph/elements.ts +2 -2
  143. package/src/components/editor/__tests__/package-alert.test.tsx +140 -0
  144. package/src/components/editor/actions/__tests__/pair-with-agent.test.tsx +107 -0
  145. package/src/components/editor/actions/pair-with-agent.tsx +119 -0
  146. package/src/components/editor/actions/useNotebookActions.tsx +2 -1
  147. package/src/components/editor/ai/add-cell-with-ai.tsx +2 -0
  148. package/src/components/editor/ai/staged-cell-submission.ts +2 -2
  149. package/src/components/editor/ai/transport/chat-transport.tsx +1 -1
  150. package/src/components/editor/chrome/components/contribute-snippet-button.tsx +6 -1
  151. package/src/components/editor/connections/database/as-code.ts +44 -44
  152. package/src/components/editor/connections/storage/as-code.ts +3 -3
  153. package/src/components/editor/file-tree/requesting-tree.tsx +16 -13
  154. package/src/components/editor/navigation/clipboard.ts +2 -2
  155. package/src/components/editor/notebook-cell.tsx +2 -2
  156. package/src/components/editor/output/MarimoTracebackOutput.tsx +1 -1
  157. package/src/components/editor/output/VideoOutput.tsx +1 -1
  158. package/src/components/editor/output/ansi-reduce.ts +21 -17
  159. package/src/components/editor/output/console/ConsoleOutput.tsx +3 -3
  160. package/src/components/editor/output/console/__tests__/ConsoleOutput.test.tsx +59 -0
  161. package/src/components/editor/output/console/text-rendering.tsx +3 -1
  162. package/src/components/editor/package-alert.tsx +20 -7
  163. package/src/components/home/components.tsx +1 -0
  164. package/src/components/markdown/markdown-renderer.css +1 -1
  165. package/src/components/pages/run-page.tsx +1 -0
  166. package/src/components/slides/__tests__/minimap-actions.test.tsx +7 -7
  167. package/src/components/slides/__tests__/minimap.test.ts +12 -12
  168. package/src/components/slides/__tests__/slide-scroll-hint.test.tsx +8 -8
  169. package/src/components/static-html/__tests__/share-modal.test.tsx +154 -0
  170. package/src/components/static-html/__tests__/stage-for-publish.test.ts +111 -0
  171. package/src/components/static-html/share-modal.tsx +114 -144
  172. package/src/components/static-html/stage-for-publish.ts +56 -0
  173. package/src/components/static-html/static-banner.tsx +2 -2
  174. package/src/components/ui/links.tsx +6 -1
  175. package/src/components/ui/typography.tsx +16 -8
  176. package/src/core/ai/context/__tests__/registry.test.ts +31 -28
  177. package/src/core/ai/context/providers/cell-output.ts +8 -8
  178. package/src/core/ai/context/providers/datasource.ts +10 -7
  179. package/src/core/ai/context/providers/error.ts +7 -7
  180. package/src/core/ai/context/providers/file.ts +8 -8
  181. package/src/core/ai/context/providers/tables.ts +7 -7
  182. package/src/core/ai/context/providers/variable.ts +7 -7
  183. package/src/core/ai/context/registry.ts +18 -18
  184. package/src/core/ai/ids/ids.ts +5 -5
  185. package/src/core/ai/model-registry.ts +12 -9
  186. package/src/core/ai/staged-cells.ts +6 -6
  187. package/src/core/ai/tools/base.ts +6 -6
  188. package/src/core/ai/tools/edit-notebook-tool.ts +6 -6
  189. package/src/core/ai/tools/registry.ts +4 -4
  190. package/src/core/ai/tools/run-cells-tool.ts +7 -7
  191. package/src/core/ai/tools/sample-tool.ts +6 -6
  192. package/src/core/cells/__tests__/cells.test.ts +27 -0
  193. package/src/core/cells/cells.ts +2 -1
  194. package/src/core/codemirror/cells/debugger-decorations.ts +13 -7
  195. package/src/core/codemirror/cells/line-timing-decorations.ts +9 -9
  196. package/src/core/codemirror/cells/traceback-decorations.ts +7 -4
  197. package/src/core/codemirror/code-lens/extension.ts +13 -13
  198. package/src/core/codemirror/copilot/__tests__/language-server.test.ts +6 -6
  199. package/src/core/codemirror/copilot/__tests__/transport.test.ts +12 -12
  200. package/src/core/codemirror/copilot/language-server.ts +13 -13
  201. package/src/core/codemirror/copilot/transport.ts +1 -1
  202. package/src/core/codemirror/find-replace/search-highlight.ts +5 -5
  203. package/src/core/codemirror/go-to-definition/underline.ts +3 -3
  204. package/src/core/codemirror/keymaps/vim.ts +3 -3
  205. package/src/core/codemirror/language/languages/markdown.ts +8 -8
  206. package/src/core/codemirror/language/languages/python.ts +7 -7
  207. package/src/core/codemirror/language/languages/sql/completion-builder.ts +5 -5
  208. package/src/core/codemirror/language/languages/sql/completion-store.ts +4 -4
  209. package/src/core/codemirror/language/languages/sql/sql.ts +21 -21
  210. package/src/core/codemirror/lsp/__tests__/transports.test.ts +10 -10
  211. package/src/core/codemirror/lsp/federated-lsp.ts +29 -27
  212. package/src/core/codemirror/lsp/notebook-lsp.ts +21 -21
  213. package/src/core/codemirror/misc/__tests__/dnd.test.ts +10 -10
  214. package/src/core/codemirror/misc/__tests__/paste.test.ts +7 -4
  215. package/src/core/codemirror/reactive-references/extension.ts +3 -3
  216. package/src/core/codemirror/rtc/loro/awareness.ts +12 -12
  217. package/src/core/codemirror/rtc/loro/sync.ts +5 -5
  218. package/src/core/codemirror/vim/cursor-visibility.ts +3 -3
  219. package/src/core/dom/ui-element.ts +5 -5
  220. package/src/core/dom/uiregistry.ts +10 -10
  221. package/src/core/hotkeys/hotkeys.ts +9 -9
  222. package/src/core/islands/__tests__/bridge.test.ts +4 -4
  223. package/src/core/islands/__tests__/test-utils.tsx +4 -4
  224. package/src/core/islands/bridge.ts +85 -82
  225. package/src/core/islands/components/web-components.tsx +7 -7
  226. package/src/core/islands/worker/__tests__/controller.test.ts +1 -1
  227. package/src/core/islands/worker/controller.ts +6 -3
  228. package/src/core/islands/worker-factory.ts +2 -2
  229. package/src/core/kernel/RuntimeState.ts +4 -4
  230. package/src/core/kernel/__tests__/session.test.ts +110 -1
  231. package/src/core/kernel/session.ts +46 -15
  232. package/src/core/lsp/__tests__/transport.test.ts +19 -19
  233. package/src/core/lsp/transport.ts +5 -5
  234. package/src/core/network/CachingRequestRegistry.ts +2 -2
  235. package/src/core/network/DeferredRequestRegistry.ts +4 -4
  236. package/src/core/network/__tests__/export-asset-url.test.ts +45 -0
  237. package/src/core/network/export-asset-url.ts +19 -0
  238. package/src/core/network/requests-network.ts +2 -7
  239. package/src/core/runtime/runtime.ts +25 -20
  240. package/src/core/static/virtual-file-tracker.ts +5 -5
  241. package/src/core/wasm/__tests__/bridge.test.ts +2 -2
  242. package/src/core/wasm/bridge.ts +132 -133
  243. package/src/core/wasm/router.ts +5 -5
  244. package/src/core/wasm/store.ts +4 -4
  245. package/src/core/wasm/worker/bootstrap.ts +8 -5
  246. package/src/core/wasm/worker/message-buffer.ts +3 -3
  247. package/src/core/websocket/transports/__tests__/ws.test.ts +8 -8
  248. package/src/core/websocket/transports/basic.ts +15 -8
  249. package/src/core/websocket/transports/sse.ts +7 -7
  250. package/src/core/websocket/transports/transport.ts +3 -3
  251. package/src/core/websocket/transports/ws.ts +9 -7
  252. package/src/css/globals.css +18 -21
  253. package/src/css/katex.min.css +260 -241
  254. package/src/hooks/__tests__/useOverflowDetection.test.tsx +5 -5
  255. package/src/hooks/__tests__/useResizeObserver.test.tsx +12 -12
  256. package/src/plugins/core/registerReactComponent.tsx +5 -5
  257. package/src/plugins/core/sidebar-element.tsx +2 -2
  258. package/src/plugins/impl/ButtonPlugin.tsx +3 -3
  259. package/src/plugins/impl/CheckboxPlugin.tsx +3 -3
  260. package/src/plugins/impl/CodeEditorPlugin.tsx +3 -3
  261. package/src/plugins/impl/DatePickerPlugin.tsx +3 -3
  262. package/src/plugins/impl/DateRangePlugin.tsx +3 -3
  263. package/src/plugins/impl/DateTimePickerPlugin.tsx +3 -3
  264. package/src/plugins/impl/DictPlugin.tsx +3 -3
  265. package/src/plugins/impl/DropdownPlugin.tsx +3 -3
  266. package/src/plugins/impl/FileUploadPlugin.tsx +3 -3
  267. package/src/plugins/impl/MatrixPlugin.tsx +4 -4
  268. package/src/plugins/impl/MicrophonePlugin.tsx +3 -3
  269. package/src/plugins/impl/MultiselectPlugin.tsx +3 -3
  270. package/src/plugins/impl/NumberPlugin.tsx +3 -3
  271. package/src/plugins/impl/RadioPlugin.tsx +9 -5
  272. package/src/plugins/impl/RangeSliderPlugin.tsx +3 -3
  273. package/src/plugins/impl/RefreshPlugin.tsx +3 -3
  274. package/src/plugins/impl/SliderPlugin.tsx +3 -3
  275. package/src/plugins/impl/SwitchPlugin.tsx +3 -3
  276. package/src/plugins/impl/TabsPlugin.tsx +3 -3
  277. package/src/plugins/impl/TextAreaPlugin.tsx +3 -3
  278. package/src/plugins/impl/TextInputPlugin.tsx +3 -3
  279. package/src/plugins/impl/__tests__/MatrixPlugin.test.tsx +2 -2
  280. package/src/plugins/impl/anywidget/model.ts +10 -10
  281. package/src/plugins/impl/anywidget/registry.ts +12 -9
  282. package/src/plugins/impl/anywidget/runtime.ts +11 -9
  283. package/src/plugins/impl/anywidget/widget-binding.ts +6 -6
  284. package/src/plugins/impl/image-comparison/ImageComparisonComponent.tsx +7 -6
  285. package/src/plugins/impl/matplotlib/MatplotlibPlugin.tsx +3 -3
  286. package/src/plugins/impl/matplotlib/__tests__/matplotlib-renderer.test.ts +2 -2
  287. package/src/plugins/impl/matplotlib/matplotlib-renderer.ts +2 -2
  288. package/src/plugins/impl/mpl-interactive/mpl-websocket-shim.ts +10 -10
  289. package/src/plugins/impl/panel/utils.ts +5 -5
  290. package/src/plugins/impl/plotly/PlotlyPlugin.tsx +3 -3
  291. package/src/plugins/impl/vega/VegaPlugin.tsx +3 -3
  292. package/src/plugins/impl/vega/__tests__/use-vega-container-remeasure.test.ts +7 -7
  293. package/src/plugins/impl/vega/__tests__/utils.test.ts +16 -1
  294. package/src/plugins/impl/vega/__tests__/vega.test.ts +37 -0
  295. package/src/plugins/impl/vega/loader.ts +23 -1
  296. package/src/plugins/impl/vega/utils.ts +5 -4
  297. package/src/plugins/layout/AccordionPlugin.tsx +3 -3
  298. package/src/plugins/layout/CalloutPlugin.tsx +3 -3
  299. package/src/plugins/layout/ImageComparisonPlugin.tsx +5 -3
  300. package/src/plugins/layout/JsonOutputPlugin.tsx +3 -3
  301. package/src/plugins/layout/MimeRenderPlugin.tsx +3 -3
  302. package/src/plugins/layout/NavigationMenuPlugin.tsx +3 -3
  303. package/src/plugins/layout/OutlinePlugin.tsx +3 -3
  304. package/src/plugins/layout/ProgressPlugin.tsx +3 -3
  305. package/src/plugins/layout/RoutesPlugin.tsx +6 -8
  306. package/src/plugins/layout/StatPlugin.tsx +3 -3
  307. package/src/plugins/layout/TexPlugin.tsx +3 -3
  308. package/src/plugins/layout/carousel/CarouselPlugin.tsx +4 -4
  309. package/src/plugins/layout/mermaid/MermaidPlugin.tsx +3 -3
  310. package/src/utils/Deferred.ts +6 -6
  311. package/src/utils/async-capture-tracker.ts +10 -7
  312. package/src/utils/errors.ts +5 -5
  313. package/src/utils/id-tree.tsx +83 -80
  314. package/src/utils/lru.ts +1 -1
  315. package/src/utils/multi-map.ts +14 -12
  316. package/src/utils/paths.ts +6 -6
  317. package/src/utils/pluralize.ts +3 -3
  318. package/src/utils/progress.ts +6 -6
  319. package/src/utils/python-poet/poet.ts +14 -14
  320. package/src/utils/routes.ts +4 -2
  321. package/src/utils/semaphore.ts +6 -6
  322. package/src/utils/storage/storage.ts +6 -6
  323. package/src/utils/storage/typed.ts +16 -12
  324. package/src/utils/time.ts +9 -9
  325. package/src/utils/timed-cache.ts +4 -4
  326. package/src/utils/tracer.ts +9 -6
  327. package/dist/assets/LazyAnyLanguageCodeMirror-EBegnOE0.js +0 -2
  328. package/dist/assets/add-cell-with-ai-Ovbsj95O.js +0 -76
  329. package/dist/assets/ai-model-dropdown-1t7m1iFc.js +0 -3
  330. package/dist/assets/app-config-button-vCxNGhe2.js +0 -1
  331. package/dist/assets/channel-ni7ei-yz.js +0 -1
  332. package/dist/assets/chat-panel-CzdR8RG_.js +0 -4
  333. package/dist/assets/classDiagram-ZZMXUADV-CIEFh40S.js +0 -1
  334. package/dist/assets/classDiagram-v2-VYDZK3BY-CIEFh40S.js +0 -1
  335. package/dist/assets/code-visibility-G0W4ym3Y.js +0 -1
  336. package/dist/assets/command-palette-DhdK67bL.js +0 -1
  337. package/dist/assets/components-CQVZgYvR.js +0 -1
  338. package/dist/assets/config-CMqNngzA.js +0 -1
  339. package/dist/assets/config-CmBpjGXk.js +0 -1
  340. package/dist/assets/data-grid-overlay-editor-DbqMOWZn.js +0 -1
  341. package/dist/assets/edit-page-_D_Nv3dJ.js +0 -176
  342. package/dist/assets/file-explorer-panel-LAa-LxTN.js +0 -1
  343. package/dist/assets/file-name-input-BXq6eIDs.js +0 -3
  344. package/dist/assets/flowDiagram-HODETNUW-B4xRBXB1.js +0 -1
  345. package/dist/assets/glide-data-editor-DPMjaN4R.js +0 -131
  346. package/dist/assets/has-CanCEarv.js +0 -1
  347. package/dist/assets/home-page-vDWLpS4F.js +0 -4
  348. package/dist/assets/index-2TQenOiQ.css +0 -2
  349. package/dist/assets/index-CgQsZfww.js +0 -62
  350. package/dist/assets/katex-mNPPSsir.js +0 -257
  351. package/dist/assets/katex-ukvJUC1e.js +0 -257
  352. package/dist/assets/mhchem-DcHTrqjv.js +0 -1
  353. package/dist/assets/packages-panel-B8HU9FAM.js +0 -1
  354. package/dist/assets/run-page-E0qMru0p.js +0 -1
  355. package/dist/assets/scratchpad-panel-CCFyaegO.js +0 -1
  356. package/dist/assets/session-C8nQMsOE.js +0 -1
  357. package/dist/assets/session-panel-CR3BHLhQ.js +0 -1
  358. package/dist/assets/snippets-panel-Dn22yTr_.js +0 -1
  359. package/dist/assets/stateDiagram-v2-MP3YSRHH-BQvYFx_a.js +0 -1
  360. package/dist/assets/swimlanesDiagram-VR7AAH4N-BAn2JKhB.js +0 -8
  361. package/dist/assets/tooltip-B1vGi-z4.js +0 -61
  362. package/dist/assets/tracing-panel-C5ybTQyJ.js +0 -2
  363. package/dist/assets/useCellActionButton-Bm9OZdcq.js +0 -1
  364. package/dist/assets/useTheme-Ho3YdAx3.js +0 -1
  365. package/dist/assets/youtube-ELpGJEdR.js +0 -1
@@ -14,7 +14,7 @@ export class RuntimeManager {
14
14
  private config: RuntimeConfig;
15
15
  private lazy: boolean;
16
16
 
17
- constructor(config: RuntimeConfig, lazy = false) {
17
+ public constructor(config: RuntimeConfig, lazy = false) {
18
18
  this.config = config;
19
19
  this.lazy = lazy;
20
20
  // Validate the URL on construction
@@ -32,15 +32,15 @@ export class RuntimeManager {
32
32
  }
33
33
  }
34
34
 
35
- get isLazy(): boolean {
35
+ public get isLazy(): boolean {
36
36
  return this.lazy;
37
37
  }
38
38
 
39
- get httpURL(): URL {
39
+ public get httpURL(): URL {
40
40
  return new URL(this.config.url);
41
41
  }
42
42
 
43
- get isSameOrigin(): boolean {
43
+ public get isSameOrigin(): boolean {
44
44
  return this.httpURL.origin === window.location.origin;
45
45
  }
46
46
 
@@ -51,7 +51,7 @@ export class RuntimeManager {
51
51
  /**
52
52
  * The base URL of the runtime.
53
53
  */
54
- formatHttpURL({
54
+ public formatHttpURL({
55
55
  path = "",
56
56
  searchParams,
57
57
  restrictToKnownQueryParams = true,
@@ -105,7 +105,10 @@ export class RuntimeManager {
105
105
  * An HTTP URL for requests made by browser navigation (e.g. anchor-click
106
106
  * downloads), which cannot attach auth headers.
107
107
  */
108
- formatNavigableHttpURL(path: string, searchParams?: URLSearchParams): URL {
108
+ public formatNavigableHttpURL(
109
+ path: string,
110
+ searchParams?: URLSearchParams,
111
+ ): URL {
109
112
  const url = this.formatHttpURL({ path, searchParams });
110
113
  // Drop any token inherited from the current page's query params; re-add it
111
114
  // only when cross-origin. Same-origin downloads authenticate via the
@@ -115,7 +118,7 @@ export class RuntimeManager {
115
118
  return this.appendCrossOriginAuth(url);
116
119
  }
117
120
 
118
- formatWsURL(path: string, searchParams?: URLSearchParams): URL {
121
+ public formatWsURL(path: string, searchParams?: URLSearchParams): URL {
119
122
  // We don't restrict to known query parameters, since mo.query_params()
120
123
  // can accept arbitrary parameters.
121
124
  const url = this.formatHttpURL({
@@ -150,7 +153,7 @@ export class RuntimeManager {
150
153
  /**
151
154
  * The WebSocket URL of the runtime.
152
155
  */
153
- getWsURL(sessionId: SessionId): URL {
156
+ public getWsURL(sessionId: SessionId): URL {
154
157
  return this.formatWsURL("/ws", this.getSessionSearchParams(sessionId));
155
158
  }
156
159
 
@@ -160,7 +163,7 @@ export class RuntimeManager {
160
163
  * can send headers, so auth travels in the Authorization header
161
164
  * (see `headers()`) instead of the URL.
162
165
  */
163
- getSseURL(sessionId: SessionId): URL {
166
+ public getSseURL(sessionId: SessionId): URL {
164
167
  const url = this.formatHttpURL({
165
168
  path: "/sse",
166
169
  searchParams: this.getSessionSearchParams(sessionId),
@@ -176,14 +179,14 @@ export class RuntimeManager {
176
179
  /**
177
180
  * The WebSocket Sync URL of the runtime, for real-time updates.
178
181
  */
179
- getWsSyncURL(sessionId: SessionId): URL {
182
+ public getWsSyncURL(sessionId: SessionId): URL {
180
183
  return this.formatWsURL("/ws_sync", this.getSessionSearchParams(sessionId));
181
184
  }
182
185
 
183
186
  /**
184
187
  * The WebSocket URL of the terminal.
185
188
  */
186
- getTerminalWsURL(size?: { rows: number; cols: number }): URL {
189
+ public getTerminalWsURL(size?: { rows: number; cols: number }): URL {
187
190
  const url = this.formatWsURL("/terminal/ws");
188
191
  if (size) {
189
192
  url.searchParams.set("rows", String(size.rows));
@@ -195,7 +198,9 @@ export class RuntimeManager {
195
198
  /**
196
199
  * The URL of the copilot server.
197
200
  */
198
- getLSPURL(lsp: "pylsp" | "basedpyright" | "copilot" | "ty" | "pyrefly"): URL {
201
+ public getLSPURL(
202
+ lsp: "pylsp" | "basedpyright" | "copilot" | "ty" | "pyrefly",
203
+ ): URL {
199
204
  if (lsp === "copilot") {
200
205
  // For copilot, strip all query parameters except the auth token.
201
206
  // Copilot doesn't understand arbitrary query params, but we still
@@ -211,14 +216,14 @@ export class RuntimeManager {
211
216
  return this.formatWsURL(`/lsp/${lsp}`);
212
217
  }
213
218
 
214
- getAiURL(path: "completion" | "chat"): URL {
219
+ public getAiURL(path: "completion" | "chat"): URL {
215
220
  return this.formatHttpURL({ path: `/api/ai/${path}` });
216
221
  }
217
222
 
218
223
  /**
219
224
  * The URL of the health check endpoint.
220
225
  */
221
- healthURL(): URL {
226
+ public healthURL(): URL {
222
227
  return this.formatHttpURL({ path: "/health" });
223
228
  }
224
229
 
@@ -234,7 +239,7 @@ export class RuntimeManager {
234
239
  }
235
240
  }
236
241
 
237
- async reconcileFromHealth(): Promise<boolean> {
242
+ public async reconcileFromHealth(): Promise<boolean> {
238
243
  // Always healthy if WASM, Islands, or a static notebook (no server)
239
244
  if (this.isServerless) {
240
245
  return true;
@@ -261,7 +266,7 @@ export class RuntimeManager {
261
266
  return response.ok;
262
267
  }
263
268
 
264
- async probeHealth(): Promise<boolean> {
269
+ public async probeHealth(): Promise<boolean> {
265
270
  // Always healthy if WASM, Islands, or a static notebook (no server)
266
271
  if (this.isServerless) {
267
272
  return true;
@@ -304,7 +309,7 @@ export class RuntimeManager {
304
309
  }
305
310
  }
306
311
 
307
- async init(options?: { disableRetryDelay?: boolean }) {
312
+ public async init(options?: { disableRetryDelay?: boolean }) {
308
313
  Logger.debug("Initializing runtime...");
309
314
  let retries = 0;
310
315
  // This matches backoff logic elsewhere.
@@ -335,11 +340,11 @@ export class RuntimeManager {
335
340
  /**
336
341
  * Wait for the runtime to be healthy.
337
342
  */
338
- async waitForHealthy(): Promise<void> {
343
+ public async waitForHealthy(): Promise<void> {
339
344
  return this.initialHealthyCheck.promise;
340
345
  }
341
346
 
342
- headers(): KnownHeaders {
347
+ public headers(): KnownHeaders {
343
348
  const headers: KnownHeaders = {
344
349
  "Marimo-Session-Id": getSessionId(),
345
350
  "Marimo-Server-Token": this.config.serverToken ?? "",
@@ -356,7 +361,7 @@ export class RuntimeManager {
356
361
  return headers;
357
362
  }
358
363
 
359
- sessionHeaders(): Pick<KnownHeaders, "Marimo-Session-Id"> {
364
+ public sessionHeaders(): Pick<KnownHeaders, "Marimo-Session-Id"> {
360
365
  return {
361
366
  "Marimo-Session-Id": getSessionId(),
362
367
  };
@@ -13,7 +13,7 @@ export class VirtualFileTracker {
13
13
  /**
14
14
  * Shared instance of VirtualFileTracker since this must be a singleton.
15
15
  */
16
- static get INSTANCE(): VirtualFileTracker {
16
+ public static get INSTANCE(): VirtualFileTracker {
17
17
  const KEY = "_marimo_private_VirtualFileTracker";
18
18
  if (!window[KEY]) {
19
19
  window[KEY] = new VirtualFileTracker();
@@ -21,13 +21,13 @@ export class VirtualFileTracker {
21
21
  return window[KEY] as VirtualFileTracker;
22
22
  }
23
23
 
24
- virtualFiles = new Map<CellId, Set<string>>();
24
+ public virtualFiles = new Map<CellId, Set<string>>();
25
25
 
26
26
  private constructor() {
27
27
  // Private
28
28
  }
29
29
 
30
- track(message: Pick<CellMessage, "cell_id" | "output">): void {
30
+ public track(message: Pick<CellMessage, "cell_id" | "output">): void {
31
31
  const output = message.output;
32
32
  const cellId = message.cell_id;
33
33
  if (!output) {
@@ -48,7 +48,7 @@ export class VirtualFileTracker {
48
48
  }
49
49
  }
50
50
 
51
- filenames(): string[] {
51
+ public filenames(): string[] {
52
52
  const set = new Set<string>();
53
53
  for (const files of this.virtualFiles.values()) {
54
54
  files.forEach((file) => set.add(file));
@@ -57,7 +57,7 @@ export class VirtualFileTracker {
57
57
  return [...set];
58
58
  }
59
59
 
60
- removeForCellId(cellId: CellId): void {
60
+ public removeForCellId(cellId: CellId): void {
61
61
  this.virtualFiles.delete(cellId);
62
62
  }
63
63
  }
@@ -35,8 +35,8 @@ vi.stubGlobal(
35
35
  );
36
36
 
37
37
  class MockURL extends URL {
38
- static override createObjectURL = vi.fn(() => "blob:mock-url");
39
- static override revokeObjectURL = vi.fn();
38
+ public static override createObjectURL = vi.fn(() => "blob:mock-url");
39
+ public static override revokeObjectURL = vi.fn();
40
40
  }
41
41
  vi.stubGlobal("URL", MockURL);
42
42