@marimo-team/islands 0.18.0 → 0.18.1

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 (578) hide show
  1. package/dist/Combination-DN9sfYvo.js +2569 -0
  2. package/dist/{ConnectedDataExplorerComponent-BUgUSo2B.js → ConnectedDataExplorerComponent-Dhlx78se.js} +53 -53
  3. package/dist/angular-html-BQrFNFXr.js +7 -0
  4. package/dist/{angular-html-DOnHLneR.js → angular-html-NuAgzn7W.js} +1 -1
  5. package/dist/{angular-ts-ClZ_D57Q.js → angular-ts-DqCVY0oX.js} +5 -5
  6. package/dist/{any-language-editor-BS-Z5AY5.js → any-language-editor-C8uMYHwj.js} +16 -16
  7. package/dist/{apl-BQW_2HeZ.js → apl-CqAdrzTc.js} +6 -6
  8. package/dist/{arc-DqQgmHse.js → arc-JJltOFJh.js} +2 -2
  9. package/dist/{architecture-O4VJ6CD3-BAmYZukJ.js → architecture-O4VJ6CD3-D7BH29FP.js} +3 -3
  10. package/dist/{architectureDiagram-W76B3OCA-6PSfeg_h.js → architectureDiagram-W76B3OCA-BXXl3wYv.js} +22 -22
  11. package/dist/{astro-B_6-YJyf.js → astro-BhYIwlT9.js} +6 -6
  12. package/dist/{blade-J--jW6Qd.js → blade-C_4Ocghp.js} +8 -8
  13. package/dist/{blockDiagram-QIGZ2CNN-BBAMkEiZ.js → blockDiagram-QIGZ2CNN-BEJ-ovZ-.js} +16 -16
  14. package/dist/{bsl-DwRO_vPO.js → bsl-Cam9acj0.js} +1 -1
  15. package/dist/{button-Hye6-2X8.js → button-Css_i-3R.js} +73 -71
  16. package/dist/c-DYGEdS-r.js +4 -0
  17. package/dist/{c4Diagram-FPNF74CW-H3kajU-4.js → c4Diagram-FPNF74CW-Bec_XtUS.js} +8 -8
  18. package/dist/{cairo-C5YwJoRd.js → cairo-DzTxWLx8.js} +1 -1
  19. package/dist/{channel-DO61Dn1s.js → channel-SHZ3pH5W.js} +1 -1
  20. package/dist/{chunk-3AY6CYHV-PGaWKUmM.js → chunk-3AY6CYHV-CY56r15D.js} +10 -10
  21. package/dist/{chunk-4BX2VUAB-C2wFBih6.js → chunk-4BX2VUAB-DakkmKa6.js} +1 -1
  22. package/dist/{chunk-4KMFLZZN-BLk4DGEy.js → chunk-4KMFLZZN-PjonQa4P.js} +1 -1
  23. package/dist/{chunk-55IACEB6-DQd6AZ1u.js → chunk-55IACEB6-lM9AcPFI.js} +1 -1
  24. package/dist/{chunk-6OXUPJBA-KTKvUtax.js → chunk-6OXUPJBA-CtytfqPH.js} +7 -7
  25. package/dist/{chunk-7GE3RBXV-2QiFkaHl.js → chunk-7GE3RBXV-Ch2VFfx5.js} +1 -1
  26. package/dist/{chunk-ABZYJK2D-plHo87kc.js → chunk-ABZYJK2D-ChhHEVnH.js} +2 -2
  27. package/dist/{chunk-BN7GFLIU-D4EEpMya.js → chunk-BN7GFLIU-4gH4skZE.js} +1 -1
  28. package/dist/{chunk-CVBHYZKI-nBM-9qrT.js → chunk-CVBHYZKI-CvLGu9Zl.js} +1 -1
  29. package/dist/{chunk-CXMOBAN2-DQYc62lB.js → chunk-CXMOBAN2-DmuTyIC5.js} +6 -6
  30. package/dist/{chunk-EXTU4WIE-CzYdpCHC.js → chunk-EXTU4WIE-5gY1kHy6.js} +2 -2
  31. package/dist/{chunk-FMBD7UC4-5CTTj0Jv.js → chunk-FMBD7UC4-CktmbpHj.js} +1 -1
  32. package/dist/{chunk-JA3XYJ7Z-iN-ePWJa.js → chunk-JA3XYJ7Z-DoOh1zwr.js} +4 -4
  33. package/dist/{chunk-JEIROHC2-DJN5-Qfh.js → chunk-JEIROHC2-BxiaYL-E.js} +1 -1
  34. package/dist/{chunk-K7UQS3LO-BFLlfdsi.js → chunk-K7UQS3LO-jAauQP9f.js} +7 -7
  35. package/dist/{chunk-KMC2YHZD-BvIjRiOn.js → chunk-KMC2YHZD-DStgMcLU.js} +1 -1
  36. package/dist/{chunk-QN33PNHL-Brd7yTp3.js → chunk-QN33PNHL-a6Utqqtp.js} +2 -2
  37. package/dist/{chunk-QYVHNE3D-2JcHbPf-.js → chunk-QYVHNE3D-Di-okNtj.js} +2 -2
  38. package/dist/{chunk-QZHKN3VN-uMYxkooq.js → chunk-QZHKN3VN-uG0W9XCn.js} +1 -1
  39. package/dist/{chunk-S3R3BYOJ-F8AD9lHs.js → chunk-S3R3BYOJ-D8svDLcB.js} +4 -4
  40. package/dist/{chunk-T44TD3VJ-BuOpBf-m.js → chunk-T44TD3VJ-C5NCytxJ.js} +1 -1
  41. package/dist/{chunk-TVAH2DTR-CnMJAbv2.js → chunk-TVAH2DTR-CXLr85J9.js} +6 -6
  42. package/dist/{chunk-TZMSLE5B-FgoUBce3.js → chunk-TZMSLE5B-1E_YfHMJ.js} +3 -3
  43. package/dist/{chunk-WFRQ32O7-XYO_3xAi.js → chunk-WFRQ32O7-BKSf4yCO.js} +1 -1
  44. package/dist/{chunk-WFWHJNB7-CO2PO-xj.js → chunk-WFWHJNB7-B1Zzkj_f.js} +1 -1
  45. package/dist/{chunk-XRWGC2XP-NEUwjXBT.js → chunk-XRWGC2XP-Bo8DlVQO.js} +1 -1
  46. package/dist/{chunk-ZPAFE4SF-CyeNhdPx.js → chunk-ZPAFE4SF-CmteRP75.js} +1 -1
  47. package/dist/classDiagram-KNZD7YFC-ZbE61oE0.js +40 -0
  48. package/dist/classDiagram-v2-RKCZMP56-BqhgFvho.js +40 -0
  49. package/dist/cmake-l0t4JJ7s.js +4 -0
  50. package/dist/{cobol-lK28EtZf.js → cobol-DJP1EK1j.js} +4 -4
  51. package/dist/{coffee-BSXLyDD2.js → coffee-CC5nEIi9.js} +1 -1
  52. package/dist/{cose-bilkent-S5V4N54A-Cj0MgFkf.js → cose-bilkent-S5V4N54A-DKXAkYs4.js} +3 -3
  53. package/dist/cpp-ANCO5onE.js +8 -0
  54. package/dist/{cpp-BChLOGjC.js → cpp-D9LYqqPp.js} +3 -3
  55. package/dist/{crystal-CO99xfcp.js → crystal-BRqcx7ej.js} +6 -6
  56. package/dist/csharp-Bz76NQ_J.js +4 -0
  57. package/dist/css-DAuWdYvT.js +4 -0
  58. package/dist/{dagre-5GWH7T2D-CfnBQe48.js → dagre-5GWH7T2D-NKT9rsKF.js} +17 -17
  59. package/dist/{data-grid-overlay-editor-Bcf9kFFc.js → data-grid-overlay-editor-awitGObA.js} +2 -2
  60. package/dist/{diagram-N5W7TBWH-04TOCf2a.js → diagram-N5W7TBWH-D7Lb6iTv.js} +24 -24
  61. package/dist/{diagram-QEK2KX5R-CUipzemR.js → diagram-QEK2KX5R-BGNlTTAr.js} +19 -19
  62. package/dist/{diagram-S2PKOQOG-ei2iw-oI.js → diagram-S2PKOQOG-DArsBfLb.js} +19 -19
  63. package/dist/diff-C7LSwbp8.js +4 -0
  64. package/dist/{dist-cqkd3NiL.js → dist-6NgnwCMd.js} +3 -3
  65. package/dist/{dist-CqazJcfk.js → dist-BDVas7u0.js} +1 -1
  66. package/dist/{dist-CGt0X2sV.js → dist-BeL8NYBI.js} +2 -2
  67. package/dist/dist-BhEY2Z_n.js +14 -0
  68. package/dist/{dist-R4ZaAXGr.js → dist-BkgFFOsz.js} +2 -2
  69. package/dist/{dist-v-r4jaY5.js → dist-BoehQujB.js} +1 -1
  70. package/dist/{dist-D7XZ_tXQ.js → dist-C2nw9RHE.js} +1 -1
  71. package/dist/{dist-BGDtO7aZ.js → dist-CAS8F-hC.js} +1 -1
  72. package/dist/{dist-s1LnJ5PG.js → dist-CS4N5B_G.js} +1 -1
  73. package/dist/{dist-B4S8pyFo.js → dist-Cc9Qz-U4.js} +3 -3
  74. package/dist/{dist-4FDGlo3i.js → dist-CljL8T10.js} +4 -4
  75. package/dist/dist-Cud0QD8Y.js +10 -0
  76. package/dist/{dist-Bi6qs7up.js → dist-D9rISDoI.js} +1 -1
  77. package/dist/dist-D9t6fT6i.js +10 -0
  78. package/dist/{dist-CTSMnLwu.js → dist-DC47GA46.js} +805 -643
  79. package/dist/{dist-D0KS-m2t.js → dist-Dh6pWjSH.js} +2 -2
  80. package/dist/{dist-DtSssmhN.js → dist-DlI9v2Hh.js} +2 -2
  81. package/dist/{dist-CSq74zEj.js → dist-DyXVT1vy.js} +1 -1
  82. package/dist/{dist-DO00gdpV.js → dist-TdQLXZKo.js} +3 -3
  83. package/dist/{dist-B9WB0SFB.js → dist-WvPZl2Sl.js} +1 -1
  84. package/dist/{dist-B4jO5BUT.js → dist-q94GwumS.js} +1 -1
  85. package/dist/{dist-CmEIe_wJ.js → dist-qGG7RM7P.js} +4 -4
  86. package/dist/{edge-BTCHQnL0.js → edge-DeFsqb1i.js} +5 -5
  87. package/dist/{elixir-CCIwO0SA.js → elixir-BGD3Ym80.js} +3 -3
  88. package/dist/{elm-Bd8GMb2w.js → elm-sXxjAPfa.js} +2 -2
  89. package/dist/{erDiagram-AWTI2OKA-DOO75nhy.js → erDiagram-AWTI2OKA-Dd30FpUG.js} +21 -21
  90. package/dist/{erb-C2XKicEJ.js → erb-CVVq1SHo.js} +19 -19
  91. package/dist/{erlang-BWIWBPfK.js → erlang-CoJZUhS4.js} +1 -1
  92. package/dist/{error-banner-CPLhCPHA.js → error-banner-DDDPnVZA.js} +106 -104
  93. package/dist/esm-BC9Qw9UQ.js +4056 -0
  94. package/dist/{esm-DxgKy8Wv.js → esm-DDjaZl5x.js} +14 -14
  95. package/dist/{flowDiagram-PVAE7QVJ-AUJeRwR9.js → flowDiagram-PVAE7QVJ-Dfo2-D8K.js} +23 -23
  96. package/dist/{formats-oddMfm9_.js → formats-DClgE90A.js} +15 -15
  97. package/dist/{fortran-fixed-form-DOH2AovA.js → fortran-fixed-form-DUVqo01t.js} +1 -1
  98. package/dist/{fortran-free-form-DWQ7SFTN.js → fortran-free-form-e6UrnOjF.js} +1 -1
  99. package/dist/{fsharp-GbWUX1wo.js → fsharp-8cm272ry.js} +1 -1
  100. package/dist/{ganttDiagram-OWAHRB6G-d9HlXS4A.js → ganttDiagram-OWAHRB6G-CE9rMeMb.js} +10 -10
  101. package/dist/{gdresource-DJQ1WGjU.js → gdresource-ClFnPq3a.js} +2 -2
  102. package/dist/gdscript-B0LZbOIR.js +4 -0
  103. package/dist/gdshader-DFrJP5ei.js +4 -0
  104. package/dist/{git-commit-73gQ2jal.js → git-commit-BYaLl5ls.js} +1 -1
  105. package/dist/{git-rebase-tezkvplk.js → git-rebase-8n1RW6UD.js} +1 -1
  106. package/dist/{gitGraph-ZV4HHKMB-4c_I6adP.js → gitGraph-ZV4HHKMB-DGIos9rl.js} +3 -3
  107. package/dist/{gitGraphDiagram-NY62KEGX-BdOzqIF7.js → gitGraphDiagram-NY62KEGX-DJjzf0dH.js} +19 -19
  108. package/dist/{glide-data-editor-BFv4VQnc.js → glide-data-editor-CdlLXwb-.js} +94 -94
  109. package/dist/{glimmer-js-B4yN_cyX.js → glimmer-js-Dai0PeIS.js} +4 -4
  110. package/dist/{glimmer-ts-BFwzJYHf.js → glimmer-ts-D_TjaTpy.js} +4 -4
  111. package/dist/glsl-CxEuvrWH.js +5 -0
  112. package/dist/{glsl-Da3zbemV.js → glsl-CyGXCGI2.js} +1 -1
  113. package/dist/go-DdqSEUJy.js +4 -0
  114. package/dist/{graphql-DHCTQXG8.js → graphql-B1Dx1rcM.js} +4 -4
  115. package/dist/graphql-cxjxtpev.js +8 -0
  116. package/dist/{hack-Bq2SPMdZ.js → hack-DaQhTJ_x.js} +4 -4
  117. package/dist/{haml-DKOqVKa_.js → haml-Bp5GoYpB.js} +2 -2
  118. package/dist/haml-CiyF8Brn.js +6 -0
  119. package/dist/{handlebars-lWgxxMwE.js → handlebars-ChGgzSRK.js} +4 -4
  120. package/dist/haxe-DCTL_FCo.js +4 -0
  121. package/dist/hlsl-Bfx4Ir_v.js +4 -0
  122. package/dist/{html-CHICwrWt.js → html-C4wWoZph.js} +2 -2
  123. package/dist/html-CEOIAVhY.js +6 -0
  124. package/dist/{html-derivative-BvtUczEO.js → html-derivative-BBqlL-a4.js} +1 -1
  125. package/dist/{html-derivative-PpMnWy1w.js → html-derivative-COo0pM2g.js} +4 -4
  126. package/dist/{http-CL7ORkDb.js → http-BBZ3n4Nc.js} +9 -9
  127. package/dist/{hxml-dX0MdapH.js → hxml-B3WEmVIR.js} +1 -1
  128. package/dist/{info-63CPKGFF-Bz8ia4ds.js → info-63CPKGFF-BJRf7NSB.js} +3 -3
  129. package/dist/{infoDiagram-STP46IZ2-2N5rOSVf.js → infoDiagram-STP46IZ2-wRiL7RAF.js} +15 -15
  130. package/dist/java-Dg_uLDO2.js +4 -0
  131. package/dist/javascript-UdF6t51O.js +4 -0
  132. package/dist/{jinja-DsZfQ7_N.js → jinja-DIY5F3JL.js} +3 -3
  133. package/dist/{jison-BspgGSu_.js → jison-NvMl7ZRB.js} +1 -1
  134. package/dist/{journeyDiagram-BIP6EPQ6-AkLtiVmB.js → journeyDiagram-BIP6EPQ6-xE-QKfW3.js} +9 -9
  135. package/dist/json-DhGO17Us.js +4 -0
  136. package/dist/jsx-BnWl0sfU.js +4 -0
  137. package/dist/{julia-B_C4JiTM.js → julia-B99Wf6ks.js} +8 -8
  138. package/dist/{kanban-definition-6OIFK2YF-Crxg_HOg.js → kanban-definition-6OIFK2YF-xTM_lSKu.js} +15 -15
  139. package/dist/{katex-CTMLv-Xd.js → katex-_B79i9h_.js} +1 -1
  140. package/dist/{label-Dsm6T1fr.js → label-DboGLjGa.js} +193 -162
  141. package/dist/{latex-DoiWAlAQ.js → latex-CZecqbCK.js} +2 -2
  142. package/dist/less-DZgWnAzP.js +4 -0
  143. package/dist/{line-DBxDZ2GZ.js → line-Bm50ongk.js} +3 -3
  144. package/dist/{linear-B8XR-NVr.js → linear-CUCOukde.js} +2 -2
  145. package/dist/{liquid-Bv5Ox8yg.js → liquid-CBTCQ-BA.js} +4 -4
  146. package/dist/{lua-BKJ_BAEH.js → lua-BAo0xbXr.js} +1 -1
  147. package/dist/lua-C4LdLFQB.js +5 -0
  148. package/dist/main.js +12652 -12194
  149. package/dist/markdown-DmoiORob.js +4 -0
  150. package/dist/{marko-DEzr-2oj.js → marko-aJY3NB2u.js} +4 -4
  151. package/dist/{mdc-GC7qNQda.js → mdc-DUOD_AOa.js} +6 -6
  152. package/dist/{mermaid-BeGlg1JH.js → mermaid-DKh-bxRG.js} +24 -24
  153. package/dist/{mermaid-parser.core-C5kJ8cMb.js → mermaid-parser.core-BkBK5D-D.js} +8 -8
  154. package/dist/mermaid.core-BlYN1aB0.js +31 -0
  155. package/dist/{mermaid.core-2hDUD3tS.js → mermaid.core-DhviAB-E.js} +35 -35
  156. package/dist/{mhchem-ydsvRuzJ.js → mhchem-BLvV19Q1.js} +1 -1
  157. package/dist/{mindmap-definition-Q6HEUPPD-u3xALYXy.js → mindmap-definition-Q6HEUPPD-DhGkxCFl.js} +20 -20
  158. package/dist/{nginx-WYx0kjQD.js → nginx-C4wBmtSL.js} +2 -2
  159. package/dist/{nim-B59jjkdb.js → nim-7HUrH4-G.js} +8 -8
  160. package/dist/{number-overlay-editor-BJoc-iTp.js → number-overlay-editor-B7JKtSXW.js} +1 -1
  161. package/dist/{ordinal-DncHRC0c.js → ordinal-CgAjEHLv.js} +1 -1
  162. package/dist/{packet-HUATNLJX-DZeFAkmI.js → packet-HUATNLJX-COt0WQbt.js} +3 -3
  163. package/dist/{perl-BWXWNd9p.js → perl-DcIsham4.js} +6 -6
  164. package/dist/{php-B2IAnMDw.js → php-BMhhkMnI.js} +6 -6
  165. package/dist/php-BgNggqvM.js +11 -0
  166. package/dist/{pie-WTHONI2E-CcN2FpmZ.js → pie-WTHONI2E-7VABasD6.js} +3 -3
  167. package/dist/{pieDiagram-ADFJNKIX-B40sMFEq.js → pieDiagram-ADFJNKIX-CV46TPgr.js} +24 -24
  168. package/dist/postcss-BV0gPaAN.js +4 -0
  169. package/dist/{pug-jCrWgXoo.js → pug-C7hWP9pb.js} +3 -3
  170. package/dist/python-DrIYjHcK.js +4 -0
  171. package/dist/{qml-BvryPJl6.js → qml-4wNHxISd.js} +1 -1
  172. package/dist/{quadrantDiagram-LMRXKWRM-C-qFDzwP.js → quadrantDiagram-LMRXKWRM-0ohBNHBM.js} +5 -5
  173. package/dist/r-bWdZZY4p.js +4 -0
  174. package/dist/{radar-NJJJXTRR-DgOJ0Ctc.js → radar-NJJJXTRR-DEeA59xM.js} +3 -3
  175. package/dist/{razor-BsW9JZIF.js → razor-kE6VSkUw.js} +4 -4
  176. package/dist/react-vega-BFAvc6S7.js +25 -0
  177. package/dist/{react-vega-DDXWt_PN.js → react-vega-L8_x6Wjr.js} +1564 -845
  178. package/dist/regexp-Du19WMsH.js +4 -0
  179. package/dist/{requirementDiagram-4UW4RH46-Cl_mIh_y.js → requirementDiagram-4UW4RH46-DSnND54_.js} +20 -20
  180. package/dist/{rst-CRU76Z1W.js → rst-CjWaqJB3.js} +22 -22
  181. package/dist/{ruby-9gRRZYzM.js → ruby-CX211_l4.js} +12 -12
  182. package/dist/ruby-Dsch-4qr.js +22 -0
  183. package/dist/{sankeyDiagram-GR3RE2ED-Dm9k3dHY.js → sankeyDiagram-GR3RE2ED-C4jd7w5x.js} +6 -6
  184. package/dist/{sas-BDTaEI61.js → sas-Bso79j2d.js} +1 -1
  185. package/dist/{scss-B1u4Hrbb.js → scss-B2x0kI7c.js} +1 -1
  186. package/dist/scss-BHcIhkao.js +5 -0
  187. package/dist/sdbl-CiVVvobW.js +4 -0
  188. package/dist/{sequenceDiagram-C3RYC4MD-DmU9oc42.js → sequenceDiagram-C3RYC4MD-4cYnu6yf.js} +10 -10
  189. package/dist/{shaderlab-Bm5WmYK9.js → shaderlab-B4l4__9m.js} +1 -1
  190. package/dist/shellscript-Carvxcyf.js +4 -0
  191. package/dist/{shellsession-CN-wC7WL.js → shellsession-D-krdWsh.js} +1 -1
  192. package/dist/{slides-component-CZksIptv.js → slides-component-Cm9g-y7F.js} +1 -1
  193. package/dist/{soy-CeMP2PMh.js → soy-wFhS-Vjb.js} +3 -3
  194. package/dist/{sparql-M76X2Hg1.js → sparql-D6Kv-L3I.js} +1 -1
  195. package/dist/{spec-BotzCMo3.js → spec-B7BWIiD8.js} +3 -3
  196. package/dist/sql-CVP77J2a.js +4 -0
  197. package/dist/{src-CePha-_O.js → src-DopHipf8.js} +1 -1
  198. package/dist/{stata-BH7l4VD7.js → stata-1fehkWpU.js} +1 -1
  199. package/dist/{stateDiagram-KXAO66HF-D_SUaMYR.js → stateDiagram-KXAO66HF-Cq-ezNe-.js} +21 -21
  200. package/dist/stateDiagram-v2-UMBNRL4Z-QxkaR8xk.js +39 -0
  201. package/dist/{step-zYP-E-fB.js → step-Bixovd6W.js} +1 -1
  202. package/dist/stex-IzMc-wiJ.js +5 -0
  203. package/dist/style.css +1 -2
  204. package/dist/stylus-BTQe34gF.js +4 -0
  205. package/dist/{svelte-TwcowgfT.js → svelte-DZNFxgw8.js} +4 -4
  206. package/dist/{templ-BpG-MhQv.js → templ-unaxtPDu.js} +3 -3
  207. package/dist/tex-B02KkJuq.js +5 -0
  208. package/dist/{tex-CBM64lBG.js → tex-WcClzGDl.js} +1 -1
  209. package/dist/{time-DRnNkqSS.js → time-D5kvxFYj.js} +2 -2
  210. package/dist/{timeline-definition-XQNQX7LJ-BgkB1JzD.js → timeline-definition-XQNQX7LJ-HouMBLkR.js} +6 -6
  211. package/dist/{treemap-75Q7IDZK-CGM2jb5Y.js → treemap-75Q7IDZK-rIabFN59.js} +3 -3
  212. package/dist/{ts-tags-CywVDBFD.js → ts-tags-Dw16jybl.js} +9 -9
  213. package/dist/tsx-2o7mnE6q.js +4 -0
  214. package/dist/turtle-CDidgplC.js +4 -0
  215. package/dist/{twig-DKvQCGZl.js → twig-CTY0fjwf.js} +23 -23
  216. package/dist/{types-IRrkdH-H.js → types-8-7JTTaW.js} +167 -166
  217. package/dist/typescript-Z3djoets.js +4 -0
  218. package/dist/{useAsyncData-CsSW6_Zh.js → useAsyncData-_ejUTnFA.js} +1 -1
  219. package/dist/{useTheme-D56Xlrez.js → useTheme-Cpx27F7Z.js} +4 -2
  220. package/dist/{vega-component-CLjz4see.js → vega-component-r6NkLfxM.js} +213 -212
  221. package/dist/{vue-CUZawI_b.js → vue-BjZgU5Nz.js} +6 -6
  222. package/dist/vue-DhUZPDmo.js +10 -0
  223. package/dist/{vue-html-Bx7_HmU0.js → vue-html-C4EmFqJx.js} +7 -7
  224. package/dist/{vue-vine-9w78JPDc.js → vue-vine-DrjIj56i.js} +11 -11
  225. package/dist/{xml-CEIIhUsl.js → xml-BgKyT7dU.js} +1 -1
  226. package/dist/xml-C7KksLEJ.js +5 -0
  227. package/dist/{xsl-BynZr4Sw.js → xsl-9daNus4h.js} +2 -2
  228. package/dist/{xychartDiagram-6GGTOJPD-u5660hzT.js → xychartDiagram-6GGTOJPD-DkDWjoGr.js} +16 -16
  229. package/dist/yaml-zmBXofFy.js +4 -0
  230. package/package.json +8 -8
  231. package/src/components/chat/acp/blocks.tsx +1 -1
  232. package/src/components/chat/chat-panel.tsx +1 -1
  233. package/src/components/chat/reasoning-accordion.tsx +1 -1
  234. package/src/components/data-table/__tests__/columns.test.tsx +143 -1
  235. package/src/components/data-table/__tests__/url-detector.test.tsx +92 -1
  236. package/src/components/data-table/columns.tsx +34 -17
  237. package/src/components/data-table/download-actions.tsx +16 -8
  238. package/src/components/data-table/row-viewer-panel/row-viewer.tsx +5 -5
  239. package/src/components/data-table/url-detector.tsx +43 -0
  240. package/src/components/datasources/utils.ts +7 -0
  241. package/src/components/editor/ai/ai-completion-editor.tsx +6 -3
  242. package/src/components/editor/cell/CreateCellButton.tsx +98 -88
  243. package/src/components/editor/chrome/panels/packages-panel.tsx +1 -1
  244. package/src/components/editor/chrome/types.ts +7 -0
  245. package/src/components/editor/file-tree/__tests__/file-expolorer.test.ts +1 -0
  246. package/src/components/editor/file-tree/file-explorer.tsx +6 -5
  247. package/src/components/editor/notebook-cell.tsx +27 -25
  248. package/src/components/editor/output/__tests__/ansi-reduce.test.ts +8 -0
  249. package/src/components/editor/output/ansi-reduce.ts +7 -4
  250. package/src/components/editor/renderers/grid-layout/grid-layout.tsx +35 -3
  251. package/src/components/ui/table.tsx +1 -1
  252. package/src/core/ai/tools/__tests__/edit-notebook-tool.test.ts +156 -10
  253. package/src/core/ai/tools/__tests__/registry.test.ts +35 -1
  254. package/src/core/ai/tools/edit-notebook-tool.ts +86 -45
  255. package/src/core/cells/__tests__/logs.test.ts +371 -0
  256. package/src/core/cells/logs.ts +16 -5
  257. package/src/core/codemirror/__tests__/format.test.ts +28 -2
  258. package/src/core/codemirror/copilot/copilot-config.tsx +1 -1
  259. package/src/core/codemirror/editing/commands.ts +4 -3
  260. package/src/core/codemirror/format.ts +105 -7
  261. package/src/core/codemirror/language/languages/sql/completion-store.ts +1 -1
  262. package/src/core/codemirror/language/languages/sql/sql.ts +8 -1
  263. package/src/core/codemirror/language/languages/sql/utils.ts +15 -0
  264. package/src/core/codemirror/language/panel/panel.tsx +1 -1
  265. package/src/core/config/config-schema.ts +3 -3
  266. package/src/core/websocket/useMarimoWebSocket.tsx +1 -1
  267. package/src/css/app/Cell.css +6 -1
  268. package/src/plugins/impl/DateTimePickerPlugin.tsx +3 -1
  269. package/src/plugins/impl/__tests__/DateTimePickerPlugin.test.tsx +3 -0
  270. package/src/plugins/impl/common/error-banner.tsx +7 -3
  271. package/src/plugins/impl/vega/VegaPlugin.tsx +1 -0
  272. package/src/plugins/impl/vega/vega-component.tsx +26 -5
  273. package/src/plugins/layout/__test__/ProgressPlugin.test.ts +1 -1
  274. package/dist/Combination-D68fi0fY.js +0 -2504
  275. package/dist/angular-html-BcsYKZNy.js +0 -7
  276. package/dist/c-RhvfrIXd.js +0 -4
  277. package/dist/classDiagram-KNZD7YFC-BwfV2ECJ.js +0 -40
  278. package/dist/classDiagram-v2-RKCZMP56-CdtBTwGN.js +0 -40
  279. package/dist/cmake-Dv9WBQ8F.js +0 -4
  280. package/dist/cpp-De3HlDQp.js +0 -8
  281. package/dist/csharp-DONDYcLD.js +0 -4
  282. package/dist/css-KrVDDZJI.js +0 -4
  283. package/dist/diff-C_xoFltE.js +0 -4
  284. package/dist/dist-C_ywAD_6.js +0 -10
  285. package/dist/dist-Umyw8yf9.js +0 -10
  286. package/dist/download-Bb5BCMXq.js +0 -145
  287. package/dist/esm-Cjo4c4Vw.js +0 -2188
  288. package/dist/gdscript-CCtCxlxC.js +0 -4
  289. package/dist/gdshader-DRsZz2Lo.js +0 -4
  290. package/dist/glsl-Bpd55IJK.js +0 -5
  291. package/dist/go-BZbX8CmG.js +0 -4
  292. package/dist/graphql-C3W9lZa9.js +0 -8
  293. package/dist/haml-0dNTXdjh.js +0 -6
  294. package/dist/haxe-D67WIBdi.js +0 -4
  295. package/dist/hlsl-A_Yq2Muj.js +0 -4
  296. package/dist/html-C6ObPTU5.js +0 -6
  297. package/dist/java-BFakZb2S.js +0 -4
  298. package/dist/javascript-B8ZNE_3R.js +0 -4
  299. package/dist/json-CVwA-VKM.js +0 -4
  300. package/dist/jsx-TsEBgZMR.js +0 -4
  301. package/dist/less-R7I1oHvn.js +0 -4
  302. package/dist/lua-CdOJTa1m.js +0 -5
  303. package/dist/markdown-Czm489_C.js +0 -4
  304. package/dist/mermaid.core-D5NqLRbX.js +0 -31
  305. package/dist/php-B2RrCM5T.js +0 -11
  306. package/dist/postcss-CK8yd697.js +0 -4
  307. package/dist/python-BAyuw8wl.js +0 -4
  308. package/dist/r-CMKGyVVD.js +0 -4
  309. package/dist/react-vega-DV2IwPx_.js +0 -25
  310. package/dist/regexp-C-NGZx14.js +0 -4
  311. package/dist/ruby-DC1LiM9o.js +0 -22
  312. package/dist/scss-9LDy_1oh.js +0 -5
  313. package/dist/sdbl-Cauk10zS.js +0 -4
  314. package/dist/shellscript-DPV_oGnY.js +0 -4
  315. package/dist/sql-BuUisnb3.js +0 -4
  316. package/dist/stateDiagram-v2-UMBNRL4Z-DdAPrjTz.js +0 -39
  317. package/dist/stex-BPCIi6ix.js +0 -5
  318. package/dist/stylus-BzfQ5p6U.js +0 -4
  319. package/dist/tex-DKaqHjWi.js +0 -5
  320. package/dist/tsx-CAS2Oalp.js +0 -4
  321. package/dist/turtle-Dqog6asB.js +0 -4
  322. package/dist/typescript-DHHJAsKz.js +0 -4
  323. package/dist/vue-DiyvUvuo.js +0 -10
  324. package/dist/xml-wE_-A0vH.js +0 -5
  325. package/dist/yaml-5htSumZI.js +0 -4
  326. /package/dist/{ImageComparisonComponent-DTO3nRq-.js → ImageComparisonComponent-CXBJ7S4z.js} +0 -0
  327. /package/dist/{abap-Cnc1m8d-.js → abap-I2cGjSH1.js} +0 -0
  328. /package/dist/{actionscript-3-g8zBgLKw.js → actionscript-3-DL1yGs6S.js} +0 -0
  329. /package/dist/{ada-MlSLvfsc.js → ada-BkGUMHAC.js} +0 -0
  330. /package/dist/{andromeeda-CkQePh6_.js → andromeeda-BWSHGuDt.js} +0 -0
  331. /package/dist/{apache-Cp-BBvQI.js → apache-DRnLyMnR.js} +0 -0
  332. /package/dist/{apex-CID9_iW1.js → apex-CA0TS4zn.js} +0 -0
  333. /package/dist/{applescript-Bv6vEFim.js → applescript-B8vB3y-q.js} +0 -0
  334. /package/dist/{ara-l5FvBxcT.js → ara-C0et56O5.js} +0 -0
  335. /package/dist/{array-lX94FrxB.js → array-vD2Vw0bk.js} +0 -0
  336. /package/dist/{asciidoc-BpLzRCLD.js → asciidoc-a6FHzc0d.js} +0 -0
  337. /package/dist/{asm-CxMfzk9G.js → asm-3DPfbryP.js} +0 -0
  338. /package/dist/{asterisk-Cbdk9I7-.js → asterisk-CbqErmo8.js} +0 -0
  339. /package/dist/{aurora-x-BmJfZyvk.js → aurora-x-Cq0GoPAm.js} +0 -0
  340. /package/dist/{awk-DZbdMF01.js → awk-GgrsjT7w.js} +0 -0
  341. /package/dist/{ayu-dark-Ce21p_3j.js → ayu-dark-BOgp0yX0.js} +0 -0
  342. /package/dist/{ballerina-6WMbs5Nh.js → ballerina-DErPOQth.js} +0 -0
  343. /package/dist/{bat-D70SunD8.js → bat-CkhnPpIS.js} +0 -0
  344. /package/dist/{beancount-DtkuCj7H.js → beancount-Rkl6N3Po.js} +0 -0
  345. /package/dist/{berry-DbfHEJGk.js → berry-C0cFa9Eb.js} +0 -0
  346. /package/dist/{bibtex-Cl9qlt9d.js → bibtex-PErECouH.js} +0 -0
  347. /package/dist/{bicep-0zpjixSE.js → bicep-B9tJFYg8.js} +0 -0
  348. /package/dist/{c-0VtUNZe8.js → c-xZK3SMJX.js} +0 -0
  349. /package/dist/{cadence-D2-Gq0t7.js → cadence-D2lNr2F0.js} +0 -0
  350. /package/dist/{catppuccin-frappe-DFz6L_QP.js → catppuccin-frappe-CEY1tx7K.js} +0 -0
  351. /package/dist/{catppuccin-latte-DSTm5iMg.js → catppuccin-latte-BjeOZATb.js} +0 -0
  352. /package/dist/{catppuccin-macchiato-D5cPlFDN.js → catppuccin-macchiato-HTrdL1Py.js} +0 -0
  353. /package/dist/{catppuccin-mocha-BBVxciDI.js → catppuccin-mocha-DaNBfKBN.js} +0 -0
  354. /package/dist/{chunk-57QY23SG-B6p-8LKm.js → chunk-57QY23SG-CtPsoWDn.js} +0 -0
  355. /package/dist/{clarity-CTtLMvQr.js → clarity-Di3YnyD4.js} +0 -0
  356. /package/dist/{click-outside-container-CR-VHaIe.js → click-outside-container-DnKND-Y5.js} +0 -0
  357. /package/dist/{clojure-CQ_s11PN.js → clojure-BaI1cLwf.js} +0 -0
  358. /package/dist/{cmake-DF99YgK0.js → cmake-Ct5KlIlx.js} +0 -0
  359. /package/dist/{codeowners-CRbICvXw.js → codeowners-B47SmYv4.js} +0 -0
  360. /package/dist/{codeql-DzUBsQZ9.js → codeql-C-RyBs2A.js} +0 -0
  361. /package/dist/{colors-C2w3uhVQ.js → colors-c_1kHhMM.js} +0 -0
  362. /package/dist/{common-keywords-D7noiVjl.js → common-keywords-qG52oQhe.js} +0 -0
  363. /package/dist/{common-lisp-CkedN1Bk.js → common-lisp-BEkqGRVt.js} +0 -0
  364. /package/dist/{coq-B7OBnzDw.js → coq-BMELwi0x.js} +0 -0
  365. /package/dist/{csharp-nXluFhrZ.js → csharp-D8kGQl5L.js} +0 -0
  366. /package/dist/{css-CPr1yM7G.js → css-D91D9ZFJ.js} +0 -0
  367. /package/dist/{csv-BTyvW9Dm.js → csv-DsiEeqZB.js} +0 -0
  368. /package/dist/{cue-CtcusocM.js → cue-Bd4pPCrb.js} +0 -0
  369. /package/dist/{cypher-BCo9_Gxf.js → cypher-CY6X1_fR.js} +0 -0
  370. /package/dist/{cytoscape.esm-CeO110wc.js → cytoscape.esm-D3qnLru1.js} +0 -0
  371. /package/dist/{d-qe1Yx8Pk.js → d-Dq3ZvYXH.js} +0 -0
  372. /package/dist/{dark-plus-COhL9N0K.js → dark-plus-DAkssByr.js} +0 -0
  373. /package/dist/{dart-C-zwBpkD.js → dart-CRwsUVcK.js} +0 -0
  374. /package/dist/{dax-9HVn3jKI.js → dax-yCcjIsFY.js} +0 -0
  375. /package/dist/{desktop-DcOWBslk.js → desktop-F3trsLZp.js} +0 -0
  376. /package/dist/{diff-0HrJYevs.js → diff-oSoYkmE6.js} +0 -0
  377. /package/dist/{dist-Ck_uei4a.js → dist-BEBl1fVc.js} +0 -0
  378. /package/dist/{dist-BOoOMWpw.js → dist-L1A29jng.js} +0 -0
  379. /package/dist/{dist-CFOn9U6a.js → dist-RsSoJ-Ow.js} +0 -0
  380. /package/dist/{dist-BLj2WRAk.js → dist-WgdRzo73.js} +0 -0
  381. /package/dist/{dist-Dndqm_ya.js → dist-_HymStvo.js} +0 -0
  382. /package/dist/{dist-B9BklWGT.js → dist-zlCh7zB9.js} +0 -0
  383. /package/dist/{docker-oHtI3hEB.js → docker-CzW3fUnV.js} +0 -0
  384. /package/dist/{dockerfile-DSCH583m.js → dockerfile-TsgC6Bmm.js} +0 -0
  385. /package/dist/{dotenv-sY_xnKYe.js → dotenv-C5RAv6mV.js} +0 -0
  386. /package/dist/{dracula-Bh9RLqOx.js → dracula-0J2lfdjD.js} +0 -0
  387. /package/dist/{dracula-soft-Cvp6b01Z.js → dracula-soft-CZX9ZgRW.js} +0 -0
  388. /package/dist/{dream-maker-6snTsD3J.js → dream-maker-D668Dv7O.js} +0 -0
  389. /package/dist/{duckdb-keywords-BCq77yXm.js → duckdb-keywords-DHIKlX_6.js} +0 -0
  390. /package/dist/{ebnf-BnX_o_Yq.js → ebnf-spWsoNeW.js} +0 -0
  391. /package/dist/{emacs-lisp-C6oq3DLk.js → emacs-lisp-9r6Oy_vR.js} +0 -0
  392. /package/dist/{everforest-dark-BYBypIqM.js → everforest-dark-BV3p6ZTT.js} +0 -0
  393. /package/dist/{everforest-light-D4mfI1FM.js → everforest-light-D4viDjQH.js} +0 -0
  394. /package/dist/{fcl-DDKjgNry.js → fcl-DOHQxani.js} +0 -0
  395. /package/dist/{fennel-C4o5c4mv.js → fennel-DdgItcQL.js} +0 -0
  396. /package/dist/{fish-BD9AkN7o.js → fish-Dah-0_yV.js} +0 -0
  397. /package/dist/{fluent-eCvhADRq.js → fluent-Dkmhuwpv.js} +0 -0
  398. /package/dist/{fortran-free-form-CuTQJQMN.js → fortran-free-form-DNLybXh-.js} +0 -0
  399. /package/dist/{gdscript-B40Spm2S.js → gdscript-DtYBhJ1b.js} +0 -0
  400. /package/dist/{gdshader-BZSmNWVa.js → gdshader-BV2VMgVk.js} +0 -0
  401. /package/dist/{genie-Cy_D8EWg.js → genie-BFMUrkvN.js} +0 -0
  402. /package/dist/{gherkin-ct-w1STV.js → gherkin-DppeDWDv.js} +0 -0
  403. /package/dist/{github-dark-CbIY86Wd.js → github-dark-D29L3HCC.js} +0 -0
  404. /package/dist/{github-dark-default-BlPRzuGs.js → github-dark-default-n3il8rgM.js} +0 -0
  405. /package/dist/{github-dark-dimmed-CwyHPTp3.js → github-dark-dimmed-oz4y0Wki.js} +0 -0
  406. /package/dist/{github-dark-high-contrast-Ch3E28Ga.js → github-dark-high-contrast-By7F7Fv0.js} +0 -0
  407. /package/dist/{github-light-BM3RayZ2.js → github-light-CWUlQb3u.js} +0 -0
  408. /package/dist/{github-light-default-BWhIdJf6.js → github-light-default-BffED7Ak.js} +0 -0
  409. /package/dist/{github-light-high-contrast-CKsJGAYi.js → github-light-high-contrast-Pu6OZUhP.js} +0 -0
  410. /package/dist/{gleam-Cwu_dIV7.js → gleam-BUcDYi_k.js} +0 -0
  411. /package/dist/{gnuplot-W2uzVV04.js → gnuplot-C1MgslgQ.js} +0 -0
  412. /package/dist/{go-C0N7iCwo.js → go-CYZiZRxy.js} +0 -0
  413. /package/dist/{groovy-BCFsp4zc.js → groovy-ClTIQGUH.js} +0 -0
  414. /package/dist/{gruvbox-dark-hard-DMFH1kAD.js → gruvbox-dark-hard-Bp86g2V_.js} +0 -0
  415. /package/dist/{gruvbox-dark-medium-DiHZEQva.js → gruvbox-dark-medium-BK2iIEfy.js} +0 -0
  416. /package/dist/{gruvbox-dark-soft-De9URWso.js → gruvbox-dark-soft-B_0xgXvI.js} +0 -0
  417. /package/dist/{gruvbox-light-hard-DzokvGK_.js → gruvbox-light-hard-DBlpi77o.js} +0 -0
  418. /package/dist/{gruvbox-light-medium-C4psEnS5.js → gruvbox-light-medium-CAccdTaF.js} +0 -0
  419. /package/dist/{gruvbox-light-soft-DL0f_6un.js → gruvbox-light-soft-DcO-EcR5.js} +0 -0
  420. /package/dist/{haskell-CDLvQWXZ.js → haskell-A1vUYtej.js} +0 -0
  421. /package/dist/{haxe-CLjmCvGB.js → haxe-DnHFv-TV.js} +0 -0
  422. /package/dist/{hcl-COL_PBAE.js → hcl-CU6j-Xhf.js} +0 -0
  423. /package/dist/{hjson-DkR4GFDO.js → hjson-ClOjKSoB.js} +0 -0
  424. /package/dist/{hlsl-BJKnqnDQ.js → hlsl-Q52_rKUP.js} +0 -0
  425. /package/dist/{houston-DYwZabvW.js → houston-DGG5Ln2h.js} +0 -0
  426. /package/dist/{http-2MVb-dsB.js → http-BgHOhKz2.js} +0 -0
  427. /package/dist/{hy-OsbjMwY0.js → hy-Bja9Numd.js} +0 -0
  428. /package/dist/{imba-Ddkaio98.js → imba-HOr9EX5j.js} +0 -0
  429. /package/dist/{ini-CNrkD-OZ.js → ini-EvmYJ-83.js} +0 -0
  430. /package/dist/{init-BU4YGOOg.js → init-BsH2JjGd.js} +0 -0
  431. /package/dist/{java-Ci6qXyg1.js → java-91iGU5ap.js} +0 -0
  432. /package/dist/{javascript-URuDoMWW.js → javascript-CPeJGbMe.js} +0 -0
  433. /package/dist/{json-DX7TV6Gi.js → json-N0VDmGwx.js} +0 -0
  434. /package/dist/{json5-Djp3uvi3.js → json5-BC1TPZZb.js} +0 -0
  435. /package/dist/{jsonc-XlYTIqzR.js → jsonc-B88-mC9I.js} +0 -0
  436. /package/dist/{jsonl-GwfHzMab.js → jsonl-CXu8ax4T.js} +0 -0
  437. /package/dist/{jsonnet-CPv7P6JN.js → jsonnet-0HtPQpiV.js} +0 -0
  438. /package/dist/{jssm-DdbAawAp.js → jssm-Bk3koTsK.js} +0 -0
  439. /package/dist/{jsx-DkGuBjr4.js → jsx-Cbdt0xgS.js} +0 -0
  440. /package/dist/{kanagawa-dragon-Vs6U6z1S.js → kanagawa-dragon-6wkRCL1O.js} +0 -0
  441. /package/dist/{kanagawa-lotus-Buvs3lt0.js → kanagawa-lotus-21R5pwns.js} +0 -0
  442. /package/dist/{kanagawa-wave-Bj2TElAo.js → kanagawa-wave-DvIMpnk3.js} +0 -0
  443. /package/dist/{katex-DHhoxnpM.js → katex-Cymo3Ugt.js} +0 -0
  444. /package/dist/{kotlin-Cpc_0A7a.js → kotlin-Brxn_vmg.js} +0 -0
  445. /package/dist/{kusto-Co9wVBCz.js → kusto-CLSwwyw9.js} +0 -0
  446. /package/dist/{laserwave-Ca61-FAH.js → laserwave-D2HyGZu4.js} +0 -0
  447. /package/dist/{lean-C0Aa7Fsj.js → lean-C7cjnnxn.js} +0 -0
  448. /package/dist/{less-_PXFbiQM.js → less-Db3q8KJ4.js} +0 -0
  449. /package/dist/{light-plus-5ex0bkO5.js → light-plus-C2C7fw4Z.js} +0 -0
  450. /package/dist/{llvm-BbKHoWwP.js → llvm-DAIyCtJL.js} +0 -0
  451. /package/dist/{log-CAfpKA3d.js → log-vTaTH8PJ.js} +0 -0
  452. /package/dist/{logo-_JZv2_m7.js → logo-D9tY6FNo.js} +0 -0
  453. /package/dist/{luau-By4kXsmQ.js → luau-IjR5-Ywl.js} +0 -0
  454. /package/dist/{main-BeKMoTBP.js → main-CRpnHr48.js} +0 -0
  455. /package/dist/{make-BRzozWYB.js → make-Cu-cnuA_.js} +0 -0
  456. /package/dist/{markdown-DBlXv3d9.js → markdown-C5F3cvct.js} +0 -0
  457. /package/dist/{marked.esm-CqJtK50L.js → marked.esm-DpOvkPbZ.js} +0 -0
  458. /package/dist/{material-theme-UdvytYzK.js → material-theme-DC62_X77.js} +0 -0
  459. /package/dist/{material-theme-darker-ifWxjE_M.js → material-theme-darker-ZdvrV-zE.js} +0 -0
  460. /package/dist/{material-theme-lighter-BJMt_hpe.js → material-theme-lighter-CjF6eqam.js} +0 -0
  461. /package/dist/{material-theme-ocean-DBLAtuvq.js → material-theme-ocean-B1OEP8g-.js} +0 -0
  462. /package/dist/{material-theme-palenight-D_bLdV4c.js → material-theme-palenight-DG7XKA0s.js} +0 -0
  463. /package/dist/{math-B9kWnSVt.js → math-kvEWD7RZ.js} +0 -0
  464. /package/dist/{matlab-SZvC4TdD.js → matlab-Bkgl6cmi.js} +0 -0
  465. /package/dist/{mdx-FGsuIggU.js → mdx-B3dxoxO_.js} +0 -0
  466. /package/dist/{mermaid-Bq_9A0K_.js → mermaid-Vk73zc_P.js} +0 -0
  467. /package/dist/{min-dark-CXAX-ZXK.js → min-dark-BXnwqHsA.js} +0 -0
  468. /package/dist/{min-light-BCnp1thB.js → min-light-t8HWsGPD.js} +0 -0
  469. /package/dist/{mipsasm-B5qmQK6W.js → mipsasm-DM3DsUwR.js} +0 -0
  470. /package/dist/{mojo-GIDM7_y7.js → mojo-CgJHtiXY.js} +0 -0
  471. /package/dist/{monokai-DL7jaPcf.js → monokai-CRI7M-ed.js} +0 -0
  472. /package/dist/{move-DRJvkv3E.js → move-DQHQ0ily.js} +0 -0
  473. /package/dist/{narrat-v6fb47Is.js → narrat-UVO3rS1B.js} +0 -0
  474. /package/dist/{nextflow-C602gAKa.js → nextflow-DrtHoX7E.js} +0 -0
  475. /package/dist/{nginx-xAcu9XCN.js → nginx-DJ7UgEOR.js} +0 -0
  476. /package/dist/{night-owl-Q-U_lEu6.js → night-owl-Ci5d2mya.js} +0 -0
  477. /package/dist/{nix-BRjH373I.js → nix-Cgk0qZB-.js} +0 -0
  478. /package/dist/{nord-CRIAyay1.js → nord-D3dA8PCc.js} +0 -0
  479. /package/dist/{nushell-5Ddvrppp.js → nushell-smo4Ehcx.js} +0 -0
  480. /package/dist/{objective-c-zrea_Ajz.js → objective-c-CVuojEvS.js} +0 -0
  481. /package/dist/{objective-cpp-BMgGRJTH.js → objective-cpp-Bpp59CkK.js} +0 -0
  482. /package/dist/{ocaml-Cc5CTR8t.js → ocaml-DYQwODYU.js} +0 -0
  483. /package/dist/{one-dark-pro-cEF3x_tc.js → one-dark-pro-CdYrsWA6.js} +0 -0
  484. /package/dist/{one-light-B0buW1FQ.js → one-light-B0fXewxa.js} +0 -0
  485. /package/dist/{pascal-C5MhYtdx.js → pascal-G_r9auPk.js} +0 -0
  486. /package/dist/{path-B-wCTTNY.js → path-DIzMdTua.js} +0 -0
  487. /package/dist/{plastic-4xY83A97.js → plastic-CC7C-r0m.js} +0 -0
  488. /package/dist/{plsql-DiS5vMuw.js → plsql-DmZBDDMQ.js} +0 -0
  489. /package/dist/{po-CE5EllyY.js → po-Bdl0SmZa.js} +0 -0
  490. /package/dist/{poimandres-C02cLu8D.js → poimandres-BPoRyzO_.js} +0 -0
  491. /package/dist/{polar-NxJPG_A1.js → polar-DdEuU550.js} +0 -0
  492. /package/dist/{postcss-BKFdDTSc.js → postcss-DgtXUb_w.js} +0 -0
  493. /package/dist/{powerquery-ClOwEHrw.js → powerquery-D5rcV1b7.js} +0 -0
  494. /package/dist/{powershell-DtnsETbd.js → powershell-CreFd35r.js} +0 -0
  495. /package/dist/{prisma-DQRqqd02.js → prisma-BSSS_9KD.js} +0 -0
  496. /package/dist/{prolog-BXwR1iEr.js → prolog-Cxq7ex3-.js} +0 -0
  497. /package/dist/{proto-DbdCTNJQ.js → proto-Di89JUpw.js} +0 -0
  498. /package/dist/{puppet-C0fmEeZ8.js → puppet-D-8yt0A2.js} +0 -0
  499. /package/dist/{purescript-DCzClV2L.js → purescript-Dsyys8lw.js} +0 -0
  500. /package/dist/{python-C9XsBnIS.js → python-DyJn0gY6.js} +0 -0
  501. /package/dist/{qmldir-BgPLvM_B.js → qmldir-Djlda7Cs.js} +0 -0
  502. /package/dist/{qss-DH_QKtyV.js → qss-DtDj95Ib.js} +0 -0
  503. /package/dist/{r-CE7tet3U.js → r-9vHvMbjq.js} +0 -0
  504. /package/dist/{racket-BXFuJ8S4.js → racket-BQnOONmJ.js} +0 -0
  505. /package/dist/{raku-BV2f5Bfp.js → raku-DZArQH1C.js} +0 -0
  506. /package/dist/{react-plotly-BSDG5040.js → react-plotly-B8bzf42j.js} +0 -0
  507. /package/dist/{red-NReit8D_.js → red-DdIrZaxO.js} +0 -0
  508. /package/dist/{reg-y78MnffL.js → reg-CM_FOY35.js} +0 -0
  509. /package/dist/{regexp-BkaqnlX1.js → regexp-Dh_KbmYB.js} +0 -0
  510. /package/dist/{rel-ChUSBGxs.js → rel-Cf8vFh7G.js} +0 -0
  511. /package/dist/{riscv-Cw3bJM3f.js → riscv-DFLesDmH.js} +0 -0
  512. /package/dist/{rose-pine-C_LOz2fx.js → rose-pine-C6TQipgc.js} +0 -0
  513. /package/dist/{rose-pine-dawn-DAyopyJp.js → rose-pine-dawn-DUw8_6c0.js} +0 -0
  514. /package/dist/{rose-pine-moon-D65s7ycF.js → rose-pine-moon-5rpZhuOi.js} +0 -0
  515. /package/dist/{rust-CNYdgIe2.js → rust-CLaTh4j5.js} +0 -0
  516. /package/dist/{sass-CTLsc-He.js → sass-DXaowKfb.js} +0 -0
  517. /package/dist/{scala-DAvnmlLT.js → scala-BwYNCkHH.js} +0 -0
  518. /package/dist/{scheme-BQ8akAiY.js → scheme-Cwv1j_5J.js} +0 -0
  519. /package/dist/{sdbl-BqdEdxub.js → sdbl-ZWGgjiIv.js} +0 -0
  520. /package/dist/{shellscript-SX0nv4lc.js → shellscript-CHtXIYYk.js} +0 -0
  521. /package/dist/{slack-dark-DP48wn3J.js → slack-dark-CEL96wwz.js} +0 -0
  522. /package/dist/{slack-ochin-JvZjQMr4.js → slack-ochin-Ih8BUTjo.js} +0 -0
  523. /package/dist/{smalltalk-Cd_zoqRt.js → smalltalk-Bz_Wq6O1.js} +0 -0
  524. /package/dist/{snazzy-light-Dn5RlLOZ.js → snazzy-light-BtCbn8qt.js} +0 -0
  525. /package/dist/{solarized-dark-juR81_fw.js → solarized-dark-2ncbM9MD.js} +0 -0
  526. /package/dist/{solarized-light-U1mjAkaE.js → solarized-light-Bw0RlZC7.js} +0 -0
  527. /package/dist/{solidity-DfzZ5d-O.js → solidity-Dl1Szhqk.js} +0 -0
  528. /package/dist/{solr-CNZE5yrI.js → solr-Kwz1kGU1.js} +0 -0
  529. /package/dist/{splunk-K8fn70fG.js → splunk-D_aQa7Wj.js} +0 -0
  530. /package/dist/{spreadsheet-DQPJGjZQ.js → spreadsheet-D6FABxcn.js} +0 -0
  531. /package/dist/{sql-CAF6o9lq.js → sql-Bl2dBUIk.js} +0 -0
  532. /package/dist/{sql-DRtPaiem.js → sql-ZN4U_4B1.js} +0 -0
  533. /package/dist/{ssh-config-BXqbrXDi.js → ssh-config-BZDNWhA1.js} +0 -0
  534. /package/dist/{stex-D1sWhacG.js → stex-B5cVJDuZ.js} +0 -0
  535. /package/dist/{stylus-C_YQrfMD.js → stylus-ByL4A079.js} +0 -0
  536. /package/dist/{swift-Ceo6tYUp.js → swift-scoJKQVi.js} +0 -0
  537. /package/dist/{synthwave-84-CHXFapSW.js → synthwave-84-DKtuD_wy.js} +0 -0
  538. /package/dist/{system-verilog-D4CJAYbc.js → system-verilog-Bv-1IX35.js} +0 -0
  539. /package/dist/{systemd-CHq8PvwE.js → systemd-BzGxwp-W.js} +0 -0
  540. /package/dist/{talonscript-D6aZJv_Q.js → talonscript-BSbePVqO.js} +0 -0
  541. /package/dist/{tasl-BWmlUeU7.js → tasl-BA3aDFU3.js} +0 -0
  542. /package/dist/{tcl-C3YCHzLh.js → tcl-BAw9Lg69.js} +0 -0
  543. /package/dist/{terraform-y7dSvHa7.js → terraform-D50En-Co.js} +0 -0
  544. /package/dist/{tiddlywiki-DotFbxlj.js → tiddlywiki-Bl1_jWGY.js} +0 -0
  545. /package/dist/{tiki-cZC65BMY.js → tiki-BDy2Aqau.js} +0 -0
  546. /package/dist/{timer--XD4eQXe.js → timer-Dde4NBPL.js} +0 -0
  547. /package/dist/{tokyo-night-A0-IVocs.js → tokyo-night-DXO9qP_t.js} +0 -0
  548. /package/dist/{toml-OrfgdRYt.js → toml-Cubg1uUB.js} +0 -0
  549. /package/dist/{treemap-BjIqNFzX.js → treemap-BLQ6nYXt.js} +0 -0
  550. /package/dist/{tsv-B2Hf1H8S.js → tsv-vZzoqqJp.js} +0 -0
  551. /package/dist/{tsx-DGPbtVdN.js → tsx-LnCcyy2E.js} +0 -0
  552. /package/dist/{turtle-DsNtk6IM.js → turtle-CMwgyTdm.js} +0 -0
  553. /package/dist/{typescript-CCzz7yCV.js → typescript-B5rt_l9e.js} +0 -0
  554. /package/dist/{typespec-DUIO3iAy.js → typespec-CkLBOALm.js} +0 -0
  555. /package/dist/{typst-CzQn6sYd.js → typst-C-inGA8y.js} +0 -0
  556. /package/dist/{v-DDSEES9z.js → v-CFTQQNNR.js} +0 -0
  557. /package/dist/{vala-Cbu40xKX.js → vala-CEP8R4Sr.js} +0 -0
  558. /package/dist/{vb-DtlqoV5V.js → vb-LCy_gAYP.js} +0 -0
  559. /package/dist/{verilog-CCzhlD5Z.js → verilog-CjetHjeY.js} +0 -0
  560. /package/dist/{vesper-DJTKEjYY.js → vesper-C1ptU1oI.js} +0 -0
  561. /package/dist/{vhdl-DDdF26gx.js → vhdl-BwoGC9LM.js} +0 -0
  562. /package/dist/{viml-Csgqqvxa.js → viml-CydZIHfP.js} +0 -0
  563. /package/dist/{vitesse-black-B_9_MY9n.js → vitesse-black-C-p75DbZ.js} +0 -0
  564. /package/dist/{vitesse-dark-5oLbBBDP.js → vitesse-dark-Ai-v_ovz.js} +0 -0
  565. /package/dist/{vitesse-light-DY7aCeME.js → vitesse-light-DQ9NGEHC.js} +0 -0
  566. /package/dist/{vyper-CJCjsleu.js → vyper-BF3ELXiG.js} +0 -0
  567. /package/dist/{wasm-DtNse08w.js → wasm-OjKRvUGa.js} +0 -0
  568. /package/dist/{wasm-BSZ3My3r.js → wasm-sMdbPauS.js} +0 -0
  569. /package/dist/{wenyan-BvPQ-H9y.js → wenyan-jAkt3eQa.js} +0 -0
  570. /package/dist/{wgsl-B65N7iDC.js → wgsl-C164tHZL.js} +0 -0
  571. /package/dist/{wikitext-BIFkMlQo.js → wikitext-DVNWOcXh.js} +0 -0
  572. /package/dist/{wit-DP8045yv.js → wit-BiebwFst.js} +0 -0
  573. /package/dist/{wolfram-DHmulSSf.js → wolfram-Dej0TMYQ.js} +0 -0
  574. /package/dist/{yaml-BW6YUxU4.js → yaml-D1dcMKz3.js} +0 -0
  575. /package/dist/{zenscript-CkfsSip8.js → zenscript-DR8tpung.js} +0 -0
  576. /package/dist/{zig-DxQnpavN.js → zig-DqxNCCzt.js} +0 -0
  577. /package/src/components/{chat → markdown}/markdown-renderer.css +0 -0
  578. /package/src/components/{chat → markdown}/markdown-renderer.tsx +0 -0
