@marimo-team/islands 0.25.3-dev21 → 0.25.3-dev211
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.
- package/dist/{ConnectedDataExplorerComponent-DfG3PRaJ.js → ConnectedDataExplorerComponent-D6RHJV8D.js} +120 -116
- package/dist/{ErrorBoundary-ttSr7_91.js → ErrorBoundary-BpGAot_X.js} +16 -16
- package/dist/{abnfDiagram-VCTEODGH-B3w-XWX8.js → abnfDiagram-VCTEODGH-0q7Lbmii.js} +2 -2
- package/dist/any-language-editor-jGaR0EAo.js +75 -0
- package/dist/{architectureDiagram-5GKGNRK7-C18U9A6k.js → architectureDiagram-5GKGNRK7-1PydKPmE.js} +1 -1
- package/dist/{arrays-CN1djC4k.js → arrays-DoQ-AILx.js} +15 -27
- package/dist/assets/__vite-browser-external-CBRgnYY0.js +1 -0
- package/dist/assets/worker-DiPNP__U.js +113 -0
- package/dist/{button-CvjkwdSk.js → button-B6RjDKJx.js} +227 -217
- package/dist/{capabilities-CQ5IjhzL.js → capabilities-CkVzWJEX.js} +2 -2
- package/dist/{chat-ui-w8SVynkn.js → chat-ui-B5pH_aXk.js} +1277 -1275
- package/dist/{check-BMKBBrdc.js → check-Z_vtI3OL.js} +1 -1
- package/dist/{chunk-IMKFNOWR-CrS5bzqW.js → chunk-IMKFNOWR-DEzZZ1Zc.js} +1 -1
- package/dist/{chunk-SHT3W25Y-StpvPvUG.js → chunk-SHT3W25Y-CuHj-hnn.js} +1 -1
- package/dist/{chunk-SVP7TREG-CBXjbYZC.js → chunk-SVP7TREG-BPiZK2bA.js} +1 -1
- package/dist/{chunk-TICWLB2K-Dp6bIb-q.js → chunk-TICWLB2K-DF6XcIjM.js} +1 -1
- package/dist/{chunk-YOKDWASO-DPZk8vhS.js → chunk-YOKDWASO-DKplTrBY.js} +20 -20
- package/dist/{classDiagram-ZZMXUADV-BFYuxV5g.js → classDiagram-ZZMXUADV-CMdR-cP4.js} +2 -2
- package/dist/{classDiagram-v2-VYDZK3BY-D_tjXVMl.js → classDiagram-v2-VYDZK3BY-DRvc3_7Y.js} +2 -2
- package/dist/code-visibility-B5trOyTh.js +134 -0
- package/dist/{common-CeebhhhO.js → common-BiM3Xm_d.js} +9837 -9658
- package/dist/config-DbjzjwxX.js +636 -0
- package/dist/{copy-icon-BgUO8jsi.js → copy-icon-CG57cxwb.js} +3 -3
- package/dist/createReducer-DePYJ0F3.js +63 -0
- package/dist/{cynefinDiagram-5FMLGOSQ-DSgYrHB2.js → cynefinDiagram-5FMLGOSQ-BkBjEY9l.js} +1 -1
- package/dist/{dagre-GXQ25YYZ-GYlruCBf.js → dagre-GXQ25YYZ-D-HEaW4I.js} +1 -1
- package/dist/{data-grid-overlay-editor-vxQ4E6k1.js → data-grid-overlay-editor-GxGkM-Al.js} +5 -5
- package/dist/{data-grid-types-BH_r7g7l.js → data-grid-types-0PJ-9N5n.js} +1 -1
- package/dist/{diagram-S7CK7UJ4-DRu5LX5_.js → diagram-S7CK7UJ4-Bn-oF-rB.js} +1 -1
- package/dist/{diagram-UQ7AKVKN-DD7uiejP.js → diagram-UQ7AKVKN-BpzzXWBj.js} +1 -1
- package/dist/{diagram-VX7I27RA-ByH9KAJJ.js → diagram-VX7I27RA-COOtvfBP.js} +1 -1
- package/dist/{diagram-Z3DM3KII-BsQHPRke.js → diagram-Z3DM3KII-K5cXvbrl.js} +1 -1
- package/dist/{dialog-Cc479ZEH.js → dialog-DsZ49mmU.js} +26 -26
- package/dist/{dist-Bvs24R_E.js → dist-11T5wq3_.js} +31 -30
- package/dist/{dist-F8Ep36rk.js → dist-17ugwGZc.js} +59 -58
- package/dist/{dist-BMQf5zIS.js → dist-7cRjf--y.js} +123 -122
- package/dist/{dist-diIx5qJW.js → dist-B8pkfkzc.js} +31 -30
- package/dist/{dist-CN_BeG2I.js → dist-B9UoM_wq.js} +58 -57
- package/dist/{dist-CLdpGQVr.js → dist-BGuMTs1i.js} +118 -117
- package/dist/{dist-BK4Oj99o.js → dist-BHW11fni.js} +18 -17
- package/dist/dist-BLY4m1Wi.js +850 -0
- package/dist/{dist-PXYI_yuP.js → dist-BNlcVoxs.js} +24 -23
- package/dist/{dist-D6d86eNJ.js → dist-BQYe5Bju.js} +47 -46
- package/dist/{dist-CkTTIdBe.js → dist-BX1mn8na.js} +337 -337
- package/dist/{dist-DiDibOYr.js → dist-Bh0PTKUW.js} +151 -150
- package/dist/{dist-CSJ0MDRw.js → dist-CKaXK92p.js} +56 -55
- package/dist/{dist-C8fAKSH1.js → dist-CLhwfhpJ.js} +53 -52
- package/dist/{dist-DoE4XJBC.js → dist-CYeqK4Xw.js} +9801 -10649
- package/dist/{dist-BLfKmR-l.js → dist-Cxlp3WH6.js} +16 -15
- package/dist/{dist-D-wwqlzJ.js → dist-DSJPGj42.js} +158 -157
- package/dist/{dist-BorMD-uX.js → dist-DU9ICsWZ.js} +75 -74
- package/dist/{dist-DBtSl3sf.js → dist-DWv0ALBi.js} +47 -46
- package/dist/{dist-OR1OnN-y.js → dist-DiBpWEsB.js} +31 -30
- package/dist/{dist-CrSP_H1M.js → dist-DiLFTlnl.js} +242 -242
- package/dist/{dist-DpBpA_n1.js → dist-Lm-D-Vr6.js} +3 -3
- package/dist/{dist-CSbh1PNP.js → dist-cVDV5IuI.js} +23 -22
- package/dist/{dist-BuaRHxOc.js → dist-fRfaOoq8.js} +44 -43
- package/dist/{dist-Cg7gzw-a.js → dist-gTTI-9Px.js} +78 -77
- package/dist/dropdown-menu-CSNdPSnS.js +6083 -0
- package/dist/{ebnfDiagram-PWID7BFC-CQRK5_eT.js → ebnfDiagram-PWID7BFC-BI1ZmjVm.js} +2 -2
- package/dist/{erDiagram-RLTQ6QDP-BKtWrDVh.js → erDiagram-RLTQ6QDP-BtWjj9xy.js} +1 -1
- package/dist/{error-banner-CFPHFw4h.js → error-banner-IsonnvA0.js} +84 -83
- package/dist/error-entries-CRPfxMqm.js +2505 -0
- package/dist/{esm-D2gTsXEV.js → esm-BgKjMvWw.js} +530 -529
- package/dist/{esm-AMFssoNp.js → esm-CHjVSexr.js} +328 -329
- package/dist/feedback-button-CAxVqhvl.js +374 -0
- package/dist/{flowDiagram-HODETNUW-1IN-ih2E.js → flowDiagram-HODETNUW-DQvZh96A.js} +2 -2
- package/dist/{formats-X4mMQWzX.js → formats-BK4VefeF.js} +6 -6
- package/dist/{ganttDiagram-EL5Y4UJY-BQT16JSc.js → ganttDiagram-EL5Y4UJY-Dh_4cBJZ.js} +2 -2
- package/dist/{glide-data-editor-CSYHMRDu.js → glide-data-editor-CBX2wLtn.js} +417 -415
- package/dist/{glide-utils-DM9zBO4W.js → glide-utils-CQddGpa-.js} +16 -16
- package/dist/{globals-Fpiwkv4D.js → globals-DuCA4LSq.js} +3 -3
- package/dist/{highlighted-body-KPVGNVTW-zwjq21tf.js → highlighted-body-KPVGNVTW-3Ziwfz-V.js} +2 -2
- package/dist/{error-entries-Damuuclv.js → html-to-image-CgAnxFi8.js} +26911 -26769
- package/dist/{infoDiagram-27XIBGKW-CkB-zr4p.js → infoDiagram-27XIBGKW-BdAObnc_.js} +1 -1
- package/dist/{ishikawaDiagram-5VMMS53U-wlyLjBmM.js → ishikawaDiagram-5VMMS53U-DP-jE8dw.js} +1 -1
- package/dist/{kanban-definition-UXKFOSKX-C2usY0i-.js → kanban-definition-UXKFOSKX-BkMgPjfm.js} +1 -1
- package/dist/{linear-Cnaq3Tfb.js → linear-DWERh7eI.js} +121 -73
- package/dist/{loader-BQOfjTIJ.js → loader-BisjOLiW.js} +12 -12
- package/dist/main.js +10128 -8127
- package/dist/{mermaid-BA-Z6wGL.js → mermaid-B-OFqheA.js} +52 -52
- package/dist/mermaid-HWGCJPDP-Du3-HPQA.js +2 -0
- package/dist/{mindmap-definition-YA3MSWOX-nKOWS8RR.js → mindmap-definition-YA3MSWOX-Du7toAZX.js} +1 -1
- package/dist/{number-overlay-editor-BOjqsq7D.js → number-overlay-editor-KvS7Rgw9.js} +3 -3
- package/dist/{dist-CN8zI-XC.js → objectWithoutPropertiesLoose-ai5NUqGa.js} +262 -240
- package/dist/{objects-CzUgoMIF.js → objects-DCmMvZtn.js} +1 -3
- package/dist/{once-BtE-wKRL.js → once-NnpX_HnX.js} +1 -1
- package/dist/{pegDiagram-XKGWAZYB-Dac9EIKD.js → pegDiagram-XKGWAZYB-CX_729j0.js} +2 -2
- package/dist/{pieDiagram-E7YTZNPT-B7S-DsW_.js → pieDiagram-E7YTZNPT-dtTFJcVI.js} +1 -1
- package/dist/precisionRound-DhAzeRcm.js +49 -0
- package/dist/{process-output-CTPTtxXB.js → process-output-Bmev5azU.js} +4 -4
- package/dist/{quadrantDiagram-AXDQQJYC-Ccw0xMjN.js → quadrantDiagram-AXDQQJYC-Blrm7V7_.js} +1 -1
- package/dist/{railroadDiagram-O6MQD6OU-Cfa5Q-hr.js → railroadDiagram-O6MQD6OU-Dsc2Cf4c.js} +2 -2
- package/dist/{react-vega-BED0DjiB.js → react-vega-C4T9Rb_w.js} +12284 -12270
- package/dist/{requirementDiagram-BXWQKSXE-d8zXCJIk.js → requirementDiagram-BXWQKSXE-D3g0c60I.js} +1 -1
- package/dist/{reveal-component-Brpo7CP8.js → reveal-component-CqBvRKJz.js} +426 -403
- package/dist/schemas-CdscWNy_.js +4747 -0
- package/dist/select-BSxlITBo.js +1200 -0
- package/dist/{sequenceDiagram-WJ2MYXX4-b6pei3lJ.js → sequenceDiagram-WJ2MYXX4-w1pWbIpk.js} +1 -1
- package/dist/{spec-BJzgmvVa.js → spec-Dq8RNplp.js} +41 -11
- package/dist/{stateDiagram-D77RDMKH-Be-xSpaZ.js → stateDiagram-D77RDMKH-BCv7kP4H.js} +2 -2
- package/dist/{stateDiagram-v2-MP3YSRHH-5Y-FxesJ.js → stateDiagram-v2-MP3YSRHH-D1cTOt0x.js} +2 -2
- package/dist/static-state-BldGd99T.js +72 -0
- package/dist/strings-BGW-fXVJ.js +507 -0
- package/dist/style.css +1 -1
- package/dist/{swimlanes-42K2YHIH-nRRl4NU0.js → swimlanes-42K2YHIH-DNO6jDnd.js} +1 -1
- package/dist/{swimlanesDiagram-VR7AAH4N-BS79510V.js → swimlanesDiagram-VR7AAH4N-CkSWsxYJ.js} +2 -2
- package/dist/{swiper-component-DKntyn8p.js → swiper-component-Dir1o8ml.js} +2 -2
- package/dist/{time-BieKwdYS.js → time-BaMbJs4z.js} +18 -18
- package/dist/{timeline-definition-24CTP7MA-Cfzf8WPf.js → timeline-definition-24CTP7MA-DQvqGFM9.js} +1 -1
- package/dist/toast-BWIPi3aF.js +491 -0
- package/dist/{tooltip-CtBZ5q8p.js → tooltip-C3UnvsRe.js} +329 -305
- package/dist/use-restore-focus-BWO0z1lo.js +1672 -0
- package/dist/{useAsyncData-BD534XmW.js → useAsyncData-DsZMvNXn.js} +15 -14
- package/dist/{useDateFormatter-DkajGwwd.js → useDateFormatter-ChB4eyim.js} +2 -2
- package/dist/{useDeepCompareMemoize-C72_RNsu.js → useDeepCompareMemoize-KMBBux8C.js} +1 -1
- package/dist/{useIframeCapabilities-DBETvvPl.js → useIframeCapabilities-cMNQ80CK.js} +1 -1
- package/dist/useLifecycle-BquH9ET-.js +112 -0
- package/dist/useTheme-B9C1JIy9.js +307 -0
- package/dist/utils-DXkj82sK.js +813 -0
- package/dist/{vega-component-DfcYgj-Y.js → vega-component-9NOEITbg.js} +170 -169
- package/dist/{vega-embed-container-BNHE18G9.js → vega-embed-container--LYZqguO.js} +2 -2
- package/dist/{vega-loader.browser-DNST6uVf.js → vega-loader.browser-B9Pz0EGP.js} +298 -507
- package/dist/{vennDiagram-4TSXK5OY-CeY6Z1xZ.js → vennDiagram-4TSXK5OY-BfzXp4SH.js} +1 -1
- package/dist/{wardleyDiagram-VM6X3IG4-Cxs9NtVi.js → wardleyDiagram-VM6X3IG4-CiqEE8eq.js} +1 -1
- package/dist/{xychartDiagram-S5SC5T6Z-DNWbvPK7.js → xychartDiagram-S5SC5T6Z-BTIHCVOI.js} +2 -2
- package/package.json +16 -20
- package/src/__mocks__/document.tsx +63 -0
- package/src/__mocks__/notebook.ts +3 -4
- package/src/__mocks__/partial.ts +26 -0
- package/src/__mocks__/requests.ts +1 -4
- package/src/__tests__/main.test.tsx +24 -1
- package/src/__tests__/module-entry.test.ts +44 -0
- package/src/__tests__/mount.test.ts +1 -21
- package/src/__tests__/{host-imports.test.ts → replica-imports.test.ts} +12 -11
- package/src/components/ai/__tests__/ai-model-dropdown.test.tsx +63 -0
- package/src/components/ai/ai-model-dropdown.tsx +11 -6
- package/src/components/app-config/ai-config.tsx +7 -2
- package/src/components/app-config/app-config-form.tsx +5 -9
- package/src/components/app-config/user-config-form.tsx +35 -56
- package/src/components/chat/__tests__/message-queue.test.tsx +17 -0
- package/src/components/chat/__tests__/notebook-access-selector.test.tsx +64 -0
- package/src/components/chat/acp/__tests__/session-tabs.test.tsx +43 -0
- package/src/components/chat/acp/__tests__/state.test.ts +2 -2
- package/src/components/chat/acp/blocks.tsx +3 -2
- package/src/components/chat/acp/session-tabs.tsx +8 -3
- package/src/components/chat/chat-components.tsx +2 -0
- package/src/components/chat/chat-panel.tsx +20 -101
- package/src/components/chat/chat-utils.ts +4 -8
- package/src/components/chat/notebook-access-selector.stories.tsx +22 -0
- package/src/components/chat/notebook-access-selector.tsx +100 -0
- package/src/components/data-table/TableBottomBar.tsx +4 -1
- package/src/components/data-table/TableTopBar.tsx +2 -0
- package/src/components/data-table/__tests__/chart-spec-model.test.ts +195 -195
- package/src/components/data-table/__tests__/column-explorer.test.tsx +27 -1
- package/src/components/data-table/__tests__/columns.test.tsx +105 -0
- package/src/components/data-table/__tests__/context-menu-interaction.test.tsx +130 -0
- package/src/components/data-table/__tests__/data-table.test.tsx +1 -0
- package/src/components/data-table/__tests__/date-popover.test.tsx +72 -0
- package/src/components/data-table/__tests__/export-actions.test.tsx +105 -0
- package/src/components/data-table/__tests__/keyboard-selection.test.tsx +188 -0
- package/src/components/data-table/__tests__/pagination.test.tsx +28 -1
- package/src/components/data-table/__tests__/search-highlight.test.tsx +109 -0
- package/src/components/data-table/__tests__/url-detector.test.tsx +74 -0
- package/src/components/data-table/cell-selection/feature.ts +2 -2
- package/src/components/data-table/cell-selection/types.ts +2 -2
- package/src/components/data-table/charts/__tests__/chart-panel.test.tsx +74 -1
- package/src/components/data-table/charts/__tests__/spec-snapshot.test.ts +20 -20
- package/src/components/data-table/charts/__tests__/spec.test.ts +78 -52
- package/src/components/data-table/charts/__tests__/storage.test.ts +4 -1
- package/src/components/data-table/charts/chart-spec/spec.ts +68 -43
- package/src/components/data-table/charts/charts.tsx +40 -30
- package/src/components/data-table/charts/storage.ts +16 -5
- package/src/components/data-table/column-explorer-panel/column-explorer.tsx +1 -1
- package/src/components/data-table/column-summary/chart-spec-model.tsx +23 -16
- package/src/components/data-table/column-summary/column-summary.tsx +2 -4
- package/src/components/data-table/column-visibility-dropdown.tsx +8 -13
- package/src/components/data-table/columns.tsx +45 -46
- package/src/components/data-table/context-menu.tsx +36 -20
- package/src/components/data-table/data-table.tsx +17 -1
- package/src/components/data-table/date-popover.tsx +6 -4
- package/src/components/data-table/export-actions.tsx +76 -48
- package/src/components/data-table/pagination.tsx +44 -33
- package/src/components/data-table/range-focus/atoms.ts +4 -6
- package/src/components/data-table/range-focus/use-cell-range-selection.ts +65 -38
- package/src/components/data-table/range-focus/use-scroll-into-view.ts +21 -2
- package/src/components/data-table/renderers.tsx +16 -7
- package/src/components/data-table/row-viewer-panel/__tests__/row-viewer.test.tsx +24 -1
- package/src/components/data-table/row-viewer-panel/row-viewer.tsx +4 -4
- package/src/components/data-table/search-highlight.tsx +79 -0
- package/src/components/data-table/types.ts +1 -0
- package/src/components/data-table/url-detector.tsx +49 -9
- package/src/components/datasources/__tests__/column-actions.test.tsx +97 -0
- package/src/components/datasources/__tests__/column-preview.test.tsx +96 -5
- package/src/components/datasources/__tests__/datasources-interactions.test.tsx +181 -0
- package/src/components/datasources/__tests__/table-list.test.tsx +118 -0
- package/src/components/datasources/__tests__/utils.test.ts +57 -6
- package/src/components/datasources/column-preview.tsx +17 -12
- package/src/components/datasources/datasources.tsx +56 -43
- package/src/components/datasources/utils.ts +32 -23
- package/src/components/debugger/debugger-code.tsx +5 -0
- package/src/components/dependency-graph/custom-node.tsx +1 -1
- package/src/components/dependency-graph/dependency-graph-tree.tsx +8 -8
- package/src/components/dependency-graph/elements.ts +24 -21
- package/src/components/dependency-graph/minimap-content.tsx +13 -19
- package/src/components/dependency-graph/panels.tsx +4 -2
- package/src/components/dependency-graph/utils/__tests__/layout.test.ts +18 -11
- package/src/components/editor/SortableCell.tsx +1 -3
- package/src/components/editor/__tests__/Output.test.tsx +50 -32
- package/src/{core/attachments/__tests__/toast.test.tsx → components/editor/__tests__/agent-toast.test.tsx} +1 -1
- package/src/components/editor/__tests__/data-attributes.test.tsx +28 -14
- package/src/components/editor/__tests__/dynamic-favicon.test.tsx +111 -18
- package/src/components/editor/__tests__/output-persistence.test.tsx +6 -2
- package/src/components/editor/__tests__/package-alert.test.tsx +22 -1
- package/src/components/editor/actions/__tests__/name-cell-input.test.tsx +69 -0
- package/src/components/editor/actions/__tests__/pair-with-agent-modal.test.tsx +34 -8
- package/src/components/editor/actions/__tests__/pair-with-agent.test.tsx +2 -6
- package/src/components/editor/actions/__tests__/useCellActionButton.test.tsx +113 -0
- package/src/components/editor/actions/name-cell-input.tsx +4 -3
- package/src/components/editor/actions/pair-with-agent-commands.ts +2 -2
- package/src/components/editor/actions/pair-with-agent-modal.tsx +19 -16
- package/src/components/editor/actions/useCellActionButton.tsx +36 -31
- package/src/components/editor/actions/useConfigActions.tsx +3 -4
- package/src/components/editor/actions/useNotebookActions.tsx +19 -23
- package/src/components/editor/actions/useRestartKernel.tsx +1 -1
- package/src/components/editor/actions/useSetCodeVisibility.ts +11 -12
- package/src/components/editor/actions/useSetOutputsExpanded.ts +14 -19
- package/src/components/editor/ai/add-cell-with-ai.tsx +3 -3
- package/src/components/editor/ai/ai-completion-editor.tsx +1 -0
- package/src/components/editor/alerts/__tests__/connection-notice.test.tsx +1 -1
- package/src/components/editor/alerts/connection-notice.tsx +1 -1
- package/src/components/editor/alerts/startup-logs-alert.tsx +1 -0
- package/src/components/editor/alerts/stdin-blocking-alert.tsx +1 -1
- package/src/components/editor/app-container.tsx +1 -1
- package/src/components/editor/boundary/__tests__/ErrorBoundary.test.tsx +1 -1
- package/src/components/editor/cell/CreateCellButton.tsx +15 -21
- package/src/components/editor/cell/DeleteButton.tsx +3 -2
- package/src/components/editor/cell/RunButton.tsx +2 -2
- package/src/components/editor/cell/StagedAICell.tsx +10 -2
- package/src/components/editor/cell/StopButton.tsx +2 -2
- package/src/components/editor/cell/__tests__/StagedAICell.test.tsx +4 -2
- package/src/components/editor/cell/__tests__/useShouldShowInterrupt.test.ts +39 -0
- package/src/components/editor/cell/cell-actions.tsx +12 -1
- package/src/components/editor/cell/code/__tests__/language-toggle.test.tsx +54 -0
- package/src/components/editor/cell/code/cell-editor.tsx +46 -165
- package/src/components/editor/cell/code/language-toggle.tsx +8 -7
- package/src/components/editor/cell/collapse.tsx +11 -4
- package/src/components/editor/cell/useAddCell.ts +4 -8
- package/src/components/editor/cell/useDeleteCell.tsx +10 -36
- package/src/components/editor/cell/useRunCells.ts +2 -5
- package/src/components/editor/cell/useShouldShowInterrupt.ts +2 -12
- package/src/components/editor/cell/useSplitCell.tsx +10 -6
- package/src/components/editor/chrome/components/__tests__/feedback-button.test.tsx +1 -1
- package/src/components/editor/chrome/components/feedback-button.tsx +2 -8
- package/src/components/editor/chrome/panels/__tests__/packages-panel.test.tsx +31 -2
- package/src/components/editor/chrome/panels/__tests__/runtime-details.test.tsx +1 -1
- package/src/components/editor/chrome/panels/__tests__/sandbox-recovery.test.tsx +1 -1
- package/src/components/editor/chrome/panels/cache-panel.tsx +1 -0
- package/src/components/editor/chrome/panels/dependency-graph-panel.tsx +1 -1
- package/src/components/editor/chrome/panels/logs-panel.tsx +2 -1
- package/src/components/editor/chrome/panels/outline/__tests__/outline-keyboard.test.tsx +84 -0
- package/src/components/editor/chrome/panels/outline/floating-outline.tsx +39 -14
- package/src/components/editor/chrome/panels/outline/useActiveOutline.tsx +3 -2
- package/src/components/editor/chrome/panels/packages-panel.tsx +4 -7
- package/src/components/editor/chrome/panels/secrets-panel.tsx +1 -0
- package/src/components/editor/chrome/panels/session-panel.tsx +1 -1
- package/src/components/editor/chrome/panels/snippets-panel.tsx +10 -12
- package/src/components/editor/chrome/panels/variable-panel.tsx +1 -5
- package/src/components/editor/chrome/wrapper/__tests__/attachment-status.test.tsx +6 -9
- package/src/components/editor/chrome/wrapper/__tests__/document-sync-status.test.tsx +92 -0
- package/src/components/editor/chrome/wrapper/__tests__/pending-ai-cells.test.tsx +62 -3
- package/src/components/editor/chrome/wrapper/footer-items/attachment-status.tsx +4 -4
- package/src/components/editor/chrome/wrapper/footer-items/backend-status.tsx +1 -1
- package/src/components/editor/chrome/wrapper/footer-items/document-sync-status.tsx +54 -0
- package/src/components/editor/chrome/wrapper/footer-items/lsp-status.tsx +1 -1
- package/src/components/editor/chrome/wrapper/footer-items/machine-stats.tsx +1 -1
- package/src/components/editor/chrome/wrapper/footer-items/runtime-settings.tsx +1 -7
- package/src/components/editor/chrome/wrapper/footer.tsx +2 -2
- package/src/components/editor/chrome/wrapper/minimap-state.ts +1 -1
- package/src/components/editor/chrome/wrapper/pending-ai-cells.tsx +12 -2
- package/src/components/editor/chrome/wrapper/storage.ts +1 -1
- package/src/components/editor/columns/__tests__/cell-column.test.tsx +1 -1
- package/src/components/editor/columns/cell-column.tsx +1 -1
- package/src/components/editor/columns/sortable-column.tsx +2 -2
- package/src/components/editor/connections/components.tsx +5 -10
- package/src/components/editor/controls/Controls.tsx +4 -4
- package/src/components/editor/controls/__tests__/command-palette.test.tsx +53 -0
- package/src/components/editor/controls/__tests__/keyboard-shortcuts.test.tsx +61 -0
- package/src/components/editor/controls/__tests__/notebook-menu-dropdown.test.tsx +10 -4
- package/src/components/editor/controls/command-palette.tsx +22 -10
- package/src/components/editor/controls/keyboard-shortcuts.tsx +14 -5
- package/src/components/editor/documentation.css +34 -11
- package/src/components/editor/dynamic-favicon.tsx +21 -40
- package/src/components/editor/errors/__tests__/send-error-report-button.test.tsx +25 -20
- package/src/components/editor/errors/auto-fix.tsx +4 -8
- package/src/components/editor/errors/send-error-report-button.tsx +3 -6
- package/src/components/editor/file-tree/__tests__/file-explorer-interactions.test.tsx +6 -0
- package/src/components/editor/file-tree/__tests__/file-explorer-navigation.test.tsx +47 -0
- package/src/components/editor/file-tree/__tests__/use-file-search.test.tsx +91 -0
- package/src/components/editor/file-tree/file-explorer.tsx +48 -15
- package/src/components/editor/file-tree/file-name-input.tsx +1 -0
- package/src/components/editor/file-tree/file-viewer.tsx +4 -2
- package/src/components/editor/file-tree/use-file-search.ts +35 -21
- package/src/components/editor/header/__tests__/filename-form.test.tsx +1 -4
- package/src/components/editor/header/__tests__/status.test.tsx +5 -3
- package/src/components/editor/header/app-header.tsx +1 -1
- package/src/components/editor/header/filename-form.tsx +1 -1
- package/src/components/editor/header/status.tsx +40 -20
- package/src/components/editor/links/__tests__/cell-link.test.tsx +148 -0
- package/src/components/editor/links/cell-link-list.tsx +1 -1
- package/src/components/editor/links/cell-link.tsx +17 -7
- package/src/components/editor/navigation/__tests__/clipboard.test.ts +60 -38
- package/src/components/editor/navigation/__tests__/navigation.test.ts +108 -85
- package/src/components/editor/navigation/__tests__/selection.test.ts +43 -21
- package/src/components/editor/navigation/clipboard.ts +17 -14
- package/src/components/editor/navigation/focus-utils.ts +23 -4
- package/src/components/editor/navigation/multi-cell-action-toolbar.tsx +17 -33
- package/src/components/editor/navigation/navigation.ts +71 -70
- package/src/components/editor/navigation/selection.ts +30 -29
- package/src/components/editor/notebook-banner.tsx +1 -0
- package/src/components/editor/notebook-cell.tsx +29 -32
- package/src/components/editor/output/MarimoErrorOutput.tsx +2 -1
- package/src/components/editor/output/MarimoTracebackOutput.tsx +19 -17
- package/src/components/editor/output/Outputs.css +8 -0
- package/src/components/editor/output/__tests__/traceback.test.tsx +27 -1
- package/src/components/editor/output/ansi-reduce.ts +33 -20
- package/src/components/editor/output/console/ConsoleOutput.tsx +19 -25
- package/src/components/editor/output/console/__tests__/ConsoleOutput.test.tsx +125 -69
- package/src/components/editor/package-alert.tsx +14 -7
- package/src/components/editor/renderers/cell-array.tsx +22 -33
- package/src/components/editor/renderers/grid-layout/grid-layout.tsx +12 -6
- package/src/components/editor/renderers/slides-layout/__tests__/plugin.test.ts +0 -1
- package/src/components/editor/renderers/slides-layout/slides-layout.tsx +1 -1
- package/src/components/editor/renderers/vertical-layout/__tests__/useFocusFirstEditor.test.ts +4 -4
- package/src/components/editor/renderers/vertical-layout/sidebar/toggle.tsx +7 -1
- package/src/components/editor/renderers/vertical-layout/useFocusFirstEditor.ts +1 -1
- package/src/components/editor/renderers/vertical-layout/vertical-layout.tsx +1 -1
- package/src/components/editor/stdin-blocking-alert.tsx +1 -1
- package/src/components/home/components.tsx +17 -31
- package/src/components/icons/__tests__/large-spinner.test.tsx +39 -0
- package/src/components/icons/large-spinner.tsx +3 -14
- package/src/components/icons/spinner.tsx +1 -1
- package/src/components/markdown/markdown-renderer.tsx +4 -8
- package/src/components/mcp/mcp-status-indicator.tsx +1 -1
- package/src/components/pages/__tests__/home-page.test.tsx +116 -0
- package/src/components/pages/edit-page.tsx +19 -17
- package/src/components/pages/home-page.tsx +164 -91
- package/src/components/scratchpad/scratchpad.test.tsx +89 -0
- package/src/components/scratchpad/scratchpad.tsx +43 -32
- package/src/components/scratchpad/state.ts +7 -0
- package/src/components/slides/__tests__/minimap-actions.test.tsx +22 -29
- package/src/components/slides/__tests__/minimap.test.ts +38 -19
- package/src/components/slides/__tests__/slide-scroll-hint.test.tsx +37 -0
- package/src/components/slides/minimap.tsx +17 -12
- package/src/components/slides/reveal-component.tsx +58 -26
- package/src/components/slides/reveal-slides.css +5 -4
- package/src/components/slides/slide-cell-view.tsx +4 -5
- package/src/components/slides/slide-form.tsx +1 -0
- package/src/components/slides/slide-scroll-hint.tsx +3 -1
- package/src/components/sort/SortableCellsProvider.tsx +8 -25
- package/src/components/tracing/tracing-keyboard.test.tsx +85 -0
- package/src/components/tracing/tracing.tsx +46 -42
- package/src/components/ui/__tests__/draggable-popover.test.tsx +24 -0
- package/src/components/ui/__tests__/range-slider.test.tsx +165 -0
- package/src/components/ui/alert-dialog.tsx +1 -1
- package/src/components/ui/draggable-popover.tsx +24 -2
- package/src/components/ui/range-slider.tsx +22 -9
- package/src/core/MarimoApp.tsx +1 -1
- package/src/core/ai/__tests__/staged-cells.test.ts +32 -33
- package/src/core/ai/context/providers/__tests__/cell-output.test.ts +8 -12
- package/src/core/ai/context/providers/cell-output.ts +2 -2
- package/src/core/ai/context/providers/datasource.ts +6 -2
- package/src/core/ai/staged-cells.ts +18 -19
- package/src/core/ai/tools/__tests__/edit-notebook-tool.test.ts +40 -88
- package/src/core/ai/tools/__tests__/registry.test.ts +17 -0
- package/src/core/ai/tools/base.ts +18 -15
- package/src/core/ai/tools/edit-notebook-tool.ts +86 -80
- package/src/core/ai/tools/registry.ts +13 -10
- package/src/core/ai/tools/sample-tool.ts +6 -7
- package/src/core/cells/__tests__/__snapshots__/cells.test.ts.snap +4 -37
- package/src/core/cells/__tests__/actions.test.ts +624 -35
- package/src/core/cells/__tests__/add-missing-import.test.ts +7 -8
- package/src/core/cells/__tests__/arrange.test.ts +432 -0
- package/src/core/cells/__tests__/cell.test.ts +39 -0
- package/src/core/cells/__tests__/cells.test.ts +251 -2540
- package/src/core/cells/__tests__/collapseConsoleOutputs.test.ts +54 -0
- package/src/core/cells/__tests__/document.test.ts +164 -0
- package/src/core/cells/__tests__/editor.test.ts +57 -0
- package/src/core/cells/__tests__/flush-document.test.ts +40 -0
- package/src/core/cells/__tests__/harness.ts +106 -0
- package/src/core/cells/__tests__/layout.test.ts +177 -0
- package/src/core/cells/__tests__/notebook-outline.test.ts +122 -0
- package/src/core/cells/__tests__/outputs.test.tsx +71 -53
- package/src/core/cells/__tests__/session.test.ts +445 -211
- package/src/core/cells/__tests__/utils.test.ts +9 -108
- package/src/core/cells/actions.ts +675 -6
- package/src/core/cells/add-missing-import.ts +47 -43
- package/src/core/cells/arrange.ts +529 -0
- package/src/core/cells/cell.ts +14 -3
- package/src/core/cells/cells.ts +126 -1363
- package/src/core/cells/columns.ts +38 -0
- package/src/core/cells/document.ts +178 -0
- package/src/core/cells/edit.ts +30 -0
- package/src/core/cells/editor.ts +82 -0
- package/src/core/cells/layout.ts +221 -0
- package/src/core/cells/outputs.ts +12 -28
- package/src/core/cells/pending-delete-service.ts +3 -7
- package/src/core/cells/session.ts +76 -53
- package/src/core/cells/types.ts +22 -6
- package/src/core/cells/utils.ts +10 -8
- package/src/core/codemirror/__tests__/format.test.ts +0 -34
- package/src/core/codemirror/__tests__/setup.test.ts +29 -29
- package/src/core/codemirror/ai/__tests__/resources.test.ts +117 -0
- package/src/core/codemirror/ai/resources.ts +1 -1
- package/src/core/codemirror/cells/__tests__/extensions.test.ts +2 -6
- package/src/core/codemirror/cells/extensions.ts +30 -28
- package/src/core/codemirror/cells/state.ts +1 -6
- package/src/core/codemirror/copilot/__tests__/getCodes.test.ts +6 -7
- package/src/core/codemirror/copilot/getCodes.ts +2 -2
- package/src/core/codemirror/format.ts +6 -23
- package/src/core/codemirror/keymaps/vim.ts +4 -8
- package/src/core/codemirror/language/__tests__/sql.test.ts +22 -20
- package/src/core/codemirror/language/__tests__/utils.test.ts +187 -15
- package/src/core/codemirror/language/cell-code.ts +114 -0
- package/src/core/codemirror/language/extension.ts +52 -35
- package/src/core/codemirror/language/languages/markdown.ts +8 -6
- package/src/core/codemirror/language/languages/python.ts +16 -10
- package/src/core/codemirror/language/languages/sql/sql.ts +16 -24
- package/src/core/codemirror/language/panel/panel.tsx +1 -0
- package/src/core/codemirror/language/types.ts +7 -7
- package/src/core/codemirror/language/utils.ts +9 -39
- package/src/core/codemirror/lsp/__tests__/notebook-lsp.test.ts +1 -2
- package/src/core/codemirror/lsp/notebook-lsp.ts +6 -5
- package/src/core/codemirror/lsp/utils.ts +1 -1
- package/src/core/codemirror/misc/__tests__/paste.test.ts +3 -1
- package/src/core/codemirror/misc/paste.ts +1 -1
- package/src/core/codemirror/readonly/__tests__/extension.test.ts +1 -1
- package/src/core/codemirror/readonly/extension.ts +2 -2
- package/src/core/codemirror/utils.ts +1 -0
- package/src/core/config/__tests__/app-config.test.ts +64 -0
- package/src/core/config/__tests__/config-schema.test.ts +13 -6
- package/src/core/config/config-schema.ts +13 -4
- package/src/core/config/config.ts +26 -12
- package/src/core/config/feature-flag.tsx +0 -2
- package/src/core/datasets/__tests__/data-source-discovery.test.ts +5 -5
- package/src/core/datasets/data-source-discovery.ts +4 -6
- package/src/core/documentation/doc-lookup.ts +1 -1
- package/src/core/edit-app.tsx +21 -28
- package/src/core/errors/error-entries.ts +4 -1
- package/src/core/export/hooks.ts +1 -1
- package/src/core/export/layout.ts +2 -2
- package/src/core/hotkeys/actions.ts +2 -4
- package/src/core/islands/__tests__/bootstrap.test.ts +69 -17
- package/src/core/islands/__tests__/bridge.test.ts +72 -25
- package/src/core/islands/bootstrap.ts +46 -53
- package/src/core/islands/bridge.ts +75 -24
- package/src/core/islands/components/__tests__/IslandControls.test.tsx +7 -5
- package/src/core/islands/components/web-components.tsx +1 -1
- package/src/core/islands/worker/__tests__/controller.test.ts +62 -4
- package/src/core/islands/worker/controller.ts +4 -10
- package/src/core/islands/worker/worker.tsx +33 -33
- package/src/core/kernel/__tests__/RuntimeState.test.ts +1 -1
- package/src/core/kernel/__tests__/handlers.test.ts +7 -153
- package/src/core/kernel/handlers.ts +19 -72
- package/src/core/meta/__tests__/code-visibility.test.tsx +78 -70
- package/src/core/meta/code-visibility.ts +18 -9
- package/src/core/network/__tests__/connection.test.ts +1 -1
- package/src/core/network/__tests__/requests-lazy.test.ts +1 -3
- package/src/core/network/connection-notice.ts +1 -1
- package/src/core/network/connection.ts +1 -1
- package/src/core/network/requests-lazy.ts +2 -5
- package/src/core/network/requests-network.ts +5 -31
- package/src/core/network/requests-static.ts +1 -4
- package/src/core/network/requests-toasting.tsx +1 -4
- package/src/core/network/types.ts +6 -14
- package/src/core/network/useConnectionNotice.ts +8 -2
- package/src/core/notebook/__tests__/operations.test.ts +51 -0
- package/src/core/notebook/attachments.ts +38 -0
- package/src/core/notebook/document/__tests__/codemirror.test.ts +758 -0
- package/src/core/notebook/document/__tests__/draft.test.ts +363 -0
- package/src/core/notebook/document/__tests__/fixtures.ts +92 -0
- package/src/core/notebook/document/__tests__/hooks.test.tsx +391 -0
- package/src/core/notebook/document/__tests__/lifecycle-scenarios.test.ts +61 -0
- package/src/core/notebook/document/__tests__/model.test.ts +247 -0
- package/src/core/notebook/document/__tests__/protocol-fixtures.ts +38 -0
- package/src/core/notebook/document/__tests__/recovery-scenarios.test.ts +230 -0
- package/src/core/notebook/document/__tests__/scenario-fixture.ts +43 -0
- package/src/core/notebook/document/__tests__/scenarios.test.ts +205 -0
- package/src/core/notebook/document/__tests__/state.test.ts +459 -0
- package/src/core/notebook/document/__tests__/submission.test.ts +203 -0
- package/src/core/notebook/document/__tests__/test-host.test.ts +92 -0
- package/src/core/notebook/document/__tests__/test-host.ts +247 -0
- package/src/core/notebook/document/__tests__/test-notebook.ts +149 -0
- package/src/core/notebook/document/__tests__/user.ts +61 -0
- package/src/core/notebook/document/codemirror.ts +216 -0
- package/src/core/notebook/document/draft.ts +502 -0
- package/src/core/notebook/document/hooks.tsx +118 -0
- package/src/core/notebook/document/index.ts +24 -0
- package/src/core/notebook/document/model.ts +102 -0
- package/src/core/notebook/document/select.ts +41 -0
- package/src/core/notebook/document/state.ts +378 -0
- package/src/core/notebook/document/sync.ts +369 -0
- package/src/core/notebook/index.ts +19 -0
- package/src/core/notebook/operations.ts +30 -0
- package/src/core/notebook/replica/AGENTS.md +11 -0
- package/src/core/{host → notebook/replica}/__tests__/attachments.test.ts +9 -10
- package/src/core/{host → notebook/replica}/__tests__/document.test.ts +18 -16
- package/src/core/notebook/replica/__tests__/fixtures.ts +79 -0
- package/src/core/notebook/replica/__tests__/replica.test.ts +550 -0
- package/src/core/notebook/replica/backend.ts +19 -0
- package/src/core/notebook/replica/connection.ts +42 -0
- package/src/core/notebook/replica/index.ts +13 -0
- package/src/core/notebook/replica/replica.ts +286 -0
- package/src/core/{host → notebook/replica}/resources/attachments.ts +6 -3
- package/src/core/{host → notebook/replica}/resources/document.ts +4 -4
- package/src/core/packages/__tests__/useSandboxController.test.tsx +1 -1
- package/src/core/packages/useSandboxController.ts +1 -1
- package/src/core/run-app.tsx +48 -51
- package/src/core/runtime/__tests__/adapter.test.ts +1 -1
- package/src/core/runtime/__tests__/createWsUrl.test.ts +77 -7
- package/src/core/runtime/__tests__/runtime.test.ts +32 -74
- package/src/core/runtime/adapter.ts +1 -1
- package/src/core/runtime/config.ts +2 -2
- package/src/core/runtime/runtime.ts +33 -46
- package/src/core/runtime/types.ts +0 -2
- package/src/core/saving/__tests__/document.test.tsx +123 -0
- package/src/core/saving/__tests__/state.test.ts +111 -0
- package/src/core/saving/__tests__/useAutoSave.test.tsx +67 -0
- package/src/core/saving/document.ts +33 -0
- package/src/core/saving/filename.ts +1 -1
- package/src/core/saving/save-component.tsx +39 -60
- package/src/core/saving/state.ts +38 -39
- package/src/core/saving/useAutoSave.ts +17 -53
- package/src/core/session/__tests__/backend.test.ts +236 -0
- package/src/core/session/__tests__/useNotebookReplica.hook.test.tsx +184 -0
- package/src/core/{websocket → session}/__tests__/useNotebookSession.hook.test.tsx +213 -262
- package/src/core/session/active-notebook.ts +28 -0
- package/src/core/session/backend.ts +123 -0
- package/src/core/session/embedded.ts +7 -0
- package/src/core/{websocket → session}/types.ts +2 -2
- package/src/core/session/useNotebookReplica.ts +74 -0
- package/src/core/{websocket → session}/useNotebookSession.tsx +77 -64
- package/src/core/state/__tests__/jotai.test.tsx +108 -0
- package/src/core/state/jotai.ts +1 -1
- package/src/core/static/__tests__/files.test.ts +38 -10
- package/src/core/static/files.ts +2 -0
- package/src/core/{websocket → transports}/__tests__/connection-state.test.ts +1 -13
- package/src/core/transports/__tests__/server.test.ts +408 -0
- package/src/core/transports/__tests__/static.test.ts +306 -0
- package/src/core/transports/__tests__/wasm.test.ts +166 -0
- package/src/core/{websocket → transports}/connection-state.ts +9 -16
- package/src/core/transports/server.ts +152 -0
- package/src/core/transports/static.ts +166 -0
- package/src/core/transports/wasm.ts +97 -0
- package/src/core/wasm/__tests__/bridge.test.ts +105 -65
- package/src/core/wasm/__tests__/worker.test.ts +187 -0
- package/src/core/wasm/bridge.ts +60 -71
- package/src/core/wasm/rpc.ts +15 -3
- package/src/core/wasm/store.ts +3 -3
- package/src/core/wasm/worker/bootstrap.ts +55 -51
- package/src/core/wasm/worker/getMarimoWheel.ts +1 -1
- package/src/core/wasm/worker/save-worker.ts +9 -10
- package/src/core/wasm/worker/types.ts +29 -18
- package/src/core/wasm/worker/worker.ts +89 -45
- package/src/css/app/codemirror.css +1 -1
- package/src/css/globals.css +66 -22
- package/src/hooks/__tests__/useAsyncData.test.tsx +148 -0
- package/src/hooks/__tests__/useDebounce.test.tsx +51 -0
- package/src/hooks/__tests__/useDeepCompareMemoize.test.tsx +39 -0
- package/src/hooks/__tests__/useDelayElapsed.test.tsx +28 -0
- package/src/hooks/__tests__/useInternalStateWithSync.test.tsx +20 -0
- package/src/hooks/__tests__/useScript.test.tsx +77 -0
- package/src/hooks/__tests__/useStateForKey.test.tsx +257 -0
- package/src/hooks/useAsyncData.ts +3 -3
- package/src/hooks/useDataSourceDiscovery.ts +6 -4
- package/src/hooks/useDebounce.ts +6 -10
- package/src/hooks/useDeepCompareMemoize.ts +1 -1
- package/src/hooks/useDelayElapsed.ts +14 -10
- package/src/hooks/useElapsedTime.ts +3 -3
- package/src/hooks/useEventListener.ts +1 -2
- package/src/hooks/useInputHistory.ts +4 -7
- package/src/hooks/useInternalStateWithSync.ts +6 -6
- package/src/hooks/useResizeObserver.ts +4 -7
- package/src/hooks/useScript.ts +67 -70
- package/src/hooks/useStateForKey.ts +93 -0
- package/src/mount.tsx +20 -15
- package/src/plugins/__tests__/plugin-object-schemas.test.ts +104 -0
- package/src/plugins/core/registerReactComponent.tsx +1 -1
- package/src/plugins/impl/CodeEditorPlugin.tsx +1 -1
- package/src/plugins/impl/DataEditorPlugin.tsx +1 -1
- package/src/plugins/impl/DataTablePlugin.tsx +69 -37
- package/src/plugins/impl/DropdownPlugin.tsx +2 -6
- package/src/plugins/impl/FileBrowserPlugin.tsx +4 -16
- package/src/plugins/impl/FormPlugin.tsx +1 -1
- package/src/plugins/impl/RangeSliderPlugin.tsx +16 -2
- package/src/plugins/impl/RefreshPlugin.tsx +1 -0
- package/src/plugins/impl/SliderPlugin.tsx +6 -8
- package/src/plugins/impl/__tests__/DataTablePlugin.test.tsx +387 -1
- package/src/plugins/impl/__tests__/FileBrowserPlugin.test.tsx +45 -0
- package/src/plugins/impl/__tests__/RangeSliderPlugin.test.tsx +109 -0
- package/src/plugins/impl/__tests__/SliderPlugin.test.tsx +24 -3
- package/src/plugins/impl/anywidget/__tests__/registry.test.ts +153 -0
- package/src/plugins/impl/anywidget/__tests__/widget-binding.test.ts +241 -2
- package/src/plugins/impl/anywidget/model.ts +3 -1
- package/src/plugins/impl/anywidget/registry.ts +18 -14
- package/src/plugins/impl/anywidget/runtime.ts +21 -9
- package/src/plugins/impl/anywidget/widget-binding.ts +160 -82
- package/src/plugins/impl/chat/__tests__/chat-prompts.test.tsx +93 -0
- package/src/plugins/impl/chat/chat-ui.tsx +14 -11
- package/src/plugins/impl/code/any-language-editor.tsx +2 -2
- package/src/plugins/impl/data-editor/glide-data-editor.tsx +8 -5
- package/src/plugins/impl/data-editor/glide-utils.ts +3 -1
- package/src/plugins/impl/data-explorer/ConnectedDataExplorerComponent.tsx +1 -1
- package/src/plugins/impl/data-explorer/components/column-summary.tsx +4 -2
- package/src/plugins/impl/data-explorer/state/reducer.ts +1 -1
- package/src/plugins/impl/data-frames/DataFramePlugin.tsx +1 -2
- package/src/plugins/impl/data-frames/__tests__/sidebar.test.tsx +160 -0
- package/src/plugins/impl/data-frames/forms/__tests__/__snapshots__/form.test.tsx.snap +66 -66
- package/src/plugins/impl/data-frames/panel.tsx +43 -16
- package/src/plugins/impl/mpl-interactive/MplInteractivePlugin.tsx +5 -3
- package/src/plugins/impl/panel/PanelPlugin.tsx +16 -17
- package/src/plugins/impl/panel/__tests__/utils.test.ts +39 -1
- package/src/plugins/impl/panel/utils.ts +17 -0
- package/src/plugins/impl/plotly/PlotlyPlugin.tsx +2 -5
- package/src/plugins/impl/plotly/selection.ts +25 -19
- package/src/plugins/impl/vega/VegaPlugin.tsx +2 -3
- package/src/plugins/impl/vega/make-selectable.ts +4 -7
- package/src/plugins/layout/RoutesPlugin.tsx +1 -1
- package/src/stories/__tests__/editor-story.test.tsx +33 -0
- package/src/stories/button.stories.tsx +1 -0
- package/src/stories/cell.stories.tsx +2 -5
- package/src/stories/data-table.stories.tsx +31 -0
- package/src/stories/editor.stories.tsx +24 -17
- package/src/stories/form-wrapper.stories.tsx +2 -2
- package/src/stories/layout/vertical/one-column.stories.tsx +28 -23
- package/src/stories/runtime-story.tsx +23 -17
- package/src/stories/select.stories.tsx +2 -2
- package/src/stories/switchable-multi-select.stories.tsx +1 -1
- package/src/utils/__tests__/arrays.test.ts +35 -0
- package/src/utils/__tests__/batch-requests.test.ts +3 -3
- package/src/utils/__tests__/{createReducer.test.ts → createReducer.test.tsx} +29 -0
- package/src/utils/__tests__/numbers.test.ts +105 -1
- package/src/utils/__tests__/objects.test.ts +21 -0
- package/src/utils/arrays.ts +11 -2
- package/src/utils/blob.ts +1 -1
- package/src/utils/createReducer.ts +53 -26
- package/src/utils/maps.ts +0 -3
- package/src/utils/numbers.ts +79 -18
- package/src/utils/objects.ts +4 -9
- package/src/utils/once.ts +19 -19
- package/src/utils/tracer.ts +9 -5
- package/src/utils/zod-utils.ts +1 -3
- package/dist/any-language-editor-D4q-IFcM.js +0 -76
- package/dist/assets/__vite-browser-external-BXYkiFsk.js +0 -1
- package/dist/assets/worker-HPY9fbhz.js +0 -114
- package/dist/code-visibility-DPm4oWK1.js +0 -138
- package/dist/dropdown-menu-DHP9P4VE.js +0 -4678
- package/dist/feedback-button-DVgw4Y7F.js +0 -379
- package/dist/html-to-image-BdA59IUD.js +0 -3251
- package/dist/label-DoysmLMW.js +0 -281
- package/dist/mermaid-HWGCJPDP-ByCsZnYF.js +0 -2
- package/dist/objectWithoutPropertiesLoose-BRDcTsfB.js +0 -23
- package/dist/precisionRound-DMIVQrt2.js +0 -97
- package/dist/select-DemoKT4G.js +0 -1344
- package/dist/toDate-B5mIgxwZ.js +0 -1185
- package/dist/toast-PkdZraM8.js +0 -1830
- package/dist/use-restore-focus-CKjfFjLM.js +0 -6369
- package/dist/useLifecycle-BGWzTwHK.js +0 -169
- package/dist/useTheme-BhQvec43.js +0 -904
- package/src/components/editor/cell/code/__tests__/rtc-editor-config.test.ts +0 -50
- package/src/components/editor/chrome/wrapper/footer-items/rtc-status.tsx +0 -65
- package/src/components/editor/navigation/__tests__/state.test.ts +0 -81
- package/src/components/editor/navigation/state.ts +0 -65
- package/src/core/ai/tools/__tests__/run-cells-tool.test.ts +0 -656
- package/src/core/ai/tools/run-cells-tool.ts +0 -303
- package/src/core/attachments/state.ts +0 -18
- package/src/core/cells/__tests__/apply-transaction.test.ts +0 -991
- package/src/core/cells/__tests__/document-changes.test.ts +0 -1140
- package/src/core/cells/__tests__/document-roundtrip.test.ts +0 -392
- package/src/core/cells/document-changes.ts +0 -944
- package/src/core/codemirror/rtc/extension.ts +0 -453
- package/src/core/codemirror/rtc/loro/__tests__/sync.test.ts +0 -52
- package/src/core/codemirror/rtc/loro/awareness.ts +0 -531
- package/src/core/codemirror/rtc/loro/colors.ts +0 -38
- package/src/core/codemirror/rtc/loro/sync.ts +0 -168
- package/src/core/host/AGENTS.md +0 -11
- package/src/core/host/__tests__/events.test.ts +0 -46
- package/src/core/host/__tests__/fixtures.ts +0 -39
- package/src/core/host/__tests__/notebook-client.test.ts +0 -433
- package/src/core/host/__tests__/protocol.test.ts +0 -214
- package/src/core/host/__tests__/stream.test.ts +0 -211
- package/src/core/host/connection.ts +0 -81
- package/src/core/host/events.ts +0 -61
- package/src/core/host/notebook-client.ts +0 -290
- package/src/core/host/protocol.ts +0 -1943
- package/src/core/host/resources/resource.ts +0 -59
- package/src/core/host/stream.ts +0 -213
- package/src/core/rtc/state.ts +0 -34
- package/src/core/state/__tests__/jotai.test.ts +0 -25
- package/src/core/wasm/worker/message-buffer.ts +0 -33
- package/src/core/websocket/__tests__/createConnectionTransport.test.ts +0 -49
- package/src/core/websocket/__tests__/useNotebookClient.hook.test.tsx +0 -170
- package/src/core/websocket/state.ts +0 -7
- package/src/core/websocket/transports/__tests__/basic.test.ts +0 -275
- package/src/core/websocket/transports/__tests__/sse.test.ts +0 -335
- package/src/core/websocket/transports/__tests__/transport.test.ts +0 -308
- package/src/core/websocket/transports/__tests__/ws.test.ts +0 -125
- package/src/core/websocket/transports/basic.ts +0 -102
- package/src/core/websocket/transports/create.ts +0 -31
- package/src/core/websocket/transports/sse.ts +0 -308
- package/src/core/websocket/transports/transport.ts +0 -50
- package/src/core/websocket/transports/ws.ts +0 -98
- package/src/core/websocket/useNotebookClient.ts +0 -88
- package/src/utils/__tests__/id-tree.test.ts +0 -2145
- package/src/utils/id-tree.tsx +0 -1134
- /package/src/{core/attachments/toast.ts → components/editor/agent-toast.ts} +0 -0
- /package/src/core/{websocket → session}/connection-utils.ts +0 -0
|
@@ -3,14 +3,15 @@
|
|
|
3
3
|
import type { EditorView } from "@codemirror/view";
|
|
4
4
|
import { z } from "zod";
|
|
5
5
|
import { scrollAndHighlightCell } from "@/components/editor/links/cell-link";
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
type NotebookState,
|
|
9
|
-
notebookAtom,
|
|
10
|
-
} from "@/core/cells/cells";
|
|
6
|
+
import { type NotebookState, notebookAtom } from "@/core/cells/cells";
|
|
7
|
+
import type { CreateCellOptions } from "@/core/cells/actions";
|
|
11
8
|
import { CellId } from "@/core/cells/ids";
|
|
12
|
-
import {
|
|
13
|
-
import
|
|
9
|
+
import { prepareCellCodeUpdate } from "@/core/codemirror/language/cell-code";
|
|
10
|
+
import {
|
|
11
|
+
type CellColumnId,
|
|
12
|
+
type Layout,
|
|
13
|
+
layoutAtom,
|
|
14
|
+
} from "@/core/cells/layout";
|
|
14
15
|
import { stagedAICellsAtom } from "../staged-cells";
|
|
15
16
|
import {
|
|
16
17
|
type AiTool,
|
|
@@ -24,7 +25,7 @@ import type { CopilotMode } from "./registry";
|
|
|
24
25
|
|
|
25
26
|
const description: ToolDescription = {
|
|
26
27
|
baseDescription:
|
|
27
|
-
"
|
|
28
|
+
"Propose cell edits for the user to review in the current notebook. You should prefer to create new cells unless you need to edit existing cells. Call this tool multiple times to perform multiple edits. Separate code into logical individual cells to take advantage of the notebook's reactive execution model.",
|
|
28
29
|
prerequisites: [
|
|
29
30
|
"If you are updating existing cells, you need the cellIds. If they are not known, call the lightweight_cell_map_tool to find out.",
|
|
30
31
|
],
|
|
@@ -86,7 +87,7 @@ export class EditNotebookTool implements AiTool<
|
|
|
86
87
|
{ edit }: EditNotebookInput,
|
|
87
88
|
toolContext: ToolNotebookContext,
|
|
88
89
|
): Promise<ToolOutputBase> => {
|
|
89
|
-
const { addStagedCell,
|
|
90
|
+
const { addStagedCell, createCell, store } = toolContext;
|
|
90
91
|
|
|
91
92
|
switch (edit.type) {
|
|
92
93
|
case "update_cell": {
|
|
@@ -94,19 +95,17 @@ export class EditNotebookTool implements AiTool<
|
|
|
94
95
|
const cellId = position.cellId as CellId | undefined;
|
|
95
96
|
|
|
96
97
|
if (!cellId) {
|
|
97
|
-
throw new ToolExecutionError(
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
);
|
|
98
|
+
throw new ToolExecutionError("Cell ID is required for update_cell", {
|
|
99
|
+
code: "CELL_ID_REQUIRED_FOR_UPDATE_CELL",
|
|
100
|
+
isRetryable: true,
|
|
101
|
+
suggestedFix: "Provide a cell ID to update",
|
|
102
|
+
});
|
|
103
103
|
} else if (!code) {
|
|
104
|
-
throw new ToolExecutionError(
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
);
|
|
104
|
+
throw new ToolExecutionError("Code is required for update_cell", {
|
|
105
|
+
code: "CODE_REQUIRED_FOR_UPDATE_CELL",
|
|
106
|
+
isRetryable: true,
|
|
107
|
+
suggestedFix: "Provide the new code to update the cell",
|
|
108
|
+
});
|
|
110
109
|
}
|
|
111
110
|
|
|
112
111
|
const notebook = store.get(notebookAtom);
|
|
@@ -119,7 +118,12 @@ export class EditNotebookTool implements AiTool<
|
|
|
119
118
|
|
|
120
119
|
// If previous edit was from a new cell, just replace editor code with the new code
|
|
121
120
|
if (existingStagedCell?.type === "add_cell") {
|
|
122
|
-
|
|
121
|
+
const update = prepareCellCodeUpdate(editorView.state, code, {
|
|
122
|
+
initialize: true,
|
|
123
|
+
});
|
|
124
|
+
if (update) {
|
|
125
|
+
editorView.dispatch(update);
|
|
126
|
+
}
|
|
123
127
|
break;
|
|
124
128
|
}
|
|
125
129
|
|
|
@@ -139,15 +143,20 @@ export class EditNotebookTool implements AiTool<
|
|
|
139
143
|
edit: { type: "update_cell", previousCode: previousCode },
|
|
140
144
|
});
|
|
141
145
|
|
|
142
|
-
|
|
146
|
+
const update = prepareCellCodeUpdate(editorView.state, code, {
|
|
147
|
+
initialize: true,
|
|
148
|
+
});
|
|
149
|
+
|
|
150
|
+
if (update) {
|
|
151
|
+
editorView.dispatch(update);
|
|
152
|
+
}
|
|
143
153
|
|
|
144
154
|
break;
|
|
145
155
|
}
|
|
146
156
|
case "add_cell": {
|
|
147
157
|
const { position, code } = edit;
|
|
148
158
|
|
|
149
|
-
let
|
|
150
|
-
let before = false;
|
|
159
|
+
let placement: CreateCellOptions = {};
|
|
151
160
|
const newCellId = CellId.create();
|
|
152
161
|
const notebook = store.get(notebookAtom);
|
|
153
162
|
|
|
@@ -157,51 +166,57 @@ export class EditNotebookTool implements AiTool<
|
|
|
157
166
|
if (!cellId) {
|
|
158
167
|
throw new ToolExecutionError(
|
|
159
168
|
"Cell ID is required for add_cell with relative position",
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
169
|
+
{
|
|
170
|
+
code: "TOOL_ERROR",
|
|
171
|
+
isRetryable: true,
|
|
172
|
+
suggestedFix: "Provide a cell ID to add the cell before",
|
|
173
|
+
},
|
|
163
174
|
);
|
|
164
175
|
}
|
|
165
176
|
|
|
166
177
|
if (position.before === undefined) {
|
|
167
178
|
throw new ToolExecutionError(
|
|
168
179
|
"Before is required for add_cell with relative position",
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
180
|
+
{
|
|
181
|
+
code: "TOOL_ERROR",
|
|
182
|
+
isRetryable: true,
|
|
183
|
+
suggestedFix: `Provide a boolean value for before, true to add before cell ${cellId}, false to add after the cell`,
|
|
184
|
+
},
|
|
172
185
|
);
|
|
173
186
|
}
|
|
174
187
|
|
|
175
188
|
this.validateCellIdExists(cellId, notebook);
|
|
176
|
-
|
|
177
|
-
|
|
189
|
+
placement = position.before
|
|
190
|
+
? { before: cellId }
|
|
191
|
+
: { after: cellId };
|
|
178
192
|
break;
|
|
179
193
|
}
|
|
180
|
-
case "column_end":
|
|
194
|
+
case "column_end":
|
|
181
195
|
if (!position.columnIndex) {
|
|
182
196
|
throw new ToolExecutionError(
|
|
183
197
|
"Column index is required for add_cell with column_end position",
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
198
|
+
{
|
|
199
|
+
code: "TOOL_ERROR",
|
|
200
|
+
isRetryable: true,
|
|
201
|
+
suggestedFix:
|
|
202
|
+
"Provide a column index to add the cell at the end of",
|
|
203
|
+
},
|
|
187
204
|
);
|
|
188
205
|
}
|
|
189
206
|
|
|
190
|
-
|
|
191
|
-
|
|
207
|
+
placement = {
|
|
208
|
+
endOf: this.getColumnId(
|
|
209
|
+
position.columnIndex,
|
|
210
|
+
store.get(layoutAtom),
|
|
211
|
+
),
|
|
212
|
+
};
|
|
192
213
|
break;
|
|
193
|
-
|
|
214
|
+
|
|
194
215
|
case "notebook_end":
|
|
195
|
-
// Use default: notebookPosition = "__end__"
|
|
196
216
|
break;
|
|
197
217
|
}
|
|
198
218
|
|
|
199
|
-
|
|
200
|
-
cellId: notebookPosition,
|
|
201
|
-
before,
|
|
202
|
-
code,
|
|
203
|
-
newCellId,
|
|
204
|
-
});
|
|
219
|
+
createCell({ ...placement, code, id: newCellId });
|
|
205
220
|
|
|
206
221
|
addStagedCell({
|
|
207
222
|
cellId: newCellId,
|
|
@@ -218,12 +233,11 @@ export class EditNotebookTool implements AiTool<
|
|
|
218
233
|
const cellId = position.cellId as CellId | undefined;
|
|
219
234
|
|
|
220
235
|
if (!cellId) {
|
|
221
|
-
throw new ToolExecutionError(
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
);
|
|
236
|
+
throw new ToolExecutionError("Cell ID is required for delete_cell", {
|
|
237
|
+
code: "CELL_ID_REQUIRED_FOR_DELETE_CELL",
|
|
238
|
+
isRetryable: true,
|
|
239
|
+
suggestedFix: "Provide a cell ID to delete",
|
|
240
|
+
});
|
|
227
241
|
}
|
|
228
242
|
|
|
229
243
|
const notebook = store.get(notebookAtom);
|
|
@@ -247,37 +261,30 @@ export class EditNotebookTool implements AiTool<
|
|
|
247
261
|
next_steps: [
|
|
248
262
|
"If you need to perform more edits, call this tool again.",
|
|
249
263
|
"You should use the lint notebook tool to check for errors and lint issues. Fix them by editing the notebook.",
|
|
250
|
-
"You should use the run stale cells tool to run the cells that have been edited or newly added. This allows you to see the output of the cells and fix any errors.",
|
|
251
264
|
],
|
|
252
265
|
};
|
|
253
266
|
};
|
|
254
267
|
|
|
255
268
|
private validateCellIdExists(cellId: CellId, notebook: NotebookState) {
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
"
|
|
261
|
-
|
|
262
|
-
"Check which cells exist in the notebook",
|
|
263
|
-
);
|
|
269
|
+
if (!notebook.cellIds.includes(cellId)) {
|
|
270
|
+
throw new ToolExecutionError("Cell not found", {
|
|
271
|
+
code: "CELL_NOT_FOUND",
|
|
272
|
+
isRetryable: false,
|
|
273
|
+
suggestedFix: "Check which cells exist in the notebook",
|
|
274
|
+
});
|
|
264
275
|
}
|
|
265
276
|
}
|
|
266
277
|
|
|
267
|
-
private getColumnId(
|
|
268
|
-
|
|
269
|
-
notebook: NotebookState,
|
|
270
|
-
): CellColumnId {
|
|
271
|
-
const cellIds = notebook.cellIds;
|
|
272
|
-
const columns = cellIds.getColumns();
|
|
278
|
+
private getColumnId(columnIndex: number, layout: Layout): CellColumnId {
|
|
279
|
+
const { columns } = layout;
|
|
273
280
|
|
|
274
281
|
if (columnIndex < 0 || columnIndex >= columns.length) {
|
|
275
|
-
throw new ToolExecutionError(
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
);
|
|
282
|
+
throw new ToolExecutionError("Column index is out of range", {
|
|
283
|
+
code: "COLUMN_INDEX_OUT_OF_RANGE",
|
|
284
|
+
isRetryable: true,
|
|
285
|
+
suggestedFix:
|
|
286
|
+
"Choose a column index between 0 and the number of columns in the notebook (0-based)",
|
|
287
|
+
});
|
|
281
288
|
}
|
|
282
289
|
return columns[columnIndex].id;
|
|
283
290
|
}
|
|
@@ -289,12 +296,11 @@ export class EditNotebookTool implements AiTool<
|
|
|
289
296
|
const cellHandles = notebook.cellHandles;
|
|
290
297
|
const cellHandle = cellHandles[cellId].current;
|
|
291
298
|
if (!cellHandle?.editorView) {
|
|
292
|
-
throw new ToolExecutionError(
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
);
|
|
299
|
+
throw new ToolExecutionError("Cell editor not found", {
|
|
300
|
+
code: "CELL_EDITOR_NOT_FOUND",
|
|
301
|
+
isRetryable: false,
|
|
302
|
+
suggestedFix: "Internal error, ask the user to report this error",
|
|
303
|
+
});
|
|
298
304
|
}
|
|
299
305
|
return cellHandle.editorView;
|
|
300
306
|
}
|
|
@@ -9,7 +9,6 @@ import {
|
|
|
9
9
|
type ToolNotebookContext,
|
|
10
10
|
} from "./base";
|
|
11
11
|
import { EditNotebookTool } from "./edit-notebook-tool";
|
|
12
|
-
import { RunStaleCellsTool } from "./run-cells-tool";
|
|
13
12
|
import { formatToolDescription } from "./utils";
|
|
14
13
|
|
|
15
14
|
export type AnyZodObject = ZodObject<z.ZodRawShape>;
|
|
@@ -73,9 +72,11 @@ export class FrontendToolRegistry {
|
|
|
73
72
|
const strError = z.prettifyError(inputResponse.error);
|
|
74
73
|
throw new ToolExecutionError(
|
|
75
74
|
`Tool ${toolName} returned invalid input: ${strError}`,
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
75
|
+
{
|
|
76
|
+
code: "INVALID_ARGUMENTS",
|
|
77
|
+
isRetryable: true,
|
|
78
|
+
suggestedFix: "Please check the arguments and try again.",
|
|
79
|
+
},
|
|
79
80
|
);
|
|
80
81
|
}
|
|
81
82
|
const args = inputResponse.data;
|
|
@@ -110,12 +111,15 @@ export class FrontendToolRegistry {
|
|
|
110
111
|
// Handle unknown/generic errors
|
|
111
112
|
const genericError = new ToolExecutionError(
|
|
112
113
|
error instanceof Error ? error.message : String(error),
|
|
113
|
-
"TOOL_ERROR",
|
|
114
|
-
false,
|
|
115
|
-
"Check the error message and try again with valid arguments.",
|
|
116
114
|
{
|
|
117
|
-
|
|
118
|
-
|
|
115
|
+
code: "TOOL_ERROR",
|
|
116
|
+
isRetryable: false,
|
|
117
|
+
suggestedFix:
|
|
118
|
+
"Check the error message and try again with valid arguments.",
|
|
119
|
+
meta: {
|
|
120
|
+
args: rawArgs,
|
|
121
|
+
errorType: error?.constructor?.name ?? typeof error,
|
|
122
|
+
},
|
|
119
123
|
},
|
|
120
124
|
);
|
|
121
125
|
return {
|
|
@@ -143,5 +147,4 @@ export class FrontendToolRegistry {
|
|
|
143
147
|
|
|
144
148
|
export const FRONTEND_TOOL_REGISTRY = new FrontendToolRegistry([
|
|
145
149
|
new EditNotebookTool(),
|
|
146
|
-
new RunStaleCellsTool(),
|
|
147
150
|
]);
|
|
@@ -50,13 +50,12 @@ export class TestFrontendTool implements AiTool<Input, Output> {
|
|
|
50
50
|
public async handler({ name }: Input): Promise<Output> {
|
|
51
51
|
// Example: Validate input and throw ToolExecutionError on invalid data
|
|
52
52
|
if (!name.trim()) {
|
|
53
|
-
throw new ToolExecutionError(
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
);
|
|
53
|
+
throw new ToolExecutionError("Name cannot be empty", {
|
|
54
|
+
code: "INVALID_INPUT",
|
|
55
|
+
isRetryable: false,
|
|
56
|
+
suggestedFix: "Please provide a non-empty name",
|
|
57
|
+
meta: { field: "name", received: name },
|
|
58
|
+
});
|
|
60
59
|
}
|
|
61
60
|
|
|
62
61
|
return {
|
|
@@ -23,7 +23,6 @@ exports[`cell reducer > can initialize stdin > initial state 1`] = `
|
|
|
23
23
|
"output": null,
|
|
24
24
|
"runElapsedTimeMs": null,
|
|
25
25
|
"runStartTimestamp": null,
|
|
26
|
-
"serializedEditorState": null,
|
|
27
26
|
"staleInputs": false,
|
|
28
27
|
"status": "idle",
|
|
29
28
|
"stopped": false,
|
|
@@ -53,7 +52,6 @@ exports[`cell reducer > can initialize stdin > prepared for run 1`] = `
|
|
|
53
52
|
"output": null,
|
|
54
53
|
"runElapsedTimeMs": null,
|
|
55
54
|
"runStartTimestamp": null,
|
|
56
|
-
"serializedEditorState": null,
|
|
57
55
|
"staleInputs": false,
|
|
58
56
|
"status": "queued",
|
|
59
57
|
"stopped": false,
|
|
@@ -83,7 +81,6 @@ exports[`cell reducer > can initialize stdin > queued message received 1`] = `
|
|
|
83
81
|
"output": null,
|
|
84
82
|
"runElapsedTimeMs": null,
|
|
85
83
|
"runStartTimestamp": null,
|
|
86
|
-
"serializedEditorState": null,
|
|
87
84
|
"staleInputs": false,
|
|
88
85
|
"status": "queued",
|
|
89
86
|
"stopped": false,
|
|
@@ -113,7 +110,6 @@ exports[`cell reducer > can initialize stdin > running message received 1`] = `
|
|
|
113
110
|
"output": null,
|
|
114
111
|
"runElapsedTimeMs": null,
|
|
115
112
|
"runStartTimestamp": 20,
|
|
116
|
-
"serializedEditorState": null,
|
|
117
113
|
"staleInputs": false,
|
|
118
114
|
"status": "running",
|
|
119
115
|
"stopped": false,
|
|
@@ -139,6 +135,7 @@ exports[`cell reducer > can initialize stdin > second stdin requested 1`] = `
|
|
|
139
135
|
{
|
|
140
136
|
"channel": "stdin",
|
|
141
137
|
"data": "what is your name?",
|
|
138
|
+
"id": 2,
|
|
142
139
|
"mimetype": "text/plain",
|
|
143
140
|
"response": "Marimo!",
|
|
144
141
|
"timestamp": 2,
|
|
@@ -146,6 +143,7 @@ exports[`cell reducer > can initialize stdin > second stdin requested 1`] = `
|
|
|
146
143
|
{
|
|
147
144
|
"channel": "stdin",
|
|
148
145
|
"data": "how old are you?",
|
|
146
|
+
"id": 3,
|
|
149
147
|
"mimetype": "text/plain",
|
|
150
148
|
"timestamp": 3,
|
|
151
149
|
},
|
|
@@ -163,7 +161,6 @@ exports[`cell reducer > can initialize stdin > second stdin requested 1`] = `
|
|
|
163
161
|
"output": null,
|
|
164
162
|
"runElapsedTimeMs": null,
|
|
165
163
|
"runStartTimestamp": 20,
|
|
166
|
-
"serializedEditorState": null,
|
|
167
164
|
"staleInputs": false,
|
|
168
165
|
"status": "running",
|
|
169
166
|
"stopped": false,
|
|
@@ -189,6 +186,7 @@ exports[`cell reducer > can initialize stdin > stdin answered 1`] = `
|
|
|
189
186
|
{
|
|
190
187
|
"channel": "stdin",
|
|
191
188
|
"data": "what is your name?",
|
|
189
|
+
"id": 2,
|
|
192
190
|
"mimetype": "text/plain",
|
|
193
191
|
"response": "Marimo!",
|
|
194
192
|
"timestamp": 2,
|
|
@@ -207,7 +205,6 @@ exports[`cell reducer > can initialize stdin > stdin answered 1`] = `
|
|
|
207
205
|
"output": null,
|
|
208
206
|
"runElapsedTimeMs": null,
|
|
209
207
|
"runStartTimestamp": 20,
|
|
210
|
-
"serializedEditorState": null,
|
|
211
208
|
"staleInputs": false,
|
|
212
209
|
"status": "running",
|
|
213
210
|
"stopped": false,
|
|
@@ -233,6 +230,7 @@ exports[`cell reducer > can initialize stdin > stdin requested 1`] = `
|
|
|
233
230
|
{
|
|
234
231
|
"channel": "stdin",
|
|
235
232
|
"data": "what is your name?",
|
|
233
|
+
"id": 2,
|
|
236
234
|
"mimetype": "text/plain",
|
|
237
235
|
"timestamp": 2,
|
|
238
236
|
},
|
|
@@ -250,7 +248,6 @@ exports[`cell reducer > can initialize stdin > stdin requested 1`] = `
|
|
|
250
248
|
"output": null,
|
|
251
249
|
"runElapsedTimeMs": null,
|
|
252
250
|
"runStartTimestamp": 20,
|
|
253
|
-
"serializedEditorState": null,
|
|
254
251
|
"staleInputs": false,
|
|
255
252
|
"status": "running",
|
|
256
253
|
"stopped": false,
|
|
@@ -287,7 +284,6 @@ exports[`cell reducer > can initialize stdin > stdout received 1`] = `
|
|
|
287
284
|
"output": null,
|
|
288
285
|
"runElapsedTimeMs": null,
|
|
289
286
|
"runStartTimestamp": 20,
|
|
290
|
-
"serializedEditorState": null,
|
|
291
287
|
"staleInputs": false,
|
|
292
288
|
"status": "running",
|
|
293
289
|
"stopped": false,
|
|
@@ -324,7 +320,6 @@ exports[`cell reducer > can initialize stdin > stdout verified 1`] = `
|
|
|
324
320
|
"output": null,
|
|
325
321
|
"runElapsedTimeMs": null,
|
|
326
322
|
"runStartTimestamp": 20,
|
|
327
|
-
"serializedEditorState": null,
|
|
328
323
|
"staleInputs": false,
|
|
329
324
|
"status": "running",
|
|
330
325
|
"stopped": false,
|
|
@@ -354,7 +349,6 @@ exports[`cell reducer > can receive console when the cell is idle and will clear
|
|
|
354
349
|
"output": null,
|
|
355
350
|
"runElapsedTimeMs": null,
|
|
356
351
|
"runStartTimestamp": 20,
|
|
357
|
-
"serializedEditorState": null,
|
|
358
352
|
"staleInputs": false,
|
|
359
353
|
"status": "running",
|
|
360
354
|
"stopped": false,
|
|
@@ -391,7 +385,6 @@ exports[`cell reducer > can receive console when the cell is idle and will clear
|
|
|
391
385
|
"output": null,
|
|
392
386
|
"runElapsedTimeMs": 2000,
|
|
393
387
|
"runStartTimestamp": null,
|
|
394
|
-
"serializedEditorState": null,
|
|
395
388
|
"staleInputs": false,
|
|
396
389
|
"status": "idle",
|
|
397
390
|
"stopped": false,
|
|
@@ -421,7 +414,6 @@ exports[`cell reducer > can receive console when the cell is idle and will clear
|
|
|
421
414
|
"output": null,
|
|
422
415
|
"runElapsedTimeMs": null,
|
|
423
416
|
"runStartTimestamp": null,
|
|
424
|
-
"serializedEditorState": null,
|
|
425
417
|
"staleInputs": false,
|
|
426
418
|
"status": "idle",
|
|
427
419
|
"stopped": false,
|
|
@@ -458,7 +450,6 @@ exports[`cell reducer > can receive console when the cell is idle and will clear
|
|
|
458
450
|
"output": null,
|
|
459
451
|
"runElapsedTimeMs": null,
|
|
460
452
|
"runStartTimestamp": null,
|
|
461
|
-
"serializedEditorState": null,
|
|
462
453
|
"staleInputs": false,
|
|
463
454
|
"status": "queued",
|
|
464
455
|
"stopped": false,
|
|
@@ -495,7 +486,6 @@ exports[`cell reducer > can receive console when the cell is idle and will clear
|
|
|
495
486
|
"output": null,
|
|
496
487
|
"runElapsedTimeMs": null,
|
|
497
488
|
"runStartTimestamp": null,
|
|
498
|
-
"serializedEditorState": null,
|
|
499
489
|
"staleInputs": false,
|
|
500
490
|
"status": "queued",
|
|
501
491
|
"stopped": false,
|
|
@@ -525,7 +515,6 @@ exports[`cell reducer > can run a stale cell > queued message received 1`] = `
|
|
|
525
515
|
"output": null,
|
|
526
516
|
"runElapsedTimeMs": null,
|
|
527
517
|
"runStartTimestamp": null,
|
|
528
|
-
"serializedEditorState": null,
|
|
529
518
|
"staleInputs": false,
|
|
530
519
|
"status": "queued",
|
|
531
520
|
"stopped": false,
|
|
@@ -555,7 +544,6 @@ exports[`cell reducer > can run a stale cell > stale inputs received 1`] = `
|
|
|
555
544
|
"output": null,
|
|
556
545
|
"runElapsedTimeMs": null,
|
|
557
546
|
"runStartTimestamp": null,
|
|
558
|
-
"serializedEditorState": null,
|
|
559
547
|
"staleInputs": true,
|
|
560
548
|
"status": "queued",
|
|
561
549
|
"stopped": false,
|
|
@@ -596,7 +584,6 @@ exports[`cell reducer > can run a stopped cell > ancestor stopped 1`] = `
|
|
|
596
584
|
},
|
|
597
585
|
"runElapsedTimeMs": null,
|
|
598
586
|
"runStartTimestamp": null,
|
|
599
|
-
"serializedEditorState": null,
|
|
600
587
|
"staleInputs": false,
|
|
601
588
|
"status": "idle",
|
|
602
589
|
"stopped": true,
|
|
@@ -626,7 +613,6 @@ exports[`cell reducer > can run a stopped cell > idle message received 1`] = `
|
|
|
626
613
|
"output": null,
|
|
627
614
|
"runElapsedTimeMs": null,
|
|
628
615
|
"runStartTimestamp": null,
|
|
629
|
-
"serializedEditorState": null,
|
|
630
616
|
"staleInputs": false,
|
|
631
617
|
"status": "idle",
|
|
632
618
|
"stopped": false,
|
|
@@ -667,7 +653,6 @@ exports[`cell reducer > can run a stopped cell > queued after stop 1`] = `
|
|
|
667
653
|
},
|
|
668
654
|
"runElapsedTimeMs": null,
|
|
669
655
|
"runStartTimestamp": null,
|
|
670
|
-
"serializedEditorState": null,
|
|
671
656
|
"staleInputs": false,
|
|
672
657
|
"status": "queued",
|
|
673
658
|
"stopped": true,
|
|
@@ -697,7 +682,6 @@ exports[`cell reducer > can run a stopped cell > queued message received 1`] = `
|
|
|
697
682
|
"output": null,
|
|
698
683
|
"runElapsedTimeMs": null,
|
|
699
684
|
"runStartTimestamp": null,
|
|
700
|
-
"serializedEditorState": null,
|
|
701
685
|
"staleInputs": false,
|
|
702
686
|
"status": "queued",
|
|
703
687
|
"stopped": false,
|
|
@@ -727,7 +711,6 @@ exports[`cell reducer > can run a stopped cell > running after stop 1`] = `
|
|
|
727
711
|
"output": null,
|
|
728
712
|
"runElapsedTimeMs": null,
|
|
729
713
|
"runStartTimestamp": 40,
|
|
730
|
-
"serializedEditorState": null,
|
|
731
714
|
"staleInputs": false,
|
|
732
715
|
"status": "running",
|
|
733
716
|
"stopped": false,
|
|
@@ -770,7 +753,6 @@ import numpy",
|
|
|
770
753
|
},
|
|
771
754
|
"runElapsedTimeMs": 13000,
|
|
772
755
|
"runStartTimestamp": null,
|
|
773
|
-
"serializedEditorState": null,
|
|
774
756
|
"staleInputs": false,
|
|
775
757
|
"status": "idle",
|
|
776
758
|
"stopped": false,
|
|
@@ -800,7 +782,6 @@ exports[`cell reducer > can run cell and receive cell messages > code edited 1`]
|
|
|
800
782
|
"output": null,
|
|
801
783
|
"runElapsedTimeMs": null,
|
|
802
784
|
"runStartTimestamp": null,
|
|
803
|
-
"serializedEditorState": null,
|
|
804
785
|
"staleInputs": false,
|
|
805
786
|
"status": "idle",
|
|
806
787
|
"stopped": false,
|
|
@@ -843,7 +824,6 @@ import numpy",
|
|
|
843
824
|
},
|
|
844
825
|
"runElapsedTimeMs": 13000,
|
|
845
826
|
"runStartTimestamp": null,
|
|
846
|
-
"serializedEditorState": null,
|
|
847
827
|
"staleInputs": false,
|
|
848
828
|
"status": "idle",
|
|
849
829
|
"stopped": false,
|
|
@@ -885,7 +865,6 @@ exports[`cell reducer > can run cell and receive cell messages > code reverted 1
|
|
|
885
865
|
},
|
|
886
866
|
"runElapsedTimeMs": 13000,
|
|
887
867
|
"runStartTimestamp": null,
|
|
888
|
-
"serializedEditorState": null,
|
|
889
868
|
"staleInputs": false,
|
|
890
869
|
"status": "idle",
|
|
891
870
|
"stopped": false,
|
|
@@ -922,7 +901,6 @@ exports[`cell reducer > can run cell and receive cell messages > console message
|
|
|
922
901
|
"output": null,
|
|
923
902
|
"runElapsedTimeMs": null,
|
|
924
903
|
"runStartTimestamp": 20,
|
|
925
|
-
"serializedEditorState": null,
|
|
926
904
|
"staleInputs": false,
|
|
927
905
|
"status": "running",
|
|
928
906
|
"stopped": false,
|
|
@@ -972,7 +950,6 @@ import numpy",
|
|
|
972
950
|
},
|
|
973
951
|
"runElapsedTimeMs": 11000,
|
|
974
952
|
"runStartTimestamp": null,
|
|
975
|
-
"serializedEditorState": null,
|
|
976
953
|
"staleInputs": false,
|
|
977
954
|
"status": "idle",
|
|
978
955
|
"stopped": false,
|
|
@@ -1002,7 +979,6 @@ exports[`cell reducer > can run cell and receive cell messages > initial state 1
|
|
|
1002
979
|
"output": null,
|
|
1003
980
|
"runElapsedTimeMs": null,
|
|
1004
981
|
"runStartTimestamp": null,
|
|
1005
|
-
"serializedEditorState": null,
|
|
1006
982
|
"staleInputs": false,
|
|
1007
983
|
"status": "idle",
|
|
1008
984
|
"stopped": false,
|
|
@@ -1050,7 +1026,6 @@ import numpy",
|
|
|
1050
1026
|
},
|
|
1051
1027
|
"runElapsedTimeMs": 11000,
|
|
1052
1028
|
"runStartTimestamp": null,
|
|
1053
|
-
"serializedEditorState": null,
|
|
1054
1029
|
"staleInputs": false,
|
|
1055
1030
|
"status": "idle",
|
|
1056
1031
|
"stopped": false,
|
|
@@ -1092,7 +1067,6 @@ exports[`cell reducer > can run cell and receive cell messages > output received
|
|
|
1092
1067
|
},
|
|
1093
1068
|
"runElapsedTimeMs": 13000,
|
|
1094
1069
|
"runStartTimestamp": null,
|
|
1095
|
-
"serializedEditorState": null,
|
|
1096
1070
|
"staleInputs": false,
|
|
1097
1071
|
"status": "idle",
|
|
1098
1072
|
"stopped": false,
|
|
@@ -1122,7 +1096,6 @@ exports[`cell reducer > can run cell and receive cell messages > prepared for ru
|
|
|
1122
1096
|
"output": null,
|
|
1123
1097
|
"runElapsedTimeMs": null,
|
|
1124
1098
|
"runStartTimestamp": null,
|
|
1125
|
-
"serializedEditorState": null,
|
|
1126
1099
|
"staleInputs": false,
|
|
1127
1100
|
"status": "queued",
|
|
1128
1101
|
"stopped": false,
|
|
@@ -1152,7 +1125,6 @@ exports[`cell reducer > can run cell and receive cell messages > queued message
|
|
|
1152
1125
|
"output": null,
|
|
1153
1126
|
"runElapsedTimeMs": null,
|
|
1154
1127
|
"runStartTimestamp": null,
|
|
1155
|
-
"serializedEditorState": null,
|
|
1156
1128
|
"staleInputs": false,
|
|
1157
1129
|
"status": "queued",
|
|
1158
1130
|
"stopped": false,
|
|
@@ -1182,7 +1154,6 @@ exports[`cell reducer > can run cell and receive cell messages > running message
|
|
|
1182
1154
|
"output": null,
|
|
1183
1155
|
"runElapsedTimeMs": null,
|
|
1184
1156
|
"runStartTimestamp": 20,
|
|
1185
|
-
"serializedEditorState": null,
|
|
1186
1157
|
"staleInputs": false,
|
|
1187
1158
|
"status": "running",
|
|
1188
1159
|
"stopped": false,
|
|
@@ -1212,7 +1183,6 @@ exports[`cell reducer > errors reset status to idle > code edited 1`] = `
|
|
|
1212
1183
|
"output": null,
|
|
1213
1184
|
"runElapsedTimeMs": null,
|
|
1214
1185
|
"runStartTimestamp": null,
|
|
1215
|
-
"serializedEditorState": null,
|
|
1216
1186
|
"staleInputs": false,
|
|
1217
1187
|
"status": "idle",
|
|
1218
1188
|
"stopped": false,
|
|
@@ -1253,7 +1223,6 @@ exports[`cell reducer > errors reset status to idle > error response received 1`
|
|
|
1253
1223
|
},
|
|
1254
1224
|
"runElapsedTimeMs": null,
|
|
1255
1225
|
"runStartTimestamp": null,
|
|
1256
|
-
"serializedEditorState": null,
|
|
1257
1226
|
"staleInputs": false,
|
|
1258
1227
|
"status": "idle",
|
|
1259
1228
|
"stopped": false,
|
|
@@ -1283,7 +1252,6 @@ exports[`cell reducer > errors reset status to idle > initial state 1`] = `
|
|
|
1283
1252
|
"output": null,
|
|
1284
1253
|
"runElapsedTimeMs": null,
|
|
1285
1254
|
"runStartTimestamp": null,
|
|
1286
|
-
"serializedEditorState": null,
|
|
1287
1255
|
"staleInputs": false,
|
|
1288
1256
|
"status": "idle",
|
|
1289
1257
|
"stopped": false,
|
|
@@ -1313,7 +1281,6 @@ exports[`cell reducer > errors reset status to idle > prepared for run 1`] = `
|
|
|
1313
1281
|
"output": null,
|
|
1314
1282
|
"runElapsedTimeMs": null,
|
|
1315
1283
|
"runStartTimestamp": null,
|
|
1316
|
-
"serializedEditorState": null,
|
|
1317
1284
|
"staleInputs": false,
|
|
1318
1285
|
"status": "queued",
|
|
1319
1286
|
"stopped": false,
|