@marimo-team/frontend 0.25.3-dev4 → 0.25.3-dev42

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 (286) hide show
  1. package/dist/assets/CellStatus-BpOBz-8m.js +1 -0
  2. package/dist/assets/{ConnectedDataExplorerComponent-t8fH_TNc.js → ConnectedDataExplorerComponent-D9UK8o9A.js} +1 -1
  3. package/dist/assets/{ErrorBoundary-Gl5nCA8C.js → ErrorBoundary-DmXl4Nre.js} +2 -2
  4. package/dist/assets/JsonOutput-BJraU9kp.js +11 -0
  5. package/dist/assets/{LazyAnyLanguageCodeMirror-CKcCbG2G.js → LazyAnyLanguageCodeMirror-BPYE76jR.js} +2 -2
  6. package/dist/assets/MarimoErrorOutput-DVjK8RgY.js +10 -0
  7. package/dist/assets/{RenderHTML-BbOqmHy3.js → RenderHTML-BFaztTR0.js} +1 -1
  8. package/dist/assets/{RunButton-CK3LhnP5.js → RunButton-B44xE_d5.js} +1 -1
  9. package/dist/assets/{add-cell-with-ai-8UBC0xwR.js → add-cell-with-ai-CkjslziO.js} +13 -13
  10. package/dist/assets/{add-connection-dialog-DXQnd6eB.js → add-connection-dialog-CWLLVKju.js} +2 -2
  11. package/dist/assets/{agent-panel-DdkVL-Kx.js → agent-panel-DYdQ_2pp.js} +5 -5
  12. package/dist/assets/ai-model-dropdown-F3mm17Wa.js +13 -0
  13. package/dist/assets/{alert-dialog-BaPGzeOK.js → alert-dialog-C-sWmKva.js} +1 -1
  14. package/dist/assets/any-language-editor-DUMe1UCk.js +1 -0
  15. package/dist/assets/{app-config-button-BKEG4x9u.js → app-config-button-D0uDs5nC.js} +1 -1
  16. package/dist/assets/arrays-0R2reF2y.js +1 -0
  17. package/dist/assets/{blob-D5nfNHOo.js → blob-BSfsdCNF.js} +1 -1
  18. package/dist/assets/{button-COI-NGrx.js → button-D8gVKwe-.js} +1 -1
  19. package/dist/assets/{cache-panel-DTY1dqvi.js → cache-panel-Byolv2ht.js} +1 -1
  20. package/dist/assets/{capabilities-BJvf-MD4.js → capabilities-Pq1YNPlK.js} +1 -1
  21. package/dist/assets/{cell-editor-32lVhib7.js → cell-editor-DzvvHs9g.js} +9 -9
  22. package/dist/assets/{cell-link-LSth_8hT.js → cell-link-DFPHORAO.js} +1 -1
  23. package/dist/assets/{cells-BRkCaSsh.js → cells-BdgzY0of.js} +31 -31
  24. package/dist/assets/{chat-display-Dnagy4Nv.js → chat-display-BrcwdhKJ.js} +1 -1
  25. package/dist/assets/{chat-panel-DN9vsbgS.js → chat-panel-C__3iSyI.js} +2 -2
  26. package/dist/assets/{chat-ui-Df8Vcj6n.js → chat-ui-NlBK3kK6.js} +1 -1
  27. package/dist/assets/{circle-DXf-VWZG.js → circle-B6D_6D8w.js} +1 -1
  28. package/dist/assets/code-visibility-Cs-Vv3jV.js +1 -0
  29. package/dist/assets/coerce-DWjFeXOY.js +1 -0
  30. package/dist/assets/{column-preview-CHK_DNrs.js → column-preview-ivm1b-GY.js} +1 -1
  31. package/dist/assets/command-palette-TgwswwvD.js +1 -0
  32. package/dist/assets/{common-Cu6CDbuw.js → common-BcEY1yDS.js} +1 -1
  33. package/dist/assets/{components-CP_UoFtT.js → components-DrU8dOzy.js} +1 -1
  34. package/dist/assets/{components-CXfO-F47.js → components-lDm0qi2t.js} +1 -1
  35. package/dist/assets/{components-CGw16R_N.js → components-lkCfd2vy.js} +1 -1
  36. package/dist/assets/config-BwHT0yGp.js +104 -0
  37. package/dist/assets/config-DGX7JYor.js +1 -0
  38. package/dist/assets/config-DXjnAwtL.js +1 -0
  39. package/dist/assets/{copy-D8O_CYCG.js → copy-KlhazlhB.js} +1 -1
  40. package/dist/assets/{copy-icon-BIiRXh_3.js → copy-icon-8-a5vovc.js} +1 -1
  41. package/dist/assets/{createReducer-DgRODTW6.js → createReducer-HKXUbqyz.js} +1 -1
  42. package/dist/assets/{datasource-Cq6x_5ML.js → datasource-dKk3JHSQ.js} +1 -1
  43. package/dist/assets/{dates-CfmdTL6B.js → dates-CQMwFko2.js} +1 -1
  44. package/dist/assets/{dependency-graph-panel--Kgtktcw.js → dependency-graph-panel-BaisS9Zt.js} +1 -1
  45. package/dist/assets/{dist-iaThVDkA.js → dist-jlhMTKo_.js} +1 -1
  46. package/dist/assets/{documentation-panel-BHmbeznw.js → documentation-panel-CpSUoM8r.js} +1 -1
  47. package/dist/assets/{download-DCJXy66H.js → download-RV4i1fWI.js} +1 -1
  48. package/dist/assets/{dropdown-menu-C1rnl-0o.js → dropdown-menu-DS6umAnH.js} +1 -1
  49. package/dist/assets/edit-page-C8RUVAaO.js +9 -0
  50. package/dist/assets/{error-banner-Cd69vvyX.js → error-banner-B5kzVf_0.js} +1 -1
  51. package/dist/assets/{error-entries-Dk3VZ-OK.js → error-entries-CJS0gOId.js} +1 -1
  52. package/dist/assets/{error-panel-BPRYmC5J.js → error-panel-BxCKpZtN.js} +1 -1
  53. package/dist/assets/{errors-DCrsa1nH.js → errors-CNsgAw6m.js} +1 -1
  54. package/dist/assets/{es-Cqst59WX.js → es-N9SHpmG7.js} +1 -1
  55. package/dist/assets/feedback-button-BLvwvndE.js +1 -0
  56. package/dist/assets/{feedback-button-Bik2-e33.js → feedback-button-DYjae3_b.js} +2 -2
  57. package/dist/assets/{file-explorer-panel-BmekFu7T.js → file-explorer-panel-BmjAJusg.js} +1 -1
  58. package/dist/assets/{file-name-input-Cdc-TVqO.js → file-name-input-BpfSzvEB.js} +1 -1
  59. package/dist/assets/{floating-outline-XD9FAV-f.js → floating-outline-CrWdiNQ2.js} +1 -1
  60. package/dist/assets/{formats-yZ06h1Pl.js → formats-zylfwejq.js} +1 -1
  61. package/dist/assets/{formatting-BqrP-n49.js → formatting-uom1es4b.js} +1 -1
  62. package/dist/assets/{fullscreen-B9tHcfpV.js → fullscreen-BWTs8pYZ.js} +1 -1
  63. package/dist/assets/{gallery-page-Dm6mGwBi.js → gallery-page-W_b-XWq6.js} +1 -1
  64. package/dist/assets/{ganttDiagram-EL5Y4UJY-2n7Ig5Jm.js → ganttDiagram-EL5Y4UJY-CYqkCfFG.js} +1 -1
  65. package/dist/assets/{glide-data-editor-J9CAb70d.js → glide-data-editor-C_bIL30J.js} +2 -2
  66. package/dist/assets/{glide-utils-CIrAxdjv.js → glide-utils-HFqhvWHI.js} +2 -2
  67. package/dist/assets/{home-page-s3LUizSn.js → home-page-D1teQDdF.js} +3 -3
  68. package/dist/assets/hooks-CZF85I2f.js +1 -0
  69. package/dist/assets/{html-to-image-DK9Zl1lU.js → html-to-image-D_0rd3_B.js} +1 -1
  70. package/dist/assets/index-4Nwpioic.js +30 -0
  71. package/dist/assets/index-ChfDZJzP.css +2 -0
  72. package/dist/assets/{input-BoBxR50a.js → input-ByHt6aoV.js} +1 -1
  73. package/dist/assets/{kiosk-mode-BZECfg9k.js → kiosk-mode-BGmMSc7A.js} +1 -1
  74. package/dist/assets/{layout-B_GMOySr.js → layout-ByZveRPN.js} +5 -5
  75. package/dist/assets/linear-Bma8J3iM.js +1 -0
  76. package/dist/assets/links-CXcpNIM0.js +1 -0
  77. package/dist/assets/{logs-panel-ABM16htT.js → logs-panel-DVSgfMgv.js} +1 -1
  78. package/dist/assets/{markdown-renderer-BG3sp2rs.js → markdown-renderer-DX2O5YiE.js} +1 -1
  79. package/dist/assets/{menu-items-BrwnTgyK.js → menu-items-BgUyNUpu.js} +1 -1
  80. package/dist/assets/{mermaid-a3xYymTy.js → mermaid-B6mqMm5_.js} +2 -2
  81. package/dist/assets/{name-cell-input-BgEBmqyL.js → name-cell-input-DL1i8Mj0.js} +1 -1
  82. package/dist/assets/numbers-CsZVw3Dc.js +1 -0
  83. package/dist/assets/{objects-snlMn4yk.js → objects-rLPlQ3X_.js} +1 -1
  84. package/dist/assets/{once-Haz_uxEL.js → once-6KNTRW0u.js} +1 -1
  85. package/dist/assets/{outline-panel-DCXQ3_F6.js → outline-panel-DPKPT2eg.js} +1 -1
  86. package/dist/assets/{packages-panel-BMGOmZkR.js → packages-panel-CZZwD9YV.js} +1 -1
  87. package/dist/assets/{panel-accordion-state-C1sdPp0m.js → panel-accordion-state-C7vvsYz1.js} +1 -1
  88. package/dist/assets/panels-BT2oosq8.js +4 -0
  89. package/dist/assets/precisionRound-BxlUs8G4.js +1 -0
  90. package/dist/assets/process-output-BKhybJBb.js +1 -0
  91. package/dist/assets/{quadrantDiagram-AXDQQJYC-yBhCDI7E.js → quadrantDiagram-AXDQQJYC-D9KH5Zge.js} +1 -1
  92. package/dist/assets/react-vega-BTNeboR2.js +189 -0
  93. package/dist/assets/{readonly-code-display-Do50PHI8.js → readonly-code-display-9QrSm_7D.js} +1 -1
  94. package/dist/assets/{readonly-python-code-DCSMIsTX.js → readonly-python-code-BLotL3XP.js} +1 -1
  95. package/dist/assets/{renderShortcut-BkVJQ_Zh.js → renderShortcut-H60uiHBp.js} +1 -1
  96. package/dist/assets/{reveal-component-CLE6vB1Z.js → reveal-component-2QaMbLNx.js} +3 -3
  97. package/dist/assets/{run-page-Depd6lEE.js → run-page-DyZ8JFKU.js} +1 -1
  98. package/dist/assets/{runs-BLp5jezv.js → runs-6lJxKV1w.js} +1 -1
  99. package/dist/assets/{runtime-details-state-CSPobEdR.js → runtime-details-state-B25uM-Ps.js} +1 -1
  100. package/dist/assets/{schemas-Dv42wLFq.js → schemas-ChRqMOTL.js} +1 -1
  101. package/dist/assets/{scratchpad-panel-lc6jmpjv.js → scratchpad-panel-Dt83MaaA.js} +1 -1
  102. package/dist/assets/{scroll-to-bottom-button-1FyowpWV.js → scroll-to-bottom-button-CIkON2WJ.js} +1 -1
  103. package/dist/assets/{secrets-panel-Bctbtkrp.js → secrets-panel-CmLZsNfp.js} +1 -1
  104. package/dist/assets/{select-DTBn5eTb.js → select-3CVGlYrC.js} +1 -1
  105. package/dist/assets/{session-DqoWmb7X.js → session-B8Y-GJnS.js} +1 -1
  106. package/dist/assets/session-panel-xVWVwa1U.js +1 -0
  107. package/dist/assets/{snippets-panel-Bh1oTw4m.js → snippets-panel-IxIxfxNc.js} +1 -1
  108. package/dist/assets/{spec-BfSBcO5B.js → spec-uCpVvaAR.js} +1 -1
  109. package/dist/assets/state-BHuYDaxs.js +3 -0
  110. package/dist/assets/{state-uwRvJLb8.js → state-BY4_P6ko.js} +1 -1
  111. package/dist/assets/{state-BAJYRhmO.js → state-C0irhlOZ.js} +1 -1
  112. package/dist/assets/{state-XsPO8hNi.js → state-CVgqwwCU.js} +1 -1
  113. package/dist/assets/{state-DxQnC_1I.js → state-Ck7FMD5A.js} +1 -1
  114. package/dist/assets/{state-C3oDoyFe.js → state-DaWgt-rn.js} +1 -1
  115. package/dist/assets/{strings-B2vv-ENv.js → strings-C25fhMR_.js} +1 -1
  116. package/dist/assets/{swiper-component-a07domrZ.js → swiper-component-CRGRy5_O.js} +1 -1
  117. package/dist/assets/{switch-CTaiAjrz.js → switch-1h011wlH.js} +1 -1
  118. package/dist/assets/{tabs-BuQlZFbt.js → tabs-CY8E4r9U.js} +1 -1
  119. package/dist/assets/{terminal-Ck_vK-34.js → terminal-CjvCrRrA.js} +3 -3
  120. package/dist/assets/{time-MgToa8VM.js → time-DswSXBDk.js} +1 -1
  121. package/dist/assets/{toast-BGzLGnvw.js → toast-Gzxi-le_.js} +1 -1
  122. package/dist/assets/tooltip-Brya4Ghn.js +61 -0
  123. package/dist/assets/{tooltip-C9TuY18o.js → tooltip-CkGm8X7m.js} +1 -1
  124. package/dist/assets/tracing-V5zejPsw.js +1 -0
  125. package/dist/assets/{tracing-panel-PeRXHD8_.js → tracing-panel-DLS3iwK6.js} +2 -2
  126. package/dist/assets/{tree-actions-GM5E_bUs.js → tree-actions-Be_mzC1C.js} +1 -1
  127. package/dist/assets/{use-restore-focus-BxEGwIbk.js → use-restore-focus-DdS7Tl0F.js} +1 -1
  128. package/dist/assets/{useAddCell-GR7eEQrT.js → useAddCell-DK79W1vA.js} +1 -1
  129. package/dist/assets/useAsyncData-DhhdOGGd.js +1 -0
  130. package/dist/assets/{useBoolean-BDD6_xQQ.js → useBoolean-j0qHaJxu.js} +1 -1
  131. package/dist/assets/{useCellActionButton-B-9eG5z_.js → useCellActionButton-Cw9Ob12j.js} +1 -1
  132. package/dist/assets/{useDeleteCell-2_bMClHd.js → useDeleteCell-BNqX6PPu.js} +1 -1
  133. package/dist/assets/{useDependencyPanelTab-k3C3M18S.js → useDependencyPanelTab-GnTnqKJo.js} +1 -1
  134. package/dist/assets/{useEventListener-D9cftcHj.js → useEventListener-CjDeLqFC.js} +1 -1
  135. package/dist/assets/{useIframeCapabilities-CwTkczVN.js → useIframeCapabilities-Czr9e4uG.js} +1 -1
  136. package/dist/assets/{useInstallPackage-iX1eufdl.js → useInstallPackage-CVItDn1e.js} +1 -1
  137. package/dist/assets/{useInterval--x3s1VpI.js → useInterval-DJdQmXnq.js} +1 -1
  138. package/dist/assets/useNotebookActions-_qJ1Sjtj.js +1 -0
  139. package/dist/assets/{useRunCells-B2vUhREg.js → useRunCells-DP09DHT6.js} +1 -1
  140. package/dist/assets/{useSplitCell-DEb03htp.js → useSplitCell-IfumZ4sm.js} +1 -1
  141. package/dist/assets/{useTheme-COhSHkCj.js → useTheme-DLtPc-39.js} +1 -1
  142. package/dist/assets/{utils-CaQYvazl.js → utils-DfElfBpz.js} +1 -1
  143. package/dist/assets/vega-component-CMn031HF.js +1 -0
  144. package/dist/assets/{vega-embed-container-DJPNkHPb.js → vega-embed-container-DtArSJz1.js} +1 -1
  145. package/dist/assets/vega-loader.browser-Bu25TKax.js +6 -0
  146. package/dist/assets/{write-secret-modal-DzKAInL2.js → write-secret-modal-usRSi1bb.js} +1 -1
  147. package/dist/assets/{xychartDiagram-S5SC5T6Z-KbGzG6-u.js → xychartDiagram-S5SC5T6Z-CeRnBS5e.js} +1 -1
  148. package/dist/index.html +76 -77
  149. package/package.json +4 -4
  150. package/src/__tests__/fixtures/{pair-preview.ts → pair-config.ts} +3 -2
  151. package/src/__tests__/host-imports.test.ts +1 -0
  152. package/src/__tests__/mount.test.ts +28 -8
  153. package/src/components/app-config/ai-config.tsx +5 -1
  154. package/src/components/data-table/__tests__/date-popover.test.tsx +72 -0
  155. package/src/components/data-table/__tests__/export-actions.test.tsx +329 -6
  156. package/src/components/data-table/column-visibility-dropdown.tsx +8 -13
  157. package/src/components/data-table/columns.tsx +2 -1
  158. package/src/components/data-table/date-popover.tsx +6 -4
  159. package/src/components/data-table/export-actions.tsx +192 -116
  160. package/src/components/data-table/row-viewer-panel/row-viewer.tsx +2 -2
  161. package/src/components/data-table/schemas.ts +14 -36
  162. package/src/components/editor/Output.tsx +9 -2
  163. package/src/components/editor/__tests__/dynamic-favicon.test.tsx +111 -18
  164. package/src/components/editor/actions/__tests__/pair-with-agent-commands.test.ts +80 -252
  165. package/src/components/editor/actions/__tests__/pair-with-agent-modal.test.tsx +186 -34
  166. package/src/components/editor/actions/pair-with-agent-commands.ts +42 -51
  167. package/src/components/editor/actions/pair-with-agent-modal.tsx +96 -36
  168. package/src/components/editor/ai/add-cell-with-ai.tsx +3 -3
  169. package/src/components/editor/chrome/panels/error-panel.tsx +1 -0
  170. package/src/components/editor/chrome/wrapper/__tests__/attachment-status.test.tsx +366 -0
  171. package/src/components/editor/chrome/wrapper/footer-item.tsx +32 -24
  172. package/src/components/editor/chrome/wrapper/footer-items/attachment-status.tsx +237 -0
  173. package/src/components/editor/chrome/wrapper/footer.tsx +2 -0
  174. package/src/components/editor/connections/components.tsx +1 -1
  175. package/src/components/editor/controls/__tests__/command-palette.test.tsx +53 -0
  176. package/src/components/editor/controls/command-palette.tsx +22 -10
  177. package/src/components/editor/dynamic-favicon.tsx +21 -40
  178. package/src/components/editor/errors/__tests__/send-error-report-button.test.tsx +537 -0
  179. package/src/components/editor/errors/send-error-report-button.tsx +69 -0
  180. package/src/components/editor/output/MarimoErrorOutput.tsx +21 -5
  181. package/src/components/editor/output/MarimoTracebackOutput.tsx +36 -21
  182. package/src/components/editor/output/__tests__/ansi-reduce.test.ts +18 -0
  183. package/src/components/editor/output/ansi-reduce.ts +6 -0
  184. package/src/components/pages/home-page.tsx +4 -4
  185. package/src/components/tracing/tracing.tsx +2 -2
  186. package/src/core/attachments/__tests__/toast.test.tsx +58 -0
  187. package/src/core/attachments/state.ts +18 -0
  188. package/src/core/attachments/toast.ts +15 -0
  189. package/src/core/cells/__tests__/cells.test.ts +52 -0
  190. package/src/core/cells/__tests__/error-report.test.ts +139 -0
  191. package/src/core/cells/__tests__/notebook-outline.test.ts +113 -0
  192. package/src/core/cells/__tests__/session.test.ts +50 -1
  193. package/src/core/cells/cells.ts +2 -1
  194. package/src/core/cells/error-report.ts +63 -0
  195. package/src/core/cells/pending-delete-service.ts +2 -6
  196. package/src/core/cells/session.ts +28 -1
  197. package/src/core/config/pair.ts +5 -3
  198. package/src/core/datasets/__tests__/data-source-discovery.test.ts +4 -4
  199. package/src/core/datasets/data-source-discovery.ts +4 -6
  200. package/src/core/edit-app.tsx +2 -2
  201. package/src/core/host/AGENTS.md +11 -2
  202. package/src/core/host/__tests__/attachments.test.ts +56 -0
  203. package/src/core/host/__tests__/document.test.ts +126 -0
  204. package/src/core/host/__tests__/events.test.ts +49 -0
  205. package/src/core/host/__tests__/fixtures.ts +41 -0
  206. package/src/core/host/__tests__/notebook-client.test.ts +433 -0
  207. package/src/core/host/connection.ts +81 -0
  208. package/src/core/host/events.ts +77 -0
  209. package/src/core/host/notebook-client.ts +323 -0
  210. package/src/core/host/resources/attachments.ts +19 -0
  211. package/src/core/host/resources/document.ts +101 -0
  212. package/src/core/hotkeys/actions.ts +2 -4
  213. package/src/core/network/connection.ts +4 -2
  214. package/src/core/run-app.tsx +2 -2
  215. package/src/core/runtime/__tests__/runtime.test.ts +55 -11
  216. package/src/core/runtime/runtime.ts +18 -5
  217. package/src/core/runtime/types.ts +2 -0
  218. package/src/core/websocket/__tests__/{useMarimoKernelConnection.test.ts → connection-state.test.ts} +15 -17
  219. package/src/core/websocket/__tests__/{useWebSocket.test.ts → createConnectionTransport.test.ts} +1 -1
  220. package/src/core/websocket/__tests__/useNotebookClient.hook.test.tsx +170 -0
  221. package/src/core/websocket/__tests__/{useMarimoKernelConnection.hook.test.tsx → useNotebookSession.hook.test.tsx} +181 -65
  222. package/src/core/websocket/connection-state.ts +70 -0
  223. package/src/core/websocket/state.ts +7 -0
  224. package/src/core/websocket/transports/__tests__/sse.test.ts +1 -4
  225. package/src/core/websocket/transports/create.ts +31 -0
  226. package/src/core/websocket/transports/transport.ts +12 -23
  227. package/src/core/websocket/types.ts +9 -39
  228. package/src/core/websocket/useNotebookClient.ts +88 -0
  229. package/src/core/websocket/{useMarimoKernelConnection.tsx → useNotebookSession.tsx} +59 -225
  230. package/src/hooks/__tests__/useAsyncData.test.tsx +148 -0
  231. package/src/hooks/useAsyncData.ts +3 -3
  232. package/src/hooks/useDataSourceDiscovery.ts +6 -4
  233. package/src/hooks/useElapsedTime.ts +3 -3
  234. package/src/mount.tsx +7 -3
  235. package/src/plugins/core/registerReactComponent.tsx +1 -1
  236. package/src/plugins/impl/DropdownPlugin.tsx +2 -6
  237. package/src/plugins/impl/FormPlugin.tsx +1 -1
  238. package/src/plugins/impl/__tests__/DataTablePlugin.test.tsx +84 -0
  239. package/src/plugins/impl/code/any-language-editor.tsx +2 -2
  240. package/src/plugins/impl/data-editor/glide-data-editor.tsx +8 -5
  241. package/src/plugins/impl/data-editor/glide-utils.ts +3 -1
  242. package/src/plugins/impl/vega/make-selectable.ts +3 -6
  243. package/src/utils/__tests__/arrays.test.ts +35 -0
  244. package/src/utils/__tests__/numbers.test.ts +48 -1
  245. package/src/utils/__tests__/objects.test.ts +21 -0
  246. package/src/utils/arrays.ts +10 -0
  247. package/src/utils/numbers.ts +28 -17
  248. package/src/utils/objects.ts +3 -7
  249. package/src/utils/once.ts +19 -19
  250. package/dist/assets/CellStatus-BP2mavAq.js +0 -1
  251. package/dist/assets/JsonOutput-DxHKOpPG.js +0 -11
  252. package/dist/assets/MarimoErrorOutput-D60XkCny.js +0 -6
  253. package/dist/assets/ai-model-dropdown-B0z6-zhp.js +0 -5
  254. package/dist/assets/any-language-editor-BLCAD3yx.js +0 -1
  255. package/dist/assets/api-BeC_VSGv.js +0 -1
  256. package/dist/assets/arrays-BqUx5USx.js +0 -1
  257. package/dist/assets/code-visibility-B-_GvwR5.js +0 -1
  258. package/dist/assets/coerce-CpE6kUdX.js +0 -1
  259. package/dist/assets/command-palette-Cf7WX-nr.js +0 -1
  260. package/dist/assets/config-BOKzA3tF.js +0 -1
  261. package/dist/assets/config-DX8Y2WbJ.js +0 -1
  262. package/dist/assets/config-VPSq73n8.js +0 -1
  263. package/dist/assets/edit-page-BT74CF4G.js +0 -9
  264. package/dist/assets/feedback-button-B2gKC5cn.js +0 -1
  265. package/dist/assets/hooks-RnjuFmEx.js +0 -1
  266. package/dist/assets/index-Bcdzex-3.css +0 -2
  267. package/dist/assets/index-D-kY3FU1.js +0 -29
  268. package/dist/assets/linear-0eij_aAG.js +0 -1
  269. package/dist/assets/links-DkkL9DVa.js +0 -1
  270. package/dist/assets/numbers-Mk3-CcoU.js +0 -1
  271. package/dist/assets/pair-CaQyK6En.js +0 -1
  272. package/dist/assets/panels-Dn59o8ay.js +0 -4
  273. package/dist/assets/precisionRound-Bq_nmf5u.js +0 -1
  274. package/dist/assets/process-output-D0KGq04R.js +0 -1
  275. package/dist/assets/react-vega-C3rYGtP6.js +0 -189
  276. package/dist/assets/session-panel-BxS5hiG2.js +0 -1
  277. package/dist/assets/state-_Qai_QyX.js +0 -3
  278. package/dist/assets/tooltip-mT3CGest.js +0 -61
  279. package/dist/assets/tracing-Di6pUmX8.js +0 -1
  280. package/dist/assets/useAsyncData-C7aJJz0Y.js +0 -1
  281. package/dist/assets/useNotebookActions-DIc4xTzY.js +0 -1
  282. package/dist/assets/vega-component-CnadTgoE.js +0 -1
  283. package/dist/assets/vega-loader.browser-CLRkNgm7.js +0 -6
  284. package/src/core/host/__tests__/protocol.test.ts +0 -214
  285. package/src/core/host/protocol.ts +0 -1943
  286. package/src/core/websocket/useWebSocket.tsx +0 -88