@@ -128,7 +128,7 @@ describe("EditNotebookTool", () => {
128
128
  {
129
129
  edit: {
130
130
  type: "update_cell",
131
- cellId: cellId1,
131
+ position: { type: "relative", cellId: cellId1 },
132
132
  code: newCode,
133
133
  },
134
134
  },
@@ -154,7 +154,7 @@ describe("EditNotebookTool", () => {
154
154
  {
155
155
  edit: {
156
156
  type: "update_cell",
157
- cellId: cellId1,
157
+ position: { type: "relative", cellId: cellId1 },
158
158
  code: "x = 3",
159
159
  },
160
160
  },
@@ -188,7 +188,7 @@ describe("EditNotebookTool", () => {
188
188
  {
189
189
  edit: {
190
190
  type: "update_cell",
191
- cellId: "nonexistent" as CellId,
191
+ position: { cellId: "nonexistent" as CellId },
192
192
  code: "x = 2",
193
193
  },
194
194
  },
@@ -201,7 +201,7 @@ describe("EditNotebookTool", () => {
201
201
  {
202
202
  edit: {
203
203
  type: "update_cell",
204
- cellId: "nonexistent" as CellId,
204
+ position: { cellId: "nonexistent" as CellId },
205
205
  code: "x = 2",
206
206
  },
207
207
  },
@@ -225,7 +225,7 @@ describe("EditNotebookTool", () => {
225
225
  {
226
226
  edit: {
227
227
  type: "update_cell",
228
- cellId: cellId1,
228
+ position: { type: "relative", cellId: cellId1 },
229
229
  code: "x = 2",
230
230
  },
231
231
  },
@@ -233,6 +233,51 @@ describe("EditNotebookTool", () => {
233
233
  ),
234
234
  ).rejects.toThrow("Cell editor not found");
235
235
  });
236
+
237
+ it("should throw error when cellId is missing for update_cell", async () => {
238
+ const notebook = MockNotebook.notebookState({
239
+ cellData: {
240
+ [cellId1]: { code: "x = 1" },
241
+ },
242
+ });
243
+ store.set(notebookAtom, notebook);
244
+
245
+ await expect(
246
+ tool.handler(
247
+ {
248
+ edit: {
249
+ type: "update_cell",
250
+ position: {},
251
+ code: "x = 2",
252
+ },
253
+ },
254
+ toolContext as never,
255
+ ),
256
+ ).rejects.toThrow("Cell ID is required for update_cell");
257
+ });
258
+
259
+ it("should throw error when code is missing for update_cell", async () => {
260
+ const editorView = createMockEditorView("x = 1");
261
+ const notebook = MockNotebook.notebookState({
262
+ cellData: {
263
+ [cellId1]: { code: "x = 1" },
264
+ },
265
+ });
266
+ notebook.cellHandles[cellId1] = { current: { editorView } } as never;
267
+ store.set(notebookAtom, notebook);
268
+
269
+ await expect(
270
+ tool.handler(
271
+ {
272
+ edit: {
273
+ type: "update_cell",
274
+ position: { cellId: cellId1 },
275
+ },
276
+ },
277
+ toolContext as never,
278
+ ),
279
+ ).rejects.toThrow("Code is required for update_cell");
280
+ });
236
281
  });
237
282
 
238
283
  describe("add_cell operation", () => {
@@ -404,6 +449,86 @@ describe("EditNotebookTool", () => {
404
449
  ),
405
450
  ).rejects.toThrow("Column index is out of range");
406
451
  });
452
+
453
+ it("should throw error when cellId is missing for add_cell with relative position", async () => {
454
+ const notebook = MockNotebook.notebookState({
455
+ cellData: {
456
+ [cellId1]: { code: "x = 1" },
457
+ },
458
+ });
459
+ store.set(notebookAtom, notebook);
460
+
461
+ await expect(
462
+ tool.handler(
463
+ {
464
+ edit: {
465
+ type: "add_cell",
466
+ position: {
467
+ type: "relative",
468
+ before: true,
469
+ },
470
+ code: "y = 2",
471
+ },
472
+ },
473
+ toolContext as never,
474
+ ),
475
+ ).rejects.toThrow(
476
+ "Cell ID is required for add_cell with relative position",
477
+ );
478
+ });
479
+
480
+ it("should throw error when before is missing for add_cell with relative position", async () => {
481
+ const notebook = MockNotebook.notebookState({
482
+ cellData: {
483
+ [cellId1]: { code: "x = 1" },
484
+ },
485
+ });
486
+ store.set(notebookAtom, notebook);
487
+
488
+ await expect(
489
+ tool.handler(
490
+ {
491
+ edit: {
492
+ type: "add_cell",
493
+ position: {
494
+ type: "relative",
495
+ cellId: cellId1,
496
+ },
497
+ code: "y = 2",
498
+ },
499
+ },
500
+ toolContext as never,
501
+ ),
502
+ ).rejects.toThrow(
503
+ "Before is required for add_cell with relative position",
504
+ );
505
+ });
506
+
507
+ it("should throw error when columnIndex is missing for add_cell with column_end position", async () => {
508
+ const notebook = MockNotebook.notebookState({
509
+ cellData: {
510
+ [cellId1]: { code: "x = 1" },
511
+ },
512
+ });
513
+ store.set(notebookAtom, notebook);
514
+
515
+ await expect(
516
+ tool.handler(
517
+ {
518
+ edit: {
519
+ type: "add_cell",
520
+ position: {
521
+ type: "column_end",
522
+ },
523
+ code: "y = 2",
524
+ },
525
+ },
526
+ toolContext as never,
527
+ ),
528
+ ).rejects.toThrow(
529
+ "Column index is required for add_cell with column_end position",
530
+ );
531
+ });
407
532
  });
408
533
 
409
534
  describe("delete_cell operation", () => {
@@ -423,7 +548,7 @@ describe("EditNotebookTool", () => {
423
548
  {
424
549
  edit: {
425
550
  type: "delete_cell",
426
- cellId: cellId1,
551
+ position: { cellId: cellId1 },
427
552
  },
428
553
  },
429
554
  toolContext as never,
@@ -453,7 +578,7 @@ describe("EditNotebookTool", () => {
453
578
  {
454
579
  edit: {
455
580
  type: "delete_cell",
456
- cellId: "nonexistent" as CellId,
581
+ position: { cellId: "nonexistent" as CellId },
457
582
  },
458
583
  },
459
584
  toolContext as never,
@@ -476,13 +601,34 @@ describe("EditNotebookTool", () => {
476
601
  {
477
602
  edit: {
478
603
  type: "delete_cell",
479
- cellId: cellId1,
604
+ position: { cellId: cellId1 },
480
605
  },
481
606
  },
482
607
  toolContext as never,
483
608
  ),
484
609
  ).rejects.toThrow("Cell editor not found");
485
610
  });
611
+
612
+ it("should throw error when cellId is missing for delete_cell", async () => {
613
+ const notebook = MockNotebook.notebookState({
614
+ cellData: {
615
+ [cellId1]: { code: "x = 1" },
616
+ },
617
+ });
618
+ store.set(notebookAtom, notebook);
619
+
620
+ await expect(
621
+ tool.handler(
622
+ {
623
+ edit: {
624
+ type: "delete_cell",
625
+ position: {},
626
+ },
627
+ },
628
+ toolContext as never,
629
+ ),
630
+ ).rejects.toThrow("Cell ID is required for delete_cell");
631
+ });
486
632
  });
487
633
 
488
634
  describe("validation", () => {
@@ -508,7 +654,7 @@ describe("EditNotebookTool", () => {
508
654
  {
509
655
  edit: {
510
656
  type: "update_cell",
511
- cellId: cellId1,
657
+ position: { cellId: cellId1 },
512
658
  code: "y = 1",
513
659
  },
514
660
  },
@@ -521,7 +667,7 @@ describe("EditNotebookTool", () => {
521
667
  {
522
668
  edit: {
523
669
  type: "update_cell",
524
- cellId: cellId3,
670
+ position: { cellId: cellId3 },
525
671
  code: "y = 3",
526
672
  },
527
673
  },
@@ -1,9 +1,14 @@
1
1
  /* Copyright 2024 Marimo. All rights reserved. */
2
2
 
3
3
  import { describe, expect, it } from "vitest";
4
- import { FrontendToolRegistry } from "../registry";
4
+ import { COPILOT_MODES } from "@/core/config/config-schema";
5
+ import { FRONTEND_TOOL_REGISTRY, FrontendToolRegistry } from "../registry";
5
6
  import { TestFrontendTool } from "../sample-tool";
6
7
 
8
+ // Tools that have these keys in their parameters are likely not supported by Google
9
+ // So we should be careful to add these types of schemas
10
+ const INVALID_KEYS_IN_SCHEMA_PARAMS = new Set(["anyOf", "oneOf"]);
11
+
7
12
  describe("FrontendToolRegistry", () => {
8
13
  it("registers tools via constructor and supports has()", () => {
9
14
  const registry = new FrontendToolRegistry([new TestFrontendTool()]);
@@ -87,4 +92,33 @@ describe("FrontendToolRegistry", () => {
87
92
  const schemas3 = registry.getToolSchemas("agent");
88
93
  expect(schemas3.length).toBe(0);
89
94
  });
95
+
96
+ it("tool schemas should not contain invalid keys", () => {
97
+ const registry = FRONTEND_TOOL_REGISTRY;
98
+
99
+ function hasInvalidKeys(obj: unknown): boolean {
100
+ if (obj && typeof obj === "object") {
101
+ for (const [key, value] of Object.entries(obj)) {
102
+ if (INVALID_KEYS_IN_SCHEMA_PARAMS.has(key)) {
103
+ return true;
104
+ }
105
+ if (
106
+ typeof value === "object" &&
107
+ value !== null &&
108
+ hasInvalidKeys(value)
109
+ ) {
110
+ return true;
111
+ }
112
+ }
113
+ }
114
+ return false;
115
+ }
116
+
117
+ for (const mode of COPILOT_MODES) {
118
+ const schemas = registry.getToolSchemas(mode);
119
+ for (const schema of schemas) {
120
+ expect(hasInvalidKeys(schema.parameters)).toBe(false);
121
+ }
122
+ }
123
+ });
90
124
  });
@@ -30,13 +30,22 @@ const description: ToolDescription = {
30
30
  ],
31
31
  additionalInfo: `
32
32
  Args:
33
- edit (object): The editing operation to perform. Must be one of:
34
- - update_cell: Update the code of an existing cell, pass cellId and the new code.
35
- - add_cell: Add a new cell to the notebook. The position is specified by the position object with a "type" field:
36
- { type: "notebook_end" } - Add at the end of the notebook
37
- { type: "relative", cellId: "...", before: true } - Add before the specified cell (before: false for after)
38
- { type: "column_end", columnIndex: 0 } - Add at the end of a specific column (0-based index)
39
- - delete_cell: Delete an existing cell, pass cellId. For deleting cells, the user needs to accept the deletion to actually delete the cell, so you may still see the cell in the notebook on subsequent edits which is fine.
33
+ edit (object): The editing operation to perform with the following structure:
34
+ - type: One of "update_cell", "add_cell", or "delete_cell"
35
+ - code (string, optional): Required for "update_cell" and "add_cell" operations. The code content for the cell.
36
+ - position (object): Always present, with the following structure:
37
+ - type: One of "relative", "column_end", or "notebook_end". Not needed for "delete_cell" or "update_cell" operations.
38
+ - cellId (string, optional): Required for "update_cell", "delete_cell", and "add_cell" with "relative" position type
39
+ - columnIndex (number, optional): Required for "add_cell" with "column_end" position type (0-based index)
40
+ - before (boolean, optional): Required for "add_cell" with "relative" position type (true to add before, false to add after)
41
+
42
+ Operation types:
43
+ - update_cell: Update the code of an existing cell. Requires: code, position.cellId
44
+ - add_cell: Add a new cell to the notebook. Requires: code, and position based on position.type:
45
+ - position.type "notebook_end": Add at the end of the notebook (no additional position fields needed)
46
+ - position.type "relative": Add relative to an existing cell. Requires: position.cellId, position.before
47
+ - position.type "column_end": Add at the end of a specific column. Requires: position.columnIndex
48
+ - delete_cell: Delete an existing cell. Requires: position.cellId. For deleting cells, the user needs to accept the deletion to actually delete the cell, so you may still see the cell in the notebook on subsequent edits which is fine.
40
49
 
41
50
  For adding code, use the following guidelines:
42
51
  - Markdown cells: use mo.md(f"""{content}""") function to insert content.
@@ -46,41 +55,17 @@ const description: ToolDescription = {
46
55
  - A result object containing standard tool metadata.`,
47
56
  };
48
57
 
49
- type CellPosition =
50
- | { type: "relative"; cellId: CellId; before: boolean }
51
- | { type: "column_end"; columnIndex: number }
52
- | { type: "notebook_end" };
53
-
54
58
  const editNotebookSchema = z.object({
55
- edit: z.discriminatedUnion("type", [
56
- z.object({
57
- type: z.literal("update_cell"),
58
- cellId: z.string() as unknown as z.ZodType<CellId>,
59
- code: z.string(),
60
- }),
61
- z.object({
62
- type: z.literal("add_cell"),
63
- position: z.discriminatedUnion("type", [
64
- z.object({
65
- type: z.literal("relative"),
66
- cellId: z.string() as unknown as z.ZodType<CellId>,
67
- before: z.boolean(),
68
- }),
69
- z.object({
70
- type: z.literal("column_end"),
71
- columnIndex: z.number(),
72
- }),
73
- z.object({
74
- type: z.literal("notebook_end"),
75
- }),
76
- ]) satisfies z.ZodType<CellPosition>,
77
- code: z.string(),
59
+ edit: z.object({
60
+ type: z.enum(["update_cell", "add_cell", "delete_cell"]),
61
+ code: z.string().optional(),
62
+ position: z.object({
63
+ type: z.enum(["relative", "column_end", "notebook_end"]).optional(),
64
+ cellId: z.string().optional(),
65
+ columnIndex: z.number().optional(),
66
+ before: z.boolean().optional(),
78
67
  }),
79
- z.object({
80
- type: z.literal("delete_cell"),
81
- cellId: z.string() as unknown as z.ZodType<CellId>,
82
- }),
83
- ]),
68
+ }),
84
69
  });
85
70
 
86
71
  type EditNotebookInput = z.infer<typeof editNotebookSchema>;
@@ -104,7 +89,24 @@ export class EditNotebookTool
104
89
 
105
90
  switch (edit.type) {
106
91
  case "update_cell": {
107
- const { cellId, code } = edit;
92
+ const { position, code } = edit;
93
+ const cellId = position.cellId as CellId;
94
+
95
+ if (!cellId) {
96
+ throw new ToolExecutionError(
97
+ "Cell ID is required for update_cell",
98
+ "CELL_ID_REQUIRED_FOR_UPDATE_CELL",
99
+ true,
100
+ "Provide a cell ID to update",
101
+ );
102
+ } else if (!code) {
103
+ throw new ToolExecutionError(
104
+ "Code is required for update_cell",
105
+ "CODE_REQUIRED_FOR_UPDATE_CELL",
106
+ true,
107
+ "Provide the new code to update the cell",
108
+ );
109
+ }
108
110
 
109
111
  const notebook = store.get(notebookAtom);
110
112
  this.validateCellIdExists(cellId, notebook);
@@ -144,12 +146,41 @@ export class EditNotebookTool
144
146
  const notebook = store.get(notebookAtom);
145
147
 
146
148
  switch (position.type) {
147
- case "relative":
148
- this.validateCellIdExists(position.cellId, notebook);
149
- notebookPosition = position.cellId;
149
+ case "relative": {
150
+ const cellId = position.cellId as CellId;
151
+ if (!cellId) {
152
+ throw new ToolExecutionError(
153
+ "Cell ID is required for add_cell with relative position",
154
+ "TOOL_ERROR",
155
+ true,
156
+ "Provide a cell ID to add the cell before",
157
+ );
158
+ }
159
+
160
+ if (position.before === undefined) {
161
+ throw new ToolExecutionError(
162
+ "Before is required for add_cell with relative position",
163
+ "TOOL_ERROR",
164
+ true,
165
+ `Provide a boolean value for before, true to add before cell ${cellId}, false to add after the cell`,
166
+ );
167
+ }
168
+
169
+ this.validateCellIdExists(cellId, notebook);
170
+ notebookPosition = cellId;
150
171
  before = position.before;
151
172
  break;
173
+ }
152
174
  case "column_end": {
175
+ if (!position.columnIndex) {
176
+ throw new ToolExecutionError(
177
+ "Column index is required for add_cell with column_end position",
178
+ "TOOL_ERROR",
179
+ true,
180
+ "Provide a column index to add the cell at the end of",
181
+ );
182
+ }
183
+
153
184
  const columnId = this.getColumnId(position.columnIndex, notebook);
154
185
  notebookPosition = { type: "__end__", columnId };
155
186
  break;
@@ -177,7 +208,17 @@ export class EditNotebookTool
177
208
  break;
178
209
  }
179
210
  case "delete_cell": {
180
- const { cellId } = edit;
211
+ const { position } = edit;
212
+ const cellId = position.cellId as CellId;
213
+
214
+ if (!cellId) {
215
+ throw new ToolExecutionError(
216
+ "Cell ID is required for delete_cell",
217
+ "CELL_ID_REQUIRED_FOR_DELETE_CELL",
218
+ true,
219
+ "Provide a cell ID to delete",
220
+ );
221
+ }
181
222
 
182
223
  const notebook = store.get(notebookAtom);
183
224
  this.validateCellIdExists(cellId, notebook);