@marimo-team/frontend 0.19.8-dev5 → 0.19.8-dev50

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 (988) hide show
  1. package/dist/assets/CellStatus-CZlcjSUO.js +1 -0
  2. package/dist/assets/Combination-BAEdC-rz.js +41 -0
  3. package/dist/assets/ConnectedDataExplorerComponent-HbY4uSsv.js +1 -0
  4. package/dist/assets/Deferred-DxQeE5uh.js +1 -0
  5. package/dist/assets/DeferredRequestRegistry-CMf25YiV.js +1 -0
  6. package/dist/assets/ErrorBoundary-B9Ifj8Jf.js +1 -0
  7. package/dist/assets/ImageComparisonComponent-BmIQwrIS.js +1 -0
  8. package/dist/assets/ImperativeModal-BNN1HA7x.js +1 -0
  9. package/dist/assets/Inputs-GV-aQbOR.js +1 -0
  10. package/dist/assets/JsonOutput-PE5ko4gi.js +46 -0
  11. package/dist/assets/LazyAnyLanguageCodeMirror-DgZ8iknE.js +2 -0
  12. package/dist/assets/MarimoErrorOutput-Lf9P8Fhl.js +7 -0
  13. package/dist/assets/RenderHTML-D-of_-s7.js +1 -0
  14. package/dist/assets/SSRProvider-BIDQNg9Q.js +1 -0
  15. package/dist/assets/__vite-browser-external-D-ioOGDE.js +1 -0
  16. package/dist/assets/__vite-browser-external-DT1nudb6.js +1 -0
  17. package/dist/assets/add-cell-with-ai-e_HMl7UU.js +90 -0
  18. package/dist/assets/add-database-form-DvnhmpaG.js +111 -0
  19. package/dist/assets/agent-panel-bOQya9ER.js +287 -0
  20. package/dist/assets/ai-model-dropdown-Dk2SdB3C.js +5 -0
  21. package/dist/assets/alert-BOoN6gJ1.js +1 -0
  22. package/dist/assets/alert-dialog-BW4srmS0.js +11 -0
  23. package/dist/assets/any-language-editor-BODEG_5g.js +3 -0
  24. package/dist/assets/apl-CaYjM5u2.js +1 -0
  25. package/dist/assets/app-config-button-DMsJtN9b.js +1 -0
  26. package/dist/assets/arc-D1owqr0z.js +1 -0
  27. package/dist/assets/architecture-U656AL7Q-DENTsr7c.js +1 -0
  28. package/dist/assets/architectureDiagram-VXUJARFQ-CDeVogFv.js +36 -0
  29. package/dist/assets/arrow-left-VDC1u5rq.js +1 -0
  30. package/dist/assets/asciiarmor-D2cJUKTq.js +1 -0
  31. package/dist/assets/asn1-CZDBKivQ.js +1 -0
  32. package/dist/assets/badge-DX6CQ6PA.js +1 -0
  33. package/dist/assets/blob-D-eV0cU3.js +1 -0
  34. package/dist/assets/blockDiagram-VD42YOAC-Bol-uwBO.js +122 -0
  35. package/dist/assets/bot-message-square-B2ThzDUZ.js +1 -0
  36. package/dist/assets/brainfuck-D5O26WTe.js +1 -0
  37. package/dist/assets/bundle.esm-i_UbZC0w.js +1 -0
  38. package/dist/assets/button-CZ3Cs4qb.js +1 -0
  39. package/dist/assets/c4Diagram-YG6GDRKO-C-eNQ40H.js +10 -0
  40. package/dist/assets/cache-panel-D07YsKqa.js +1 -0
  41. package/dist/assets/card-OlSjYhmd.js +1 -0
  42. package/dist/assets/cell-editor-BW4w46wt.js +23 -0
  43. package/dist/assets/cell-link-B9b7J8QK.js +1 -0
  44. package/dist/assets/cells-DPp5cDaO.js +254 -0
  45. package/dist/assets/channel-CdzZX-OR.js +1 -0
  46. package/dist/assets/chart-no-axes-column-qvVRjhv1.js +1 -0
  47. package/dist/assets/chat-display--jAB7huF.js +1 -0
  48. package/dist/assets/chat-panel-DzMwk8Wu.js +3 -0
  49. package/dist/assets/check-Dr3SxUsb.js +1 -0
  50. package/dist/assets/chevron-right--18M_6o9.js +1 -0
  51. package/dist/assets/chunk-4BX2VUAB-KawmK-5L.js +1 -0
  52. package/dist/assets/chunk-55IACEB6-njZIr50E.js +1 -0
  53. package/dist/assets/chunk-5FQGJX7Z-DPlx2kjA.js +113 -0
  54. package/dist/assets/chunk-ABZYJK2D-0jga8uiE.js +80 -0
  55. package/dist/assets/chunk-ATLVNIR6-B17dg7Ry.js +1 -0
  56. package/dist/assets/chunk-B4BG7PRW-DoVbcCDm.js +165 -0
  57. package/dist/assets/chunk-CVBHYZKI-DU48rJVu.js +1 -0
  58. package/dist/assets/chunk-DI55MBZ5-rLpl7joX.js +220 -0
  59. package/dist/assets/chunk-EXTU4WIE-Dmu97ZvI.js +1 -0
  60. package/dist/assets/chunk-FMBD7UC4-CHJv683r.js +15 -0
  61. package/dist/assets/chunk-HN2XXSSU-Bdbi3Mns.js +1 -0
  62. package/dist/assets/chunk-JA3XYJ7Z-DOm8KfKa.js +70 -0
  63. package/dist/assets/chunk-JZLCHNYA-48QVgmR4.js +54 -0
  64. package/dist/assets/chunk-MI3HLSF2-n3vxgSbN.js +32 -0
  65. package/dist/assets/chunk-N4CR4FBY-BNoQB557.js +2 -0
  66. package/dist/assets/chunk-QN33PNHL-BOQncxfy.js +1 -0
  67. package/dist/assets/chunk-QXUST7PY-DkCIa8tJ.js +7 -0
  68. package/dist/assets/chunk-QZHKN3VN-Cp_TxrNJ.js +1 -0
  69. package/dist/assets/chunk-S3R3BYOJ-8loRaCFh.js +2 -0
  70. package/dist/assets/chunk-TZMSLE5B-CPHBPwrM.js +1 -0
  71. package/dist/assets/circle-check-DquVD4wZ.js +1 -0
  72. package/dist/assets/circle-play-EowqxNIC.js +1 -0
  73. package/dist/assets/circle-plus-haI9GLDP.js +1 -0
  74. package/dist/assets/classDiagram-2ON5EDUG-CUlU7OLD.js +1 -0
  75. package/dist/assets/classDiagram-v2-WZHVMYZB-DAwrDtTO.js +1 -0
  76. package/dist/assets/clear-button-DMZhBF9S.js +1 -0
  77. package/dist/assets/click-outside-container-BXzp0MYr.js +1 -0
  78. package/dist/assets/clike-TwxwxEw_.js +1 -0
  79. package/dist/assets/clipboard-paste-CpyPR-HZ.js +1 -0
  80. package/dist/assets/clojure-B8dfjAV6.js +1 -0
  81. package/dist/assets/cmake-D3vlGJdL.js +1 -0
  82. package/dist/assets/cobol-S-4I_F1W.js +1 -0
  83. package/dist/assets/code-block-37QAKDTI-DnnrjIZy.js +2 -0
  84. package/dist/assets/code-xml-CgN_Yig7.js +1 -0
  85. package/dist/assets/coffeescript-DG-Oj54u.js +1 -0
  86. package/dist/assets/column-preview-CXjSXUhP.js +1 -0
  87. package/dist/assets/command-2ElA5IkO.js +1 -0
  88. package/dist/assets/command-palette-DrD2qhGV.js +1 -0
  89. package/dist/assets/common-DSlhalAu.js +1 -0
  90. package/dist/assets/commonlisp-CWlOS49U.js +1 -0
  91. package/dist/assets/compiler-runtime-B3qBwwSJ.js +1 -0
  92. package/dist/assets/config-Q0O7_stz.js +1 -0
  93. package/dist/assets/context-BfYAMNLF.js +1 -0
  94. package/dist/assets/copy-D-8y6iMN.js +1 -0
  95. package/dist/assets/copy-icon-v8ME_JKB.js +1 -0
  96. package/dist/assets/cose-bilkent-S5V4N54A-tFAvjCRW.js +1 -0
  97. package/dist/assets/createLucideIcon-BCdY6lG5.js +1 -0
  98. package/dist/assets/createReducer-B3rBsy4P.js +1 -0
  99. package/dist/assets/crystal-CD-LQ3E-.js +1 -0
  100. package/dist/assets/css-sdrF9ahV.js +1 -0
  101. package/dist/assets/cypher-oiVTIRlU.js +1 -0
  102. package/dist/assets/d-KaoGirPa.js +1 -0
  103. package/dist/assets/dagre-6UL2VRFP-DOB6anec.js +4 -0
  104. package/dist/assets/data-grid-overlay-editor-D8lE4fym.js +1 -0
  105. package/dist/assets/database-zap-k4ePIFAU.js +1 -0
  106. package/dist/assets/datasource-CtyqtITR.js +3 -0
  107. package/dist/assets/dates-CrvjILe3.js +1 -0
  108. package/dist/assets/dependency-graph-panel-Cbke_QgZ.js +4 -0
  109. package/dist/assets/diagram-PSM6KHXK-DpuCiAS7.js +24 -0
  110. package/dist/assets/diagram-QEK2KX5R-IlkvvuKX.js +43 -0
  111. package/dist/assets/diagram-S2PKOQOG-DJt_T1Gq.js +24 -0
  112. package/dist/assets/dialog-eb-NieZw.js +1 -0
  113. package/dist/assets/diff-Df1QxxZl.js +1 -0
  114. package/dist/assets/dist-4mAhUzty.js +1 -0
  115. package/dist/assets/dist-5CXgzdUa.js +1 -0
  116. package/dist/assets/dist-8kKeYgOg.js +1 -0
  117. package/dist/assets/dist-B27MCO52.js +1 -0
  118. package/dist/assets/dist-BXnpRw3d.js +1 -0
  119. package/dist/assets/dist-BZP3Xxma.js +1 -0
  120. package/dist/assets/dist-Bc7uxGRW.js +1 -0
  121. package/dist/assets/dist-BtJZmWkg.js +1 -0
  122. package/dist/assets/dist-Btv5Rh1v.js +1 -0
  123. package/dist/assets/dist-ByjGU_ag.js +1 -0
  124. package/dist/assets/dist-C-V6lvxH.js +1 -0
  125. package/dist/assets/dist-C6SivM7z.js +1 -0
  126. package/dist/assets/dist-C9k2RMmO.js +1 -0
  127. package/dist/assets/dist-CDXJRSCj.js +1 -0
  128. package/dist/assets/dist-CEEqzIVj.js +1 -0
  129. package/dist/assets/dist-CEaOyZOW.js +1 -0
  130. package/dist/assets/dist-CLc5WXWw.js +1 -0
  131. package/dist/assets/dist-CRjEDsfC.js +1 -0
  132. package/dist/assets/dist-CsRJPnA9.js +1 -0
  133. package/dist/assets/dist-Cx8mOJOB.js +1 -0
  134. package/dist/assets/dist-DLgWirXg.js +1 -0
  135. package/dist/assets/dist-DOZ8nmkC.js +1 -0
  136. package/dist/assets/dist-DUlOLsKi.js +1 -0
  137. package/dist/assets/dist-Dv0MupEh.js +1 -0
  138. package/dist/assets/dist-DwV58Fb1.js +1 -0
  139. package/dist/assets/dist-OlCHPNfN.js +1 -0
  140. package/dist/assets/dist-bBwmhqty.js +6 -0
  141. package/dist/assets/dist-fO1a06Tp.js +1 -0
  142. package/dist/assets/dist-iXB2pOUD.js +1 -0
  143. package/dist/assets/dist-lTwzYaMX.js +1 -0
  144. package/dist/assets/dist-wS1s8MYb.js +1 -0
  145. package/dist/assets/dockerfile-BmwSYxi2.js +1 -0
  146. package/dist/assets/documentation-panel-BDQNa1xE.js +1 -0
  147. package/dist/assets/download-Dg7clfkc.js +1 -0
  148. package/dist/assets/download-os8QlW6l.js +9 -0
  149. package/dist/assets/dropdown-menu-ldcmQvIV.js +1 -0
  150. package/dist/assets/dtd-Aj5m459l.js +1 -0
  151. package/dist/assets/dylan-CdSB1nh8.js +1 -0
  152. package/dist/assets/ecl-CvwsCfi6.js +1 -0
  153. package/dist/assets/edit-page-BpIuEeU6.js +13 -0
  154. package/dist/assets/eiffel-Bws25dAs.js +1 -0
  155. package/dist/assets/ellipsis-DfDsMPvA.js +1 -0
  156. package/dist/assets/ellipsis-vertical-J1F7_WS9.js +1 -0
  157. package/dist/assets/elm--WkcLZ1a.js +1 -0
  158. package/dist/assets/empty-state-B8Cxr9nj.js +1 -0
  159. package/dist/assets/en-US-CCVfmA-q.js +1 -0
  160. package/dist/assets/erDiagram-Q2GNP2WA-CekwCx1v.js +60 -0
  161. package/dist/assets/erlang-Ct30wW1o.js +1 -0
  162. package/dist/assets/error-banner-B9ts0mNl.js +1 -0
  163. package/dist/assets/error-panel-B_234Lt3.js +1 -0
  164. package/dist/assets/errors-TZBmrJmc.js +1 -0
  165. package/dist/assets/es-BYgU_srD.js +5 -0
  166. package/dist/assets/esm-Bmu2DhPy.js +1 -0
  167. package/dist/assets/esm-D82gQH1f.js +1 -0
  168. package/dist/assets/eye-off-AK_9uodG.js +1 -0
  169. package/dist/assets/factor-B3fhZG6W.js +1 -0
  170. package/dist/assets/factor-DbSpQa-0.js +1 -0
  171. package/dist/assets/field-CySaBlkz.js +1 -0
  172. package/dist/assets/file-Ch78NKWp.js +1 -0
  173. package/dist/assets/file-explorer-panel-T3oL7Bzx.js +1 -0
  174. package/dist/assets/file-plus-corner-CvAy4H5W.js +1 -0
  175. package/dist/assets/file-video-camera-C3wGzBnE.js +1 -0
  176. package/dist/assets/floating-outline-BtdqbkUq.js +1 -0
  177. package/dist/assets/flowDiagram-NV44I4VS-BhCyaqwV.js +162 -0
  178. package/dist/assets/focus-C1YokgL7.js +1 -0
  179. package/dist/assets/form-BidPUZUn.js +2 -0
  180. package/dist/assets/forth-BP0pXyoR.js +1 -0
  181. package/dist/assets/fortran-DpX_2iww.js +1 -0
  182. package/dist/assets/gallery-page-D5ulMArd.js +1 -0
  183. package/dist/assets/ganttDiagram-JELNMOA3-Ct2B_ci4.js +267 -0
  184. package/dist/assets/gas-CiUR6fHB.js +1 -0
  185. package/dist/assets/gherkin-C9v48C48.js +1 -0
  186. package/dist/assets/gitGraph-F6HP7TQM-BwJPuiCH.js +1 -0
  187. package/dist/assets/gitGraphDiagram-NY62KEGX-DOBPUqeq.js +65 -0
  188. package/dist/assets/glide-data-editor-D1ZoJKPr.js +132 -0
  189. package/dist/assets/globals-BgACvYmr.js +1 -0
  190. package/dist/assets/groovy-psUnKwK-.js +1 -0
  191. package/dist/assets/haskell-DZHQAKUV.js +1 -0
  192. package/dist/assets/haxe-AOvPCF-w.js +1 -0
  193. package/dist/assets/home-page-DUMF8ZY4.js +4 -0
  194. package/dist/assets/hooks-BGeojgid.js +1 -0
  195. package/dist/assets/html-to-image-CIQqSu-S.js +2 -0
  196. package/dist/assets/icons-CCHmxi8d.js +1 -0
  197. package/dist/assets/idl-CSA8C1ck.js +1 -0
  198. package/dist/assets/index-CeUwN_0i.css +2 -0
  199. package/dist/assets/index-DFrkvKWf.js +38 -0
  200. package/dist/assets/info-NVLQJR56-Ccg18Lpe.js +1 -0
  201. package/dist/assets/infoDiagram-WHAUD3N6-Cytag0-K.js +2 -0
  202. package/dist/assets/input-DUrq2DiR.js +1 -0
  203. package/dist/assets/isValid-DDt9wNjK.js +1 -0
  204. package/dist/assets/javascript-XMYUq5-t.js +1 -0
  205. package/dist/assets/journeyDiagram-XKPGCS4Q-CPDnALH5.js +139 -0
  206. package/dist/assets/julia-oON8zLDW.js +1 -0
  207. package/dist/assets/kanban-definition-3W4ZIXB7-D0-Tthpw.js +89 -0
  208. package/dist/assets/katex-CDLTCvjQ.js +261 -0
  209. package/dist/assets/katex-DF982Ty5.js +1 -0
  210. package/dist/assets/kbd-Cm6Ba9qg.js +1 -0
  211. package/dist/assets/kiosk-mode-WmM7aFkh.js +1 -0
  212. package/dist/assets/label-E64zk6_7.js +1 -0
  213. package/dist/assets/layout-_O8thjaV.js +5 -0
  214. package/dist/assets/line-BA7eTS55.js +1 -0
  215. package/dist/assets/linear-BWciPXnd.js +1 -0
  216. package/dist/assets/link-DxicfMbs.js +1 -0
  217. package/dist/assets/links-7AQBmdyV.js +1 -0
  218. package/dist/assets/links-DWIqY1l5.js +1 -0
  219. package/dist/assets/livescript--BxQO5G_.js +1 -0
  220. package/dist/assets/logs-panel-C3cavnFO.js +1 -0
  221. package/dist/assets/loro_wasm_bg-C3Vl7VMX.js +1 -0
  222. package/dist/assets/loro_wasm_bg-DzFUi5p_.js +2 -0
  223. package/dist/assets/loro_wasm_bg-WKwciKJa.wasm +0 -0
  224. package/dist/assets/lua-CUyaVUOv.js +1 -0
  225. package/dist/assets/maps-D2_Mq1pZ.js +1 -0
  226. package/dist/assets/markdown-renderer-DJy8ww5d.js +10 -0
  227. package/dist/assets/mathematica-ONd8izyd.js +1 -0
  228. package/dist/assets/mbox-kjl3g9N-.js +1 -0
  229. package/dist/assets/menu-items-BMjcEb2j.js +1 -0
  230. package/dist/assets/mermaid-4DMBBIKO-DyygmIT8.js +1 -0
  231. package/dist/assets/mermaid-parser.core-BLHYb13y.js +4 -0
  232. package/dist/assets/mermaid-y-IBDpJK.js +11 -0
  233. package/dist/assets/mhchem-ICopO0mb.js +1 -0
  234. package/dist/assets/mindmap-definition-VGOIOE7T-BflEJS3A.js +68 -0
  235. package/dist/assets/mirc-BZ6TyuOO.js +1 -0
  236. package/dist/assets/mllike-Dxt2U6MQ.js +1 -0
  237. package/dist/assets/mode-Bn7pdJvO.js +1 -0
  238. package/dist/assets/modelica-B9sdhdtj.js +1 -0
  239. package/dist/assets/mscgen-5e5Z5trn.js +1 -0
  240. package/dist/assets/multi-icon-jM74Rbvg.js +1 -0
  241. package/dist/assets/multi-map-DxdLNTBd.js +1 -0
  242. package/dist/assets/mumps-BUfWDrRe.js +1 -0
  243. package/dist/assets/name-cell-input-Bc7geMVf.js +1 -0
  244. package/dist/assets/nsis-Dq7T79DJ.js +1 -0
  245. package/dist/assets/nsis-QuE155sg.js +1 -0
  246. package/dist/assets/ntriples-Dqzi7kwu.js +1 -0
  247. package/dist/assets/number-overlay-editor-Dylprn80.js +9 -0
  248. package/dist/assets/octave-v4IgjFm5.js +1 -0
  249. package/dist/assets/ordinal-DG_POl79.js +1 -0
  250. package/dist/assets/outline-panel-Bxt_JABC.js +1 -0
  251. package/dist/assets/oz-BtUsXhbc.js +1 -0
  252. package/dist/assets/packages-panel-yEp7rAYf.js +1 -0
  253. package/dist/assets/packet-BFZMPI3H-C_EwQwCX.js +1 -0
  254. package/dist/assets/panel-context-HhzMRtZm.js +1 -0
  255. package/dist/assets/panels-IsIZwIow.js +1 -0
  256. package/dist/assets/pascal-DV7k6vJ0.js +1 -0
  257. package/dist/assets/perl-Bz7YaP_R.js +1 -0
  258. package/dist/assets/pie-7BOR55EZ-B2NFlNeo.js +1 -0
  259. package/dist/assets/pieDiagram-ADFJNKIX-DXRnX2TS.js +30 -0
  260. package/dist/assets/pig-BQWmcOEQ.js +1 -0
  261. package/dist/assets/play-GLWQQs7F.js +1 -0
  262. package/dist/assets/plus-B7DF33lD.js +1 -0
  263. package/dist/assets/popover-CH1FzjxU.js +1 -0
  264. package/dist/assets/powershell-CmIFs71i.js +1 -0
  265. package/dist/assets/process-output-ByfLnk6j.js +1 -0
  266. package/dist/assets/properties-D7F2Eomu.js +1 -0
  267. package/dist/assets/protobuf-BMELuvny.js +1 -0
  268. package/dist/assets/pug-C2KbP_v3.js +1 -0
  269. package/dist/assets/pug-NA-6TsNe.js +1 -0
  270. package/dist/assets/puppet-C7MviiPj.js +1 -0
  271. package/dist/assets/python-BUl8uFIl.js +1 -0
  272. package/dist/assets/q-B5bIbNKB.js +1 -0
  273. package/dist/assets/quadrantDiagram-AYHSOK5B-e3OVACTV.js +7 -0
  274. package/dist/assets/r-B0lU_x8o.js +1 -0
  275. package/dist/assets/radar-NHE76QYJ-C3XGuwbG.js +1 -0
  276. package/dist/assets/react-Bj1aDYRI.js +1 -0
  277. package/dist/assets/react-dom-CSu739Rf.js +1 -0
  278. package/dist/assets/react-plotly-kw5W3sN8.js +4030 -0
  279. package/dist/assets/react-resizable-panels.browser.esm-Da3ksQXL.js +1 -0
  280. package/dist/assets/react-vega-BL1HBBjq.js +190 -0
  281. package/dist/assets/react-vega-gERE3HQc.js +1 -0
  282. package/dist/assets/readonly-python-code-WjTf6Pdd.js +1 -0
  283. package/dist/assets/refresh-ccw-DN_xCV6A.js +1 -0
  284. package/dist/assets/refresh-cw-Dx8TEWFP.js +1 -0
  285. package/dist/assets/renderShortcut-BckyRbYt.js +1 -0
  286. package/dist/assets/request-registry-C5_pVc8Y.js +1 -0
  287. package/dist/assets/requests-B4FYHTZl.js +1 -0
  288. package/dist/assets/requests-De5yEBc8.js +1 -0
  289. package/dist/assets/requirementDiagram-UZGBJVZJ-DMbzgjKI.js +64 -0
  290. package/dist/assets/rotate-ccw-DPbJxVVN.js +1 -0
  291. package/dist/assets/rpm-BqQ3VFpY.js +1 -0
  292. package/dist/assets/ruby-AFh8QoqR.js +1 -0
  293. package/dist/assets/run-page-_7E2SCeQ.js +1 -0
  294. package/dist/assets/runs-YUGrkyfE.js +1 -0
  295. package/dist/assets/sankeyDiagram-TZEHDZUN-B90PTMUW.js +10 -0
  296. package/dist/assets/sas-CeRTI9sn.js +1 -0
  297. package/dist/assets/save-DZodxFnE.js +1 -0
  298. package/dist/assets/save-worker-CtJsIYIM.js +77 -0
  299. package/dist/assets/scheme-D0VcE_o1.js +1 -0
  300. package/dist/assets/scratchpad-panel-C6thsU6k.js +1 -0
  301. package/dist/assets/secrets-panel-Db_JucCn.js +1 -0
  302. package/dist/assets/select-BVdzZKAh.js +1 -0
  303. package/dist/assets/sequenceDiagram-WL72ISMW-DKFGl_80.js +145 -0
  304. package/dist/assets/session-panel-3zs_-lnF.js +1 -0
  305. package/dist/assets/settings-OBbrbhij.js +1 -0
  306. package/dist/assets/share-ipf2hrOh.js +1 -0
  307. package/dist/assets/shell-BBh9RTgS.js +1 -0
  308. package/dist/assets/sieve-BSX0MHaT.js +1 -0
  309. package/dist/assets/slides-component-JYH8kck6.js +1 -0
  310. package/dist/assets/smalltalk-PvrpLgKW.js +1 -0
  311. package/dist/assets/snippets-panel-Bbk7MFBI.js +1 -0
  312. package/dist/assets/sparql-CXsmb8zq.js +1 -0
  313. package/dist/assets/spec-Ch0xnJY4.js +1 -0
  314. package/dist/assets/spinner-DA8-7wQv.js +1 -0
  315. package/dist/assets/square-CuJ72M8f.js +1 -0
  316. package/dist/assets/square-function-B6mgCeFJ.js +1 -0
  317. package/dist/assets/src-CvyFXpBy.js +1 -0
  318. package/dist/assets/state-BrMfOLl1.js +1 -0
  319. package/dist/assets/state-D4T75eZb.js +1 -0
  320. package/dist/assets/stateDiagram-FKZM4ZOC-Czf6mxbq.js +1 -0
  321. package/dist/assets/stateDiagram-v2-4FDKWEC3-DT577w6p.js +1 -0
  322. package/dist/assets/step-CVy5FnKg.js +1 -0
  323. package/dist/assets/stex-Dn4qnyVB.js +1 -0
  324. package/dist/assets/stylus-B60bUBy2.js +1 -0
  325. package/dist/assets/swift-BwnHGvoR.js +1 -0
  326. package/dist/assets/switch-dWLWbbtg.js +1 -0
  327. package/dist/assets/table-CfDbAm78.js +1 -0
  328. package/dist/assets/table-DScsXgJW.js +1 -0
  329. package/dist/assets/tcl-Bj8phnhq.js +1 -0
  330. package/dist/assets/terminal-CjhjkmtR.js +62 -0
  331. package/dist/assets/textarea-CRI7xDBj.js +1 -0
  332. package/dist/assets/textile-WPCmEeGb.js +1 -0
  333. package/dist/assets/time-DkuObi5n.js +1 -0
  334. package/dist/assets/timeline-definition-IT6M3QCI-Cr57imdX.js +61 -0
  335. package/dist/assets/toDate-DETS9bBd.js +1 -0
  336. package/dist/assets/toggle-zVW4FXNz.js +1 -0
  337. package/dist/assets/toml-Cdfp0vaG.js +1 -0
  338. package/dist/assets/tooltip-CMQz28hC.js +1 -0
  339. package/dist/assets/tracing-U3RlLbPJ.js +1 -0
  340. package/dist/assets/tracing-panel-D6GhZuLA.js +2 -0
  341. package/dist/assets/trash-2-DDsWrxuJ.js +1 -0
  342. package/dist/assets/trash-DCF6Krvi.js +1 -0
  343. package/dist/assets/tree-B--q0-tu.js +3 -0
  344. package/dist/assets/treemap-KMMF4GRG-CQXdJ2ER.js +1 -0
  345. package/dist/assets/triangle-alert-CebQ7XwA.js +1 -0
  346. package/dist/assets/troff-D4suUzlg.js +1 -0
  347. package/dist/assets/ttcn-CvD_6RGm.js +1 -0
  348. package/dist/assets/ttcn-cfg-BX59kgnW.js +1 -0
  349. package/dist/assets/turtle-midFOTTV.js +1 -0
  350. package/dist/assets/types-BRfQN3HL.js +17 -0
  351. package/dist/assets/types-C1UhS3qM.js +1 -0
  352. package/dist/assets/use-toast-BDYuj3zG.js +1 -0
  353. package/dist/assets/useAddCell-CmuX2hOk.js +1 -0
  354. package/dist/assets/useAsyncData-BMGLSTg8.js +1 -0
  355. package/dist/assets/useBoolean-Ck_unDZw.js +1 -0
  356. package/dist/assets/useCellActionButton-DUDHPTmq.js +1 -0
  357. package/dist/assets/useDateFormatter-CqhdUl2n.js +1 -0
  358. package/dist/assets/useDebounce-7iEVSqwM.js +1 -0
  359. package/dist/assets/useDeepCompareMemoize-5OUgerQ3.js +1 -0
  360. package/dist/assets/useDeleteCell-DdRX94yC.js +1 -0
  361. package/dist/assets/useDependencyPanelTab-CeDmKn0Z.js +1 -0
  362. package/dist/assets/useEvent-BhXAndur.js +1 -0
  363. package/dist/assets/useEventListener-Cb-RVVEn.js +1 -0
  364. package/dist/assets/useIframeCapabilities-B_pQb20b.js +1 -0
  365. package/dist/assets/useInstallPackage-D4fX0Ee_.js +1 -0
  366. package/dist/assets/useInterval-B-PjgTm9.js +1 -0
  367. package/dist/assets/useLifecycle-ClI_npeg.js +1 -0
  368. package/dist/assets/useNonce-CS26E0hA.js +56 -0
  369. package/dist/assets/useNotebookActions-BFGSBiOA.js +1 -0
  370. package/dist/assets/useNumberFormatter-Db6Vjve5.js +1 -0
  371. package/dist/assets/usePress-C__vuri5.js +7 -0
  372. package/dist/assets/useRunCells-D2HBb4DB.js +1 -0
  373. package/dist/assets/useSplitCell-C4khe6eU.js +1 -0
  374. package/dist/assets/useTheme-DQozhcp1.js +1 -0
  375. package/dist/assets/utilities.esm-MA1QpjVT.js +3 -0
  376. package/dist/assets/utils-YqBXNpsM.js +1 -0
  377. package/dist/assets/vb-CSNH0UHQ.js +1 -0
  378. package/dist/assets/vbscript-DTgXfl5y.js +1 -0
  379. package/dist/assets/vega-component-D4L27L4Y.js +1 -0
  380. package/dist/assets/velocity-CKgzALh9.js +1 -0
  381. package/dist/assets/verilog-NDqaS3bW.js +1 -0
  382. package/dist/assets/vhdl-BibQgFNM.js +1 -0
  383. package/dist/assets/webidl-BjqVurO-.js +1 -0
  384. package/dist/assets/worker-BPV9SmHz.js +120 -0
  385. package/dist/assets/workflow-BphwJiK3.js +1 -0
  386. package/dist/assets/write-secret-modal-1fGKmd5H.js +1 -0
  387. package/dist/assets/x-ZP5cObgf.js +1 -0
  388. package/dist/assets/xquery-DQLXMdMd.js +1 -0
  389. package/dist/assets/xychartDiagram-PRI3JC2R-DtYN6-1-.js +7 -0
  390. package/dist/assets/yacas-DlkZlCdY.js +1 -0
  391. package/dist/assets/youtube--tNPNRy6.js +1 -0
  392. package/dist/assets/z80-YKwwCjvZ.js +1 -0
  393. package/dist/assets/zod-H_cgTO0M.js +40 -0
  394. package/dist/index.html +139 -140
  395. package/package.json +18 -18
  396. package/src/components/app-config/ai-config.tsx +11 -2
  397. package/src/components/app-config/optional-features.tsx +1 -1
  398. package/src/components/app-config/user-config-form.tsx +0 -54
  399. package/src/components/chat/__tests__/useFileState.test.tsx +93 -0
  400. package/src/components/chat/acp/__tests__/state.test.ts +69 -0
  401. package/src/components/chat/acp/agent-panel.tsx +26 -77
  402. package/src/components/chat/acp/state.ts +6 -6
  403. package/src/components/chat/chat-components.tsx +114 -1
  404. package/src/components/chat/chat-panel.tsx +79 -134
  405. package/src/components/chat/chat-utils.ts +42 -0
  406. package/src/components/data-table/__tests__/data-table.test.tsx +94 -2
  407. package/src/components/editor/actions/useCellActionButton.tsx +14 -1
  408. package/src/components/editor/ai/add-cell-with-ai.tsx +85 -53
  409. package/src/components/editor/ai/ai-completion-editor.tsx +15 -38
  410. package/src/components/editor/cell/CreateCellButton.tsx +2 -1
  411. package/src/components/editor/cell/code/cell-editor.tsx +12 -0
  412. package/src/components/editor/chrome/panels/packages-panel.tsx +12 -9
  413. package/src/components/editor/database/__tests__/__snapshots__/as-code.test.ts.snap +15 -0
  414. package/src/components/editor/database/__tests__/as-code.test.ts +8 -0
  415. package/src/components/editor/database/as-code.ts +3 -0
  416. package/src/components/editor/database/schemas.ts +9 -0
  417. package/src/components/editor/renderers/cell-array.tsx +2 -1
  418. package/src/components/editor/renderers/vertical-layout/vertical-layout.tsx +12 -0
  419. package/src/components/pages/gallery-page.tsx +37 -6
  420. package/src/core/MarimoApp.tsx +12 -8
  421. package/src/core/ai/context/providers/file.ts +1 -1
  422. package/src/core/cells/__tests__/cells.test.ts +120 -0
  423. package/src/core/cells/__tests__/session.test.ts +37 -1
  424. package/src/core/cells/cells.ts +14 -0
  425. package/src/core/cells/session.ts +20 -8
  426. package/src/core/codemirror/language/languages/markdown.ts +7 -0
  427. package/src/core/config/feature-flag.tsx +0 -4
  428. package/src/core/dom/uiregistry.ts +4 -1
  429. package/src/core/islands/__tests__/bridge.test.ts +7 -2
  430. package/src/core/islands/bridge.ts +1 -1
  431. package/src/core/islands/main.ts +7 -0
  432. package/src/core/network/types.ts +2 -2
  433. package/src/core/run-app.tsx +11 -4
  434. package/src/core/static/__tests__/files.test.ts +195 -1
  435. package/src/core/static/files.ts +39 -9
  436. package/src/core/wasm/bridge.ts +1 -1
  437. package/src/core/websocket/useMarimoKernelConnection.tsx +5 -15
  438. package/src/plugins/core/registerReactComponent.tsx +9 -1
  439. package/src/plugins/impl/__tests__/DataTablePlugin.test.tsx +164 -0
  440. package/src/plugins/impl/anywidget/AnyWidgetPlugin.tsx +93 -168
  441. package/src/plugins/impl/anywidget/__tests__/AnyWidgetPlugin.test.tsx +37 -123
  442. package/src/plugins/impl/anywidget/__tests__/model.test.ts +128 -122
  443. package/src/plugins/impl/anywidget/__tests__/serialization.test.ts +457 -0
  444. package/src/plugins/impl/anywidget/model.ts +348 -223
  445. package/src/plugins/impl/anywidget/schemas.ts +32 -0
  446. package/src/plugins/impl/anywidget/serialization.ts +120 -0
  447. package/src/plugins/impl/anywidget/types.ts +27 -0
  448. package/src/plugins/impl/chat/chat-ui.tsx +22 -20
  449. package/src/utils/Deferred.ts +21 -0
  450. package/src/utils/__tests__/blob.test.ts +3 -3
  451. package/src/utils/__tests__/id-tree.test.ts +22 -7
  452. package/src/utils/__tests__/mime-types.test.ts +8 -10
  453. package/src/utils/__tests__/url-parser.test.ts +22 -0
  454. package/src/utils/blob.ts +14 -27
  455. package/src/utils/id-tree.tsx +11 -19
  456. package/src/utils/json/base64.ts +38 -8
  457. package/src/utils/mime-types.ts +5 -5
  458. package/src/utils/url-parser.ts +1 -1
  459. package/dist/assets/CellStatus-CTtb89yx.js +0 -1
  460. package/dist/assets/Combination-C_mRvd_Z.js +0 -41
  461. package/dist/assets/ConnectedDataExplorerComponent-CX7YQX42.js +0 -1
  462. package/dist/assets/Deferred-CrO5-0RA.js +0 -1
  463. package/dist/assets/DeferredRequestRegistry-CO2AyNfd.js +0 -1
  464. package/dist/assets/ErrorBoundary-ChCiwl15.js +0 -1
  465. package/dist/assets/ImageComparisonComponent-BVBGmVcA.js +0 -1
  466. package/dist/assets/ImperativeModal-CKeCkc1k.js +0 -1
  467. package/dist/assets/Inputs-CBxLLWdV.js +0 -1
  468. package/dist/assets/JsonOutput-BTBD86gT.js +0 -46
  469. package/dist/assets/LazyAnyLanguageCodeMirror-Be7SB10I.js +0 -2
  470. package/dist/assets/MarimoErrorOutput-DuaUr0W-.js +0 -7
  471. package/dist/assets/RenderHTML-IBhB_MjX.js +0 -1
  472. package/dist/assets/SSRProvider-DBS9qs3r.js +0 -1
  473. package/dist/assets/__vite-browser-external-BkzFKOxE.js +0 -1
  474. package/dist/assets/__vite-browser-external-CPyDqUtZ.js +0 -1
  475. package/dist/assets/add-cell-with-ai-DsiiVErB.js +0 -90
  476. package/dist/assets/add-database-form-B1frIn24.js +0 -111
  477. package/dist/assets/agent-panel-B_Ur2utx.js +0 -287
  478. package/dist/assets/ai-model-dropdown-Dix8JIRc.js +0 -5
  479. package/dist/assets/alert-adkp2Qj8.js +0 -1
  480. package/dist/assets/alert-dialog-CordKci7.js +0 -11
  481. package/dist/assets/any-language-editor-Z9d2XKUM.js +0 -3
  482. package/dist/assets/apl-DpOiWl6J.js +0 -1
  483. package/dist/assets/app-config-button-CYFJH9oz.js +0 -1
  484. package/dist/assets/arc-xh3ZebK_.js +0 -1
  485. package/dist/assets/architecture-U656AL7Q-DQB1ihe9.js +0 -1
  486. package/dist/assets/architectureDiagram-VXUJARFQ-B-zQV2Ro.js +0 -36
  487. package/dist/assets/arrow-left-Cb_73j1f.js +0 -1
  488. package/dist/assets/asciiarmor-DVIuYySe.js +0 -1
  489. package/dist/assets/asn1-CWHjZJq6.js +0 -1
  490. package/dist/assets/badge-Ce8wRjuQ.js +0 -1
  491. package/dist/assets/blob-t6qcPM7K.js +0 -1
  492. package/dist/assets/blockDiagram-VD42YOAC-B7BRAty8.js +0 -122
  493. package/dist/assets/brainfuck-CIKJewgG.js +0 -1
  494. package/dist/assets/bundle.esm-B-jCcPJK.js +0 -1
  495. package/dist/assets/button-YC1gW_kJ.js +0 -1
  496. package/dist/assets/c4Diagram-YG6GDRKO-C5JyC9v_.js +0 -10
  497. package/dist/assets/cache-panel-BfCxvTOh.js +0 -1
  498. package/dist/assets/card-BAxUmnnT.js +0 -1
  499. package/dist/assets/cell-editor-BQ5bBOiS.js +0 -23
  500. package/dist/assets/cell-link-DW0zobk9.js +0 -1
  501. package/dist/assets/cells-BcMpgRWV.js +0 -254
  502. package/dist/assets/channel-ownMsSXG.js +0 -1
  503. package/dist/assets/chart-no-axes-column-W42b2ZIs.js +0 -1
  504. package/dist/assets/chat-components-BpIX7pUp.js +0 -1
  505. package/dist/assets/chat-display-CVXM0cmr.js +0 -1
  506. package/dist/assets/chat-panel-FiDMP_Qr.js +0 -3
  507. package/dist/assets/check-DdfN0k2d.js +0 -1
  508. package/dist/assets/chevron-right-DwagBitu.js +0 -1
  509. package/dist/assets/chunk-4BX2VUAB-BP-RGZn9.js +0 -1
  510. package/dist/assets/chunk-55IACEB6-NZRDKuqH.js +0 -1
  511. package/dist/assets/chunk-5FQGJX7Z-Bmb7yu_c.js +0 -113
  512. package/dist/assets/chunk-ABZYJK2D-Coo5qi7b.js +0 -80
  513. package/dist/assets/chunk-ATLVNIR6-C0ULYreM.js +0 -1
  514. package/dist/assets/chunk-B4BG7PRW-D6Q5lT5Z.js +0 -165
  515. package/dist/assets/chunk-CVBHYZKI-Brsoob-W.js +0 -1
  516. package/dist/assets/chunk-DI55MBZ5-BUUtkB-8.js +0 -220
  517. package/dist/assets/chunk-EXTU4WIE-DQy5cN5X.js +0 -1
  518. package/dist/assets/chunk-FMBD7UC4-kejklSRQ.js +0 -15
  519. package/dist/assets/chunk-HN2XXSSU-BBxJMYrA.js +0 -1
  520. package/dist/assets/chunk-JA3XYJ7Z-99Y1UR46.js +0 -70
  521. package/dist/assets/chunk-JZLCHNYA-DRGkEV50.js +0 -54
  522. package/dist/assets/chunk-MI3HLSF2-D6we5Ftb.js +0 -32
  523. package/dist/assets/chunk-N4CR4FBY-DHFG9ldR.js +0 -2
  524. package/dist/assets/chunk-QN33PNHL-DB8FgLRd.js +0 -1
  525. package/dist/assets/chunk-QXUST7PY-_zxuSm7L.js +0 -7
  526. package/dist/assets/chunk-QZHKN3VN-DCq7JxLD.js +0 -1
  527. package/dist/assets/chunk-S3R3BYOJ-PVCoxQeQ.js +0 -2
  528. package/dist/assets/chunk-TZMSLE5B-KYGSDxPK.js +0 -1
  529. package/dist/assets/circle-check-C57eOpl0.js +0 -1
  530. package/dist/assets/circle-play-BuOtSgid.js +0 -1
  531. package/dist/assets/circle-plus-CnWl9uZo.js +0 -1
  532. package/dist/assets/classDiagram-2ON5EDUG-CSgD2v8F.js +0 -1
  533. package/dist/assets/classDiagram-v2-WZHVMYZB-YTETTIT0.js +0 -1
  534. package/dist/assets/clear-button-CF0iBcV9.js +0 -1
  535. package/dist/assets/click-outside-container-B12FHFHm.js +0 -1
  536. package/dist/assets/clike-wo4CVrJj.js +0 -1
  537. package/dist/assets/clipboard-paste-BiDF-cqm.js +0 -1
  538. package/dist/assets/clojure-CTxjMkBI.js +0 -1
  539. package/dist/assets/cmake-aJ0aGjat.js +0 -1
  540. package/dist/assets/cobol-Dw9T4cw-.js +0 -1
  541. package/dist/assets/code-block-37QAKDTI-D5PRUB7R.js +0 -2
  542. package/dist/assets/code-xml-XLwHyDBr.js +0 -1
  543. package/dist/assets/coffeescript-B5HCKl_0.js +0 -1
  544. package/dist/assets/column-preview-v3J210SK.js +0 -1
  545. package/dist/assets/command-DOzj5zu3.js +0 -1
  546. package/dist/assets/command-palette-B94wuFEk.js +0 -1
  547. package/dist/assets/common-DHF6uQdA.js +0 -1
  548. package/dist/assets/commonlisp-C578hhl1.js +0 -1
  549. package/dist/assets/compiler-runtime-DeeZ7FnK.js +0 -1
  550. package/dist/assets/config-C3-Nti03.js +0 -1
  551. package/dist/assets/context-CJp-B2dx.js +0 -1
  552. package/dist/assets/copy-CQ15EONK.js +0 -1
  553. package/dist/assets/copy-icon-C1fNHY3M.js +0 -1
  554. package/dist/assets/cose-bilkent-S5V4N54A-vYRNxW8r.js +0 -1
  555. package/dist/assets/createLucideIcon-CnW3RofX.js +0 -1
  556. package/dist/assets/createReducer-Dnna-AUO.js +0 -1
  557. package/dist/assets/crystal-D84c1nzD.js +0 -1
  558. package/dist/assets/css-BJsW3aHa.js +0 -1
  559. package/dist/assets/cypher-DBO3MHmN.js +0 -1
  560. package/dist/assets/d-KvHiAR3H.js +0 -1
  561. package/dist/assets/dagre-6UL2VRFP-khPiqbzB.js +0 -4
  562. package/dist/assets/data-grid-overlay-editor-Ca1ELXWD.js +0 -1
  563. package/dist/assets/database-zap-B9y7063w.js +0 -1
  564. package/dist/assets/datasource-BZ3O2HG1.js +0 -3
  565. package/dist/assets/dates-Cx863TsG.js +0 -1
  566. package/dist/assets/dependency-graph-panel-s45LIDec.js +0 -4
  567. package/dist/assets/diagram-PSM6KHXK-C7-DZLOE.js +0 -24
  568. package/dist/assets/diagram-QEK2KX5R-Ct2_XsRV.js +0 -43
  569. package/dist/assets/diagram-S2PKOQOG-C82IZoPA.js +0 -24
  570. package/dist/assets/dialog-Dstm3Ubn.js +0 -1
  571. package/dist/assets/diff-BmUpKGx-.js +0 -1
  572. package/dist/assets/dist-1nstYXhq.js +0 -1
  573. package/dist/assets/dist-2qScxWoK.js +0 -1
  574. package/dist/assets/dist-8LCoAaYJ.js +0 -1
  575. package/dist/assets/dist-B1CD4nG7.js +0 -1
  576. package/dist/assets/dist-B407S7D_.js +0 -1
  577. package/dist/assets/dist-B6bNYRJb.js +0 -1
  578. package/dist/assets/dist-BKMynip3.js +0 -1
  579. package/dist/assets/dist-BP1tfplb.js +0 -1
  580. package/dist/assets/dist-BSxIk2Vq.js +0 -1
  581. package/dist/assets/dist-BcotcL0h.js +0 -1
  582. package/dist/assets/dist-BhLw_JdQ.js +0 -1
  583. package/dist/assets/dist-BtUqLXS9.js +0 -1
  584. package/dist/assets/dist-BuwU3nUf.js +0 -1
  585. package/dist/assets/dist-BwcKpTZt.js +0 -1
  586. package/dist/assets/dist-C0QU3Oay.js +0 -1
  587. package/dist/assets/dist-CNknMFYG.js +0 -1
  588. package/dist/assets/dist-Cayq-K1c.js +0 -6
  589. package/dist/assets/dist-Cip4Ndtd.js +0 -1
  590. package/dist/assets/dist-DGPkGdD2.js +0 -1
  591. package/dist/assets/dist-DXT0W0hS.js +0 -1
  592. package/dist/assets/dist-DrFRlZJz.js +0 -1
  593. package/dist/assets/dist-DstaRs6N.js +0 -1
  594. package/dist/assets/dist-DzjeKTWA.js +0 -1
  595. package/dist/assets/dist-GCDTTvNx.js +0 -1
  596. package/dist/assets/dist-PT7WsOdN.js +0 -1
  597. package/dist/assets/dist-QPLTo43F.js +0 -1
  598. package/dist/assets/dist-SpkGM8op.js +0 -1
  599. package/dist/assets/dist-TiFCI16_.js +0 -1
  600. package/dist/assets/dist-YQMqR1ri.js +0 -1
  601. package/dist/assets/dist-h7FGpi6W.js +0 -1
  602. package/dist/assets/dist-oarhZoo6.js +0 -1
  603. package/dist/assets/dockerfile-BPCA7-hu.js +0 -1
  604. package/dist/assets/documentation-panel-DRqbOPwM.js +0 -1
  605. package/dist/assets/download-B9SUL40m.js +0 -1
  606. package/dist/assets/download-zuPzhwvm.js +0 -9
  607. package/dist/assets/dropdown-menu-D8v7RjW8.js +0 -1
  608. package/dist/assets/dtd-Dwf-AbUl.js +0 -1
  609. package/dist/assets/dylan-VHUB-7ez.js +0 -1
  610. package/dist/assets/ecl-DvGrObaA.js +0 -1
  611. package/dist/assets/edit-page-Dlr4v1eI.js +0 -13
  612. package/dist/assets/eiffel-CUYga93e.js +0 -1
  613. package/dist/assets/ellipsis-5ip-qDfN.js +0 -1
  614. package/dist/assets/ellipsis-vertical-C7jYiLCo.js +0 -1
  615. package/dist/assets/elm-BhMhmEP6.js +0 -1
  616. package/dist/assets/empty-state-BAGXXrn8.js +0 -1
  617. package/dist/assets/en-US-XLBup7bs.js +0 -1
  618. package/dist/assets/erDiagram-Q2GNP2WA-Ftt2qDiM.js +0 -60
  619. package/dist/assets/erlang-D4xbdJFD.js +0 -1
  620. package/dist/assets/error-banner-JIexM8h5.js +0 -1
  621. package/dist/assets/error-panel-TqjIx6nC.js +0 -1
  622. package/dist/assets/errors-B5AI4nf5.js +0 -1
  623. package/dist/assets/es-CPSXxuS6.js +0 -5
  624. package/dist/assets/esm-BbNm2fB0.js +0 -1
  625. package/dist/assets/esm-BmQh-C2G.js +0 -1
  626. package/dist/assets/eye-off-BhExYOph.js +0 -1
  627. package/dist/assets/factor-C0grrWrC.js +0 -1
  628. package/dist/assets/factor-Ccw_GUUV.js +0 -1
  629. package/dist/assets/field-1uCBX4j4.js +0 -1
  630. package/dist/assets/file-Cs1JbsV6.js +0 -1
  631. package/dist/assets/file-explorer-panel-jku_uMQn.js +0 -1
  632. package/dist/assets/file-plus-corner-Da9I6dgU.js +0 -1
  633. package/dist/assets/file-video-camera-DW3v07j2.js +0 -1
  634. package/dist/assets/floating-outline-CZbF47gm.js +0 -1
  635. package/dist/assets/flowDiagram-NV44I4VS-Ca9aZp-3.js +0 -162
  636. package/dist/assets/focus-BxGelf2n.js +0 -1
  637. package/dist/assets/form-DQt-Ldr4.js +0 -2
  638. package/dist/assets/forth-CSTdXn4A.js +0 -1
  639. package/dist/assets/fortran-fENQO2l9.js +0 -1
  640. package/dist/assets/gallery-page-D_5X4kKx.js +0 -1
  641. package/dist/assets/ganttDiagram-JELNMOA3-PYFPdyuJ.js +0 -267
  642. package/dist/assets/gas-CPJMP4zj.js +0 -1
  643. package/dist/assets/gherkin-CiUmN4EE.js +0 -1
  644. package/dist/assets/gitGraph-F6HP7TQM-ULnyMCh9.js +0 -1
  645. package/dist/assets/gitGraphDiagram-NY62KEGX-CfGWoYOo.js +0 -65
  646. package/dist/assets/glide-data-editor-8ek3zzAO.js +0 -132
  647. package/dist/assets/globals-D4t_HyAp.js +0 -1
  648. package/dist/assets/groovy-DMooZA1X.js +0 -1
  649. package/dist/assets/haskell-sDlThg6u.js +0 -1
  650. package/dist/assets/haxe-Do80ITri.js +0 -1
  651. package/dist/assets/home-page-xDhfcHL1.js +0 -4
  652. package/dist/assets/hooks-MQa8CSUr.js +0 -1
  653. package/dist/assets/house-DhFkiXz7.js +0 -1
  654. package/dist/assets/html-to-image-DKqpcM7V.js +0 -2
  655. package/dist/assets/icons-Dw4USSvE.js +0 -1
  656. package/dist/assets/idl-DFPg6k4F.js +0 -1
  657. package/dist/assets/index-CikhHYAB.css +0 -2
  658. package/dist/assets/index-DuqUGjtK.js +0 -38
  659. package/dist/assets/info-NVLQJR56-gsco60Pt.js +0 -1
  660. package/dist/assets/infoDiagram-WHAUD3N6-Csbwq6Ks.js +0 -2
  661. package/dist/assets/input-DcAGg_4_.js +0 -1
  662. package/dist/assets/isValid-BLB2jskA.js +0 -1
  663. package/dist/assets/javascript-BGc4iHiT.js +0 -1
  664. package/dist/assets/journeyDiagram-XKPGCS4Q-DArwMxlY.js +0 -139
  665. package/dist/assets/julia-BHNHVraD.js +0 -1
  666. package/dist/assets/kanban-definition-3W4ZIXB7-CPjBJiO_.js +0 -89
  667. package/dist/assets/katex-BZrXWsTs.js +0 -1
  668. package/dist/assets/katex-DYp6oq7P.js +0 -261
  669. package/dist/assets/kbd-uRyPZ9w_.js +0 -1
  670. package/dist/assets/kiosk-mode-C9XznhoS.js +0 -1
  671. package/dist/assets/label-CL9Xfexh.js +0 -1
  672. package/dist/assets/layout-D-YPCWvX.js +0 -5
  673. package/dist/assets/line-VKarCWVL.js +0 -1
  674. package/dist/assets/linear-BxhToEEF.js +0 -1
  675. package/dist/assets/link-BsTPF7B0.js +0 -1
  676. package/dist/assets/links-BhgWpHdU.js +0 -1
  677. package/dist/assets/links-DgZx-VxW.js +0 -1
  678. package/dist/assets/livescript-Bv2FpOTI.js +0 -1
  679. package/dist/assets/logs-panel-DKSJRyF4.js +0 -1
  680. package/dist/assets/loro_wasm_bg-BnAHSQ7o.js +0 -2
  681. package/dist/assets/loro_wasm_bg-CKQGJrH5.js +0 -1
  682. package/dist/assets/loro_wasm_bg-DV7Kb4_M.wasm +0 -0
  683. package/dist/assets/lua-BysKHKPZ.js +0 -1
  684. package/dist/assets/maps-t9yNKYA8.js +0 -1
  685. package/dist/assets/markdown-renderer-Bu12gPyJ.js +0 -10
  686. package/dist/assets/mathematica-BBTHoTvM.js +0 -1
  687. package/dist/assets/mbox-DeT9_lvk.js +0 -1
  688. package/dist/assets/menu-items-NblnuU_B.js +0 -1
  689. package/dist/assets/mermaid-4DMBBIKO-RE7Z6-fl.js +0 -1
  690. package/dist/assets/mermaid-Bzaf_nA9.js +0 -11
  691. package/dist/assets/mermaid-parser.core-D237JwYN.js +0 -4
  692. package/dist/assets/mhchem-DLDYYsJK.js +0 -1
  693. package/dist/assets/mindmap-definition-VGOIOE7T-DVB4z5Yy.js +0 -68
  694. package/dist/assets/mirc-D5fMSrXQ.js +0 -1
  695. package/dist/assets/mllike-BtxCpmpf.js +0 -1
  696. package/dist/assets/mode-CevBiFCd.js +0 -1
  697. package/dist/assets/modelica-CRQcZpK6.js +0 -1
  698. package/dist/assets/mscgen-BfscU11q.js +0 -1
  699. package/dist/assets/multi-icon-CLzAg610.js +0 -1
  700. package/dist/assets/multi-map-W4zci54U.js +0 -1
  701. package/dist/assets/mumps-g7ooySbl.js +0 -1
  702. package/dist/assets/name-cell-input-DwvdP1Ck.js +0 -1
  703. package/dist/assets/nsis-BtyCmCHZ.js +0 -1
  704. package/dist/assets/nsis-CzZqoCdu.js +0 -1
  705. package/dist/assets/ntriples-DLyxF-NO.js +0 -1
  706. package/dist/assets/number-overlay-editor-CvIcqV0W.js +0 -9
  707. package/dist/assets/octave-CFXP_zzr.js +0 -1
  708. package/dist/assets/ordinal-C93T4L8H.js +0 -1
  709. package/dist/assets/outline-panel-Bg_CP1WV.js +0 -1
  710. package/dist/assets/oz-CrQbC0N_.js +0 -1
  711. package/dist/assets/packages-panel-DBgrbk-q.js +0 -1
  712. package/dist/assets/packet-BFZMPI3H-CnHEXEVi.js +0 -1
  713. package/dist/assets/panel-context-C-UJlFyL.js +0 -1
  714. package/dist/assets/panels-CaoDGKmF.js +0 -1
  715. package/dist/assets/pascal-CCSZgYZH.js +0 -1
  716. package/dist/assets/perl-Bc1MycMl.js +0 -1
  717. package/dist/assets/pie-7BOR55EZ-C5Sp4r8f.js +0 -1
  718. package/dist/assets/pieDiagram-ADFJNKIX-vwwb5uL8.js +0 -30
  719. package/dist/assets/pig-CDr04RdE.js +0 -1
  720. package/dist/assets/play-BPIh-ZEU.js +0 -1
  721. package/dist/assets/plus-BD5o34_i.js +0 -1
  722. package/dist/assets/popover-BZZFx3Q8.js +0 -1
  723. package/dist/assets/powershell-DcvrUwmh.js +0 -1
  724. package/dist/assets/process-output-Cl2N-HlT.js +0 -1
  725. package/dist/assets/properties-Y8OgFJMt.js +0 -1
  726. package/dist/assets/protobuf-Dyx-ENis.js +0 -1
  727. package/dist/assets/pug-BqLMXh-D.js +0 -1
  728. package/dist/assets/pug-T7qjkmFh.js +0 -1
  729. package/dist/assets/puppet-BzYSg90u.js +0 -1
  730. package/dist/assets/python-D4S7tVrv.js +0 -1
  731. package/dist/assets/q-YpqabiSl.js +0 -1
  732. package/dist/assets/quadrantDiagram-AYHSOK5B-Y8bEZ32G.js +0 -7
  733. package/dist/assets/r-DzpuVbmQ.js +0 -1
  734. package/dist/assets/radar-NHE76QYJ-DAElyE_r.js +0 -1
  735. package/dist/assets/react-BGmjiNul.js +0 -1
  736. package/dist/assets/react-dom-C9fstfnp.js +0 -1
  737. package/dist/assets/react-plotly-CZMBCa5P.js +0 -4030
  738. package/dist/assets/react-resizable-panels.browser.esm-BFvP7Upm.js +0 -1
  739. package/dist/assets/react-vega-BCDifxTe.js +0 -190
  740. package/dist/assets/react-vega-DkHO4e2L.js +0 -1
  741. package/dist/assets/readonly-python-code-H1kzT-lB.js +0 -1
  742. package/dist/assets/refresh-ccw-DLEiQDS3.js +0 -1
  743. package/dist/assets/refresh-cw-CQd-1kjx.js +0 -1
  744. package/dist/assets/renderShortcut-zxgoVTeP.js +0 -1
  745. package/dist/assets/request-registry-CjZcQuTP.js +0 -1
  746. package/dist/assets/requests-BSPGoGJL.js +0 -1
  747. package/dist/assets/requests-BsVD4CdD.js +0 -1
  748. package/dist/assets/requirementDiagram-UZGBJVZJ-ChckaTrX.js +0 -64
  749. package/dist/assets/rotate-ccw-B_yU4f05.js +0 -1
  750. package/dist/assets/rpm-DlmAEsH3.js +0 -1
  751. package/dist/assets/ruby-BHSBK3B4.js +0 -1
  752. package/dist/assets/run-page-BmTC7uxn.js +0 -1
  753. package/dist/assets/runs-X54OGDTq.js +0 -1
  754. package/dist/assets/sankeyDiagram-TZEHDZUN-DtU4O0-i.js +0 -10
  755. package/dist/assets/sas-DmQmrPAn.js +0 -1
  756. package/dist/assets/save-PMHbdtqc.js +0 -1
  757. package/dist/assets/save-worker-DtF6B3PS.js +0 -77
  758. package/dist/assets/scheme-CZHvt0eC.js +0 -1
  759. package/dist/assets/scratchpad-panel-CIxZIJ-1.js +0 -1
  760. package/dist/assets/secrets-panel-TwfjwIVv.js +0 -1
  761. package/dist/assets/select-CX1Yi8J8.js +0 -1
  762. package/dist/assets/sequenceDiagram-WL72ISMW-BGXrTemh.js +0 -145
  763. package/dist/assets/session-panel-CNeWVmTR.js +0 -1
  764. package/dist/assets/settings-DOXWMfVd.js +0 -1
  765. package/dist/assets/share-Ba-pHZtq.js +0 -1
  766. package/dist/assets/shell-BJzvpTMz.js +0 -1
  767. package/dist/assets/sieve-DGjPhm-6.js +0 -1
  768. package/dist/assets/slides-component-CGMJm_kL.js +0 -1
  769. package/dist/assets/smalltalk-DaG60CSr.js +0 -1
  770. package/dist/assets/snippets-panel-DMN_ZSXA.js +0 -1
  771. package/dist/assets/sparql-CN49rXKB.js +0 -1
  772. package/dist/assets/spec-D1kBp3jX.js +0 -1
  773. package/dist/assets/spinner-DaIKav-i.js +0 -1
  774. package/dist/assets/square-C8Tw_XXG.js +0 -1
  775. package/dist/assets/square-function-CqXXKtIq.js +0 -1
  776. package/dist/assets/src-DJ8ZKoFs.js +0 -1
  777. package/dist/assets/state-BLsnFVwy.js +0 -1
  778. package/dist/assets/state-n1Xz9vt7.js +0 -1
  779. package/dist/assets/stateDiagram-FKZM4ZOC-BwSf7RIr.js +0 -1
  780. package/dist/assets/stateDiagram-v2-4FDKWEC3-SWMI9LKY.js +0 -1
  781. package/dist/assets/step-DGkZosD0.js +0 -1
  782. package/dist/assets/stex-D6sqtveI.js +0 -1
  783. package/dist/assets/stylus-CzHZ_0CL.js +0 -1
  784. package/dist/assets/swift-5fr5bTbW.js +0 -1
  785. package/dist/assets/switch-CfRu5JBF.js +0 -1
  786. package/dist/assets/table-DZR6ewbN.js +0 -1
  787. package/dist/assets/table-qbh6Daed.js +0 -1
  788. package/dist/assets/tcl-D5oaR_GS.js +0 -1
  789. package/dist/assets/terminal-C0fH4d_0.js +0 -62
  790. package/dist/assets/textarea-3ZXdUni1.js +0 -1
  791. package/dist/assets/textile-CJ5e8-7o.js +0 -1
  792. package/dist/assets/time-EL4bnqqQ.js +0 -1
  793. package/dist/assets/timeline-definition-IT6M3QCI-BZakpQwy.js +0 -61
  794. package/dist/assets/toDate-CgbKQM5E.js +0 -1
  795. package/dist/assets/toggle-CWS-iCmF.js +0 -1
  796. package/dist/assets/toml-D9QwsDZO.js +0 -1
  797. package/dist/assets/tooltip-DH6k_bBY.js +0 -1
  798. package/dist/assets/tracing-panel-DogOVTzf.js +0 -2
  799. package/dist/assets/tracing-zzjDz6Hy.js +0 -1
  800. package/dist/assets/trash-2-CyqGun26.js +0 -1
  801. package/dist/assets/trash-DMqDgJ5r.js +0 -1
  802. package/dist/assets/tree-DHpFOpHo.js +0 -3
  803. package/dist/assets/treemap-KMMF4GRG-Bf9yeA5X.js +0 -1
  804. package/dist/assets/triangle-alert-B65rDESJ.js +0 -1
  805. package/dist/assets/troff-DlwQJbfr.js +0 -1
  806. package/dist/assets/ttcn-DUvoO9Vo.js +0 -1
  807. package/dist/assets/ttcn-cfg-Cj-t-B3M.js +0 -1
  808. package/dist/assets/turtle-DzvxCIjc.js +0 -1
  809. package/dist/assets/types-CS34eOZi.js +0 -1
  810. package/dist/assets/types-CW-zyy80.js +0 -17
  811. package/dist/assets/use-toast-rmUWldD_.js +0 -1
  812. package/dist/assets/useAddCell-mkD8zurm.js +0 -1
  813. package/dist/assets/useAsyncData-BAVCkkQP.js +0 -1
  814. package/dist/assets/useBoolean-BjVFTMam.js +0 -1
  815. package/dist/assets/useCellActionButton-BZ46_Pdt.js +0 -1
  816. package/dist/assets/useDateFormatter-D89e9xZY.js +0 -1
  817. package/dist/assets/useDebounce-CU_caGaU.js +0 -1
  818. package/dist/assets/useDeepCompareMemoize-DiyglPgJ.js +0 -1
  819. package/dist/assets/useDeleteCell-B8CxYiji.js +0 -1
  820. package/dist/assets/useDependencyPanelTab-YtWR0xDK.js +0 -1
  821. package/dist/assets/useEvent-DO6uJBas.js +0 -1
  822. package/dist/assets/useEventListener-DIUKKfEy.js +0 -1
  823. package/dist/assets/useIframeCapabilities-DzIlROXe.js +0 -1
  824. package/dist/assets/useInstallPackage-C-gjrVjb.js +0 -1
  825. package/dist/assets/useInterval-y9MtYlSD.js +0 -1
  826. package/dist/assets/useLifecycle-D35CBukS.js +0 -1
  827. package/dist/assets/useNonce-_Aax6sXd.js +0 -56
  828. package/dist/assets/useNotebookActions-Dfh_7NPm.js +0 -1
  829. package/dist/assets/useNumberFormatter-CTkflual.js +0 -1
  830. package/dist/assets/usePress-CoEeT5jq.js +0 -7
  831. package/dist/assets/useRunCells-rjrIgU8v.js +0 -1
  832. package/dist/assets/useSplitCell-fcjSuBNO.js +0 -1
  833. package/dist/assets/useTheme-EGf2UOFo.js +0 -1
  834. package/dist/assets/utilities.esm-CkqwfzLw.js +0 -3
  835. package/dist/assets/utils-DXvhzCGS.js +0 -1
  836. package/dist/assets/vb-Caf126uo.js +0 -1
  837. package/dist/assets/vbscript-BgRl-LR8.js +0 -1
  838. package/dist/assets/vega-component-DAJbxD47.js +0 -1
  839. package/dist/assets/velocity-CpvfwasF.js +0 -1
  840. package/dist/assets/verilog-hsHogyKv.js +0 -1
  841. package/dist/assets/vhdl-FciHazR1.js +0 -1
  842. package/dist/assets/webidl-CqjZNx5V.js +0 -1
  843. package/dist/assets/worker-CUL1lW-N.js +0 -120
  844. package/dist/assets/workflow-CMjI9cxl.js +0 -1
  845. package/dist/assets/write-secret-modal-CgAvgY9w.js +0 -1
  846. package/dist/assets/x-CoXDX2vQ.js +0 -1
  847. package/dist/assets/xquery-DpTaL2IT.js +0 -1
  848. package/dist/assets/xychartDiagram-PRI3JC2R-CAHFvN1H.js +0 -7
  849. package/dist/assets/yacas-D6bbkHsk.js +0 -1
  850. package/dist/assets/youtube-8p26v8EM.js +0 -1
  851. package/dist/assets/z80-MlujNizn.js +0 -1
  852. package/dist/assets/zod-Cg4WLWh2.js +0 -40
  853. package/src/utils/__tests__/data-views.test.ts +0 -511
  854. package/src/utils/data-views.ts +0 -143
  855. /package/dist/assets/{apl-CpVTW0fY.js → apl-DHQPYmx2.js} +0 -0
  856. /package/dist/assets/{array-BKCdRGCR.js → array-Cf4PUXPA.js} +0 -0
  857. /package/dist/assets/{asciiarmor-qDK46YPd.js → asciiarmor-fnQAw8T8.js} +0 -0
  858. /package/dist/assets/{asn1-s2ZJql-T.js → asn1-5lb7I37s.js} +0 -0
  859. /package/dist/assets/{asterisk-Cy-53Fu-.js → asterisk-B04IJwAt.js} +0 -0
  860. /package/dist/assets/{brainfuck-5fD7ZBSv.js → brainfuck-D30bRgvC.js} +0 -0
  861. /package/dist/assets/{chunk-76Q3JFCE-B261Xkae.js → chunk-76Q3JFCE-BAZ3z-Fu.js} +0 -0
  862. /package/dist/assets/{chunk-FWNWRKHM-C0b0DIG0.js → chunk-FWNWRKHM-DzIkWreD.js} +0 -0
  863. /package/dist/assets/{chunk-LBM3YZW2-D3uTpSOd.js → chunk-LBM3YZW2-BRBe7ZaP.js} +0 -0
  864. /package/dist/assets/{chunk-LHMN2FUI-2FK1AIwU.js → chunk-LHMN2FUI-C4onQD9F.js} +0 -0
  865. /package/dist/assets/{chunk-O7ZBX7Z2-DoE29Zoe.js → chunk-O7ZBX7Z2-CFqB9i7k.js} +0 -0
  866. /package/dist/assets/{chunk-S6J4BHB3-Cvr0itXK.js → chunk-S6J4BHB3-C4KwSfr_.js} +0 -0
  867. /package/dist/assets/{chunk-T53DSG4Q-C7bPrBIt.js → chunk-T53DSG4Q-Bhd043Cg.js} +0 -0
  868. /package/dist/assets/{chunk-XAJISQIX-TwS9jXHm.js → chunk-XAJISQIX-0gvwv13B.js} +0 -0
  869. /package/dist/assets/{clike-D58k-9vu.js → clike-jZeb2kFn.js} +0 -0
  870. /package/dist/assets/{clojure-Dkfjc-Fr.js → clojure-C0pkR8m2.js} +0 -0
  871. /package/dist/assets/{cmake-ffkxaUPf.js → cmake-DlvFtk_M.js} +0 -0
  872. /package/dist/assets/{cobol-CKARYRbQ.js → cobol-C_yb45mr.js} +0 -0
  873. /package/dist/assets/{coffeescript-Dz_r13Pd.js → coffeescript-DBK0AeMT.js} +0 -0
  874. /package/dist/assets/{colors-CUF0x3zZ.js → colors-DUsH-HF1.js} +0 -0
  875. /package/dist/assets/{common-keywords-CU-S2Vqm.js → common-keywords-D6ImdZX8.js} +0 -0
  876. /package/dist/assets/{commonlisp-EavL1_-N.js → commonlisp-Bo8hOdn-.js} +0 -0
  877. /package/dist/assets/{crystal-BQ8grXRY.js → crystal-DYrQEMVi.js} +0 -0
  878. /package/dist/assets/{css-Bmqfl4iE.js → css-zh47N2UC.js} +0 -0
  879. /package/dist/assets/{cypher-BKXIqXpT.js → cypher-BWPAHm69.js} +0 -0
  880. /package/dist/assets/{cytoscape.esm-BihqZ2_-.js → cytoscape.esm-BauVghWH.js} +0 -0
  881. /package/dist/assets/{d-DRfFJaS4.js → d-CMuL95tt.js} +0 -0
  882. /package/dist/assets/{diff-BWk1g4qN.js → diff-oor_HZ51.js} +0 -0
  883. /package/dist/assets/{dist-qIIHXwC_.js → dist-B62Xo7-b.js} +0 -0
  884. /package/dist/assets/{dist-Bx6F_B1m.js → dist-B83wRp_v.js} +0 -0
  885. /package/dist/assets/{dist-DLCy1STk.js → dist-BZWmfQbq.js} +0 -0
  886. /package/dist/assets/{dist-OZngTf6n.js → dist-BpuNldXk.js} +0 -0
  887. /package/dist/assets/{dist-DxxvVPQH.js → dist-C1VXabOr.js} +0 -0
  888. /package/dist/assets/{dist-Bpsss9Eu.js → dist-C5H5qIvq.js} +0 -0
  889. /package/dist/assets/{dist-DsxhNXOv.js → dist-CF4gkF4y.js} +0 -0
  890. /package/dist/assets/{dist-rT8uZk_k.js → dist-CNW1zLeq.js} +0 -0
  891. /package/dist/assets/{dist-BYyu59D8.js → dist-CoCQUAeM.js} +0 -0
  892. /package/dist/assets/{dist-Dj9zNHXU.js → dist-CtrmRz20.js} +0 -0
  893. /package/dist/assets/{dist-BIKFl48f.js → dist-Dcqqg9UU.js} +0 -0
  894. /package/dist/assets/{dist-B0VqT_4z.js → dist-sMh6mJ2d.js} +0 -0
  895. /package/dist/assets/{dist-BZe-2kC9.js → dist-tLOz534J.js} +0 -0
  896. /package/dist/assets/{dtd-C1gvGnbI.js → dtd-Fe_Eikw6.js} +0 -0
  897. /package/dist/assets/{duckdb-keywords-CR9f4wu5.js → duckdb-keywords-5i8us9ML.js} +0 -0
  898. /package/dist/assets/{dylan-D26gjyBo.js → dylan-DjUZAjRK.js} +0 -0
  899. /package/dist/assets/{ebnf-BdwTqLUx.js → ebnf--2SLsnbd.js} +0 -0
  900. /package/dist/assets/{ecl-D_pghsRW.js → ecl-qgyT1LqI.js} +0 -0
  901. /package/dist/assets/{eiffel-CQeRT5l7.js → eiffel-Dgulx8rf.js} +0 -0
  902. /package/dist/assets/{elm-BMJejWwJ.js → elm-BvFY4GJb.js} +0 -0
  903. /package/dist/assets/{erlang-DTDt7sE1.js → erlang-Ba0XOLlj.js} +0 -0
  904. /package/dist/assets/{esm-DvGqZhsW.js → esm-vpVfqVb3.js} +0 -0
  905. /package/dist/assets/{fcl-BFWIADMy.js → fcl-CcJxrJDr.js} +0 -0
  906. /package/dist/assets/{forth-DLug1Uos.js → forth-gbBFxz8f.js} +0 -0
  907. /package/dist/assets/{fortran-CfPd9x83.js → fortran-CXijpPbh.js} +0 -0
  908. /package/dist/assets/{gas-C1vwqe1-.js → gas-CnHGSLCd.js} +0 -0
  909. /package/dist/assets/{gherkin-DxFhlJYL.js → gherkin-DfEZpSxY.js} +0 -0
  910. /package/dist/assets/{groovy-AqjvKzmp.js → groovy-9JiNA9gq.js} +0 -0
  911. /package/dist/assets/{haskell-B9BMJXS_.js → haskell-CKr_RZFK.js} +0 -0
  912. /package/dist/assets/{haxe-CFd4aFZH.js → haxe-DsAAHfaR.js} +0 -0
  913. /package/dist/assets/{http-CgzOAOXj.js → http-BBXW5Cu0.js} +0 -0
  914. /package/dist/assets/{icon-32x32-XIbzzdoo.js → icon-32x32-DH9kM4Sh.js} +0 -0
  915. /package/dist/assets/{idl-DKlFwAHI.js → idl-Djz72z1a.js} +0 -0
  916. /package/dist/assets/{init-DZpk0tdu.js → init-DRQmrFIb.js} +0 -0
  917. /package/dist/assets/{javascript-BMuus-3E.js → javascript-CsBr0q2-.js} +0 -0
  918. /package/dist/assets/{julia-DGv2rboF.js → julia-BCYfl68O.js} +0 -0
  919. /package/dist/assets/{livescript-51GCvdcX.js → livescript-BEw7FNJP.js} +0 -0
  920. /package/dist/assets/{lua-BwsAaftY.js → lua-DqxHXOsz.js} +0 -0
  921. /package/dist/assets/{math-PgJy15ir.js → math-BJjKGmt3.js} +0 -0
  922. /package/dist/assets/{mathematica-Du4amQ2X.js → mathematica-Do-octY0.js} +0 -0
  923. /package/dist/assets/{mbox-DKL-l6mb.js → mbox-VgrgGytk.js} +0 -0
  924. /package/dist/assets/{mirc-CvS1f8zr.js → mirc-DkD5mNIp.js} +0 -0
  925. /package/dist/assets/{mllike-VhUq11ot.js → mllike-C8Ah4kKN.js} +0 -0
  926. /package/dist/assets/{modelica-CjlHUZat.js → modelica-2q7w6nLE.js} +0 -0
  927. /package/dist/assets/{mscgen-26STiUsc.js → mscgen-BRqvO7u4.js} +0 -0
  928. /package/dist/assets/{mumps-4o8IRFVU.js → mumps-CjtiTT1a.js} +0 -0
  929. /package/dist/assets/{nginx-CFpObAqg.js → nginx-CiiHaY6Q.js} +0 -0
  930. /package/dist/assets/{node-sql-parser-UQ9Ur_LP.js → node-sql-parser-Bzh-sm1v.js} +0 -0
  931. /package/dist/assets/{ntriples-D0zMsGJ-.js → ntriples-4lauqsM6.js} +0 -0
  932. /package/dist/assets/{numbers-UHLm3mA-.js → numbers-D7O23mOZ.js} +0 -0
  933. /package/dist/assets/{octave-CpJ40RVG.js → octave-A2kFK0nR.js} +0 -0
  934. /package/dist/assets/{oz-W9l5CbXg.js → oz-CvXDMSbl.js} +0 -0
  935. /package/dist/assets/{pascal-BZtdYBm4.js → pascal-6Jinj26u.js} +0 -0
  936. /package/dist/assets/{path-dqkZlAhR.js → path-D7fidI_g.js} +0 -0
  937. /package/dist/assets/{paths-Dfii2bN8.js → paths-BzSgteR-.js} +0 -0
  938. /package/dist/assets/{perl-Q79ziUtd.js → perl-CXauYQdN.js} +0 -0
  939. /package/dist/assets/{pig-Dn9ueYxG.js → pig-Dl0QLQI6.js} +0 -0
  940. /package/dist/assets/{powershell-DfXPJ56g.js → powershell-6bdy_rHW.js} +0 -0
  941. /package/dist/assets/{preload-helper-DItdS47A.js → preload-helper-D2MJg03u.js} +0 -0
  942. /package/dist/assets/{properties-DRrw--9g.js → properties-p1rx3aF7.js} +0 -0
  943. /package/dist/assets/{protobuf-5jBh6Y7Q.js → protobuf-BZ6p9Xh_.js} +0 -0
  944. /package/dist/assets/{puppet-Bql5dDjm.js → puppet-CjdIRV7D.js} +0 -0
  945. /package/dist/assets/{python-C7HNB5A8.js → python-uzyJYIWU.js} +0 -0
  946. /package/dist/assets/{q-CW9lnZXb.js → q-CfD3i9uI.js} +0 -0
  947. /package/dist/assets/{r-DmuxMz9j.js → r-JyJdYHQB.js} +0 -0
  948. /package/dist/assets/{rpm-2BQZRXYJ.js → rpm-DuGPfDyX.js} +0 -0
  949. /package/dist/assets/{ruby-B-FyRKB2.js → ruby-CA1TzLxZ.js} +0 -0
  950. /package/dist/assets/{sas-Q-94el51.js → sas-BJPWZC7M.js} +0 -0
  951. /package/dist/assets/{scheme-By445Ne_.js → scheme-IRagAY3r.js} +0 -0
  952. /package/dist/assets/{session-fBtIbMpB.js → session-BOFn9QrD.js} +0 -0
  953. /package/dist/assets/{shell-CezKrT5T.js → shell-BVpF3W_J.js} +0 -0
  954. /package/dist/assets/{sieve-MRWdUbX3.js → sieve-BSfPMeZl.js} +0 -0
  955. /package/dist/assets/{simple-mode-BtxX-F6Z.js → simple-mode-BmS_AmGQ.js} +0 -0
  956. /package/dist/assets/{smalltalk-C0KZrhPl.js → smalltalk-CkHVehky.js} +0 -0
  957. /package/dist/assets/{solr-BkyoAXqg.js → solr-DYYuHZ7Q.js} +0 -0
  958. /package/dist/assets/{sparql-CIMoBhOL.js → sparql-CmKKjr-f.js} +0 -0
  959. /package/dist/assets/{spreadsheet-7FZkhkVo.js → spreadsheet-hVThRh5Z.js} +0 -0
  960. /package/dist/assets/{sql-BNnXxKXA.js → sql-DG1AJQLP.js} +0 -0
  961. /package/dist/assets/{src-CmKhyEBC.js → src-CsZby044.js} +0 -0
  962. /package/dist/assets/{stex-CtmkcLz7.js → stex-jWatZkll.js} +0 -0
  963. /package/dist/assets/{stylus-BxV1gbJN.js → stylus-D28PuRsm.js} +0 -0
  964. /package/dist/assets/{swift-C7ozIpB2.js → swift-D-jfpPuv.js} +0 -0
  965. /package/dist/assets/{tcl-D9BrnXdg.js → tcl-BrQdCDVA.js} +0 -0
  966. /package/dist/assets/{textile-8cDJUs1C.js → textile-DXBc8HMq.js} +0 -0
  967. /package/dist/assets/{tiddlywiki-DE5lnTl3.js → tiddlywiki-Dc8c_QaF.js} +0 -0
  968. /package/dist/assets/{tiki-Dt9oCY2i.js → tiki-CwGnGueS.js} +0 -0
  969. /package/dist/assets/{timer-DXL2Iyk5.js → timer-B6DpdVnC.js} +0 -0
  970. /package/dist/assets/{toml-Dtc3-sql.js → toml-ClSouHPE.js} +0 -0
  971. /package/dist/assets/{treemap-8bMgVaTX.js → treemap-CZF0Enj1.js} +0 -0
  972. /package/dist/assets/{troff-CxUT34rC.js → troff-BGDyQn9x.js} +0 -0
  973. /package/dist/assets/{ttcn-BiVwbsr5.js → ttcn-De1OdISX.js} +0 -0
  974. /package/dist/assets/{ttcn-cfg-BLBfLtVM.js → ttcn-cfg-CQMSrhCz.js} +0 -0
  975. /package/dist/assets/{turtle-DqTQI7WU.js → turtle-DNhfxysg.js} +0 -0
  976. /package/dist/assets/{types-DZmRsGZN.js → types-iYXk7c05.js} +0 -0
  977. /package/dist/assets/{uuid-DercMavo.js → uuid-DXdzqzcr.js} +0 -0
  978. /package/dist/assets/{vb-D-mN5USJ.js → vb-BX7-Md9G.js} +0 -0
  979. /package/dist/assets/{vbscript-BHlqX42l.js → vbscript-DNMzJOTU.js} +0 -0
  980. /package/dist/assets/{velocity-BX6395is.js → velocity-viirwPm7.js} +0 -0
  981. /package/dist/assets/{verilog-CixbCKyb.js → verilog-CZguTLBV.js} +0 -0
  982. /package/dist/assets/{vhdl-CofOR-02.js → vhdl-CAEhCBOl.js} +0 -0
  983. /package/dist/assets/{web-vitals-Br9feh_D.js → web-vitals-CUbDLLN1.js} +0 -0
  984. /package/dist/assets/{webidl-DAqkXtNt.js → webidl-BNJg_7gX.js} +0 -0
  985. /package/dist/assets/{ws-DQY2KwIl.js → ws-DcVtI9Wj.js} +0 -0
  986. /package/dist/assets/{xquery-wPbfv0-o.js → xquery-CGV_r322.js} +0 -0
  987. /package/dist/assets/{yacas-B5Zk1avC.js → yacas-uRzw7z7m.js} +0 -0
  988. /package/dist/assets/{z80-C0HuDTqd.js → z80-CBK8t-9T.js} +0 -0
