@marimo-team/islands 0.21.2-dev8 → 0.21.2-dev80

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 (664) hide show
  1. package/dist/{Combination-BBPQRrDo.js → Combination-B_FmEi05.js} +3 -3
  2. package/dist/{ConnectedDataExplorerComponent-D0GoOd_c.js → ConnectedDataExplorerComponent-CLLlotD4.js} +30 -29
  3. package/dist/{ImageComparisonComponent-BYQfAfSR.js → ImageComparisonComponent-BC00mJmw.js} +1 -1
  4. package/dist/{Plot-DfUav0o0.js → Plot-B1ahrLui.js} +1 -1
  5. package/dist/{_baseIsEqual-CvgsjYoW.js → _baseIsEqual-QWfxbVqg.js} +1 -1
  6. package/dist/_basePickBy-Do49cXgl.js +34 -0
  7. package/dist/{_baseUniq-BUFhl85h.js → _baseUniq-vFmWNipH.js} +1 -1
  8. package/dist/{any-language-editor-DlsjUw_l.js → any-language-editor-BBegsg-m.js} +22 -21
  9. package/dist/apl-e1B5LPEL.js +4 -0
  10. package/dist/{arc-DXxE-tFl.js → arc-CHF8PiiF.js} +2 -2
  11. package/dist/architecture-7HQA4BMR-KeUc82D1.js +6 -0
  12. package/dist/{architectureDiagram-VXUJARFQ-Df0FNeBR.js → architectureDiagram-VXUJARFQ-CIl7H_7A.js} +19 -19
  13. package/dist/asciiarmor-B-gwgesP.js +4 -0
  14. package/dist/asn1-DF2ckRB4.js +4 -0
  15. package/dist/{blockDiagram-VD42YOAC-DszWqlLz.js → blockDiagram-VD42YOAC-Bxg4bo7H.js} +14 -14
  16. package/dist/brainfuck-4G-7_gq_.js +4 -0
  17. package/dist/{button-BKkuUpZh.js → button-B1ZgJ7Cc.js} +2 -2
  18. package/dist/{c4Diagram-YG6GDRKO-Dyj8LoUX.js → c4Diagram-YG6GDRKO-k4TEDUb8.js} +6 -6
  19. package/dist/capabilities-DAGZLwa6.js +36 -0
  20. package/dist/{channel-CUFaIkTh.js → channel-CCR8wXOx.js} +1 -1
  21. package/dist/chat-ui-Dbn0M4Oo.js +7295 -0
  22. package/dist/{check-Diwc5emq.js → check-B2OoWw2h.js} +1 -1
  23. package/dist/{chunk-4BX2VUAB-CwMMQLZ_.js → chunk-4BX2VUAB-BwfrWBqN.js} +1 -1
  24. package/dist/{chunk-4F5CHEZ2-CRwwZ2ED.js → chunk-4F5CHEZ2-BigWQaTs.js} +1 -1
  25. package/dist/{chunk-55IACEB6-Dj8CzJvE.js → chunk-55IACEB6-D8THf2mi.js} +1 -1
  26. package/dist/{chunk-5FQGJX7Z-BkzUmppO.js → chunk-5FQGJX7Z-Cz2QbNIw.js} +1504 -2846
  27. package/dist/{chunk-ABZYJK2D-7QYXAAhe.js → chunk-ABZYJK2D-NPoevJcI.js} +3 -3
  28. package/dist/{chunk-ATLVNIR6-pmHPAPSd.js → chunk-ATLVNIR6-DAhC1FCG.js} +2 -2
  29. package/dist/{chunk-B2363JML-BuBMltZc.js → chunk-B2363JML-DOYwB798.js} +1 -1
  30. package/dist/{chunk-B4BG7PRW-Dbta9cTX.js → chunk-B4BG7PRW-BDmytgmO.js} +7 -7
  31. package/dist/{chunk-CVBHYZKI-D8iwHsLF.js → chunk-CVBHYZKI-B6xhgaBd.js} +1 -1
  32. package/dist/{chunk-DI55MBZ5-DyKB35wC.js → chunk-DI55MBZ5-C6iNEV8U.js} +6 -6
  33. package/dist/{chunk-EXTU4WIE-BRFl4iNd.js → chunk-EXTU4WIE-BtA6WdD4.js} +2 -2
  34. package/dist/{chunk-FMBD7UC4-XTL4xAvH.js → chunk-FMBD7UC4-CHdus51S.js} +1 -1
  35. package/dist/{chunk-FRFDVMJY-Bk2LD5Te.js → chunk-FRFDVMJY-Bo7Hv3UF.js} +1 -1
  36. package/dist/{chunk-HN2XXSSU-CzO5Phf0.js → chunk-HN2XXSSU-2Vfbq-kU.js} +1 -1
  37. package/dist/{chunk-JA3XYJ7Z-BkrY9SdL.js → chunk-JA3XYJ7Z-BeXqAsc9.js} +3 -3
  38. package/dist/{chunk-JZLCHNYA-Bk_Lil-q.js → chunk-JZLCHNYA-ibE7xTEx.js} +6 -6
  39. package/dist/{chunk-MI3HLSF2-DvCKDmpi.js → chunk-MI3HLSF2-Do0-KRc0.js} +1 -1
  40. package/dist/{chunk-N4CR4FBY-f5n6meOd.js → chunk-N4CR4FBY-CHAcubAf.js} +7 -7
  41. package/dist/{chunk-PL6DKKU2-DiFkzMfM.js → chunk-PL6DKKU2-D3wYz-iW.js} +1 -1
  42. package/dist/{chunk-QN33PNHL-CXfJywHv.js → chunk-QN33PNHL-CDWJY_kT.js} +2 -2
  43. package/dist/{chunk-QXUST7PY-D7-26sj3.js → chunk-QXUST7PY-CV37xRZd.js} +10 -10
  44. package/dist/{chunk-QZHKN3VN-CYbwZKgJ.js → chunk-QZHKN3VN-B_Mdb8GC.js} +1 -1
  45. package/dist/{chunk-S3R3BYOJ-BRT9vd1R.js → chunk-S3R3BYOJ-CGlk8NH-.js} +6 -6
  46. package/dist/{chunk-SJTYNZTY-BvVkbShU.js → chunk-SJTYNZTY-Bauwp2-p.js} +1 -1
  47. package/dist/{chunk-TCCFYFTB-DqxhgXG0.js → chunk-TCCFYFTB-C5_FjmXA.js} +15 -14
  48. package/dist/{chunk-TQ3KTPDO-CPkEruAA.js → chunk-TQ3KTPDO-TjHW8xfv.js} +1 -1
  49. package/dist/{chunk-TZMSLE5B-DSfBOnzx.js → chunk-TZMSLE5B-DfY6C3FB.js} +3 -3
  50. package/dist/{chunk-UMXZTB3W-C4ypIY3V.js → chunk-UMXZTB3W-DdRiIIOF.js} +1 -1
  51. package/dist/classDiagram-2ON5EDUG-DbWOiPgs.js +30 -0
  52. package/dist/classDiagram-v2-WZHVMYZB-COnXBrRA.js +30 -0
  53. package/dist/{clike-CLJYUAWw.js → clike-7lgyEYRk.js} +1 -1
  54. package/dist/clojure-CUybM11R.js +4 -0
  55. package/dist/{clone-CEQ-pda1.js → clone-BM9_Wkaf.js} +1 -1
  56. package/dist/cmake-BPjGcuDL.js +4 -0
  57. package/dist/cobol-BETk_nb6.js +4 -0
  58. package/dist/{code-block-37QAKDTI-DV_ZyoUh.js → code-block-37QAKDTI-DW3JC11U.js} +2 -2
  59. package/dist/coffeescript-CManZxXL.js +4 -0
  60. package/dist/commonlisp-DWkn7GW8.js +4 -0
  61. package/dist/{constants-CytQ_3LM.js → constants-LmeAawHa.js} +3 -3
  62. package/dist/{copy-DIK6DiIA.js → copy-B7XqFjF_.js} +14 -4
  63. package/dist/{cose-bilkent-S5V4N54A-BCDTZDay.js → cose-bilkent-S5V4N54A-DXHZkJKX.js} +2 -2
  64. package/dist/crystal-CCbg5EUH.js +4 -0
  65. package/dist/css-By8eo-XS.js +4 -0
  66. package/dist/cypher-DwfHg3nP.js +4 -0
  67. package/dist/d-Brs1wNbw.js +4 -0
  68. package/dist/{dagre-6UL2VRFP-DGEbtmgU.js → dagre-6UL2VRFP-B8UW0fXE.js} +16 -16
  69. package/dist/{dagre-BVnNvbvD.js → dagre-B3-rUlCT.js} +14 -14
  70. package/dist/{data-grid-overlay-editor-BD0BFHzy.js → data-grid-overlay-editor-CpL5Zajy.js} +3 -3
  71. package/dist/{diagram-PSM6KHXK-CG_usglE.js → diagram-PSM6KHXK-DGD-j1bM.js} +22 -22
  72. package/dist/{diagram-QEK2KX5R-CtGFEwzJ.js → diagram-QEK2KX5R-DgsT6ZW4.js} +17 -17
  73. package/dist/{diagram-S2PKOQOG-ClKAGmbv.js → diagram-S2PKOQOG-CDh5Ij8z.js} +17 -17
  74. package/dist/diff-DJIRmJ1g.js +4 -0
  75. package/dist/{dist-DEj2X26M.js → dist-1-E4bC9V.js} +2 -2
  76. package/dist/{dist-RNGn_-uD.js → dist-APyhcmvq.js} +1 -1
  77. package/dist/{dist-i-ud9aCA.js → dist-B5thW2rT.js} +1 -1
  78. package/dist/{dist-BpMlUdNO.js → dist-BFe8Nc_2.js} +3 -3
  79. package/dist/dist-BHGf2Zey.js +5 -0
  80. package/dist/dist-BImOGJZM.js +5 -0
  81. package/dist/{dist-lNe4i1Nm.js → dist-BJvk9DSp.js} +1 -1
  82. package/dist/{dist-DUretbKK.js → dist-BLrc9iNb.js} +2 -2
  83. package/dist/{dist-CSEWGuDq.js → dist-BYr4a-wE.js} +1 -1
  84. package/dist/dist-BbJfmCHJ.js +5 -0
  85. package/dist/{dist-C0Rnbr-_.js → dist-BiNtCiQ9.js} +4 -4
  86. package/dist/{dist-D4gcY469.js → dist-BrJQDkv_.js} +2 -2
  87. package/dist/dist-C0v-nFs_.js +8 -0
  88. package/dist/{dist-C4K7pumm.js → dist-C16JG-Ok.js} +2 -2
  89. package/dist/dist-C8N7114Z.js +5 -0
  90. package/dist/dist-C9TDg2aq.js +8 -0
  91. package/dist/{dist-gc9KgJuA.js → dist-CGH6Jw-c.js} +1 -1
  92. package/dist/{dist-BSfYc7vq.js → dist-CKVkWFcB.js} +2 -2
  93. package/dist/dist-CN4RKgNR.js +5 -0
  94. package/dist/{dist-DodLQWPg.js → dist-CQ3XmGIH.js} +1 -1
  95. package/dist/{dist-BGZ7TWS9.js → dist-CSiTW5NO.js} +3 -3
  96. package/dist/dist-CVOkf_3P.js +6 -0
  97. package/dist/{dist-CAKwXCWI.js → dist-CYuoqvce.js} +2 -2
  98. package/dist/dist-Cbkga3s5.js +5 -0
  99. package/dist/{dist-Ux6dL_VB.js → dist-Cm4SOB1A.js} +1 -1
  100. package/dist/dist-CwEBZkrQ.js +550 -0
  101. package/dist/{dist-D_-CGmlh.js → dist-CxczluAk.js} +2 -2
  102. package/dist/dist-D6YTv0Kj.js +5 -0
  103. package/dist/{dist-Bq5eYK43.js → dist-D75XqRaT.js} +2 -2
  104. package/dist/dist-D9vawryf.js +8 -0
  105. package/dist/{dist-CseYuPtL.js → dist-DFBjYgbq.js} +2 -2
  106. package/dist/{dist-Bq9zYwJs.js → dist-DUg5n_x5.js} +5 -5
  107. package/dist/dist-DasJgTvL.js +6 -0
  108. package/dist/{dist-D5NMgbbv.js → dist-DbyoYfBn.js} +2 -2
  109. package/dist/{dist-CPlGUbk-.js → dist-Dd9vDQtp.js} +2 -2
  110. package/dist/{dist-Cl5iM8xL.js → dist-Dk13KZ54.js} +3 -3
  111. package/dist/{dist-COpDrwi-.js → dist-Dl9_0tkc.js} +1 -1
  112. package/dist/dist-Ui51qXMz.js +8 -0
  113. package/dist/{dist-BFxYppVR.js → dist-XYBhoeSX.js} +4 -4
  114. package/dist/{dist-DERtJN02.js → dist-Y9GfSR6_.js} +2 -2
  115. package/dist/{dist-B9EjSb9T.js → dist-aW74oyUt.js} +1 -1
  116. package/dist/dist-d2msfN-B.js +5 -0
  117. package/dist/{dist-BUrWeMEP.js → dist-iM9VwH8Z.js} +1 -1
  118. package/dist/{dist-HoZO6brh.js → dist-uR-o9IVx.js} +2 -2
  119. package/dist/{dist-CDHl2i1x.js → dist-zGOEySUQ.js} +4 -4
  120. package/dist/{dockerfile-BxhYdLHL.js → dockerfile-DG6A2DdH.js} +1 -1
  121. package/dist/dtd-Dyiazv4N.js +4 -0
  122. package/dist/dylan-D8Fcw7NA.js +4 -0
  123. package/dist/ecl-CjKp8Vii.js +4 -0
  124. package/dist/eiffel-K9ViOX5r.js +4 -0
  125. package/dist/elm-B5NVtRco.js +4 -0
  126. package/dist/{erDiagram-Q2GNP2WA-DPMseVVp.js → erDiagram-Q2GNP2WA-CGK0SUdu.js} +15 -15
  127. package/dist/erlang-BnLzgk7R.js +4 -0
  128. package/dist/{error-banner-Dmi5ujan.js → error-banner-D-KBGvBj.js} +3 -3
  129. package/dist/esm-CCD9xN05.js +1587 -0
  130. package/dist/esm-CxoKu9RN.js +2805 -0
  131. package/dist/{factor-Png_OsVt.js → factor-Bq2mGIHt.js} +1 -1
  132. package/dist/factor-C7f9Jz5R.js +4 -0
  133. package/dist/{flowDiagram-NV44I4VS-BpAIFwW7.js → flowDiagram-NV44I4VS-PjhviPI_.js} +17 -17
  134. package/dist/forth-rGM8jLao.js +4 -0
  135. package/dist/fortran-B3acSe0i.js +4 -0
  136. package/dist/{ganttDiagram-JELNMOA3-DXYghZ9C.js → ganttDiagram-JELNMOA3-CUVtQqgT.js} +10 -10
  137. package/dist/gas-Bb1Vmv_N.js +4 -0
  138. package/dist/gherkin-C9Lyidgd.js +4 -0
  139. package/dist/{gitGraph-G5XIXVHT-ChHUSAop.js → gitGraph-G5XIXVHT-B6b-Z3mr.js} +3 -3
  140. package/dist/{gitGraphDiagram-V2S2FVAM-CBL-7g3_.js → gitGraphDiagram-V2S2FVAM-CNdrlK1I.js} +17 -17
  141. package/dist/{glide-data-editor-pZyd9UJ_.js → glide-data-editor-DQEuWuu_.js} +94 -93
  142. package/dist/{graphlib-D18eZCT4.js → graphlib-CIQjMxKw.js} +6 -6
  143. package/dist/groovy-DQk6XcGH.js +4 -0
  144. package/dist/{hasIn-B9AbGLj3.js → hasIn-eLCPDloT.js} +5 -5
  145. package/dist/haskell-mV0Vw9gv.js +4 -0
  146. package/dist/haxe-DqxN89zH.js +5 -0
  147. package/dist/idl-ya8W561J.js +4 -0
  148. package/dist/{info-VBDWY6EO-CwyXEo8E.js → info-VBDWY6EO-DfFl0Z8H.js} +3 -3
  149. package/dist/infoDiagram-HS3SLOUP-DGimKb9k.js +30 -0
  150. package/dist/{types-CGc7peZV.js → input-B8CM-AuM.js} +208 -405
  151. package/dist/{isEmpty-C-xMag79.js → isEmpty-CI9akcsL.js} +2 -2
  152. package/dist/{isString-D-vNYDBA.js → isString-xiQUcgm4.js} +1 -1
  153. package/dist/{isSymbol-Dyt2NSnN.js → isSymbol-DFp8040B.js} +1 -1
  154. package/dist/javascript-CgqgptVu.js +4 -0
  155. package/dist/{journeyDiagram-XKPGCS4Q-D5BIjS4N.js → journeyDiagram-XKPGCS4Q-CyoESVVb.js} +7 -7
  156. package/dist/julia-CFQ-HusI.js +4 -0
  157. package/dist/{kanban-definition-3W4ZIXB7-DhDkqxFB.js → kanban-definition-3W4ZIXB7-Doc2YV80.js} +12 -12
  158. package/dist/{katex-pyO_klYC.js → katex-qPqrBHZ8.js} +1 -1
  159. package/dist/{label-BbpGrh4j.js → label-e5-84vsp.js} +10 -10
  160. package/dist/{line-C1k1rG3Z.js → line-BWRi3U3S.js} +3 -3
  161. package/dist/{linear-DIp6l9sg.js → linear-DZ8_CGCd.js} +4 -4
  162. package/dist/livescript-D__3TmDo.js +4 -0
  163. package/dist/{loader-CABJs6GU.js → loader-C51Irhxm.js} +3 -3
  164. package/dist/lua-Bytcgj_W.js +4 -0
  165. package/dist/main.js +35383 -70488
  166. package/dist/mathematica-DJhvVKvl.js +4 -0
  167. package/dist/mbox-IGHPCjfR.js +4 -0
  168. package/dist/{memoize-Cs8aS5RW.js → memoize-zYM53m8l.js} +1 -1
  169. package/dist/{merge-NuyC7LN7.js → merge-CqBPpP0q.js} +1 -1
  170. package/dist/mermaid-4DMBBIKO-DQdI9xDR.js +6 -0
  171. package/dist/{mermaid-CrKqsE2j.js → mermaid-CzWpf81s.js} +50 -50
  172. package/dist/{mermaid-parser.core-OkWZ8nr-.js → mermaid-parser.core-CrrqF1ZZ.js} +8 -8
  173. package/dist/{mhchem-DckvwtV8.js → mhchem-BwoRNwg_.js} +1 -1
  174. package/dist/micromark-factory-space-DQCQsiYz.js +1341 -0
  175. package/dist/{min-ECVRnCdn.js → min-IJGSWMpU.js} +8 -8
  176. package/dist/{mindmap-definition-VGOIOE7T-BxQi78Vl.js → mindmap-definition-VGOIOE7T-L2ybicpO.js} +14 -14
  177. package/dist/mirc-tcwvVugm.js +4 -0
  178. package/dist/mllike-Dx91i62r.js +6 -0
  179. package/dist/modelica-_SRt-yU5.js +4 -0
  180. package/dist/mscgen-GZrGS9gt.js +6 -0
  181. package/dist/mumps-Cv3ygyod.js +4 -0
  182. package/dist/{now-BC2mX0ZT.js → now-CnuN5fN5.js} +1 -1
  183. package/dist/nsis-BU7GeGbI.js +4 -0
  184. package/dist/{nsis-BrAITej_.js → nsis-i9_sgigf.js} +1 -1
  185. package/dist/ntriples-CL-FCYXb.js +4 -0
  186. package/dist/{number-overlay-editor-CQrncFlP.js → number-overlay-editor-D2Y0RpcH.js} +1 -1
  187. package/dist/octave-Dc6_3DIu.js +4 -0
  188. package/dist/{once-BqS42WgZ.js → once-DjP4Kbhy.js} +1 -1
  189. package/dist/{ordinal-Dcvf4J1m.js → ordinal-B4zYMadD.js} +1 -1
  190. package/dist/oz-DpUAJCXf.js +4 -0
  191. package/dist/{packet-DYOGHKS2-C62XQjZh.js → packet-DYOGHKS2-DIf3Dotq.js} +3 -3
  192. package/dist/pascal-B17mncXs.js +4 -0
  193. package/dist/perl-BTpK97q9.js +4 -0
  194. package/dist/{pie-VRWISCQL-nfAKQJw3.js → pie-VRWISCQL-Dj_gvPcD.js} +3 -3
  195. package/dist/{pieDiagram-ADFJNKIX-DfSJXUHa.js → pieDiagram-ADFJNKIX-x5w7q6Yp.js} +22 -22
  196. package/dist/pig-CFb638Ap.js +4 -0
  197. package/dist/powershell-Cxo-_2A5.js +4 -0
  198. package/dist/{precisionRound-BAc-kQ3q.js → precisionRound-C-DW449D.js} +1 -1
  199. package/dist/process-output-BD2HO0W_.js +28024 -0
  200. package/dist/properties-BPgT1xTB.js +4 -0
  201. package/dist/protobuf-BgHBaIIK.js +4 -0
  202. package/dist/pug-25-oS0SG.js +4 -0
  203. package/dist/{pug-CH-17az-.js → pug-BhE2JRSg.js} +1 -1
  204. package/dist/puppet-DarIr20S.js +4 -0
  205. package/dist/python-BqmOsBsi.js +4 -0
  206. package/dist/q-D3QJCTup.js +4 -0
  207. package/dist/{quadrantDiagram-AYHSOK5B-CAcVWXc-.js → quadrantDiagram-AYHSOK5B-D5j_5qG_.js} +5 -5
  208. package/dist/r-Cz_yBX4z.js +4 -0
  209. package/dist/{radar-ZZBFDIW7-lopS8_4j.js → radar-ZZBFDIW7-DXDVq3gi.js} +3 -3
  210. package/dist/{range-BKaWvVUE.js → range-DffmqG6L.js} +4 -3
  211. package/dist/{react-vega-C6kwcd86.js → react-vega-BBUxfZoV.js} +19 -19
  212. package/dist/react-vega-Cs3lfDw8.js +9 -0
  213. package/dist/{reduce-CqQo8ppc.js → reduce-CGwzfrDo.js} +5 -5
  214. package/dist/{requirementDiagram-UZGBJVZJ-BU7dwzFM.js → requirementDiagram-UZGBJVZJ-3SoJH6yP.js} +14 -14
  215. package/dist/rpm-DGOtYwAI.js +5 -0
  216. package/dist/ruby-DBZu4rPc.js +4 -0
  217. package/dist/{sankeyDiagram-TZEHDZUN-BVJnR4_b.js → sankeyDiagram-TZEHDZUN-fGkFNe5q.js} +5 -5
  218. package/dist/sas-Dd1D9qTq.js +4 -0
  219. package/dist/scheme-BmDjvTHX.js +4 -0
  220. package/dist/{sequenceDiagram-WL72ISMW-CQcFQTwX.js → sequenceDiagram-WL72ISMW-BE2uTn_d.js} +8 -8
  221. package/dist/shell-BL8zFSaj.js +4 -0
  222. package/dist/sieve-BAx2WqUP.js +4 -0
  223. package/dist/{slides-component-GkilRW21.js → slides-component-Cjo6LzW9.js} +3 -3
  224. package/dist/smalltalk-CYRzF7VV.js +4 -0
  225. package/dist/sparql-YWaDRO4A.js +4 -0
  226. package/dist/{spec-Bfvf9Hre.js → spec-UGFYIDJb.js} +12 -422
  227. package/dist/{src-CHUphWwL.js → src-BY0BGg6V.js} +1 -1
  228. package/dist/{stateDiagram-FKZM4ZOC-Dx9AIGDe.js → stateDiagram-FKZM4ZOC-Dmk9IAOx.js} +19 -19
  229. package/dist/stateDiagram-v2-4FDKWEC3-BGF0BvU6.js +29 -0
  230. package/dist/{step-BbmiiQdf.js → step-DGAGWg3y.js} +1 -1
  231. package/dist/stex-BvZqVamL.js +4 -0
  232. package/dist/style.css +1 -1
  233. package/dist/stylus-lYsyLFc1.js +4 -0
  234. package/dist/swift-ClQz9z1n.js +4 -0
  235. package/dist/tcl-B3jhsfqY.js +4 -0
  236. package/dist/textile-Cb1Dw7Aq.js +4 -0
  237. package/dist/{time-DFFVNc1Q.js → time-C_pvjzP0.js} +4 -4
  238. package/dist/{timeline-definition-IT6M3QCI-D8B3p7ID.js → timeline-definition-IT6M3QCI-CvB4yGrN.js} +4 -4
  239. package/dist/toDate-COI3hP-5.js +637 -0
  240. package/dist/toInteger-BUeg_O0F.js +15 -0
  241. package/dist/{toNumber-CbZ70FdN.js → toNumber-xFPoy1OI.js} +2 -2
  242. package/dist/{toString-DbIAWQpF.js → toString-CtXX84W6.js} +2 -2
  243. package/dist/toml-nHZhetdO.js +4 -0
  244. package/dist/{tooltip-CKG75XQa.js → tooltip-DnI4CwIS.js} +4 -4
  245. package/dist/{treemap-GDKQZRPO-CkR-5ai2.js → treemap-GDKQZRPO-CIG6WH-x.js} +3 -3
  246. package/dist/troff-DuJAGWKH.js +4 -0
  247. package/dist/ttcn-BxrcwP21.js +4 -0
  248. package/dist/ttcn-cfg-BAg_9dcc.js +4 -0
  249. package/dist/turtle-zCq949as.js +4 -0
  250. package/dist/types-BqLAaq-i.js +209 -0
  251. package/dist/{uniq-H2E5nMLq.js → uniq-CCKqEs7T.js} +1 -1
  252. package/dist/{useAsyncData-CEjJxwFB.js → useAsyncData-BtHYXgXF.js} +2 -2
  253. package/dist/useDeepCompareMemoize-9dXEtK7u.js +124 -0
  254. package/dist/useIframeCapabilities-CzVvBDe8.js +13 -0
  255. package/dist/useLifecycle-Be1LUuEg.js +427 -0
  256. package/dist/{useTheme-CPybHVFN.js → useTheme-5GTtjXjy.js} +4 -4
  257. package/dist/vb-De5hElus.js +4 -0
  258. package/dist/vbscript-Cypcpv4F.js +4 -0
  259. package/dist/{vega-component-CuPTCRp5.js → vega-component-BQNW4qnB.js} +198 -197
  260. package/dist/{vega-loader.browser-CQ-lnUkI.js → vega-loader.browser-DnqN5nbz.js} +3 -3
  261. package/dist/velocity-Di7l-yhe.js +4 -0
  262. package/dist/verilog-Bzi-S3g2.js +4 -0
  263. package/dist/vhdl-B0ZZITaW.js +4 -0
  264. package/dist/webidl-0sviiRcN.js +4 -0
  265. package/dist/xquery-B4qMVWaB.js +4 -0
  266. package/dist/{xychartDiagram-PRI3JC2R-XO8FiQjU.js → xychartDiagram-PRI3JC2R-BbEInSqY.js} +13 -13
  267. package/dist/yacas-Jt25Fuv8.js +4 -0
  268. package/dist/z80-CrcbYzmp.js +4 -0
  269. package/package.json +2 -1
  270. package/src/__mocks__/notebook.ts +9 -9
  271. package/src/__mocks__/requests.ts +2 -1
  272. package/src/__tests__/branded.ts +20 -0
  273. package/src/__tests__/setup.ts +15 -0
  274. package/src/components/app-config/__tests__/get-dirty-values.test.ts +1 -1
  275. package/src/components/app-config/get-dirty-values.ts +100 -0
  276. package/src/components/app-config/user-config-form.tsx +6 -101
  277. package/src/components/data-table/TableActions.tsx +8 -2
  278. package/src/components/data-table/__tests__/columns.test.tsx +138 -0
  279. package/src/components/data-table/__tests__/data-table.test.tsx +63 -0
  280. package/src/components/data-table/__tests__/utils.test.ts +138 -1
  281. package/src/components/data-table/charts/__tests__/storage.test.ts +7 -7
  282. package/src/components/data-table/columns.tsx +44 -4
  283. package/src/components/data-table/context-menu.tsx +9 -5
  284. package/src/components/data-table/data-table.tsx +13 -31
  285. package/src/components/data-table/filters.ts +1 -0
  286. package/src/components/data-table/hooks/use-scroll-container-height.ts +97 -0
  287. package/src/components/data-table/range-focus/__tests__/atoms.test.ts +8 -2
  288. package/src/components/data-table/range-focus/__tests__/test-utils.ts +2 -0
  289. package/src/components/data-table/range-focus/__tests__/use-cell-range-selection.test.ts +119 -0
  290. package/src/components/data-table/range-focus/__tests__/utils.test.ts +82 -8
  291. package/src/components/data-table/range-focus/atoms.ts +2 -2
  292. package/src/components/data-table/range-focus/use-cell-range-selection.ts +19 -0
  293. package/src/components/data-table/range-focus/utils.ts +50 -12
  294. package/src/components/data-table/renderers.tsx +103 -46
  295. package/src/components/data-table/types.ts +21 -0
  296. package/src/components/data-table/utils.ts +87 -0
  297. package/src/components/datasources/datasources.tsx +45 -0
  298. package/src/components/editor/__tests__/data-attributes.test.tsx +8 -8
  299. package/src/components/editor/ai/__tests__/completion-utils.test.ts +15 -15
  300. package/src/components/editor/connections/storage/__tests__/__snapshots__/as-code.test.ts.snap +2 -2
  301. package/src/components/editor/connections/storage/as-code.ts +2 -2
  302. package/src/components/editor/file-tree/file-explorer.tsx +16 -2
  303. package/src/components/editor/file-tree/file-viewer.tsx +17 -3
  304. package/src/components/editor/navigation/__tests__/clipboard.test.ts +2 -2
  305. package/src/components/editor/navigation/__tests__/selection.test.ts +7 -6
  306. package/src/components/editor/navigation/__tests__/state.test.ts +8 -7
  307. package/src/components/editor/output/MarimoErrorOutput.tsx +7 -7
  308. package/src/components/editor/output/__tests__/traceback.test.tsx +4 -4
  309. package/src/components/editor/output/console/__tests__/ConsoleOutput.test.tsx +4 -4
  310. package/src/components/editor/package-alert.tsx +1 -1
  311. package/src/components/editor/renderers/vertical-layout/useFocusFirstEditor.ts +8 -1
  312. package/src/components/markdown/markdown-renderer.tsx +18 -2
  313. package/src/components/storage/storage-file-viewer.tsx +35 -1
  314. package/src/components/storage/storage-inspector.tsx +9 -4
  315. package/src/components/storage/storage-snippets.ts +3 -3
  316. package/src/components/tracing/tracing.tsx +3 -1
  317. package/src/components/ui/range-slider.tsx +108 -1
  318. package/src/core/ai/__tests__/staged-cells.test.ts +9 -8
  319. package/src/core/ai/context/providers/__tests__/cell-output.test.ts +31 -31
  320. package/src/core/ai/context/providers/__tests__/datasource.test.ts +3 -3
  321. package/src/core/ai/context/providers/__tests__/tables.test.ts +3 -2
  322. package/src/core/ai/context/providers/__tests__/variable.test.ts +84 -63
  323. package/src/core/ai/tools/__tests__/edit-notebook-tool.test.ts +10 -9
  324. package/src/core/ai/tools/__tests__/run-cells-tool.test.ts +6 -6
  325. package/src/core/ai/tools/edit-notebook-tool.ts +3 -3
  326. package/src/core/cells/__tests__/add-missing-import.test.ts +3 -3
  327. package/src/core/cells/__tests__/apply-transaction.test.ts +279 -0
  328. package/src/core/cells/__tests__/cells.test.ts +198 -135
  329. package/src/core/cells/__tests__/document-changes.test.ts +572 -0
  330. package/src/core/cells/__tests__/document-roundtrip.test.ts +376 -0
  331. package/src/core/cells/__tests__/focus.test.ts +5 -4
  332. package/src/core/cells/__tests__/logs.test.ts +13 -12
  333. package/src/core/cells/__tests__/pending-delete-service.test.tsx +3 -3
  334. package/src/core/cells/__tests__/runs.test.ts +29 -24
  335. package/src/core/cells/__tests__/scrollCellIntoView.test.ts +8 -7
  336. package/src/core/cells/__tests__/session.test.ts +23 -22
  337. package/src/core/cells/cells.ts +31 -5
  338. package/src/core/cells/document-changes.ts +644 -0
  339. package/src/core/cells/ids.ts +5 -5
  340. package/src/core/cells/logs.ts +2 -2
  341. package/src/core/cells/runs.ts +6 -8
  342. package/src/core/codemirror/__tests__/format.test.ts +34 -36
  343. package/src/core/codemirror/__tests__/setup.test.ts +2 -2
  344. package/src/core/codemirror/cells/__tests__/extensions.test.ts +114 -0
  345. package/src/core/codemirror/cells/__tests__/traceback-decorations.test.ts +33 -32
  346. package/src/core/codemirror/cells/extensions.ts +66 -23
  347. package/src/core/codemirror/completion/__tests__/keymap.test.ts +15 -35
  348. package/src/core/codemirror/completion/keymap.ts +14 -4
  349. package/src/core/codemirror/copilot/__tests__/getCodes.test.ts +12 -13
  350. package/src/core/codemirror/language/__tests__/utils.test.ts +3 -3
  351. package/src/core/codemirror/language/embedded/__tests__/embedded-python.test.ts +7 -8
  352. package/src/core/codemirror/language/languages/python.ts +4 -0
  353. package/src/core/codemirror/lsp/__tests__/notebook-lsp.test.ts +4 -3
  354. package/src/core/codemirror/lsp/notebook-lsp.ts +28 -2
  355. package/src/core/codemirror/reactive-references/__tests__/analyzer.test.ts +7 -6
  356. package/src/core/codemirror/reactive-references/analyzer.ts +2 -2
  357. package/src/core/codemirror/rtc/loro/__tests__/sync.test.ts +52 -0
  358. package/src/core/codemirror/rtc/loro/sync.ts +1 -0
  359. package/src/core/datasets/__tests__/data-source.test.ts +93 -7
  360. package/src/core/datasets/data-source-connections.ts +44 -0
  361. package/src/core/datasets/request-registry.ts +13 -0
  362. package/src/core/datasets/state.ts +1 -1
  363. package/src/core/edit-app.tsx +0 -5
  364. package/src/core/errors/__tests__/errors.test.ts +2 -1
  365. package/src/core/export/__tests__/hooks.test.ts +37 -36
  366. package/src/core/islands/bridge.ts +2 -1
  367. package/src/core/islands/main.ts +5 -9
  368. package/src/core/kernel/__tests__/handlers.test.ts +5 -4
  369. package/src/core/kernel/handlers.ts +7 -4
  370. package/src/core/kernel/messages.ts +2 -0
  371. package/src/core/network/DeferredRequestRegistry.ts +2 -2
  372. package/src/core/network/__tests__/CachingRequestRegistry.test.ts +9 -10
  373. package/src/core/network/__tests__/DeferredRequestRegistry.test.ts +4 -6
  374. package/src/core/network/requests-lazy.ts +2 -1
  375. package/src/core/network/requests-network.ts +10 -2
  376. package/src/core/network/requests-static.ts +2 -1
  377. package/src/core/network/requests-toasting.tsx +2 -1
  378. package/src/core/network/types.ts +7 -2
  379. package/src/core/static/__tests__/virtual-file-tracker.test.ts +8 -8
  380. package/src/core/static/virtual-file-tracker.ts +1 -1
  381. package/src/core/storage/__tests__/state.test.ts +31 -21
  382. package/src/core/storage/state.ts +1 -1
  383. package/src/core/variables/__tests__/state.test.ts +6 -6
  384. package/src/core/variables/types.ts +2 -2
  385. package/src/core/wasm/__tests__/state.test.ts +8 -8
  386. package/src/core/wasm/bridge.ts +11 -1
  387. package/src/core/websocket/useMarimoKernelConnection.tsx +33 -26
  388. package/src/css/app/fonts.css +6 -6
  389. package/src/css/md-tooltip.css +4 -39
  390. package/src/css/md.css +10 -0
  391. package/src/fonts/Fira_Mono/FiraMono-Bold.woff2 +0 -0
  392. package/src/fonts/Fira_Mono/FiraMono-Medium.woff2 +0 -0
  393. package/src/fonts/Fira_Mono/FiraMono-Regular.woff2 +0 -0
  394. package/src/fonts/Lora/Lora-VariableFont_wght.woff2 +0 -0
  395. package/src/fonts/PT_Sans/PTSans-Bold.woff2 +0 -0
  396. package/src/fonts/PT_Sans/PTSans-Regular.woff2 +0 -0
  397. package/src/plugins/core/RenderHTML.tsx +17 -0
  398. package/src/plugins/core/__test__/RenderHTML.test.ts +45 -0
  399. package/src/plugins/core/sanitize-html.ts +25 -18
  400. package/src/plugins/impl/DataTablePlugin.tsx +50 -2
  401. package/src/plugins/impl/SliderPlugin.tsx +1 -3
  402. package/src/plugins/impl/__tests__/SliderPlugin.test.tsx +120 -0
  403. package/src/plugins/impl/anywidget/model.ts +1 -2
  404. package/src/plugins/impl/chat/ChatPlugin.tsx +6 -3
  405. package/src/plugins/impl/matplotlib/matplotlib-renderer.ts +5 -2
  406. package/src/stories/cell.stories.tsx +8 -8
  407. package/src/stories/layout/vertical/one-column.stories.tsx +9 -8
  408. package/src/stories/log-viewer.stories.tsx +8 -8
  409. package/src/stories/variables.stories.tsx +2 -2
  410. package/src/utils/__tests__/createReducer.test.ts +2 -1
  411. package/src/utils/__tests__/download.test.tsx +21 -20
  412. package/src/utils/copy.ts +18 -5
  413. package/src/utils/createReducer.ts +46 -26
  414. package/src/utils/download.ts +4 -3
  415. package/src/utils/html-to-image.ts +6 -0
  416. package/src/utils/json/base64.ts +3 -3
  417. package/src/utils/traceback.ts +5 -3
  418. package/dist/_basePickBy-pTDW2_2A.js +0 -47
  419. package/dist/apl-lHFVoxx7.js +0 -4
  420. package/dist/architecture-7HQA4BMR-BmtmhGMc.js +0 -6
  421. package/dist/asciiarmor-DqCdZUHI.js +0 -4
  422. package/dist/asn1-DEcwtw-q.js +0 -4
  423. package/dist/brainfuck-Bro9Oz5x.js +0 -4
  424. package/dist/classDiagram-2ON5EDUG-DphiMW3Y.js +0 -30
  425. package/dist/classDiagram-v2-WZHVMYZB-BH1x5h4a.js +0 -30
  426. package/dist/clojure-B2uhdQPa.js +0 -4
  427. package/dist/cmake-B9WXyQcc.js +0 -4
  428. package/dist/cobol-CPD3EJfO.js +0 -4
  429. package/dist/coffeescript-KD9TnEnS.js +0 -4
  430. package/dist/commonlisp-DNEULz_Q.js +0 -4
  431. package/dist/crystal-DVPNgAPQ.js +0 -4
  432. package/dist/css-fq3a1AH1.js +0 -4
  433. package/dist/cypher-Dtzq0BP7.js +0 -4
  434. package/dist/d-DcZudIhJ.js +0 -4
  435. package/dist/diff-D9BPDC3o.js +0 -4
  436. package/dist/dist-B4MxkKHf.js +0 -8
  437. package/dist/dist-BYghZv6b.js +0 -5
  438. package/dist/dist-Be-uQhz5.js +0 -6
  439. package/dist/dist-CB_xf0ju.js +0 -5
  440. package/dist/dist-CK0qFAbF.js +0 -8
  441. package/dist/dist-CYEk-qrr.js +0 -8
  442. package/dist/dist-CmKoWpMk.js +0 -5
  443. package/dist/dist-D1nf4IQl.js +0 -5
  444. package/dist/dist-Df3AcKpt.js +0 -6
  445. package/dist/dist-DgaFHt_I.js +0 -5
  446. package/dist/dist-Dk10C3ui.js +0 -5
  447. package/dist/dist-DtyPVMHR.js +0 -5
  448. package/dist/dist-ko7WnHAO.js +0 -5
  449. package/dist/dist-of7gLRFK.js +0 -8
  450. package/dist/dtd-FhG-tVom.js +0 -4
  451. package/dist/dylan-HWpZOBPw.js +0 -4
  452. package/dist/ecl-B_rcje1I.js +0 -4
  453. package/dist/eiffel-oqHyHs6f.js +0 -4
  454. package/dist/elm-B62RQEds.js +0 -4
  455. package/dist/erlang-CjRjjA-B.js +0 -4
  456. package/dist/esm-BLobyqMs.js +0 -4387
  457. package/dist/factor-CGH_TnIV.js +0 -4
  458. package/dist/forth-5N06oHNp.js +0 -4
  459. package/dist/fortran-wZ-sNg3h.js +0 -4
  460. package/dist/gas-3H4_FaS8.js +0 -4
  461. package/dist/gherkin-PEA2uy50.js +0 -4
  462. package/dist/groovy-DZzbvCP1.js +0 -4
  463. package/dist/haskell-CExLTzho.js +0 -4
  464. package/dist/haxe-f3pVb8qU.js +0 -5
  465. package/dist/idl-BbWlJ0gk.js +0 -4
  466. package/dist/infoDiagram-HS3SLOUP-BXGbfBss.js +0 -30
  467. package/dist/javascript-eMOhp6Aq.js +0 -4
  468. package/dist/julia-C6w3Rvqb.js +0 -4
  469. package/dist/livescript-ChQl9lD-.js +0 -4
  470. package/dist/lua-CiDvI96j.js +0 -4
  471. package/dist/mathematica-ClVO4k7N.js +0 -4
  472. package/dist/mbox-BEI7DeUg.js +0 -4
  473. package/dist/mermaid-4DMBBIKO-PVrJfEpX.js +0 -6
  474. package/dist/mirc-DwidJ3iH.js +0 -4
  475. package/dist/mllike-Dspdy0xJ.js +0 -6
  476. package/dist/modelica-CIUejP-L.js +0 -4
  477. package/dist/mscgen-BWXU4Omp.js +0 -6
  478. package/dist/mumps-PHFFoPk5.js +0 -4
  479. package/dist/nsis-B7xooKLf.js +0 -4
  480. package/dist/ntriples-DnOgtCzG.js +0 -4
  481. package/dist/octave-Cn5kH_QT.js +0 -4
  482. package/dist/oz-DR-sROpu.js +0 -4
  483. package/dist/pascal-CPKK1zcS.js +0 -4
  484. package/dist/perl-D7FuFdyd.js +0 -4
  485. package/dist/pig-CEXnOAnI.js +0 -4
  486. package/dist/powershell-BKvWab7q.js +0 -4
  487. package/dist/properties-7jnK_vYx.js +0 -4
  488. package/dist/protobuf-4rslMjEN.js +0 -4
  489. package/dist/pug-BVwdEv4r.js +0 -4
  490. package/dist/puppet-iSHg_1Z2.js +0 -4
  491. package/dist/python-tK3wUCn0.js +0 -4
  492. package/dist/q-DP_Dcoox.js +0 -4
  493. package/dist/r-C32wHLYu.js +0 -4
  494. package/dist/react-vega-CFUuchds.js +0 -9
  495. package/dist/rpm-BbDBUfs9.js +0 -5
  496. package/dist/ruby-COfWUiIr.js +0 -4
  497. package/dist/sas-y_Hue2-X.js +0 -4
  498. package/dist/scheme-7jTCqHw8.js +0 -4
  499. package/dist/shell-DAqJWXDk.js +0 -4
  500. package/dist/sieve-EaqnbCO3.js +0 -4
  501. package/dist/smalltalk-DL03YKLJ.js +0 -4
  502. package/dist/sparql-DTA-tQ_q.js +0 -4
  503. package/dist/stateDiagram-v2-4FDKWEC3-BIeUs-Ed.js +0 -29
  504. package/dist/stex-KfRnSHzF.js +0 -4
  505. package/dist/stylus-CfjeFry_.js +0 -4
  506. package/dist/swift-Dl0RRDbH.js +0 -4
  507. package/dist/tcl-wv9O7fLZ.js +0 -4
  508. package/dist/textile-DzMRCBcV.js +0 -4
  509. package/dist/toml-CyIWqgbe.js +0 -4
  510. package/dist/troff-_huin_CY.js +0 -4
  511. package/dist/ttcn-BEiJuYYc.js +0 -4
  512. package/dist/ttcn-cfg-DB6Ksh67.js +0 -4
  513. package/dist/turtle-DzhzGEum.js +0 -4
  514. package/dist/useDeepCompareMemoize-BWUwfh37.js +0 -755
  515. package/dist/useIframeCapabilities-OQaMKgZl.js +0 -46
  516. package/dist/vb-CngKZQHu.js +0 -4
  517. package/dist/vbscript-BV_8nbeM.js +0 -4
  518. package/dist/velocity-IqE7qYKE.js +0 -4
  519. package/dist/verilog-xtyaWTnc.js +0 -4
  520. package/dist/vhdl-BaqXCtf3.js +0 -4
  521. package/dist/webidl-BDB8PTTO.js +0 -4
  522. package/dist/xquery-BIC-qj9Z.js +0 -4
  523. package/dist/yacas-ifv5tftd.js +0 -4
  524. package/dist/z80-B8zOMVNt.js +0 -4
  525. package/src/core/cells/effects.ts +0 -42
  526. package/src/fonts/Fira_Mono/FiraMono-Bold.ttf +0 -0
  527. package/src/fonts/Fira_Mono/FiraMono-Medium.ttf +0 -0
  528. package/src/fonts/Fira_Mono/FiraMono-Regular.ttf +0 -0
  529. package/src/fonts/Lora/Lora-Italic-VariableFont_wght.ttf +0 -0
  530. package/src/fonts/Lora/Lora-VariableFont_wght.ttf +0 -0
  531. package/src/fonts/Lora/static/Lora-Bold.ttf +0 -0
  532. package/src/fonts/Lora/static/Lora-BoldItalic.ttf +0 -0
  533. package/src/fonts/Lora/static/Lora-Italic.ttf +0 -0
  534. package/src/fonts/Lora/static/Lora-Medium.ttf +0 -0
  535. package/src/fonts/Lora/static/Lora-MediumItalic.ttf +0 -0
  536. package/src/fonts/Lora/static/Lora-Regular.ttf +0 -0
  537. package/src/fonts/Lora/static/Lora-SemiBold.ttf +0 -0
  538. package/src/fonts/Lora/static/Lora-SemiBoldItalic.ttf +0 -0
  539. package/src/fonts/PT_Sans/PTSans-Bold.ttf +0 -0
  540. package/src/fonts/PT_Sans/PTSans-BoldItalic.ttf +0 -0
  541. package/src/fonts/PT_Sans/PTSans-Italic.ttf +0 -0
  542. package/src/fonts/PT_Sans/PTSans-Regular.ttf +0 -0
  543. /package/dist/{_arrayReduce-BfFy684W.js → _arrayReduce-6BJAuN54.js} +0 -0
  544. /package/dist/{_baseSlice-BrVixxuc.js → _baseSlice-bwIVgwNq.js} +0 -0
  545. /package/dist/{_hasUnicode-C32WqUu7.js → _hasUnicode-DOFcQHhs.js} +0 -0
  546. /package/dist/{apl-DRxKiEot.js → apl-99A7dLQe.js} +0 -0
  547. /package/dist/{array-D-nrDupM.js → array-B-MVxRIF.js} +0 -0
  548. /package/dist/{asciiarmor-C8HoXFIm.js → asciiarmor-DLEhpFDx.js} +0 -0
  549. /package/dist/{asn1-9Bo0DYT-.js → asn1-CMrcTsT4.js} +0 -0
  550. /package/dist/{asterisk-BsiuGzWq.js → asterisk-BUZwqih-.js} +0 -0
  551. /package/dist/{brainfuck-Db8njC-p.js → brainfuck-ChPt5yBe.js} +0 -0
  552. /package/dist/{chunk-DR5Q36YT-D4q96vNV.js → chunk-DR5Q36YT-CP69aZS_.js} +0 -0
  553. /package/dist/{click-outside-container-CKfwEZqH.js → click-outside-container-DB_bTXRG.js} +0 -0
  554. /package/dist/{clike-CFhUNtI5.js → clike-CE0fXfM_.js} +0 -0
  555. /package/dist/{clojure-CX7oovsp.js → clojure-QkBEMU-g.js} +0 -0
  556. /package/dist/{clsx-D2KVTYnW.js → clsx-yW_RAw0K.js} +0 -0
  557. /package/dist/{cmake-C29AR2kk.js → cmake-CU1jX7Mo.js} +0 -0
  558. /package/dist/{cobol-CNkuRW9i.js → cobol-DMOKzzky.js} +0 -0
  559. /package/dist/{coffeescript-BJAbfGam.js → coffeescript-DjnjLyfk.js} +0 -0
  560. /package/dist/{colors-6nB_pSln.js → colors-Cn2p_FA3.js} +0 -0
  561. /package/dist/{common-keywords-BAkLFdud.js → common-keywords-hbLeU7VU.js} +0 -0
  562. /package/dist/{commonlisp-BTNhj2l9.js → commonlisp-CYd9iOSe.js} +0 -0
  563. /package/dist/{crystal-CZc0nIm9.js → crystal-Dy55yoYG.js} +0 -0
  564. /package/dist/{css-L2-0OTXc.js → css-CNU8w3HJ.js} +0 -0
  565. /package/dist/{cypher-Dnc6MXl0.js → cypher-q47DGzK7.js} +0 -0
  566. /package/dist/{cytoscape.esm-BXzSsA6N.js → cytoscape.esm-WbbDoCfu.js} +0 -0
  567. /package/dist/{d-C6X9iIga.js → d-jEkaLvxX.js} +0 -0
  568. /package/dist/{defaultLocale-CfQ4kBaV.js → defaultLocale-Dr6Bz4JK.js} +0 -0
  569. /package/dist/{defaultLocale-Bklbu-Tp.js → defaultLocale-I3_GfJ4U.js} +0 -0
  570. /package/dist/{diff-ZzKinYqY.js → diff-vb2-unFN.js} +0 -0
  571. /package/dist/{dist-DOoqn-VL.js → dist-C4EV3aDt.js} +0 -0
  572. /package/dist/{dist-Bymy0kEH.js → dist-C89sHDXk.js} +0 -0
  573. /package/dist/{dtd-CytEpkAo.js → dtd-C9kR-bXa.js} +0 -0
  574. /package/dist/{duckdb-keywords-C1WxmSfG.js → duckdb-keywords-CZ_ZTscu.js} +0 -0
  575. /package/dist/{dylan-CZByFBEQ.js → dylan-BLckrK-V.js} +0 -0
  576. /package/dist/{ebnf-BF2FOt-m.js → ebnf-WEXPLEWb.js} +0 -0
  577. /package/dist/{ecl-Cp7L1F5B.js → ecl-CEsf6XVg.js} +0 -0
  578. /package/dist/{eiffel-C66yjnFL.js → eiffel-2KGZNzx6.js} +0 -0
  579. /package/dist/{elm-DtHo-73e.js → elm-D2s3K5wF.js} +0 -0
  580. /package/dist/{emotion-is-prop-valid.esm-DtW2o230.js → emotion-is-prop-valid.esm-CflmeIys.js} +0 -0
  581. /package/dist/{erlang-C_sj44mF.js → erlang-0PMFOndk.js} +0 -0
  582. /package/dist/{esm-BWftfC-A.js → esm-Bb_hbWan.js} +0 -0
  583. /package/dist/{fcl-BhLcvRo_.js → fcl-B_Gv5Jfx.js} +0 -0
  584. /package/dist/{forth-CIDHh56T.js → forth-DG89iUsu.js} +0 -0
  585. /package/dist/{fortran-BQrDVXRU.js → fortran-ytKsAVvu.js} +0 -0
  586. /package/dist/{gas-D4HQPB0Q.js → gas-Cg2Fm0N2.js} +0 -0
  587. /package/dist/{gherkin-UB2gJHdT.js → gherkin-B87FEnZ-.js} +0 -0
  588. /package/dist/{groovy-DVz6jkOx.js → groovy-Dcs08AWD.js} +0 -0
  589. /package/dist/{haskell-CpUdAPCz.js → haskell-cwkOuhx6.js} +0 -0
  590. /package/dist/{haxe-DCV5_cqD.js → haxe-DWEo4q10.js} +0 -0
  591. /package/dist/{http-C_TDb8VX.js → http-Dc2fv19V.js} +0 -0
  592. /package/dist/{idl-D7WCIgHw.js → idl-WWQwDcRV.js} +0 -0
  593. /package/dist/{init-Ci8VD8ZH.js → init-D-g0ONX1.js} +0 -0
  594. /package/dist/{invariant-D9QLJ4SZ.js → invariant-Ctm_8TNZ.js} +0 -0
  595. /package/dist/{isArrayLikeObject-BrYl-ETg.js → isArrayLikeObject-C-hFPChh.js} +0 -0
  596. /package/dist/{javascript-B2Rn0Lmd.js → javascript-BeR74dxD.js} +0 -0
  597. /package/dist/{jsx-runtime-CTBg5pdT.js → jsx-runtime-9hcJiI23.js} +0 -0
  598. /package/dist/{julia-ApprtEaw.js → julia-UlvCUYGL.js} +0 -0
  599. /package/dist/{katex-Bk_FvVSR.js → katex-B7pMJpE0.js} +0 -0
  600. /package/dist/{livescript-BMLIlM7C.js → livescript-GPmFcmYV.js} +0 -0
  601. /package/dist/{lua-DdDaW3tC.js → lua-DYoT_0zM.js} +0 -0
  602. /package/dist/{main-Tj_-QTyF.js → main-sxFlUO_N.js} +0 -0
  603. /package/dist/{math-HUZifhTs.js → math-BYK36kWZ.js} +0 -0
  604. /package/dist/{mathematica-PnNN7c2Z.js → mathematica-DSFIQlbG.js} +0 -0
  605. /package/dist/{mbox-B84OtHBK.js → mbox-ej8lFMdL.js} +0 -0
  606. /package/dist/{mirc-BVWXJxIq.js → mirc-CAdIdvHQ.js} +0 -0
  607. /package/dist/{mllike-BawXWupH.js → mllike-CjTB1lHF.js} +0 -0
  608. /package/dist/{modelica-C8-X4Hf_.js → modelica-BB68FYMa.js} +0 -0
  609. /package/dist/{mscgen-BOM6dDj8.js → mscgen-BkbzgGGI.js} +0 -0
  610. /package/dist/{mumps-DQOY8n05.js → mumps-Cu-28E9F.js} +0 -0
  611. /package/dist/{nginx-DkMgA__9.js → nginx-ComVAAGN.js} +0 -0
  612. /package/dist/{node-sql-parser-D53LM_7b.js → node-sql-parser-DNGGJ-Rw.js} +0 -0
  613. /package/dist/{ntriples-DU8VrXdW.js → ntriples-D9cQiZxZ.js} +0 -0
  614. /package/dist/{octave-BzTIBsQ8.js → octave-BvtAnPX0.js} +0 -0
  615. /package/dist/{oz-DKFcZsoi.js → oz-COaVHk2E.js} +0 -0
  616. /package/dist/{pascal-DHBZ15pT.js → pascal-BFpqVD2x.js} +0 -0
  617. /package/dist/{path-BVI7RNUv.js → path-Du6n3sOU.js} +0 -0
  618. /package/dist/{perl-75NMI3w0.js → perl-DaiORxHP.js} +0 -0
  619. /package/dist/{pig-B-HY1fo_.js → pig-DFzRhmsF.js} +0 -0
  620. /package/dist/{powershell-DEH22U53.js → powershell-BG2LQNKN.js} +0 -0
  621. /package/dist/{properties-B1MzBoJC.js → properties-CqJJR5QY.js} +0 -0
  622. /package/dist/{protobuf-Dr14KV0p.js → protobuf-WwDYV1yY.js} +0 -0
  623. /package/dist/{puppet-C4z38l7v.js → puppet-QNY3w_uN.js} +0 -0
  624. /package/dist/{purify.es-DGenX2XH.js → purify.es-Co_dANLh.js} +0 -0
  625. /package/dist/{python-D2L7Nknt.js → python-4QrQ3Ugi.js} +0 -0
  626. /package/dist/{q-PxipHfgS.js → q-DhwXuxE2.js} +0 -0
  627. /package/dist/{r-CEMMu_Tf.js → r-Df-nkR25.js} +0 -0
  628. /package/dist/{range-BToS7LsA.js → range-Bn3no95s.js} +0 -0
  629. /package/dist/{react-dom-CqtLRVZP.js → react-dom-BKwCWYPW.js} +0 -0
  630. /package/dist/{rpm-D3xyahkR.js → rpm-Cokue07s.js} +0 -0
  631. /package/dist/{ruby-DwEkwdiu.js → ruby-DrYcL3qF.js} +0 -0
  632. /package/dist/{sas-L1W0BRft.js → sas-CoiPirA5.js} +0 -0
  633. /package/dist/{scheme-CTybTrX0.js → scheme-CwFLjzHv.js} +0 -0
  634. /package/dist/{shell-BSx3LZnu.js → shell-BFV-R24I.js} +0 -0
  635. /package/dist/{sieve-BjUfbv-6.js → sieve-CxwXF5T9.js} +0 -0
  636. /package/dist/{simple-mode-IPZGFbI6.js → simple-mode-DTaJtKPt.js} +0 -0
  637. /package/dist/{smalltalk-BlzuYrMv.js → smalltalk-QivVOCtX.js} +0 -0
  638. /package/dist/{solr-Cj_9RM4d.js → solr-DTkyqJ-Z.js} +0 -0
  639. /package/dist/{sparql-BXKjQ0cK.js → sparql-nKsFk8j7.js} +0 -0
  640. /package/dist/{spreadsheet-CifI10GO.js → spreadsheet-CER0raqY.js} +0 -0
  641. /package/dist/{sql-B0bFyY1c.js → sql-ByOoEONQ.js} +0 -0
  642. /package/dist/{stex-BIsgBmK4.js → stex-7yEw16Ww.js} +0 -0
  643. /package/dist/{stylus-CqrLLVnG.js → stylus-BLKQAycn.js} +0 -0
  644. /package/dist/{swift-DIqvj3_G.js → swift-CJoKqiKj.js} +0 -0
  645. /package/dist/{tcl-B8bOIGVK.js → tcl-YTeYFNUc.js} +0 -0
  646. /package/dist/{textile-DZsjavD_.js → textile-C6rKQqMQ.js} +0 -0
  647. /package/dist/{tiddlywiki-BbGdvEjx.js → tiddlywiki-Cr9xyOY1.js} +0 -0
  648. /package/dist/{tiki-BYesmRDo.js → tiki-D5JONyfZ.js} +0 -0
  649. /package/dist/{timer-CPsmIOdm.js → timer-D7JVdX9U.js} +0 -0
  650. /package/dist/{toml-Uc7m08nl.js → toml-DxlPGbRy.js} +0 -0
  651. /package/dist/{treemap-DMn4tIJ7.js → treemap-qFGzn7xk.js} +0 -0
  652. /package/dist/{troff-GEl5wcXR.js → troff-DFCfH7Ku.js} +0 -0
  653. /package/dist/{ttcn-pr4FDOLT.js → ttcn-DAW-ERVP.js} +0 -0
  654. /package/dist/{ttcn-cfg-dZQ_fWTH.js → ttcn-cfg-CpJ8b7EN.js} +0 -0
  655. /package/dist/{turtle-TPRDOknA.js → turtle-BneV2f8L.js} +0 -0
  656. /package/dist/{vb-BJUAeTYr.js → vb-D973Vxxh.js} +0 -0
  657. /package/dist/{vbscript-CcJ6Z3ic.js → vbscript-Dckaq3YO.js} +0 -0
  658. /package/dist/{velocity-pq4ZMzU3.js → velocity-DKty-GUC.js} +0 -0
  659. /package/dist/{verilog-timMNjHt.js → verilog-aNaK_biA.js} +0 -0
  660. /package/dist/{vhdl-DYFbVKNm.js → vhdl-CQuehnQy.js} +0 -0
  661. /package/dist/{webidl-pue9oqnb.js → webidl-Bhg8vaMr.js} +0 -0
  662. /package/dist/{xquery-DeItGynK.js → xquery-D2q16GaM.js} +0 -0
  663. /package/dist/{yacas-By2Qrjba.js → yacas-DHGOHnNa.js} +0 -0
  664. /package/dist/{z80-C7iLsyPC.js → z80-BPhTmO22.js} +0 -0
