@marimo-team/islands 0.25.3-dev19 → 0.25.3-dev192

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 (627) hide show
  1. package/dist/{ConnectedDataExplorerComponent-CNMliVzw.js → ConnectedDataExplorerComponent-BBbOElk3.js} +21 -19
  2. package/dist/{ErrorBoundary-CBHB755J.js → ErrorBoundary-Dw6uRKVk.js} +19 -19
  3. package/dist/{abnfDiagram-VCTEODGH-D-Ez91gV.js → abnfDiagram-VCTEODGH-DhMT6Uhd.js} +2 -2
  4. package/dist/any-language-editor-BVFHDDQ3.js +75 -0
  5. package/dist/{architectureDiagram-5GKGNRK7-CTpcNtO8.js → architectureDiagram-5GKGNRK7-BVbEiJLq.js} +1 -1
  6. package/dist/{arrays-CN1djC4k.js → arrays-R6JsImiT.js} +8 -0
  7. package/dist/assets/__vite-browser-external-C8gQho07.js +1 -0
  8. package/dist/assets/worker-C6e9ERyd.js +113 -0
  9. package/dist/{button-CvjkwdSk.js → button-BQRdqQi1.js} +199 -192
  10. package/dist/{capabilities-CQ5IjhzL.js → capabilities-CI4xUPsp.js} +2 -2
  11. package/dist/{chat-ui-DaHynk8g.js → chat-ui-BguxTQEL.js} +541 -540
  12. package/dist/{check-EDwSwP89.js → check-C9Mp9eCK.js} +1 -1
  13. package/dist/{chunk-IMKFNOWR-DGxi-zeo.js → chunk-IMKFNOWR-By5hSbJJ.js} +1 -1
  14. package/dist/{chunk-SHT3W25Y-CV9J3rAB.js → chunk-SHT3W25Y-DFrEYG54.js} +1 -1
  15. package/dist/{chunk-SVP7TREG-BL-9Fqgg.js → chunk-SVP7TREG-DFXGc9ew.js} +1 -1
  16. package/dist/{chunk-TICWLB2K-Cu_XMjDM.js → chunk-TICWLB2K-DZdNIpoZ.js} +1 -1
  17. package/dist/{chunk-YOKDWASO-DPZk8vhS.js → chunk-YOKDWASO-DKplTrBY.js} +20 -20
  18. package/dist/{classDiagram-ZZMXUADV-BXXV13Hq.js → classDiagram-ZZMXUADV-Cgj_eEQA.js} +2 -2
  19. package/dist/{classDiagram-v2-VYDZK3BY-B7FXJ1Cp.js → classDiagram-v2-VYDZK3BY-DLAUrSqj.js} +2 -2
  20. package/dist/{code-visibility-CEXXuuOE.js → code-visibility-v_7ijLtx.js} +25 -25
  21. package/dist/{common-OLE92qsR.js → common-BUwWHpnK.js} +6994 -6819
  22. package/dist/{copy-icon-Ft7t9bqz.js → copy-icon-De584pZ4.js} +3 -3
  23. package/dist/{cynefinDiagram-5FMLGOSQ-CH96rwba.js → cynefinDiagram-5FMLGOSQ-Cikf9AKa.js} +1 -1
  24. package/dist/{dagre-GXQ25YYZ-BD3PmpFY.js → dagre-GXQ25YYZ-C5KEi5_l.js} +1 -1
  25. package/dist/{data-grid-overlay-editor-CpHX98zN.js → data-grid-overlay-editor-4IZymnXZ.js} +5 -5
  26. package/dist/{data-grid-types-BH_r7g7l.js → data-grid-types-0PJ-9N5n.js} +1 -1
  27. package/dist/{diagram-S7CK7UJ4-BsSJJldB.js → diagram-S7CK7UJ4-BaoBTQjR.js} +1 -1
  28. package/dist/{diagram-UQ7AKVKN-muQtNZc4.js → diagram-UQ7AKVKN-DDufBsUA.js} +1 -1
  29. package/dist/{diagram-VX7I27RA-CdhuZAqR.js → diagram-VX7I27RA-CY6RALJ8.js} +1 -1
  30. package/dist/{diagram-Z3DM3KII-BD8mXjOj.js → diagram-Z3DM3KII-Bc-LHsD6.js} +1 -1
  31. package/dist/{dialog-CEBFZNyc.js → dialog-DVRfQuhD.js} +25 -25
  32. package/dist/{dist-F8Ep36rk.js → dist-B1M0bGO3.js} +1 -1
  33. package/dist/{dist-D6d86eNJ.js → dist-BA13RJj5.js} +1 -1
  34. package/dist/{dist-Bvs24R_E.js → dist-BJtmSgcE.js} +48 -48
  35. package/dist/{dist-CN_BeG2I.js → dist-Ba2VIn1K.js} +53 -53
  36. package/dist/{dist-PXYI_yuP.js → dist-Bj4bmwUm.js} +12 -12
  37. package/dist/{dist-DoE4XJBC.js → dist-BmS-ZGjl.js} +8626 -8626
  38. package/dist/{dist-BorMD-uX.js → dist-Bzogh7CW.js} +87 -87
  39. package/dist/{dist-CN8zI-XC.js → dist-CThPVKaP.js} +1385 -1382
  40. package/dist/{dist-DiDibOYr.js → dist-CTi5FTiV.js} +87 -87
  41. package/dist/{dist-diIx5qJW.js → dist-Ck_C32ye.js} +2 -2
  42. package/dist/{dist-BLfKmR-l.js → dist-D1fnFp1J.js} +1 -1
  43. package/dist/{dist-OR1OnN-y.js → dist-D3x9__Fu.js} +46 -46
  44. package/dist/{dist-BMQf5zIS.js → dist-D7mrh5sO.js} +36 -36
  45. package/dist/{dist-CSJ0MDRw.js → dist-D9Q3xjiP.js} +1 -1
  46. package/dist/{dist-BuaRHxOc.js → dist-DP60Ubh8.js} +2 -2
  47. package/dist/{dist-CSbh1PNP.js → dist-DTv9KkpW.js} +12 -12
  48. package/dist/{dist-D-wwqlzJ.js → dist-DVVwOfrD.js} +109 -109
  49. package/dist/{dist-C8fAKSH1.js → dist-DYXM73-k.js} +36 -36
  50. package/dist/{dist-DBtSl3sf.js → dist-DjeybPOb.js} +1 -1
  51. package/dist/{dist-CrSP_H1M.js → dist-DtGn9N4h.js} +197 -197
  52. package/dist/{dist-CLdpGQVr.js → dist-KN80qWCP.js} +2 -2
  53. package/dist/{dist-DpBpA_n1.js → dist-Lm-D-Vr6.js} +3 -3
  54. package/dist/{dist-Cg7gzw-a.js → dist-O0qFpEJh.js} +56 -56
  55. package/dist/{dist-CkTTIdBe.js → dist-OUle2RT7.js} +207 -207
  56. package/dist/{dist-BK4Oj99o.js → dist-T5rh6JvL.js} +1 -1
  57. package/dist/{dropdown-menu-CP_qCYHC.js → dropdown-menu-drDjxJyV.js} +1481 -1433
  58. package/dist/{ebnfDiagram-PWID7BFC-BIN1sweE.js → ebnfDiagram-PWID7BFC-Cz0J-tcC.js} +2 -2
  59. package/dist/{erDiagram-RLTQ6QDP-Ctp5cfoN.js → erDiagram-RLTQ6QDP-DTXTDgFu.js} +1 -1
  60. package/dist/{error-banner-D-WCIiMt.js → error-banner-DxJ3s8YO.js} +86 -86
  61. package/dist/{error-entries-Bv6bZPF3.js → error-entries-CZ1NQ6Kv.js} +4771 -4702
  62. package/dist/{esm-D2gTsXEV.js → esm-Bbw_Njjx.js} +575 -575
  63. package/dist/{esm-AMFssoNp.js → esm-mDQNEFe_.js} +354 -354
  64. package/dist/{feedback-button-_f7fx7zj.js → feedback-button-MpeoIn1D.js} +37 -37
  65. package/dist/{flowDiagram-HODETNUW-3EfLrlFb.js → flowDiagram-HODETNUW-RbwWf2zc.js} +2 -2
  66. package/dist/{formats-27CW_UP4.js → formats-DbXnijtH.js} +3 -3
  67. package/dist/{ganttDiagram-EL5Y4UJY-BQT16JSc.js → ganttDiagram-EL5Y4UJY-Dh_4cBJZ.js} +2 -2
  68. package/dist/{glide-data-editor-Cmu4vWKD.js → glide-data-editor-DU8_EDG5.js} +370 -368
  69. package/dist/{glide-utils-DJyqh0EM.js → glide-utils-D98laidb.js} +16 -16
  70. package/dist/{globals-1Hfhz6Dx.js → globals-BeBDOk22.js} +3 -3
  71. package/dist/{highlighted-body-KPVGNVTW-zwjq21tf.js → highlighted-body-KPVGNVTW-3Ziwfz-V.js} +2 -2
  72. package/dist/{html-to-image-Bf8QMGi4.js → html-to-image-D_4_hQ8U.js} +668 -622
  73. package/dist/{infoDiagram-27XIBGKW-DipQoHxl.js → infoDiagram-27XIBGKW-DlmzZjmI.js} +1 -1
  74. package/dist/{ishikawaDiagram-5VMMS53U-DgFMjSGz.js → ishikawaDiagram-5VMMS53U-EN3TYP_q.js} +1 -1
  75. package/dist/{kanban-definition-UXKFOSKX-w1ACVjgl.js → kanban-definition-UXKFOSKX-CK_-Ru7Q.js} +1 -1
  76. package/dist/{label-BDKF3Afc.js → label-Qvw1E97W.js} +3 -3
  77. package/dist/{linear-Cnaq3Tfb.js → linear-DWERh7eI.js} +121 -73
  78. package/dist/{loader-BQOfjTIJ.js → loader-DOVB0Syl.js} +12 -12
  79. package/dist/main.js +9822 -7824
  80. package/dist/{mermaid-CHo49Yv-.js → mermaid-DU9ZRmkG.js} +38 -38
  81. package/dist/mermaid-HWGCJPDP-Du3-HPQA.js +2 -0
  82. package/dist/{mindmap-definition-YA3MSWOX-CrT0KSfX.js → mindmap-definition-YA3MSWOX-C-hqgUvF.js} +1 -1
  83. package/dist/{number-overlay-editor-BQN3-Nye.js → number-overlay-editor-BoIkyh6H.js} +3 -3
  84. package/dist/{objects-CzUgoMIF.js → objects-DCmMvZtn.js} +1 -3
  85. package/dist/{once-BtE-wKRL.js → once-eG8Vmvjd.js} +1 -1
  86. package/dist/{pegDiagram-XKGWAZYB-BqvywNJA.js → pegDiagram-XKGWAZYB-BiMejYPB.js} +2 -2
  87. package/dist/{pieDiagram-E7YTZNPT-BfxJ_XCc.js → pieDiagram-E7YTZNPT-B1zCZ1eq.js} +1 -1
  88. package/dist/precisionRound-DhAzeRcm.js +49 -0
  89. package/dist/{process-output-BZg56CCb.js → process-output-DxSCHBWp.js} +4 -4
  90. package/dist/{quadrantDiagram-AXDQQJYC-Ccw0xMjN.js → quadrantDiagram-AXDQQJYC-Blrm7V7_.js} +1 -1
  91. package/dist/{railroadDiagram-O6MQD6OU-8vFLVTPu.js → railroadDiagram-O6MQD6OU-BLcfaASl.js} +2 -2
  92. package/dist/{react-vega-BED0DjiB.js → react-vega-C4T9Rb_w.js} +12284 -12270
  93. package/dist/{requirementDiagram-BXWQKSXE-a_MxGvxe.js → requirementDiagram-BXWQKSXE-DtBOf52-.js} +1 -1
  94. package/dist/{reveal-component-nqUW7zgn.js → reveal-component-5M3a2rpj.js} +734 -711
  95. package/dist/{select-BButFi-d.js → select-2KOiReNY.js} +536 -457
  96. package/dist/{sequenceDiagram-WJ2MYXX4-CXFMnxGh.js → sequenceDiagram-WJ2MYXX4-DIwF19_n.js} +1 -1
  97. package/dist/{spec-BwarBpUJ.js → spec-DZDnnlgT.js} +41 -11
  98. package/dist/{stateDiagram-D77RDMKH-DQeA_CwI.js → stateDiagram-D77RDMKH-sWk1AdYL.js} +2 -2
  99. package/dist/{stateDiagram-v2-MP3YSRHH-BxxQucm1.js → stateDiagram-v2-MP3YSRHH-CiNo-OI7.js} +2 -2
  100. package/dist/style.css +1 -1
  101. package/dist/{swimlanes-42K2YHIH-Do6L-cYg.js → swimlanes-42K2YHIH-Bj3hiOY5.js} +1 -1
  102. package/dist/{swimlanesDiagram-VR7AAH4N-DUzPvSVU.js → swimlanesDiagram-VR7AAH4N-BzEo2r_N.js} +2 -2
  103. package/dist/{swiper-component-DKntyn8p.js → swiper-component-BkCm-kLg.js} +2 -2
  104. package/dist/{time-BieKwdYS.js → time-BaMbJs4z.js} +18 -18
  105. package/dist/{timeline-definition-24CTP7MA-D3c46WM5.js → timeline-definition-24CTP7MA-CrPQk42H.js} +1 -1
  106. package/dist/{toDate-UtiwmnH2.js → toDate-Cu2pIZcC.js} +37 -36
  107. package/dist/{toast-B9UMEi8u.js → toast-B5t9o6s_.js} +219 -201
  108. package/dist/{tooltip-BO1REbqs.js → tooltip-s4zZxwKe.js} +325 -301
  109. package/dist/{use-restore-focus-BEM7sFWl.js → use-restore-focus-BgDTd2tc.js} +1482 -1433
  110. package/dist/{useAsyncData-Deh5kszT.js → useAsyncData-DEhLdRIu.js} +15 -14
  111. package/dist/{useDateFormatter-D8XruNGG.js → useDateFormatter-D3Tkfzej.js} +2 -2
  112. package/dist/{useDeepCompareMemoize-DXwzRINI.js → useDeepCompareMemoize-RjZGVhBV.js} +1 -1
  113. package/dist/{useIframeCapabilities-DBETvvPl.js → useIframeCapabilities-CSdWn6NP.js} +1 -1
  114. package/dist/{useLifecycle-j7D9uD1o.js → useLifecycle-DtcB2s1z.js} +28 -25
  115. package/dist/{useTheme-CRnjkku0.js → useTheme-CoEtr4mK.js} +301 -297
  116. package/dist/{vega-component-BeF9dfyO.js → vega-component-BhjTrP9-.js} +148 -148
  117. package/dist/{vega-embed-container-BNHE18G9.js → vega-embed-container--LYZqguO.js} +2 -2
  118. package/dist/{vega-loader.browser-DNST6uVf.js → vega-loader.browser-B9Pz0EGP.js} +298 -507
  119. package/dist/{vennDiagram-4TSXK5OY-BSZD8JcZ.js → vennDiagram-4TSXK5OY-BaYMoIpj.js} +1 -1
  120. package/dist/{wardleyDiagram-VM6X3IG4-48cUWkfA.js → wardleyDiagram-VM6X3IG4-DjHeuj8p.js} +1 -1
  121. package/dist/{xychartDiagram-S5SC5T6Z-CswYgYeu.js → xychartDiagram-S5SC5T6Z-Bc_hcuXS.js} +2 -2
  122. package/package.json +16 -16
  123. package/src/__mocks__/document.tsx +54 -0
  124. package/src/__mocks__/notebook.ts +2 -1
  125. package/src/__mocks__/requests.ts +0 -3
  126. package/src/__tests__/module-entry.test.ts +44 -0
  127. package/src/__tests__/mount.test.ts +1 -21
  128. package/src/__tests__/{host-imports.test.ts → replica-imports.test.ts} +12 -11
  129. package/src/components/ai/__tests__/ai-model-dropdown.test.tsx +63 -0
  130. package/src/components/ai/ai-model-dropdown.tsx +11 -6
  131. package/src/components/app-config/ai-config.tsx +7 -2
  132. package/src/components/app-config/user-config-form.tsx +35 -0
  133. package/src/components/chat/__tests__/message-queue.test.tsx +17 -0
  134. package/src/components/chat/__tests__/notebook-access-selector.test.tsx +64 -0
  135. package/src/components/chat/acp/__tests__/session-tabs.test.tsx +43 -0
  136. package/src/components/chat/acp/__tests__/state.test.ts +2 -2
  137. package/src/components/chat/acp/blocks.tsx +3 -2
  138. package/src/components/chat/acp/session-tabs.tsx +8 -3
  139. package/src/components/chat/chat-components.tsx +2 -0
  140. package/src/components/chat/chat-panel.tsx +20 -101
  141. package/src/components/chat/chat-utils.ts +4 -8
  142. package/src/components/chat/notebook-access-selector.stories.tsx +22 -0
  143. package/src/components/chat/notebook-access-selector.tsx +100 -0
  144. package/src/components/data-table/TableBottomBar.tsx +4 -1
  145. package/src/components/data-table/TableTopBar.tsx +2 -0
  146. package/src/components/data-table/__tests__/chart-spec-model.test.ts +195 -195
  147. package/src/components/data-table/__tests__/column-explorer.test.tsx +27 -1
  148. package/src/components/data-table/__tests__/columns.test.tsx +105 -0
  149. package/src/components/data-table/__tests__/context-menu-interaction.test.tsx +130 -0
  150. package/src/components/data-table/__tests__/data-table.test.tsx +1 -0
  151. package/src/components/data-table/__tests__/date-popover.test.tsx +72 -0
  152. package/src/components/data-table/__tests__/export-actions.test.tsx +105 -0
  153. package/src/components/data-table/__tests__/keyboard-selection.test.tsx +188 -0
  154. package/src/components/data-table/__tests__/pagination.test.tsx +28 -1
  155. package/src/components/data-table/__tests__/search-highlight.test.tsx +109 -0
  156. package/src/components/data-table/__tests__/url-detector.test.tsx +74 -0
  157. package/src/components/data-table/cell-selection/feature.ts +2 -2
  158. package/src/components/data-table/cell-selection/types.ts +2 -2
  159. package/src/components/data-table/charts/__tests__/chart-panel.test.tsx +74 -1
  160. package/src/components/data-table/charts/__tests__/spec-snapshot.test.ts +20 -20
  161. package/src/components/data-table/charts/__tests__/spec.test.ts +78 -52
  162. package/src/components/data-table/charts/__tests__/storage.test.ts +4 -1
  163. package/src/components/data-table/charts/chart-spec/spec.ts +68 -43
  164. package/src/components/data-table/charts/charts.tsx +40 -30
  165. package/src/components/data-table/charts/storage.ts +16 -5
  166. package/src/components/data-table/column-explorer-panel/column-explorer.tsx +1 -1
  167. package/src/components/data-table/column-summary/chart-spec-model.tsx +23 -16
  168. package/src/components/data-table/column-summary/column-summary.tsx +2 -4
  169. package/src/components/data-table/column-visibility-dropdown.tsx +8 -13
  170. package/src/components/data-table/columns.tsx +45 -46
  171. package/src/components/data-table/context-menu.tsx +36 -20
  172. package/src/components/data-table/data-table.tsx +17 -1
  173. package/src/components/data-table/date-popover.tsx +6 -4
  174. package/src/components/data-table/export-actions.tsx +76 -48
  175. package/src/components/data-table/pagination.tsx +44 -33
  176. package/src/components/data-table/range-focus/atoms.ts +4 -6
  177. package/src/components/data-table/range-focus/use-cell-range-selection.ts +65 -38
  178. package/src/components/data-table/range-focus/use-scroll-into-view.ts +21 -2
  179. package/src/components/data-table/renderers.tsx +16 -7
  180. package/src/components/data-table/row-viewer-panel/__tests__/row-viewer.test.tsx +24 -1
  181. package/src/components/data-table/row-viewer-panel/row-viewer.tsx +4 -4
  182. package/src/components/data-table/search-highlight.tsx +79 -0
  183. package/src/components/data-table/types.ts +1 -0
  184. package/src/components/data-table/url-detector.tsx +49 -9
  185. package/src/components/datasources/__tests__/column-actions.test.tsx +97 -0
  186. package/src/components/datasources/__tests__/column-preview.test.tsx +96 -5
  187. package/src/components/datasources/__tests__/datasources-interactions.test.tsx +181 -0
  188. package/src/components/datasources/__tests__/table-list.test.tsx +118 -0
  189. package/src/components/datasources/__tests__/utils.test.ts +57 -6
  190. package/src/components/datasources/column-preview.tsx +17 -12
  191. package/src/components/datasources/datasources.tsx +55 -42
  192. package/src/components/datasources/utils.ts +32 -23
  193. package/src/components/debugger/debugger-code.tsx +5 -0
  194. package/src/components/dependency-graph/dependency-graph-tree.tsx +8 -8
  195. package/src/components/dependency-graph/elements.ts +24 -21
  196. package/src/components/dependency-graph/minimap-content.tsx +2 -6
  197. package/src/components/dependency-graph/panels.tsx +4 -2
  198. package/src/components/dependency-graph/utils/__tests__/layout.test.ts +18 -11
  199. package/src/components/editor/SortableCell.tsx +1 -3
  200. package/src/components/editor/__tests__/Output.test.tsx +50 -32
  201. package/src/{core/attachments/__tests__/toast.test.tsx → components/editor/__tests__/agent-toast.test.tsx} +1 -1
  202. package/src/components/editor/__tests__/data-attributes.test.tsx +28 -13
  203. package/src/components/editor/__tests__/dynamic-favicon.test.tsx +111 -18
  204. package/src/components/editor/__tests__/output-persistence.test.tsx +6 -1
  205. package/src/components/editor/__tests__/package-alert.test.tsx +22 -1
  206. package/src/components/editor/actions/__tests__/name-cell-input.test.tsx +69 -0
  207. package/src/components/editor/actions/__tests__/pair-with-agent-modal.test.tsx +34 -8
  208. package/src/components/editor/actions/__tests__/pair-with-agent.test.tsx +2 -6
  209. package/src/components/editor/actions/name-cell-input.tsx +4 -3
  210. package/src/components/editor/actions/pair-with-agent-commands.ts +2 -2
  211. package/src/components/editor/actions/pair-with-agent-modal.tsx +19 -16
  212. package/src/components/editor/actions/useCellActionButton.tsx +20 -26
  213. package/src/components/editor/actions/useNotebookActions.tsx +14 -19
  214. package/src/components/editor/actions/useRestartKernel.tsx +1 -1
  215. package/src/components/editor/actions/useSetCodeVisibility.ts +10 -11
  216. package/src/components/editor/actions/useSetOutputsExpanded.ts +13 -18
  217. package/src/components/editor/ai/add-cell-with-ai.tsx +3 -3
  218. package/src/components/editor/ai/ai-completion-editor.tsx +1 -0
  219. package/src/components/editor/alerts/__tests__/connection-notice.test.tsx +1 -1
  220. package/src/components/editor/alerts/connection-notice.tsx +1 -1
  221. package/src/components/editor/alerts/startup-logs-alert.tsx +1 -0
  222. package/src/components/editor/app-container.tsx +1 -1
  223. package/src/components/editor/boundary/__tests__/ErrorBoundary.test.tsx +1 -1
  224. package/src/components/editor/cell/CreateCellButton.tsx +15 -21
  225. package/src/components/editor/cell/DeleteButton.tsx +3 -2
  226. package/src/components/editor/cell/RunButton.tsx +2 -2
  227. package/src/components/editor/cell/StagedAICell.tsx +10 -2
  228. package/src/components/editor/cell/StopButton.tsx +2 -2
  229. package/src/components/editor/cell/__tests__/StagedAICell.test.tsx +3 -1
  230. package/src/components/editor/cell/__tests__/useShouldShowInterrupt.test.ts +39 -0
  231. package/src/components/editor/cell/cell-actions.tsx +12 -1
  232. package/src/components/editor/cell/code/__tests__/language-toggle.test.tsx +54 -0
  233. package/src/components/editor/cell/code/cell-editor.tsx +22 -36
  234. package/src/components/editor/cell/code/language-toggle.tsx +8 -7
  235. package/src/components/editor/cell/collapse.tsx +5 -3
  236. package/src/components/editor/cell/useAddCell.ts +4 -8
  237. package/src/components/editor/cell/useDeleteCell.tsx +10 -36
  238. package/src/components/editor/cell/useRunCells.ts +2 -5
  239. package/src/components/editor/cell/useShouldShowInterrupt.ts +2 -12
  240. package/src/components/editor/cell/useSplitCell.tsx +2 -1
  241. package/src/components/editor/chrome/components/__tests__/feedback-button.test.tsx +1 -1
  242. package/src/components/editor/chrome/components/feedback-button.tsx +1 -1
  243. package/src/components/editor/chrome/panels/__tests__/packages-panel.test.tsx +31 -2
  244. package/src/components/editor/chrome/panels/__tests__/runtime-details.test.tsx +1 -1
  245. package/src/components/editor/chrome/panels/__tests__/sandbox-recovery.test.tsx +1 -1
  246. package/src/components/editor/chrome/panels/cache-panel.tsx +1 -0
  247. package/src/components/editor/chrome/panels/logs-panel.tsx +2 -1
  248. package/src/components/editor/chrome/panels/outline/__tests__/outline-keyboard.test.tsx +84 -0
  249. package/src/components/editor/chrome/panels/outline/floating-outline.tsx +39 -14
  250. package/src/components/editor/chrome/panels/outline/useActiveOutline.tsx +3 -2
  251. package/src/components/editor/chrome/panels/packages-panel.tsx +4 -7
  252. package/src/components/editor/chrome/panels/secrets-panel.tsx +1 -0
  253. package/src/components/editor/chrome/panels/snippets-panel.tsx +10 -12
  254. package/src/components/editor/chrome/wrapper/__tests__/attachment-status.test.tsx +9 -18
  255. package/src/components/editor/chrome/wrapper/__tests__/document-sync-status.test.tsx +92 -0
  256. package/src/components/editor/chrome/wrapper/__tests__/pending-ai-cells.test.tsx +61 -2
  257. package/src/components/editor/chrome/wrapper/footer-items/attachment-status.tsx +4 -4
  258. package/src/components/editor/chrome/wrapper/footer-items/backend-status.tsx +1 -1
  259. package/src/components/editor/chrome/wrapper/footer-items/document-sync-status.tsx +54 -0
  260. package/src/components/editor/chrome/wrapper/footer-items/lsp-status.tsx +1 -1
  261. package/src/components/editor/chrome/wrapper/footer-items/machine-stats.tsx +1 -1
  262. package/src/components/editor/chrome/wrapper/footer-items/runtime-settings.tsx +1 -7
  263. package/src/components/editor/chrome/wrapper/footer.tsx +2 -0
  264. package/src/components/editor/chrome/wrapper/pending-ai-cells.tsx +12 -2
  265. package/src/components/editor/chrome/wrapper/storage.ts +1 -1
  266. package/src/components/editor/columns/sortable-column.tsx +1 -1
  267. package/src/components/editor/connections/components.tsx +5 -10
  268. package/src/components/editor/controls/Controls.tsx +3 -3
  269. package/src/components/editor/controls/__tests__/command-palette.test.tsx +53 -0
  270. package/src/components/editor/controls/__tests__/keyboard-shortcuts.test.tsx +61 -0
  271. package/src/components/editor/controls/__tests__/notebook-menu-dropdown.test.tsx +10 -4
  272. package/src/components/editor/controls/command-palette.tsx +22 -10
  273. package/src/components/editor/controls/keyboard-shortcuts.tsx +14 -5
  274. package/src/components/editor/documentation.css +34 -11
  275. package/src/components/editor/dynamic-favicon.tsx +21 -40
  276. package/src/components/editor/errors/__tests__/send-error-report-button.test.tsx +9 -23
  277. package/src/components/editor/errors/auto-fix.tsx +4 -8
  278. package/src/components/editor/errors/send-error-report-button.tsx +3 -6
  279. package/src/components/editor/file-tree/__tests__/file-explorer-interactions.test.tsx +6 -0
  280. package/src/components/editor/file-tree/__tests__/file-explorer-navigation.test.tsx +47 -0
  281. package/src/components/editor/file-tree/__tests__/use-file-search.test.tsx +91 -0
  282. package/src/components/editor/file-tree/file-explorer.tsx +48 -15
  283. package/src/components/editor/file-tree/file-name-input.tsx +1 -0
  284. package/src/components/editor/file-tree/file-viewer.tsx +4 -2
  285. package/src/components/editor/file-tree/use-file-search.ts +35 -21
  286. package/src/components/editor/header/__tests__/status.test.tsx +5 -3
  287. package/src/components/editor/header/app-header.tsx +1 -1
  288. package/src/components/editor/header/status.tsx +40 -20
  289. package/src/components/editor/links/__tests__/cell-link.test.tsx +148 -0
  290. package/src/components/editor/links/cell-link.tsx +16 -6
  291. package/src/components/editor/navigation/__tests__/clipboard.test.ts +60 -38
  292. package/src/components/editor/navigation/__tests__/navigation.test.ts +73 -64
  293. package/src/components/editor/navigation/clipboard.ts +12 -11
  294. package/src/components/editor/navigation/focus-utils.ts +4 -4
  295. package/src/components/editor/navigation/multi-cell-action-toolbar.tsx +11 -20
  296. package/src/components/editor/navigation/navigation.ts +20 -28
  297. package/src/components/editor/notebook-banner.tsx +1 -0
  298. package/src/components/editor/notebook-cell.tsx +19 -13
  299. package/src/components/editor/output/MarimoErrorOutput.tsx +2 -1
  300. package/src/components/editor/output/MarimoTracebackOutput.tsx +19 -17
  301. package/src/components/editor/output/Outputs.css +8 -0
  302. package/src/components/editor/output/__tests__/traceback.test.tsx +27 -1
  303. package/src/components/editor/output/ansi-reduce.ts +33 -20
  304. package/src/components/editor/output/console/ConsoleOutput.tsx +19 -25
  305. package/src/components/editor/output/console/__tests__/ConsoleOutput.test.tsx +125 -69
  306. package/src/components/editor/package-alert.tsx +14 -7
  307. package/src/components/editor/renderers/cell-array.tsx +10 -17
  308. package/src/components/editor/renderers/grid-layout/grid-layout.tsx +12 -6
  309. package/src/components/editor/renderers/vertical-layout/sidebar/toggle.tsx +7 -1
  310. package/src/components/home/components.tsx +17 -31
  311. package/src/components/icons/__tests__/large-spinner.test.tsx +39 -0
  312. package/src/components/icons/large-spinner.tsx +3 -14
  313. package/src/components/icons/spinner.tsx +1 -1
  314. package/src/components/markdown/markdown-renderer.tsx +4 -8
  315. package/src/components/mcp/mcp-status-indicator.tsx +1 -1
  316. package/src/components/pages/__tests__/home-page.test.tsx +116 -0
  317. package/src/components/pages/edit-page.tsx +32 -17
  318. package/src/components/pages/home-page.tsx +164 -91
  319. package/src/components/scratchpad/scratchpad.test.tsx +97 -0
  320. package/src/components/scratchpad/scratchpad.tsx +20 -10
  321. package/src/components/slides/__tests__/minimap-actions.test.tsx +9 -25
  322. package/src/components/slides/__tests__/slide-scroll-hint.test.tsx +37 -0
  323. package/src/components/slides/minimap.tsx +7 -3
  324. package/src/components/slides/reveal-component.tsx +57 -25
  325. package/src/components/slides/reveal-slides.css +5 -4
  326. package/src/components/slides/slide-cell-view.tsx +4 -4
  327. package/src/components/slides/slide-form.tsx +1 -0
  328. package/src/components/slides/slide-scroll-hint.tsx +3 -1
  329. package/src/components/sort/SortableCellsProvider.tsx +2 -1
  330. package/src/components/tracing/tracing-keyboard.test.tsx +85 -0
  331. package/src/components/tracing/tracing.tsx +45 -41
  332. package/src/components/ui/__tests__/draggable-popover.test.tsx +24 -0
  333. package/src/components/ui/__tests__/range-slider.test.tsx +165 -0
  334. package/src/components/ui/alert-dialog.tsx +1 -1
  335. package/src/components/ui/draggable-popover.tsx +24 -2
  336. package/src/components/ui/range-slider.tsx +22 -9
  337. package/src/core/ai/__tests__/staged-cells.test.ts +26 -25
  338. package/src/core/ai/context/providers/datasource.ts +6 -2
  339. package/src/core/ai/staged-cells.ts +15 -18
  340. package/src/core/ai/tools/__tests__/edit-notebook-tool.test.ts +6 -22
  341. package/src/core/ai/tools/__tests__/registry.test.ts +17 -0
  342. package/src/core/ai/tools/base.ts +18 -15
  343. package/src/core/ai/tools/edit-notebook-tool.ts +75 -71
  344. package/src/core/ai/tools/registry.ts +13 -10
  345. package/src/core/ai/tools/sample-tool.ts +6 -7
  346. package/src/core/cells/__tests__/__snapshots__/cells.test.ts.snap +4 -0
  347. package/src/core/cells/__tests__/actions.test.ts +474 -34
  348. package/src/core/cells/__tests__/add-missing-import.test.ts +7 -8
  349. package/src/core/cells/__tests__/cell.test.ts +39 -0
  350. package/src/core/cells/__tests__/cells.test.ts +260 -1165
  351. package/src/core/cells/__tests__/collapseConsoleOutputs.test.ts +54 -0
  352. package/src/core/cells/__tests__/document.test.ts +414 -0
  353. package/src/core/cells/__tests__/flush-document.test.ts +40 -0
  354. package/src/core/cells/__tests__/notebook-outline.test.ts +114 -0
  355. package/src/core/cells/__tests__/outputs.test.tsx +71 -53
  356. package/src/core/cells/__tests__/session.test.ts +117 -36
  357. package/src/core/cells/__tests__/with-document-save.test.ts +67 -0
  358. package/src/core/cells/actions.ts +391 -3
  359. package/src/core/cells/add-missing-import.ts +46 -42
  360. package/src/core/cells/cell.ts +14 -3
  361. package/src/core/cells/cells.ts +99 -599
  362. package/src/core/cells/columns.ts +38 -0
  363. package/src/core/cells/document.ts +392 -0
  364. package/src/core/cells/outputs.ts +12 -28
  365. package/src/core/cells/pending-delete-service.ts +2 -6
  366. package/src/core/cells/session.ts +1 -1
  367. package/src/core/cells/types.ts +22 -1
  368. package/src/core/codemirror/__tests__/setup.test.ts +29 -29
  369. package/src/core/codemirror/ai/__tests__/resources.test.ts +117 -0
  370. package/src/core/codemirror/ai/resources.ts +1 -1
  371. package/src/core/codemirror/cells/__tests__/extensions.test.ts +42 -1
  372. package/src/core/codemirror/cells/extensions.ts +27 -9
  373. package/src/core/codemirror/cells/state.ts +1 -1
  374. package/src/core/codemirror/format.ts +6 -5
  375. package/src/core/codemirror/keymaps/vim.ts +4 -8
  376. package/src/core/codemirror/language/__tests__/sql.test.ts +22 -20
  377. package/src/core/codemirror/language/__tests__/utils.test.ts +187 -15
  378. package/src/core/codemirror/language/cell-code.ts +114 -0
  379. package/src/core/codemirror/language/extension.ts +52 -35
  380. package/src/core/codemirror/language/languages/markdown.ts +8 -6
  381. package/src/core/codemirror/language/languages/python.ts +16 -10
  382. package/src/core/codemirror/language/languages/sql/sql.ts +16 -24
  383. package/src/core/codemirror/language/panel/panel.tsx +1 -0
  384. package/src/core/codemirror/language/types.ts +7 -7
  385. package/src/core/codemirror/language/utils.ts +9 -39
  386. package/src/core/codemirror/lsp/notebook-lsp.ts +6 -5
  387. package/src/core/codemirror/readonly/__tests__/extension.test.ts +1 -1
  388. package/src/core/codemirror/readonly/extension.ts +2 -2
  389. package/src/core/codemirror/rtc/extension.ts +24 -13
  390. package/src/core/codemirror/rtc/loro/awareness.ts +34 -19
  391. package/src/core/codemirror/rtc/loro/sync.ts +1 -0
  392. package/src/core/codemirror/utils.ts +1 -0
  393. package/src/core/config/__tests__/config-schema.test.ts +12 -5
  394. package/src/core/config/config-schema.ts +7 -1
  395. package/src/core/datasets/__tests__/data-source-discovery.test.ts +5 -5
  396. package/src/core/datasets/data-source-discovery.ts +4 -6
  397. package/src/core/edit-app.tsx +19 -23
  398. package/src/core/errors/error-entries.ts +3 -0
  399. package/src/core/export/hooks.ts +1 -1
  400. package/src/core/export/layout.ts +2 -2
  401. package/src/core/hotkeys/actions.ts +2 -4
  402. package/src/core/islands/__tests__/bootstrap.test.ts +73 -43
  403. package/src/core/islands/__tests__/bridge.test.ts +72 -25
  404. package/src/core/islands/bootstrap.ts +46 -53
  405. package/src/core/islands/bridge.ts +74 -23
  406. package/src/core/islands/components/__tests__/IslandControls.test.tsx +7 -5
  407. package/src/core/islands/worker/__tests__/controller.test.ts +62 -4
  408. package/src/core/islands/worker/controller.ts +4 -10
  409. package/src/core/islands/worker/worker.tsx +33 -33
  410. package/src/core/kernel/__tests__/RuntimeState.test.ts +1 -1
  411. package/src/core/kernel/__tests__/handlers.test.ts +7 -153
  412. package/src/core/kernel/handlers.ts +18 -59
  413. package/src/core/network/__tests__/connection.test.ts +1 -1
  414. package/src/core/network/__tests__/requests-lazy.test.ts +1 -3
  415. package/src/core/network/connection-notice.ts +1 -1
  416. package/src/core/network/connection.ts +1 -1
  417. package/src/core/network/requests-lazy.ts +1 -4
  418. package/src/core/network/requests-network.ts +0 -25
  419. package/src/core/network/requests-static.ts +0 -3
  420. package/src/core/network/requests-toasting.tsx +0 -3
  421. package/src/core/network/types.ts +0 -12
  422. package/src/core/network/useConnectionNotice.ts +8 -2
  423. package/src/core/notebook/attachments.ts +38 -0
  424. package/src/core/notebook/document/__tests__/codemirror.test.ts +552 -0
  425. package/src/core/notebook/document/__tests__/draft.test.ts +363 -0
  426. package/src/core/notebook/document/__tests__/fixtures.ts +92 -0
  427. package/src/core/notebook/document/__tests__/hold.test.ts +88 -0
  428. package/src/core/notebook/document/__tests__/hooks.test.tsx +391 -0
  429. package/src/core/notebook/document/__tests__/lifecycle-scenarios.test.ts +61 -0
  430. package/src/core/notebook/document/__tests__/model.test.ts +247 -0
  431. package/src/core/notebook/document/__tests__/protocol-fixtures.ts +38 -0
  432. package/src/core/notebook/document/__tests__/recovery-scenarios.test.ts +230 -0
  433. package/src/core/notebook/document/__tests__/scenario-fixture.ts +43 -0
  434. package/src/core/notebook/document/__tests__/scenarios.test.ts +205 -0
  435. package/src/core/notebook/document/__tests__/state.test.ts +459 -0
  436. package/src/core/notebook/document/__tests__/submission.test.ts +203 -0
  437. package/src/core/notebook/document/__tests__/test-host.test.ts +92 -0
  438. package/src/core/notebook/document/__tests__/test-host.ts +247 -0
  439. package/src/core/notebook/document/__tests__/test-notebook.ts +149 -0
  440. package/src/core/notebook/document/__tests__/user.ts +61 -0
  441. package/src/core/notebook/document/codemirror.ts +216 -0
  442. package/src/core/notebook/document/draft.ts +502 -0
  443. package/src/core/notebook/document/hooks.tsx +118 -0
  444. package/src/core/notebook/document/index.ts +24 -0
  445. package/src/core/notebook/document/model.ts +105 -0
  446. package/src/core/notebook/document/select.ts +41 -0
  447. package/src/core/notebook/document/state.ts +378 -0
  448. package/src/core/notebook/document/sync.ts +418 -0
  449. package/src/core/notebook/index.ts +18 -0
  450. package/src/core/notebook/replica/AGENTS.md +11 -0
  451. package/src/core/notebook/replica/__tests__/attachments.test.ts +56 -0
  452. package/src/core/notebook/replica/__tests__/document.test.ts +126 -0
  453. package/src/core/notebook/replica/__tests__/fixtures.ts +79 -0
  454. package/src/core/notebook/replica/__tests__/replica.test.ts +550 -0
  455. package/src/core/notebook/replica/backend.ts +19 -0
  456. package/src/core/notebook/replica/connection.ts +42 -0
  457. package/src/core/notebook/replica/index.ts +13 -0
  458. package/src/core/notebook/replica/replica.ts +286 -0
  459. package/src/core/notebook/replica/resources/attachments.ts +22 -0
  460. package/src/core/notebook/replica/resources/document.ts +101 -0
  461. package/src/core/packages/__tests__/useSandboxController.test.tsx +1 -1
  462. package/src/core/packages/useSandboxController.ts +1 -1
  463. package/src/core/run-app.tsx +48 -51
  464. package/src/core/runtime/__tests__/adapter.test.ts +1 -1
  465. package/src/core/runtime/__tests__/createWsUrl.test.ts +77 -7
  466. package/src/core/runtime/__tests__/runtime.test.ts +32 -58
  467. package/src/core/runtime/adapter.ts +1 -1
  468. package/src/core/runtime/config.ts +2 -2
  469. package/src/core/runtime/runtime.ts +38 -42
  470. package/src/core/runtime/types.ts +0 -2
  471. package/src/core/saving/filename.ts +1 -1
  472. package/src/core/saving/save-component.tsx +10 -4
  473. package/src/core/saving/useAutoSave.ts +1 -1
  474. package/src/core/session/__tests__/backend.test.ts +235 -0
  475. package/src/core/session/__tests__/useNotebookReplica.hook.test.tsx +183 -0
  476. package/src/core/session/__tests__/useNotebookSession.hook.test.tsx +663 -0
  477. package/src/core/session/active-notebook.ts +11 -0
  478. package/src/core/session/backend.ts +125 -0
  479. package/src/core/{websocket → session}/types.ts +2 -2
  480. package/src/core/session/useNotebookReplica.ts +72 -0
  481. package/src/core/{websocket → session}/useNotebookSession.tsx +74 -68
  482. package/src/core/state/__tests__/jotai.test.tsx +108 -0
  483. package/src/core/state/jotai.ts +1 -1
  484. package/src/core/static/__tests__/files.test.ts +38 -10
  485. package/src/core/static/files.ts +2 -0
  486. package/src/core/{websocket → transports}/__tests__/connection-state.test.ts +1 -13
  487. package/src/core/transports/__tests__/server.test.ts +408 -0
  488. package/src/core/transports/__tests__/static.test.ts +175 -0
  489. package/src/core/transports/__tests__/wasm.test.ts +166 -0
  490. package/src/core/{websocket → transports}/connection-state.ts +9 -16
  491. package/src/core/transports/server.ts +152 -0
  492. package/src/core/transports/static.ts +84 -0
  493. package/src/core/transports/wasm.ts +97 -0
  494. package/src/core/wasm/__tests__/bridge.test.ts +213 -50
  495. package/src/core/wasm/__tests__/worker.test.ts +187 -0
  496. package/src/core/wasm/bridge.ts +75 -69
  497. package/src/core/wasm/rpc.ts +15 -3
  498. package/src/core/wasm/store.ts +3 -3
  499. package/src/core/wasm/worker/bootstrap.ts +55 -51
  500. package/src/core/wasm/worker/getMarimoWheel.ts +1 -1
  501. package/src/core/wasm/worker/save-worker.ts +9 -10
  502. package/src/core/wasm/worker/types.ts +29 -18
  503. package/src/core/wasm/worker/worker.ts +88 -44
  504. package/src/css/globals.css +66 -22
  505. package/src/hooks/__tests__/useAsyncData.test.tsx +148 -0
  506. package/src/hooks/__tests__/useDebounce.test.tsx +51 -0
  507. package/src/hooks/__tests__/useDeepCompareMemoize.test.tsx +39 -0
  508. package/src/hooks/__tests__/useDelayElapsed.test.tsx +28 -0
  509. package/src/hooks/__tests__/useInternalStateWithSync.test.tsx +20 -0
  510. package/src/hooks/__tests__/useScript.test.tsx +77 -0
  511. package/src/hooks/__tests__/useStateForKey.test.tsx +257 -0
  512. package/src/hooks/useAsyncData.ts +3 -3
  513. package/src/hooks/useDataSourceDiscovery.ts +6 -4
  514. package/src/hooks/useDebounce.ts +6 -10
  515. package/src/hooks/useDeepCompareMemoize.ts +1 -1
  516. package/src/hooks/useDelayElapsed.ts +14 -10
  517. package/src/hooks/useElapsedTime.ts +3 -3
  518. package/src/hooks/useEventListener.ts +1 -2
  519. package/src/hooks/useInputHistory.ts +4 -7
  520. package/src/hooks/useInternalStateWithSync.ts +6 -6
  521. package/src/hooks/useResizeObserver.ts +4 -7
  522. package/src/hooks/useScript.ts +67 -70
  523. package/src/hooks/useStateForKey.ts +93 -0
  524. package/src/mount.tsx +1 -5
  525. package/src/plugins/__tests__/plugin-object-schemas.test.ts +104 -0
  526. package/src/plugins/core/registerReactComponent.tsx +1 -1
  527. package/src/plugins/impl/CodeEditorPlugin.tsx +1 -1
  528. package/src/plugins/impl/DataEditorPlugin.tsx +1 -1
  529. package/src/plugins/impl/DataTablePlugin.tsx +69 -37
  530. package/src/plugins/impl/DropdownPlugin.tsx +2 -6
  531. package/src/plugins/impl/FileBrowserPlugin.tsx +4 -16
  532. package/src/plugins/impl/FormPlugin.tsx +1 -1
  533. package/src/plugins/impl/RangeSliderPlugin.tsx +16 -2
  534. package/src/plugins/impl/RefreshPlugin.tsx +1 -0
  535. package/src/plugins/impl/SliderPlugin.tsx +6 -8
  536. package/src/plugins/impl/__tests__/DataTablePlugin.test.tsx +387 -1
  537. package/src/plugins/impl/__tests__/FileBrowserPlugin.test.tsx +45 -0
  538. package/src/plugins/impl/__tests__/RangeSliderPlugin.test.tsx +109 -0
  539. package/src/plugins/impl/__tests__/SliderPlugin.test.tsx +24 -3
  540. package/src/plugins/impl/anywidget/__tests__/registry.test.ts +153 -0
  541. package/src/plugins/impl/anywidget/__tests__/widget-binding.test.ts +241 -2
  542. package/src/plugins/impl/anywidget/model.ts +3 -1
  543. package/src/plugins/impl/anywidget/registry.ts +18 -14
  544. package/src/plugins/impl/anywidget/runtime.ts +21 -9
  545. package/src/plugins/impl/anywidget/widget-binding.ts +160 -82
  546. package/src/plugins/impl/chat/__tests__/chat-prompts.test.tsx +93 -0
  547. package/src/plugins/impl/chat/chat-ui.tsx +14 -11
  548. package/src/plugins/impl/code/any-language-editor.tsx +2 -2
  549. package/src/plugins/impl/data-editor/glide-data-editor.tsx +8 -5
  550. package/src/plugins/impl/data-editor/glide-utils.ts +3 -1
  551. package/src/plugins/impl/data-explorer/ConnectedDataExplorerComponent.tsx +1 -1
  552. package/src/plugins/impl/data-explorer/components/column-summary.tsx +4 -2
  553. package/src/plugins/impl/data-explorer/state/reducer.ts +1 -1
  554. package/src/plugins/impl/data-frames/DataFramePlugin.tsx +1 -2
  555. package/src/plugins/impl/data-frames/__tests__/sidebar.test.tsx +160 -0
  556. package/src/plugins/impl/data-frames/forms/__tests__/__snapshots__/form.test.tsx.snap +66 -66
  557. package/src/plugins/impl/data-frames/panel.tsx +43 -16
  558. package/src/plugins/impl/mpl-interactive/MplInteractivePlugin.tsx +5 -3
  559. package/src/plugins/impl/panel/PanelPlugin.tsx +16 -17
  560. package/src/plugins/impl/panel/__tests__/utils.test.ts +39 -1
  561. package/src/plugins/impl/panel/utils.ts +17 -0
  562. package/src/plugins/impl/plotly/PlotlyPlugin.tsx +2 -5
  563. package/src/plugins/impl/plotly/selection.ts +25 -19
  564. package/src/plugins/impl/vega/VegaPlugin.tsx +2 -3
  565. package/src/plugins/impl/vega/make-selectable.ts +4 -7
  566. package/src/plugins/layout/RoutesPlugin.tsx +1 -1
  567. package/src/stories/__tests__/editor-story.test.tsx +33 -0
  568. package/src/stories/button.stories.tsx +1 -0
  569. package/src/stories/cell.stories.tsx +1 -1
  570. package/src/stories/data-table.stories.tsx +31 -0
  571. package/src/stories/editor.stories.tsx +24 -17
  572. package/src/stories/form-wrapper.stories.tsx +2 -2
  573. package/src/stories/layout/vertical/one-column.stories.tsx +1 -1
  574. package/src/stories/runtime-story.tsx +23 -16
  575. package/src/stories/select.stories.tsx +2 -2
  576. package/src/stories/switchable-multi-select.stories.tsx +1 -1
  577. package/src/utils/__tests__/arrays.test.ts +35 -0
  578. package/src/utils/__tests__/batch-requests.test.ts +3 -3
  579. package/src/utils/__tests__/{createReducer.test.ts → createReducer.test.tsx} +29 -0
  580. package/src/utils/__tests__/numbers.test.ts +105 -1
  581. package/src/utils/__tests__/objects.test.ts +21 -0
  582. package/src/utils/arrays.ts +11 -2
  583. package/src/utils/blob.ts +1 -1
  584. package/src/utils/createReducer.ts +53 -26
  585. package/src/utils/maps.ts +0 -3
  586. package/src/utils/numbers.ts +79 -18
  587. package/src/utils/objects.ts +4 -9
  588. package/src/utils/once.ts +19 -19
  589. package/src/utils/tracer.ts +9 -5
  590. package/src/utils/zod-utils.ts +1 -3
  591. package/dist/any-language-editor-DZ_YTVus.js +0 -76
  592. package/dist/assets/__vite-browser-external-BXYkiFsk.js +0 -1
  593. package/dist/assets/worker-HPY9fbhz.js +0 -114
  594. package/dist/mermaid-HWGCJPDP-ByCsZnYF.js +0 -2
  595. package/dist/precisionRound-DMIVQrt2.js +0 -97
  596. package/src/core/ai/tools/__tests__/run-cells-tool.test.ts +0 -656
  597. package/src/core/ai/tools/run-cells-tool.ts +0 -303
  598. package/src/core/attachments/state.ts +0 -21
  599. package/src/core/cells/__tests__/apply-transaction.test.ts +0 -991
  600. package/src/core/cells/__tests__/document-changes.test.ts +0 -1140
  601. package/src/core/cells/__tests__/document-roundtrip.test.ts +0 -392
  602. package/src/core/cells/document-changes.ts +0 -944
  603. package/src/core/host/AGENTS.md +0 -6
  604. package/src/core/host/__tests__/events.test.ts +0 -46
  605. package/src/core/host/__tests__/notebook-client.test.ts +0 -191
  606. package/src/core/host/__tests__/protocol.test.ts +0 -214
  607. package/src/core/host/connection.ts +0 -81
  608. package/src/core/host/events.ts +0 -60
  609. package/src/core/host/notebook-client.ts +0 -226
  610. package/src/core/host/protocol.ts +0 -1943
  611. package/src/core/state/__tests__/jotai.test.ts +0 -25
  612. package/src/core/wasm/worker/message-buffer.ts +0 -33
  613. package/src/core/websocket/__tests__/createConnectionTransport.test.ts +0 -49
  614. package/src/core/websocket/__tests__/useNotebookClient.hook.test.tsx +0 -140
  615. package/src/core/websocket/__tests__/useNotebookSession.hook.test.tsx +0 -883
  616. package/src/core/websocket/transports/__tests__/basic.test.ts +0 -275
  617. package/src/core/websocket/transports/__tests__/sse.test.ts +0 -335
  618. package/src/core/websocket/transports/__tests__/transport.test.ts +0 -308
  619. package/src/core/websocket/transports/__tests__/ws.test.ts +0 -125
  620. package/src/core/websocket/transports/basic.ts +0 -102
  621. package/src/core/websocket/transports/create.ts +0 -31
  622. package/src/core/websocket/transports/sse.ts +0 -308
  623. package/src/core/websocket/transports/transport.ts +0 -50
  624. package/src/core/websocket/transports/ws.ts +0 -98
  625. package/src/core/websocket/useNotebookClient.ts +0 -80
  626. /package/src/{core/attachments/toast.ts → components/editor/agent-toast.ts} +0 -0
  627. /package/src/core/{websocket → session}/connection-utils.ts +0 -0