@@ -0,0 +1,32 @@
1
+ /* Copyright 2026 Marimo. All rights reserved. */
2
+ import { z } from "zod";
3
+
4
+ const BufferPathSchema = z.array(z.array(z.union([z.string(), z.number()])));
5
+ const StateSchema = z.record(z.string(), z.any());
6
+
7
+ export const AnyWidgetMessageSchema = z.discriminatedUnion("method", [
8
+ z.object({
9
+ method: z.literal("open"),
10
+ state: StateSchema,
11
+ buffer_paths: BufferPathSchema.optional(),
12
+ }),
13
+ z.object({
14
+ method: z.literal("update"),
15
+ state: StateSchema,
16
+ buffer_paths: BufferPathSchema.optional(),
17
+ }),
18
+ z.object({
19
+ method: z.literal("custom"),
20
+ content: z.any(),
21
+ }),
22
+ z.object({
23
+ method: z.literal("echo_update"),
24
+ buffer_paths: BufferPathSchema,
25
+ state: StateSchema,
26
+ }),
27
+ z.object({
28
+ method: z.literal("close"),
29
+ }),
30
+ ]);
31
+
32
+ export type AnyWidgetMessage = z.infer<typeof AnyWidgetMessageSchema>;
@@ -0,0 +1,120 @@
1
+ /* Copyright 2026 Marimo. All rights reserved. */
2
+ import { get, set } from "lodash-es";
3
+ import { invariant } from "../../../utils/invariant";
4
+ import {
5
+ type Base64String,
6
+ base64ToDataView,
7
+ dataViewToBase64,
8
+ } from "../../../utils/json/base64";
9
+ import { Logger } from "../../../utils/Logger";
10
+ import type { WireFormat } from "./types";
11
+
12
+ type Path = (string | number)[];
13
+
14
+ /**
15
+ * Recursively find all DataViews in an object and return their paths.
16
+ *
17
+ * This mirrors ipywidgets' _separate_buffers logic.
18
+ */
19
+ function findDataViewPaths(obj: unknown, currentPath: Path = []): Path[] {
20
+ const paths: Path[] = [];
21
+
22
+ if (obj instanceof DataView) {
23
+ paths.push(currentPath);
24
+ } else if (Array.isArray(obj)) {
25
+ for (const [i, element] of obj.entries()) {
26
+ paths.push(...findDataViewPaths(element, [...currentPath, i]));
27
+ }
28
+ } else if (obj !== null && typeof obj === "object") {
29
+ for (const [key, value] of Object.entries(obj)) {
30
+ paths.push(...findDataViewPaths(value, [...currentPath, key]));
31
+ }
32
+ }
33
+
34
+ return paths;
35
+ }
36
+
37
+ /**
38
+ * Serialize DataView buffers to base64 strings.
39
+ *
40
+ * Finds all DataViews in the object.
41
+ */
42
+ export function serializeBuffersToBase64<T extends Record<string, unknown>>(
43
+ inputObject: T,
44
+ ): WireFormat<T> {
45
+ // Dynamically find all DataView paths instead of using fixed bufferPaths
46
+ const dataViewPaths = findDataViewPaths(inputObject);
47
+
48
+ if (dataViewPaths.length === 0) {
49
+ return { state: inputObject, buffers: [], bufferPaths: [] };
50
+ }
51
+
52
+ const state = structuredClone(inputObject);
53
+ const buffers: Base64String[] = [];
54
+ const bufferPaths: Path[] = [];
55
+
56
+ for (const bufferPath of dataViewPaths) {
57
+ const dataView = get(inputObject, bufferPath);
58
+ if (dataView instanceof DataView) {
59
+ const base64 = dataViewToBase64(dataView);
60
+ buffers.push(base64);
61
+ bufferPaths.push(bufferPath);
62
+ set(state, bufferPath, base64);
63
+ }
64
+ }
65
+
66
+ return { state, buffers, bufferPaths };
67
+ }
68
+
69
+ /**
70
+ * Decode wire format or insert DataViews at specified paths.
71
+ *
72
+ * Accepts either:
73
+ * 1. Wire format: { state, bufferPaths, buffers } where buffers are base64 strings
74
+ * 2. Direct format: { state, bufferPaths, buffers } where buffers are DataViews
75
+ *
76
+ * For ndarray-like structures {view: null, dtype, shape}, we insert the DataView
77
+ * at the 'view' key, preserving the structure for round-tripping.
78
+ */
79
+ export function decodeFromWire<T extends Record<string, unknown>>(input: {
80
+ state: T;
81
+ bufferPaths?: Path[];
82
+ buffers?: readonly (DataView | Base64String)[];
83
+ }): T {
84
+ const { state, bufferPaths, buffers } = input;
85
+
86
+ // If no buffer paths, return the original state
87
+ if (!bufferPaths || bufferPaths.length === 0) {
88
+ return state;
89
+ }
90
+
91
+ // If has buffers, assert they are the same size
92
+ if (buffers) {
93
+ invariant(
94
+ buffers.length === bufferPaths.length,
95
+ "Buffers and buffer paths not the same length",
96
+ );
97
+ }
98
+
99
+ // We should avoid using structuredClone if possible since
100
+ // it can be very slow. If mutability is a concern, we should use a different approach.
101
+ const out = state;
102
+
103
+ for (const [i, bufferPath] of bufferPaths.entries()) {
104
+ const buffer = buffers?.[i];
105
+
106
+ if (buffer == null) {
107
+ Logger.warn("[anywidget] Could not find buffer at path", bufferPath);
108
+ continue;
109
+ }
110
+
111
+ // Handle both base64 strings (from wire format) and DataViews (direct usage)
112
+ if (typeof buffer === "string") {
113
+ set(out, bufferPath, base64ToDataView(buffer));
114
+ } else {
115
+ set(out, bufferPath, buffer);
116
+ }
117
+ }
118
+
119
+ return out;
120
+ }
@@ -0,0 +1,27 @@
1
+ /* Copyright 2026 Marimo. All rights reserved. */
2
+ import type { Base64String } from "@/utils/json/base64";
3
+ import type { TypedString } from "@/utils/typed";
4
+
5
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
6
+ export type EventHandler = (...args: any[]) => void;
7
+
8
+ /**
9
+ * Type-safe widget model id.
10
+ */
11
+ export type WidgetModelId = TypedString<"WidgetModelId">;
12
+
13
+ /**
14
+ * AnyWidget model state with buffers.
15
+ */
16
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
17
+ export type ModelState = Record<string | number, any>;
18
+
19
+ /**
20
+ * Wire format for anywidget state with binary data.
21
+ * Buffers can be either base64 strings (from network) or DataViews (in-memory).
22
+ */
23
+ export interface WireFormat<T = Record<string, unknown>> {
24
+ state: T;
25
+ bufferPaths: (string | number)[][];
26
+ buffers: Base64String[];
27
+ }
@@ -16,12 +16,13 @@ import {
16
16
  HelpCircleIcon,
17
17
  PaperclipIcon,
18
18
  RotateCwIcon,
19
- SendIcon,
19
+ SendHorizontalIcon,
20
20
  SettingsIcon,
21
21
  Trash2Icon,
22
22
  X,
23
23
  } from "lucide-react";