@@ -3,7 +3,7 @@ import { deserializeLayout } from "@/components/editor/renderers/plugins";
3
3
  import type { LayoutType } from "@/components/editor/renderers/types";
4
4
  import { Logger } from "@/utils/Logger";
5
5
  import { Objects } from "@/utils/objects";
6
- import type { CellId, UIElementId } from "../cells/ids";
6
+ import type { UIElementId } from "../cells/ids";
7
7
  import { type CellData, createCell } from "../cells/types";
8
8
  import { type AppConfig, AppConfigSchema } from "../config/config-schema";
9
9
  import { UI_ELEMENT_REGISTRY } from "../dom/uiregistry";
@@ -47,7 +47,7 @@ export function buildCellData(data: KernelReadyData): CellData[] {
47
47
  const edited = lastCodeRun ? lastCodeRun !== code : false;
48
48
 
49
49
  return createCell({
50
- id: cellId as CellId,
50
+ id: cellId,
51
51
  code,
52
52
  edited,
53
53
  name: names[i],
@@ -160,7 +160,10 @@ export function handleKernelReady(
160
160
  // If resumed, restore UI element values from kernel and we're done
161
161
  if (resumed) {
162
162
  for (const [objectId, value] of Objects.entries(ui_values || {})) {
163
- UI_ELEMENT_REGISTRY.set(objectId as UIElementId, value);
163
+ // @ts-expect-error - TODO: We need to fix the types for KernelReadyNotification["ui_values"]
164
+ // It is currently typed as Record<string, any> and should be Record<UIElementId, unknown>
165
+ const uiObjectId: UIElementId = objectId;
166
+ UI_ELEMENT_REGISTRY.set(uiObjectId, value);
164
167
  }
165
168
  return;
166
169
  }
@@ -196,7 +199,7 @@ export function handleRemoveUIElements(
196
199
  // This removes the element from the registry to (1) clean-up
197
200
  // memory and (2) make sure that the old value doesn't get re-used
198
201
  // if the same cell-id is later reused for another element.
199
- const cellId = data.cell_id as CellId;
202
+ const cellId = data.cell_id;
200
203
  UI_ELEMENT_REGISTRY.removeElementsByCell(cellId);
201
204
  VirtualFileTracker.INSTANCE.removeForCellId(cellId);
202
205
  }
@@ -41,6 +41,8 @@ export type DataColumnPreview = NotificationMessageData<"data-column-preview">;
41
41
  export type SQLTablePreview = NotificationMessageData<"sql-table-preview">;
42
42
  export type SQLTableListPreview =
43
43
  NotificationMessageData<"sql-table-list-preview">;
44
+ export type SQLSchemaListPreview =
45
+ NotificationMessageData<"sql-schema-list-preview">;
44
46
  export type ValidateSQLResult = NotificationMessageData<"validate-sql-result">;
45
47
  export type SecretKeysResult = NotificationMessageData<"secret-keys-result">;
46
48
  export type StartupLogs = NotificationMessageData<"startup-logs">;
@@ -1,10 +1,10 @@
1
1
  /* Copyright 2026 Marimo. All rights reserved. */
2
2
  /* eslint-disable @typescript-eslint/no-redeclare */
3
+ import type { components } from "@marimo-team/marimo-api";
3
4
  import { Deferred } from "@/utils/Deferred";
4
5
  import { generateUUID } from "@/utils/uuid";
5
- import type { TypedString } from "../../utils/typed";
6
6
 
7
- export type RequestId = TypedString<"RequestId">;
7
+ export type RequestId = components["schemas"]["RequestId"];
8
8
  export const RequestId = {
9
9
  create(): RequestId {
10
10
  return generateUUID() as RequestId;
@@ -1,17 +1,16 @@
1
1
  /* Copyright 2026 Marimo. All rights reserved. */
2
+
2
3
  import { beforeEach, describe, expect, it, vi } from "vitest";
4
+ import { requestId } from "@/__tests__/branded";
3
5
  import { CachingRequestRegistry } from "../CachingRequestRegistry";
4
- import {
5
- DeferredRequestRegistry,
6
- type RequestId,
7
- } from "../DeferredRequestRegistry";
6
+ import { DeferredRequestRegistry } from "../DeferredRequestRegistry";
8
7
 
9
8
  vi.mock("@/utils/uuid", () => ({
10
9
  generateUUID: vi.fn().mockReturnValue("uuid"),
11
10
  }));
12
11
 
13
12
  describe("CachingRequestRegistry", () => {
14
- const REQUEST_ID = "uuid" as RequestId;
13
+ const REQUEST_ID = requestId("uuid");
15
14
  let makeRequestMock = vi.fn();
16
15
  let delegate: DeferredRequestRegistry<unknown, unknown>;
17
16
  let caching: CachingRequestRegistry<unknown, unknown>;
@@ -31,7 +30,7 @@ describe("CachingRequestRegistry", () => {
31
30
 
32
31
  // Resolve first request
33
32
  delegate.resolve(REQUEST_ID, "response");
34
- await expect(p1).resolves.toBe("response");
33
+ await expect(p1).resolves.toBe(requestId("response"));
35
34
 
36
35
  // Second call with equivalent request gets served from cache
37
36
  const p2 = caching.request({ a: 1 });
@@ -50,8 +49,8 @@ describe("CachingRequestRegistry", () => {
50
49
  expect(p1).toStrictEqual(p2);
51
50
 
52
51
  // Resolve and ensure both resolve to same result
53
- delegate.resolve(REQUEST_ID, "ok");
54
- await expect(p1).resolves.toBe("ok");
52
+ delegate.resolve(REQUEST_ID, requestId("ok"));
53
+ await expect(p1).resolves.toBe(requestId("ok"));
55
54
  await expect(p2).resolves.toBe("ok");
56
55
  });
57
56
 
@@ -67,7 +66,7 @@ describe("CachingRequestRegistry", () => {
67
66
  expect(makeRequestMock).toHaveBeenCalledTimes(2);
68
67
 
69
68
  // Resolve the second request
70
- delegate.resolve(REQUEST_ID, "ok");
71
- await expect(p2).resolves.toBe("ok");
69
+ delegate.resolve(REQUEST_ID, requestId("ok"));
70
+ await expect(p2).resolves.toBe(requestId("ok"));
72
71
  });
73
72
  });
@@ -1,16 +1,14 @@
1
1
  /* Copyright 2026 Marimo. All rights reserved. */
2
2
  import { beforeEach, describe, expect, it, vi } from "vitest";
3
- import {
4
- DeferredRequestRegistry,
5
- type RequestId,
6
- } from "../DeferredRequestRegistry";
3
+ import { requestId } from "@/__tests__/branded";
4
+ import { DeferredRequestRegistry } from "../DeferredRequestRegistry";
7
5
 
8
6
  vi.mock("@/utils/uuid", () => ({
9
7
  generateUUID: vi.fn().mockReturnValue("uuid"),
10
8
  }));
11
9
 
12
10
  describe("DeferredRequestRegistry", () => {
13
- const REQUEST_ID = "uuid" as RequestId;
11
+ const REQUEST_ID = requestId("uuid");
14
12
  let makeRequestMock = vi.fn();
15
13
  let registry: DeferredRequestRegistry<unknown, unknown>;
16
14
 
@@ -26,7 +24,7 @@ describe("DeferredRequestRegistry", () => {
26
24
 
27
25
  // resolve
28
26
  registry.resolve(REQUEST_ID, "response");
29
- await expect(promise).resolves.toBe("response");
27
+ await expect(promise).resolves.toBe(requestId("response"));
30
28
  });
31
29
 
32
30
  it("should handle request failure", async () => {
@@ -112,13 +112,14 @@ const ACTIONS: Record<keyof AllRequests, Action> = {
112
112
  previewDatasetColumn: "waitForConnectionOpen",
113
113
  previewSQLTable: "waitForConnectionOpen",
114
114
  previewSQLTableList: "waitForConnectionOpen",
115
+ previewSQLSchemaList: "waitForConnectionOpen",
115
116
  previewDataSourceConnection: "waitForConnectionOpen",
116
117
  validateSQL: "waitForConnectionOpen",
117
118
  listStorageEntries: "waitForConnectionOpen",
118
119
  downloadStorage: "waitForConnectionOpen",
119
120
 
120
121
  // Sync operations that wait for connection
121
- syncCellIds: "waitForConnectionOpen",
122
+ sendDocumentTransaction: "waitForConnectionOpen",
122
123
  sendCodeCompletionRequest: "waitForConnectionOpen",
123
124
  };
124
125
 
@@ -49,10 +49,10 @@ export function createNetworkRequests(): EditRequests & RunRequests {
49
49
  })
50
50
  .then(handleResponseReturnNull);
51
51
  },
52
- syncCellIds: async (request) => {
52
+ sendDocumentTransaction: async (request) => {
53
53
  await waitForConnectionOpen();
54
54
  return getClient()
55
- .POST("/api/kernel/sync/cell_ids", {
55
+ .POST("/api/document/transaction", {
56
56
  body: request,
57
57
  params: getParams(),
58
58
  })
@@ -235,6 +235,14 @@ export function createNetworkRequests(): EditRequests & RunRequests {
235
235
  })
236
236
  .then(handleResponseReturnNull);
237
237
  },
238
+ previewSQLSchemaList: (request) => {
239
+ return getClient()
240
+ .POST("/api/datasources/preview_sql_schema_list", {
241
+ body: request,
242
+ params: getParams(),
243
+ })
244
+ .then(handleResponseReturnNull);
245
+ },
238
246
  previewDataSourceConnection: (request) => {
239
247
  return getClient()
240
248
  .POST("/api/datasources/preview_datasource_connection", {
@@ -36,7 +36,7 @@ export function createStaticRequests(): EditRequests & RunRequests {
36
36
  return null;
37
37
  },
38
38
  sendRestart: throwNotInEditMode,
39
- syncCellIds: throwNotInEditMode,
39
+ sendDocumentTransaction: throwNotInEditMode,
40
40
  sendRun: throwNotInEditMode,
41
41
  sendRunScratchpad: throwNotInEditMode,
42
42
  sendRename: throwNotInEditMode,
@@ -56,6 +56,7 @@ export function createStaticRequests(): EditRequests & RunRequests {
56
56
  previewDatasetColumn: throwNotInEditMode,
57
57
  previewSQLTable: throwNotInEditMode,
58
58
  previewSQLTableList: throwNotInEditMode,
59
+ previewSQLSchemaList: throwNotInEditMode,
59
60
  previewDataSourceConnection: throwNotInEditMode,
60
61
  validateSQL: throwNotInEditMode,
61
62
  openFile: throwNotInEditMode,
@@ -21,7 +21,7 @@ export function createErrorToastingRequests(
21
21
  sendInstantiate: "Failed to instantiate",
22
22
  sendFunctionRequest: "Failed to send function request",
23
23
  sendRestart: "Failed to restart",
24
- syncCellIds: "Failed to sync cell IDs",
24
+ sendDocumentTransaction: "Failed to sync document transaction",
25
25
  sendRun: "Failed to run",
26
26
  sendRunScratchpad: "Failed to run scratchpad",
27
27
  sendRename: "Failed to rename",
@@ -41,6 +41,7 @@ export function createErrorToastingRequests(
41
41
  previewDatasetColumn: "Failed to fetch data sources",
42
42
  previewSQLTable: "Failed to fetch SQL table",
43
43
  previewSQLTableList: "Failed to fetch SQL table list",
44
+ previewSQLSchemaList: "Failed to fetch SQL schema list",
44
45
  previewDataSourceConnection: "Failed to preview data source connection",
45
46
  validateSQL: "Failed to validate SQL",
46
47
  openFile: "Failed to open file",
@@ -59,6 +59,7 @@ export type PreviewDatasetColumnRequest =
59
59
  schemas["PreviewDatasetColumnRequest"];
60
60
  export type PreviewSQLTableRequest = schemas["PreviewSQLTableRequest"];
61
61
  export type ListSQLTablesRequest = schemas["ListSQLTablesRequest"];
62
+ export type ListSQLSchemasRequest = schemas["ListSQLSchemasRequest"];
62
63
  export type ListDataSourceConnectionRequest =
63
64
  schemas["ListDataSourceConnectionRequest"];
64
65
  export type ValidateSQLRequest = schemas["ValidateSQLRequest"];
@@ -79,7 +80,8 @@ export interface SetCellConfigRequest {
79
80
  }
80
81
  export type UpdateUIElementRequest = schemas["UpdateUIElementRequest"];
81
82
  export type ModelRequest = schemas["ModelRequest"];
82
- export type UpdateCellIdsRequest = schemas["UpdateCellIdsRequest"];
83
+ export type NotebookDocumentTransactionRequest =
84
+ schemas["NotebookDocumentTransactionRequest"];
83
85
  export type UpdateUserConfigRequest = schemas["UpdateUserConfigRequest"];
84
86
  export type ShutdownSessionRequest = schemas["ShutdownSessionRequest"];
85
87
  export type Snippet = schemas["Snippet"];
@@ -137,7 +139,9 @@ export interface EditRequests {
137
139
  saveAppConfig: (request: SaveAppConfigurationRequest) => Promise<null>;
138
140
  saveCellConfig: (request: SetCellConfigRequest) => Promise<null>;
139
141
  sendRestart: () => Promise<null>;
140
- syncCellIds: (request: UpdateCellIdsRequest) => Promise<null>;
142
+ sendDocumentTransaction: (
143
+ request: NotebookDocumentTransactionRequest,
144
+ ) => Promise<null>;
141
145
  sendInstallMissingPackages: (
142
146
  request: InstallPackagesRequest,
143
147
  ) => Promise<null>;
@@ -146,6 +150,7 @@ export interface EditRequests {
146
150
  previewDatasetColumn: (request: PreviewDatasetColumnRequest) => Promise<null>;
147
151
  previewSQLTable: (request: PreviewSQLTableRequest) => Promise<null>;
148
152
  previewSQLTableList: (request: ListSQLTablesRequest) => Promise<null>;
153
+ previewSQLSchemaList: (request: ListSQLSchemasRequest) => Promise<null>;
149
154
  previewDataSourceConnection: (
150
155
  request: ListDataSourceConnectionRequest,
151
156
  ) => Promise<null>;
@@ -1,6 +1,6 @@
1
1
  /* Copyright 2026 Marimo. All rights reserved. */
2
2
  import { describe, expect, it } from "vitest";
3
- import type { CellId } from "@/core/cells/ids";
3
+ import { cellId } from "@/__tests__/branded";
4
4
  import type { OutputMessage } from "@/core/kernel/messages";
5
5
  import { findVirtualFiles, VirtualFileTracker } from "../virtual-file-tracker";
6
6
 
@@ -103,32 +103,32 @@ describe("findVirtualFiles", () => {
103
103
  describe("VirtualFileTracker", () => {
104
104
  it("should track virtual files, append, clear", () => {
105
105
  const tracker = VirtualFileTracker.INSTANCE;
106
- const cellId = "test-cell-id" as CellId;
106
+ const cid = cellId("test-cell-id");
107
107
  tracker.track({
108
- cell_id: cellId,
108
+ cell_id: cid,
109
109
  output: {
110
110
  mimetype: "text/html",
111
111
  data: "Some text /@file/test-file.js more text",
112
112
  } as OutputMessage,
113
113
  });
114
- expect(tracker.virtualFiles.get(cellId)).toEqual(
114
+ expect(tracker.virtualFiles.get(cid)).toEqual(
115
115
  new Set(["/@file/test-file.js"]),
116
116
  );
117
117
 
118
118
  // can append
119
119
  tracker.track({
120
- cell_id: cellId,
120
+ cell_id: cid,
121
121
  output: {
122
122
  mimetype: "text/html",
123
123
  data: "Some text /@file/another-file.txt more text",
124
124
  } as OutputMessage,
125
125
  });
126
- expect(tracker.virtualFiles.get(cellId)).toEqual(
126
+ expect(tracker.virtualFiles.get(cid)).toEqual(
127
127
  new Set(["/@file/test-file.js", "/@file/another-file.txt"]),
128
128
  );
129
129
 
130
130
  // can clear
131
- tracker.removeForCellId(cellId);
132
- expect(tracker.virtualFiles.get(cellId)).toEqual(undefined);
131
+ tracker.removeForCellId(cid);
132
+ expect(tracker.virtualFiles.get(cid)).toEqual(undefined);
133
133
  });
134
134
  });
@@ -29,7 +29,7 @@ export class VirtualFileTracker {
29
29
 
30
30
  track(message: Pick<CellMessage, "cell_id" | "output">): void {
31
31
  const output = message.output;
32
- const cellId = message.cell_id as CellId;
32
+ const cellId = message.cell_id;
33
33
  if (!output) {
34
34
  return;
35
35
  }
@@ -1,5 +1,6 @@
1
1
  /* Copyright 2026 Marimo. All rights reserved. */
2
2
  import { beforeEach, describe, expect, it } from "vitest";
3
+ import { variableName } from "@/__tests__/branded";
3
4
  import type { VariableName } from "../../variables/types";
4
5
  import { exportedForTesting } from "../state";
5
6
  import type { StorageEntry, StorageNamespace, StorageState } from "../types";
@@ -7,7 +8,7 @@ import type { StorageEntry, StorageNamespace, StorageState } from "../types";
7
8
  const { initialState, reducer, createActions } = exportedForTesting;
8
9
 
9
10
  function makeNamespace(
10
- overrides: Partial<StorageNamespace> & { name: string },
11
+ overrides: Partial<StorageNamespace> & { name: VariableName },
11
12
  ): StorageNamespace {
12
13
  return {
13
14
  backendType: overrides.backendType ?? "obstore",
@@ -53,8 +54,14 @@ describe("storage state", () => {
53
54
 
54
55
  describe("setNamespaces", () => {
55
56
  it("should add namespaces from an empty state", () => {
56
- const ns1 = makeNamespace({ name: "my_s3", protocol: "s3" });
57
- const ns2 = makeNamespace({ name: "my_gcs", protocol: "gcs" });
57
+ const ns1 = makeNamespace({
58
+ name: variableName("my_s3"),
59
+ protocol: "s3",
60
+ });
61
+ const ns2 = makeNamespace({
62
+ name: variableName("my_gcs"),
63
+ protocol: "gcs",
64
+ });
58
65
 
59
66
  actions.setNamespaces({ namespaces: [ns1, ns2] });
60
67
 
@@ -63,15 +70,18 @@ describe("storage state", () => {
63
70
 
64
71
  it("should merge namespaces by name, replacing existing ones", () => {
65
72
  const nsOld = makeNamespace({
66
- name: "my_s3",
73
+ name: variableName("my_s3"),
67
74
  protocol: "s3",
68
75
  rootPath: "/old",
69
76
  });
70
- const nsOther = makeNamespace({ name: "my_gcs", protocol: "gcs" });
77
+ const nsOther = makeNamespace({
78
+ name: variableName("my_gcs"),
79
+ protocol: "gcs",
80
+ });
71
81
  actions.setNamespaces({ namespaces: [nsOld, nsOther] });
72
82
 
73
83
  const nsUpdated = makeNamespace({
74
- name: "my_s3",
84
+ name: variableName("my_s3"),
75
85
  protocol: "s3",
76
86
  rootPath: "/new",
77
87
  });
@@ -82,10 +92,10 @@ describe("storage state", () => {
82
92
  });
83
93
 
84
94
  it("should add new namespaces alongside existing ones", () => {
85
- const ns1 = makeNamespace({ name: "ns1" });
95
+ const ns1 = makeNamespace({ name: variableName("ns1") });
86
96
  actions.setNamespaces({ namespaces: [ns1] });
87
97
 
88
- const ns2 = makeNamespace({ name: "ns2" });
98
+ const ns2 = makeNamespace({ name: variableName("ns2") });
89
99
  actions.setNamespaces({ namespaces: [ns2] });
90
100
 
91
101
  expect(state.namespaces).toHaveLength(2);
@@ -101,7 +111,7 @@ describe("storage state", () => {
101
111
  });
102
112
 
103
113
  actions.setNamespaces({
104
- namespaces: [makeNamespace({ name: "ns" })],
114
+ namespaces: [makeNamespace({ name: variableName("ns") })],
105
115
  });
106
116
 
107
117
  expect(state.entriesByPath.get("ns::")).toEqual([entry]);
@@ -205,7 +215,7 @@ describe("storage state", () => {
205
215
  });
206
216
 
207
217
  it("should not affect namespaces", () => {
208
- const ns = makeNamespace({ name: "ns" });
218
+ const ns = makeNamespace({ name: variableName("ns") });
209
219
  actions.setNamespaces({ namespaces: [ns] });
210
220
 
211
221
  actions.setEntries({
@@ -263,7 +273,7 @@ describe("storage state", () => {
263
273
  });
264
274
 
265
275
  it("should not affect namespaces", () => {
266
- const ns = makeNamespace({ name: "my_s3" });
276
+ const ns = makeNamespace({ name: variableName("my_s3") });
267
277
  actions.setNamespaces({ namespaces: [ns] });
268
278
  actions.setEntries({
269
279
  namespace: "my_s3",
@@ -293,31 +303,31 @@ describe("storage state", () => {
293
303
 
294
304
  describe("filterFromVariables", () => {
295
305
  it("should keep namespaces whose variable is still in scope", () => {
296
- const ns1 = makeNamespace({ name: "var_a" });
297
- const ns2 = makeNamespace({ name: "var_b" });
306
+ const ns1 = makeNamespace({ name: variableName("var_a") });
307
+ const ns2 = makeNamespace({ name: variableName("var_b") });
298
308
  actions.setNamespaces({ namespaces: [ns1, ns2] });
299
309
 
300
310
  actions.filterFromVariables([
301
- "var_a" as VariableName,
302
- "var_b" as VariableName,
311
+ variableName("var_a"),
312
+ variableName("var_b"),
303
313
  ]);
304
314
 
305
315
  expect(state.namespaces).toEqual([ns1, ns2]);
306
316
  });
307
317
 
308
318
  it("should remove namespaces whose variable is no longer in scope", () => {
309
- const ns1 = makeNamespace({ name: "var_a" });
310
- const ns2 = makeNamespace({ name: "var_b" });
319
+ const ns1 = makeNamespace({ name: variableName("var_a") });
320
+ const ns2 = makeNamespace({ name: variableName("var_b") });
311
321
  actions.setNamespaces({ namespaces: [ns1, ns2] });
312
322
 
313
- actions.filterFromVariables(["var_a" as VariableName]);
323
+ actions.filterFromVariables([variableName("var_a")]);
314
324
 
315
325
  expect(state.namespaces).toEqual([ns1]);
316
326
  });
317
327
 
318
328
  it("should remove all named namespaces when given an empty variable list", () => {
319
- const ns1 = makeNamespace({ name: "var_a" });
320
- const ns2 = makeNamespace({ name: "var_b" });
329
+ const ns1 = makeNamespace({ name: variableName("var_a") });
330
+ const ns2 = makeNamespace({ name: variableName("var_b") });
321
331
  actions.setNamespaces({ namespaces: [ns1, ns2] });
322
332
 
323
333
  actions.filterFromVariables([]);
@@ -326,7 +336,7 @@ describe("storage state", () => {
326
336
  });
327
337
 
328
338
  it("should not affect entriesByPath", () => {
329
- const ns = makeNamespace({ name: "ns" });
339
+ const ns = makeNamespace({ name: variableName("ns") });
330
340
  actions.setNamespaces({ namespaces: [ns] });
331
341
 
332
342
  const entry = makeEntry({ path: "file.txt" });
@@ -71,7 +71,7 @@ const {
71
71
  const names = new Set(variableNames);
72
72
  // Filter out namespaces whose backing variable is no longer in scope
73
73
  const namespaces = state.namespaces.filter((ns) => {
74
- return names.has(ns.name as VariableName);
74
+ return names.has(ns.name);
75
75
  });
76
76
  return { ...state, namespaces };
77
77
  },
@@ -1,19 +1,19 @@
1
1
  /* Copyright 2026 Marimo. All rights reserved. */
2
2
  import { beforeEach, describe, expect, it } from "vitest";
3
- import type { CellId } from "@/core/cells/ids";
3
+ import { cellId, variableName } from "@/__tests__/branded";
4
4
  import { exportedForTesting } from "../state";
5
- import type { VariableName, Variables } from "../types";
5
+ import type { Variables } from "../types";
6
6
 
7
7
  const { initialState, reducer, createActions } = exportedForTesting;
8
8
 
9
9
  const CellIds = {
10
- a: "a" as CellId,
11
- b: "b" as CellId,
10
+ a: cellId("a"),
11
+ b: cellId("b"),
12
12
  };
13
13
 
14
14
  const Names = {
15
- x: "x" as VariableName,
16
- y: "y" as VariableName,
15
+ x: variableName("x"),
16
+ y: variableName("y"),
17
17
  };
18
18
 
19
19
  describe("cell reducer", () => {
@@ -1,9 +1,9 @@
1
1
  /* Copyright 2026 Marimo. All rights reserved. */
2
2
 
3
- import type { TypedString } from "../../utils/typed";
3
+ import type { components } from "@marimo-team/marimo-api";
4
4
  import type { CellId } from "../cells/ids";
5
5
 
6
- export type VariableName = TypedString<"VariableName">;
6
+ export type VariableName = components["schemas"]["VariableName"];
7
7
 
8
8
  export interface Variable {
9
9
  name: VariableName;
@@ -2,9 +2,9 @@
2
2
 
3
3
  import { createRef } from "react";
4
4
  import { describe, expect, it } from "vitest";
5
+ import { cellId } from "@/__tests__/branded";
5
6
  import type { NotebookState } from "@/core/cells/cells";
6
7
  import { initialNotebookState, notebookAtom } from "@/core/cells/cells";
7
- import type { CellId } from "@/core/cells/ids";
8
8
  import { createCell, createCellRuntimeState } from "@/core/cells/types";
9
9
  import type { OutputMessage } from "@/core/kernel/messages";
10
10
  import { store } from "@/core/state/jotai";
@@ -17,17 +17,17 @@ describe("hasAnyOutputAtom", () => {
17
17
  ): NotebookState => ({
18
18
  ...initialNotebookState(),
19
19
  cellIds: new MultiColumn([
20
- CollapsibleTree.from(outputs.map((_, i) => `${i}` as CellId)),
20
+ CollapsibleTree.from(outputs.map((_, i) => cellId(`${i}`))),
21
21
  ]),
22
22
  cellData: Object.fromEntries(
23
23
  outputs.map((_, i) => [
24
- `${i}` as CellId,
25
- createCell({ id: `${i}` as CellId }),
24
+ cellId(`${i}`),
25
+ createCell({ id: cellId(`${i}`) }),
26
26
  ]),
27
27
  ),
28
28
  cellRuntime: Object.fromEntries(
29
29
  outputs.map((output, i) => [
30
- `${i}` as CellId,
30
+ `${i}`,
31
31
  createCellRuntimeState({
32
32
  output,
33
33
  status: "queued",
@@ -36,7 +36,7 @@ describe("hasAnyOutputAtom", () => {
36
36
  ]),
37
37
  ),
38
38
  cellHandles: Object.fromEntries(
39
- outputs.map((_, i) => [`${i}` as CellId, createRef()]),
39
+ outputs.map((_, i) => [cellId(`${i}`), createRef()]),
40
40
  ),
41
41
  });
42
42
 
@@ -90,8 +90,8 @@ describe("hasAnyOutputAtom", () => {
90
90
 
91
91
  it("should return true when all outputs are idle", () => {
92
92
  const notebookState = createNotebookState([null, null]);
93
- const cellId0 = "0" as CellId;
94
- const cellId1 = "1" as CellId;
93
+ const cellId0 = cellId("0");
94
+ const cellId1 = cellId("1");
95
95
  // Some idle cell, so returns false
96
96
  store.set(notebookAtom, {
97
97
  ...notebookState,
@@ -523,6 +523,16 @@ export class PyodideBridge implements RunRequests, EditRequests {
523
523
  return null;
524
524
  };
525
525
 
526
+ previewSQLSchemaList: EditRequests["previewSQLSchemaList"] = async (
527
+ request,
528
+ ) => {
529
+ await this.putControlRequest({
530
+ type: "list-sql-schemas",
531
+ ...request,
532
+ });
533
+ return null;
534
+ };
535
+
526
536
  previewDataSourceConnection: EditRequests["previewDataSourceConnection"] =
527
537
  async (request) => {
528
538
  await this.putControlRequest({
@@ -548,7 +558,7 @@ export class PyodideBridge implements RunRequests, EditRequests {
548
558
  return null;
549
559
  };
550
560
 
551
- syncCellIds = () => Promise.resolve(null);
561
+ sendDocumentTransaction = () => Promise.resolve(null);
552
562
 
553
563
  addPackage: EditRequests["addPackage"] = async (request) => {
554
564
  return this.rpc.proxy.request.addPackage(request);