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

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
@@ -2,6 +2,7 @@
2
2
 
3
3
  import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
4
4
  import { Mocks } from "@/__mocks__/common";
5
+ import { cellId } from "@/__tests__/branded";
5
6
 
6
7
  // Mock the external dependencies
7
8
  vi.mock("html-to-image", () => ({
@@ -13,7 +14,6 @@ vi.mock("@/utils/Logger", () => ({
13
14
  }));
14
15
 
15
16
  import type { NotebookState } from "@/core/cells/cells";
16
- import type { CellId } from "@/core/cells/ids";
17
17
  import type { OutputMessage } from "@/core/kernel/messages";
18
18
  import type { JotaiStore } from "@/core/state/jotai";
19
19
  import { CellOutputContextProvider, getCellContextData } from "../cell-output";
@@ -35,21 +35,21 @@ describe("CellOutputContextProvider", () => {
35
35
  // Create a basic mock notebook state
36
36
  mockNotebook = {
37
37
  cellIds: {
38
- inOrderIds: ["cell1" as CellId, "cell2" as CellId, "cell3" as CellId],
38
+ inOrderIds: ["cell1", "cell2", "cell3"],
39
39
  },
40
40
  cellData: {
41
41
  cell1: {
42
- id: "cell1" as CellId,
42
+ id: "cell1",
43
43
  name: "My Cell",
44
44
  code: "print('hello world')",
45
45
  },
46
46
  cell2: {
47
- id: "cell2" as CellId,
47
+ id: "cell2",
48
48
  name: "",
49
49
  code: "import matplotlib.pyplot as plt\nplt.plot([1,2,3])",
50
50
  },
51
51
  cell3: {
52
- id: "cell3" as CellId,
52
+ id: "cell3",
53
53
  name: "Empty Cell",
54
54
  code: "# no output",
55
55
  },
@@ -226,9 +226,9 @@ describe("Cell output utility functions", () => {
226
226
 
227
227
  for (const testCase of testCases) {
228
228
  mockStore = createMockStore({
229
- cellIds: { inOrderIds: ["test" as CellId] },
229
+ cellIds: { inOrderIds: ["test"] },
230
230
  cellData: {
231
- test: { id: "test" as CellId, name: "", code: "" },
231
+ test: { id: "test", name: "", code: "" },
232
232
  },
233
233
  cellRuntime: {
234
234
  test: {
@@ -261,9 +261,9 @@ describe("Cell output utility functions", () => {
261
261
 
262
262
  for (const testCase of testCases) {
263
263
  mockStore = createMockStore({
264
- cellIds: { inOrderIds: ["test" as CellId] },
264
+ cellIds: { inOrderIds: ["test"] },
265
265
  cellData: {
266
- test: { id: "test" as CellId, name: "", code: "" },
266
+ test: { id: "test", name: "", code: "" },
267
267
  },
268
268
  cellRuntime: {
269
269
  test: {
@@ -295,9 +295,9 @@ describe("Cell output utility functions", () => {
295
295
 
296
296
  for (const testCase of testCases) {
297
297
  mockStore = createMockStore({
298
- cellIds: { inOrderIds: ["test" as CellId] },
298
+ cellIds: { inOrderIds: ["test"] },
299
299
  cellData: {
300
- test: { id: "test" as CellId, name: "", code: "" },
300
+ test: { id: "test", name: "", code: "" },
301
301
  },
302
302
  cellRuntime: {
303
303
  test: {
@@ -369,9 +369,9 @@ describe("Cell output utility functions", () => {
369
369
  ).mockReturnValue(mockDiv);
370
370
 
371
371
  mockStore = createMockStore({
372
- cellIds: { inOrderIds: ["test" as CellId] },
372
+ cellIds: { inOrderIds: ["test"] },
373
373
  cellData: {
374
- test: { id: "test" as CellId, name: "", code: "" },
374
+ test: { id: "test", name: "", code: "" },
375
375
  },
376
376
  cellRuntime: {
377
377
  test: {
@@ -396,16 +396,16 @@ describe("Cell output utility functions", () => {
396
396
  beforeEach(() => {
397
397
  mockNotebook = {
398
398
  cellIds: {
399
- inOrderIds: ["cell1" as CellId, "cell2" as CellId],
399
+ inOrderIds: ["cell1", "cell2"],
400
400
  },
401
401
  cellData: {
402
402
  cell1: {
403
- id: "cell1" as CellId,
403
+ id: "cell1",
404
404
  name: "My Named Cell",
405
405
  code: "x = 42",
406
406
  },
407
407
  cell2: {
408
- id: "cell2" as CellId,
408
+ id: "cell2",
409
409
  name: "",
410
410
  code: "y = x * 2",
411
411
  },
@@ -432,7 +432,7 @@ describe("Cell output utility functions", () => {
432
432
  });
433
433
 
434
434
  it("should extract basic cell data", () => {
435
- const result = getCellContextData("cell1" as CellId, mockNotebook);
435
+ const result = getCellContextData(cellId("cell1"), mockNotebook);
436
436
 
437
437
  expect(result.cellId).toBe("cell1");
438
438
  expect(result.cellName).toBe("My Named Cell");
@@ -440,13 +440,13 @@ describe("Cell output utility functions", () => {
440
440
  });
441
441
 
442
442
  it("should generate cell name for unnamed cells", () => {
443
- const result = getCellContextData("cell2" as CellId, mockNotebook);
443
+ const result = getCellContextData(cellId("cell2"), mockNotebook);
444
444
 
445
445
  expect(result.cellName).toBe("cell-1"); // 0-indexed, so cell2 is at index 1
446
446
  });
447
447
 
448
448
  it("should include cell output when present", () => {
449
- const result = getCellContextData("cell1" as CellId, mockNotebook);
449
+ const result = getCellContextData(cellId("cell1"), mockNotebook);
450
450
 
451
451
  expect(result.cellOutput).toBeDefined();
452
452
  expect(result.cellOutput?.outputType).toBe("text");
@@ -454,19 +454,19 @@ describe("Cell output utility functions", () => {
454
454
  });
455
455
 
456
456
  it("should not include cell output when not present", () => {
457
- const result = getCellContextData("cell2" as CellId, mockNotebook);
457
+ const result = getCellContextData(cellId("cell2"), mockNotebook);
458
458
 
459
459
  expect(result.cellOutput).toBeUndefined();
460
460
  });
461
461
 
462
462
  it("should not include console outputs by default", () => {
463
- const result = getCellContextData("cell2" as CellId, mockNotebook);
463
+ const result = getCellContextData(cellId("cell2"), mockNotebook);
464
464
 
465
465
  expect(result.consoleOutputs).toBeUndefined();
466
466
  });
467
467
 
468
468
  it("should include console outputs when opted in", () => {
469
- const result = getCellContextData("cell2" as CellId, mockNotebook, {
469
+ const result = getCellContextData(cellId("cell2"), mockNotebook, {
470
470
  includeConsoleOutput: true,
471
471
  });
472
472
 
@@ -478,7 +478,7 @@ describe("Cell output utility functions", () => {
478
478
  });
479
479
 
480
480
  it("should filter out empty console outputs", () => {
481
- const cell2Runtime = mockNotebook.cellRuntime["cell2" as CellId];
481
+ const cell2Runtime = mockNotebook.cellRuntime[cellId("cell2")];
482
482
  if (cell2Runtime) {
483
483
  (cell2Runtime as { consoleOutputs: OutputMessage[] }).consoleOutputs = [
484
484
  {
@@ -492,7 +492,7 @@ describe("Cell output utility functions", () => {
492
492
  ];
493
493
  }
494
494
 
495
- const result = getCellContextData("cell2" as CellId, mockNotebook, {
495
+ const result = getCellContextData(cellId("cell2"), mockNotebook, {
496
496
  includeConsoleOutput: true,
497
497
  });
498
498
 
@@ -501,7 +501,7 @@ describe("Cell output utility functions", () => {
501
501
  });
502
502
 
503
503
  it("should handle cells with both cell output and console outputs", () => {
504
- const cell1Runtime = mockNotebook.cellRuntime["cell1" as CellId];
504
+ const cell1Runtime = mockNotebook.cellRuntime[cellId("cell1")];
505
505
  if (cell1Runtime) {
506
506
  (cell1Runtime as { consoleOutputs: OutputMessage[] }).consoleOutputs = [
507
507
  {
@@ -511,7 +511,7 @@ describe("Cell output utility functions", () => {
511
511
  ];
512
512
  }
513
513
 
514
- const result = getCellContextData("cell1" as CellId, mockNotebook, {
514
+ const result = getCellContextData(cellId("cell1"), mockNotebook, {
515
515
  includeConsoleOutput: true,
516
516
  });
517
517
 
@@ -524,7 +524,7 @@ describe("Cell output utility functions", () => {
524
524
  });
525
525
 
526
526
  it("should handle empty console outputs array", () => {
527
- const result = getCellContextData("cell1" as CellId, mockNotebook, {
527
+ const result = getCellContextData(cellId("cell1"), mockNotebook, {
528
528
  includeConsoleOutput: true,
529
529
  });
530
530
 
@@ -532,7 +532,7 @@ describe("Cell output utility functions", () => {
532
532
  });
533
533
 
534
534
  it("should handle media outputs in cell output", () => {
535
- const cell1Runtime = mockNotebook.cellRuntime["cell1" as CellId];
535
+ const cell1Runtime = mockNotebook.cellRuntime[cellId("cell1")];
536
536
  if (cell1Runtime) {
537
537
  (cell1Runtime as { output: OutputMessage | null }).output = {
538
538
  mimetype: "image/png",
@@ -540,7 +540,7 @@ describe("Cell output utility functions", () => {
540
540
  } as OutputMessage;
541
541
  }
542
542
 
543
- const result = getCellContextData("cell1" as CellId, mockNotebook);
543
+ const result = getCellContextData(cellId("cell1"), mockNotebook);
544
544
 
545
545
  expect(result.cellOutput).toBeDefined();
546
546
  expect(result.cellOutput?.outputType).toBe("media");
@@ -548,7 +548,7 @@ describe("Cell output utility functions", () => {
548
548
  });
549
549
 
550
550
  it("should handle media outputs in console outputs", () => {
551
- const cell2Runtime = mockNotebook.cellRuntime["cell2" as CellId];
551
+ const cell2Runtime = mockNotebook.cellRuntime[cellId("cell2")];
552
552
  if (cell2Runtime) {
553
553
  (cell2Runtime as { consoleOutputs: OutputMessage[] }).consoleOutputs = [
554
554
  {
@@ -558,7 +558,7 @@ describe("Cell output utility functions", () => {
558
558
  ];
559
559
  }
560
560
 
561
- const result = getCellContextData("cell2" as CellId, mockNotebook, {
561
+ const result = getCellContextData(cellId("cell2"), mockNotebook, {
562
562
  includeConsoleOutput: true,
563
563
  });
564
564
 
@@ -2,7 +2,7 @@
2
2
  /* eslint-disable @typescript-eslint/no-explicit-any */
3
3
 
4
4
  import { beforeEach, describe, expect, it } from "vitest";
5
- import type { CellId } from "@/core/cells/ids";
5
+ import { cellId, variableName } from "@/__tests__/branded";
6
6
  import type {
7
7
  ConnectionsMap,
8
8
  DatasetTablesMap,
@@ -88,7 +88,7 @@ const createMockDataTable = (
88
88
  source_type: "local",
89
89
  num_rows: 100,
90
90
  num_columns: 3,
91
- variable_name: name, // This makes it a dataframe
91
+ variable_name: variableName(name), // This makes it a dataframe
92
92
  columns: [
93
93
  {
94
94
  name: "id",
@@ -634,7 +634,7 @@ describe("DatasourceContextProvider", () => {
634
634
 
635
635
  describe("getDatasourceContext", () => {
636
636
  it("should return null if no cell ID is found", () => {
637
- const context = getDatasourceContext("1" as CellId);
637
+ const context = getDatasourceContext(cellId("1"));
638
638
  expect(context).toBeNull();
639
639
  });
640
640
  });
@@ -1,6 +1,7 @@
1
1
  /* Copyright 2026 Marimo. All rights reserved. */
2
2
 
3
3
  import { describe, expect, it } from "vitest";
4
+ import { variableName } from "@/__tests__/branded";
4
5
  import type { DatasetTablesMap } from "@/core/datasets/data-source-connections";
5
6
  import type { DataTable, DataTableColumn } from "@/core/kernel/messages";
6
7
  import { type TableContextItem, TableContextProvider } from "../tables";
@@ -86,7 +87,7 @@ describe("TableContextProvider", () => {
86
87
 
87
88
  it("should handle dataframe tables with variable names", () => {
88
89
  const dfTable = createMockTable("df_analysis", {
89
- variable_name: "df_analysis",
90
+ variable_name: variableName("df_analysis"),
90
91
  source: "pandas",
91
92
  source_type: "local",
92
93
  columns: [
@@ -180,7 +181,7 @@ describe("TableContextProvider", () => {
180
181
  const table = createMockTable("remote_table", {
181
182
  source: "postgresql://localhost:5432/mydb",
182
183
  source_type: "connection",
183
- engine: "postgresql",
184
+ engine: variableName("postgresql"),
184
185
  columns: [
185
186
  createMockColumn("uuid", "string", "uuid"),
186
187
  createMockColumn("created_at", "string", "timestamp with time zone"),
@@ -2,9 +2,9 @@
2
2
  /* eslint-disable @typescript-eslint/no-explicit-any */
3
3
 
4
4
  import { describe, expect, it, vi } from "vitest";
5
- import type { CellId } from "@/core/cells/ids";
5
+ import { cellId, variableName } from "@/__tests__/branded";
6
6
  import type { DatasetTablesMap } from "@/core/datasets/data-source-connections";
7
- import type { Variable, VariableName, Variables } from "@/core/variables/types";
7
+ import type { Variable, Variables } from "@/core/variables/types";
8
8
  import { type VariableContextItem, VariableContextProvider } from "../variable";
9
9
 
10
10
  // Mock the variable completions module
@@ -17,7 +17,7 @@ vi.mock("@/core/codemirror/completion/variable-completions", () => ({
17
17
  prefix: string,
18
18
  ) => {
19
19
  return Object.entries(variables).map(([name, variable]) => ({
20
- name: `${prefix}${name}`,
20
+ name: variableName(`${prefix}${name}`),
21
21
  displayname: name,
22
22
  detail: variable.dataType || "unknown",
23
23
  boost,
@@ -34,9 +34,9 @@ const createMockVariable = (
34
34
  name: string,
35
35
  options: Partial<Variable> = {},
36
36
  ): Variable => ({
37
- name: name as VariableName,
38
- declaredBy: ["cell1" as CellId],
39
- usedBy: ["cell2" as CellId],
37
+ name: variableName(name),
38
+ declaredBy: [cellId("cell1")],
39
+ usedBy: [cellId("cell2")],
40
40
  value: `value_of_${name}`,
41
41
  dataType: "str",
42
42
  ...options,
@@ -55,10 +55,13 @@ describe("VariableContextProvider", () => {
55
55
 
56
56
  it("should return variable items for single variable", () => {
57
57
  const variables: Variables = {
58
- ["user_name" as VariableName]: createMockVariable("user_name", {
59
- value: '"John Doe"',
60
- dataType: "str",
61
- }),
58
+ [variableName("user_name")]: createMockVariable(
59
+ variableName("user_name"),
60
+ {
61
+ value: '"John Doe"',
62
+ dataType: "str",
63
+ },
64
+ ),
62
65
  };
63
66
  const tablesMap: DatasetTablesMap = new Map();
64
67
  const provider = new VariableContextProvider(variables, tablesMap);
@@ -69,29 +72,32 @@ describe("VariableContextProvider", () => {
69
72
 
70
73
  it("should return variable items for multiple variables with different types", () => {
71
74
  const variables: Variables = {
72
- ["user_id" as VariableName]: createMockVariable("user_id", {
75
+ [variableName("user_id")]: createMockVariable(variableName("user_id"), {
73
76
  value: "123",
74
77
  dataType: "int",
75
- declaredBy: ["cell1" as CellId],
76
- usedBy: ["cell2" as CellId, "cell3" as CellId],
77
- }),
78
- ["is_active" as VariableName]: createMockVariable("is_active", {
79
- value: "True",
80
- dataType: "bool",
81
- declaredBy: ["cell2" as CellId],
82
- usedBy: [],
78
+ declaredBy: [cellId("cell1")],
79
+ usedBy: [cellId("cell2"), cellId("cell3")],
83
80
  }),
84
- ["scores" as VariableName]: createMockVariable("scores", {
81
+ [variableName("is_active")]: createMockVariable(
82
+ variableName("is_active"),
83
+ {
84
+ value: "True",
85
+ dataType: "bool",
86
+ declaredBy: [cellId("cell2")],
87
+ usedBy: [],
88
+ },
89
+ ),
90
+ [variableName("scores")]: createMockVariable(variableName("scores"), {
85
91
  value: "[1, 2, 3, 4, 5]",
86
92
  dataType: "list",
87
- declaredBy: ["cell3" as CellId],
88
- usedBy: ["cell4" as CellId],
93
+ declaredBy: [cellId("cell3")],
94
+ usedBy: [cellId("cell4")],
89
95
  }),
90
- ["config" as VariableName]: createMockVariable("config", {
96
+ [variableName("config")]: createMockVariable(variableName("config"), {
91
97
  value: '{"debug": true, "timeout": 30}',
92
98
  dataType: "dict",
93
- declaredBy: ["cell1" as CellId],
94
- usedBy: ["cell2" as CellId, "cell4" as CellId],
99
+ declaredBy: [cellId("cell1")],
100
+ usedBy: [cellId("cell2"), cellId("cell4")],
95
101
  }),
96
102
  };
97
103
  const tablesMap: DatasetTablesMap = new Map();
@@ -103,18 +109,27 @@ describe("VariableContextProvider", () => {
103
109
 
104
110
  it("should handle variables with null/undefined values", () => {
105
111
  const variables: Variables = {
106
- ["null_var" as VariableName]: createMockVariable("null_var", {
107
- value: null,
108
- dataType: "NoneType",
109
- }),
110
- ["undefined_var" as VariableName]: createMockVariable("undefined_var", {
111
- value: undefined,
112
- dataType: null,
113
- }),
114
- ["empty_string" as VariableName]: createMockVariable("empty_string", {
115
- value: '""',
116
- dataType: "str",
117
- }),
112
+ [variableName("null_var")]: createMockVariable(
113
+ variableName("null_var"),
114
+ {
115
+ value: null,
116
+ dataType: "NoneType",
117
+ },
118
+ ),
119
+ [variableName("undefined_var")]: createMockVariable(
120
+ variableName("undefined_var"),
121
+ {
122
+ value: undefined,
123
+ dataType: null,
124
+ },
125
+ ),
126
+ [variableName("empty_string")]: createMockVariable(
127
+ variableName("empty_string"),
128
+ {
129
+ value: '""',
130
+ dataType: "str",
131
+ },
132
+ ),
118
133
  };
119
134
  const tablesMap: DatasetTablesMap = new Map();
120
135
  const provider = new VariableContextProvider(variables, tablesMap);
@@ -125,23 +140,23 @@ describe("VariableContextProvider", () => {
125
140
 
126
141
  it("should handle complex data types", () => {
127
142
  const variables: Variables = {
128
- ["df" as VariableName]: createMockVariable("df", {
143
+ [variableName("df")]: createMockVariable(variableName("df"), {
129
144
  value: "<DataFrame shape: (100, 5)>",
130
145
  dataType: "pandas.DataFrame",
131
- declaredBy: ["cell1" as CellId],
132
- usedBy: ["cell2" as CellId, "cell3" as CellId],
146
+ declaredBy: [cellId("cell1")],
147
+ usedBy: [cellId("cell2"), cellId("cell3")],
133
148
  }),
134
- ["model" as VariableName]: createMockVariable("model", {
149
+ [variableName("model")]: createMockVariable(variableName("model"), {
135
150
  value: "<sklearn.linear_model.LinearRegression>",
136
151
  dataType: "sklearn.linear_model._base.LinearRegression",
137
- declaredBy: ["cell4" as CellId],
138
- usedBy: ["cell5" as CellId],
152
+ declaredBy: [cellId("cell4")],
153
+ usedBy: [cellId("cell5")],
139
154
  }),
140
- ["array" as VariableName]: createMockVariable("array", {
155
+ [variableName("array")]: createMockVariable(variableName("array"), {
141
156
  value: "array([1, 2, 3, 4, 5])",
142
157
  dataType: "numpy.ndarray",
143
- declaredBy: ["cell2" as CellId],
144
- usedBy: ["cell3" as CellId],
158
+ declaredBy: [cellId("cell2")],
159
+ usedBy: [cellId("cell3")],
145
160
  }),
146
161
  };
147
162
  const tablesMap: DatasetTablesMap = new Map();
@@ -153,21 +168,27 @@ describe("VariableContextProvider", () => {
153
168
 
154
169
  it("should handle variables with special characters in names", () => {
155
170
  const variables: Variables = {
156
- ["_private_var" as VariableName]: createMockVariable("_private_var", {
157
- value: "42",
158
- dataType: "int",
159
- }),
160
- ["var_with_numbers123" as VariableName]: createMockVariable(
161
- "var_with_numbers123",
171
+ [variableName("_private_var")]: createMockVariable(
172
+ variableName("_private_var"),
173
+ {
174
+ value: "42",
175
+ dataType: "int",
176
+ },
177
+ ),
178
+ [variableName("var_with_numbers123")]: createMockVariable(
179
+ variableName("var_with_numbers123"),
162
180
  {
163
181
  value: '"test"',
164
182
  dataType: "str",
165
183
  },
166
184
  ),
167
- ["CONSTANT_VAR" as VariableName]: createMockVariable("CONSTANT_VAR", {
168
- value: "3.14159",
169
- dataType: "float",
170
- }),
185
+ [variableName("CONSTANT_VAR")]: createMockVariable(
186
+ variableName("CONSTANT_VAR"),
187
+ {
188
+ value: "3.14159",
189
+ dataType: "float",
190
+ },
191
+ ),
171
192
  };
172
193
  const tablesMap: DatasetTablesMap = new Map();
173
194
  const provider = new VariableContextProvider(variables, tablesMap);
@@ -191,7 +212,7 @@ describe("VariableContextProvider", () => {
191
212
  data: { variable },
192
213
  };
193
214
 
194
- const variables: Variables = { ["username" as VariableName]: variable };
215
+ const variables: Variables = { [variableName("username")]: variable };
195
216
  const tablesMap: DatasetTablesMap = new Map();
196
217
  const provider = new VariableContextProvider(variables, tablesMap);
197
218
 
@@ -213,7 +234,7 @@ describe("VariableContextProvider", () => {
213
234
  };
214
235
 
215
236
  const variables: Variables = {
216
- ["mystery_var" as VariableName]: variable,
237
+ [variableName("mystery_var")]: variable,
217
238
  };
218
239
  const tablesMap: DatasetTablesMap = new Map();
219
240
  const provider = new VariableContextProvider(variables, tablesMap);
@@ -237,7 +258,7 @@ describe("VariableContextProvider", () => {
237
258
  };
238
259
 
239
260
  const variables: Variables = {
240
- ["complex_data" as VariableName]: variable,
261
+ [variableName("complex_data")]: variable,
241
262
  };
242
263
  const tablesMap: DatasetTablesMap = new Map();
243
264
  const provider = new VariableContextProvider(variables, tablesMap);
@@ -260,7 +281,7 @@ describe("VariableContextProvider", () => {
260
281
  data: { variable },
261
282
  };
262
283
 
263
- const variables: Variables = { ["sales_df" as VariableName]: variable };
284
+ const variables: Variables = { [variableName("sales_df")]: variable };
264
285
  const tablesMap: DatasetTablesMap = new Map();
265
286
  const provider = new VariableContextProvider(variables, tablesMap);
266
287
 
@@ -284,12 +305,12 @@ describe("VariableContextProvider", () => {
284
305
  describe("integration with tables", () => {
285
306
  it("should work with both variables and tables", () => {
286
307
  const variables: Variables = {
287
- ["df" as VariableName]: createMockVariable("df", {
308
+ [variableName("df")]: createMockVariable(variableName("df"), {
288
309
  dataType: "pandas.DataFrame",
289
310
  value: "<DataFrame shape: (50, 3)>",
290
311
  }),
291
- ["connection_string" as VariableName]: createMockVariable(
292
- "connection_string",
312
+ [variableName("connection_string")]: createMockVariable(
313
+ variableName("connection_string"),
293
314
  {
294
315
  dataType: "str",
295
316
  value: '"postgresql://localhost:5432/mydb"',
@@ -5,6 +5,7 @@ import { EditorView } from "@codemirror/view";
5
5
  import { getDefaultStore } from "jotai";
6
6
  import { beforeEach, describe, expect, it, vi } from "vitest";
7
7
  import { MockNotebook } from "@/__mocks__/notebook";
8
+ import { cellId } from "@/__tests__/branded";
8
9
  import { notebookAtom } from "@/core/cells/cells";
9
10
  import type { CellId } from "@/core/cells/ids";
10
11
  import { updateEditorCodeFromPython } from "@/core/codemirror/language/utils";
@@ -32,7 +33,7 @@ function createMockEditorView(code: string): EditorView {
32
33
  doc: code,
33
34
  extensions: [
34
35
  adaptiveLanguageConfiguration({
35
- cellId: "cell1" as CellId,
36
+ cellId: cellId("cell1"),
36
37
  completionConfig: {
37
38
  copilot: false,
38
39
  activate_on_typing: true,
@@ -44,7 +45,7 @@ function createMockEditorView(code: string): EditorView {
44
45
  lspConfig: {},
45
46
  }),
46
47
  cellConfigExtension({
47
- cellId: "cell1" as CellId,
48
+ cellId: cellId("cell1"),
48
49
  completionConfig: {
49
50
  copilot: false,
50
51
  activate_on_typing: true,
@@ -93,9 +94,9 @@ describe("EditNotebookTool", () => {
93
94
  };
94
95
  tool = new EditNotebookTool();
95
96
 
96
- cellId1 = "cell-1" as CellId;
97
- cellId2 = "cell-2" as CellId;
98
- cellId3 = "cell-3" as CellId;
97
+ cellId1 = cellId("cell-1");
98
+ cellId2 = cellId("cell-2");
99
+ cellId3 = cellId("cell-3");
99
100
 
100
101
  // Reset mocks
101
102
  vi.clearAllMocks();
@@ -270,7 +271,7 @@ describe("EditNotebookTool", () => {
270
271
  {
271
272
  edit: {
272
273
  type: "update_cell",
273
- position: { cellId: "nonexistent" as CellId },
274
+ position: { cellId: cellId("nonexistent") },
274
275
  code: "x = 2",
275
276
  },
276
277
  },
@@ -283,7 +284,7 @@ describe("EditNotebookTool", () => {
283
284
  {
284
285
  edit: {
285
286
  type: "update_cell",
286
- position: { cellId: "nonexistent" as CellId },
287
+ position: { cellId: cellId("nonexistent") },
287
288
  code: "x = 2",
288
289
  },
289
290
  },
@@ -496,7 +497,7 @@ describe("EditNotebookTool", () => {
496
497
  type: "add_cell",
497
498
  position: {
498
499
  type: "relative",
499
- cellId: "nonexistent" as CellId,
500
+ cellId: cellId("nonexistent"),
500
501
  before: true,
501
502
  },
502
503
  code: "y = 2",
@@ -660,7 +661,7 @@ describe("EditNotebookTool", () => {
660
661
  {
661
662
  edit: {
662
663
  type: "delete_cell",
663
- position: { cellId: "nonexistent" as CellId },
664
+ position: { cellId: cellId("nonexistent") },
664
665
  },
665
666
  },
666
667
  toolContext as never,
@@ -3,6 +3,7 @@
3
3
  import { getDefaultStore } from "jotai";
4
4
  import { beforeEach, describe, expect, it, vi } from "vitest";
5
5
  import { MockNotebook } from "@/__mocks__/notebook";
6
+ import { cellId } from "@/__tests__/branded";
6
7
  import { notebookAtom } from "@/core/cells/cells";
7
8
  import type { CellId } from "@/core/cells/ids";
8
9
  import { RunStaleCellsTool } from "../run-cells-tool";
@@ -46,9 +47,9 @@ describe("RunStaleCellsTool", () => {
46
47
 
47
48
  tool = new RunStaleCellsTool({ postExecutionDelay: 0 });
48
49
 
49
- cellId1 = "cell-1" as CellId;
50
- cellId2 = "cell-2" as CellId;
51
- cellId3 = "cell-3" as CellId;
50
+ cellId1 = cellId("cell-1");
51
+ cellId2 = cellId("cell-2");
52
+ cellId3 = cellId("cell-3");
52
53
 
53
54
  // Reset mocks
54
55
  vi.clearAllMocks();
@@ -490,9 +491,8 @@ describe("RunStaleCellsTool", () => {
490
491
  });
491
492
 
492
493
  it("should omit output for cells that exceed total output budget", async () => {
493
- const cellIds = Array.from(
494
- { length: 25 },
495
- (_, i) => `budget-cell-${i}` as CellId,
494
+ const cellIds = Array.from({ length: 25 }, (_, i) =>
495
+ cellId(`budget-cell-${i}`),
496
496
  );
497
497
  const cellData: Record<string, { code: string; edited: boolean }> = {};
498
498
  for (const id of cellIds) {