24
24
  import React, { useEffect, useRef, useState } from "react";
25
+ import { z } from "zod";
25
26
  import { renderUIMessage } from "@/components/chat/chat-display";
26
27
  import { convertToFileUIPart } from "@/components/chat/chat-utils";
27
28
  import {
@@ -71,6 +72,16 @@ interface Props extends PluginFunctions {
71
72
  host: HTMLElement;
72
73
  }
73
74
 
75
+ const ChatMessageIncomingSchema = z.object({
76
+ type: z.literal("stream_chunk"),
77
+ message_id: z.string(),
78
+ content: z
79
+ .any()
80
+ .nullable()
81
+ .transform((val) => val as UIMessageChunk | null),
82
+ is_final: z.boolean().optional(),
83
+ });
84
+
74
85
  export const Chatbot: React.FC<Props> = (props) => {
75
86
  const [input, setInput] = useState("");
76
87
  const [config, setConfig] = useState<ChatConfig>(props.config);
@@ -252,15 +263,13 @@ export const Chatbot: React.FC<Props> = (props) => {
252
263
  props.host as HTMLElementNotDerivedFromRef,
253
264
  MarimoIncomingMessageEvent.TYPE,
254
265
  (e) => {
255
- const message = e.detail.message;
256
- if (
257
- typeof message !== "object" ||
258
- message === null ||
259
- !("type" in message) ||
260
- message.type !== "stream_chunk"
261
- ) {
266
+ const parsedMessage = ChatMessageIncomingSchema.safeParse(
267
+ e.detail.message,
268
+ );
269
+ if (!parsedMessage.success) {
262
270
  return;
263
271
  }
272
+ const message = parsedMessage.data;
264
273
 
265
274
  // Push to the stream for useChat to process
266
275
  const controller = frontendStreamControllerRef.current;
@@ -268,17 +277,10 @@ export const Chatbot: React.FC<Props> = (props) => {
268
277
  return;
269
278
  }
270
279
 
271
- const frontendMessage = message as {
272
- type: string;
273
- message_id: string;
274
- content?: UIMessageChunk;
275
- is_final?: boolean;
276
- };
277
-
278
- if (frontendMessage.content) {
279
- controller.enqueue(frontendMessage.content);
280
+ if (message.content) {
281
+ controller.enqueue(message.content);
280
282
  }
281
- if (frontendMessage.is_final) {
283
+ if (message.is_final) {
282
284
  controller.close();
283
285
  frontendStreamControllerRef.current = null;
284
286
  }
@@ -559,10 +561,10 @@ export const Chatbot: React.FC<Props> = (props) => {
559
561
  type="submit"
560
562
  disabled={isLoading || !input}
561
563
  variant="outline"
562
- size="sm"
564
+ size="xs"
563
565
  className="text-(--slate-11)"
564
566
  >
565
- <SendIcon className="h-5 w-5" />
567
+ <SendHorizontalIcon className="h-4 w-4" />
566
568
  </Button>
567
569
  </form>
568
570
  </div>
@@ -1,9 +1,17 @@
1
1
  /* Copyright 2026 Marimo. All rights reserved. */
2
+
3
+ /**
4
+ * A deferred promise that can be resolved or rejected externally.
5
+ *
6
+ * Provides synchronous access to status and resolved value, useful for
7
+ * cases where you need to check if a promise has settled without awaiting it.
8
+ */
2
9
  export class Deferred<T> {
3
10
  promise: Promise<T>;
4
11
  resolve!: (value: T | PromiseLike<T>) => void;
5
12
  reject!: (reason?: unknown) => void;
6
13
  status: "pending" | "resolved" | "rejected" = "pending";
14
+ value: T | undefined = undefined;
7
15
 
8
16
  constructor() {
9
17
  this.promise = new Promise<T>((resolve, reject) => {
@@ -13,8 +21,21 @@ export class Deferred<T> {
13
21
  };
14
22
  this.resolve = (value) => {
15
23
  this.status = "resolved";
24
+ // Store the value for synchronous access
25
+ if (!isPromiseLike(value)) {
26
+ this.value = value;
27
+ }
16
28
  resolve(value);
17
29
  };
18
30
  });
19
31
  }
20
32
  }
33
+
34
+ function isPromiseLike(value: unknown): value is PromiseLike<unknown> {
35
+ return (
36
+ typeof value === "object" &&
37
+ value !== null &&
38
+ "then" in value &&
39
+ typeof value.then === "function"
40
+ );
41
+ }
@@ -20,7 +20,7 @@ describe("Blob serialization and deserialization", () => {
20
20
 
21
21
  test("deserializeBlob should deserialize a base64 string to a Blob", async () => {
22
22
  const serialized = await serializeBlob(testBlob);
23
- const deserialized = await deserializeBlob(serialized);
23
+ const deserialized = deserializeBlob(serialized);
24
24
  expect(deserialized).toBeDefined();
25
25
  expect(deserialized.size).toBe(testBlob.size);
26
26
  expect(deserialized.type).toBe(testBlob.type);
@@ -28,7 +28,7 @@ describe("Blob serialization and deserialization", () => {
28
28
 
29
29
  test("deserialized Blob should contain the original content", async () => {
30
30
  const serialized = await serializeBlob(testBlob);
31
- const deserialized = await deserializeBlob(serialized);
31
+ const deserialized = deserializeBlob(serialized);
32
32
  const reader = new FileReader();
33
33
  // eslint-disable-next-line unicorn/prefer-blob-reading-methods
34
34
  reader.readAsText(deserialized);
@@ -45,7 +45,7 @@ describe("Blob serialization and deserialization", () => {
45
45
  type: "image/png",
46
46
  });
47
47
  const serialized = await serializeBlob(imageBlob);
48
- const deserialized = await deserializeBlob(serialized);
48
+ const deserialized = deserializeBlob(serialized);
49
49
  expect(deserialized).toBeDefined();
50
50
  expect(deserialized.size).toBe(imageBlob.size);
51
51
  expect(deserialized.type).toBe(imageBlob.type);
@@ -214,16 +214,19 @@ describe("CollapsibleTree", () => {
214
214
  `);
215
215
  });
216
216
 
217
- it("fails to expand", () => {
217
+ it("fails to expand when node not found", () => {
218
218
  expect(() => tree.expand("five")).toThrowErrorMatchingInlineSnapshot(
219
219
  "[Error: Node five not found in tree. Valid ids: one,two,three,four]",
220
220
  );
221
- expect(() => {
222
- tree.expand("one");
223
- tree.expand("one");
224
- }).toThrowErrorMatchingInlineSnapshot(
225
- "[Error: Node one is already expanded]",
226
- );
221
+ });
222
+
223
+ it("expand on already expanded node is a no-op", () => {
224
+ // Expanding an already expanded node should return the same tree (no-op)
225
+ const result = tree.expand("one");
226
+ expect(result).toBe(tree);
227
+ // Can call multiple times without error
228
+ const result2 = tree.expand("one");
229
+ expect(result2).toBe(tree);
227
230
  });
228
231
 
229
232
  it("moves nodes correctly", () => {
@@ -378,6 +381,18 @@ describe("CollapsibleTree", () => {
378
381
  `);
379
382
  });
380
383
 
384
+ it("can delete non-collapsed nodes without throwing", () => {
385
+ // Deleting a non-collapsed node should not throw
386
+ // (previously this would throw "Node is already expanded" internally)
387
+ const result = tree.deleteAtIndex(1);
388
+ expect(result.toString()).toMatchInlineSnapshot(`
389
+ "one
390
+ three
391
+ four
392
+ "
393
+ `);
394
+ });
395
+
381
396
  it("fails to delete nodes", () => {
382
397
  expect(() => tree.deleteAtIndex(5)).toThrowErrorMatchingInlineSnapshot(
383
398
  "[Error: Node at index 5 not found in tree]",
@@ -132,7 +132,7 @@ describe("mime-types", () => {
132
132
 
133
133
  describe("sortByPrecedence", () => {
134
134
  it("should sort entries by precedence order", () => {
135
- const entries: Array<[MimeType, string]> = [
135
+ const entries: [MimeType, string][] = [
136
136
  ["text/plain", "plain"],
137
137
  ["text/html", "html"],
138
138
  ["image/png", "png"],
@@ -151,7 +151,7 @@ describe("mime-types", () => {
151
151
  });
152
152
 
153
153
  it("should place unknown mime types at the end", () => {
154
- const entries: Array<[MimeType, string]> = [
154
+ const entries: [MimeType, string][] = [
155
155
  ["text/plain", "plain"],
156
156
  ["text/html", "html"],
157
157
  ["application/json", "json"],
@@ -173,7 +173,7 @@ describe("mime-types", () => {
173
173
  });
174
174
 
175
175
  it("should handle empty precedence", () => {
176
- const entries: Array<[MimeType, string]> = [
176
+ const entries: [MimeType, string][] = [
177
177
  ["text/plain", "plain"],
178
178
  ["text/html", "html"],
179
179
  ];
@@ -184,7 +184,7 @@ describe("mime-types", () => {
184
184
  });
185
185
 
186
186
  it("should not mutate original array", () => {
187
- const entries: Array<[MimeType, string]> = [
187
+ const entries: [MimeType, string][] = [
188
188
  ["text/plain", "plain"],
189
189
  ["text/html", "html"],
190
190
  ];
@@ -198,7 +198,7 @@ describe("mime-types", () => {
198
198
 
199
199
  describe("processMimeBundle", () => {
200
200
  it("should filter and sort mime entries", () => {
201
- const entries: Array<[MimeType, string]> = [
201
+ const entries: [MimeType, string][] = [
202
202
  ["text/plain", "plain"],
203
203
  ["text/html", "html"],
204
204
  ["image/png", "png"],
@@ -226,7 +226,7 @@ describe("mime-types", () => {
226
226
  });
227
227
 
228
228
  it("should use default config when not provided", () => {
229
- const entries: Array<[MimeType, string]> = [
229
+ const entries: [MimeType, string][] = [
230
230
  ["text/html", "html"],
231
231
  ["image/png", "png"],
232
232
  ["text/markdown", "md"],
@@ -240,9 +240,7 @@ describe("mime-types", () => {
240
240
 
241
241
  it("should preserve data associated with mime types", () => {
242
242
  const htmlData = { content: "<h1>Hello</h1>" };
243
- const entries: Array<[MimeType, typeof htmlData]> = [
244
- ["text/html", htmlData],
245
- ];
243
+ const entries: [MimeType, typeof htmlData][] = [["text/html", htmlData]];
246
244
 
247
245
  const result = processMimeBundle(entries);
248
246
 
@@ -250,7 +248,7 @@ describe("mime-types", () => {
250
248
  });
251
249
 
252
250
  it("should sort by precedence after filtering", () => {
253
- const entries: Array<[MimeType, string]> = [
251
+ const entries: [MimeType, string][] = [
254
252
  ["text/plain", "plain"],
255
253
  ["text/markdown", "md"],
256
254
  ["text/html", "html"],
@@ -76,4 +76,26 @@ describe("parseContent", () => {
76
76
  url: "https://avatars.githubusercontent.com/u/123",
77
77
  });
78
78
  });
79
+
80
+ it("preserves newlines between URLs", () => {
81
+ const parts = parseContent("https://marimo.io\nhttps://github.com\n");
82
+ expect(parts).toEqual([
83
+ { type: "url", url: "https://marimo.io" },
84
+ { type: "text", value: "\n" },
85
+ { type: "url", url: "https://github.com" },
86
+ { type: "text", value: "\n" },
87
+ ]);
88
+ });
89
+
90
+ it("preserves whitespace in mixed content", () => {
91
+ const parts = parseContent(
92
+ "Line 1: https://marimo.io\nLine 2: https://github.com",
93
+ );
94
+ expect(parts).toEqual([
95
+ { type: "text", value: "Line 1: " },
96
+ { type: "url", url: "https://marimo.io" },
97
+ { type: "text", value: "\nLine 2: " },
98
+ { type: "url", url: "https://github.com" },
99
+ ]);
100
+ });
79
101
  });
package/src/utils/blob.ts CHANGED
@@ -14,32 +14,19 @@ export function serializeBlob<T>(blob: Blob): Promise<DataURLString> {
14
14
  });
15
15
  }
16
16
 
17
- export function deserializeBlob(serializedBlob: DataURLString): Promise<Blob> {
18
- return new Promise((resolve, reject) => {
19
- try {
20
- // Extract the base64 data from the data URL
21
- const [prefix, base64Data] = serializedBlob.split(",", 2);
22
- const mimeType = /^data:(.+);base64$/.exec(prefix)?.[1];
23
- // Decode the base64 string
24
- const binaryString = atob(base64Data);
25
- // Convert the binary string to an array buffer
26
- const len = binaryString.length;
27
- const bytes = new Uint8Array(len);
28
- for (let i = 0; i < len; i++) {
29
- bytes[i] = binaryString.charCodeAt(i);
30
- }
31
- // Create a new Blob from the array buffer
32
- const blob = new Blob([bytes], { type: mimeType });
33
- resolve(blob);
34
- } catch (error) {
35
- reject(ensureError(error));
36
- }
37
- });
38
- }
39
-
40
- function ensureError(error: unknown): Error {
41
- if (error instanceof Error) {
42
- return error;
17
+ export function deserializeBlob(serializedBlob: DataURLString): Blob {
18
+ // Extract the base64 data from the data URL
19
+ const [prefix, base64Data] = serializedBlob.split(",", 2);
20
+ const mimeType = /^data:(.+);base64$/.exec(prefix)?.[1];
21
+ // Decode the base64 string
22
+ const binaryString = atob(base64Data);
23
+ // Convert the binary string to an array buffer
24
+ const len = binaryString.length;
25
+ const bytes = new Uint8Array(len);
26
+ for (let i = 0; i < len; i++) {
27
+ bytes[i] = binaryString.charCodeAt(i);
43
28
  }
44
- return new Error(`${error}`);
29
+ // Create a new Blob from the array buffer
30
+ const blob = new Blob([bytes], { type: mimeType });
31
+ return blob;
45
32
  }
@@ -360,7 +360,8 @@ export class CollapsibleTree<T> {
360
360
  }
361
361
 
362
362
  /**
363
- * Expand a node and all of its children
363
+ * Expand a node and all of its children.
364
+ * If the node is already expanded, returns the same tree (no-op).
364
365
  */
365
366
  expand(id: T): CollapsibleTree<T> {
366
367
  const nodeIndex = this.nodes.findIndex((n) => n.value === id);
@@ -373,7 +374,8 @@ export class CollapsibleTree<T> {
373
374
  let nodes = [...this.nodes];
374
375
  const node = nodes[nodeIndex];
375
376
  if (!node.isCollapsed) {
376
- throw new Error(`Node ${id} is already expanded`);
377
+ // Already expanded, no-op
378
+ return this;
377
379
  }
378
380
 
379
381
  nodes[nodeIndex] = new TreeNode(node.value, false, []);
@@ -495,13 +497,9 @@ export class CollapsibleTree<T> {
495
497
  */
496
498
  deleteAtIndex(idx: number): CollapsibleTree<T> {
497
499
  const id = this.atOrThrow(idx);
498
- let tree = this.withNodes(this.nodes);
499
- try {
500
- tree = tree.expand(id);
501
- } catch {
502
- // Don't care if its not expanded
503
- }
504
- return this.withNodes(arrayDelete(tree.nodes, idx));
500
+ // Expand the node first (if collapsed) to bring children back to top level
501
+ const tree = this.expand(id);
502
+ return tree.withNodes(arrayDelete(tree.nodes, idx));
505
503
  }
506
504
 
507
505
  delete(id: T): CollapsibleTree<T> {
@@ -524,16 +522,10 @@ export class CollapsibleTree<T> {
524
522
  if (found.length === 0) {
525
523
  return this;
526
524
  }
527
- let result = this.withNodes(this.nodes);
528
- for (const node of found) {
529
- try {
530
- result = result.expand(node);
531
- } catch {
532
- // Don't care if its the last node and its not expanded
533
- }
534
- }
535
-
536
- return result;
525
+ return found.reduce<CollapsibleTree<T>>(
526
+ (acc, node) => acc.expand(node),
527
+ this,
528
+ );
537
529
  }
538
530
 
539
531
  /**
@@ -52,13 +52,27 @@ export function extractBase64FromDataURL(str: DataURLString): Base64String {
52
52
  }
53
53
 
54
54
  /**
55
- * Convert a base64 string to a Uint8Array.
55
+ * Convert a base64 string to a Uint8Array (fallback implementation).
56
+ * See benchmarks/base64-conversion.bench.ts for why we use a manual loop.
56
57
  */
57
- export function base64ToUint8Array(bytes: Base64String): Uint8Array {
58
- const binary = window.atob(bytes);
59
- return Uint8Array.from(binary, (c) => c.charCodeAt(0));
58
+ function base64ToUint8ArrayFallback(bytes: string): Uint8Array {
59
+ const binary = globalThis.atob(bytes);
60
+ const len = binary.length;
61
+ const uint8Array = new Uint8Array(len);
62
+ for (let i = 0; i < len; i++) {
63
+ uint8Array[i] = binary.charCodeAt(i);
64
+ }
65
+ return uint8Array;
60
66
  }
61
67
 
68
+ /**
69
+ * Convert a base64 string to a Uint8Array.
70
+ * Uses native Uint8Array.fromBase64 if available, otherwise falls back to manual implementation.
71
+ */
72
+ export const base64ToUint8Array: (bytes: Base64String) => Uint8Array =
73
+ // @ts-expect-error - Uint8Array.fromBase64 types coming in TypeScript 5.10+
74
+ Uint8Array.fromBase64 ?? base64ToUint8ArrayFallback;
75
+
62
76
  /**
63
77
  * Convert a base64 string to a DataView.
64
78
  */
@@ -68,13 +82,29 @@ export function base64ToDataView(bytes: Base64String): DataView {
68
82
  }
69
83
 
70
84
  /**
71
- * Convert a Uint8Array to a base64 string.
85
+ * Convert a Uint8Array to a base64 string (fallback implementation).
86
+ * See benchmarks/uint8array-to-base64.bench.ts for why we use a manual loop.
72
87
  */
73
- export function uint8ArrayToBase64(binary: Uint8Array): Base64String {
74
- const chars = Array.from(binary, (byte) => String.fromCharCode(byte));
75
- return window.btoa(chars.join("")) as Base64String;
88
+ function uint8ArrayToBase64Fallback(binary: Uint8Array): Base64String {
89
+ let binaryString = "";
90
+ const len = binary.length;
91
+ for (let i = 0; i < len; i++) {
92
+ binaryString += String.fromCharCode(binary[i]);
93
+ }
94
+ return globalThis.btoa(binaryString) as Base64String;
76
95
  }
77
96
 
97
+ /**
98
+ * Convert a Uint8Array to a base64 string.
99
+ * Uses native Uint8Array.prototype.toBase64 if available, otherwise falls back to manual implementation.
100
+ */
101
+ export const uint8ArrayToBase64: (binary: Uint8Array) => Base64String =
102
+ // @ts-expect-error - Uint8Array.prototype.toBase64 types coming in TypeScript 5.10+
103
+ Uint8Array.prototype.toBase64
104
+ ? // @ts-expect-error - Uint8Array.prototype.toBase64 types coming in TypeScript 5.10+
105
+ (binary) => binary.toBase64()
106
+ : uint8ArrayToBase64Fallback;
107
+
78
108
  /**
79
109
  * Convert a DataView to a base64 string.
80
110
  */