@@ -1,8 +1,8 @@
1
1
  import { a as e, r as t } from "./rolldown-runtime-Cb76FRpK.js";
2
- import { a as n, g as r, s as i } from "./button-CvjkwdSk.js";
2
+ import { a as n, g as r, s as i } from "./button-BQRdqQi1.js";
3
3
  import { t as a } from "./react-sHtZdjeP.js";
4
4
  import { t as o } from "./compiler-runtime-CldRdSsv.js";
5
- import { C as s, F as c, L as l, M as u, O as d, P as f, S as p, j as m, v as h } from "./use-restore-focus-BEM7sFWl.js";
5
+ import { A as s, C as c, I as l, L as u, N as d, P as f, w as p, y as m, z as h } from "./use-restore-focus-BgDTd2tc.js";
6
6
  import { l as g, t as _ } from "./_baseMerge-BiGRwuqv.js";
7
7
  //#region ../node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/mergeWith.js
8
8
  var v = g(function(e, t, n, r) {
@@ -22,94 +22,52 @@ function S() {
22
22
  throw Error("INVALID_USEEVENT_INVOCATION: the callback from useEvent cannot be invoked before the component has mounted.");
23
23
  }
24
24
  //#endregion
25
- //#region ../node_modules/.pnpm/dequal@2.0.3/node_modules/dequal/dist/index.mjs
26
- var C = o(), w = Object.prototype.hasOwnProperty;
27
- function T(e, t, n) {
28
- for (n of e.keys()) if (E(n, t)) return n;
29
- }
30
- function E(e, t) {
31
- var n, r, i;
32
- if (e === t) return !0;
33
- if (e && t && (n = e.constructor) === t.constructor) {
34
- if (n === Date) return e.getTime() === t.getTime();
35
- if (n === RegExp) return e.toString() === t.toString();
36
- if (n === Array) {
37
- if ((r = e.length) === t.length) for (; r-- && E(e[r], t[r]););
38
- return r === -1;
39
- }
40
- if (n === Set) {
41
- if (e.size !== t.size) return !1;
42
- for (r of e) if (i = r, i && typeof i == "object" && (i = T(t, i), !i) || !t.has(i)) return !1;
43
- return !0;
44
- }
45
- if (n === Map) {
46
- if (e.size !== t.size) return !1;
47
- for (r of e) if (i = r[0], i && typeof i == "object" && (i = T(t, i), !i) || !E(r[1], t.get(i))) return !1;
48
- return !0;
49
- }
50
- if (n === ArrayBuffer) e = new Uint8Array(e), t = new Uint8Array(t);
51
- else if (n === DataView) {
52
- if ((r = e.byteLength) === t.byteLength) for (; r-- && e.getInt8(r) === t.getInt8(r););
53
- return r === -1;
54
- }
55
- if (ArrayBuffer.isView(e)) {
56
- if ((r = e.byteLength) === t.byteLength) for (; r-- && e[r] === t[r];);
57
- return r === -1;
58
- }
59
- if (!n || typeof e == "object") {
60
- for (n in r = 0, e) if (w.call(e, n) && ++r && !w.call(t, n) || !(n in t) || !E(e[n], t[n])) return !1;
61
- return Object.keys(t).length === r;
62
- }
63
- }
64
- return e !== e && t !== t;
65
- }
66
- //#endregion
67
- //#region ../node_modules/.pnpm/jotai@2.20.3_@babel+core@7.29.0_@babel+template@7.28.6_@types+react@19.3.0_react@19.3.0/node_modules/jotai/esm/vanilla/internals.mjs
68
- var D = /* @__PURE__ */ t({
69
- INTERNAL_addPendingPromiseToDependency: () => N,
70
- INTERNAL_buildStoreRev3: () => we,
71
- INTERNAL_getBuildingBlocksRev3: () => L,
72
- INTERNAL_getMountedOrPendingDependents: () => P,
73
- INTERNAL_hasInitialValue: () => O,
74
- INTERNAL_initializeStoreHooksRev3: () => re,
75
- INTERNAL_isActuallyWritableAtom: () => k,
76
- INTERNAL_isAtomStateInitialized: () => A,
77
- INTERNAL_isPromiseLike: () => M,
78
- INTERNAL_returnAtomValue: () => j,
79
- INTERNAL_shouldThrowSynchronously: () => te
25
+ //#region ../node_modules/.pnpm/jotai@2.20.3_@babel+core@7.29.0_supports-color@10.0.0__@babel+template@7.28.6_@types+react@19.3.0_react@19.3.0/node_modules/jotai/esm/vanilla/internals.mjs
26
+ var C = /* @__PURE__ */ t({
27
+ INTERNAL_addPendingPromiseToDependency: () => A,
28
+ INTERNAL_buildStoreRev3: () => Ce,
29
+ INTERNAL_getBuildingBlocksRev3: () => Se,
30
+ INTERNAL_getMountedOrPendingDependents: () => j,
31
+ INTERNAL_hasInitialValue: () => w,
32
+ INTERNAL_initializeStoreHooksRev3: () => te,
33
+ INTERNAL_isActuallyWritableAtom: () => T,
34
+ INTERNAL_isAtomStateInitialized: () => D,
35
+ INTERNAL_isPromiseLike: () => k,
36
+ INTERNAL_returnAtomValue: () => O,
37
+ INTERNAL_shouldThrowSynchronously: () => ee
80
38
  });
81
- function O(e) {
39
+ function w(e) {
82
40
  return "init" in e;
83
41
  }
84
- function k(e) {
42
+ function T(e) {
85
43
  return typeof e.write == "function";
86
44
  }
87
- function ee(e) {
45
+ function E(e) {
88
46
  return !!e.onMount;
89
47
  }
90
- function A(e) {
48
+ function D(e) {
91
49
  return "v" in e || "e" in e;
92
50
  }
93
- function j(e) {
51
+ function O(e) {
94
52
  if ("e" in e) throw e.e;
95
53
  return e.v;
96
54
  }
97
- function M(e) {
55
+ function k(e) {
98
56
  return typeof e?.then == "function";
99
57
  }
100
- function te(e) {
58
+ function ee(e) {
101
59
  if (!(e instanceof Error)) return !1;
102
60
  let t = e.name, n = e.message.toLowerCase();
103
61
  return (t === "RangeError" || t === "InternalError") && (n.includes("call stack") || n.includes("too much recursion") || n.includes("stack overflow"));
104
62
  }
105
- function N(e, t, n) {
63
+ function A(e, t, n) {
106
64
  if (!n.p.has(e)) {
107
65
  n.p.add(e);
108
66
  let r = () => n.p.delete(e);
109
67
  t.then(r, r);
110
68
  }
111
69
  }
112
- function P(e, t, n) {
70
+ function j(e, t, n) {
113
71
  let r = n.get(e)?.t, i = t.p;
114
72
  if (!r?.size) return i;
115
73
  if (!i.size) return r;
@@ -117,10 +75,10 @@ function P(e, t, n) {
117
75
  for (let e of i) a.add(e);
118
76
  return a;
119
77
  }
120
- var ne = () => {
78
+ var M = () => {
121
79
  let e = /* @__PURE__ */ new Set(), t = () => e.forEach((e) => e());
122
80
  return t.add = (t) => (e.add(t), () => e.delete(t)), t;
123
- }, F = () => {
81
+ }, N = () => {
124
82
  let e = {}, t = /* @__PURE__ */ new WeakMap(), n = (n) => {
125
83
  var r, i;
126
84
  (r = t.get(e)) == null || r.forEach((e) => e(n)), (i = t.get(n)) == null || i.forEach((e) => e());
@@ -132,13 +90,13 @@ var ne = () => {
132
90
  };
133
91
  }, n;
134
92
  };
135
- function re(e) {
136
- return e.i ||= F(), e.r ||= F(), e.c ||= F(), e.m ||= F(), e.u ||= F(), e.f ||= ne(), e;
93
+ function te(e) {
94
+ return e.i ||= N(), e.r ||= N(), e.c ||= N(), e.m ||= N(), e.u ||= N(), e.f ||= M(), e;
137
95
  }
138
- function ie(e) {
96
+ function P(e) {
139
97
  return !!e.INTERNAL_onInit;
140
98
  }
141
- var ae = (e, t, n, ...r) => n.read(...r), oe = (e, t, n, ...r) => n.write(...r), se = (e, t, n) => n.INTERNAL_onInit(t), ce = (e, t, n, r) => n.onMount?.call(n, r), le = (e, t, n) => {
99
+ var ne = (e, t, n, ...r) => n.read(...r), re = (e, t, n, ...r) => n.write(...r), ie = (e, t, n) => n.INTERNAL_onInit(t), ae = (e, t, n, r) => n.onMount?.call(n, r), oe = (e, t, n) => {
142
100
  var r;
143
101
  let i = e[0], a = i.get(n);
144
102
  if (!a) {
@@ -147,10 +105,10 @@ var ae = (e, t, n, ...r) => n.read(...r), oe = (e, t, n, ...r) => n.write(...r),
147
105
  d: /* @__PURE__ */ new Map(),
148
106
  p: /* @__PURE__ */ new Set(),
149
107
  n: 0
150
- }, i.set(n, a), (r = o.i) == null || r.call(o, n), ie(n) && s(e, t, n);
108
+ }, i.set(n, a), (r = o.i) == null || r.call(o, n), P(n) && s(e, t, n);
151
109
  }
152
110
  return a;
153
- }, ue = (e, t) => {
111
+ }, se = (e, t) => {
154
112
  let n = e[1], r = e[3], i = e[4], a = e[5], o = e[6], s = e[13];
155
113
  if (!o.f && !r.size && !i.size && !a.size) return;
156
114
  let c = [], l = (e) => {
@@ -176,7 +134,7 @@ var ae = (e, t, n, ...r) => n.read(...r), oe = (e, t, n, ...r) => n.write(...r),
176
134
  r.size && s(e, t);
177
135
  } while (r.size || a.size || i.size);
178
136
  if (c.length) throw AggregateError(c);
179
- }, de = (e, t) => {
137
+ }, ce = (e, t) => {
180
138
  let n = e[1], r = e[2], i = e[3], a = e[11], o = e[14], s = e[17];
181
139
  if (!i.size) return;
182
140
  let c = [], l = [], u = /* @__PURE__ */ new WeakSet(), d = /* @__PURE__ */ new WeakSet(), f = [], p = [];
@@ -192,7 +150,7 @@ var ae = (e, t, n, ...r) => n.read(...r), oe = (e, t, n, ...r) => n.write(...r),
192
150
  continue;
193
151
  }
194
152
  u.add(o);
195
- for (let r of P(o, s, n)) u.has(r) || (f.push(r), p.push(a(e, t, r)));
153
+ for (let r of j(o, s, n)) u.has(r) || (f.push(r), p.push(a(e, t, r)));
196
154
  }
197
155
  for (let n = c.length - 1; n >= 0; --n) {
198
156
  let a = c[n], u = l[n], d = !1;
@@ -202,10 +160,10 @@ var ae = (e, t, n, ...r) => n.read(...r), oe = (e, t, n, ...r) => n.write(...r),
202
160
  }
203
161
  d && (r.set(a, u.n), o(e, t, a), s(e, t, a)), r.delete(a);
204
162
  }
205
- }, fe = (e, t, n) => {
163
+ }, le = (e, t, n) => {
206
164
  var r, i;
207
165
  let a = e[1], o = e[2], s = e[3], c = e[6], l = e[7], u = e[11], d = e[12], f = e[13], p = e[14], m = e[16], h = e[17], g = e[20], _ = e[26], v = e[28], y = u(e, t, n), b = v[0];
208
- if (A(y)) {
166
+ if (D(y)) {
209
167
  if (a.has(n) && o.get(n) !== y.n || y.m === b) return y.m = b, y;
210
168
  let r = !1;
211
169
  for (let [n, i] of y.d) if (p(e, t, n).n !== i) {
@@ -216,73 +174,73 @@ var ae = (e, t, n, ...r) => n.read(...r), oe = (e, t, n, ...r) => n.write(...r),
216
174
  }
217
175
  let x = !0, S = new Set(y.d.keys()), C = () => {
218
176
  for (let e of S) y.d.delete(e);
219
- }, w = () => {
177
+ }, E = () => {
220
178
  if (a.has(n)) {
221
179
  let r = !s.size;
222
180
  h(e, t, n), r && (f(e, t), d(e, t));
223
181
  }
224
- }, T = (r) => {
182
+ }, j = (r) => {
225
183
  var i;
226
184
  if (r === n) {
227
185
  let n = u(e, t, r);
228
- if (!A(n)) {
229
- if (O(r)) g(e, t, r, r.init);
186
+ if (!D(n)) {
187
+ if (w(r)) g(e, t, r, r.init);
230
188
  else throw Error("no atom init");
231
189
  }
232
- return j(n);
190
+ return O(n);
233
191
  }
234
192
  let o = p(e, t, r);
235
193
  try {
236
- return j(o);
194
+ return O(o);
237
195
  } finally {
238
- S.delete(r), y.d.set(r, o.n), M(y.v) && N(n, y.v, o), a.has(n) && ((i = a.get(r)) == null || i.t.add(n)), x || w();
196
+ S.delete(r), y.d.set(r, o.n), k(y.v) && A(n, y.v, o), a.has(n) && ((i = a.get(r)) == null || i.t.add(n)), x || E();
239
197
  }
240
- }, E, D, ee = {
198
+ }, M, N, te = {
241
199
  get signal() {
242
- return E ||= new AbortController(), E.signal;
200
+ return M ||= new AbortController(), M.signal;
243
201
  },
244
202
  get setSelf() {
245
- return !D && k(n) && (D = (...r) => {
203
+ return !N && T(n) && (N = (...r) => {
246
204
  if (!x) try {
247
205
  return m(e, t, n, r);
248
206
  } finally {
249
207
  f(e, t), d(e, t);
250
208
  }
251
- }), D;
209
+ }), N;
252
210
  }
253
211
  }, P = y.n, ne = o.get(n) === P;
254
212
  try {
255
- let i = l(e, t, n, T, ee);
256
- if (g(e, t, n, i), M(i)) {
257
- _(e, t, i, () => E?.abort());
213
+ let i = l(e, t, n, j, te);
214
+ if (g(e, t, n, i), k(i)) {
215
+ _(e, t, i, () => M?.abort());
258
216
  let n = () => {
259
- C(), w();
217
+ C(), E();
260
218
  };
261
219
  i.then(n, n);
262
220
  } else C();
263
221
  return (r = c.r) == null || r.call(c, n), y.m = b, y;
264
222
  } catch (e) {
265
- if (te(e)) throw e;
223
+ if (ee(e)) throw e;
266
224
  return delete y.v, y.e = e, ++y.n, y.m = b, y;
267
225
  } finally {
268
226
  x = !1, y.n !== P && ne && (o.set(n, y.n), s.add(n), (i = c.c) == null || i.call(c, n));
269
227
  }
270
- }, pe = (e, t, n) => {
228
+ }, ue = (e, t, n) => {
271
229
  let r = e[1], i = e[2], a = e[11], o = [n];
272
230
  for (; o.length;) {
273
231
  let n = o.pop(), s = a(e, t, n);
274
- for (let c of P(n, s, r)) {
232
+ for (let c of j(n, s, r)) {
275
233
  let n = a(e, t, c);
276
234
  i.get(c) !== n.n && (i.set(c, n.n), o.push(c));
277
235
  }
278
236
  }
279
- }, me = (e, t, n, r) => {
280
- let i = e[3], a = e[6], o = e[8], s = e[11], c = e[12], l = e[13], u = e[14], d = e[15], f = e[16], p = e[17], m = e[20], h = e[28], g = !0, _ = (n) => j(u(e, t, n)), v = (r, ...o) => {
237
+ }, de = (e, t, n, r) => {
238
+ let i = e[3], a = e[6], o = e[8], s = e[11], c = e[12], l = e[13], u = e[14], d = e[15], f = e[16], p = e[17], m = e[20], h = e[28], g = !0, _ = (n) => O(u(e, t, n)), v = (r, ...o) => {
281
239
  var u;
282
240
  let _ = s(e, t, r);
283
241
  try {
284
242
  if (r === n) {
285
- if (!O(r)) throw Error("atom not writable");
243
+ if (!w(r)) throw Error("atom not writable");
286
244
  let n = _.n, s = o[0];
287
245
  m(e, t, r, s), p(e, t, r), n !== _.n && (++h[0], i.add(r), d(e, t, r), (u = a.c) == null || u.call(a, r));
288
246
  return;
@@ -297,7 +255,7 @@ var ae = (e, t, n, ...r) => n.read(...r), oe = (e, t, n, ...r) => n.write(...r),
297
255
  } finally {
298
256
  g = !1;
299
257
  }
300
- }, he = (e, t, n) => {
258
+ }, fe = (e, t, n) => {
301
259
  var r;
302
260
  let i = e[1], a = e[3], o = e[6], s = e[11], c = e[15], l = e[18], u = e[19], d = s(e, t, n), f = i.get(n);
303
261
  if (f && d.d.size > 0) {
@@ -307,7 +265,7 @@ var ae = (e, t, n, ...r) => n.read(...r), oe = (e, t, n, ...r) => n.write(...r),
307
265
  }
308
266
  for (let r of f.d) d.d.has(r) || (f.d.delete(r), u(e, t, r)?.t.delete(n));
309
267
  }
310
- }, ge = (e, t, n) => {
268
+ }, pe = (e, t, n) => {
311
269
  var r;
312
270
  let i = e[1], a = e[4], o = e[6], s = e[10], c = e[11], l = e[12], u = e[13], d = e[14], f = e[16], p = e[18], m = c(e, t, n), h = i.get(n);
313
271
  if (!h) {
@@ -317,7 +275,7 @@ var ae = (e, t, n, ...r) => n.read(...r), oe = (e, t, n, ...r) => n.write(...r),
317
275
  l: /* @__PURE__ */ new Set(),
318
276
  d: new Set(m.d.keys()),
319
277
  t: /* @__PURE__ */ new Set()
320
- }, i.set(n, h), k(n) && ee(n) && a.add(() => {
278
+ }, i.set(n, h), T(n) && E(n) && a.add(() => {
321
279
  let r = !0, i = (...i) => {
322
280
  try {
323
281
  return f(e, t, n, i);
@@ -341,7 +299,7 @@ var ae = (e, t, n, ...r) => n.read(...r), oe = (e, t, n, ...r) => n.write(...r),
341
299
  }), (r = o.m) == null || r.call(o, n);
342
300
  }
343
301
  return h;
344
- }, _e = (e, t, n) => {
302
+ }, me = (e, t, n) => {
345
303
  var r;
346
304
  let i = e[1], a = e[5], o = e[6], s = e[11], c = e[19], l = s(e, t, n), u = i.get(n);
347
305
  if (!u || u.l.size) return u;
@@ -357,26 +315,26 @@ var ae = (e, t, n, ...r) => n.read(...r), oe = (e, t, n, ...r) => n.write(...r),
357
315
  return;
358
316
  }
359
317
  return u;
360
- }, ve = (e, t, n, r) => {
318
+ }, he = (e, t, n, r) => {
361
319
  let i = e[11], a = e[27], o = i(e, t, n), s = "v" in o, c = o.v;
362
- if (M(r)) for (let a of o.d.keys()) N(n, r, i(e, t, a));
363
- o.v = r, delete o.e, (!s || !Object.is(c, o.v)) && (++o.n, M(c) && a(e, t, c));
364
- }, ye = (e, t, n) => {
320
+ if (k(r)) for (let a of o.d.keys()) A(n, r, i(e, t, a));
321
+ o.v = r, delete o.e, (!s || !Object.is(c, o.v)) && (++o.n, k(c) && a(e, t, c));
322
+ }, ge = (e, t, n) => {
365
323
  let r = e[14];
366
- return j(r(e, t, n));
367
- }, be = (e, t, n, ...r) => {
324
+ return O(r(e, t, n));
325
+ }, _e = (e, t, n, ...r) => {
368
326
  let i = e[3], a = e[12], o = e[13], s = e[16], c = i.size;
369
327
  try {
370
328
  return s(e, t, n, r);
371
329
  } finally {
372
330
  i.size !== c && (o(e, t), a(e, t));
373
331
  }
374
- }, xe = (e, t, n, r) => {
332
+ }, ve = (e, t, n, r) => {
375
333
  let i = e[12], a = e[13], o = e[18], s = e[19], c = o(e, t, n).l;
376
334
  return c.add(r), a(e, t), i(e, t), () => {
377
335
  c.delete(r), s(e, t, n), a(e, t), i(e, t);
378
336
  };
379
- }, Se = (e, t, n, r) => {
337
+ }, ye = (e, t, n, r) => {
380
338
  let i = e[25], a = i.get(n);
381
339
  if (!a) {
382
340
  a = /* @__PURE__ */ new Set(), i.set(n, a);
@@ -384,14 +342,14 @@ var ae = (e, t, n, ...r) => n.read(...r), oe = (e, t, n, ...r) => n.write(...r),
384
342
  n.then(e, e);
385
343
  }
386
344
  a.add(r);
387
- }, Ce = (e, t, n) => {
345
+ }, be = (e, t, n) => {
388
346
  e[25].get(n)?.forEach((e) => e());
389
- }, I = /* @__PURE__ */ new WeakMap();
390
- function L(e) {
391
- let t = I.get(e), n = t[24];
347
+ }, xe = /* @__PURE__ */ new WeakMap();
348
+ function Se(e) {
349
+ let t = xe.get(e), n = t[24];
392
350
  return n ? n(t, e) : t;
393
351
  }
394
- function we(...e) {
352
+ function Ce(...e) {
395
353
  let t = {
396
354
  get(e) {
397
355
  return r(n, t, e);
@@ -410,6 +368,9 @@ function we(...e) {
410
368
  /* @__PURE__ */ new Set(),
411
369
  /* @__PURE__ */ new Set(),
412
370
  {},
371
+ ne,
372
+ re,
373
+ ie,
413
374
  ae,
414
375
  oe,
415
376
  se,
@@ -424,64 +385,61 @@ function we(...e) {
424
385
  ge,
425
386
  _e,
426
387
  ve,
427
- ye,
428
- be,
429
- xe,
430
388
  void 0,
431
389
  /* @__PURE__ */ new WeakMap(),
432
- Se,
433
- Ce,
390
+ ye,
391
+ be,
434
392
  [0]
435
393
  ].map((t, n) => e[n] || t);
436
- I.set(t, Object.freeze(n));
394
+ xe.set(t, Object.freeze(n));
437
395
  let r = n[21], i = n[22], a = n[23];
438
396
  return t;
439
397
  }
440
398
  //#endregion
441
- //#region ../node_modules/.pnpm/jotai@2.20.3_@babel+core@7.29.0_@babel+template@7.28.6_@types+react@19.3.0_react@19.3.0/node_modules/jotai/esm/vanilla.mjs
442
- var Te = 0;
443
- function R(e, t) {
444
- let n = `atom${++Te}`, r = { toString() {
399
+ //#region ../node_modules/.pnpm/jotai@2.20.3_@babel+core@7.29.0_supports-color@10.0.0__@babel+template@7.28.6_@types+react@19.3.0_react@19.3.0/node_modules/jotai/esm/vanilla.mjs
400
+ var we = 0;
401
+ function F(e, t) {
402
+ let n = `atom${++we}`, r = { toString() {
445
403
  return n;
446
404
  } };
447
- return typeof e == "function" ? r.read = e : (r.init = e, r.read = Ee, r.write = De), t && (r.write = t), r;
405
+ return typeof e == "function" ? r.read = e : (r.init = e, r.read = Te, r.write = Ee), t && (r.write = t), r;
448
406
  }
449
- function Ee(e) {
407
+ function Te(e) {
450
408
  return e(this);
451
409
  }
452
- function De(e, t, n) {
410
+ function Ee(e, t, n) {
453
411
  return t(this, typeof n == "function" ? n(e(this)) : n);
454
412
  }
455
- function z() {
456
- return we();
413
+ function I() {
414
+ return Ce();
457
415
  }
458
- var Oe;
459
- function ke() {
460
- return Oe ||= z(), Oe;
416
+ var De;
417
+ function Oe() {
418
+ return De ||= I(), De;
461
419
  }
462
420
  //#endregion
463
- //#region ../node_modules/.pnpm/jotai@2.20.3_@babel+core@7.29.0_@babel+template@7.28.6_@types+react@19.3.0_react@19.3.0/node_modules/jotai/esm/react.mjs
464
- var B = (0, y.createContext)(void 0);
465
- function V(e) {
466
- let t = (0, y.useContext)(B);
467
- return e?.store || t || ke();
421
+ //#region ../node_modules/.pnpm/jotai@2.20.3_@babel+core@7.29.0_supports-color@10.0.0__@babel+template@7.28.6_@types+react@19.3.0_react@19.3.0/node_modules/jotai/esm/react.mjs
422
+ var L = (0, y.createContext)(void 0);
423
+ function R(e) {
424
+ let t = (0, y.useContext)(L);
425
+ return e?.store || t || Oe();
468
426
  }
469
- function Ae({ children: e, store: t }) {
427
+ function ke({ children: e, store: t }) {
470
428
  let n = (0, y.useRef)(null);
471
- return t ? (0, y.createElement)(B.Provider, { value: t }, e) : (n.current === null && (n.current = z()), (0, y.createElement)(B.Provider, { value: n.current }, e));
429
+ return t ? (0, y.createElement)(L.Provider, { value: t }, e) : (n.current === null && (n.current = I()), (0, y.createElement)(L.Provider, { value: n.current }, e));
472
430
  }
473
- var H = (e) => typeof e?.then == "function", U = (e) => {
431
+ var z = (e) => typeof e?.then == "function", B = (e) => {
474
432
  e.status || (e.status = "pending", e.then((t) => {
475
433
  e.status = "fulfilled", e.value = t;
476
434
  }, (t) => {
477
435
  e.status = "rejected", e.reason = t;
478
436
  }));
479
- }, je = y.use || ((e) => {
437
+ }, Ae = y.use || ((e) => {
480
438
  if (e.status === "pending") throw e;
481
439
  if (e.status === "fulfilled") return e.value;
482
- throw e.status === "rejected" ? e.reason : (U(e), e);
483
- }), W = /* @__PURE__ */ new WeakMap(), Me = (e, t, n) => {
484
- let r = L(e), i = r[26], a = W.get(t);
440
+ throw e.status === "rejected" ? e.reason : (B(e), e);
441
+ }), V = /* @__PURE__ */ new WeakMap(), je = (e, t, n) => {
442
+ let r = Se(e), i = r[26], a = V.get(t);
485
443
  return a || (a = new Promise((o, s) => {
486
444
  let c = t, l = (e) => (t) => {
487
445
  c === e && o(t);
@@ -490,16 +448,16 @@ var H = (e) => typeof e?.then == "function", U = (e) => {
490
448
  }, d = () => {
491
449
  try {
492
450
  let t = n();
493
- H(t) ? (W.set(t, a), c = t, t.then(l(t), u(t)), i(r, e, t, d)) : o(t);
451
+ z(t) ? (V.set(t, a), c = t, t.then(l(t), u(t)), i(r, e, t, d)) : o(t);
494
452
  } catch (e) {
495
453
  s(e);
496
454
  }
497
455
  };
498
456
  t.then(l(t), u(t)), i(r, e, t, d);
499
- }), W.set(t, a)), a;
457
+ }), V.set(t, a)), a;
500
458
  };
501
- function G(e, t) {
502
- let { delay: n, unstable_promiseStatus: r = !y.use } = t || {}, i = V(t), [[a, o, s], c] = (0, y.useReducer)((t) => {
459
+ function H(e, t) {
460
+ let { delay: n, unstable_promiseStatus: r = !y.use } = t || {}, i = R(t), [[a, o, s], c] = (0, y.useReducer)((t) => {
503
461
  let n = i.get(e);
504
462
  return Object.is(t[0], n) && t[1] === i && t[2] === e ? t : [
505
463
  n,
@@ -515,7 +473,7 @@ function G(e, t) {
515
473
  let t = i.sub(e, () => {
516
474
  if (r) try {
517
475
  let t = i.get(e);
518
- H(t) && U(Me(i, t, () => i.get(e)));
476
+ z(t) && B(je(i, t, () => i.get(e)));
519
477
  } catch {}
520
478
  if (typeof n == "number") {
521
479
  console.warn("[DEPRECATED] delay option is deprecated and will be removed in v3.\n\nMigration guide:\n\nCreate a custom hook like the following.\n\nfunction useAtomValueWithDelay<Value>(\n atom: Atom<Value>,\n options: { delay: number },\n): Value {\n const { delay } = options\n const store = useStore(options)\n const [value, setValue] = useState(() => store.get(atom))\n useEffect(() => {\n const unsub = store.sub(atom, () => {\n setTimeout(() => setValue(store.get(atom)), delay)\n })\n return unsub\n }, [store, atom, delay])\n return value\n}\n"), setTimeout(c, n);
@@ -529,27 +487,70 @@ function G(e, t) {
529
487
  e,
530
488
  n,
531
489
  r
532
- ]), (0, y.useDebugValue)(l), H(l)) {
533
- let t = Me(i, l, () => i.get(e));
534
- return r && U(t), je(t);
490
+ ]), (0, y.useDebugValue)(l), z(l)) {
491
+ let t = je(i, l, () => i.get(e));
492
+ return r && B(t), Ae(t);
535
493
  }
536
494
  return l;
537
495
  }
538
- function K(e, t) {
539
- let n = V(t);
496
+ function U(e, t) {
497
+ let n = R(t);
540
498
  return (0, y.useCallback)((...t) => n.set(e, ...t), [n, e]);
541
499
  }
542
- function Ne(e, t) {
543
- return [G(e, t), K(e, t)];
500
+ function Me(e, t) {
501
+ return [H(e, t), U(e, t)];
544
502
  }
545
503
  //#endregion
546
504
  //#region src/core/islands/utils.ts
547
- function Pe() {
505
+ var W = o();
506
+ function G() {
548
507
  return !0;
549
508
  }
550
509
  //#endregion
510
+ //#region ../node_modules/.pnpm/dequal@2.0.3/node_modules/dequal/dist/index.mjs
511
+ var Ne = Object.prototype.hasOwnProperty;
512
+ function Pe(e, t, n) {
513
+ for (n of e.keys()) if (K(n, t)) return n;
514
+ }
515
+ function K(e, t) {
516
+ var n, r, i;
517
+ if (e === t) return !0;
518
+ if (e && t && (n = e.constructor) === t.constructor) {
519
+ if (n === Date) return e.getTime() === t.getTime();
520
+ if (n === RegExp) return e.toString() === t.toString();
521
+ if (n === Array) {
522
+ if ((r = e.length) === t.length) for (; r-- && K(e[r], t[r]););
523
+ return r === -1;
524
+ }
525
+ if (n === Set) {
526
+ if (e.size !== t.size) return !1;
527
+ for (r of e) if (i = r, i && typeof i == "object" && (i = Pe(t, i), !i) || !t.has(i)) return !1;
528
+ return !0;
529
+ }
530
+ if (n === Map) {
531
+ if (e.size !== t.size) return !1;
532
+ for (r of e) if (i = r[0], i && typeof i == "object" && (i = Pe(t, i), !i) || !K(r[1], t.get(i))) return !1;
533
+ return !0;
534
+ }
535
+ if (n === ArrayBuffer) e = new Uint8Array(e), t = new Uint8Array(t);
536
+ else if (n === DataView) {
537
+ if ((r = e.byteLength) === t.byteLength) for (; r-- && e.getInt8(r) === t.getInt8(r););
538
+ return r === -1;
539
+ }
540
+ if (ArrayBuffer.isView(e)) {
541
+ if ((r = e.byteLength) === t.byteLength) for (; r-- && e[r] === t[r];);
542
+ return r === -1;
543
+ }
544
+ if (!n || typeof e == "object") {
545
+ for (n in r = 0, e) if (Ne.call(e, n) && ++r && !Ne.call(t, n) || !(n in t) || !K(e[n], t[n])) return !1;
546
+ return Object.keys(t).length === r;
547
+ }
548
+ }
549
+ return e !== e && t !== t;
550
+ }
551
+ //#endregion
551
552
  //#region src/core/state/jotai.ts
552
- var q = z();
553
+ var q = I();
553
554
  async function Fe(e, t) {
554
555
  return t(q.get(e)) ? q.get(e) : new Promise((n) => {
555
556
  let r = q.sub(e, () => {
@@ -559,10 +560,10 @@ async function Fe(e, t) {
559
560
  });
560
561
  }
561
562
  function Ie(e, t) {
562
- let n = (0, C.c)(5), r = V(), i, a;
563
+ let n = (0, W.c)(5), r = R(), i, a;
563
564
  n[0] !== e || n[1] !== t || n[2] !== r ? (i = () => {
564
565
  let n = r.get(e);
565
- r.sub(e, () => {
566
+ return r.sub(e, () => {
566
567
  let i = r.get(e);
567
568
  t(i, n), n = i;
568
569
  });
@@ -573,9 +574,9 @@ function Ie(e, t) {
573
574
  ], n[0] = e, n[1] = t, n[2] = r, n[3] = i, n[4] = a) : (i = n[3], a = n[4]), (0, y.useEffect)(i, a);
574
575
  }
575
576
  var Le = Symbol("sentinel");
576
- function Re(e, t = E) {
577
+ function Re(e, t = K) {
577
578
  let n = Le;
578
- return R((r) => {
579
+ return F((r) => {
579
580
  let i = r(e);
580
581
  return (n === Le || !t(n, i)) && (n = i), n;
581
582
  });
@@ -604,82 +605,85 @@ var ze = [
604
605
  "html",
605
606
  "markdown",
606
607
  "ipynb"
607
- ], Ue = [
608
+ ], Ue = ["off", "jedi"], We = [
608
609
  "manual",
609
610
  "ask",
610
611
  "agent",
611
612
  "code_mode"
612
- ], J = u({
613
- api_key: c().optional(),
614
- base_url: c().optional(),
615
- project: c().optional()
616
- }).loose(), We = u({
617
- chat_model: c().nullish(),
618
- edit_model: c().nullish(),
619
- autocomplete_model: c().nullish(),
620
- displayed_models: p(c()).default([]),
621
- custom_models: p(c()).default([])
622
- }), Ge = d({
623
- completion: u({
624
- activate_on_typing: s().prefault(!0),
625
- signature_hint_on_typing: s().prefault(!1),
626
- auto_close_pairs: s().prefault(!0),
627
- copilot: l([s(), h([
613
+ ], J = f({
614
+ api_key: u().optional(),
615
+ base_url: u().optional(),
616
+ project: u().optional()
617
+ }).loose(), Ge = f({
618
+ chat_model: u().nullish(),
619
+ edit_model: u().nullish(),
620
+ autocomplete_model: u().nullish(),
621
+ displayed_models: c(u()).default([]),
622
+ custom_models: c(u()).default([])
623
+ }), Ke = s({
624
+ completion: f({
625
+ activate_on_typing: p().prefault(!0),
626
+ signature_hint_on_typing: p().prefault(!1),
627
+ auto_close_pairs: p().prefault(!0),
628
+ copilot: h([p(), m([
628
629
  "github",
629
630
  "codeium",
630
631
  "custom"
631
632
  ])]).prefault(!1).transform((e) => e === !0 ? "github" : e),
632
- codeium_api_key: c().nullish()
633
+ codeium_api_key: u().nullish()
634
+ }).prefault({}),
635
+ save: s({
636
+ autosave: m(["off", "after_delay"]).prefault("after_delay"),
637
+ autosave_delay: d().nonnegative().transform((e) => Math.max(e, 1e3)).prefault(1e3),
638
+ format_on_save: p().prefault(!1)
633
639
  }).prefault({}),
634
- save: d({
635
- autosave: h(["off", "after_delay"]).prefault("after_delay"),
636
- autosave_delay: m().nonnegative().transform((e) => Math.max(e, 1e3)).prefault(1e3),
637
- format_on_save: s().prefault(!1)
640
+ formatting: s({
641
+ line_length: d().nonnegative().prefault(79).transform((e) => Math.min(e, 1e3)),
642
+ infer_types: m(Ue).prefault("off")
638
643
  }).prefault({}),
639
- formatting: d({ line_length: m().nonnegative().prefault(79).transform((e) => Math.min(e, 1e3)) }).prefault({}),
640
- keymap: d({
641
- preset: h(["default", "vim"]).prefault("default"),
642
- overrides: f(c(), c()).prefault({}),
643
- destructive_delete: s().prefault(!0)
644
+ keymap: s({
645
+ preset: m(["default", "vim"]).prefault("default"),
646
+ overrides: l(u(), u()).prefault({}),
647
+ destructive_delete: p().prefault(!0)
644
648
  }).prefault({}),
645
- runtime: d({
646
- auto_instantiate: s().prefault(!0),
647
- on_cell_change: h(["lazy", "autorun"]).prefault("autorun"),
648
- auto_reload: h([
649
+ runtime: s({
650
+ auto_instantiate: p().prefault(!0),
651
+ on_cell_change: m(["lazy", "autorun"]).prefault("autorun"),
652
+ auto_reload: m([
649
653
  "off",
650
654
  "lazy",
651
655
  "autorun"
652
656
  ]).prefault("off"),
653
- reactive_tests: s().prefault(!0),
654
- watcher_on_save: h(["lazy", "autorun"]).prefault("lazy"),
655
- default_sql_output: h(Ve).prefault("auto"),
656
- default_auto_download: p(h(He)).prefault([]),
657
- show_tracebacks: s().prefault(!1)
657
+ reactive_tests: p().prefault(!0),
658
+ watcher_on_save: m(["lazy", "autorun"]).prefault("lazy"),
659
+ default_sql_output: m(Ve).prefault("auto"),
660
+ default_auto_download: c(m(He)).prefault([]),
661
+ show_tracebacks: p().prefault(!1)
658
662
  }).prefault({}),
659
- display: d({
660
- theme: h([
663
+ display: s({
664
+ theme: m([
661
665
  "light",
662
666
  "dark",
663
667
  "system"
664
668
  ]).prefault("light"),
665
- code_editor_font_size: m().nonnegative().prefault(14),
666
- cell_output: h(["above", "below"]).prefault("below"),
667
- dataframes: h(["rich", "plain"]).prefault("rich"),
668
- default_table_page_size: m().prefault(10),
669
- default_table_max_columns: m().prefault(50),
670
- default_width: h(Be).prefault("medium").transform((e) => e === "normal" ? "compact" : e),
671
- locale: c().nullable().optional(),
672
- reference_highlighting: s().prefault(!0),
673
- code_lens: s().prefault(!0)
669
+ code_editor_font_size: d().nonnegative().prefault(14),
670
+ cell_output: m(["above", "below"]).prefault("below"),
671
+ dataframes: m(["rich", "plain"]).prefault("rich"),
672
+ default_table_page_size: d().prefault(10),
673
+ default_table_max_columns: d().prefault(50),
674
+ default_width: m(Be).prefault("medium").transform((e) => e === "normal" ? "compact" : e),
675
+ locale: u().nullable().optional(),
676
+ reference_highlighting: p().prefault(!0),
677
+ code_lens: p().prefault(!0)
674
678
  }).prefault({}),
675
- package_management: d({ manager: h(ze).prefault("pip") }).prefault({}),
676
- ai: d({
677
- enabled: s().prefault(!0),
678
- rules: c().prefault(""),
679
- max_tokens: m().int().positive().nullable().optional(),
680
- mode: h(Ue).prefault("manual"),
681
- inline_tooltip: s().prefault(!1),
682
- allow_provider_config: s().prefault(!0),
679
+ package_management: s({ manager: m(ze).prefault("pip") }).prefault({}),
680
+ ai: s({
681
+ enabled: p().prefault(!0),
682
+ rules: u().prefault(""),
683
+ max_tokens: d().int().positive().nullable().optional(),
684
+ mode: m(We).transform((e) => e === "manual" ? "ask" : e).prefault("ask"),
685
+ inline_tooltip: p().prefault(!1),
686
+ allow_provider_config: p().prefault(!0),
683
687
  open_ai: J.optional(),
684
688
  github: J.optional(),
685
689
  anthropic: J.optional(),
@@ -690,40 +694,40 @@ var ze = [
690
694
  opencode_go: J.optional(),
691
695
  open_ai_compatible: J.optional(),
692
696
  azure: J.optional(),
693
- bedrock: d({
694
- region_name: c().optional(),
695
- profile_name: c().optional(),
696
- aws_access_key_id: c().optional(),
697
- aws_secret_access_key: c().optional()
697
+ bedrock: s({
698
+ region_name: u().optional(),
699
+ profile_name: u().optional(),
700
+ aws_access_key_id: u().optional(),
701
+ aws_secret_access_key: u().optional()
698
702
  }).optional(),
699
- custom_providers: f(c(), J).prefault({}),
700
- models: We.prefault({
703
+ custom_providers: l(u(), J).prefault({}),
704
+ models: Ge.prefault({
701
705
  displayed_models: [],
702
706
  custom_models: []
703
707
  })
704
708
  }).prefault({}),
705
- experimental: d({
706
- markdown: s().optional(),
707
- rtc: s().optional()
709
+ experimental: s({
710
+ markdown: p().optional(),
711
+ rtc: p().optional()
708
712
  }).prefault(() => ({})),
709
- server: d({
710
- disable_file_downloads: s().optional(),
711
- transport: h(["websocket", "sse"]).optional()
713
+ server: s({
714
+ disable_file_downloads: p().optional(),
715
+ transport: m(["websocket", "sse"]).optional()
712
716
  }).prefault(() => ({})),
713
- diagnostics: d({
714
- enabled: s().optional(),
715
- sql_linter: s().optional()
717
+ diagnostics: s({
718
+ enabled: p().optional(),
719
+ sql_linter: p().optional()
716
720
  }).prefault(() => ({})),
717
- file_browser: d({ folders: p(u({
718
- path: c(),
719
- name: c().optional()
721
+ file_browser: s({ folders: c(f({
722
+ path: u(),
723
+ name: u().optional()
720
724
  })).optional() }).optional().prefault({}),
721
- sharing: d({
722
- html: s().optional(),
723
- wasm: s().optional(),
724
- molab: s().optional()
725
+ sharing: s({
726
+ html: p().optional(),
727
+ wasm: p().optional(),
728
+ molab: p().optional()
725
729
  }).optional(),
726
- mcp: d({ presets: p(h(["marimo", "context7"])).optional() }).optional().prefault({})
730
+ mcp: s({ presets: c(m(["marimo", "context7"])).optional() }).optional().prefault({})
727
731
  }).partial().prefault(() => ({
728
732
  completion: {},
729
733
  save: {},
@@ -738,27 +742,27 @@ var ze = [
738
742
  ai: {},
739
743
  package_management: {},
740
744
  mcp: {}
741
- })), Ke = c(), qe = h(Ve).prefault("auto"), Y = u({
742
- width: h(Be).prefault("medium").transform((e) => e === "normal" ? "compact" : e),
743
- app_title: Ke.nullish(),
744
- css_file: c().nullish(),
745
- html_head_file: c().nullish(),
746
- auto_download: p(h(He)).prefault([]),
747
- sql_output: qe
745
+ })), qe = u(), Je = m(Ve).prefault("auto"), Y = f({
746
+ width: m(Be).prefault("medium").transform((e) => e === "normal" ? "compact" : e),
747
+ app_title: qe.nullish(),
748
+ css_file: u().nullish(),
749
+ html_head_file: u().nullish(),
750
+ auto_download: c(m(He)).prefault([]),
751
+ sql_output: Je
748
752
  }).prefault(() => ({
749
753
  width: "medium",
750
754
  auto_download: [],
751
755
  sql_output: "auto"
752
756
  }));
753
- function Je(e) {
757
+ function Ye(e) {
754
758
  try {
755
759
  return Y.parse(e);
756
760
  } catch (e) {
757
761
  return r.error(`Marimo got an unexpected value in the configuration file: ${e}`), Y.parse({});
758
762
  }
759
763
  }
760
- function Ye() {
761
- return Ge.parse({
764
+ function Xe() {
765
+ return Ke.parse({
762
766
  completion: {},
763
767
  save: {},
764
768
  formatting: {},
@@ -776,47 +780,47 @@ function Ye() {
776
780
  }
777
781
  //#endregion
778
782
  //#region src/core/config/config.ts
779
- function Xe(...e) {
783
+ function Ze(...e) {
780
784
  return v({}, ...e, (e, t) => {
781
785
  if (Array.isArray(t)) return [...t];
782
786
  });
783
787
  }
784
- var X = R(Ye()), Ze = R({}), Z = R((e) => {
785
- let t = e(Ze);
786
- return Xe(e(X), t);
787
- }), Qe = R((e) => e(Z).runtime.auto_instantiate), $e = R((e) => e(Z).keymap.overrides ?? {}), et = R(i());
788
- R((e) => {
789
- let t = e($e), r = e(et);
788
+ var X = F(Xe()), Qe = F({}), Z = F((e) => {
789
+ let t = e(Qe);
790
+ return Ze(e(X), t);
791
+ }), $e = F((e) => e(Z).runtime.auto_instantiate), et = F((e) => e(Z).keymap.overrides ?? {}), tt = F(i());
792
+ F((e) => {
793
+ let t = e(et), r = e(tt);
790
794
  return new n(t, { platform: r });
791
- }), R((e) => e(Z).save), R((e) => e(Z).server.transport === "sse" ? "sse" : "websocket"), R((e) => e(Z).ai), R((e) => e(Z).completion), R((e) => e(Z).keymap.preset);
792
- function tt() {
793
- let e = (0, C.c)(3), t = G(Z), n = K(X), r;
795
+ }), F((e) => e(Z).save), F((e) => e(Z).server.transport === "sse" ? "sse" : "websocket"), F((e) => e(Z).ai), F((e) => e(Z).completion), F((e) => e(Z).keymap.preset);
796
+ function nt() {
797
+ let e = (0, W.c)(3), t = H(Z), n = U(X), r;
794
798
  return e[0] !== t || e[1] !== n ? (r = [t, n], e[0] = t, e[1] = n, e[2] = r) : r = e[2], r;
795
799
  }
796
- function nt() {
800
+ function rt() {
797
801
  return q.get(Z);
798
802
  }
799
- R((e) => ot(e(Z)));
800
- var rt = R((e) => st(e(Z))), it = R((e) => ct(e(Z)));
801
- R((e) => e(Z).display.code_editor_font_size);
802
- var at = R((e) => e(Z).display.locale);
803
- function ot(e) {
803
+ F((e) => st(e(Z)));
804
+ var it = F((e) => ct(e(Z))), at = F((e) => lt(e(Z)));
805
+ F((e) => e(Z).display.code_editor_font_size);
806
+ var ot = F((e) => e(Z).display.locale);
807
+ function st(e) {
804
808
  return e.ai?.enabled !== !1;
805
809
  }
806
- function st(e) {
810
+ function ct(e) {
807
811
  return !!e.ai?.models?.chat_model || !!e.ai?.models?.edit_model || !!e.ai?.models?.autocomplete_model;
808
812
  }
809
- function ct(e) {
810
- return ot(e) && st(e);
813
+ function lt(e) {
814
+ return st(e) && ct(e);
811
815
  }
812
- var lt = R(Je({}));
813
- R((e) => e(lt).width), R((e) => {
816
+ var ut = F(Ye({}));
817
+ F((e) => e(ut).width), F((e) => {
814
818
  let t = e(Z), n = t.snippets?.custom_paths ?? [], r = t.snippets?.include_default_snippets;
815
819
  return n.length > 0 || r === !0;
816
- }), R((e) => e(Z).server?.disable_file_downloads ?? !1);
820
+ }), F((e) => e(Z).server?.disable_file_downloads ?? !1);
817
821
  //#endregion
818
822
  //#region src/core/constants.ts
819
- var ut = {
823
+ var dt = {
820
824
  githubPage: "https://github.com/marimo-team/marimo",
821
825
  releasesPage: "https://github.com/marimo-team/marimo/releases",
822
826
  issuesPage: "https://github.com/marimo-team/marimo/issues",
@@ -826,7 +830,7 @@ var ut = {
826
830
  docsPage: "https://docs.marimo.io",
827
831
  youtube: "https://www.youtube.com/@marimo-team",
828
832
  molab: "https://molab.marimo.io"
829
- }, dt = {
833
+ }, ft = {
830
834
  showCode: "show-code",
831
835
  includeCode: "include-code",
832
836
  sessionId: "session_id",
@@ -837,18 +841,18 @@ var ut = {
837
841
  viewAs: "view-as",
838
842
  showChrome: "show-chrome",
839
843
  theme: "theme"
840
- }, ft = { outputArea: "output-area" }, pt = [
844
+ }, pt = { outputArea: "output-area" }, mt = [
841
845
  "light",
842
846
  "dark",
843
847
  "system"
844
848
  ];
845
- function mt() {
849
+ function ht() {
846
850
  if (typeof window > "u") return;
847
- let e = new URLSearchParams(window.location.search).get(dt.theme);
848
- return pt.includes(e) ? e : void 0;
851
+ let e = new URLSearchParams(window.location.search).get(ft.theme);
852
+ return mt.includes(e) ? e : void 0;
849
853
  }
850
- var ht = R((e) => {
851
- if (Pe()) {
854
+ var gt = F((e) => {
855
+ if (G()) {
852
856
  if (document.body.classList.contains("dark-mode") || document.body.classList.contains("dark") || document.body.dataset.theme === "dark" || document.body.dataset.mode === "dark" || $() === "dark") return "dark";
853
857
  let e = window.getComputedStyle(document.body), t = e.getPropertyValue("color-scheme").trim();
854
858
  if (t) return t.includes("dark") ? "dark" : "light";
@@ -859,16 +863,16 @@ var ht = R((e) => {
859
863
  }
860
864
  return "light";
861
865
  }
862
- return mt() ?? e(Z).display.theme;
863
- }), Q = R(!1);
864
- function gt() {
866
+ return ht() ?? e(Z).display.theme;
867
+ }), Q = F(!1);
868
+ function _t() {
865
869
  if (typeof window > "u" || !window.matchMedia) return;
866
870
  let e = window.matchMedia("(prefers-color-scheme: dark)");
867
871
  q.set(Q, e.matches), e.addEventListener("change", (e) => {
868
872
  q.set(Q, e.matches);
869
873
  });
870
874
  }
871
- gt();
875
+ _t();
872
876
  function $() {
873
877
  switch (document.body.dataset.vscodeThemeKind) {
874
878
  case "vscode-dark": return "dark";
@@ -876,29 +880,29 @@ function $() {
876
880
  case "vscode-light": return "light";
877
881
  }
878
882
  }
879
- var _t = R($());
880
- function vt() {
883
+ var vt = F($());
884
+ function yt() {
881
885
  let e = new MutationObserver(() => {
882
886
  let e = $();
883
- q.set(_t, e);
887
+ q.set(vt, e);
884
888
  });
885
889
  return e.observe(document.body, {
886
890
  attributes: !0,
887
891
  attributeFilter: ["data-vscode-theme-kind"]
888
892
  }), () => e.disconnect();
889
893
  }
890
- vt();
891
- var yt = R((e) => {
892
- let t = e(ht), n = e(_t);
894
+ yt();
895
+ var bt = F((e) => {
896
+ let t = e(gt), n = e(vt);
893
897
  if (n !== void 0) return n;
894
898
  let r = e(Q);
895
899
  return t === "system" ? r ? "dark" : "light" : t;
896
900
  });
897
- function bt() {
898
- let e = (0, C.c)(3), t;
901
+ function xt() {
902
+ let e = (0, W.c)(3), t;
899
903
  e[0] === Symbol.for("react.memo_cache_sentinel") ? (t = { store: q }, e[0] = t) : t = e[0];
900
- let n = G(yt, t), r;
904
+ let n = H(bt, t), r;
901
905
  return e[1] === n ? r = e[2] : (r = { theme: n }, e[1] = n, e[2] = r), r;
902
906
  }
903
907
  //#endregion
904
- export { x as A, G as C, z as D, R as E, D as O, Ne as S, V as T, q as _, dt as a, Pe as b, Qe as c, Xe as d, Z as f, Re as g, Y as h, ut as i, E as k, nt as l, X as m, bt as n, it as o, tt as p, ft as r, rt as s, yt as t, at as u, Ie as v, K as w, Ae as x, Fe as y };
908
+ export { x as A, Me as C, F as D, R as E, I as O, ke as S, U as T, q as _, ft as a, K as b, $e as c, Ze as d, Z as f, Re as g, Y as h, dt as i, C as k, rt as l, X as m, xt as n, at as o, nt as p, pt as r, it as s, bt as t, ot as u, Ie as v, H as w, G as x, Fe as y };