@@ -1,6 +0,0 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{c as t,d as n,f as r,l as i,r as a,t as o,u as s}from"./useEvent-Dfcbgjhg.js";import{t as c}from"./react-DVplv7_D.js";import{Ao as l,D as u,Kr as d,Oa as f,Q as p,Qr as m,Za as h,ai as g,b as _,ka as v,no as y,qa as b}from"./cells-BRkCaSsh.js";import{t as x}from"./compiler-runtime-BrajqUja.js";import{i as S,r as C,x as w}from"./config-VPSq73n8.js";import{g as T,p as E}from"./useEventListener-D9cftcHj.js";import{t as D}from"./invariant-Ci2dTZ72.js";import{O}from"./config-DX8Y2WbJ.js";import{t as ee}from"./cn-ldLVeaqm.js";import{t as k}from"./jsx-runtime-B74pBk57.js";import{a as A,i as j,o as te,r as ne,t as M}from"./config-BOKzA3tF.js";import{a as N,p as P,r as re,t as ie}from"./dropdown-menu-C1rnl-0o.js";import{t as F}from"./tooltip-C9TuY18o.js";import{r as ae,t as I}from"./button-COI-NGrx.js";import{t as oe}from"./createLucideIcon-DfJ2oMlA.js";import{t as se}from"./check-BQNapYaf.js";import{a as ce}from"./useNumberFormatter-D7O_26UI.js";import{t as le}from"./chevron-right-eAtVhbNZ.js";import{t as ue}from"./hat-glasses-C8RhSVii.js";import{p as L}from"./write-secret-modal-DzKAInL2.js";import{t as de}from"./package-GSoSTiIK.js";import{l as fe,r as pe}from"./datasource-Cq6x_5ML.js";import{t as me}from"./use-toast-Wu434mLr.js";import{n as he}from"./strings-B2vv-ENv.js";import{a as ge}from"./dist-DusFODSa.js";import{t as _e}from"./uuid-k9DpjH68.js";import{t as ve}from"./RenderHTML-BbOqmHy3.js";import{t as ye,u as be}from"./useInstallPackage-iX1eufdl.js";import{t as R}from"./kbd-pdKBv96t.js";import{r as xe,t as Se}from"./alert-DTaqCu_d.js";import{n as Ce,o as we}from"./state-XsPO8hNi.js";import{n as z}from"./cell-link-LSth_8hT.js";var B=oe(`square-arrow-out-up-right`,[[`path`,{d:`M21 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h6`,key:`y09zxi`}],[`path`,{d:`m21 3-9 9`,key:`mpx6sq`}],[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}]]),Te=oe(`terminal`,[[`path`,{d:`M12 19h8`,key:`baeox8`}],[`path`,{d:`m4 17 6-6-6-6`,key:`1yngyt`}]]),V=e(c(),1),H=x(),Ee=String.raw`_cell_([^\W_][\w-]*?)(_\w*)`,De=String.raw`(?<!_)${Ee}`;RegExp(`^${Ee}$`);var Oe=new RegExp(De),U=new RegExp(De,`g`);function ke(e){let t=[];U.lastIndex=0;let n=0,r=U.exec(e);for(;r!==null;)r.index>n&&t.push(e.slice(n,r.index)),t.push({cellId:r[1],name:r[2]}),n=r.index+r[0].length,r=U.exec(e);return n<e.length&&t.push(e.slice(n)),t}function Ae(e){return Oe.test(e)}function je(e){let t=null,n=e.cursor();do n.name===`ExpressionStatement`&&(t=n.node);while(n.next());return t}function Me(e){let t=e.split(`
2
- `),n=` `,r=je(ge.parse(e));if(!r)return[`def _():`,...W(t,n),`${n}return`,``,``,`_()`].join(`
3
- `);let i=e.slice(0,r.from).trim(),a=e.slice(r.from).trim(),o=i.split(`
4
- `),s=a.split(`
5
- `);return[`def _():`,...W(o,n),`${n}return ${s[0]}`,...W(s.slice(1),n),``,``,`_()`].join(`
6
- `)}function W(e,t){if(e.length===1&&e[0]===``)return[];let n=[];for(let r of e)r===``?n.push(``):n.push(t+r);return n}function Ne(e,t){if(e.type===`multiple-defs`)return[{title:`Fix: Wrap in a function`,description:`Make this cell's variables local by wrapping the cell in a function.`,fixType:`manual`,onFix:async e=>{D(e.editor,`Editor is null`);let t=Me(e.editor.state.doc.toString());e.editor.dispatch({changes:{from:0,to:e.editor.state.doc.length,insert:t}})}}];if(e.type===`exception`&&e.exception_type===`NameError`){let t=e.msg.match(/name '(.+)' is not defined/)?.[1];if(!t||!(t in G))return[];let n=Pe(t);return[{title:`Fix: Add '${n}'`,description:`Add a new cell for the missing import`,fixType:`manual`,onFix:async e=>{e.addCodeBelow(n)}}]}return e.type===`sql-error`&&t.aiEnabled?[{title:`Fix with AI`,description:`Fix the SQL statement`,fixType:`ai`,onFix:async t=>{let n=pe(t.cellId,a),r=`Fix the SQL statement: ${e.msg}.`;n&&(r+=`\nDatabase schema: ${n}`),t.aiFix?.setAiCompletionCell({cellId:t.cellId,initialPrompt:r,triggerImmediately:t.aiFix.triggerFix})}}]:[]}function Pe(e){let t=G[e];return t===e?`import ${t}`:`import ${t} as ${e}`}var G={mo:`marimo`,alt:`altair`,bokeh:`bokeh`,dask:`dask`,np:`numpy`,pd:`pandas`,pl:`polars`,plotly:`plotly`,plt:`matplotlib.pyplot`,px:`plotly.express`,scipy:`scipy`,sk:`sklearn`,sns:`seaborn`,stats:`scipy.stats`,tf:`tensorflow`,torch:`torch`,xr:`xarray`,dt:`datetime`,json:`json`,math:`math`,os:`os`,re:`re`,sys:`sys`},K=O(`marimo:acp:sessions:v1`,{sessions:[],activeTabId:null},m),Fe=r(e=>{let t=e(K);return t.activeTabId&&t.sessions.find(e=>e.tabId===t.activeTabId)||null},(e,t,n)=>{t(K,e=>({...e,activeTabId:n}))});function Ie(){return`tab_${_e()}`}function Le(e,t=20){return e.length<=t?e:`${e.slice(0,t-3)}...`}function Re(e,t){let n=Ke(t.agentId),r=Date.now(),i=t.firstMessage?Le(t.firstMessage.trim()):`New ${t.agentId} session`,a=Ie();if(n===`single`){let n=e.sessions.filter(e=>e.agentId===t.agentId),a=e.sessions.filter(e=>e.agentId!==t.agentId);if(n.length>0){let o=n[0],s={agentId:t.agentId,title:i,createdAt:r,lastUsedAt:r,tabId:o.tabId,externalAgentSessionId:null,selectedModel:t.model??o.selectedModel??null};return{...e,sessions:[...a.slice(0,0),s],activeTabId:s.tabId}}}return{...e,sessions:[...e.sessions.slice(0,0),{agentId:t.agentId,tabId:a,title:i,createdAt:r,lastUsedAt:r,externalAgentSessionId:null,selectedModel:t.model??null}],activeTabId:a}}function ze(e,t){let n=e.sessions.filter(e=>e.tabId!==t);return{sessions:n,activeTabId:e.activeTabId===t?n.length>0?n[n.length-1].tabId:null:e.activeTabId}}function Be(e,t){let n=e.activeTabId;return n?{...e,sessions:e.sessions.map(e=>e.tabId===n?{...e,title:Le(t)}:e)}:e}function Ve(e,t){return{...e,sessions:e.sessions.map(e=>e.tabId===t?{...e,lastUsedAt:Date.now()}:e)}}function He(e,t){let n=e.activeTabId;return n?{...e,sessions:e.sessions.map(e=>e.tabId===n?{...e,externalAgentSessionId:t,lastUsedAt:Date.now()}:e)}:e}function Ue(){return[`claude`,`gemini`,`codex`,`opencode`,`cursor`]}function We(e){return he(e)}function Ge(e){let t=q[e].port,n=window.location.hostname;return`${window.location.protocol===`https:`?`wss:`:`ws:`}//${n}:${t}/message`}var q={claude:{port:3017,command:`npx @agentclientprotocol/claude-agent-acp`,sessionSupport:`single`},gemini:{port:3019,command:`npx @google/gemini-cli --experimental-acp`,sessionSupport:`single`},codex:{port:3021,command:`npx @zed-industries/codex-acp`,sessionSupport:`single`},opencode:{port:3023,command:`npx opencode-ai acp`,sessionSupport:`single`},cursor:{port:3025,command:`agent acp`,sessionSupport:`single`}};function Ke(e){return q[e].sessionSupport}function qe(e){let t=q[e].port,n=q[e].command;return`npx stdio-to-ws "${E()?`cmd /c ${n}`:n}" --port ${t}`}var Je=O(`marimo:chrome:ai-panel-tab`,`chat`,m);function Ye(){let e=(0,H.c)(3),[n,r]=t(Je),i;return e[0]!==n||e[1]!==r?(i={aiPanelTab:n,setAiPanelTab:r},e[0]=n,e[1]=r,e[2]=i):i=e[2],i}var Xe=`code_mode`;function Ze(e,t){return e||(g(`external_agents`)?t:`chat`)}function Qe(){let e=(0,H.c)(6),{openApplication:t}=d(),{setAiPanelTab:r}=Ye(),{saveModeChange:i}=M(),a=s(we),c=n(),l;return e[0]!==t||e[1]!==i||e[2]!==r||e[3]!==a||e[4]!==c?(l=async e=>{let n=Ze(e.panel,c.get(Je)),o=c.get(S),s=g(`external_agents`)&&c.get(K).sessions.length>0;if(!(n===`agents`?s:o)){me({title:n===`agents`?`No agent session`:`AI not configured`,description:n===`agents`?`Start an agent session or switch to the chat panel.`:`Configure an AI provider and chat model to fix with AI.`,variant:`danger`});return}e.panel&&r(e.panel),n===`chat`&&await i(Xe).catch($e),a({prompt:e.prompt,submit:e.submit??!1}),t(`ai`)},e[0]=t,e[1]=i,e[2]=r,e[3]=a,e[4]=c,e[5]=l):l=e[5],o(l)}function $e(){return T.error(`Failed to save mode change`)}var et=O(`marimo:ai-autofix-mode`,`autofix`,m);function tt(){let e=(0,H.c)(3),[n,r]=t(et),i;return e[0]!==n||e[1]!==r?(i={fixMode:n,setFixMode:r},e[0]=n,e[1]=r,e[2]=i):i=e[2],i}var J=k();function nt(e,t){if(e!=null)return`@error://${e}\n\nPlease fix this error.`;let n=t?.trim();return n?`My code gives the following error. Please fix it:\n\n${n}`:`Please fix this error.`}var Y=e=>{let t=(0,H.c)(25),{errors:r,cellId:a,className:o}=e,c=n(),{createNewCell:l}=u(),d=i(C),f;if(t[0]!==d||t[1]!==r){let e;t[3]===d?e=t[4]:(e=e=>Ne(e,{aiEnabled:d}),t[3]=d,t[4]=e),f=r.flatMap(e),t[0]=d,t[1]=r,t[2]=f}else f=t[2];let p=f,m=s(Ce),h=Qe();if(p.length===0)return null;let g=p[0],v;t[5]!==a||t[6]!==l||t[7]!==g||t[8]!==m||t[9]!==c?(v=e=>{let t=c.get(_).cellHandles[a].current?.editorView;g.onFix({addCodeBelow:e=>{l({cellId:a,autoFocus:!1,before:!1,code:e})},editor:t,cellId:a,aiFix:{setAiCompletionCell:m,triggerFix:e}}),t?.focus()},t[5]=a,t[6]=l,t[7]=g,t[8]=m,t[9]=c,t[10]=v):v=t[10];let y=v,b;t[11]!==a||t[12]!==h?(b=()=>{h({prompt:nt(a)})},t[11]=a,t[12]=h,t[13]=b):b=t[13];let x=b,S;t[14]===o?S=t[15]:(S=ee(`my-2`,o),t[14]=o,t[15]=S);let w;t[16]!==g.description||t[17]!==g.fixType||t[18]!==g.title||t[19]!==y||t[20]!==x?(w=g.fixType===`ai`?(0,J.jsx)(at,{tooltip:g.description,openPrompt:()=>y(!1),applyAutofix:()=>y(!0),openChat:x}):(0,J.jsx)(F,{content:g.description,align:`start`,children:(0,J.jsxs)(I,{size:`xs`,variant:`outline`,className:`font-normal`,onClick:()=>y(!1),children:[(0,J.jsx)(fe,{className:`h-3 w-3 mr-2`}),g.title]})}),t[16]=g.description,t[17]=g.fixType,t[18]=g.title,t[19]=y,t[20]=x,t[21]=w):w=t[21];let T;return t[22]!==S||t[23]!==w?(T=(0,J.jsx)(`div`,{className:S,children:w}),t[22]=S,t[23]=w,t[24]=T):T=t[24],T},rt={autofix:{Icon:fe,title:`Inline AI Fix`,description:`Apply AI fixes inline in the cell`},chat:{Icon:ue,title:`Fix with AI assistant`,description:`Open the AI sidebar to fix`},prompt:{Icon:b,title:`Suggest a prompt`,description:`Edit the prompt before applying`}},it=[`autofix`,`prompt`,`chat`],at=e=>{let t=(0,H.c)(18),{tooltip:n,openPrompt:r,applyAutofix:i,openChat:a}=e,{fixMode:o,setFixMode:s}=tt(),c=r;o===`chat`?c=a:o===`autofix`&&(c=i);let{Icon:l,title:u}=rt[o],d;t[0]===l?d=t[1]:(d=(0,J.jsx)(l,{className:`h-3 w-3 mr-2 mb-0.5`}),t[0]=l,t[1]=d);let f;t[2]!==c||t[3]!==d||t[4]!==u?(f=(0,J.jsxs)(I,{size:`xs`,variant:`outline`,className:`font-normal rounded-r-none border-r-0`,onClick:c,children:[d,u]}),t[2]=c,t[3]=d,t[4]=u,t[5]=f):f=t[5];let p;t[6]!==f||t[7]!==n?(p=(0,J.jsx)(F,{content:n,align:`start`,children:f}),t[6]=f,t[7]=n,t[8]=p):p=t[8];let m;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,J.jsx)(P,{asChild:!0,children:(0,J.jsx)(I,{size:`xs`,variant:`outline`,className:`rounded-l-none px-2`,"aria-label":`Fix options`,children:(0,J.jsx)(ce,{className:`h-3 w-3`})})}),t[9]=m):m=t[9];let h;t[10]!==o||t[11]!==s?(h=it.map(e=>(0,J.jsx)(N,{className:`flex items-center gap-2`,onClick:()=>s(e),children:(0,J.jsx)(ot,{mode:e,selected:e===o})},e)),t[10]=o,t[11]=s,t[12]=h):h=t[12];let g;t[13]===h?g=t[14]:(g=(0,J.jsxs)(ie,{children:[m,(0,J.jsx)(re,{align:`end`,className:`w-56`,children:h})]}),t[13]=h,t[14]=g);let _;return t[15]!==p||t[16]!==g?(_=(0,J.jsxs)(`div`,{className:`flex`,children:[p,g]}),t[15]=p,t[16]=g,t[17]=_):_=t[17],_},ot=e=>{let t=(0,H.c)(15),{mode:n,selected:r}=e,{Icon:i,title:a,description:o}=rt[n],s;t[0]===i?s=t[1]:(s=(0,J.jsx)(i,{className:`h-4 w-4 shrink-0`}),t[0]=i,t[1]=s);let c;t[2]===a?c=t[3]:(c=(0,J.jsx)(`span`,{className:`font-medium`,children:a}),t[2]=a,t[3]=c);let l;t[4]===o?l=t[5]:(l=(0,J.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:o}),t[4]=o,t[5]=l);let u;t[6]!==c||t[7]!==l?(u=(0,J.jsxs)(`div`,{className:`flex flex-col`,children:[c,l]}),t[6]=c,t[7]=l,t[8]=u):u=t[8];let d;t[9]===r?d=t[10]:(d=r&&(0,J.jsx)(se,{className:`h-4 w-4 ml-auto shrink-0`}),t[9]=r,t[10]=d);let f;return t[11]!==s||t[12]!==u||t[13]!==d?(f=(0,J.jsxs)(`div`,{className:`flex items-center gap-2 w-full`,children:[s,u,d]}),t[11]=s,t[12]=u,t[13]=d,t[14]=f):f=t[14],f},st=e=>{let t=(0,H.c)(12),{local:n}=e,r;t[0]===n.name?r=t[1]:(r=(0,J.jsx)(`span`,{className:`font-code`,children:n.name}),t[0]=n.name,t[1]=r);let i;t[2]===n.cellId?i=t[3]:(i=(0,J.jsx)(z,{cellId:n.cellId}),t[2]=n.cellId,t[3]=i);let a;t[4]!==r||t[5]!==i?(a=(0,J.jsxs)(`div`,{className:`max-w-xs`,children:[`Local variable `,r,` in cell`,` `,i,`.`]}),t[4]=r,t[5]=i,t[6]=a):a=t[6];let o=a,s;t[7]===n.name?s=t[8]:(s=(0,J.jsx)(`span`,{className:`font-code cursor-help`,children:n.name}),t[7]=n.name,t[8]=s);let c;return t[9]!==s||t[10]!==o?(c=(0,J.jsx)(F,{content:o,children:s}),t[9]=s,t[10]=o,t[11]=c):c=t[11],c},ct=e=>{let t=(0,H.c)(4),{segments:n}=e,r;t[0]===n?r=t[1]:(r=n.map(lt),t[0]=n,t[1]=r);let i;return t[2]===r?i=t[3]:(i=(0,J.jsx)(J.Fragment,{children:r}),t[2]=r,t[3]=i),i};function lt(e,t){return typeof e==`string`?(0,J.jsx)(`span`,{children:e},t):(0,J.jsx)(st,{local:e},t)}var ut=new p,X=e=>{let t=RegExp(`\x1B\\[[0-9;]*m`,`g`);return e.replaceAll(t,``)},dt=/(pip\s+install|uv\s+add|uv\s+pip\s+install)\s+/gi;function ft(e){dt.lastIndex=0;let t=dt.exec(e);if(!t)return null;let n=t.index+t[0].length,r=e.slice(n).split(/\s+/),i=``,a=0;for(let e of r){let t=e.trim();if(!t)continue;if(t.startsWith(`-`)){a+=t.length+1;continue}let n=t.match(/^[\w,.[\]-]+/);if(n){i=n[0];break}break}if(!i)return null;let o=n+a+i.length;return{package:i,endIndex:o}}function Z(e,t=``){if(!e)return null;if(!/https?:\/\//.test(e))return e;let n=l(e);return n.length===1&&n[0].type===`text`?e:(0,J.jsx)(J.Fragment,{children:n.map((e,n)=>{let r=t?`${t}-${n}`:n;if(e.type===`url`){let t=X(e.url);return(0,J.jsx)(`a`,{href:t,target:`_blank`,rel:`noopener noreferrer`,onClick:ae.stopPropagation(),className:`text-link hover:underline`,children:t},r)}if(e.type===`image`){let t=X(e.url);return(0,J.jsx)(`a`,{href:t,target:`_blank`,rel:`noopener noreferrer`,onClick:ae.stopPropagation(),className:`text-link hover:underline`,children:t},r)}return(0,J.jsx)(V.Fragment,{children:e.value},r)})})}var pt=e=>{let t=(0,H.c)(6),{packages:n,children:r}=e,{handleInstallPackages:i}=ye(),a;t[0]!==i||t[1]!==n?(a=e=>{i(n),e.preventDefault()},t[0]=i,t[1]=n,t[2]=a):a=t[2];let o;return t[3]!==r||t[4]!==a?(o=(0,J.jsx)(`button`,{onClick:a,className:`text-link hover:underline`,type:`button`,children:r}),t[3]=r,t[4]=a,t[5]=o):o=t[5],o},mt=e=>{if(!(e instanceof v.Text))return;let t=X(e.data);if(!/(pip\s+install|uv\s+add|uv\s+pip\s+install)/i.test(t))return;let n=[],r=/(pip\s+install|uv\s+add|uv\s+pip\s+install)\s+/gi,i;for(;(i=r.exec(t))!==null;){let e=i.index,r=ft(t.slice(e));r&&n.push({match:i,result:r})}if(n.length===0)return;let a=[],o=0;if(n.forEach((e,n)=>{let{match:r,result:i}=e,s=r.index,c=s+i.endIndex;if(o<s){let e=t.slice(o,s);a.push((0,J.jsx)(V.Fragment,{children:Z(e,`before-${n}`)},`before-${n}`))}let l=t.slice(s,c);a.push((0,J.jsx)(pt,{packages:[i.package],children:l},`install-${n}`)),o=c}),o<t.length){let e=t.slice(o);a.push((0,J.jsx)(V.Fragment,{children:Z(e,`after`)},`after`))}return(0,J.jsx)(J.Fragment,{children:a})},ht=e=>{if(!(e instanceof v.Text))return;let t=e.data;if(!/https?:\/\//.test(t))return;let n=Z(t);if(typeof n!=`string`)return(0,J.jsx)(J.Fragment,{children:n})},gt=(...e)=>t=>{for(let n of e){let e=n(t);if(e!==void 0)return e}},_t=(e,t)=>{let n=ut.ansi_to_html(e),r=f(n,{replace:e=>t(e)});return(0,J.jsx)(`span`,{children:r})},vt=e=>{let t=(0,H.c)(2),{text:n}=e,r;return t[0]===n?r=t[1]:(r=_t(n,gt(mt,ht)),t[0]=n,t[1]=r),r},Q=e=>{let t=(0,H.c)(16),{traceback:n}=e,[r,i]=(0,V.useState)(!0),a;t[0]===r?a=t[1]:(a=()=>i(!r),t[0]=r,t[1]=a);let o=r?`Collapse traceback`:`Expand traceback`,s;t[2]===r?s=t[3]:(s=r?(0,J.jsx)(ce,{className:`h-3 w-3`}):(0,J.jsx)(le,{className:`h-3 w-3`}),t[2]=r,t[3]=s);let c;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,J.jsx)(`span`,{className:`text-[0.6875rem] uppercase tracking-wider`,children:`Traceback`}),t[4]=c):c=t[4];let l;t[5]!==r||t[6]!==a||t[7]!==o||t[8]!==s?(l=(0,J.jsxs)(`button`,{type:`button`,onClick:a,"aria-expanded":r,"aria-label":o,className:`flex items-center gap-1 text-muted-foreground/70 hover:text-muted-foreground transition-colors`,children:[s,c]}),t[5]=r,t[6]=a,t[7]=o,t[8]=s,t[9]=l):l=t[9];let u;t[10]!==r||t[11]!==n?(u=r&&(0,J.jsx)(`div`,{className:`font-code text-sm mt-1 p-3 bg-muted rounded border overflow-auto max-h-[50vh] cursor-text select-text`,children:ve({html:n})}),t[10]=r,t[11]=n,t[12]=u):u=t[12];let d;return t[13]!==l||t[14]!==u?(d=(0,J.jsxs)(`div`,{className:`mt-2`,children:[l,u]}),t[13]=l,t[14]=u,t[15]=d):d=t[15],d},$=e=>{let t=(0,H.c)(10),n=e.title??`Tip`,r;t[0]===n?r=t[1]:(r=(0,J.jsx)(te,{className:`pt-2 pb-0 font-normal`,children:n}),t[0]=n,t[1]=r);let i;t[2]===e.children?i=t[3]:(i=(0,J.jsx)(j,{className:`mr-24 text-[0.84375rem]`,wrapperClassName:`pt-0 pb-2`,children:e.children}),t[2]=e.children,t[3]=i);let a;t[4]!==r||t[5]!==i?(a=(0,J.jsxs)(A,{value:`item-1`,className:`text-muted-foreground`,children:[r,i]}),t[4]=r,t[5]=i,t[6]=a):a=t[6];let o;return t[7]!==e.className||t[8]!==a?(o=(0,J.jsx)(ne,{type:`single`,collapsible:!0,className:e.className,children:a}),t[7]=e.className,t[8]=a,t[9]=o):o=t[9],o},yt=e=>{let t=(0,H.c)(38),{errors:n,cellId:r,className:a}=e,o=d(),s=i(w).display.cell_output===`above`,c=`This cell wasn't run because it has errors`,l=`destructive`,u=`text-error`,f=null;if(n.some(bt))c=`Interrupted`;else if(n.some(xt))c=`An internal error occurred`;else if(n.some(St))c=`Ancestor prevented from running`,l=`default`,u=`text-secondary-foreground`;else if(n.some(Ct))c=`Ancestor stopped`,l=`default`,u=`text-secondary-foreground`;else if(n.some(wt))c=`SQL error`;else if(n.some(Tt))c=null,f=`Cell not run`;else{let e;t[0]===n?e=t[1]:(e=n.find(Et),t[0]=n,t[1]=e);let r=e;r&&`exception_type`in r&&(c=r.exception_type)}let p,m,g,_,v,b;if(t[2]!==l||t[3]!==r||t[4]!==o||t[5]!==a||t[6]!==n||t[7]!==s||t[8]!==f||t[9]!==u||t[10]!==c){let e=n.filter(Dt),i=n.filter(Ot),d=n.filter(kt),x=n.filter(At),S=n.filter(jt),C=n.filter(Mt),w=n.filter(Nt),T=n.filter(Pt),E=n.filter(Ft),D=n.filter(It),O=n.filter(Lt),k=n.filter(Rt),A=n.filter(zt),j;t[17]===o?j=t[18]:(j=()=>{o.openApplication(`scratchpad`)},t[17]=o,t[18]=j);let te=j,ne=()=>{let t=[];if(O.length>0||k.length>0){let e=O.some(Bt),n=!e&&O.some(Vt);t.push((0,J.jsxs)(`div`,{children:[O.map(Ht),k.map(Ut),e&&(0,J.jsxs)(I,{size:`xs`,variant:`outline`,className:`mt-2 font-normal`,onClick:()=>be(o),children:[(0,J.jsx)(de,{className:`h-3.5 w-3.5 mr-1.5 mb-0.5`}),(0,J.jsx)(`span`,{children:`Open package manager`})]}),n&&(0,J.jsxs)(I,{size:`xs`,variant:`outline`,className:`mt-2 font-normal`,onClick:()=>o.openApplication(`terminal`),children:[(0,J.jsx)(Te,{className:`h-3.5 w-3.5 mr-1.5`}),(0,J.jsx)(`span`,{children:`Open terminal`})]}),r&&(0,J.jsx)(Y,{errors:[...O,...k],cellId:r})]},`syntax-unknown`))}if(e.length>0&&t.push((0,J.jsxs)(`div`,{children:[(0,J.jsx)(`p`,{className:`text-muted-foreground font-medium`,children:`The setup cell cannot be run because it has references.`}),(0,J.jsx)(`ul`,{className:`list-disc`,children:e.flatMap(Wt)}),r&&(0,J.jsx)(Y,{errors:e,cellId:r}),(0,J.jsxs)($,{title:`Why can't the setup cell have references?`,className:`mb-2`,children:[(0,J.jsx)(`p`,{className:`pb-2`,children:`The setup cell contains logic that must be run before any other cell runs, including top-level imports used by top-level functions. For this reason, it can't refer to other cells' variables.`}),(0,J.jsx)(`p`,{className:`py-2`,children:`Try simplifying the setup cell to only contain only necessary variables.`}),(0,J.jsxs)(`p`,{className:`py-2`,children:[(0,J.jsxs)(L,{href:`https://links.marimo.app/errors-setup`,children:[`Learn more at our docs`,` `,(0,J.jsx)(B,{size:`0.75rem`,className:`inline`})]}),`.`]})]})]},`setup-refs`)),i.length>0&&t.push((0,J.jsxs)(`div`,{children:[(0,J.jsx)(`p`,{className:`text-muted-foreground font-medium`,children:`This cell is in a cycle.`}),(0,J.jsx)(`ul`,{className:`list-disc`,children:i.flatMap(Gt)}),r&&(0,J.jsx)(Y,{errors:i,cellId:r}),(0,J.jsxs)($,{title:`What are cycles and how do I resolve them?`,className:`mb-2`,children:[(0,J.jsx)(`p`,{className:`pb-2`,children:`An example of a cycle is if one cell declares a variable 'a' and reads 'b', and another cell declares 'b' and and reads 'a'. Cycles like this make it impossible for marimo to know how to run your cells, and generally suggest that your code has a bug.`}),(0,J.jsx)(`p`,{className:`py-2`,children:`Try merging these cells into a single cell to eliminate the cycle.`}),(0,J.jsxs)(`p`,{className:`py-2`,children:[(0,J.jsxs)(L,{href:`https://links.marimo.app/errors-cycles`,children:[`Learn more at our docs`,` `,(0,J.jsx)(B,{size:`0.75rem`,className:`inline`})]}),`.`]})]})]},`cycle`)),d.length>0){let e=d[0].name;t.push((0,J.jsxs)(`div`,{children:[(0,J.jsx)(`p`,{className:`text-muted-foreground font-medium`,children:`This cell redefines variables from other cells.`}),d.map(qt),r&&(0,J.jsx)(Y,{errors:d,cellId:r}),(0,J.jsxs)($,{title:`Why can't I redefine variables?`,children:[(0,J.jsx)(`p`,{className:`pb-2`,children:`marimo requires that each variable is defined in just one cell. This constraint enables reactive and reproducible execution, arbitrary cell reordering, seamless UI elements, execution as a script, and more.`}),(0,J.jsxs)(`p`,{className:`py-2`,children:[`Try merging this cell with the mentioned cells or wrapping it in a function. Alternatively, prefix variables with an underscore (e.g., `,(0,J.jsxs)(R,{className:`inline`,children:[`_`,e]}),`). to make them private to this cell.`]}),(0,J.jsxs)(`p`,{className:`py-2`,children:[(0,J.jsxs)(L,{href:`https://links.marimo.app/errors-multiple-definitions`,children:[`Learn more at our docs`,` `,(0,J.jsx)(B,{size:`0.75rem`,className:`inline`})]}),`.`]})]}),(0,J.jsx)($,{title:`Need a scratchpad?`,children:(0,J.jsxs)(`div`,{className:`flex flex-row gap-2 items-center`,children:[(0,J.jsxs)(I,{size:`xs`,variant:`link`,className:`my-2 font-normal mx-0 px-0`,onClick:te,children:[(0,J.jsx)(h,{className:`h-3`}),(0,J.jsx)(`span`,{children:`Try the scratchpad`})]}),(0,J.jsx)(`span`,{children:`to experiment without restrictions on variable names.`})]})})]},`multiple-defs`))}return x.length>0&&t.push((0,J.jsxs)(`div`,{children:[x.map(Jt),r&&(0,J.jsx)(Y,{errors:x,cellId:r}),(0,J.jsxs)($,{title:"Why can't I use `import *`?",children:[(0,J.jsx)(`p`,{className:`pb-2`,children:`Star imports are incompatible with marimo's git-friendly file format and reproducible reactive execution.`}),(0,J.jsx)(`p`,{className:`py-2`,children:"marimo's Python file format stores code in functions, so notebooks can be imported as regular Python modules without executing all their code. But Python disallows `import *` everywhere except at the top-level of a module."}),(0,J.jsx)(`p`,{className:`py-2`,children:`Star imports would also silently add names to globals, which would be incompatible with reactive execution.`}),(0,J.jsxs)(`p`,{className:`py-2`,children:[(0,J.jsxs)(L,{href:`https://links.marimo.app/errors-import-star`,children:[`Learn more at our docs`,` `,(0,J.jsx)(B,{size:`0.75rem`,className:`inline`})]}),`.`]})]})]},`import-star`)),S.length>0&&t.push((0,J.jsxs)(`div`,{children:[S.map(Yt),r&&(0,J.jsx)(Y,{errors:S,cellId:r})]},`interruption`)),C.length>0&&t.push((0,J.jsxs)(`ul`,{children:[C.map((e,t)=>{if(e.exception_type===`NameError`&&e.msg.startsWith(`name 'mo'`))return(0,J.jsx)(`li`,{className:`my-2`,children:(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`p`,{className:`text-muted-foreground`,children:`name 'mo' is not defined.`}),(0,J.jsxs)(`p`,{className:`text-muted-foreground mt-2`,children:[`The marimo module (imported as`,` `,(0,J.jsx)(R,{className:`inline`,children:`mo`}),`) is required for Markdown, SQL, and UI elements.`]})]})},`exception-${t}`);if(e.exception_type===`NameError`&&e.msg.startsWith(`name '_`)){let n=ke(e.msg);return(0,J.jsx)(`li`,{className:`my-2`,children:(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`p`,{className:`text-muted-foreground`,children:(0,J.jsx)(ct,{segments:n})}),(0,J.jsxs)(`p`,{className:`text-muted-foreground mt-2`,children:[`Variables prefixed with an underscore are local to a cell`,` `,`(`,(0,J.jsxs)(L,{href:`https://links.marimo.app/local-variables`,children:[`docs`,` `,(0,J.jsx)(B,{size:`0.75rem`,className:`inline`})]}),`).`]}),s&&(0,J.jsx)(`div`,{className:`text-muted-foreground mt-2`,children:`See the console area for a traceback.`})]})},`exception-${t}`)}return(0,J.jsx)(`li`,{className:`my-2`,children:e.raising_cell==null?(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`p`,{className:`text-muted-foreground`,children:Z(e.msg,`exception-${t}`)}),`traceback`in e&&e.traceback?(0,J.jsx)(Q,{traceback:e.traceback}):s&&(0,J.jsx)(`div`,{className:`text-muted-foreground mt-2`,children:`See the console area for a traceback.`})]}):(0,J.jsxs)(`div`,{children:[Z(e.msg,`exception-${t}`),(0,J.jsx)(z,{cellId:e.raising_cell}),`traceback`in e&&e.traceback&&(0,J.jsx)(Q,{traceback:e.traceback})]})},`exception-${t}`)}),C.some(Xt)&&(0,J.jsx)($,{children:`Fix the error in the mentioned cells, or handle the exceptions with try/except blocks.`}),r&&(0,J.jsx)(Y,{errors:C,cellId:r})]},`exception`)),w.length>0&&t.push((0,J.jsxs)(`ul`,{children:[w.map(Zt),r&&(0,J.jsx)(Y,{errors:w,cellId:r}),(0,J.jsx)($,{children:w.some(Qt)?`Ensure that the referenced cells define the required variables, or turn off strict execution.`:`Something is wrong with your declarations. Fix any discrepancies, or turn off strict execution.`})]},`strict-exception`)),T.length>0&&t.push((0,J.jsxs)(`div`,{children:[T.map($t),r&&(0,J.jsx)(Y,{errors:T,cellId:r})]},`internal`)),E.length>0&&t.push((0,J.jsxs)(`div`,{children:[E.map(en),r&&(0,J.jsx)(Y,{errors:E,cellId:r})]},`ancestor-prevented`)),D.length>0&&t.push((0,J.jsxs)(`div`,{children:[D.map(tn),r&&(0,J.jsx)(Y,{errors:D,cellId:r})]},`ancestor-stopped`)),A.length>0&&t.push((0,J.jsxs)(`div`,{children:[A.map(nn),r&&(0,J.jsx)(Y,{errors:A,cellId:r,className:`mt-2.5`})]},`sql-errors`)),t},M;t[19]===f?M=t[20]:(M=f&&(0,J.jsxs)(`div`,{className:`flex items-center gap-1 font-code text-[0.6875rem] uppercase tracking-wider text-muted-foreground/70`,children:[f,(0,J.jsx)(F,{content:`marimo didn't run this cell because it detected an error.`,delayDuration:200,children:(0,J.jsx)(y,{className:`size-3 cursor-help`})})]}),t[19]=f,t[20]=M);let N;t[21]!==u||t[22]!==c?(N=c&&(0,J.jsx)(xe,{className:`font-code font-medium ${u}`,children:c}),t[21]=u,t[22]=c,t[23]=N):N=t[23];let P;t[24]!==M||t[25]!==N?(P=(0,J.jsxs)(`div`,{className:`space-y-0.5`,children:[M,N]}),t[24]=M,t[25]=N,t[26]=P):P=t[26];let re=P;p=Se,_=l,t[27]===a?v=t[28]:(v=ee(`border-none font-code text-sm text-[0.84375rem] p-0 text-muted-foreground normal has-[svg]:pl-0 space-y-2`,a),t[27]=a,t[28]=v),b=re,m=`flex flex-col gap-4`,g=ne(),t[2]=l,t[3]=r,t[4]=o,t[5]=a,t[6]=n,t[7]=s,t[8]=f,t[9]=u,t[10]=c,t[11]=p,t[12]=m,t[13]=g,t[14]=_,t[15]=v,t[16]=b}else p=t[11],m=t[12],g=t[13],_=t[14],v=t[15],b=t[16];let x;t[29]!==m||t[30]!==g?(x=(0,J.jsx)(`div`,{className:m,children:g}),t[29]=m,t[30]=g,t[31]=x):x=t[31];let S;return t[32]!==p||t[33]!==_||t[34]!==v||t[35]!==b||t[36]!==x?(S=(0,J.jsxs)(p,{variant:_,className:v,children:[b,x]}),t[32]=p,t[33]=_,t[34]=v,t[35]=b,t[36]=x,t[37]=S):S=t[37],S};function bt(e){return e.type===`interruption`}function xt(e){return e.type===`internal`}function St(e){return e.type===`ancestor-prevented`}function Ct(e){return e.type===`ancestor-stopped`}function wt(e){return e.type===`sql-error`}function Tt(e){return e.type===`multiple-defs`||e.type===`cycle`||e.type===`setup-refs`||e.type===`import-star`}function Et(e){return e.type===`exception`}function Dt(e){return e.type===`setup-refs`}function Ot(e){return e.type===`cycle`}function kt(e){return e.type===`multiple-defs`}function At(e){return e.type===`import-star`}function jt(e){return e.type===`interruption`}function Mt(e){return e.type===`exception`}function Nt(e){return e.type===`strict-exception`}function Pt(e){return e.type===`internal`}function Ft(e){return e.type===`ancestor-prevented`}function It(e){return e.type===`ancestor-stopped`}function Lt(e){return e.type===`syntax`}function Rt(e){return e.type===`unknown`}function zt(e){return e.type===`sql-error`}function Bt(e){return e.msg.includes(`!pip`)}function Vt(e){return e.msg.includes(`use os.subprocess`)}function Ht(e,t){return(0,J.jsx)(`pre`,{children:Z(e.msg,`syntax-${t}`)},`syntax-${t}`)}function Ut(e,t){return(0,J.jsx)(`pre`,{children:Z(e.msg,`unknown-${t}`)},`unknown-${t}`)}function Wt(e,t){return e.edges_with_vars.map((e,n)=>(0,J.jsxs)(`li`,{className:`my-0.5 ml-8 text-muted-foreground/40`,children:[(0,J.jsx)(z,{cellId:e[0]}),(0,J.jsxs)(`span`,{className:`text-muted-foreground`,children:[`: `,` `,e[1].length===1?e[1][0]:e[1].join(`, `)]})]},`setup-refs-${t}-${n}`))}function Gt(e,t){return e.edges_with_vars.map((e,n)=>(0,J.jsxs)(`li`,{className:`my-0.5 ml-8 text-muted-foreground/40`,children:[(0,J.jsx)(z,{cellId:e[0]}),(0,J.jsxs)(`span`,{className:`text-muted-foreground`,children:[` -> `,e[1].length===1?e[1][0]:e[1].join(`, `),` -> `]}),(0,J.jsx)(z,{cellId:e[2]})]},`cycle-${t}-${n}`))}function Kt(e,t){return(0,J.jsx)(`li`,{className:`my-0.5 ml-8 text-muted-foreground/40`,children:(0,J.jsx)(z,{cellId:e})},`cell-${t}`)}function qt(e,t){return(0,J.jsxs)(V.Fragment,{children:[(0,J.jsx)(`p`,{className:`text-muted-foreground mt-2`,children:`'${e.name}' was also defined by:`}),(0,J.jsx)(`ul`,{className:`list-disc`,children:e.cells.map(Kt)})]},`multiple-defs-${t}`)}function Jt(e,t){return(0,J.jsx)(`p`,{className:`text-muted-foreground`,children:e.msg},`import-star-${t}`)}function Yt(e,t){return(0,J.jsx)(`p`,{children:`This cell was interrupted and needs to be re-run.`},`interruption-${t}`)}function Xt(e){return e.raising_cell!=null}function Zt(e,t){return(0,J.jsx)(`li`,{className:`my-2`,children:e.blamed_cell==null?(0,J.jsx)(`p`,{children:e.msg}):(0,J.jsxs)(`div`,{children:[e.msg,(0,J.jsx)(z,{cellId:e.blamed_cell})]})},`strict-exception-${t}`)}function Qt(e){return e.blamed_cell!=null}function $t(e,t){return(0,J.jsx)(`p`,{children:e.msg},`internal-${t}`)}function en(e,t){return(0,J.jsxs)(`div`,{children:[e.msg,e.blamed_cell==null?(0,J.jsxs)(`span`,{children:[`(`,(0,J.jsx)(z,{cellId:e.raising_cell}),`)`]}):(0,J.jsxs)(`span`,{children:[`(`,(0,J.jsx)(z,{cellId:e.raising_cell}),`\xA0blames\xA0`,(0,J.jsx)(z,{cellId:e.blamed_cell}),`)`]})]},`ancestor-prevented-${t}`)}function tn(e,t){return(0,J.jsxs)(`div`,{children:[e.msg,(0,J.jsx)(z,{cellId:e.raising_cell})]},`ancestor-stopped-${t}`)}function nn(e,t){return(0,J.jsx)(`div`,{className:`space-y-2 mt-2`,children:(0,J.jsx)(`p`,{className:`text-muted-foreground whitespace-pre-wrap`,children:e.msg})},`sql-error-${t}`)}export{Te as S,He as _,nt as a,Ae as b,Re as c,We as d,Ke as f,Fe as g,ze as h,at as i,K as l,Ue as m,vt as n,Qe as o,Ge as p,ct as r,Ye as s,yt as t,qe as u,Ve as v,ke as x,Be as y};