@marimo-team/frontend 0.16.4 → 0.16.5
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/assets/{CellStatus-CEVFBnyt.js → CellStatus-BJRDATxe.js} +1 -1
- package/dist/assets/{ConnectedDataExplorerComponent-5izWKQVQ.js → ConnectedDataExplorerComponent-Cs4pQOKx.js} +1 -1
- package/dist/assets/{ImperativeModal-DujtmdOO.js → ImperativeModal-BG5LTpV0.js} +1 -1
- package/dist/assets/{JsonOutput-E2xVojk5.js → JsonOutput-BID8Oos7.js} +1 -1
- package/dist/assets/{LazyAnyLanguageCodeMirror-DHH4zj72.js → LazyAnyLanguageCodeMirror-RkzkO2YV.js} +2 -2
- package/dist/assets/MarimoErrorOutput-Lft73Wnl.js +6 -0
- package/dist/assets/{RenderHTML-BCi_V67U.js → RenderHTML-BoDLdBq-.js} +1 -1
- package/dist/assets/{VisuallyHidden-DvpnK2wO.js → VisuallyHidden-BiHw-PIc.js} +1 -1
- package/dist/assets/{accordion-C3CAEPwC.js → accordion-A41ffd5P.js} +1 -1
- package/dist/assets/{activity-BCW0BU81.js → activity-BhLNCNHF.js} +1 -1
- package/dist/assets/add-cell-with-ai-CxM_YKzf.js +36 -0
- package/dist/assets/{add-database-form-DSnHGqMe.js → add-database-form-Br1fMkMI.js} +1 -1
- package/dist/assets/{add-missing-import-Cwedhjm5.js → add-missing-import-CfRgNApn.js} +1 -1
- package/dist/assets/agent-panel-7ocujO8C.js +287 -0
- package/dist/assets/ai-model-dropdown-DSUVFIso.js +2 -0
- package/dist/assets/{alert-dialog-M1dUQe7C.js → alert-dialog-BO8sf-73.js} +1 -1
- package/dist/assets/{ansi_up-ZmFuCItK.js → ansi_up-D_b0GS7N.js} +1 -1
- package/dist/assets/{any-language-editor-BqGBgxZE.js → any-language-editor-edee1A1P.js} +1 -1
- package/dist/assets/app-config-button-Bg_CEfls.js +1 -0
- package/dist/assets/{architecture-O4VJ6CD3-CbkBEQri.js → architecture-O4VJ6CD3-CIYFBxkI.js} +1 -1
- package/dist/assets/{architectureDiagram-W76B3OCA-di95lJcF.js → architectureDiagram-W76B3OCA-CXqAkVTy.js} +1 -1
- package/dist/assets/{arrow-left-DQ-94PlS.js → arrow-left-D97p491f.js} +1 -1
- package/dist/assets/{between-horizontal-start-CotWLlFt.js → between-horizontal-start-DWTOsiF_.js} +1 -1
- package/dist/assets/{blockDiagram-QIGZ2CNN-ClcJSQFf.js → blockDiagram-QIGZ2CNN-DhYrUig_.js} +1 -1
- package/dist/assets/{c4Diagram-FPNF74CW-Cq2vxSdy.js → c4Diagram-FPNF74CW-Bj1S_Fyy.js} +1 -1
- package/dist/assets/{cell-actions-C5S4W3g_.js → cell-actions-hNx4EMmZ.js} +1 -1
- package/dist/assets/{cell-editor-X6EY7GQl.js → cell-editor-JimG_bBz.js} +13 -13
- package/dist/assets/cell-link-_kF38gGF.js +1 -0
- package/dist/assets/{cells-B4cnsYe_.js → cells-Dd1FatlG.js} +54 -54
- package/dist/assets/channel-Bil_pUlM.js +1 -0
- package/dist/assets/{chart-no-axes-column-DrG7h8mS.js → chart-no-axes-column-DmR44Tbq.js} +1 -1
- package/dist/assets/{chat-components-DXkntpg4.js → chat-components-OoNU4tLf.js} +3 -3
- package/dist/assets/chat-panel-DatwRFif.js +3 -0
- package/dist/assets/check-C5PVLNkJ.js +1 -0
- package/dist/assets/{chevron-right-Caf5yL5B.js → chevron-right-BDEhimQq.js} +1 -1
- package/dist/assets/{chunk-3AY6CYHV-BFFUJATX.js → chunk-3AY6CYHV-CBq2x1Nc.js} +1 -1
- package/dist/assets/{chunk-4KMFLZZN-D8J8fzqf.js → chunk-4KMFLZZN-DEMg9QYp.js} +1 -1
- package/dist/assets/{chunk-6OXUPJBA-Clo7-gS4.js → chunk-6OXUPJBA-CjFdZBrY.js} +2 -2
- package/dist/assets/{chunk-ABZYJK2D-DjRcbxmx.js → chunk-ABZYJK2D-eZsthrBr.js} +1 -1
- package/dist/assets/{chunk-BN7GFLIU-DvomLhVN.js → chunk-BN7GFLIU-ez-vZ7uD.js} +1 -1
- package/dist/assets/{chunk-CXMOBAN2-GhUPxuLT.js → chunk-CXMOBAN2-DxbPW6zT.js} +1 -1
- package/dist/assets/{chunk-EXTU4WIE-97Zvkznr.js → chunk-EXTU4WIE-C8Y_P6y8.js} +1 -1
- package/dist/assets/{chunk-JA3XYJ7Z-Mvfz9vG6.js → chunk-JA3XYJ7Z-pR89xWsn.js} +1 -1
- package/dist/assets/{chunk-JEIROHC2-Cp1tR_z8.js → chunk-JEIROHC2-2-ucCTVJ.js} +1 -1
- package/dist/assets/{chunk-K7UQS3LO-BbFs0Y5e.js → chunk-K7UQS3LO-Bz3bjON2.js} +1 -1
- package/dist/assets/{chunk-KMC2YHZD-Buiqyl2g.js → chunk-KMC2YHZD-BvMr39QE.js} +1 -1
- package/dist/assets/{chunk-QN33PNHL-dhs223oU.js → chunk-QN33PNHL-DgF0LOHR.js} +1 -1
- package/dist/assets/{chunk-QYVHNE3D-DA_jYaIp.js → chunk-QYVHNE3D-BxN3DJBX.js} +1 -1
- package/dist/assets/{chunk-S3R3BYOJ-DO68jEIo.js → chunk-S3R3BYOJ-Dy72CLbv.js} +1 -1
- package/dist/assets/{chunk-T44TD3VJ-Ww2OhwR5.js → chunk-T44TD3VJ-BfMjD4hS.js} +1 -1
- package/dist/assets/{chunk-TVAH2DTR-j2EljfwG.js → chunk-TVAH2DTR-CKnRAcjo.js} +1 -1
- package/dist/assets/{chunk-TZMSLE5B-DYFKU4Pb.js → chunk-TZMSLE5B-DdgcuCwZ.js} +1 -1
- package/dist/assets/{chunk-WFRQ32O7-k2LaZwie.js → chunk-WFRQ32O7-CHVQx4E8.js} +1 -1
- package/dist/assets/{chunk-WFWHJNB7-h5yM_3qQ.js → chunk-WFWHJNB7-B095GDsj.js} +1 -1
- package/dist/assets/{chunk-XRWGC2XP-C9Mh6qts.js → chunk-XRWGC2XP-C9u0mhR4.js} +1 -1
- package/dist/assets/{circle-play-Cktn64O2.js → circle-play-BnvyuDgL.js} +1 -1
- package/dist/assets/{circle-plus-CR5IX63e.js → circle-plus-CfdbDkkn.js} +1 -1
- package/dist/assets/{circle-x-t3DIkXqJ.js → circle-x-BsVcxKkV.js} +1 -1
- package/dist/assets/classDiagram-KNZD7YFC-CjqRV-TB.js +1 -0
- package/dist/assets/classDiagram-v2-RKCZMP56-CGekJfCg.js +1 -0
- package/dist/assets/client-RNr6mM1Y.js +2 -0
- package/dist/assets/{clipboard-paste-CCXUHJEo.js → clipboard-paste-CYFMW3x7.js} +1 -1
- package/dist/assets/column-preview-2H8pwalb.js +2 -0
- package/dist/assets/{columns-BBxos2iF.js → columns-qXe5bccO.js} +7 -7
- package/dist/assets/{command-CMralWVx.js → command-BZVf1cJP.js} +1 -1
- package/dist/assets/command-palette-CYMxp9xF.js +1 -0
- package/dist/assets/{common-CGhyb0HV.js → common-DW3bNKWY.js} +1 -1
- package/dist/assets/{config-DiCy6eC0.js → config-DXGmIv9f.js} +1 -1
- package/dist/assets/{copy-DAVB02c8.js → copy-6mpL4BeI.js} +1 -1
- package/dist/assets/{copy-icon-GGPHJWJ0.js → copy-icon-6ICckC-p.js} +1 -1
- package/dist/assets/{dagre-5GWH7T2D-B1wEBSrx.js → dagre-5GWH7T2D-hVCok2au.js} +1 -1
- package/dist/assets/{data-grid-overlay-editor-Drp4I0tg.js → data-grid-overlay-editor-BwcAr1JM.js} +1 -1
- package/dist/assets/datasources-panel-BvrtAadm.js +1 -0
- package/dist/assets/{dates-grtSI02N.js → dates-Au76svwW.js} +1 -1
- package/dist/assets/dependency-graph-panel-F9AD_whb.js +4 -0
- package/dist/assets/{diagram-N5W7TBWH-D0MGIq61.js → diagram-N5W7TBWH-C26XpepA.js} +1 -1
- package/dist/assets/{diagram-QEK2KX5R-DU6geLeA.js → diagram-QEK2KX5R-yrTR8I_L.js} +1 -1
- package/dist/assets/{diagram-S2PKOQOG-BNhY4Z1-.js → diagram-S2PKOQOG-BnrvSrEb.js} +1 -1
- package/dist/assets/{dialog-B7icy1Vb.js → dialog-CR68_CUl.js} +1 -1
- package/dist/assets/{dist-BNjtn4W8.js → dist--01dzFeG.js} +1 -1
- package/dist/assets/{dist-BagyUivg.js → dist--UHY1FN-.js} +1 -1
- package/dist/assets/{dist-5Gm6w_15.js → dist-6vTAXnMq.js} +1 -1
- package/dist/assets/{dist-DTazGMur.js → dist-B6CCfKkp.js} +1 -1
- package/dist/assets/dist-BAqgWgpM.js +1 -0
- package/dist/assets/{dist-BaApG_tl.js → dist-BUe_o-3o.js} +1 -1
- package/dist/assets/{dist-BpAb8rGb.js → dist-BnTbfmCK.js} +1 -1
- package/dist/assets/dist-C-4GTx-T.js +1 -0
- package/dist/assets/{dist-C0ek66tJ.js → dist-C1lnVyyK.js} +1 -1
- package/dist/assets/{dist-DGiVfc7V.js → dist-CbsJnssA.js} +1 -1
- package/dist/assets/{dist-DV-8bxFo.js → dist-CjoeBoZ9.js} +1 -1
- package/dist/assets/{dist-D5QvSsL_.js → dist-CsC8ZokE.js} +1 -1
- package/dist/assets/{dist-C69eWtaQ.js → dist-CyqTsfyg.js} +1 -1
- package/dist/assets/dist-D-ZYdf69.js +1 -0
- package/dist/assets/dist-D3B_GqVR.js +1 -0
- package/dist/assets/{dist-BME02X12.js → dist-DFJwMM7Z.js} +1 -1
- package/dist/assets/dist-Db9UVaw9.js +1 -0
- package/dist/assets/{dist-BPr57Wxb.js → dist-DhXqYYeD.js} +1 -1
- package/dist/assets/{dist-CL0hPMY6.js → dist-Dm8m1boP.js} +1 -1
- package/dist/assets/{dist-B0vg88Aq.js → dist-DvDyxv8b.js} +1 -1
- package/dist/assets/{dist-Bzn1Zd0x.js → dist-DzUKODTF.js} +1 -1
- package/dist/assets/dist-LmEq3o4w.js +1 -0
- package/dist/assets/dist-Z_cK0cSh.js +1 -0
- package/dist/assets/dist-biP83Yvc.js +1 -0
- package/dist/assets/dist-dJ4FqqTe.js +1 -0
- package/dist/assets/{documentation-panel-D4iq1tSm.js → documentation-panel-DYKAf6Sg.js} +1 -1
- package/dist/assets/{dom-4KyFHEbl.js → dom-CT3dAMQW.js} +1 -1
- package/dist/assets/{download-C4Fyu6kU.js → download-B4_BX7gi.js} +1 -1
- package/dist/assets/{download-qt61TbgC.js → download-BB5Iexmn.js} +1 -1
- package/dist/assets/{dropdown-menu-Bp1vhqcS.js → dropdown-menu-CJDB1PNI.js} +1 -1
- package/dist/assets/edit-page-BK3Irdme.js +12 -0
- package/dist/assets/{ellipsis-DVXWk8Lc.js → ellipsis-CJtiw1k3.js} +1 -1
- package/dist/assets/{ellipsis-vertical-DfpheMuY.js → ellipsis-vertical-DK--y082.js} +1 -1
- package/dist/assets/{en-US-B2g9dciI.js → en-US-CjWuOpsV.js} +1 -1
- package/dist/assets/{erDiagram-AWTI2OKA-DxxWZrYD.js → erDiagram-AWTI2OKA-9EqwLrlG.js} +1 -1
- package/dist/assets/{error-banner-ARu6PiHL.js → error-banner-BGjnZePp.js} +1 -1
- package/dist/assets/error-panel-CrkbkIF_.js +1 -0
- package/dist/assets/{es-C0Ih1AxE.js → es-C-CWIA-E.js} +1 -1
- package/dist/assets/{esm-BR7TuyMc.js → esm-7XxuulnL.js} +1 -1
- package/dist/assets/{esm-Cb-iIF_w.js → esm-B39og2OG.js} +1 -1
- package/dist/assets/{esm-BIF8NHm8.js → esm-BBn_y9Ew.js} +1 -1
- package/dist/assets/esm-DjUQOOJ2.js +1 -0
- package/dist/assets/{eye-off-BEVibdMQ.js → eye-off-9UMe_Y7D.js} +1 -1
- package/dist/assets/field-D6g5A_wf.js +1 -0
- package/dist/assets/{file-DqkkCGhs.js → file-BENStGHx.js} +1 -1
- package/dist/assets/file-explorer-panel-Cgv3WjVh.js +1 -0
- package/dist/assets/{file-plus-2-BCmZgbYs.js → file-plus-2-CloHhbsF.js} +1 -1
- package/dist/assets/{file-text-DNmaotaP.js → file-text-Lr1kJd4E.js} +1 -1
- package/dist/assets/{file-video-camera-C5lALvNf.js → file-video-camera-CfnyBQQe.js} +1 -1
- package/dist/assets/filename-B5Yo1bOu.js +1 -0
- package/dist/assets/{floating-outline-Cjas_exC.js → floating-outline-DZnSnZfg.js} +1 -1
- package/dist/assets/{flowDiagram-PVAE7QVJ-DlTZtqcN.js → flowDiagram-PVAE7QVJ-iOj6Qgu-.js} +1 -1
- package/dist/assets/{focus-OWoLlKnm.js → focus-Bnk25hTp.js} +1 -1
- package/dist/assets/{form-xOqp67zT.js → form-BGZvwlog.js} +1 -1
- package/dist/assets/{form--nX5W3gQ.js → form-DyKYT1WR.js} +1 -1
- package/dist/assets/{formats-C8bbggqj.js → formats-CWdWXhfT.js} +1 -1
- package/dist/assets/{fullscreen-BFmvQx5m.js → fullscreen-DTPr3iBY.js} +1 -1
- package/dist/assets/{ganttDiagram-OWAHRB6G-BEPmawB5.js → ganttDiagram-OWAHRB6G-BWbXeAXa.js} +1 -1
- package/dist/assets/{gitGraph-ZV4HHKMB-DsmmnKI3.js → gitGraph-ZV4HHKMB-BpeeuO4L.js} +1 -1
- package/dist/assets/{gitGraphDiagram-NY62KEGX-DfTKmX9v.js → gitGraphDiagram-NY62KEGX-BX3O-mzY.js} +1 -1
- package/dist/assets/{glide-data-editor-CzDe-oK3.js → glide-data-editor-C45ArX7n.js} +4 -4
- package/dist/assets/globals-BFoVgbHf.js +1 -0
- package/dist/assets/{globe-CgG1jfYF.js → globe-CPrVx8HM.js} +1 -1
- package/dist/assets/home-page-DhT6cm6c.js +4 -0
- package/dist/assets/{image-DXGqie4b.js → image-DTv0Ic6H.js} +1 -1
- package/dist/assets/{index-DtggTI4O.js → index-29P5xX8u.js} +11 -11
- package/dist/assets/index-Optxbl37.css +2 -0
- package/dist/assets/{info-63CPKGFF-BVRAJzgS.js → info-63CPKGFF-Czr08O9A.js} +1 -1
- package/dist/assets/{infoDiagram-STP46IZ2-CcEqfhrj.js → infoDiagram-STP46IZ2-C1JX9JfB.js} +1 -1
- package/dist/assets/input-C1RzjWSK.js +7 -0
- package/dist/assets/{isValid-gOtpcPxn.js → isValid-o3nZVu8e.js} +1 -1
- package/dist/assets/{journeyDiagram-BIP6EPQ6-CfxDuLls.js → journeyDiagram-BIP6EPQ6-CC2JvTQD.js} +1 -1
- package/dist/assets/{kanban-definition-6OIFK2YF-BwopERfW.js → kanban-definition-6OIFK2YF-3qAhCi66.js} +1 -1
- package/dist/assets/{key-BuxNhFKW.js → key-D4QiH_7H.js} +1 -1
- package/dist/assets/{kiosk-mode--OX2RHZj.js → kiosk-mode-Dy2WnuWt.js} +1 -1
- package/dist/assets/{label-COeaBwl_.js → label-BEUjZsdo.js} +1 -1
- package/dist/assets/{layout-CKoMTVJt.js → layout-C6K0XXFK.js} +3 -3
- package/dist/assets/{linear-BI0LBATm.js → linear-nWRf49aw.js} +1 -1
- package/dist/assets/{link-DSY8ADga.js → link-CDOxp9sn.js} +1 -1
- package/dist/assets/links-D-L0rzz9.js +1 -0
- package/dist/assets/{list-filter-D2Wx3thV.js → list-filter-CRC72QPW.js} +1 -1
- package/dist/assets/{loader-CPDA0quD.js → loader-CgbiPC_T.js} +1 -1
- package/dist/assets/logs-panel-BB-6orqg.js +1 -0
- package/dist/assets/{maps-CxCIYhRT.js → maps-DaQbs_UR.js} +1 -1
- package/dist/assets/{menu-items-COILZQ4q.js → menu-items-Bo6Dyd_Q.js} +1 -1
- package/dist/assets/{mermaid-oqJ6vLFm.js → mermaid-Bqzxmx0C.js} +1 -1
- package/dist/assets/{mermaid-parser.core-8414a7OP.js → mermaid-parser.core-CwRCqiGJ.js} +2 -2
- package/dist/assets/{mermaid.core-CKfX2q8j.js → mermaid.core-C4o4vdkw.js} +3 -3
- package/dist/assets/mermaid.core-DjncFP_O.js +1 -0
- package/dist/assets/{mindmap-definition-Q6HEUPPD-nadsjaMC.js → mindmap-definition-Q6HEUPPD-pLcSm-bI.js} +1 -1
- package/dist/assets/{mode-CBh2Ag_Y.js → mode-DQPKc-Hp.js} +1 -1
- package/dist/assets/{name-cell-input-CAG50xh2.js → name-cell-input-DQd65hJw.js} +1 -1
- package/dist/assets/{number-overlay-editor-CbWBjwI1.js → number-overlay-editor-Ce_FEpnn.js} +1 -1
- package/dist/assets/once-8ZDiGGtA.js +1 -0
- package/dist/assets/outline-panel-BJDiYH61.js +1 -0
- package/dist/assets/packages-panel-D_VswrEd.js +1 -0
- package/dist/assets/{packet-HUATNLJX-BJ_b_gYi.js → packet-HUATNLJX-C5NsAS_7.js} +1 -1
- package/dist/assets/{pie-WTHONI2E-CS2JfH5S.js → pie-WTHONI2E-BCNGQ0_9.js} +1 -1
- package/dist/assets/{pieDiagram-ADFJNKIX-DP_lAtPz.js → pieDiagram-ADFJNKIX-CUCBn1VN.js} +1 -1
- package/dist/assets/plug-DrNpofTj.js +1 -0
- package/dist/assets/{plus-C1zexBxS.js → plus-d2HNOuZI.js} +1 -1
- package/dist/assets/{popover-CLp_lH16.js → popover-DW0D4l0O.js} +1 -1
- package/dist/assets/{precisionRound-CR2cxaaR.js → precisionRound-TxjBk8nN.js} +1 -1
- package/dist/assets/{quadrantDiagram-LMRXKWRM-gzT_-w3S.js → quadrantDiagram-LMRXKWRM-C6DXTSnZ.js} +1 -1
- package/dist/assets/{radar-NJJJXTRR-ChMDxgqR.js → radar-NJJJXTRR-Cck-wBOB.js} +1 -1
- package/dist/assets/{react-plotly-DUuIpNDT.js → react-plotly-x7-8ig7L.js} +1 -1
- package/dist/assets/{readonly-python-code-DMLMHG1v.js → readonly-python-code-Cb7Ak_Dy.js} +1 -1
- package/dist/assets/{refresh-ccw-lUiAEOAx.js → refresh-ccw-CCJeTTJO.js} +1 -1
- package/dist/assets/{refresh-cw-CSv3xyYY.js → refresh-cw-B_tmnHav.js} +1 -1
- package/dist/assets/{renderShortcut-DMYtt-ju.js → renderShortcut-C9_NT6sD.js} +1 -1
- package/dist/assets/{request-registry-4Bq310sk.js → request-registry-D4PD0fDJ.js} +1 -1
- package/dist/assets/{requirementDiagram-4UW4RH46-aavD0qQF.js → requirementDiagram-4UW4RH46-Bj7w3axz.js} +1 -1
- package/dist/assets/run-page-D9jntYU0.js +1 -0
- package/dist/assets/{runs-CItfCHkl.js → runs-BWcKkv9g.js} +1 -1
- package/dist/assets/{sankeyDiagram-GR3RE2ED-r95m_h3N.js → sankeyDiagram-GR3RE2ED-DCmlCkUu.js} +1 -1
- package/dist/assets/{save-Bg0tsaXV.js → save-CVcbYdvl.js} +1 -1
- package/dist/assets/scratchpad-panel-BUGlPLwQ.js +1 -0
- package/dist/assets/{scroll-text-SAt1GCBr.js → scroll-text-CN-2fr92.js} +1 -1
- package/dist/assets/secrets-panel-DGPyMcTb.js +1 -0
- package/dist/assets/{select-CMG6DC3j.js → select-DKRTzlUU.js} +1 -1
- package/dist/assets/{send-ePQN2mpH.js → send-DRRBOpzT.js} +1 -1
- package/dist/assets/{sequenceDiagram-C3RYC4MD-C4GqHIgf.js → sequenceDiagram-C3RYC4MD-CtIOF8jj.js} +1 -1
- package/dist/assets/{settings-TIv8aSog.js → settings-6ySBJQ7Y.js} +1 -1
- package/dist/assets/{share-CUbi0XlA.js → share-Dcl7D_tA.js} +1 -1
- package/dist/assets/snippets-panel-CKi40HiX.js +1 -0
- package/dist/assets/{spinner-CxlO4-GJ.js → spinner-BhnfQOEl.js} +1 -1
- package/dist/assets/{square-uM1ci7iL.js → square-DKPXnMmD.js} +1 -1
- package/dist/assets/{square-function-OflPQrBg.js → square-function-DBJINsmk.js} +1 -1
- package/dist/assets/{square-terminal-DZAwMMdQ.js → square-terminal-DoFRZ-M6.js} +1 -1
- package/dist/assets/{src-BOK-SWX4.js → src-KuQao6GK.js} +1 -1
- package/dist/assets/state-B37sZn4X.js +1 -0
- package/dist/assets/{state-COfuW2QS.js → state-CEmS5WFQ.js} +1 -1
- package/dist/assets/state-jvUYiWCG.js +1 -0
- package/dist/assets/{stateDiagram-KXAO66HF-CdN43FzO.js → stateDiagram-KXAO66HF-DwZscOce.js} +1 -1
- package/dist/assets/stateDiagram-v2-UMBNRL4Z-D5XUGcJP.js +1 -0
- package/dist/assets/stex-C7nwqmPk.js +1 -0
- package/dist/assets/storage-CaQ7kwuv.js +1 -0
- package/dist/assets/{switch-BKaPFRvh.js → switch-B5bMMWJn.js} +1 -1
- package/dist/assets/{tabs-C8HicIPZ.js → tabs-8ThyQfYh.js} +1 -1
- package/dist/assets/{terminal-Cnm8ANjQ.js → terminal-CPdYItDn.js} +1 -1
- package/dist/assets/{text-search-DpMeajoz.js → text-search-iEvFn29l.js} +1 -1
- package/dist/assets/{textarea-DhU2DWSB.js → textarea-B-_OthMe.js} +1 -1
- package/dist/assets/{time-Dzg4b75Q.js → time-BkIHCvH2.js} +1 -1
- package/dist/assets/{timeline-definition-XQNQX7LJ-D48ppGT8.js → timeline-definition-XQNQX7LJ-BGsZ09p6.js} +1 -1
- package/dist/assets/{toDate-BartytS4.js → toDate-Daj1hQSF.js} +1 -1
- package/dist/assets/{toggle-BLLoLiay.js → toggle-BpFqu8FB.js} +1 -1
- package/dist/assets/{tooltip-BjoMzmCN.js → tooltip-ULHbIsj9.js} +1 -1
- package/dist/assets/tracing-UKZUjbDB.js +2 -0
- package/dist/assets/tracing-panel-CuDItRLt.js +2 -0
- package/dist/assets/{trash-2-GOPu47oc.js → trash-2-3UJSaMKF.js} +1 -1
- package/dist/assets/{trash-BpVsWH8l.js → trash-CYX7fe5Y.js} +1 -1
- package/dist/assets/{tree-qyAlDlFy.js → tree-3z9r1N_5.js} +1 -1
- package/dist/assets/{treemap-75Q7IDZK-B4o24kyC.js → treemap-75Q7IDZK-MX1Hmq0m.js} +1 -1
- package/dist/assets/{type-C9leWRlU.js → type-kF6pOJbH.js} +1 -1
- package/dist/assets/{types-BBD3GQ0S.js → types-DQDL7dro.js} +1 -1
- package/dist/assets/{types-DEwRoAG0.js → types-DyTIgBnH.js} +1 -1
- package/dist/assets/{useAddCell-DJhNA_O5.js → useAddCell-Dq3HqYz1.js} +1 -1
- package/dist/assets/{useAsyncData-BEqqunls.js → useAsyncData-D9GA9BWg.js} +1 -1
- package/dist/assets/{useBoolean-DnggoYme.js → useBoolean-CSR3XjhE.js} +1 -1
- package/dist/assets/{useCellActionButton-B_a4Sv2X.js → useCellActionButton-BAG0Vvnt.js} +1 -1
- package/dist/assets/{useDateFormatter-DjmrLzxH.js → useDateFormatter-DrFLqO1D.js} +1 -1
- package/dist/assets/{useDebounce-9_rqRiHk.js → useDebounce-_ztZiL0I.js} +1 -1
- package/dist/assets/{useDeepCompareMemoize-DIhr42Iz.js → useDeepCompareMemoize-BsZY8i2r.js} +1 -1
- package/dist/assets/{useDeleteCell-DVNOLjwN.js → useDeleteCell-CJaipocw.js} +1 -1
- package/dist/assets/useHotkey-DkiyGPLs.js +1 -0
- package/dist/assets/{useInstallPackage-CTHO3tj3.js → useInstallPackage-DoKAq17E.js} +1 -1
- package/dist/assets/useNotebookActions-CQd8IgyR.js +1 -0
- package/dist/assets/useSplitCell-Dodncnp8.js +1 -0
- package/dist/assets/{useTheme-C5JyqXTm.js → useTheme-oPMxEKRc.js} +1 -1
- package/dist/assets/{utilities.esm-DbqS7Pjb.js → utilities.esm-DcV_e-D3.js} +1 -1
- package/dist/assets/utils-DBmmAf_K.js +1 -0
- package/dist/assets/variable-panel-BCihDsBL.js +1 -0
- package/dist/assets/{vega-component-D1ZJxK-L.js → vega-component-CWMEFM7y.js} +1 -1
- package/dist/assets/{vega-loader.browser.module-Jwd7L8Ye.js → vega-loader.browser.module-BkWiTok0.js} +1 -1
- package/dist/assets/{with-selector-CXhuorCH.js → with-selector-BmLsipPw.js} +1 -1
- package/dist/assets/{workflow-Covue_dW.js → workflow-DA01FBLw.js} +1 -1
- package/dist/assets/{wrench-DNJq8NCj.js → wrench-B2m2X1sb.js} +1 -1
- package/dist/assets/{write-secret-modal-qe46KOIw.js → write-secret-modal-Dx9oubag.js} +1 -1
- package/dist/assets/{xychartDiagram-6GGTOJPD-DK41sZTI.js → xychartDiagram-6GGTOJPD-D-i5LTeX.js} +1 -1
- package/dist/assets/{youtube-0-RiaVkr.js → youtube-Bl4NeyvA.js} +1 -1
- package/dist/index.html +155 -155
- package/package.json +1 -1
- package/src/__tests__/chat-history.test.ts +123 -0
- package/src/components/app-config/ai-config.tsx +23 -0
- package/src/components/app-config/mcp-config.tsx +42 -2
- package/src/components/app-config/user-config-form.tsx +0 -24
- package/src/components/chat/acp/__tests__/context-utils.test.ts +1 -1
- package/src/components/chat/acp/agent-panel.tsx +1 -1
- package/src/components/chat/acp/blocks.tsx +46 -53
- package/src/components/chat/acp/common.tsx +1 -1
- package/src/components/chat/acp/context-utils.ts +1 -1
- package/src/components/chat/acp/session-tabs.tsx +1 -1
- package/src/components/chat/chat-history-popover.tsx +125 -0
- package/src/components/chat/chat-history-utils.ts +69 -0
- package/src/components/chat/chat-panel.tsx +9 -57
- package/src/components/editor/__tests__/data-attributes.test.tsx +1 -1
- package/src/components/editor/actions/useNotebookActions.tsx +2 -4
- package/src/components/editor/ai/__tests__/completion-utils.test.ts +23 -31
- package/src/components/editor/cell/CreateCellButton.tsx +14 -2
- package/src/components/editor/cell/code/cell-editor.tsx +1 -0
- package/src/components/editor/database/schemas.ts +2 -10
- package/src/components/editor/{Cell.tsx → notebook-cell.tsx} +5 -1
- package/src/components/editor/output/MarimoErrorOutput.tsx +4 -34
- package/src/components/editor/renderers/{CellArray.tsx → cell-array.tsx} +1 -1
- package/src/components/forms/__tests__/form-utils.test.ts +2 -2
- package/src/components/mcp/hooks.ts +48 -0
- package/src/components/mcp/mcp-status-indicator.tsx +144 -0
- package/src/components/ui/number-field.tsx +4 -1
- package/src/core/ai/context/providers/__tests__/__snapshots__/tables.test.ts.snap +13 -19
- package/src/core/ai/context/providers/__tests__/cell-output.test.ts +0 -1
- package/src/core/ai/context/providers/__tests__/datasource.test.ts +5 -6
- package/src/core/ai/context/providers/__tests__/error.test.ts +24 -15
- package/src/core/ai/context/providers/cell-output.ts +5 -5
- package/src/core/ai/context/providers/common.ts +13 -4
- package/src/core/ai/context/providers/datasource.ts +31 -20
- package/src/core/ai/context/providers/error.ts +3 -4
- package/src/core/ai/context/providers/file.ts +2 -2
- package/src/core/ai/context/providers/tables.ts +36 -8
- package/src/core/ai/context/providers/variable.ts +2 -3
- package/src/core/cells/__tests__/cells.test.ts +6 -6
- package/src/core/cells/cells.ts +12 -13
- package/src/core/cells/scrollCellIntoView.ts +1 -1
- package/src/core/codemirror/__tests__/setup.test.ts +1 -0
- package/src/core/codemirror/cm.ts +3 -2
- package/src/core/config/__tests__/config-schema.test.ts +2 -0
- package/src/core/config/config-schema.ts +2 -0
- package/src/core/config/feature-flag.tsx +0 -2
- package/src/core/edit-app.tsx +1 -1
- package/src/core/network/CachingRequestRegistry.ts +2 -2
- package/src/stories/cell.stories.tsx +1 -1
- package/src/stories/layout/vertical/one-column.stories.tsx +1 -1
- package/src/utils/numbers.ts +24 -1
- package/dist/assets/MarimoErrorOutput-CUb4AQdT.js +0 -6
- package/dist/assets/add-cell-with-ai-DCyfgnLI.js +0 -36
- package/dist/assets/agent-panel-B_MMb9mo.js +0 -287
- package/dist/assets/ai-model-dropdown-Dk9Kz_pz.js +0 -2
- package/dist/assets/api-DBBaApVO.js +0 -1
- package/dist/assets/app-config-button-Cbw9b5rl.js +0 -1
- package/dist/assets/cell-link-woRE950-.js +0 -1
- package/dist/assets/channel-D-YgrD6I.js +0 -1
- package/dist/assets/chat-panel-DLphumiN.js +0 -3
- package/dist/assets/check-hL6-9SZK.js +0 -1
- package/dist/assets/circle-check-big-C7DGeh12.js +0 -1
- package/dist/assets/classDiagram-KNZD7YFC-yzXw7kFX.js +0 -1
- package/dist/assets/classDiagram-v2-RKCZMP56-Co2zbBi0.js +0 -1
- package/dist/assets/client-CA946N69.js +0 -2
- package/dist/assets/column-preview-BT14RHNM.js +0 -2
- package/dist/assets/command-palette-qYrNUNjA.js +0 -1
- package/dist/assets/datasources-panel-2YJ76Lq8.js +0 -1
- package/dist/assets/dependency-graph-panel-CnzvmPdT.js +0 -4
- package/dist/assets/dist-BtRvVXgu.js +0 -1
- package/dist/assets/dist-CAZ5kHnb.js +0 -1
- package/dist/assets/dist-CN8IvtVY.js +0 -1
- package/dist/assets/dist-Cw007UHk.js +0 -1
- package/dist/assets/dist-DEfSR7VW.js +0 -1
- package/dist/assets/dist-DSbiMNpu.js +0 -1
- package/dist/assets/dist-DeIZvG9x.js +0 -1
- package/dist/assets/dist-DyZWkD0n.js +0 -1
- package/dist/assets/dist-hfODPqg9.js +0 -1
- package/dist/assets/edit-page-Bt_YqRld.js +0 -12
- package/dist/assets/error-panel-dvBEznKE.js +0 -1
- package/dist/assets/esm-hOS9Yf3s.js +0 -1
- package/dist/assets/field-Ota1KKvP.js +0 -1
- package/dist/assets/file-explorer-panel-Pa89UfV1.js +0 -1
- package/dist/assets/filename-BYm5Do9U.js +0 -1
- package/dist/assets/home-page-B3bIZC6F.js +0 -4
- package/dist/assets/index-BQd14tU4.css +0 -2
- package/dist/assets/input-Dm-m3XYB.js +0 -7
- package/dist/assets/links-CQoApRoA.js +0 -1
- package/dist/assets/logs-panel-R50NxjC7.js +0 -1
- package/dist/assets/mermaid.core-BjBlUxCx.js +0 -1
- package/dist/assets/numbers-DtHKLeOn.js +0 -1
- package/dist/assets/outline-panel-CB2kV_p5.js +0 -1
- package/dist/assets/packages-panel-BpFuUbAr.js +0 -1
- package/dist/assets/run-page-ClDuCh42.js +0 -1
- package/dist/assets/scratchpad-panel-BRljth0m.js +0 -1
- package/dist/assets/secrets-panel-CQON2dfx.js +0 -1
- package/dist/assets/snippets-panel-C0OdhmTA.js +0 -1
- package/dist/assets/state-DaDgAzck.js +0 -1
- package/dist/assets/state-Do6Fn2Io.js +0 -1
- package/dist/assets/stateDiagram-v2-UMBNRL4Z-Bi0DZGHg.js +0 -1
- package/dist/assets/stex-CbLDtSMU.js +0 -1
- package/dist/assets/storage-DFOl3UlZ.js +0 -1
- package/dist/assets/tracing-k1M6Upka.js +0 -2
- package/dist/assets/tracing-panel-CyG4yTCu.js +0 -2
- package/dist/assets/useHotkey-CJ5v8JMM.js +0 -1
- package/dist/assets/useNotebookActions-BB-5-4dL.js +0 -1
- package/dist/assets/useSplitCell-Cy53n7mS.js +0 -1
- package/dist/assets/utils-CfnN8i3Y.js +0 -1
- package/dist/assets/variable-panel-Dd_6lOoR.js +0 -1
- /package/dist/assets/{Deferred-BIEvCvJC.js → Deferred-Mppm0cvJ.js} +0 -0
- /package/dist/assets/{alert-B2-Y1fzf.js → alert-hjKHAeOD.js} +0 -0
- /package/dist/assets/{badge-D5b5ze0K.js → badge-DJuT6BaT.js} +0 -0
- /package/dist/assets/{blob-DFrnsWYL.js → blob-CTPcPiam.js} +0 -0
- /package/dist/assets/{connection-Cb7zku0y.js → connection-D2GvycR9.js} +0 -0
- /package/dist/assets/{copy-BiKQh0sU.js → copy-CkZsxeON.js} +0 -0
- /package/dist/assets/{createLucideIcon-Be9UM2Pe.js → createLucideIcon-QLW8E4z5.js} +0 -0
- /package/dist/assets/{createReducer-BaSP2BKE.js → createReducer-CFr1RdS2.js} +0 -0
- /package/dist/assets/{defaultLocale-DU4zdxes.js → defaultLocale-C6TNIE_k.js} +0 -0
- /package/dist/assets/{defaultLocale-BCtmQtCj.js → defaultLocale-DPsgYaXf.js} +0 -0
- /package/dist/assets/{dist-DIuPmJ5w.js → dist-Bz53xjA5.js} +0 -0
- /package/dist/assets/{dist-BhR4qmIv.js → dist-DcASoeRZ.js} +0 -0
- /package/dist/assets/{dist-BMAXVGJe.js → dist-Dlusp3mb.js} +0 -0
- /package/dist/assets/{documentation-BZROoSma.js → documentation-B7z6bB-t.js} +0 -0
- /package/dist/assets/{emotion-is-prop-valid.esm-plUNooLR.js → emotion-is-prop-valid.esm-BbphD4LX.js} +0 -0
- /package/dist/assets/{errors-qtuExmE-.js → errors-_3XAtRr3.js} +0 -0
- /package/dist/assets/{es-Hxx5X1vH.js → es-BVCqnQhJ.js} +0 -0
- /package/dist/assets/{extends--r5KbeWh.js → extends-Bwhapo2B.js} +0 -0
- /package/dist/assets/{fast-deep-equal-DT2Tke28.js → fast-deep-equal-BdzBWnNx.js} +0 -0
- /package/dist/assets/{icons-BUUt9FMo.js → icons-CLD-J5J3.js} +0 -0
- /package/dist/assets/{kbd-DItNvBdP.js → kbd-BQFiWIjd.js} +0 -0
- /package/dist/assets/{main-Co0CqoDt.js → main-CfqcqCNp.js} +0 -0
- /package/dist/assets/{marked.esm-BVjBUuHx.js → marked.esm-C_54K2ke.js} +0 -0
- /package/dist/assets/{namespace-BstGchRe.js → namespace-CnoeT75h.js} +0 -0
- /package/dist/assets/{objectWithoutPropertiesLoose-CGYpiDu4.js → objectWithoutPropertiesLoose-CDpgRi8_.js} +0 -0
- /package/dist/assets/{ordinal-DO1z0TEs.js → ordinal-CHS6rGcb.js} +0 -0
- /package/dist/assets/{preload-helper-CxnU7XTI.js → preload-helper-DImqtvgl.js} +0 -0
- /package/dist/assets/{prop-types-Bv8iPqhZ.js → prop-types-CHKlDUlJ.js} +0 -0
- /package/dist/assets/{range-CJAH1fu_.js → range-BPiwmiGf.js} +0 -0
- /package/dist/assets/{shim-Bk8nzKPV.js → shim-CWt9rDBn.js} +0 -0
- /package/dist/assets/{stex-CETff8Y9.js → stex-BrOrfhKB.js} +0 -0
- /package/dist/assets/{strings-1yw0WVap.js → strings-DYBy5ejj.js} +0 -0
- /package/dist/assets/{tslib.es6-DItc8Tbq.js → tslib.es6-dlz5WbC8.js} +0 -0
- /package/dist/assets/{use-toast-C07-frN_.js → use-toast-D6NNsC80.js} +0 -0
- /package/dist/assets/{useEvent-BIiDVnhT.js → useEvent-BOb1a9d1.js} +0 -0
- /package/dist/assets/{useLifecycle-Bnvt0QrQ.js → useLifecycle-BfeAlD80.js} +0 -0
- /package/dist/assets/{useNonce-Cw4ZAbgi.js → useNonce-BbWkd3B4.js} +0 -0
- /package/dist/assets/{useNumberFormatter-DYIEUCTe.js → useNumberFormatter-D21brJ0f.js} +0 -0
- /package/dist/assets/{uuid-BWz20PcF.js → uuid-4lb_EYpq.js} +0 -0
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
var Js=Object.defineProperty;var wa=t=>{throw TypeError(t)};var Gs=(t,e,a)=>e in t?Js(t,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[e]=a;var Q=(t,e,a)=>Gs(t,typeof e!="symbol"?e+"":e,a),Ft=(t,e,a)=>e.has(t)||wa("Cannot "+a);var X=(t,e,a)=>(Ft(t,e,"read from private field"),a?a.call(t):e.get(t)),Ce=(t,e,a)=>e.has(t)?wa("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,a),Fe=(t,e,a,s)=>(Ft(t,e,"write to private field"),s?s.call(t,a):e.set(t,a),a),Ie=(t,e,a)=>(Ft(t,e,"access private method"),a);var ka=(t,e,a,s)=>({set _(n){Fe(t,e,n,a)},get _(){return X(t,e,s)}});var pe,$s,tt,$t,ct,dt,ut,at,mt,se,Vs,Bs,Ks,Hs,Ys,lt,Fs;import{s as ye}from"./chunk-DZLz74EQ.js";import{i as ja,n as ht,o as Qs,r as Na}from"./react-7g8sREeT.js";import{t as Xs}from"./react-BcIddLXZ.js";import{Hn as en,Sn as Dt,Wn as tn,wr as an,xr as Ut}from"./cells-Dd1FatlG.js";import"./react-dom-D6bRRS5R.js";import"./zod-BEi78Y5d.js";import{n as Ee,t as sn}from"./jsx-runtime-DvsdsEjx.js";import"./_Uint8Array-CPNtPV0k.js";import"./isSymbol-D1Vf4s0g.js";import"./_arrayMap-DQI2GUNb.js";import"./toString-pPvo2488.js";import"./toNumber-Bjr00yqN.js";import"./toInteger-Qi6pclEF.js";import"./isArrayLikeObject-CQy5-FN4.js";import"./_getTag-C4fv2peH.js";import"./_baseIsEqual-Cdnsi4t8.js";import"./merge-DrdmtLTL.js";import"./_baseSlice-B27Cqkm6.js";import"./upperFirst-CVedXayx.js";import"./_hasUnicode-CPHpt5EV.js";import{t as zt}from"./capitalize-DcZ4F_0s.js";import"./_arrayReduce-DDpPg0Qh.js";import"./startCase-D58-CT5H.js";import"./_baseProperty-CIKnF2iY.js";import"./now-CKgsywea.js";import"./debounce-Bzqd6azt.js";import{r as Lt}from"./invariant-91cSKJcr.js";import{n as Sa,t as Je}from"./Logger-BkkOJyg0.js";import"./hotkeys-CBY41Jr2.js";import"./utils-DBmmAf_K.js";import"./constants-Cv7-oioA.js";import"./config-DXGmIv9f.js";import"./dist-CLazWf1X.js";import{t as fe}from"./cn-Dr9kMPPj.js";import"./dist-D-dnh2ed.js";import"./useEventListener-g9rPKvBX.js";import"./events-BGfCi1Xy.js";import{t as ne}from"./button-Bxk0BtBn.js";import"./dist-CoL9j4yJ.js";import"./dist-Cs8TISgf.js";import"./once-8ZDiGGtA.js";import"./documentation-B7z6bB-t.js";import"./createReducer-CFr1RdS2.js";import{a as nn}from"./key-D4QiH_7H.js";import"./preload-helper-DImqtvgl.js";import"./dist-Bz53xjA5.js";import"./dist-CyqTsfyg.js";import"./dist-CjoeBoZ9.js";import"./dist-Dlusp3mb.js";import"./dist-DzUKODTF.js";import"./dist-Dm8m1boP.js";import"./stex-BrOrfhKB.js";import"./Deferred-Mppm0cvJ.js";import{t as rn}from"./uuid-4lb_EYpq.js";import{t as qt}from"./use-toast-D6NNsC80.js";import"./main-CfqcqCNp.js";import"./marked.esm-C_54K2ke.js";import"./connection-D2GvycR9.js";import"./dist-DvDyxv8b.js";import"./useTheme-oPMxEKRc.js";import{t as We}from"./createLucideIcon-QLW8E4z5.js";import{T as on,g as ln,n as cn,v as dn,y as un}from"./add-cell-with-ai-CxM_YKzf.js";import"./between-horizontal-start-DWTOsiF_.js";import{n as Wt,t as mn}from"./square-DKPXnMmD.js";import{i as Vt}from"./ai-model-dropdown-DSUVFIso.js";import"./type-kF6pOJbH.js";import"./check-C5PVLNkJ.js";import{_ as pn,a as hn,h as Ca,i as fn,n as gn,r as vn,s as yn,t as xn}from"./select-DKRTzlUU.js";import"./chevron-right-BDEhimQq.js";import"./ansi_up-D_b0GS7N.js";import{n as Ia,t as _n}from"./plug-DrNpofTj.js";import"./toDate-Daj1hQSF.js";import{t as Bt}from"./circle-x-BsVcxKkV.js";import{a as bn,c as wn,p as kn,r as jn,t as Nn}from"./dropdown-menu-CJDB1PNI.js";import"./copy-6mpL4BeI.js";import"./download-BB5Iexmn.js";import{n as Sn,r as Cn,t as In}from"./file-video-camera-CfnyBQQe.js";import{t as Tn}from"./file-text-Lr1kJd4E.js";import{t as An}from"./file-BENStGHx.js";import"./image-DTv0Ic6H.js";import{n as Rn,t as On}from"./spinner-BhnfQOEl.js";import{n as En,t as Mn}from"./send-DRRBOpzT.js";import{t as Zn}from"./refresh-cw-B_tmnHav.js";import{n as Ta,t as Pn}from"./square-terminal-DoFRZ-M6.js";import{r as $n}from"./input-C1RzjWSK.js";import"./useDeleteCell-CJaipocw.js";import{t as Fn}from"./wrench-B2m2X1sb.js";import{r as Dn}from"./useNonce-BbWkd3B4.js";import{t as Un}from"./badge-DJuT6BaT.js";import"./namespace-CnoeT75h.js";import{r as zn,t as ft}from"./tooltip-ULHbIsj9.js";import"./useLifecycle-BfeAlD80.js";import"./menu-items-Bo6Dyd_Q.js";import"./fullscreen-DTPr3iBY.js";import"./tslib.es6-dlz5WbC8.js";import"./alert-dialog-BO8sf-73.js";import"./dialog-CR68_CUl.js";import"./useNumberFormatter-D21brJ0f.js";import"./shim-CWt9rDBn.js";import{n as re}from"./useEvent-BOb1a9d1.js";import"./useDebounce-_ztZiL0I.js";import"./ImperativeModal-BG5LTpV0.js";import{t as Ln}from"./strings-DYBy5ejj.js";import"./errors-_3XAtRr3.js";import"./copy-CkZsxeON.js";import{t as qn}from"./copy-icon-6ICckC-p.js";import"./RenderHTML-BoDLdBq-.js";import{i as Wn,n as Vn,r as Bn,t as Kn}from"./accordion-A41ffd5P.js";import{t as Aa}from"./JsonOutput-BID8Oos7.js";import"./emotion-is-prop-valid.esm-BbphD4LX.js";import"./extends-Bwhapo2B.js";import"./prop-types-CHKlDUlJ.js";import"./objectWithoutPropertiesLoose-CDpgRi8_.js";import"./with-selector-BmLsipPw.js";import"./kbd-BQFiWIjd.js";import"./renderShortcut-C9_NT6sD.js";import"./LazyAnyLanguageCodeMirror-RkzkO2YV.js";import{i as Ra,r as Oa,t as Ea}from"./popover-DW0D4l0O.js";import"./es-BVCqnQhJ.js";import"./dom-CT3dAMQW.js";import"./blob-CTPcPiam.js";import"./esm-7XxuulnL.js";import"./add-missing-import-CfRgNApn.js";import"./icons-CLD-J5J3.js";import{t as Hn}from"./filename-B5Yo1bOu.js";import"./focus-Bnk25hTp.js";import{n as Yn,r as Ma}from"./chat-components-OoNU4tLf.js";import"./katex-DBBxCH7Z.js";import{t as Za}from"./empty-state-TdWBDq6n.js";import{t as Jn}from"./state-CEmS5WFQ.js";var Gn=We("arrow-down",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]),Qn=We("circle-stop",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["rect",{x:"9",y:"9",width:"6",height:"6",rx:"1",key:"1ssd4o"}]]),Xn=We("file-audio-2",[["path",{d:"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v2",key:"17k7jt"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["circle",{cx:"3",cy:"17",r:"1",key:"vo6nti"}],["path",{d:"M2 17v-3a4 4 0 0 1 8 0v3",key:"1ggdre"}],["circle",{cx:"9",cy:"17",r:"1",key:"bc1fq4"}]]),er=We("shield-check",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]),tr=We("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]),st=We("wifi-off",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}],["path",{d:"M5 12.859a10 10 0 0 1 5.17-2.69",key:"1dl1wf"}],["path",{d:"M19 12.859a10 10 0 0 0-2.007-1.523",key:"4k23kn"}],["path",{d:"M2 8.82a15 15 0 0 1 4.177-2.643",key:"1grhjp"}],["path",{d:"M22 8.82a15 15 0 0 0-11.288-3.764",key:"z3jwby"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]),Kt=We("wifi",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M2 8.82a15 15 0 0 1 20 0",key:"dnpr2z"}],["path",{d:"M5 12.859a10 10 0 0 1 14 0",key:"1x1e6c"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}]]),z;(function(t){t.assertEqual=n=>{};function e(n){}t.assertIs=e;function a(n){throw Error()}t.assertNever=a,t.arrayToEnum=n=>{let r={};for(let i of n)r[i]=i;return r},t.getValidEnumValues=n=>{let r=t.objectKeys(n).filter(o=>typeof n[n[o]]!="number"),i={};for(let o of r)i[o]=n[o];return t.objectValues(i)},t.objectValues=n=>t.objectKeys(n).map(function(r){return n[r]}),t.objectKeys=typeof Object.keys=="function"?n=>Object.keys(n):n=>{let r=[];for(let i in n)Object.prototype.hasOwnProperty.call(n,i)&&r.push(i);return r},t.find=(n,r)=>{for(let i of n)if(r(i))return i},t.isInteger=typeof Number.isInteger=="function"?n=>Number.isInteger(n):n=>typeof n=="number"&&Number.isFinite(n)&&Math.floor(n)===n;function s(n,r=" | "){return n.map(i=>typeof i=="string"?`'${i}'`:i).join(r)}t.joinValues=s,t.jsonStringifyReplacer=(n,r)=>typeof r=="bigint"?r.toString():r})(z||(z={}));var ar;(function(t){t.mergeShapes=(e,a)=>({...e,...a})})(ar||(ar={}));const N=z.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),De=t=>{switch(typeof t){case"undefined":return N.undefined;case"string":return N.string;case"number":return Number.isNaN(t)?N.nan:N.number;case"boolean":return N.boolean;case"function":return N.function;case"bigint":return N.bigint;case"symbol":return N.symbol;case"object":return Array.isArray(t)?N.array:t===null?N.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?N.promise:typeof Map<"u"&&t instanceof Map?N.map:typeof Set<"u"&&t instanceof Set?N.set:typeof Date<"u"&&t instanceof Date?N.date:N.object;default:return N.unknown}},f=z.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);var ge=class Ds extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=s=>{this.issues=[...this.issues,s]},this.addIssues=(s=[])=>{this.issues=[...this.issues,...s]};let a=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,a):this.__proto__=a,this.name="ZodError",this.issues=e}format(e){let a=e||function(r){return r.message},s={_errors:[]},n=r=>{for(let i of r.issues)if(i.code==="invalid_union")i.unionErrors.map(n);else if(i.code==="invalid_return_type")n(i.returnTypeError);else if(i.code==="invalid_arguments")n(i.argumentsError);else if(i.path.length===0)s._errors.push(a(i));else{let o=s,c=0;for(;c<i.path.length;){let d=i.path[c];c===i.path.length-1?(o[d]=o[d]||{_errors:[]},o[d]._errors.push(a(i))):o[d]=o[d]||{_errors:[]},o=o[d],c++}}};return n(this),s}static assert(e){if(!(e instanceof Ds))throw Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,z.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=a=>a.message){let a={},s=[];for(let n of this.issues)if(n.path.length>0){let r=n.path[0];a[r]=a[r]||[],a[r].push(e(n))}else s.push(e(n));return{formErrors:s,fieldErrors:a}}get formErrors(){return this.flatten()}};ge.create=t=>new ge(t);var nt=(t,e)=>{let a;switch(t.code){case f.invalid_type:a=t.received===N.undefined?"Required":`Expected ${t.expected}, received ${t.received}`;break;case f.invalid_literal:a=`Invalid literal value, expected ${JSON.stringify(t.expected,z.jsonStringifyReplacer)}`;break;case f.unrecognized_keys:a=`Unrecognized key(s) in object: ${z.joinValues(t.keys,", ")}`;break;case f.invalid_union:a="Invalid input";break;case f.invalid_union_discriminator:a=`Invalid discriminator value. Expected ${z.joinValues(t.options)}`;break;case f.invalid_enum_value:a=`Invalid enum value. Expected ${z.joinValues(t.options)}, received '${t.received}'`;break;case f.invalid_arguments:a="Invalid function arguments";break;case f.invalid_return_type:a="Invalid function return type";break;case f.invalid_date:a="Invalid date";break;case f.invalid_string:typeof t.validation=="object"?"includes"in t.validation?(a=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position=="number"&&(a=`${a} at one or more positions greater than or equal to ${t.validation.position}`)):"startsWith"in t.validation?a=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?a=`Invalid input: must end with "${t.validation.endsWith}"`:z.assertNever(t.validation):a=t.validation==="regex"?"Invalid":`Invalid ${t.validation}`;break;case f.too_small:a=t.type==="array"?`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"||t.type==="bigint"?`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:"Invalid input";break;case f.too_big:a=t.type==="array"?`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:"Invalid input";break;case f.custom:a="Invalid input";break;case f.invalid_intersection_types:a="Intersection results could not be merged";break;case f.not_multiple_of:a=`Number must be a multiple of ${t.multipleOf}`;break;case f.not_finite:a="Number must be finite";break;default:a=e.defaultError,z.assertNever(t)}return{message:a}},sr=nt;function Ht(){return sr}const Yt=t=>{let{data:e,path:a,errorMaps:s,issueData:n}=t,r=[...a,...n.path||[]],i={...n,path:r};if(n.message!==void 0)return{...n,path:r,message:n.message};let o="",c=s.filter(d=>!!d).slice().reverse();for(let d of c)o=d(i,{data:e,defaultError:o}).message;return{...n,path:r,message:o}};function b(t,e){let a=Ht(),s=Yt({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,a,a===nt?void 0:nt].filter(n=>!!n)});t.common.issues.push(s)}var me=class Us{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,a){let s=[];for(let n of a){if(n.status==="aborted")return E;n.status==="dirty"&&e.dirty(),s.push(n.value)}return{status:e.value,value:s}}static async mergeObjectAsync(e,a){let s=[];for(let n of a){let r=await n.key,i=await n.value;s.push({key:r,value:i})}return Us.mergeObjectSync(e,s)}static mergeObjectSync(e,a){let s={};for(let n of a){let{key:r,value:i}=n;if(r.status==="aborted"||i.status==="aborted")return E;r.status==="dirty"&&e.dirty(),i.status==="dirty"&&e.dirty(),r.value!=="__proto__"&&(i.value!==void 0||n.alwaysSet)&&(s[r.value]=i.value)}return{status:e.value,value:s}}};const E=Object.freeze({status:"aborted"}),Jt=t=>({status:"dirty",value:t}),oe=t=>({status:"valid",value:t}),Pa=t=>t.status==="aborted",$a=t=>t.status==="dirty",Ge=t=>t.status==="valid",gt=t=>typeof Promise<"u"&&t instanceof Promise;var C;(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e==null?void 0:e.message})(C||(C={}));var Te=class{constructor(t,e,a,s){this._cachedPath=[],this.parent=t,this.data=e,this._path=a,this._key=s}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},Fa=(t,e)=>{if(Ge(e))return{success:!0,data:e.value};if(!t.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){return this._error||(this._error=new ge(t.common.issues)),this._error}}};function F(t){if(!t)return{};let{errorMap:e,invalid_type_error:a,required_error:s,description:n}=t;if(e&&(a||s))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:n}:{errorMap:(r,i)=>{let{message:o}=t;return r.code==="invalid_enum_value"?{message:o??i.defaultError}:i.data===void 0?{message:o??s??i.defaultError}:r.code==="invalid_type"?{message:o??a??i.defaultError}:{message:i.defaultError}},description:n}}var D=class{get description(){return this._def.description}_getType(t){return De(t.data)}_getOrReturnCtx(t,e){return e||{common:t.parent.common,data:t.data,parsedType:De(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new me,ctx:{common:t.parent.common,data:t.data,parsedType:De(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){let e=this._parse(t);if(gt(e))throw Error("Synchronous parse encountered promise.");return e}_parseAsync(t){let e=this._parse(t);return Promise.resolve(e)}parse(t,e){let a=this.safeParse(t,e);if(a.success)return a.data;throw a.error}safeParse(t,e){let a={common:{issues:[],async:(e==null?void 0:e.async)??!1,contextualErrorMap:e==null?void 0:e.errorMap},path:(e==null?void 0:e.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:De(t)},s=this._parseSync({data:t,path:a.path,parent:a});return Fa(a,s)}"~validate"(t){var a,s;let e={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:De(t)};if(!this["~standard"].async)try{let n=this._parseSync({data:t,path:[],parent:e});return Ge(n)?{value:n.value}:{issues:e.common.issues}}catch(n){(s=(a=n==null?void 0:n.message)==null?void 0:a.toLowerCase())!=null&&s.includes("encountered")&&(this["~standard"].async=!0),e.common={issues:[],async:!0}}return this._parseAsync({data:t,path:[],parent:e}).then(n=>Ge(n)?{value:n.value}:{issues:e.common.issues})}async parseAsync(t,e){let a=await this.safeParseAsync(t,e);if(a.success)return a.data;throw a.error}async safeParseAsync(t,e){let a={common:{issues:[],contextualErrorMap:e==null?void 0:e.errorMap,async:!0},path:(e==null?void 0:e.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:De(t)},s=this._parse({data:t,path:a.path,parent:a}),n=await(gt(s)?s:Promise.resolve(s));return Fa(a,n)}refine(t,e){let a=s=>typeof e=="string"||e===void 0?{message:e}:typeof e=="function"?e(s):e;return this._refinement((s,n)=>{let r=t(s),i=()=>n.addIssue({code:f.custom,...a(s)});return typeof Promise<"u"&&r instanceof Promise?r.then(o=>o?!0:(i(),!1)):r?!0:(i(),!1)})}refinement(t,e){return this._refinement((a,s)=>t(a)?!0:(s.addIssue(typeof e=="function"?e(a,s):e),!1))}_refinement(t){return new Me({schema:this,typeName:M.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:e=>this["~validate"](e)}}optional(){return Ze.create(this,this._def)}nullable(){return Be.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Xe.create(this)}promise(){return rt.create(this,this._def)}or(t){return _t.create([this,t],this._def)}and(t){return bt.create(this,t,this._def)}transform(t){return new Me({...F(this._def),schema:this,typeName:M.ZodEffects,effect:{type:"transform",transform:t}})}default(t){let e=typeof t=="function"?t:()=>t;return new St({...F(this._def),innerType:this,defaultValue:e,typeName:M.ZodDefault})}brand(){return new qa({typeName:M.ZodBranded,type:this,...F(this._def)})}catch(t){let e=typeof t=="function"?t:()=>t;return new Ct({...F(this._def),innerType:this,catchValue:e,typeName:M.ZodCatch})}describe(t){let e=this.constructor;return new e({...this._def,description:t})}pipe(t){return Wa.create(this,t)}readonly(){return It.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},nr=/^c[^\s-]{8,}$/i,rr=/^[0-9a-z]+$/,ir=/^[0-9A-HJKMNP-TV-Z]{26}$/i,or=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,lr=/^[a-z0-9_-]{21}$/i,cr=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,dr=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,ur=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,mr="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Da,pr=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,hr=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,fr=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,gr=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,vr=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,yr=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Ua="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",xr=RegExp(`^${Ua}$`);function za(t){let e="[0-5]\\d";t.precision?e=`${e}\\.\\d{${t.precision}}`:t.precision??(e=`${e}(\\.\\d+)?`);let a=t.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${e})${a}`}function _r(t){return RegExp(`^${za(t)}$`)}function br(t){let e=`${Ua}T${za(t)}`,a=[];return a.push(t.local?"Z?":"Z"),t.offset&&a.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${a.join("|")})`,RegExp(`^${e}$`)}function wr(t,e){return!!((e==="v4"||!e)&&pr.test(t)||(e==="v6"||!e)&&fr.test(t))}function kr(t,e){if(!cr.test(t))return!1;try{let[a]=t.split(".");if(!a)return!1;let s=a.replace(/-/g,"+").replace(/_/g,"/").padEnd(a.length+(4-a.length%4)%4,"="),n=JSON.parse(atob(s));return!(typeof n!="object"||!n||"typ"in n&&(n==null?void 0:n.typ)!=="JWT"||!n.alg||e&&n.alg!==e)}catch{return!1}}function jr(t,e){return!!((e==="v4"||!e)&&hr.test(t)||(e==="v6"||!e)&&gr.test(t))}var vt=class ot extends D{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==N.string){let n=this._getOrReturnCtx(e);return b(n,{code:f.invalid_type,expected:N.string,received:n.parsedType}),E}let a=new me,s;for(let n of this._def.checks)if(n.kind==="min")e.data.length<n.value&&(s=this._getOrReturnCtx(e,s),b(s,{code:f.too_small,minimum:n.value,type:"string",inclusive:!0,exact:!1,message:n.message}),a.dirty());else if(n.kind==="max")e.data.length>n.value&&(s=this._getOrReturnCtx(e,s),b(s,{code:f.too_big,maximum:n.value,type:"string",inclusive:!0,exact:!1,message:n.message}),a.dirty());else if(n.kind==="length"){let r=e.data.length>n.value,i=e.data.length<n.value;(r||i)&&(s=this._getOrReturnCtx(e,s),r?b(s,{code:f.too_big,maximum:n.value,type:"string",inclusive:!0,exact:!0,message:n.message}):i&&b(s,{code:f.too_small,minimum:n.value,type:"string",inclusive:!0,exact:!0,message:n.message}),a.dirty())}else if(n.kind==="email")ur.test(e.data)||(s=this._getOrReturnCtx(e,s),b(s,{validation:"email",code:f.invalid_string,message:n.message}),a.dirty());else if(n.kind==="emoji")Da||(Da=new RegExp(mr,"u")),Da.test(e.data)||(s=this._getOrReturnCtx(e,s),b(s,{validation:"emoji",code:f.invalid_string,message:n.message}),a.dirty());else if(n.kind==="uuid")or.test(e.data)||(s=this._getOrReturnCtx(e,s),b(s,{validation:"uuid",code:f.invalid_string,message:n.message}),a.dirty());else if(n.kind==="nanoid")lr.test(e.data)||(s=this._getOrReturnCtx(e,s),b(s,{validation:"nanoid",code:f.invalid_string,message:n.message}),a.dirty());else if(n.kind==="cuid")nr.test(e.data)||(s=this._getOrReturnCtx(e,s),b(s,{validation:"cuid",code:f.invalid_string,message:n.message}),a.dirty());else if(n.kind==="cuid2")rr.test(e.data)||(s=this._getOrReturnCtx(e,s),b(s,{validation:"cuid2",code:f.invalid_string,message:n.message}),a.dirty());else if(n.kind==="ulid")ir.test(e.data)||(s=this._getOrReturnCtx(e,s),b(s,{validation:"ulid",code:f.invalid_string,message:n.message}),a.dirty());else if(n.kind==="url")try{new URL(e.data)}catch{s=this._getOrReturnCtx(e,s),b(s,{validation:"url",code:f.invalid_string,message:n.message}),a.dirty()}else n.kind==="regex"?(n.regex.lastIndex=0,n.regex.test(e.data)||(s=this._getOrReturnCtx(e,s),b(s,{validation:"regex",code:f.invalid_string,message:n.message}),a.dirty())):n.kind==="trim"?e.data=e.data.trim():n.kind==="includes"?e.data.includes(n.value,n.position)||(s=this._getOrReturnCtx(e,s),b(s,{code:f.invalid_string,validation:{includes:n.value,position:n.position},message:n.message}),a.dirty()):n.kind==="toLowerCase"?e.data=e.data.toLowerCase():n.kind==="toUpperCase"?e.data=e.data.toUpperCase():n.kind==="startsWith"?e.data.startsWith(n.value)||(s=this._getOrReturnCtx(e,s),b(s,{code:f.invalid_string,validation:{startsWith:n.value},message:n.message}),a.dirty()):n.kind==="endsWith"?e.data.endsWith(n.value)||(s=this._getOrReturnCtx(e,s),b(s,{code:f.invalid_string,validation:{endsWith:n.value},message:n.message}),a.dirty()):n.kind==="datetime"?br(n).test(e.data)||(s=this._getOrReturnCtx(e,s),b(s,{code:f.invalid_string,validation:"datetime",message:n.message}),a.dirty()):n.kind==="date"?xr.test(e.data)||(s=this._getOrReturnCtx(e,s),b(s,{code:f.invalid_string,validation:"date",message:n.message}),a.dirty()):n.kind==="time"?_r(n).test(e.data)||(s=this._getOrReturnCtx(e,s),b(s,{code:f.invalid_string,validation:"time",message:n.message}),a.dirty()):n.kind==="duration"?dr.test(e.data)||(s=this._getOrReturnCtx(e,s),b(s,{validation:"duration",code:f.invalid_string,message:n.message}),a.dirty()):n.kind==="ip"?wr(e.data,n.version)||(s=this._getOrReturnCtx(e,s),b(s,{validation:"ip",code:f.invalid_string,message:n.message}),a.dirty()):n.kind==="jwt"?kr(e.data,n.alg)||(s=this._getOrReturnCtx(e,s),b(s,{validation:"jwt",code:f.invalid_string,message:n.message}),a.dirty()):n.kind==="cidr"?jr(e.data,n.version)||(s=this._getOrReturnCtx(e,s),b(s,{validation:"cidr",code:f.invalid_string,message:n.message}),a.dirty()):n.kind==="base64"?vr.test(e.data)||(s=this._getOrReturnCtx(e,s),b(s,{validation:"base64",code:f.invalid_string,message:n.message}),a.dirty()):n.kind==="base64url"?yr.test(e.data)||(s=this._getOrReturnCtx(e,s),b(s,{validation:"base64url",code:f.invalid_string,message:n.message}),a.dirty()):z.assertNever(n);return{status:a.value,value:e.data}}_regex(e,a,s){return this.refinement(n=>e.test(n),{validation:a,code:f.invalid_string,...C.errToObj(s)})}_addCheck(e){return new ot({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...C.errToObj(e)})}url(e){return this._addCheck({kind:"url",...C.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...C.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...C.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...C.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...C.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...C.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...C.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...C.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...C.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...C.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...C.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...C.errToObj(e)})}datetime(e){return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:(e==null?void 0:e.precision)===void 0?null:e==null?void 0:e.precision,offset:(e==null?void 0:e.offset)??!1,local:(e==null?void 0:e.local)??!1,...C.errToObj(e==null?void 0:e.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:(e==null?void 0:e.precision)===void 0?null:e==null?void 0:e.precision,...C.errToObj(e==null?void 0:e.message)})}duration(e){return this._addCheck({kind:"duration",...C.errToObj(e)})}regex(e,a){return this._addCheck({kind:"regex",regex:e,...C.errToObj(a)})}includes(e,a){return this._addCheck({kind:"includes",value:e,position:a==null?void 0:a.position,...C.errToObj(a==null?void 0:a.message)})}startsWith(e,a){return this._addCheck({kind:"startsWith",value:e,...C.errToObj(a)})}endsWith(e,a){return this._addCheck({kind:"endsWith",value:e,...C.errToObj(a)})}min(e,a){return this._addCheck({kind:"min",value:e,...C.errToObj(a)})}max(e,a){return this._addCheck({kind:"max",value:e,...C.errToObj(a)})}length(e,a){return this._addCheck({kind:"length",value:e,...C.errToObj(a)})}nonempty(e){return this.min(1,C.errToObj(e))}trim(){return new ot({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new ot({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new ot({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(let a of this._def.checks)a.kind==="min"&&(e===null||a.value>e)&&(e=a.value);return e}get maxLength(){let e=null;for(let a of this._def.checks)a.kind==="max"&&(e===null||a.value<e)&&(e=a.value);return e}};vt.create=t=>new vt({checks:[],typeName:M.ZodString,coerce:(t==null?void 0:t.coerce)??!1,...F(t)});function Nr(t,e){let a=(t.toString().split(".")[1]||"").length,s=(e.toString().split(".")[1]||"").length,n=a>s?a:s,r=Number.parseInt(t.toFixed(n).replace(".","")),i=Number.parseInt(e.toFixed(n).replace(".",""));return r%i/10**n}var Gt=class va extends D{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==N.number){let n=this._getOrReturnCtx(e);return b(n,{code:f.invalid_type,expected:N.number,received:n.parsedType}),E}let a,s=new me;for(let n of this._def.checks)n.kind==="int"?z.isInteger(e.data)||(a=this._getOrReturnCtx(e,a),b(a,{code:f.invalid_type,expected:"integer",received:"float",message:n.message}),s.dirty()):n.kind==="min"?(n.inclusive?e.data<n.value:e.data<=n.value)&&(a=this._getOrReturnCtx(e,a),b(a,{code:f.too_small,minimum:n.value,type:"number",inclusive:n.inclusive,exact:!1,message:n.message}),s.dirty()):n.kind==="max"?(n.inclusive?e.data>n.value:e.data>=n.value)&&(a=this._getOrReturnCtx(e,a),b(a,{code:f.too_big,maximum:n.value,type:"number",inclusive:n.inclusive,exact:!1,message:n.message}),s.dirty()):n.kind==="multipleOf"?Nr(e.data,n.value)!==0&&(a=this._getOrReturnCtx(e,a),b(a,{code:f.not_multiple_of,multipleOf:n.value,message:n.message}),s.dirty()):n.kind==="finite"?Number.isFinite(e.data)||(a=this._getOrReturnCtx(e,a),b(a,{code:f.not_finite,message:n.message}),s.dirty()):z.assertNever(n);return{status:s.value,value:e.data}}gte(e,a){return this.setLimit("min",e,!0,C.toString(a))}gt(e,a){return this.setLimit("min",e,!1,C.toString(a))}lte(e,a){return this.setLimit("max",e,!0,C.toString(a))}lt(e,a){return this.setLimit("max",e,!1,C.toString(a))}setLimit(e,a,s,n){return new va({...this._def,checks:[...this._def.checks,{kind:e,value:a,inclusive:s,message:C.toString(n)}]})}_addCheck(e){return new va({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:C.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:C.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:C.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:C.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:C.toString(e)})}multipleOf(e,a){return this._addCheck({kind:"multipleOf",value:e,message:C.toString(a)})}finite(e){return this._addCheck({kind:"finite",message:C.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:-(2**53-1),message:C.toString(e)})._addCheck({kind:"max",inclusive:!0,value:2**53-1,message:C.toString(e)})}get minValue(){let e=null;for(let a of this._def.checks)a.kind==="min"&&(e===null||a.value>e)&&(e=a.value);return e}get maxValue(){let e=null;for(let a of this._def.checks)a.kind==="max"&&(e===null||a.value<e)&&(e=a.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&z.isInteger(e.value))}get isFinite(){let e=null,a=null;for(let s of this._def.checks){if(s.kind==="finite"||s.kind==="int"||s.kind==="multipleOf")return!0;s.kind==="min"?(a===null||s.value>a)&&(a=s.value):s.kind==="max"&&(e===null||s.value<e)&&(e=s.value)}return Number.isFinite(a)&&Number.isFinite(e)}};Gt.create=t=>new Gt({checks:[],typeName:M.ZodNumber,coerce:(t==null?void 0:t.coerce)||!1,...F(t)});var Qt=class ya extends D{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==N.bigint)return this._getInvalidInput(e);let a,s=new me;for(let n of this._def.checks)n.kind==="min"?(n.inclusive?e.data<n.value:e.data<=n.value)&&(a=this._getOrReturnCtx(e,a),b(a,{code:f.too_small,type:"bigint",minimum:n.value,inclusive:n.inclusive,message:n.message}),s.dirty()):n.kind==="max"?(n.inclusive?e.data>n.value:e.data>=n.value)&&(a=this._getOrReturnCtx(e,a),b(a,{code:f.too_big,type:"bigint",maximum:n.value,inclusive:n.inclusive,message:n.message}),s.dirty()):n.kind==="multipleOf"?e.data%n.value!==BigInt(0)&&(a=this._getOrReturnCtx(e,a),b(a,{code:f.not_multiple_of,multipleOf:n.value,message:n.message}),s.dirty()):z.assertNever(n);return{status:s.value,value:e.data}}_getInvalidInput(e){let a=this._getOrReturnCtx(e);return b(a,{code:f.invalid_type,expected:N.bigint,received:a.parsedType}),E}gte(e,a){return this.setLimit("min",e,!0,C.toString(a))}gt(e,a){return this.setLimit("min",e,!1,C.toString(a))}lte(e,a){return this.setLimit("max",e,!0,C.toString(a))}lt(e,a){return this.setLimit("max",e,!1,C.toString(a))}setLimit(e,a,s,n){return new ya({...this._def,checks:[...this._def.checks,{kind:e,value:a,inclusive:s,message:C.toString(n)}]})}_addCheck(e){return new ya({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:C.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:C.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:C.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:C.toString(e)})}multipleOf(e,a){return this._addCheck({kind:"multipleOf",value:e,message:C.toString(a)})}get minValue(){let e=null;for(let a of this._def.checks)a.kind==="min"&&(e===null||a.value>e)&&(e=a.value);return e}get maxValue(){let e=null;for(let a of this._def.checks)a.kind==="max"&&(e===null||a.value<e)&&(e=a.value);return e}};Qt.create=t=>new Qt({checks:[],typeName:M.ZodBigInt,coerce:(t==null?void 0:t.coerce)??!1,...F(t)});var Xt=class extends D{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==N.boolean){let e=this._getOrReturnCtx(t);return b(e,{code:f.invalid_type,expected:N.boolean,received:e.parsedType}),E}return oe(t.data)}};Xt.create=t=>new Xt({typeName:M.ZodBoolean,coerce:(t==null?void 0:t.coerce)||!1,...F(t)});var ea=class zs extends D{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==N.date){let n=this._getOrReturnCtx(e);return b(n,{code:f.invalid_type,expected:N.date,received:n.parsedType}),E}if(Number.isNaN(e.data.getTime())){let n=this._getOrReturnCtx(e);return b(n,{code:f.invalid_date}),E}let a=new me,s;for(let n of this._def.checks)n.kind==="min"?e.data.getTime()<n.value&&(s=this._getOrReturnCtx(e,s),b(s,{code:f.too_small,message:n.message,inclusive:!0,exact:!1,minimum:n.value,type:"date"}),a.dirty()):n.kind==="max"?e.data.getTime()>n.value&&(s=this._getOrReturnCtx(e,s),b(s,{code:f.too_big,message:n.message,inclusive:!0,exact:!1,maximum:n.value,type:"date"}),a.dirty()):z.assertNever(n);return{status:a.value,value:new Date(e.data.getTime())}}_addCheck(e){return new zs({...this._def,checks:[...this._def.checks,e]})}min(e,a){return this._addCheck({kind:"min",value:e.getTime(),message:C.toString(a)})}max(e,a){return this._addCheck({kind:"max",value:e.getTime(),message:C.toString(a)})}get minDate(){let e=null;for(let a of this._def.checks)a.kind==="min"&&(e===null||a.value>e)&&(e=a.value);return e==null?null:new Date(e)}get maxDate(){let e=null;for(let a of this._def.checks)a.kind==="max"&&(e===null||a.value<e)&&(e=a.value);return e==null?null:new Date(e)}};ea.create=t=>new ea({checks:[],coerce:(t==null?void 0:t.coerce)||!1,typeName:M.ZodDate,...F(t)});var ta=class extends D{_parse(t){if(this._getType(t)!==N.symbol){let e=this._getOrReturnCtx(t);return b(e,{code:f.invalid_type,expected:N.symbol,received:e.parsedType}),E}return oe(t.data)}};ta.create=t=>new ta({typeName:M.ZodSymbol,...F(t)});var yt=class extends D{_parse(t){if(this._getType(t)!==N.undefined){let e=this._getOrReturnCtx(t);return b(e,{code:f.invalid_type,expected:N.undefined,received:e.parsedType}),E}return oe(t.data)}};yt.create=t=>new yt({typeName:M.ZodUndefined,...F(t)});var xt=class extends D{_parse(t){if(this._getType(t)!==N.null){let e=this._getOrReturnCtx(t);return b(e,{code:f.invalid_type,expected:N.null,received:e.parsedType}),E}return oe(t.data)}};xt.create=t=>new xt({typeName:M.ZodNull,...F(t)});var aa=class extends D{constructor(){super(...arguments),this._any=!0}_parse(t){return oe(t.data)}};aa.create=t=>new aa({typeName:M.ZodAny,...F(t)});var Qe=class extends D{constructor(){super(...arguments),this._unknown=!0}_parse(t){return oe(t.data)}};Qe.create=t=>new Qe({typeName:M.ZodUnknown,...F(t)});var Ue=class extends D{_parse(t){let e=this._getOrReturnCtx(t);return b(e,{code:f.invalid_type,expected:N.never,received:e.parsedType}),E}};Ue.create=t=>new Ue({typeName:M.ZodNever,...F(t)});var sa=class extends D{_parse(t){if(this._getType(t)!==N.undefined){let e=this._getOrReturnCtx(t);return b(e,{code:f.invalid_type,expected:N.void,received:e.parsedType}),E}return oe(t.data)}};sa.create=t=>new sa({typeName:M.ZodVoid,...F(t)});var Xe=class Zt extends D{_parse(e){let{ctx:a,status:s}=this._processInputParams(e),n=this._def;if(a.parsedType!==N.array)return b(a,{code:f.invalid_type,expected:N.array,received:a.parsedType}),E;if(n.exactLength!==null){let i=a.data.length>n.exactLength.value,o=a.data.length<n.exactLength.value;(i||o)&&(b(a,{code:i?f.too_big:f.too_small,minimum:o?n.exactLength.value:void 0,maximum:i?n.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:n.exactLength.message}),s.dirty())}if(n.minLength!==null&&a.data.length<n.minLength.value&&(b(a,{code:f.too_small,minimum:n.minLength.value,type:"array",inclusive:!0,exact:!1,message:n.minLength.message}),s.dirty()),n.maxLength!==null&&a.data.length>n.maxLength.value&&(b(a,{code:f.too_big,maximum:n.maxLength.value,type:"array",inclusive:!0,exact:!1,message:n.maxLength.message}),s.dirty()),a.common.async)return Promise.all([...a.data].map((i,o)=>n.type._parseAsync(new Te(a,i,a.path,o)))).then(i=>me.mergeArray(s,i));let r=[...a.data].map((i,o)=>n.type._parseSync(new Te(a,i,a.path,o)));return me.mergeArray(s,r)}get element(){return this._def.type}min(e,a){return new Zt({...this._def,minLength:{value:e,message:C.toString(a)}})}max(e,a){return new Zt({...this._def,maxLength:{value:e,message:C.toString(a)}})}length(e,a){return new Zt({...this._def,exactLength:{value:e,message:C.toString(a)}})}nonempty(e){return this.min(1,e)}};Xe.create=(t,e)=>new Xe({type:t,minLength:null,maxLength:null,exactLength:null,typeName:M.ZodArray,...F(e)});function et(t){if(t instanceof xe){let e={};for(let a in t.shape){let s=t.shape[a];e[a]=Ze.create(et(s))}return new xe({...t._def,shape:()=>e})}else return t instanceof Xe?new Xe({...t._def,type:et(t.element)}):t instanceof Ze?Ze.create(et(t.unwrap())):t instanceof Be?Be.create(et(t.unwrap())):t instanceof Ve?Ve.create(t.items.map(e=>et(e))):t}var xe=class we extends D{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),a=z.objectKeys(e);return this._cached={shape:e,keys:a},this._cached}_parse(e){if(this._getType(e)!==N.object){let c=this._getOrReturnCtx(e);return b(c,{code:f.invalid_type,expected:N.object,received:c.parsedType}),E}let{status:a,ctx:s}=this._processInputParams(e),{shape:n,keys:r}=this._getCached(),i=[];if(!(this._def.catchall instanceof Ue&&this._def.unknownKeys==="strip"))for(let c in s.data)r.includes(c)||i.push(c);let o=[];for(let c of r){let d=n[c],u=s.data[c];o.push({key:{status:"valid",value:c},value:d._parse(new Te(s,u,s.path,c)),alwaysSet:c in s.data})}if(this._def.catchall instanceof Ue){let c=this._def.unknownKeys;if(c==="passthrough")for(let d of i)o.push({key:{status:"valid",value:d},value:{status:"valid",value:s.data[d]}});else if(c==="strict")i.length>0&&(b(s,{code:f.unrecognized_keys,keys:i}),a.dirty());else if(c!=="strip")throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let c=this._def.catchall;for(let d of i){let u=s.data[d];o.push({key:{status:"valid",value:d},value:c._parse(new Te(s,u,s.path,d)),alwaysSet:d in s.data})}}return s.common.async?Promise.resolve().then(async()=>{let c=[];for(let d of o){let u=await d.key,m=await d.value;c.push({key:u,value:m,alwaysSet:d.alwaysSet})}return c}).then(c=>me.mergeObjectSync(a,c)):me.mergeObjectSync(a,o)}get shape(){return this._def.shape()}strict(e){return C.errToObj,new we({...this._def,unknownKeys:"strict",...e===void 0?{}:{errorMap:(a,s)=>{var r,i;let n=((i=(r=this._def).errorMap)==null?void 0:i.call(r,a,s).message)??s.defaultError;return a.code==="unrecognized_keys"?{message:C.errToObj(e).message??n}:{message:n}}}})}strip(){return new we({...this._def,unknownKeys:"strip"})}passthrough(){return new we({...this._def,unknownKeys:"passthrough"})}extend(e){return new we({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new we({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:M.ZodObject})}setKey(e,a){return this.augment({[e]:a})}catchall(e){return new we({...this._def,catchall:e})}pick(e){let a={};for(let s of z.objectKeys(e))e[s]&&this.shape[s]&&(a[s]=this.shape[s]);return new we({...this._def,shape:()=>a})}omit(e){let a={};for(let s of z.objectKeys(this.shape))e[s]||(a[s]=this.shape[s]);return new we({...this._def,shape:()=>a})}deepPartial(){return et(this)}partial(e){let a={};for(let s of z.objectKeys(this.shape)){let n=this.shape[s];e&&!e[s]?a[s]=n:a[s]=n.optional()}return new we({...this._def,shape:()=>a})}required(e){let a={};for(let s of z.objectKeys(this.shape))if(e&&!e[s])a[s]=this.shape[s];else{let n=this.shape[s];for(;n instanceof Ze;)n=n._def.innerType;a[s]=n}return new we({...this._def,shape:()=>a})}keyof(){return La(z.objectKeys(this.shape))}};xe.create=(t,e)=>new xe({shape:()=>t,unknownKeys:"strip",catchall:Ue.create(),typeName:M.ZodObject,...F(e)}),xe.strictCreate=(t,e)=>new xe({shape:()=>t,unknownKeys:"strict",catchall:Ue.create(),typeName:M.ZodObject,...F(e)}),xe.lazycreate=(t,e)=>new xe({shape:t,unknownKeys:"strip",catchall:Ue.create(),typeName:M.ZodObject,...F(e)});var _t=class extends D{_parse(t){let{ctx:e}=this._processInputParams(t),a=this._def.options;function s(n){for(let i of n)if(i.result.status==="valid")return i.result;for(let i of n)if(i.result.status==="dirty")return e.common.issues.push(...i.ctx.common.issues),i.result;let r=n.map(i=>new ge(i.ctx.common.issues));return b(e,{code:f.invalid_union,unionErrors:r}),E}if(e.common.async)return Promise.all(a.map(async n=>{let r={...e,common:{...e.common,issues:[]},parent:null};return{result:await n._parseAsync({data:e.data,path:e.path,parent:r}),ctx:r}})).then(s);{let n,r=[];for(let o of a){let c={...e,common:{...e.common,issues:[]},parent:null},d=o._parseSync({data:e.data,path:e.path,parent:c});if(d.status==="valid")return d;d.status==="dirty"&&!n&&(n={result:d,ctx:c}),c.common.issues.length&&r.push(c.common.issues)}if(n)return e.common.issues.push(...n.ctx.common.issues),n.result;let i=r.map(o=>new ge(o));return b(e,{code:f.invalid_union,unionErrors:i}),E}}get options(){return this._def.options}};_t.create=(t,e)=>new _t({options:t,typeName:M.ZodUnion,...F(e)});var ze=t=>t instanceof wt?ze(t.schema):t instanceof Me?ze(t.innerType()):t instanceof kt?[t.value]:t instanceof jt?t.options:t instanceof Nt?z.objectValues(t.enum):t instanceof St?ze(t._def.innerType):t instanceof yt?[void 0]:t instanceof xt?[null]:t instanceof Ze?[void 0,...ze(t.unwrap())]:t instanceof Be?[null,...ze(t.unwrap())]:t instanceof qa||t instanceof It?ze(t.unwrap()):t instanceof Ct?ze(t._def.innerType):[],Sr=class Ls extends D{_parse(e){let{ctx:a}=this._processInputParams(e);if(a.parsedType!==N.object)return b(a,{code:f.invalid_type,expected:N.object,received:a.parsedType}),E;let s=this.discriminator,n=a.data[s],r=this.optionsMap.get(n);return r?a.common.async?r._parseAsync({data:a.data,path:a.path,parent:a}):r._parseSync({data:a.data,path:a.path,parent:a}):(b(a,{code:f.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[s]}),E)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,a,s){let n=new Map;for(let r of a){let i=ze(r.shape[e]);if(!i.length)throw Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let o of i){if(n.has(o))throw Error(`Discriminator property ${String(e)} has duplicate value ${String(o)}`);n.set(o,r)}}return new Ls({typeName:M.ZodDiscriminatedUnion,discriminator:e,options:a,optionsMap:n,...F(s)})}};function na(t,e){let a=De(t),s=De(e);if(t===e)return{valid:!0,data:t};if(a===N.object&&s===N.object){let n=z.objectKeys(e),r=z.objectKeys(t).filter(o=>n.indexOf(o)!==-1),i={...t,...e};for(let o of r){let c=na(t[o],e[o]);if(!c.valid)return{valid:!1};i[o]=c.data}return{valid:!0,data:i}}else if(a===N.array&&s===N.array){if(t.length!==e.length)return{valid:!1};let n=[];for(let r=0;r<t.length;r++){let i=t[r],o=e[r],c=na(i,o);if(!c.valid)return{valid:!1};n.push(c.data)}return{valid:!0,data:n}}else return a===N.date&&s===N.date&&+t==+e?{valid:!0,data:t}:{valid:!1}}var bt=class extends D{_parse(t){let{status:e,ctx:a}=this._processInputParams(t),s=(n,r)=>{if(Pa(n)||Pa(r))return E;let i=na(n.value,r.value);return i.valid?(($a(n)||$a(r))&&e.dirty(),{status:e.value,value:i.data}):(b(a,{code:f.invalid_intersection_types}),E)};return a.common.async?Promise.all([this._def.left._parseAsync({data:a.data,path:a.path,parent:a}),this._def.right._parseAsync({data:a.data,path:a.path,parent:a})]).then(([n,r])=>s(n,r)):s(this._def.left._parseSync({data:a.data,path:a.path,parent:a}),this._def.right._parseSync({data:a.data,path:a.path,parent:a}))}};bt.create=(t,e,a)=>new bt({left:t,right:e,typeName:M.ZodIntersection,...F(a)});var Ve=class qs extends D{_parse(e){let{status:a,ctx:s}=this._processInputParams(e);if(s.parsedType!==N.array)return b(s,{code:f.invalid_type,expected:N.array,received:s.parsedType}),E;if(s.data.length<this._def.items.length)return b(s,{code:f.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),E;!this._def.rest&&s.data.length>this._def.items.length&&(b(s,{code:f.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),a.dirty());let n=[...s.data].map((r,i)=>{let o=this._def.items[i]||this._def.rest;return o?o._parse(new Te(s,r,s.path,i)):null}).filter(r=>!!r);return s.common.async?Promise.all(n).then(r=>me.mergeArray(a,r)):me.mergeArray(a,n)}get items(){return this._def.items}rest(e){return new qs({...this._def,rest:e})}};Ve.create=(t,e)=>{if(!Array.isArray(t))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new Ve({items:t,typeName:M.ZodTuple,rest:null,...F(e)})};var Cr=class xa extends D{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:a,ctx:s}=this._processInputParams(e);if(s.parsedType!==N.object)return b(s,{code:f.invalid_type,expected:N.object,received:s.parsedType}),E;let n=[],r=this._def.keyType,i=this._def.valueType;for(let o in s.data)n.push({key:r._parse(new Te(s,o,s.path,o)),value:i._parse(new Te(s,s.data[o],s.path,o)),alwaysSet:o in s.data});return s.common.async?me.mergeObjectAsync(a,n):me.mergeObjectSync(a,n)}get element(){return this._def.valueType}static create(e,a,s){return a instanceof D?new xa({keyType:e,valueType:a,typeName:M.ZodRecord,...F(s)}):new xa({keyType:vt.create(),valueType:e,typeName:M.ZodRecord,...F(a)})}},ra=class extends D{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:e,ctx:a}=this._processInputParams(t);if(a.parsedType!==N.map)return b(a,{code:f.invalid_type,expected:N.map,received:a.parsedType}),E;let s=this._def.keyType,n=this._def.valueType,r=[...a.data.entries()].map(([i,o],c)=>({key:s._parse(new Te(a,i,a.path,[c,"key"])),value:n._parse(new Te(a,o,a.path,[c,"value"]))}));if(a.common.async){let i=new Map;return Promise.resolve().then(async()=>{for(let o of r){let c=await o.key,d=await o.value;if(c.status==="aborted"||d.status==="aborted")return E;(c.status==="dirty"||d.status==="dirty")&&e.dirty(),i.set(c.value,d.value)}return{status:e.value,value:i}})}else{let i=new Map;for(let o of r){let c=o.key,d=o.value;if(c.status==="aborted"||d.status==="aborted")return E;(c.status==="dirty"||d.status==="dirty")&&e.dirty(),i.set(c.value,d.value)}return{status:e.value,value:i}}}};ra.create=(t,e,a)=>new ra({valueType:e,keyType:t,typeName:M.ZodMap,...F(a)});var ia=class _a extends D{_parse(e){let{status:a,ctx:s}=this._processInputParams(e);if(s.parsedType!==N.set)return b(s,{code:f.invalid_type,expected:N.set,received:s.parsedType}),E;let n=this._def;n.minSize!==null&&s.data.size<n.minSize.value&&(b(s,{code:f.too_small,minimum:n.minSize.value,type:"set",inclusive:!0,exact:!1,message:n.minSize.message}),a.dirty()),n.maxSize!==null&&s.data.size>n.maxSize.value&&(b(s,{code:f.too_big,maximum:n.maxSize.value,type:"set",inclusive:!0,exact:!1,message:n.maxSize.message}),a.dirty());let r=this._def.valueType;function i(c){let d=new Set;for(let u of c){if(u.status==="aborted")return E;u.status==="dirty"&&a.dirty(),d.add(u.value)}return{status:a.value,value:d}}let o=[...s.data.values()].map((c,d)=>r._parse(new Te(s,c,s.path,d)));return s.common.async?Promise.all(o).then(c=>i(c)):i(o)}min(e,a){return new _a({...this._def,minSize:{value:e,message:C.toString(a)}})}max(e,a){return new _a({...this._def,maxSize:{value:e,message:C.toString(a)}})}size(e,a){return this.min(e,a).max(e,a)}nonempty(e){return this.min(1,e)}};ia.create=(t,e)=>new ia({valueType:t,minSize:null,maxSize:null,typeName:M.ZodSet,...F(e)});var Ir=class Pt extends D{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:a}=this._processInputParams(e);if(a.parsedType!==N.function)return b(a,{code:f.invalid_type,expected:N.function,received:a.parsedType}),E;function s(o,c){return Yt({data:o,path:a.path,errorMaps:[a.common.contextualErrorMap,a.schemaErrorMap,Ht(),nt].filter(d=>!!d),issueData:{code:f.invalid_arguments,argumentsError:c}})}function n(o,c){return Yt({data:o,path:a.path,errorMaps:[a.common.contextualErrorMap,a.schemaErrorMap,Ht(),nt].filter(d=>!!d),issueData:{code:f.invalid_return_type,returnTypeError:c}})}let r={errorMap:a.common.contextualErrorMap},i=a.data;if(this._def.returns instanceof rt){let o=this;return oe(async function(...c){let d=new ge([]),u=await o._def.args.parseAsync(c,r).catch(h=>{throw d.addIssue(s(c,h)),d}),m=await Reflect.apply(i,this,u);return await o._def.returns._def.type.parseAsync(m,r).catch(h=>{throw d.addIssue(n(m,h)),d})})}else{let o=this;return oe(function(...c){let d=o._def.args.safeParse(c,r);if(!d.success)throw new ge([s(c,d.error)]);let u=Reflect.apply(i,this,d.data),m=o._def.returns.safeParse(u,r);if(!m.success)throw new ge([n(u,m.error)]);return m.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new Pt({...this._def,args:Ve.create(e).rest(Qe.create())})}returns(e){return new Pt({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,a,s){return new Pt({args:e||Ve.create([]).rest(Qe.create()),returns:a||Qe.create(),typeName:M.ZodFunction,...F(s)})}},wt=class extends D{get schema(){return this._def.getter()}_parse(t){let{ctx:e}=this._processInputParams(t);return this._def.getter()._parse({data:e.data,path:e.path,parent:e})}};wt.create=(t,e)=>new wt({getter:t,typeName:M.ZodLazy,...F(e)});var kt=class extends D{_parse(t){if(t.data!==this._def.value){let e=this._getOrReturnCtx(t);return b(e,{received:e.data,code:f.invalid_literal,expected:this._def.value}),E}return{status:"valid",value:t.data}}get value(){return this._def.value}};kt.create=(t,e)=>new kt({value:t,typeName:M.ZodLiteral,...F(e)});function La(t,e){return new jt({values:t,typeName:M.ZodEnum,...F(e)})}var jt=class ba extends D{_parse(e){if(typeof e.data!="string"){let a=this._getOrReturnCtx(e),s=this._def.values;return b(a,{expected:z.joinValues(s),received:a.parsedType,code:f.invalid_type}),E}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){let a=this._getOrReturnCtx(e),s=this._def.values;return b(a,{received:a.data,code:f.invalid_enum_value,options:s}),E}return oe(e.data)}get options(){return this._def.values}get enum(){let e={};for(let a of this._def.values)e[a]=a;return e}get Values(){let e={};for(let a of this._def.values)e[a]=a;return e}get Enum(){let e={};for(let a of this._def.values)e[a]=a;return e}extract(e,a=this._def){return ba.create(e,{...this._def,...a})}exclude(e,a=this._def){return ba.create(this.options.filter(s=>!e.includes(s)),{...this._def,...a})}};jt.create=La;var Nt=class extends D{_parse(t){let e=z.getValidEnumValues(this._def.values),a=this._getOrReturnCtx(t);if(a.parsedType!==N.string&&a.parsedType!==N.number){let s=z.objectValues(e);return b(a,{expected:z.joinValues(s),received:a.parsedType,code:f.invalid_type}),E}if(this._cache||(this._cache=new Set(z.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){let s=z.objectValues(e);return b(a,{received:a.data,code:f.invalid_enum_value,options:s}),E}return oe(t.data)}get enum(){return this._def.values}};Nt.create=(t,e)=>new Nt({values:t,typeName:M.ZodNativeEnum,...F(e)});var rt=class extends D{unwrap(){return this._def.type}_parse(t){let{ctx:e}=this._processInputParams(t);if(e.parsedType!==N.promise&&e.common.async===!1)return b(e,{code:f.invalid_type,expected:N.promise,received:e.parsedType}),E;let a=e.parsedType===N.promise?e.data:Promise.resolve(e.data);return oe(a.then(s=>this._def.type.parseAsync(s,{path:e.path,errorMap:e.common.contextualErrorMap})))}};rt.create=(t,e)=>new rt({type:t,typeName:M.ZodPromise,...F(e)});var Me=class extends D{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===M.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){let{status:e,ctx:a}=this._processInputParams(t),s=this._def.effect||null,n={addIssue:r=>{b(a,r),r.fatal?e.abort():e.dirty()},get path(){return a.path}};if(n.addIssue=n.addIssue.bind(n),s.type==="preprocess"){let r=s.transform(a.data,n);if(a.common.async)return Promise.resolve(r).then(async i=>{if(e.value==="aborted")return E;let o=await this._def.schema._parseAsync({data:i,path:a.path,parent:a});return o.status==="aborted"?E:o.status==="dirty"||e.value==="dirty"?Jt(o.value):o});{if(e.value==="aborted")return E;let i=this._def.schema._parseSync({data:r,path:a.path,parent:a});return i.status==="aborted"?E:i.status==="dirty"||e.value==="dirty"?Jt(i.value):i}}if(s.type==="refinement"){let r=i=>{let o=s.refinement(i,n);if(a.common.async)return Promise.resolve(o);if(o instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return i};if(a.common.async===!1){let i=this._def.schema._parseSync({data:a.data,path:a.path,parent:a});return i.status==="aborted"?E:(i.status==="dirty"&&e.dirty(),r(i.value),{status:e.value,value:i.value})}else return this._def.schema._parseAsync({data:a.data,path:a.path,parent:a}).then(i=>i.status==="aborted"?E:(i.status==="dirty"&&e.dirty(),r(i.value).then(()=>({status:e.value,value:i.value}))))}if(s.type==="transform")if(a.common.async===!1){let r=this._def.schema._parseSync({data:a.data,path:a.path,parent:a});if(!Ge(r))return E;let i=s.transform(r.value,n);if(i instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:e.value,value:i}}else return this._def.schema._parseAsync({data:a.data,path:a.path,parent:a}).then(r=>Ge(r)?Promise.resolve(s.transform(r.value,n)).then(i=>({status:e.value,value:i})):E);z.assertNever(s)}};Me.create=(t,e,a)=>new Me({schema:t,typeName:M.ZodEffects,effect:e,...F(a)}),Me.createWithPreprocess=(t,e,a)=>new Me({schema:e,effect:{type:"preprocess",transform:t},typeName:M.ZodEffects,...F(a)});var Ze=class extends D{_parse(t){return this._getType(t)===N.undefined?oe(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};Ze.create=(t,e)=>new Ze({innerType:t,typeName:M.ZodOptional,...F(e)});var Be=class extends D{_parse(t){return this._getType(t)===N.null?oe(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};Be.create=(t,e)=>new Be({innerType:t,typeName:M.ZodNullable,...F(e)});var St=class extends D{_parse(t){let{ctx:e}=this._processInputParams(t),a=e.data;return e.parsedType===N.undefined&&(a=this._def.defaultValue()),this._def.innerType._parse({data:a,path:e.path,parent:e})}removeDefault(){return this._def.innerType}};St.create=(t,e)=>new St({innerType:t,typeName:M.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...F(e)});var Ct=class extends D{_parse(t){let{ctx:e}=this._processInputParams(t),a={...e,common:{...e.common,issues:[]}},s=this._def.innerType._parse({data:a.data,path:a.path,parent:{...a}});return gt(s)?s.then(n=>({status:"valid",value:n.status==="valid"?n.value:this._def.catchValue({get error(){return new ge(a.common.issues)},input:a.data})})):{status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new ge(a.common.issues)},input:a.data})}}removeCatch(){return this._def.innerType}};Ct.create=(t,e)=>new Ct({innerType:t,typeName:M.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...F(e)});var oa=class extends D{_parse(t){if(this._getType(t)!==N.nan){let e=this._getOrReturnCtx(t);return b(e,{code:f.invalid_type,expected:N.nan,received:e.parsedType}),E}return{status:"valid",value:t.data}}};oa.create=t=>new oa({typeName:M.ZodNaN,...F(t)});var qa=class extends D{_parse(t){let{ctx:e}=this._processInputParams(t),a=e.data;return this._def.type._parse({data:a,path:e.path,parent:e})}unwrap(){return this._def.type}},Wa=class Ws extends D{_parse(e){let{status:a,ctx:s}=this._processInputParams(e);if(s.common.async)return(async()=>{let n=await this._def.in._parseAsync({data:s.data,path:s.path,parent:s});return n.status==="aborted"?E:n.status==="dirty"?(a.dirty(),Jt(n.value)):this._def.out._parseAsync({data:n.value,path:s.path,parent:s})})();{let n=this._def.in._parseSync({data:s.data,path:s.path,parent:s});return n.status==="aborted"?E:n.status==="dirty"?(a.dirty(),{status:"dirty",value:n.value}):this._def.out._parseSync({data:n.value,path:s.path,parent:s})}}static create(e,a){return new Ws({in:e,out:a,typeName:M.ZodPipeline})}},It=class extends D{_parse(t){let e=this._def.innerType._parse(t),a=s=>(Ge(s)&&(s.value=Object.freeze(s.value)),s);return gt(e)?e.then(s=>a(s)):a(e)}unwrap(){return this._def.innerType}};It.create=(t,e)=>new It({innerType:t,typeName:M.ZodReadonly,...F(e)}),xe.lazycreate;var M;(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly"})(M||(M={}));var p=vt.create,_e=Gt.create;oa.create,Qt.create;var Ae=Xt.create;ea.create,ta.create,yt.create,xt.create,aa.create;var _=Qe.create;Ue.create,sa.create;var G=Xe.create,x=xe.create;xe.strictCreate;var H=_t.create;Sr.create,bt.create,Ve.create;var w=Cr.create;ra.create,ia.create,Ir.create,wt.create;var j=kt.create;jt.create,Nt.create,rt.create,Me.create,Ze.create,Be.create,Me.createWithPreprocess,Wa.create;const Ke={authenticate:"authenticate",initialize:"initialize",session_cancel:"session/cancel",session_load:"session/load",session_new:"session/new",session_prompt:"session/prompt",session_set_mode:"session/set_mode"},Pe={fs_read_text_file:"fs/read_text_file",fs_write_text_file:"fs/write_text_file",session_request_permission:"session/request_permission",session_update:"session/update",terminal_create:"terminal/create",terminal_kill:"terminal/kill",terminal_output:"terminal/output",terminal_release:"terminal/release",terminal_wait_for_exit:"terminal/wait_for_exit"},Va=x({_meta:w(_()).optional(),content:p(),path:p(),sessionId:p()}),Ba=x({_meta:w(_()).optional(),limit:_e().optional().nullable(),line:_e().optional().nullable(),path:p(),sessionId:p()}),Ka=x({_meta:w(_()).optional(),sessionId:p(),terminalId:p()}),Ha=x({_meta:w(_()).optional(),sessionId:p(),terminalId:p()}),Ya=x({_meta:w(_()).optional(),sessionId:p(),terminalId:p()}),Ja=x({_meta:w(_()).optional(),sessionId:p(),terminalId:p()}),Tr=w(_()),Ar=H([j("assistant"),j("user")]),Rr=x({_meta:w(_()).optional(),mimeType:p().optional().nullable(),text:p(),uri:p()}),Or=x({_meta:w(_()).optional(),blob:p(),mimeType:p().optional().nullable(),uri:p()}),Ga=H([j("read"),j("edit"),j("delete"),j("move"),j("search"),j("execute"),j("think"),j("fetch"),j("switch_mode"),j("other")]),Qa=H([j("pending"),j("in_progress"),j("completed"),j("failed")]),Er=x({_meta:w(_()).optional()}),Mr=x({_meta:w(_()).optional(),content:p()}),Zr=x({_meta:w(_()).optional(),outcome:H([x({outcome:j("cancelled")}),x({optionId:p(),outcome:j("selected")})])}),Pr=x({_meta:w(_()).optional(),terminalId:p()}),$r=x({_meta:w(_()).optional()}),Fr=x({_meta:w(_()).optional(),exitCode:_e().optional().nullable(),signal:p().optional().nullable()}),Dr=x({_meta:w(_()).optional()}),Ur=w(_()),zr=x({_meta:w(_()).optional(),sessionId:p()}),Lr=w(_()),qr=x({_meta:w(_()).optional(),methodId:p()}),Wr=x({_meta:w(_()).optional(),modeId:p(),sessionId:p()}),Vr=w(_()),Xa=x({_meta:w(_()).optional(),name:p(),value:p()}),Re=x({_meta:w(_()).optional(),audience:G(Ar).optional().nullable(),lastModified:p().optional().nullable(),priority:_e().optional().nullable()}),es=H([Rr,Or]),Br=x({_meta:w(_()).optional()}),Kr=x({meta:_().optional()}),Hr=x({_meta:w(_()).optional(),stopReason:H([j("end_turn"),j("max_tokens"),j("max_turn_requests"),j("refusal"),j("cancelled")])}),Yr=w(_()),ts=p(),Jr=w(_()),Gr=x({hint:p()}),Qr=x({_meta:w(_()).optional(),kind:H([j("allow_once"),j("allow_always"),j("reject_once"),j("reject_always")]),name:p(),optionId:p()}),la=H([x({content:H([x({_meta:w(_()).optional(),annotations:Re.optional().nullable(),text:p(),type:j("text")}),x({_meta:w(_()).optional(),annotations:Re.optional().nullable(),data:p(),mimeType:p(),type:j("image"),uri:p().optional().nullable()}),x({_meta:w(_()).optional(),annotations:Re.optional().nullable(),data:p(),mimeType:p(),type:j("audio")}),x({_meta:w(_()).optional(),annotations:Re.optional().nullable(),description:p().optional().nullable(),mimeType:p().optional().nullable(),name:p(),size:_e().optional().nullable(),title:p().optional().nullable(),type:j("resource_link"),uri:p()}),x({_meta:w(_()).optional(),annotations:Re.optional().nullable(),resource:es,type:j("resource")})]),type:j("content")}),x({_meta:w(_()).optional(),newText:p(),oldText:p().optional().nullable(),path:p(),type:j("diff")}),x({terminalId:p(),type:j("terminal")})]),ca=x({_meta:w(_()).optional(),line:_e().optional().nullable(),path:p()}),as=x({_meta:w(_()).optional(),name:p(),value:p()}),Xr=x({_meta:w(_()).optional(),exitCode:_e().optional().nullable(),signal:p().optional().nullable()}),ei=x({_meta:w(_()).optional(),readTextFile:Ae().optional(),writeTextFile:Ae().optional()}),ti=x({args:G(p()),command:p(),env:G(as),name:p()}),ss=H([x({headers:G(Xa),name:p(),type:j("http"),url:p()}),x({headers:G(Xa),name:p(),type:j("sse"),url:p()}),ti]),Tt=H([x({_meta:w(_()).optional(),annotations:Re.optional().nullable(),text:p(),type:j("text")}),x({_meta:w(_()).optional(),annotations:Re.optional().nullable(),data:p(),mimeType:p(),type:j("image"),uri:p().optional().nullable()}),x({_meta:w(_()).optional(),annotations:Re.optional().nullable(),data:p(),mimeType:p(),type:j("audio")}),x({_meta:w(_()).optional(),annotations:Re.optional().nullable(),description:p().optional().nullable(),mimeType:p().optional().nullable(),name:p(),size:_e().optional().nullable(),title:p().optional().nullable(),type:j("resource_link"),uri:p()}),x({_meta:w(_()).optional(),annotations:Re.optional().nullable(),resource:es,type:j("resource")})]),ai=x({_meta:w(_()).optional(),description:p().optional().nullable(),id:p(),name:p()}),si=x({_meta:w(_()).optional(),http:Ae().optional(),sse:Ae().optional()}),ni=x({_meta:w(_()).optional(),audio:Ae().optional(),embeddedContext:Ae().optional(),image:Ae().optional()}),ri=x({_meta:w(_()).optional(),description:p().optional().nullable(),id:ts,name:p()}),ns=x({_meta:w(_()).optional(),availableModes:G(ri),currentModeId:p()}),ii=x({_meta:w(_()).optional(),content:p(),priority:H([j("high"),j("medium"),j("low")]),status:H([j("pending"),j("in_progress"),j("completed")])}),oi=Gr,li=H([zr,Lr]),rs=x({_meta:w(_()).optional(),args:G(p()).optional(),command:p(),cwd:p().optional().nullable(),env:G(as).optional(),outputByteLimit:_e().optional().nullable(),sessionId:p()}),ci=x({_meta:w(_()).optional(),exitStatus:Xr.optional().nullable(),output:p(),truncated:Ae()}),di=x({_meta:w(_()).optional(),cwd:p(),mcpServers:G(ss)}),ui=x({_meta:w(_()).optional(),cwd:p(),mcpServers:G(ss),sessionId:p()}),mi=x({_meta:w(_()).optional(),prompt:G(Tt),sessionId:p()}),pi=x({_meta:w(_()).optional(),modes:ns.optional().nullable(),sessionId:p()}),hi=x({_meta:w(_()).optional(),modes:ns.optional().nullable()}),fi=x({_meta:w(_()).optional(),content:G(la).optional().nullable(),kind:Ga.optional().nullable(),locations:G(ca).optional().nullable(),rawInput:w(_()).optional(),rawOutput:w(_()).optional(),status:Qa.optional().nullable(),title:p().optional().nullable(),toolCallId:p()}),gi=x({_meta:w(_()).optional(),fs:ei.optional(),terminal:Ae().optional()}),vi=x({_meta:w(_()).optional(),loadSession:Ae().optional(),mcpCapabilities:si.optional(),promptCapabilities:ni.optional()}),yi=x({_meta:w(_()).optional(),description:p(),input:oi.optional().nullable(),name:p()}),xi=H([Er,Mr,Zr,Pr,ci,$r,Fr,Dr,Ur]),is=x({_meta:w(_()).optional(),options:G(Qr),sessionId:p(),toolCall:fi}),_i=x({_meta:w(_()).optional(),clientCapabilities:gi.optional(),protocolVersion:_e()}),bi=x({_meta:w(_()).optional(),agentCapabilities:vi.optional(),authMethods:G(ai).optional(),protocolVersion:_e()}),os=x({_meta:w(_()).optional(),sessionId:p(),update:H([x({content:Tt,sessionUpdate:j("user_message_chunk")}),x({content:Tt,sessionUpdate:j("agent_message_chunk")}),x({content:Tt,sessionUpdate:j("agent_thought_chunk")}),x({_meta:w(_()).optional(),content:G(la).optional(),kind:H([j("read"),j("edit"),j("delete"),j("move"),j("search"),j("execute"),j("think"),j("fetch"),j("switch_mode"),j("other")]).optional(),locations:G(ca).optional(),rawInput:w(_()).optional(),rawOutput:w(_()).optional(),sessionUpdate:j("tool_call"),status:H([j("pending"),j("in_progress"),j("completed"),j("failed")]).optional(),title:p(),toolCallId:p()}),x({_meta:w(_()).optional(),content:G(la).optional().nullable(),kind:Ga.optional().nullable(),locations:G(ca).optional().nullable(),rawInput:w(_()).optional(),rawOutput:w(_()).optional(),sessionUpdate:j("tool_call_update"),status:Qa.optional().nullable(),title:p().optional().nullable(),toolCallId:p()}),x({_meta:w(_()).optional(),entries:G(ii),sessionUpdate:j("plan")}),x({availableCommands:G(yi),sessionUpdate:j("available_commands_update")}),x({currentModeId:ts,sessionUpdate:j("current_mode_update")})])}),wi=H([Va,Ba,is,rs,Ka,Ha,Ya,Ja,Tr]),ki=H([_i,qr,di,ui,Wr,mi,Vr]),ji=H([bi,Br,pi,hi,Kr,Hr,Yr]),Ni=H([os,Jr]);H([wi,xi,li,ki,ji,Ni]);var Si=($s=class{constructor(t,e,a){Ce(this,pe);let s=t(this);Fe(this,pe,new Ci(async(n,r)=>{var i,o,c,d,u;switch(n){case Pe.fs_write_text_file:{let m=Va.parse(r);return s.writeTextFile(m)}case Pe.fs_read_text_file:{let m=Ba.parse(r);return s.readTextFile(m)}case Pe.session_request_permission:{let m=is.parse(r);return s.requestPermission(m)}case Pe.terminal_create:{let m=rs.parse(r);return(i=s.createTerminal)==null?void 0:i.call(s,m)}case Pe.terminal_output:{let m=Ka.parse(r);return(o=s.terminalOutput)==null?void 0:o.call(s,m)}case Pe.terminal_release:{let m=Ha.parse(r);return await((c=s.releaseTerminal)==null?void 0:c.call(s,m))??{}}case Pe.terminal_wait_for_exit:{let m=Ya.parse(r);return(d=s.waitForTerminalExit)==null?void 0:d.call(s,m)}case Pe.terminal_kill:{let m=Ja.parse(r);return await((u=s.killTerminal)==null?void 0:u.call(s,m))??{}}default:if(n.startsWith("_")){let m=n.substring(1);if(!s.extMethod)throw be.methodNotFound(n);return s.extMethod(m,r)}throw be.methodNotFound(n)}},async(n,r)=>{switch(n){case Pe.session_update:{let i=os.parse(r);return s.sessionUpdate(i)}default:if(n.startsWith("_")){let i=n.substring(1);return s.extNotification?s.extNotification(i,r):void 0}throw be.methodNotFound(n)}},e,a))}async initialize(t){return await X(this,pe).sendRequest(Ke.initialize,t)}async newSession(t){return await X(this,pe).sendRequest(Ke.session_new,t)}async loadSession(t){return await X(this,pe).sendRequest(Ke.session_load,t)??{}}async setSessionMode(t){return await X(this,pe).sendRequest(Ke.session_set_mode,t)??{}}async authenticate(t){return await X(this,pe).sendRequest(Ke.authenticate,t)??{}}async prompt(t){return await X(this,pe).sendRequest(Ke.session_prompt,t)}async cancel(t){return await X(this,pe).sendNotification(Ke.session_cancel,t)}async extMethod(t,e){return await X(this,pe).sendRequest(`_${t}`,e)}async extNotification(t,e){return await X(this,pe).sendNotification(`_${t}`,e)}},pe=new WeakMap,$s),Ci=(Fs=class{constructor(t,e,a,s){Ce(this,se);Ce(this,tt,new Map);Ce(this,$t,0);Ce(this,ct);Ce(this,dt);Ce(this,ut);Ce(this,at,Promise.resolve());Ce(this,mt);Fe(this,ct,t),Fe(this,dt,e),Fe(this,ut,a),Fe(this,mt,new TextEncoder),Ie(this,se,Vs).call(this,s)}async sendRequest(t,e){let a=ka(this,$t)._++,s=new Promise((n,r)=>{X(this,tt).set(a,{resolve:n,reject:r})});return await Ie(this,se,lt).call(this,{jsonrpc:"2.0",id:a,method:t,params:e}),s}async sendNotification(t,e){await Ie(this,se,lt).call(this,{jsonrpc:"2.0",method:t,params:e})}},tt=new WeakMap,$t=new WeakMap,ct=new WeakMap,dt=new WeakMap,ut=new WeakMap,at=new WeakMap,mt=new WeakMap,se=new WeakSet,Vs=async function(t){let e="",a=new TextDecoder,s=t.getReader();try{for(;;){let{value:n,done:r}=await s.read();if(r)break;if(!n)continue;e+=a.decode(n,{stream:!0});let i=e.split(`
|
|
2
|
+
`);e=i.pop()||"";for(let o of i){let c=o.trim();if(c){let d;try{let u=JSON.parse(c);d=u.id,Ie(this,se,Bs).call(this,u)}catch(u){console.error("Unexpected error during message processing:",c,u),d&&Ie(this,se,lt).call(this,{jsonrpc:"2.0",id:d,error:{code:-32700,message:"Parse error"}})}}}}}finally{s.releaseLock()}},Bs=async function(t){if("method"in t&&"id"in t){let e=await Ie(this,se,Ks).call(this,t.method,t.params);"error"in e&&console.error("Error handling request",t,e.error),await Ie(this,se,lt).call(this,{jsonrpc:"2.0",id:t.id,...e})}else if("method"in t){let e=await Ie(this,se,Hs).call(this,t.method,t.params);"error"in e&&console.error("Error handling notification",t,e.error)}else"id"in t?Ie(this,se,Ys).call(this,t):console.error("Invalid message",{message:t})},Ks=async function(t,e){try{return{result:await X(this,ct).call(this,t,e)??null}}catch(a){if(a instanceof be)return a.toResult();if(a instanceof ge)return be.invalidParams(a.format()).toResult();let s;(a instanceof Error||typeof a=="object"&&a&&"message"in a&&typeof a.message=="string")&&(s=a.message);try{return be.internalError(s?JSON.parse(s):{}).toResult()}catch{return be.internalError({details:s}).toResult()}}},Hs=async function(t,e){try{return await X(this,dt).call(this,t,e),{result:null}}catch(a){if(a instanceof be)return a.toResult();if(a instanceof ge)return be.invalidParams(a.format()).toResult();let s;(a instanceof Error||typeof a=="object"&&a&&"message"in a&&typeof a.message=="string")&&(s=a.message);try{return be.internalError(s?JSON.parse(s):{}).toResult()}catch{return be.internalError({details:s}).toResult()}}},Ys=function(t){let e=X(this,tt).get(t.id);e?("result"in t?e.resolve(t.result):"error"in t&&e.reject(t.error),X(this,tt).delete(t.id)):console.error("Got response to unknown request",t.id)},lt=async function(t){let e=JSON.stringify(t)+`
|
|
3
|
+
`;return Fe(this,at,X(this,at).then(async()=>{let a=X(this,ut).getWriter();try{await a.write(X(this,mt).encode(e))}finally{a.releaseLock()}}).catch(a=>{console.error("ACP write error:",a)})),X(this,at)},Fs),be=class He extends Error{constructor(a,s,n){super(s);Q(this,"code");Q(this,"data");this.code=a,this.name="RequestError",this.data=n}static parseError(a){return new He(-32700,"Parse error",a)}static invalidRequest(a){return new He(-32600,"Invalid request",a)}static methodNotFound(a){return new He(-32601,"Method not found",{method:a})}static invalidParams(a){return new He(-32602,"Invalid params",a)}static internalError(a){return new He(-32603,"Internal error",a)}static authRequired(a){return new He(-32e3,"Authentication required",a)}toResult(){return{error:{code:this.code,message:this.message,data:this.data}}}toErrorResponse(){return{code:this.code,message:this.message,data:this.data}}},Ii=class{constructor(){Q(this,"promise");Q(this,"resolve");Q(this,"reject");this.promise=new Promise((t,e)=>{this.resolve=t,this.reject=e})}},Ti=class{constructor(t,e){Q(this,"agent");Q(this,"options");Q(this,"pendingPermissions",new Map);this.agent=t,this.options=e}async sessionUpdate(t){this.options.onSessionNotification(t)}async writeTextFile(t){if(this.options.writeTextFile)return this.options.writeTextFile(t);throw Error("Write text file handler not implemented")}async readTextFile(t){if(this.options.readTextFile)return this.options.readTextFile(t);throw Error("Read text file handler not implemented")}async requestPermission(t){let e=`${Date.now()}-${Math.random()}`,a=new Ii;return this.pendingPermissions.set(e,a),this.options.onRequestPermission({...t,deferredId:e}),a.promise}resolvePermission(t,e){let a=this.pendingPermissions.get(t);a&&(this.pendingPermissions.delete(t),a.resolve(e))}rejectPermission(t,e){let a=this.pendingPermissions.get(t);a&&(this.pendingPermissions.delete(t),a.reject(e))}},Ai=class{constructor(t,e){Q(this,"agent");Q(this,"callbacks");this.agent=t,this.callbacks=e}extMethod(t,e){return this.agent.extMethod?this.agent.extMethod(t,e):Promise.resolve({})}extNotification(t,e){return this.agent.extNotification?this.agent.extNotification(t,e):Promise.resolve()}async setSessionMode(t){var e,a,s,n;return(a=(e=this.callbacks).on_setSessionMode_start)==null||a.call(e,t),(n=(s=this.agent).setSessionMode)==null?void 0:n.call(s,t).then(r=>{var i,o;return(o=(i=this.callbacks).on_setSessionMode_response)==null||o.call(i,r,t),r})}async initialize(t){var e,a;return(a=(e=this.callbacks).on_initialize_start)==null||a.call(e,t),this.agent.initialize(t).then(s=>{var n,r;return(r=(n=this.callbacks).on_initialize_response)==null||r.call(n,s,t),s})}async newSession(t){var e,a;return(a=(e=this.callbacks).on_newSession_start)==null||a.call(e,t),this.agent.newSession(t).then(s=>{var n,r;return(r=(n=this.callbacks).on_newSession_response)==null||r.call(n,s,t),s})}async loadSession(t){var e,a;if((a=(e=this.callbacks).on_loadSession_start)==null||a.call(e,t),this.agent.loadSession)return this.agent.loadSession(t).then(s=>{var n,r;return(r=(n=this.callbacks).on_loadSession_response)==null||r.call(n,s,t),s});throw Error("Agent does not support loadSession capability")}async authenticate(t){var e,a;return(a=(e=this.callbacks).on_authenticate_start)==null||a.call(e,t),this.agent.authenticate(t).then(()=>{var s,n;(n=(s=this.callbacks).on_authenticate_response)==null||n.call(s,void 0,t)})}async prompt(t){var e,a;return(a=(e=this.callbacks).on_prompt_start)==null||a.call(e,t),this.agent.prompt(t).then(s=>{var n,r;return(r=(n=this.callbacks).on_prompt_response)==null||r.call(n,s,t),s})}async cancel(t){var e,a;return(a=(e=this.callbacks).on_cancel_start)==null||a.call(e,t),this.agent.cancel(t).then(()=>{var s,n;(n=(s=this.callbacks).on_cancel_response)==null||n.call(s,void 0,t)})}};const Ri=globalThis.ReadableStream,Oi=globalThis.WritableStream;function Ei(){return globalThis.ReadableStream!==void 0&&globalThis.WritableStream!==void 0}function Mi(t){return new Oi({write(e){t.readyState===WebSocket.OPEN&&t.send(e)},close(){t.close()},abort(){t.close()}})}function Zi(t){let e=new Ri({start(s){t.onmessage=n=>{if(n.data instanceof ArrayBuffer)s.enqueue(new Uint8Array(n.data));else if(n.data instanceof Uint8Array)s.enqueue(n.data);else{let r=new TextEncoder;s.enqueue(r.encode(`${n.data}
|
|
4
|
+
`))}},t.onclose=()=>{s.close()},t.onerror=n=>{s.error(n)}},cancel(){t.close()}}),a=async function*(){let s=e.getReader();try{for(;;){let{value:n,done:r}=await s.read();if(r)break;yield n}}finally{s.releaseLock()}return void 0};return e.values=a,e[Symbol.asyncIterator]=a,e}Ei()||console.warn("Streams API not supported in this browser. Consider using a polyfill.");var Pi=class{constructor(t){Q(this,"managers",new Map);Q(this,"options");Q(this,"currentUrl",null);this.options=t}async connect(t){this.currentUrl=t;let e=this.managers.get(t);if(e){if(e.getConnectionState()==="connected"){let a=e.getStreams();if(a)return a}}else e=new $i({url:t,onConnectionStateChange:a=>this.options.onConnectionStateChange(a,t),onError:a=>this.options.onError(a,t),reconnectAttempts:this.options.reconnectAttempts,reconnectDelay:this.options.reconnectDelay}),this.managers.set(t,e);return await e.connect()}disconnect(t){if(t){let e=this.managers.get(t);e&&(e.disconnect(),this.managers.delete(t))}else{for(let[e,a]of this.managers.entries())a.disconnect(),this.managers.delete(e);this.currentUrl=null}}getCurrentUrl(){return this.currentUrl}getConnectionState(t){let e=t||this.currentUrl;if(!e)return"disconnected";let a=this.managers.get(e);return a?a.getConnectionState():"disconnected"}getActiveConnections(){return Array.from(this.managers.keys()).filter(t=>{var e;return((e=this.managers.get(t))==null?void 0:e.getConnectionState())==="connected"})}},$i=class{constructor(t){Q(this,"ws",null);Q(this,"options");Q(this,"reconnectCount",0);Q(this,"reconnectTimer",null);Q(this,"readableStream",null);Q(this,"writableStream",null);this.options={reconnectAttempts:3,reconnectDelay:1e3,...t}}async connect(){this.updateConnectionState({status:"connecting",url:this.options.url});try{return this.ws=new WebSocket(this.options.url),new Promise((t,e)=>{if(!this.ws){e(Error("WebSocket not initialized"));return}this.ws.onopen=()=>{this.reconnectCount=0,this.updateConnectionState({status:"connected",url:this.options.url}),this.ws&&(this.readableStream=Zi(this.ws),this.writableStream=Mi(this.ws),t({readable:this.readableStream,writable:this.writableStream}))},this.ws.onerror=a=>{let s=Error("WebSocket connection error");this.options.onError(s),this.updateConnectionState({status:"error",error:s.message,url:this.options.url}),e(s)},this.ws.onclose=()=>{this.updateConnectionState({status:"disconnected",url:this.options.url}),this.attemptReconnect()}})}catch(t){let e=t instanceof Error?t:Error(String(t));throw this.options.onError(e),this.updateConnectionState({status:"error",error:e.message,url:this.options.url}),e}}disconnect(){this.reconnectTimer&&(this.reconnectTimer=(clearTimeout(this.reconnectTimer),null)),this.ws&&(this.ws=(this.ws.close(),null)),this.readableStream=null,this.writableStream=null,this.updateConnectionState({status:"disconnected"})}attemptReconnect(){this.reconnectCount<(this.options.reconnectAttempts||3)&&(this.reconnectCount++,this.reconnectTimer=setTimeout(async()=>{try{await this.connect()}catch{}},this.options.reconnectDelay))}updateConnectionState(t){this.options.onConnectionStateChange(t)}getConnectionState(){if(!this.ws)return"disconnected";switch(this.ws.readyState){case WebSocket.CONNECTING:return"connecting";case WebSocket.OPEN:return"connected";case WebSocket.CLOSING:case WebSocket.CLOSED:return"disconnected";default:return"error"}}getStreams(){return this.readableStream&&this.writableStream?{readable:this.readableStream,writable:this.writableStream}:null}},ls=t=>{let e,a=new Set,s=(o,c)=>{let d=typeof o=="function"?o(e):o;if(!Object.is(d,e)){let u=e;e=c??(typeof d!="object"||!d)?d:Object.assign({},e,d),a.forEach(m=>m(e,u))}},n=()=>e,r={setState:s,getState:n,getInitialState:()=>i,subscribe:o=>(a.add(o),()=>a.delete(o))},i=e=t(s,n,r);return r},Fi=(t=>t?ls(t):ls),R=ye(Xs(),1),Di=t=>t;function Ui(t,e=Di){let a=R.useSyncExternalStore(t.subscribe,R.useCallback(()=>e(t.getState()),[t,e]),R.useCallback(()=>e(t.getInitialState()),[t,e]));return R.useDebugValue(a),a}var cs=t=>{let e=Fi(t),a=s=>Ui(e,s);return Object.assign(a,e),a};const zi=(t=>t?cs(t):cs)((t,e)=>({connections:{},activeConnectionUrl:null,connectionState:{status:"disconnected"},agentCapabilities:null,activeSessionId:null,notifications:{},sessionModes:{},setConnection:(a,s,n)=>{t(r=>{var i,o;return{connections:{...r.connections,[a]:{url:a,state:s,capabilities:n??((i=r.connections[a])==null?void 0:i.capabilities)??null}},...r.activeConnectionUrl===a&&{connectionState:s,agentCapabilities:n??((o=r.connections[a])==null?void 0:o.capabilities)??null}}})},setActiveConnection:a=>{t(s=>{let n=a?s.connections[a]:null;return{activeConnectionUrl:a,connectionState:(n==null?void 0:n.state)??{status:"disconnected"},agentCapabilities:(n==null?void 0:n.capabilities)??null}})},removeConnection:a=>{t(s=>{let n={...s.connections};delete n[a];let r=s.activeConnectionUrl===a?null:s.activeConnectionUrl,i=r?n[r]:null;return{connections:n,activeConnectionUrl:r,connectionState:(i==null?void 0:i.state)??{status:"disconnected"},agentCapabilities:(i==null?void 0:i.capabilities)??null}})},setConnectionState:a=>{t({connectionState:a});let{activeConnectionUrl:s}=e();s&&e().setConnection(s,a)},setAgentCapabilities:a=>{t({agentCapabilities:a});let{activeConnectionUrl:s}=e();s&&e().setConnection(s,e().connectionState,a)},setActiveSessionId:a=>{t({activeSessionId:a})},setActiveModeId:(a,s)=>{t(n=>{let r=n.sessionModes[a];return{sessionModes:{...n.sessionModes,[a]:{...r,currentModeId:s}}}})},setModeState:(a,s)=>{t(n=>({sessionModes:{...n.sessionModes,[a]:s}}))},addNotification:a=>{let s=e().notifications,n=e().activeSessionId;if(!n)return;let r={...a,id:`${Date.now()}-${Math.random()}`,timestamp:Date.now()},i=s[n]||[],o={...s,[n]:[...i,r]};t({notifications:o})},clearNotifications:a=>{if(a){let s={...e().notifications};delete s[a],t({notifications:s})}else t({notifications:{}})},getActiveNotifications:()=>{let{activeSessionId:a,notifications:s}=e();return a&&s[a]||[]},getActiveConnection:()=>{let{activeConnectionUrl:a,connections:s}=e();return a&&s[a]||null},getConnection:a=>{let{connections:s}=e();return s[a]||{url:a,state:{status:"disconnected"},capabilities:null}}}));var Li=typeof window<"u"?R.useLayoutEffect:R.useEffect;function Le(t){let e=(0,R.useRef)(()=>{throw Error("Cannot call an event handler while rendering.")});return Li(()=>{e.current=t},[t]),(0,R.useCallback)((...a)=>{var s;return(s=e.current)==null?void 0:s.call(e,...a)},[e])}function qi(t){let{wsUrl:e,autoConnect:a=!0,reconnectAttempts:s=3,reconnectDelay:n=2e3,clientOptions:r={}}=t,{getConnection:i,notifications:o,activeSessionId:c,agentCapabilities:d,sessionModes:u,setActiveModeId:m,setModeState:h,setActiveSessionId:k,setConnection:g,setActiveConnection:v,addNotification:y,clearNotifications:S}=zi(),[I,T]=(0,R.useState)(null),[Z,P]=(0,R.useState)(null),[A,O]=(0,R.useState)(!1),[q,B]=(0,R.useState)([]),V=(0,R.useRef)(null),W=(0,R.useRef)(null),ie=(0,R.useRef)(null),ee=(0,R.useRef)(!1),he=Le((L,J)=>{g(J,L),y({type:"connection_change",data:L})}),ce=Le((L,J)=>{y({type:"error",data:L})}),de=Le(L=>{y({type:"session_notification",data:L}),L.update.sessionUpdate==="available_commands_update"&&B(L.update.availableCommands)}),ue=Le(L=>{T(L)}),ve=Le(async()=>{V.current||(V.current=new Pi({onConnectionStateChange:he,onError:ce,reconnectAttempts:s,reconnectDelay:n})),v(e);let{readable:L,writable:J}=await V.current.connect(e),ke=new Si(U=>{let Y=new Ti(U,{...r,onRequestPermission:ae=>{var Ne;(Ne=r==null?void 0:r.onRequestPermission)==null||Ne.call(r,ae),ue(ae)},onSessionNotification:ae=>{var Ne;(Ne=r==null?void 0:r.onSessionNotification)==null||Ne.call(r,ae),de(ae)}});return W.current=Y,Y},J,L),je=new Ai(ke,{on_initialize_response:U=>{let Y=U.agentCapabilities;console.log("[acp] Agent capabilities",Y);let ae=i(e);g(e,ae.state,Y)},on_newSession_response:U=>{console.log("[acp] New session created",U);let Y=U.sessionId;k(Y),h(Y,U.modes)},on_loadSession_response:(U,Y)=>{console.log("[acp] Session resumed",Y);let ae=Y.sessionId;k(ae),h(ae,U.modes)},on_prompt_start:U=>{for(let Y of U.prompt)y({type:"session_notification",data:{sessionId:U.sessionId,update:{sessionUpdate:"user_message_chunk",content:Y}}})},on_setSessionMode_start:U=>{console.log("[acp] Session mode set",U);let Y=U.sessionId;m(Y,U.modeId)}});P(je)}),Oe=Le(L=>{let J=L||e;V.current&&(L?V.current.disconnect(L):(V.current.disconnect(J),V.current=null,W.current=null,P(null))),L||(T(null),B([]),ee.current=!1,ie.current=null,O(!1))}),$=Le(L=>{if(I&&W.current){let J=I.deferredId;J&&W.current.resolvePermission(J,L)}T(null)}),K=Le(L=>{if(I&&W.current){let J=I.deferredId;J&&W.current.rejectPermission(J,L)}T(null)});return(0,R.useEffect)(()=>(a&&ve().catch(console.error),()=>{Oe()}),[a,e]),{connect:ve,disconnect:Oe,connectionState:i(e).state,activeSessionId:c,notifications:c&&o[c]||[],isSessionLoading:A,clearNotifications:S,pendingPermission:I,resolvePermission:$,rejectPermission:K,agent:Z,agentCapabilities:d,sessionMode:c?u[c]:null,availableCommands:q}}function Wi(t,e){if(!t)throw Error(e)}function Vi(t){let e=[];for(let a of t){let s=e[e.length-1];s&&Bi(s.at(0),a)?s.push(a):e.push([a])}return e}var ds=["tool_call","tool_call_update"];function Bi(t,e){return t?t.type==="session_notification"&&e.type==="session_notification"?ds.includes(t.data.update.sessionUpdate)&&ds.includes(e.data.update.sessionUpdate)?!0:t.data.update.sessionUpdate===e.data.update.sessionUpdate:t.type===e.type:!1}function Ki(t){var a;let e=new Map;for(let s of t)e.has(s.toolCallId)||e.set(s.toolCallId,[]),(a=e.get(s.toolCallId))==null||a.push(s);return Array.from(e.values()).map(s=>{var r;let n=s.at(0);return Wi(!!(n!=null&&n.toolCallId),"Tool call ID is required"),{...n,toolCallId:n.toolCallId,status:(r=s.at(-1))==null?void 0:r.status,rawOutput:Object.assign({},...s.map(i=>i.rawOutput)),locations:s.flatMap(i=>i.locations||[]),content:s.flatMap(i=>i.content||[])}})}var te=ye(Ee());function Hi(t){let e=t[0];return e.sessionUpdate==="tool_call"||e.sessionUpdate==="tool_call_update"}function Yi(t){return t[0].sessionUpdate==="agent_thought_chunk"}function Ji(t){return t[0].sessionUpdate==="user_message_chunk"}function Gi(t){return t[0].sessionUpdate==="agent_message_chunk"}function Qi(t){return t[0].sessionUpdate==="plan"}var l=ye(sn());const Xi=t=>{let e=(0,te.c)(14),{message:a}=t.data;if(a.includes("WebSocket"))return null;let s;e[0]===Symbol.for("react.memo_cache_sentinel")?(s=(0,l.jsx)("div",{className:"flex-shrink-0",children:(0,l.jsx)(Bt,{className:"h-5 w-5 text-[var(--red-11)]"})}),e[0]=s):s=e[0];let n;e[1]===Symbol.for("react.memo_cache_sentinel")?(n=(0,l.jsx)("div",{className:"flex items-center gap-2 mb-2",children:(0,l.jsx)("h4",{className:"text-sm font-medium text-[var(--red-11)]",children:"Agent Error"})}),e[1]=n):n=e[1];let r;e[2]===a?r=e[3]:(r=(0,l.jsx)("div",{className:"text-sm text-[var(--red-11)] leading-relaxed mb-3",children:a}),e[2]=a,e[3]=r);let i;e[4]===t.onRetry?i=e[5]:(i=t.onRetry&&(0,l.jsxs)(ne,{size:"xs",variant:"outline",onClick:t.onRetry,className:"text-[var(--red-11)] border-[var(--red-6)] hover:bg-[var(--red-3)]",children:[(0,l.jsx)(Ta,{className:"h-3 w-3 mr-1"}),"Retry"]}),e[4]=t.onRetry,e[5]=i);let o;e[6]===t.onDismiss?o=e[7]:(o=t.onDismiss&&(0,l.jsxs)(ne,{size:"xs",variant:"ghost",onClick:t.onDismiss,className:"text-[var(--red-10)] hover:bg-[var(--red-3)]",children:[(0,l.jsx)(Ca,{className:"h-3 w-3 mr-1"}),"Dismiss"]}),e[6]=t.onDismiss,e[7]=o);let c;e[8]!==i||e[9]!==o?(c=(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[i,o]}),e[8]=i,e[9]=o,e[10]=c):c=e[10];let d;return e[11]!==r||e[12]!==c?(d=(0,l.jsx)("div",{className:"border border-[var(--red-6)] bg-[var(--red-2)] rounded-lg p-4 my-2","data-block-type":"error",children:(0,l.jsxs)("div",{className:"flex items-start gap-3",children:[s,(0,l.jsxs)("div",{className:"flex-1 min-w-0",children:[n,r,c]})]})}),e[11]=r,e[12]=c,e[13]=d):d=e[13],d},eo=t=>{let e=(0,te.c)(33),{status:a}=t.data;if(t.isConnected)return null;let s;e[0]===a?s=e[1]:(s=(()=>{switch(a){case"connected":return{icon:(0,l.jsx)(Kt,{className:"h-4 w-4"}),title:"Connected to Agent",message:"Successfully established connection with the AI agent",bgColor:"bg-[var(--blue-2)]",borderColor:"border-[var(--blue-6)]",textColor:"text-[var(--blue-11)]",iconColor:"text-[var(--blue-10)]"};case"disconnected":return{icon:(0,l.jsx)(st,{className:"h-4 w-4"}),title:"Disconnected from Agent",message:"Connection to the AI agent has been lost",bgColor:"bg-[var(--amber-2)]",borderColor:"border-[var(--amber-6)]",textColor:"text-[var(--amber-11)]",iconColor:"text-[var(--amber-10)]"};case"connecting":return{icon:(0,l.jsx)(Kt,{className:"h-4 w-4 animate-pulse"}),title:"Connecting to Agent",message:"Establishing connection with the AI agent...",bgColor:"bg-[var(--gray-2)]",borderColor:"border-[var(--gray-6)]",textColor:"text-[var(--gray-11)]",iconColor:"text-[var(--gray-10)]"};case"error":return{icon:(0,l.jsx)(st,{className:"h-4 w-4"}),title:"Connection Error",message:"Failed to connect to the AI agent",bgColor:"bg-[var(--red-2)]",borderColor:"border-[var(--red-6)]",textColor:"text-[var(--red-11)]",iconColor:"text-[var(--red-10)]"};default:return{icon:(0,l.jsx)(st,{className:"h-4 w-4"}),title:"Connection Status Changed",message:`Agent connection status: ${a}`,bgColor:"bg-[var(--gray-2)]",borderColor:"border-[var(--gray-6)]",textColor:"text-[var(--gray-11)]",iconColor:"text-[var(--gray-10)]"}}})(),e[0]=a,e[1]=s);let n=s,r=a==="disconnected"||a==="error",i=`border ${n.borderColor} ${n.bgColor} rounded-lg p-3 my-2`,o=`flex-shrink-0 ${n.iconColor}`,c;e[2]!==n.icon||e[3]!==o?(c=(0,l.jsx)("div",{className:o,children:n.icon}),e[2]=n.icon,e[3]=o,e[4]=c):c=e[4];let d=`text-sm font-medium ${n.textColor}`,u;e[5]!==n.title||e[6]!==d?(u=(0,l.jsx)("h4",{className:d,children:n.title}),e[5]=n.title,e[6]=d,e[7]=u):u=e[7];let m;e[8]===t.timestamp?m=e[9]:(m=t.timestamp&&(0,l.jsx)("span",{className:"text-xs text-muted-foreground",children:new Date(t.timestamp).toLocaleTimeString()}),e[8]=t.timestamp,e[9]=m);let h;e[10]!==u||e[11]!==m?(h=(0,l.jsxs)("div",{className:"flex items-center gap-2 mb-1",children:[u,m]}),e[10]=u,e[11]=m,e[12]=h):h=e[12];let k=`text-sm ${n.textColor} opacity-90 mb-2`,g;e[13]!==n.message||e[14]!==k?(g=(0,l.jsx)("div",{className:k,children:n.message}),e[13]=n.message,e[14]=k,e[15]=g):g=e[15];let v;e[16]!==n.bgColor||e[17]!==n.borderColor||e[18]!==n.textColor||e[19]!==t.onRetry||e[20]!==r?(v=r&&t.onRetry&&(0,l.jsxs)(ne,{size:"xs",variant:"outline",onClick:t.onRetry,className:`${n.textColor} ${n.borderColor} hover:${n.bgColor}`,children:[(0,l.jsx)(Ta,{className:"h-3 w-3 mr-1"}),"Retry Connection"]}),e[16]=n.bgColor,e[17]=n.borderColor,e[18]=n.textColor,e[19]=t.onRetry,e[20]=r,e[21]=v):v=e[21];let y;e[22]!==v||e[23]!==h||e[24]!==g?(y=(0,l.jsxs)("div",{className:"flex-1 min-w-0",children:[h,g,v]}),e[22]=v,e[23]=h,e[24]=g,e[25]=y):y=e[25];let S;e[26]!==y||e[27]!==c?(S=(0,l.jsxs)("div",{className:"flex items-start gap-3",children:[c,y]}),e[26]=y,e[27]=c,e[28]=S):S=e[28];let I;return e[29]!==a||e[30]!==i||e[31]!==S?(I=(0,l.jsx)("div",{className:i,"data-block-type":"connection-change","data-status":a,children:S}),e[29]=a,e[30]=i,e[31]=S,e[32]=I):I=e[32],I},to=t=>{let e=(0,te.c)(7),a=t.startTimestamp/1e3,s=t.endTimestamp/1e3,n=`Thought for ${Math.round(s-a)||"1"}s`,r;e[0]===t.data?r=e[1]:(r=t.data.map(vo),e[0]=t.data,e[1]=r);let i;e[2]===r?i=e[3]:(i=(0,l.jsx)("div",{className:"flex flex-col gap-2 text-muted-foreground",children:(0,l.jsx)(At,{data:r})}),e[2]=r,e[3]=i);let o;return e[4]!==n||e[5]!==i?(o=(0,l.jsx)("div",{className:"text-xs text-muted-foreground",children:(0,l.jsx)(ma,{title:n,children:i})}),e[4]=n,e[5]=i,e[6]=o):o=e[6],o},ao=t=>{let e=(0,te.c)(14),a,s,n,r;if(e[0]!==t.data){let c=t.data.flatMap(yo);n="rounded-lg border bg-background p-2 text-xs";let d=(0,l.jsxs)("span",{className:"font-medium text-muted-foreground",children:["To-dos"," ",(0,l.jsx)("span",{className:"font-normal text-muted-foreground",children:c.length})]});e[5]===d?r=e[6]:(r=(0,l.jsx)("div",{className:"flex items-center justify-between mb-2",children:d}),e[5]=d,e[6]=r),a="flex flex-col gap-1",s=c.map(xo),e[0]=t.data,e[1]=a,e[2]=s,e[3]=n,e[4]=r}else a=e[1],s=e[2],n=e[3],r=e[4];let i;e[7]!==a||e[8]!==s?(i=(0,l.jsx)("ul",{className:a,children:s}),e[7]=a,e[8]=s,e[9]=i):i=e[9];let o;return e[10]!==n||e[11]!==r||e[12]!==i?(o=(0,l.jsxs)("div",{className:n,children:[r,i]}),e[10]=n,e[11]=r,e[12]=i,e[13]=o):o=e[13],o},so=t=>{let e=(0,te.c)(4),a;e[0]===t.data?a=e[1]:(a=t.data.map(_o),e[0]=t.data,e[1]=a);let s;return e[2]===a?s=e[3]:(s=(0,l.jsx)("div",{className:"flex flex-col gap-2 text-muted-foreground border p-2 bg-background rounded break-words overflow-x-hidden",children:(0,l.jsx)(At,{data:a})}),e[2]=a,e[3]=s),s},no=t=>{let e=(0,te.c)(4),a;e[0]===t.data?a=e[1]:(a=t.data.map(bo),e[0]=t.data,e[1]=a);let s;return e[2]===a?s=e[3]:(s=(0,l.jsx)("div",{className:"flex flex-col gap-2",children:(0,l.jsx)(At,{data:a})}),e[2]=a,e[3]=s),s},At=t=>{let e=(0,te.c)(5),a=wo,s;if(e[0]!==t.data){let r;e[2]===Symbol.for("react.memo_cache_sentinel")?(r=(i,o)=>(0,l.jsx)(R.Fragment,{children:a(i)},`${i.type}-${o}`),e[2]=r):r=e[2],s=t.data.map(r),e[0]=t.data,e[1]=s}else s=e[1];let n;return e[3]===s?n=e[4]:(n=(0,l.jsx)("div",{children:s}),e[3]=s,e[4]=n),n},ro=t=>{let e=(0,te.c)(3),a=`data:${t.data.mimeType};base64,${t.data.data}`,s=t.data.uri??"",n;return e[0]!==a||e[1]!==s?(n=(0,l.jsx)("img",{src:a,alt:s}),e[0]=a,e[1]=s,e[2]=n):n=e[2],n},io=t=>{let e=(0,te.c)(3),a=`data:${t.data.mimeType};base64,${t.data.data}`,s;e[0]===Symbol.for("react.memo_cache_sentinel")?(s=(0,l.jsx)("track",{kind:"captions"}),e[0]=s):s=e[0];let n;return e[1]===a?n=e[2]:(n=(0,l.jsx)("audio",{src:a,controls:!0,children:s}),e[1]=a,e[2]=n),n},oo=t=>{let e=(0,te.c)(12);if("text"in t.data.resource){let a;e[0]===t.data.resource.mimeType?a=e[1]:(a=t.data.resource.mimeType&&(0,l.jsx)(da,{mimeType:t.data.resource.mimeType}),e[0]=t.data.resource.mimeType,e[1]=a);let s;e[2]!==t.data.resource.uri||e[3]!==a?(s=(0,l.jsx)(Ra,{children:(0,l.jsxs)("span",{className:"flex items-center gap-1 hover:bg-muted rounded-md px-1",children:[a,t.data.resource.uri]})}),e[2]=t.data.resource.uri,e[3]=a,e[4]=s):s=e[4];let n;e[5]===Symbol.for("react.memo_cache_sentinel")?(n=(0,l.jsx)("span",{className:"text-muted-foreground text-xs mb-1 italic",children:"Formatted for agents, not humans."}),e[5]=n):n=e[5];let r;e[6]!==t.data.resource.mimeType||e[7]!==t.data.resource.text?(r=(0,l.jsxs)(Oa,{className:"max-h-96 overflow-y-auto scrollbar-thin whitespace-pre-wrap w-full max-w-[500px]",children:[n,t.data.resource.mimeType==="text/plain"?(0,l.jsx)("pre",{className:"text-xs whitespace-pre-wrap p-2 bg-muted rounded-md break-words",children:t.data.resource.text}):(0,l.jsx)(Ma,{content:t.data.resource.text})]}),e[6]=t.data.resource.mimeType,e[7]=t.data.resource.text,e[8]=r):r=e[8];let i;return e[9]!==s||e[10]!==r?(i=(0,l.jsxs)(Ea,{children:[s,r]}),e[9]=s,e[10]=r,e[11]=i):i=e[11],i}},lo=t=>{var r;let e=(0,te.c)(19);if(t.data.uri.startsWith("http")){let i;return e[0]!==t.data.name||e[1]!==t.data.uri?(i=(0,l.jsx)("a",{href:t.data.uri,target:"_blank",rel:"noopener noreferrer",className:"text-link hover:underline px-1",children:t.data.name}),e[0]=t.data.name,e[1]=t.data.uri,e[2]=i):i=e[2],i}if((r=t.data.mimeType)!=null&&r.startsWith("image/")){let i;e[3]===t.data.mimeType?i=e[4]:(i=(0,l.jsx)(da,{mimeType:t.data.mimeType}),e[3]=t.data.mimeType,e[4]=i);let o=t.data.name||t.data.title||t.data.uri,c;e[5]!==i||e[6]!==o?(c=(0,l.jsx)(Ra,{children:(0,l.jsxs)("span",{className:"flex items-center gap-1 hover:bg-muted rounded-md px-1 cursor-pointer",children:[i,o]})}),e[5]=i,e[6]=o,e[7]=c):c=e[7];let d=t.data.name||t.data.title||"Image",u;e[8]!==t.data.uri||e[9]!==d?(u=(0,l.jsx)(Oa,{className:"w-auto max-w-[500px] p-2",children:(0,l.jsx)("img",{src:t.data.uri,alt:d,className:"max-w-full max-h-96 object-contain"})}),e[8]=t.data.uri,e[9]=d,e[10]=u):u=e[10];let m;return e[11]!==c||e[12]!==u?(m=(0,l.jsx)("div",{children:(0,l.jsxs)(Ea,{children:[c,u]})}),e[11]=c,e[12]=u,e[13]=m):m=e[13],m}let a;e[14]===t.data.mimeType?a=e[15]:(a=t.data.mimeType&&(0,l.jsx)(da,{mimeType:t.data.mimeType}),e[14]=t.data.mimeType,e[15]=a);let s=t.data.name||t.data.title||t.data.uri,n;return e[16]!==a||e[17]!==s?(n=(0,l.jsxs)("span",{className:"flex items-center gap-1 px-1",children:[a,s]}),e[16]=a,e[17]=s,e[18]=n):n=e[18],n},da=t=>{let e=(0,te.c)(6);if(t.mimeType.startsWith("image/")){let s;return e[0]===Symbol.for("react.memo_cache_sentinel")?(s=(0,l.jsx)(Cn,{className:"h-2 w-2 flex-shrink-0"}),e[0]=s):s=e[0],s}if(t.mimeType.startsWith("audio/")){let s;return e[1]===Symbol.for("react.memo_cache_sentinel")?(s=(0,l.jsx)(Xn,{className:"h-2 w-2 flex-shrink-0"}),e[1]=s):s=e[1],s}if(t.mimeType.startsWith("video/")){let s;return e[2]===Symbol.for("react.memo_cache_sentinel")?(s=(0,l.jsx)(In,{className:"h-2 w-2 flex-shrink-0"}),e[2]=s):s=e[2],s}if(t.mimeType.startsWith("text/")){let s;return e[3]===Symbol.for("react.memo_cache_sentinel")?(s=(0,l.jsx)(Tn,{className:"h-2 w-2 flex-shrink-0"}),e[3]=s):s=e[3],s}if(t.mimeType.startsWith("application/")){let s;return e[4]===Symbol.for("react.memo_cache_sentinel")?(s=(0,l.jsx)(Sn,{className:"h-2 w-2 flex-shrink-0"}),e[4]=s):s=e[4],s}let a;return e[5]===Symbol.for("react.memo_cache_sentinel")?(a=(0,l.jsx)(An,{className:"h-2 w-2 flex-shrink-0"}),e[5]=a):a=e[5],a},co=t=>{let e=(0,te.c)(10);if(t.data.length===0)return null;let a=t.data[0].sessionUpdate,s;e[0]!==a||e[1]!==t.endTimestamp||e[2]!==t.startTimestamp?(s=o=>{if(Hi(o))return(0,l.jsx)(mo,{data:o});if(Yi(o))return(0,l.jsx)(to,{startTimestamp:t.startTimestamp,endTimestamp:t.endTimestamp,data:o});if(Ji(o))return(0,l.jsx)(so,{data:o});if(Gi(o))return(0,l.jsx)(no,{data:o});if(Qi(o))return(0,l.jsx)(ao,{data:o});if(a==="available_commands_update")return null;if(a==="current_mode_update"){let c=o.at(-1);return(c==null?void 0:c.sessionUpdate)==="current_mode_update"?(0,l.jsx)(uo,{data:c}):null}return(0,l.jsx)(ma,{title:o[0].sessionUpdate,children:(0,l.jsx)(Aa,{data:o,format:"tree",className:"max-h-64"})})},e[0]=a,e[1]=t.endTimestamp,e[2]=t.startTimestamp,e[3]=s):s=e[3];let n=s,r;e[4]!==t.data||e[5]!==n?(r=n(t.data),e[4]=t.data,e[5]=n,e[6]=r):r=e[6];let i;return e[7]!==a||e[8]!==r?(i=(0,l.jsx)("div",{className:"flex flex-col text-sm gap-2","data-block-type":a,children:r}),e[7]=a,e[8]=r,e[9]=i):i=e[9],i},uo=t=>{let e=(0,te.c)(2),{currentModeId:a}=t.data,s;return e[0]===a?s=e[1]:(s=(0,l.jsxs)("div",{children:["Mode: ",a]}),e[0]=a,e[1]=s),s},mo=t=>{let e=(0,te.c)(6),a,s;if(e[0]!==t.data){let r=Ki(t.data);a="flex flex-col text-muted-foreground overflow-x-hidden",s=r.map(ko),e[0]=t.data,e[1]=a,e[2]=s}else a=e[1],s=e[2];let n;return e[3]!==a||e[4]!==s?(n=(0,l.jsx)("div",{className:a,children:s}),e[3]=a,e[4]=s,e[5]=n):n=e[5],n},po=t=>{let e=(0,te.c)(4),a;e[0]===t.data?a=e[1]:(a=t.data.map(jo),e[0]=t.data,e[1]=a);let s;return e[2]===a?s=e[3]:(s=(0,l.jsx)("div",{className:"flex flex-col gap-2 text-muted-foreground",children:a}),e[2]=a,e[3]=s),s};function ho(t){var s;let e=t.title||Ln.startCase(t.kind||"")||"Tool call",a=(s=t.locations)==null?void 0:s[0];return a&&!e.includes(a.path)?`${e}: ${a.path}`:e}function fo(t){return t.startsWith("`")&&t.endsWith("`")?(0,l.jsx)("i",{children:t.slice(1,-1)}):t}const go=t=>{let e=(0,te.c)(6);if(t.data.length<=1)return null;let a,s;if(e[0]!==t.data){let r=t.data.map(No);a="flex flex-col gap-2",s=r.join(`
|
|
5
|
+
`),e[0]=t.data,e[1]=a,e[2]=s}else a=e[1],s=e[2];let n;return e[3]!==a||e[4]!==s?(n=(0,l.jsx)("div",{className:a,children:s}),e[3]=a,e[4]=s,e[5]=n):n=e[5],n},us=t=>{let e=(0,te.c)(24),{content:a,locations:s,status:n,kind:r,rawInput:i}=t.data,o;e[0]===a?o=e[1]:(o=a==null?void 0:a.filter(So).map(Co),e[0]=a,e[1]=o);let c=o,d;e[2]===a?d=e[3]:(d=a==null?void 0:a.filter(Io),e[2]=a,e[3]=d);let u=d,m=n==="failed",h=s&&s.length>0;if(!a&&!h&&i){let T;return e[4]===i?T=e[5]:(T=(0,l.jsx)("pre",{className:"bg-[var(--slate-2)] p-1 text-muted-foreground border border-[var(--slate-4)] rounded text-xs overflow-auto scrollbar-thin max-h-64",children:(0,l.jsx)(Aa,{data:i,format:"tree"})}),e[4]=i,e[5]=T),T}let k=!c||c.length===0,g=!u||u.length===0;if(k&&g&&h){let T=r||"",Z;e[6]===T?Z=e[7]:(Z=zt(T),e[6]=T,e[7]=Z);let P;e[8]===s?P=e[9]:(P=s==null?void 0:s.map(To).join(", "),e[8]=s,e[9]=P);let A;return e[10]!==Z||e[11]!==P?(A=(0,l.jsx)("div",{className:"flex flex-col gap-2 pr-2",children:(0,l.jsxs)("span",{className:"text-xs text-muted-foreground",children:[Z," ",P]})}),e[10]=Z,e[11]=P,e[12]=A):A=e[12],A}let v;e[13]===s?v=e[14]:(v=s&&(0,l.jsx)(go,{data:s}),e[13]=s,e[14]=v);let y;e[15]===c?y=e[16]:(y=c&&(0,l.jsx)(At,{data:c}),e[15]=c,e[16]=y);let S;e[17]!==u||e[18]!==m?(S=u&&!m&&(0,l.jsx)(po,{data:u}),e[17]=u,e[18]=m,e[19]=S):S=e[19];let I;return e[20]!==v||e[21]!==y||e[22]!==S?(I=(0,l.jsxs)("div",{className:"flex flex-col gap-2 pr-2",children:[v,y,S]}),e[20]=v,e[21]=y,e[22]=S,e[23]=I):I=e[23],I};function vo(t){return t.content}function yo(t){return t.entries}function xo(t,e){return(0,l.jsxs)("li",{className:`
|
|
6
|
+
flex items-center gap-2 px-2 py-1 rounded
|
|
7
|
+
`,children:[(0,l.jsx)("input",{type:"checkbox",checked:t.status==="completed",readOnly:!0,className:"accent-primary h-4 w-4 rounded border border-muted-foreground/30",tabIndex:-1}),(0,l.jsx)("span",{className:fe("text-xs",t.status==="completed"&&"line-through text-muted-foreground"),children:t.content})]},`${t.status}-${e}`)}function _o(t){return t.content}function bo(t){return t.content}function wo(t){return t.type==="text"?(0,l.jsx)(Ma,{content:t.text}):t.type==="image"?(0,l.jsx)(ro,{data:t}):t.type==="audio"?(0,l.jsx)(io,{data:t}):t.type==="resource"?(0,l.jsx)(oo,{data:t}):t.type==="resource_link"?(0,l.jsx)(lo,{data:t}):(Dn(t),null)}function ko(t){return(0,l.jsx)(ma,{status:t.status==="completed"?"success":t.status==="failed"?"error":t.status==="in_progress"||t.status==="pending"?"loading":void 0,title:(0,l.jsx)("span",{"data-tool-data":JSON.stringify(t),children:fo(ho(t))}),defaultIcon:(0,l.jsx)(Fn,{className:"h-3 w-3"}),children:(0,l.jsx)(us,{data:t})},t.toolCallId)}function jo(t){return(0,l.jsxs)("div",{className:"border rounded-md overflow-hidden bg-[var(--gray-2)] max-h-64 overflow-y-auto scrollbar-thin",children:[(0,l.jsx)("div",{className:"px-2 py-1 bg-[var(--gray-2)] border-b text-xs font-medium text-[var(--gray-11)]",children:t.path}),(0,l.jsxs)("div",{className:"font-mono text-xs",children:[t.oldText&&(0,l.jsx)("div",{className:"px-3 py-1 border-b bg-[var(--red-2)] border-b-[var(--red-6)]",children:(0,l.jsxs)("div",{className:"flex",children:[(0,l.jsx)("span",{className:"text-[var(--red-11)] select-none mr-2",children:"-"}),(0,l.jsx)("pre",{className:"text-[var(--red-11)] px-1 rounded whitespace-pre-wrap break-words flex-1 line-through opacity-80",children:t.oldText})]})}),t.newText&&(0,l.jsx)("div",{className:"px-3 py-1 bg-[var(--grass-2)] border-b-[var(--grass-6)]",children:(0,l.jsxs)("div",{className:"flex",children:[(0,l.jsx)("span",{className:"text-[var(--grass-11)] select-none mr-2",children:"+"}),(0,l.jsx)("pre",{className:"text-[var(--grass-11)] px-1 rounded whitespace-pre-wrap break-words flex-1 italic opacity-90",children:t.newText})]})})]})]},t.path)}function No(t){return t.line?`${t.path}:${t.line}`:t.path}function So(t){return t.type==="content"}function Co(t){return t.content}function Io(t){return t.type==="diff"}function To(t){return t.path}var ua=ye(Ee());const ma=t=>{let e=(0,ua.c)(31),{title:a,children:s,status:n,index:r,defaultIcon:i}=t,o=r===void 0?0:r,c;e[0]!==i||e[1]!==n?(c=()=>{switch(n){case"loading":return(0,l.jsx)(Rn,{className:"h-3 w-3 animate-spin"});case"error":return(0,l.jsx)(Bt,{className:"h-3 w-3 text-destructive"});case"success":return(0,l.jsx)(Ia,{className:"h-3 w-3 text-[var(--blue-9)]"});default:return i}},e[0]=i,e[1]=n,e[2]=c):c=e[2];let d=c,u=`tool-${o}`,m=n==="error"&&"text-destructive/80",h=n==="success"&&"text-[var(--blue-8)]",k;e[3]!==m||e[4]!==h?(k=fe("py-1 text-xs border-border shadow-none! ring-0! bg-muted hover:bg-muted/30 px-2 gap-1 rounded-sm [&[data-state=open]>svg]:rotate-180",m,h),e[3]=m,e[4]=h,e[5]=k):k=e[5];let g;e[6]===d?g=e[7]:(g=d(),e[6]=d,e[7]=g);let v;e[8]===a?v=e[9]:(v=(0,l.jsx)("code",{className:"font-mono text-xs truncate",children:a}),e[8]=a,e[9]=v);let y;e[10]!==g||e[11]!==v?(y=(0,l.jsxs)("span",{className:"flex items-center gap-1",children:[g,v]}),e[10]=g,e[11]=v,e[12]=y):y=e[12];let S;e[13]!==k||e[14]!==y?(S=(0,l.jsx)(Wn,{className:k,children:y}),e[13]=k,e[14]=y,e[15]=S):S=e[15];let I;e[16]!==s||e[17]!==n?(I=n!=="error"&&(0,l.jsx)("div",{className:"text-xs font-medium text-muted-foreground mb-1",children:s}),e[16]=s,e[17]=n,e[18]=I):I=e[18];let T;e[19]!==s||e[20]!==n?(T=n==="error"&&(0,l.jsx)("div",{className:"bg-destructive/10 border border-destructive/20 rounded-md p-3 text-xs text-destructive",children:s}),e[19]=s,e[20]=n,e[21]=T):T=e[21];let Z;e[22]!==I||e[23]!==T?(Z=(0,l.jsx)(Vn,{className:"p-2",children:(0,l.jsxs)("div",{className:"space-y-3 max-h-64 overflow-y-auto scrollbar-thin",children:[I,T]})}),e[22]=I,e[23]=T,e[24]=Z):Z=e[24];let P;e[25]!==S||e[26]!==Z?(P=(0,l.jsxs)(Bn,{value:"tool-call",className:"border-0",children:[S,Z]}),e[25]=S,e[26]=Z,e[27]=P):P=e[27];let A;return e[28]!==P||e[29]!==u?(A=(0,l.jsx)(Kn,{type:"single",collapsible:!0,className:"w-full",children:P},u),e[28]=P,e[29]=u,e[30]=A):A=e[30],A},ms=(0,R.memo)(t=>{let e=(0,ua.c)(16),{status:a,className:s}=t,n;e[0]===a?n=e[1]:(n=()=>{switch(a){case"connected":return{icon:(0,l.jsx)(Kt,{className:"h-3 w-3"}),label:"Connected",variant:"default",className:"bg-[var(--blue-3)] text-[var(--blue-11)] border-[var(--blue-5)]"};case"connecting":return{icon:(0,l.jsx)(_n,{className:"h-3 w-3 animate-pulse"}),label:"Connecting",variant:"secondary",className:"bg-[var(--yellow-3)] text-[var(--yellow-11)] border-[var(--yellow-5)]"};case"disconnected":return{icon:(0,l.jsx)(st,{className:"h-3 w-3"}),label:"Disconnected",variant:"outline",className:"bg-[var(--red-3)] text-[var(--red-11)] border-[var(--red-5)]"};default:return{icon:(0,l.jsx)(st,{className:"h-3 w-3"}),label:a||"Unknown",variant:"outline",className:"bg-[var(--gray-3)] text-[var(--gray-11)] border-[var(--gray-5)]"}}},e[0]=a,e[1]=n);let r=n,i,o,c,d;e[2]!==s||e[3]!==r?(o=r(),i=Un,c=o.variant,d=fe(o.className,s),e[2]=s,e[3]=r,e[4]=i,e[5]=o,e[6]=c,e[7]=d):(i=e[4],o=e[5],c=e[6],d=e[7]);let u;e[8]===o.label?u=e[9]:(u=(0,l.jsx)("span",{className:"ml-1 text-xs font-medium",children:o.label}),e[8]=o.label,e[9]=u);let m;return e[10]!==i||e[11]!==o.icon||e[12]!==c||e[13]!==d||e[14]!==u?(m=(0,l.jsxs)(i,{variant:c,className:d,children:[o.icon,u]}),e[10]=i,e[11]=o.icon,e[12]=c,e[13]=d,e[14]=u,e[15]=m):m=e[15],m});ms.displayName="ConnectionStatus";const ps=(0,R.memo)(t=>{let e=(0,ua.c)(14),{permission:a,onResolve:s}=t,n,r;e[0]===Symbol.for("react.memo_cache_sentinel")?(n=(0,l.jsxs)("div",{className:"flex items-center gap-2 mb-3",children:[(0,l.jsx)(er,{className:"h-4 w-4 text-[var(--amber-11)]"}),(0,l.jsx)("h3",{className:"text-sm font-medium text-[var(--amber-11)]",children:"Permission Request"})]}),r=(0,l.jsx)("p",{className:"text-sm text-[var(--amber-11)] mb-3",children:"The AI agent is requesting permission to proceed:"}),e[0]=n,e[1]=r):(n=e[0],r=e[1]);let i;e[2]===a.toolCall?i=e[3]:(i=(0,l.jsx)(us,{data:a.toolCall}),e[2]=a.toolCall,e[3]=i);let o;if(e[4]!==s||e[5]!==a.options){let u;e[7]===s?u=e[8]:(u=m=>(0,l.jsxs)(ne,{size:"xs",variant:"text",className:m.kind.startsWith("allow")?"text-[var(--blue-10)]":"text-[var(--red-10)]",onClick:()=>s({outcome:{outcome:"selected",optionId:m.optionId}}),children:[m.kind.startsWith("allow")&&(0,l.jsx)(Ia,{className:"h-3 w-3 mr-1"}),m.kind.startsWith("reject")&&(0,l.jsx)(Bt,{className:"h-3 w-3 mr-1"}),m.name]},m.optionId),e[7]=s,e[8]=u),o=a.options.map(u),e[4]=s,e[5]=a.options,e[6]=o}else o=e[6];let c;e[9]===o?c=e[10]:(c=(0,l.jsx)("div",{className:"flex gap-2",children:o}),e[9]=o,e[10]=c);let d;return e[11]!==i||e[12]!==c?(d=(0,l.jsxs)("div",{className:"border border-[var(--amber-8)] bg-[var(--amber-2)] rounded-lg p-2",children:[n,r,i,c]}),e[11]=i,e[12]=c,e[13]=d):d=e[13],d});ps.displayName="PermissionRequest";var Ao=ye(Ee());function Ro(){let t=(0,Ao.c)(3),{addCommand:e}=Jn(),{setIsTerminalOpen:a}=tn(),s;return t[0]!==e||t[1]!==a?(s={sendCommand:n=>{a(!0),e(n)}},t[0]=e,t[1]=a,t[2]=s):s=t[2],s}var hs=1;const it=an("marimo:acp:sessions:v1",{sessions:[],activeTabId:null}),pa=Qs(t=>{let e=t(it);return e.activeTabId&&e.sessions.find(a=>a.tabId===e.activeTabId)||null},(t,e,a)=>{e(it,s=>({...s,activeTabId:a}))});function Oo(){return`tab_${rn()}`}function fs(t,e=20){return t.length<=e?t:`${t.slice(0,e-3)}...`}function Eo(t,e){let a=vs(e.agentId),s=Date.now(),n=e.firstMessage?fs(e.firstMessage.trim()):`New ${e.agentId} session`,r=Oo();if(a==="single"){let i=t.sessions.filter(c=>c.agentId===e.agentId),o=t.sessions.filter(c=>c.agentId!==e.agentId);if(i.length>0){let c=i[0],d={agentId:e.agentId,title:n,createdAt:s,lastUsedAt:s,tabId:c.tabId,externalAgentSessionId:null};return{...t,sessions:[...o.slice(0,hs-1),d],activeTabId:d.tabId}}}return{...t,sessions:[...t.sessions.slice(0,hs-1),{agentId:e.agentId,tabId:r,title:n,createdAt:s,lastUsedAt:s,externalAgentSessionId:null}],activeTabId:r}}function Mo(t,e){let a=t.sessions.filter(n=>n.tabId!==e),s=t.activeTabId===e?a.length>0?a[a.length-1].tabId:null:t.activeTabId;return{sessions:a,activeTabId:s}}function Zo(t,e){let a=t.activeTabId;return a?{...t,sessions:t.sessions.map(s=>s.tabId===a?{...s,title:fs(e)}:s)}:t}function Po(t,e){return{...t,sessions:t.sessions.map(a=>a.tabId===e?{...a,lastUsedAt:Date.now()}:a)}}function gs(t,e){let a=t.activeTabId;return a?{...t,sessions:t.sessions.map(s=>s.tabId===a?{...s,externalAgentSessionId:e,lastUsedAt:Date.now()}:s)}:t}function $o(){return["claude","gemini"]}function Fo(t){return zt(t)}function Do(t){return Rt[t].webSocketUrl}var Rt={claude:{port:3017,command:"npx @zed-industries/claude-code-acp",webSocketUrl:"ws://localhost:3017/message",sessionSupport:"single"},gemini:{port:3019,command:"npx @google/gemini-cli --experimental-acp",webSocketUrl:"ws://localhost:3019/message",sessionSupport:"single"}};function vs(t){return Rt[t].sessionSupport}function Uo(t){let e=Rt[t].port;return`npx stdio-to-ws "${Rt[t].command}" --port ${e}`}var ys=ye(Ee()),xs=(0,R.memo)(t=>{let e=(0,ys.c)(35),{agentId:a,showCopy:s,className:n}=t,r=s===void 0?!0:s,i;e[0]===a?i=e[1]:(i=Uo(a),e[0]=a,e[1]=i);let o=i,c;e[2]===a?c=e[3]:(c=Fo(a),e[2]=a,e[3]=c);let d=c,u=Na(en),{sendCommand:m}=Ro(),h;e[4]!==o||e[5]!==m?(h=()=>{m(o)},e[4]=o,e[5]=m,e[6]=h):h=e[6];let k=h,g;e[7]===n?g=e[8]:(g=fe("space-y-2",n),e[7]=n,e[8]=g);let v;e[9]===a?v=e[10]:(v=(0,l.jsx)(Vt,{provider:a,className:"h-4 w-4"}),e[9]=a,e[10]=v);let y;e[11]===d?y=e[12]:(y=(0,l.jsx)("span",{className:"font-medium text-sm",children:d}),e[11]=d,e[12]=y);let S;e[13]!==v||e[14]!==y?(S=(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[v,y]}),e[13]=v,e[14]=y,e[15]=S):S=e[15];let I;e[16]===Symbol.for("react.memo_cache_sentinel")?(I=(0,l.jsx)(tr,{className:"h-4 w-4 mt-0.5 text-muted-foreground flex-shrink-0"}),e[16]=I):I=e[16];let T;e[17]===o?T=e[18]:(T=(0,l.jsx)("code",{className:"text-xs font-mono break-words flex-1 whitespace-pre-wrap",children:o}),e[17]=o,e[18]=T);let Z;e[19]!==o||e[20]!==r?(Z=r&&(0,l.jsx)(ne,{size:"xs",variant:"outline",className:"border",children:(0,l.jsx)(qn,{value:o,className:"h-3 w-3"})}),e[19]=o,e[20]=r,e[21]=Z):Z=e[21];let P;e[22]!==u.terminal||e[23]!==k?(P=u.terminal&&(0,l.jsx)(ft,{content:"Run in terminal",delayDuration:100,children:(0,l.jsx)(ne,{onClick:k,title:"Send to terminal",size:"xs",variant:"outline",children:(0,l.jsx)(Pn,{className:"h-3 w-3"})})}),e[22]=u.terminal,e[23]=k,e[24]=P):P=e[24];let A;e[25]!==Z||e[26]!==P?(A=(0,l.jsxs)("div",{className:"flex items-center gap-1 flex-shrink-0",children:[Z,P]}),e[25]=Z,e[26]=P,e[27]=A):A=e[27];let O;e[28]!==T||e[29]!==A?(O=(0,l.jsx)("div",{className:"bg-muted/50 rounded-md p-2 border",children:(0,l.jsxs)("div",{className:"flex items-start gap-2 text-xs",children:[I,T,A]})}),e[28]=T,e[29]=A,e[30]=O):O=e[30];let q;return e[31]!==O||e[32]!==g||e[33]!==S?(q=(0,l.jsxs)("div",{className:g,children:[S,O]}),e[31]=O,e[32]=g,e[33]=S,e[34]=q):q=e[34],q});xs.displayName="AgentDocItem";const Ot=(0,R.memo)(t=>{let e=(0,ys.c)(22),{title:a,description:s,agents:n,showCopy:r,className:i}=t,o;e[0]===n?o=e[1]:(o=n===void 0?$o():n,e[0]=n,e[1]=o);let c=o,d=r===void 0?!0:r,u;e[2]===i?u=e[3]:(u=fe("space-y-4",i),e[2]=i,e[3]=u);let m;e[4]===a?m=e[5]:(m=(0,l.jsx)("h3",{className:"font-medium text-sm",children:a}),e[4]=a,e[5]=m);let h;e[6]===s?h=e[7]:(h=(0,l.jsx)("p",{className:"text-xs text-muted-foreground",children:s}),e[6]=s,e[7]=h);let k;e[8]!==m||e[9]!==h?(k=(0,l.jsxs)("div",{className:"space-y-2",children:[m,h]}),e[8]=m,e[9]=h,e[10]=k):k=e[10];let g;if(e[11]!==c||e[12]!==d){let S;e[14]===d?S=e[15]:(S=I=>(0,l.jsx)(xs,{agentId:I,showCopy:d},I),e[14]=d,e[15]=S),g=c.map(S),e[11]=c,e[12]=d,e[13]=g}else g=e[13];let v;e[16]===g?v=e[17]:(v=(0,l.jsx)("div",{className:"space-y-3",children:g}),e[16]=g,e[17]=v);let y;return e[18]!==u||e[19]!==k||e[20]!==v?(y=(0,l.jsxs)("div",{className:u,children:[k,v]}),e[18]=u,e[19]=k,e[20]=v,e[21]=y):y=e[21],y});Ot.displayName="AgentDocs";var _s=ye(Ee()),bs=[{id:"claude",displayName:"Claude",iconId:"anthropic"},{id:"gemini",displayName:"Gemini",iconId:"google"}],ws=(0,R.memo)(t=>{let e=(0,_s.c)(24),{agent:a,onSelect:s,existingSessions:n}=t,r;e[0]===a.id?r=e[1]:(r=vs(a.id),e[0]=a.id,e[1]=r);let i=r,o;if(e[2]!==a.id||e[3]!==n){let S;e[5]===a.id?S=e[6]:(S=I=>I.agentId===a.id,e[5]=a.id,e[6]=S),o=n.some(S),e[2]=a.id,e[3]=n,e[4]=o}else o=e[4];let c=o,d;e[7]!==a.displayName||e[8]!==c||e[9]!==i?(d=()=>i==="single"&&c?`Reset ${a.displayName} session`:`New ${a.displayName} session`,e[7]=a.displayName,e[8]=c,e[9]=i,e[10]=d):d=e[10];let u=d,m;e[11]!==a.id||e[12]!==s?(m=()=>s(a.id),e[11]=a.id,e[12]=s,e[13]=m):m=e[13];let h;e[14]===a.iconId?h=e[15]:(h=(0,l.jsx)(Vt,{provider:a.iconId,className:"h-3 w-3 mr-2"}),e[14]=a.iconId,e[15]=h);let k=u(),g;e[16]===k?g=e[17]:(g=(0,l.jsx)("span",{children:k}),e[16]=k,e[17]=g);let v;e[18]!==h||e[19]!==g?(v=(0,l.jsxs)("div",{className:"flex items-center w-full",children:[h,g]}),e[18]=h,e[19]=g,e[20]=v):v=e[20];let y;return e[21]!==m||e[22]!==v?(y=(0,l.jsx)(bn,{onClick:m,className:"cursor-pointer",children:v}),e[21]=m,e[22]=v,e[23]=y):y=e[23],y});ws.displayName="AgentMenuItem";const Et=(0,R.memo)(t=>{let e=(0,_s.c)(30),{onSessionCreated:a,className:s}=t,n=Hn(),[r,i]=ht(it),o=ja(pa),[c,d]=(0,R.useState)(!1),u;e[0]!==a||e[1]!==r||e[2]!==o||e[3]!==i?(u=async B=>{let V=Eo(r,{agentId:B});i(V),o(V.activeTabId),d(!1),a==null||a(B)},e[0]=a,e[1]=r,e[2]=o,e[3]=i,e[4]=u):u=e[4];let m=re(u),h;e[5]===s?h=e[6]:(h=fe("h-6 gap-1 px-2 text-xs bg-muted/30 hover:bg-muted/50 border border-border border-y-0 rounded-none focus-visible:ring-0",s),e[5]=s,e[6]=h);let k,g;e[7]===Symbol.for("react.memo_cache_sentinel")?(k=(0,l.jsx)("span",{children:"New session"}),g=(0,l.jsx)(pn,{className:"h-3 w-3"}),e[7]=k,e[8]=g):(k=e[7],g=e[8]);let v;e[9]===h?v=e[10]:(v=(0,l.jsx)(kn,{asChild:!0,children:(0,l.jsxs)(ne,{variant:"ghost",size:"sm",className:h,children:[k,g]})}),e[9]=h,e[10]=v);let y;e[11]!==m||e[12]!==r?(y=bs.map(B=>(0,l.jsx)(ws,{agent:B,onSelect:m,existingSessions:r.sessions},B.id)),e[11]=m,e[12]=r,e[13]=y):y=e[13];let S;e[14]===Symbol.for("react.memo_cache_sentinel")?(S=(0,l.jsx)(wn,{}),e[14]=S):S=e[14];let I;e[15]===Symbol.for("react.memo_cache_sentinel")?(I=(0,l.jsx)("br",{}),e[15]=I):I=e[15];let T;e[16]===n?T=e[17]:(T=Dt.dirname(n??""),e[16]=n,e[17]=T);let Z;e[18]===T?Z=e[19]:(Z=(0,l.jsxs)("div",{className:"text-xs font-medium text-muted-foreground mb-3",children:["To start an external agent, run the following command in your terminal.",I,"Note: This must be in the directory"," ",T]}),e[18]=T,e[19]=Z);let P;e[20]===Symbol.for("react.memo_cache_sentinel")?(P=(0,l.jsx)(Ot,{agents:bs.map(zo),showCopy:!0}),e[20]=P):P=e[20];let A;e[21]===Z?A=e[22]:(A=(0,l.jsxs)("div",{className:"px-2 py-2",children:[Z,P]}),e[21]=Z,e[22]=A);let O;e[23]!==A||e[24]!==y?(O=(0,l.jsxs)(jn,{align:"start",className:"w-fit",children:[y,S,A]}),e[23]=A,e[24]=y,e[25]=O):O=e[25];let q;return e[26]!==c||e[27]!==O||e[28]!==v?(q=(0,l.jsxs)(Nn,{open:c,onOpenChange:d,children:[v,O]}),e[26]=c,e[27]=O,e[28]=v,e[29]=q):q=e[29],q});Et.displayName="AgentSelector";function zo(t){return t.id}var Lo=ye(Ee()),ks=(0,R.memo)(t=>{let e=(0,Lo.c)(10),{isVisible:a,onScrollToBottom:s,className:n}=t;if(!a)return null;let r;e[0]===n?r=e[1]:(r=fe("absolute bottom-2 right-6 z-10 animate-in fade-in-0 zoom-in-95 duration-200",n),e[0]=n,e[1]=r);let i,o,c;e[2]===Symbol.for("react.memo_cache_sentinel")?(i=fe("h-8 w-8 p-0 rounded-full","bg-background/90 backdrop-blur-sm","border border-border/50","shadow-md shadow-black/10","hover:bg-background hover:shadow-black/15","transition-all duration-200","focus:outline-none focus:ring-2 focus:ring-primary/50"),o=(0,l.jsx)(Gn,{className:"h-4 w-4"}),c=(0,l.jsx)("span",{className:"sr-only",children:"Scroll to bottom"}),e[2]=i,e[3]=o,e[4]=c):(i=e[2],o=e[3],c=e[4]);let d;e[5]===s?d=e[6]:(d=(0,l.jsxs)(ne,{variant:"secondary",size:"sm",onClick:s,className:i,children:[o,c]}),e[5]=s,e[6]=d);let u;return e[7]!==r||e[8]!==d?(u=(0,l.jsx)("div",{className:r,children:d}),e[7]=r,e[8]=d,e[9]=u):u=e[9],u});ks.displayName="ScrollToBottomButton";var qo=ks,Mt=ye(Ee()),js=(0,R.memo)(t=>{let e=(0,Mt.c)(23),{session:a,isActive:s,onSelect:n,onClose:r}=t,i=s&&"bg-background border-b-0 relative z-1",o;e[0]===i?o=e[1]:(o=fe("flex items-center gap-1 px-2 py-1 text-xs border-r border-border bg-muted/30 hover:bg-muted/50 cursor-pointer min-w-0",i),e[0]=i,e[1]=o);let c;e[2]!==n||e[3]!==a.tabId?(c=()=>n(a.tabId),e[2]=n,e[3]=a.tabId,e[4]=c):c=e[4];let d;e[5]===a.agentId?d=e[6]:(d=(0,l.jsx)("span",{className:"text-muted-foreground text-[10px] font-medium",children:(0,l.jsx)(Vt,{provider:a.agentId,className:"h-3 w-3"})}),e[5]=a.agentId,e[6]=d);let u;e[7]===a.title?u=e[8]:(u=(0,l.jsx)("span",{className:"truncate",title:a.title,children:a.title}),e[7]=a.title,e[8]=u);let m;e[9]!==d||e[10]!==u?(m=(0,l.jsxs)("div",{className:"flex items-center gap-1 min-w-0 flex-1",children:[d,u]}),e[9]=d,e[10]=u,e[11]=m):m=e[11];let h;e[12]!==r||e[13]!==a.tabId?(h=y=>{y.stopPropagation(),r(a.tabId)},e[12]=r,e[13]=a.tabId,e[14]=h):h=e[14];let k;e[15]===Symbol.for("react.memo_cache_sentinel")?(k=(0,l.jsx)(Ca,{className:"h-3 w-3"}),e[15]=k):k=e[15];let g;e[16]===h?g=e[17]:(g=(0,l.jsx)(ne,{variant:"ghost",size:"sm",className:"h-4 w-4 p-0 hover:bg-destructive/20 hover:text-destructive flex-shrink-0",onClick:h,children:k}),e[16]=h,e[17]=g);let v;return e[18]!==o||e[19]!==c||e[20]!==m||e[21]!==g?(v=(0,l.jsxs)("div",{className:o,onClick:c,children:[m,g]}),e[18]=o,e[19]=c,e[20]=m,e[21]=g,e[22]=v):v=e[22],v});js.displayName="SessionTab";var Ns=(0,R.memo)(t=>{let e=(0,Mt.c)(11),{sessions:a,activeTabId:s,onSelectSession:n,onCloseSession:r}=t,i;if(e[0]!==s||e[1]!==r||e[2]!==n||e[3]!==a){let c;e[5]!==s||e[6]!==r||e[7]!==n?(c=d=>(0,l.jsx)(js,{session:d,isActive:d.tabId===s,onSelect:n,onClose:r},d.tabId),e[5]=s,e[6]=r,e[7]=n,e[8]=c):c=e[8],i=a.map(c),e[0]=s,e[1]=r,e[2]=n,e[3]=a,e[4]=i}else i=e[4];let o;return e[9]===i?o=e[10]:(o=(0,l.jsx)("div",{className:"flex min-w-0 flex-1 overflow-x-auto",children:i}),e[9]=i,e[10]=o),o});Ns.displayName="SessionList";var Ss=(0,R.memo)(t=>{let e=(0,Mt.c)(5),{className:a}=t,s;e[0]===a?s=e[1]:(s=fe("flex items-center border-b bg-muted/20",a),e[0]=a,e[1]=s);let n;e[2]===Symbol.for("react.memo_cache_sentinel")?(n=(0,l.jsx)(Et,{className:"h-6"}),e[2]=n):n=e[2];let r;return e[3]===s?r=e[4]:(r=(0,l.jsx)("div",{className:s,children:n}),e[3]=s,e[4]=r),r});Ss.displayName="EmptySessionTabs";const ha=(0,R.memo)(t=>{let e=(0,Mt.c)(18),{className:a}=t,[s,n]=ht(it),r=ja(pa),i;e[0]!==r||e[1]!==n?(i=y=>{r(y),n(S=>Po(S,y))},e[0]=r,e[1]=n,e[2]=i):i=e[2];let o=re(i),c;e[3]===n?c=e[4]:(c=y=>{n(S=>Mo(S,y))},e[3]=n,e[4]=c);let d=re(c),{sessions:u,activeTabId:m}=s;if(u.length===0){let y;return e[5]===a?y=e[6]:(y=(0,l.jsx)(Ss,{className:a}),e[5]=a,e[6]=y),y}let h;e[7]===a?h=e[8]:(h=fe("flex items-center border-b bg-muted/20 overflow-hidden",a),e[7]=a,e[8]=h);let k;e[9]!==m||e[10]!==d||e[11]!==o||e[12]!==u?(k=(0,l.jsx)(Ns,{sessions:u,activeTabId:m,onSelectSession:o,onCloseSession:d}),e[9]=m,e[10]=d,e[11]=o,e[12]=u,e[13]=k):k=e[13];let g;e[14]===Symbol.for("react.memo_cache_sentinel")?(g=(0,l.jsx)(Et,{className:"h-6 flex-shrink-0"}),e[14]=g):g=e[14];let v;return e[15]!==h||e[16]!==k?(v=(0,l.jsxs)("div",{className:h,children:[k,g]}),e[15]=h,e[16]=k,e[17]=v):v=e[17],v});ha.displayName="SessionTabs";var Wo=ye(Ee());const Vo=t=>{let e=(0,Wo.c)(17),{notifications:a,isConnected:s,onRetryConnection:n,onRetryLastAction:r,onDismissError:i}=t,o,c;if(e[0]!==s||e[1]!==a||e[2]!==i||e[3]!==n||e[4]!==r){let u=Vi(a);u=u.filter((g,v)=>v===u.length-1?!0:!Cs(g));let m;e[7]!==s||e[8]!==i||e[9]!==n||e[10]!==r?(m=g=>{if(g.length===0)return null;if(Bo(g)){let v=g[g.length-1];return(0,l.jsx)(Xi,{data:v.data,onRetry:r,onDismiss:i?()=>i(v.id):void 0},v.id)}if(Cs(g)){let v=g[g.length-1];return(0,l.jsx)(eo,{data:v.data,isConnected:s,onRetry:n,timestamp:v.timestamp},v.id)}if(Ko(g)){let v=g[0].timestamp,y=g[g.length-1].timestamp,S=g.map(Ho);return(0,l.jsx)(co,{data:S,startTimestamp:v,endTimestamp:y})}return"Unknown notification type"},e[7]=s,e[8]=i,e[9]=n,e[10]=r,e[11]=m):m=e[11];let h=m;o="flex flex-col gap-4 px-2 pb-10";let k;e[12]===h?k=e[13]:(k=g=>(0,l.jsx)(R.Fragment,{children:h(g)},g[0].id),e[12]=h,e[13]=k),c=u.map(k),e[0]=s,e[1]=a,e[2]=i,e[3]=n,e[4]=r,e[5]=o,e[6]=c}else o=e[5],c=e[6];let d;return e[14]!==o||e[15]!==c?(d=(0,l.jsx)("div",{className:o,children:c}),e[14]=o,e[15]=c,e[16]=d):d=e[16],d};function Bo(t){return t[0].type==="error"}function Cs(t){return t[0].type==="connection_change"}function Ko(t){return t[0].type==="session_notification"}function Ho(t){return t.data.update}async function Yo(t){let e=[];for(let a of t)try{let s=await un(a,"dataUrl");e.push({type:"resource_link",uri:s,mimeType:a.type,name:a.name})}catch(s){Je.error("Error converting file to resource link",{fileName:a.name,error:s})}return e}async function Jo(t){let e=[];for(let a of t)e.push({type:"resource_link",uri:a.url,mimeType:a.mediaType,name:a.filename??a.url});return e}async function Go(t){let e=[],a=[];if(!t.includes("@"))return{contextBlocks:e,attachmentBlocks:a};try{let s=dn(Lt),n=s.parseAllContextIds(t);if(n.length===0)return{contextBlocks:e,attachmentBlocks:a};let r=s.formatContextForAI(n);r.trim()&&e.push({type:"resource",resource:{uri:"context.md",mimeType:"text/plain",text:r}});try{let i=await s.getAttachmentsForContext(n);if(i.length>0){let o=await Jo(i);a.push(...o),Je.debug("Added AI context attachments",{count:i.length})}}catch(i){Je.error("Error getting AI context attachments",{error:i})}Je.debug("Parsed context for agent",{contextIds:n,contextLength:r.length,attachmentCount:a.length})}catch(s){Je.error("Error parsing context for agent",{error:s})}return{contextBlocks:e,attachmentBlocks:a}}function Qo(t){return`
|
|
8
|
+
I am currently editing a marimo notebook.
|
|
9
|
+
You can read or write to the notebook at ${t}
|
|
10
|
+
|
|
11
|
+
If you make edits to the notebook, only edit the contents inside the function decorator with @app.cell.
|
|
12
|
+
marimo will automatically handle adding the parameters and return statement of the function. For example,
|
|
13
|
+
for each edit, just return:
|
|
14
|
+
|
|
15
|
+
\`\`\`
|
|
16
|
+
@app.cell
|
|
17
|
+
def _():
|
|
18
|
+
<your code here>
|
|
19
|
+
return
|
|
20
|
+
\`\`\`
|
|
21
|
+
|
|
22
|
+
## Marimo fundamentals
|
|
23
|
+
|
|
24
|
+
Marimo is a reactive notebook that differs from traditional notebooks in key ways:
|
|
25
|
+
|
|
26
|
+
- Cells execute automatically when their dependencies change
|
|
27
|
+
- Variables cannot be redeclared across cells
|
|
28
|
+
- The notebook forms a directed acyclic graph (DAG)
|
|
29
|
+
- The last expression in a cell is automatically displayed
|
|
30
|
+
- UI elements are reactive and update the notebook automatically
|
|
31
|
+
|
|
32
|
+
## Code Requirements
|
|
33
|
+
|
|
34
|
+
1. All code must be complete and runnable
|
|
35
|
+
2. Follow consistent coding style throughout
|
|
36
|
+
3. Include descriptive variable names and helpful comments
|
|
37
|
+
4. Import all modules in the first cell, always including \`import marimo as mo\`
|
|
38
|
+
5. Never redeclare variables across cells
|
|
39
|
+
6. Ensure no cycles in notebook dependency graph
|
|
40
|
+
7. The last expression in a cell is automatically displayed, just like in Jupyter notebooks.
|
|
41
|
+
8. Don't include comments in markdown cells
|
|
42
|
+
9. Don't include comments in SQL cells
|
|
43
|
+
10. Never define anything using \`global\`.
|
|
44
|
+
|
|
45
|
+
## Reactivity
|
|
46
|
+
|
|
47
|
+
Marimo's reactivity means:
|
|
48
|
+
|
|
49
|
+
- When a variable changes, all cells that use that variable automatically re-execute
|
|
50
|
+
- UI elements trigger updates when their values change without explicit callbacks
|
|
51
|
+
- UI element values are accessed through \`.value\` attribute
|
|
52
|
+
- You cannot access a UI element's value in the same cell where it's defined
|
|
53
|
+
- Cells prefixed with an underscore (e.g. _my_var) are local to the cell and cannot be accessed by other cells
|
|
54
|
+
|
|
55
|
+
## Best Practices
|
|
56
|
+
|
|
57
|
+
<data_handling>
|
|
58
|
+
- Use polars for data manipulation
|
|
59
|
+
- Implement proper data validation
|
|
60
|
+
- Handle missing values appropriately
|
|
61
|
+
- Use efficient data structures
|
|
62
|
+
- A variable in the last expression of a cell is automatically displayed as a table
|
|
63
|
+
</data_handling>
|
|
64
|
+
|
|
65
|
+
<visualization>
|
|
66
|
+
- For matplotlib: use plt.gca() as the last expression instead of plt.show()
|
|
67
|
+
- For plotly: return the figure object directly
|
|
68
|
+
- For altair: return the chart object directly. Add tooltips where appropriate. You can pass polars dataframes directly to altair.
|
|
69
|
+
- Include proper labels, titles, and color schemes
|
|
70
|
+
- Make visualizations interactive where appropriate
|
|
71
|
+
</visualization>
|
|
72
|
+
|
|
73
|
+
<ui_elements>
|
|
74
|
+
- Access UI element values with .value attribute (e.g., slider.value)
|
|
75
|
+
- Create UI elements in one cell and reference them in later cells
|
|
76
|
+
- Create intuitive layouts with mo.hstack(), mo.vstack(), and mo.tabs()
|
|
77
|
+
- Prefer reactive updates over callbacks (marimo handles reactivity automatically)
|
|
78
|
+
- Group related UI elements for better organization
|
|
79
|
+
</ui_elements>
|
|
80
|
+
|
|
81
|
+
<sql>
|
|
82
|
+
- When writing duckdb, prefer using marimo's SQL cells, which start with df = mo.sql(f"""<your query>""") for DuckDB, or df = mo.sql(f"""<your query>""", engine=engine) for other SQL engines.
|
|
83
|
+
- See the SQL with duckdb example for an example on how to do this
|
|
84
|
+
- Don't add comments in cells that use mo.sql()
|
|
85
|
+
- Consider using \`vega_datasets\` for common example datasets
|
|
86
|
+
</sql>
|
|
87
|
+
|
|
88
|
+
## Troubleshooting
|
|
89
|
+
|
|
90
|
+
Common issues and solutions:
|
|
91
|
+
- Circular dependencies: Reorganize code to remove cycles in the dependency graph
|
|
92
|
+
- UI element value access: Move access to a separate cell from definition
|
|
93
|
+
- Visualization not showing: Ensure the visualization object is the last expression
|
|
94
|
+
|
|
95
|
+
## Available UI elements
|
|
96
|
+
|
|
97
|
+
- \`mo.ui.altair_chart(altair_chart)\`
|
|
98
|
+
- \`mo.ui.button(value=None, kind='primary')\`
|
|
99
|
+
- \`mo.ui.run_button(label=None, tooltip=None, kind='primary')\`
|
|
100
|
+
- \`mo.ui.checkbox(label='', value=False)\`
|
|
101
|
+
- \`mo.ui.date(value=None, label=None, full_width=False)\`
|
|
102
|
+
- \`mo.ui.dropdown(options, value=None, label=None, full_width=False)\`
|
|
103
|
+
- \`mo.ui.file(label='', multiple=False, full_width=False)\`
|
|
104
|
+
- \`mo.ui.number(value=None, label=None, full_width=False)\`
|
|
105
|
+
- \`mo.ui.radio(options, value=None, label=None, full_width=False)\`
|
|
106
|
+
- \`mo.ui.refresh(options: List[str], default_interval: str)\`
|
|
107
|
+
- \`mo.ui.slider(start, stop, value=None, label=None, full_width=False, step=None)\`
|
|
108
|
+
- \`mo.ui.range_slider(start, stop, value=None, label=None, full_width=False, step=None)\`
|
|
109
|
+
- \`mo.ui.table(data, columns=None, on_select=None, sortable=True, filterable=True)\`
|
|
110
|
+
- \`mo.ui.text(value='', label=None, full_width=False)\`
|
|
111
|
+
- \`mo.ui.text_area(value='', label=None, full_width=False)\`
|
|
112
|
+
- \`mo.ui.data_explorer(df)\`
|
|
113
|
+
- \`mo.ui.dataframe(df)\`
|
|
114
|
+
- \`mo.ui.plotly(plotly_figure)\`
|
|
115
|
+
- \`mo.ui.tabs(elements: dict[str, mo.ui.Element])\`
|
|
116
|
+
- \`mo.ui.array(elements: list[mo.ui.Element])\`
|
|
117
|
+
- \`mo.ui.form(element: mo.ui.Element, label='', bordered=True)\`
|
|
118
|
+
|
|
119
|
+
## Layout and utility functions
|
|
120
|
+
|
|
121
|
+
- \`mo.md(text)\` - display markdown
|
|
122
|
+
- \`mo.stop(predicate, output=None)\` - stop execution conditionally
|
|
123
|
+
- \`mo.output.append(value)\` - append to the output when it is not the last expression
|
|
124
|
+
- \`mo.output.replace(value)\` - replace the output when it is not the last expression
|
|
125
|
+
- \`mo.Html(html)\` - display HTML
|
|
126
|
+
- \`mo.image(image)\` - display an image
|
|
127
|
+
- \`mo.hstack(elements)\` - stack elements horizontally
|
|
128
|
+
- \`mo.vstack(elements)\` - stack elements vertically
|
|
129
|
+
- \`mo.tabs(elements)\` - create a tabbed interface
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
## Examples
|
|
134
|
+
|
|
135
|
+
<example title="Markdown ccell">
|
|
136
|
+
${qe([`
|
|
137
|
+
mo.md("""
|
|
138
|
+
# Hello world
|
|
139
|
+
This is a _markdown_ **cell**.
|
|
140
|
+
""")
|
|
141
|
+
`])}
|
|
142
|
+
</example>
|
|
143
|
+
|
|
144
|
+
<example title="Basic UI with reactivity">
|
|
145
|
+
${qe([`
|
|
146
|
+
import marimo as mo
|
|
147
|
+
import altair as alt
|
|
148
|
+
import polars as pl
|
|
149
|
+
import numpy as np
|
|
150
|
+
`,`
|
|
151
|
+
n_points = mo.ui.slider(10, 100, value=50, label="Number of points")
|
|
152
|
+
n_points
|
|
153
|
+
`,`
|
|
154
|
+
x = np.random.rand(n_points.value)
|
|
155
|
+
y = np.random.rand(n_points.value)
|
|
156
|
+
|
|
157
|
+
df = pl.DataFrame({"x": x, "y": y})
|
|
158
|
+
|
|
159
|
+
chart = alt.Chart(df).mark_circle(opacity=0.7).encode(
|
|
160
|
+
x=alt.X('x', title='X axis'),
|
|
161
|
+
y=alt.Y('y', title='Y axis')
|
|
162
|
+
).properties(
|
|
163
|
+
title=f"Scatter plot with {n_points.value} points",
|
|
164
|
+
width=400,
|
|
165
|
+
height=300
|
|
166
|
+
)
|
|
167
|
+
|
|
168
|
+
chart
|
|
169
|
+
`])}
|
|
170
|
+
</example>
|
|
171
|
+
|
|
172
|
+
<example title="Data explorer">
|
|
173
|
+
${qe([`
|
|
174
|
+
import marimo as mo
|
|
175
|
+
import polars as pl
|
|
176
|
+
from vega_datasets import data
|
|
177
|
+
`,`
|
|
178
|
+
cars_df = pl.DataFrame(data.cars())
|
|
179
|
+
mo.ui.data_explorer(cars_df)
|
|
180
|
+
`])}
|
|
181
|
+
</example>
|
|
182
|
+
|
|
183
|
+
<example title="Multiple UI elements">
|
|
184
|
+
${qe([`
|
|
185
|
+
import marimo as mo
|
|
186
|
+
import polars as pl
|
|
187
|
+
import altair as alt
|
|
188
|
+
`,`
|
|
189
|
+
iris = pl.read_csv("hf://datasets/scikit-learn/iris/Iris.csv")
|
|
190
|
+
`,`
|
|
191
|
+
species_selector = mo.ui.dropdown(
|
|
192
|
+
options=["All"] + iris["Species"].unique().to_list(),
|
|
193
|
+
value="All",
|
|
194
|
+
label="Species",
|
|
195
|
+
)
|
|
196
|
+
x_feature = mo.ui.dropdown(
|
|
197
|
+
options=iris.select(pl.col(pl.Float64, pl.Int64)).columns,
|
|
198
|
+
value="SepalLengthCm",
|
|
199
|
+
label="X Feature",
|
|
200
|
+
)
|
|
201
|
+
y_feature = mo.ui.dropdown(
|
|
202
|
+
options=iris.select(pl.col(pl.Float64, pl.Int64)).columns,
|
|
203
|
+
value="SepalWidthCm",
|
|
204
|
+
label="Y Feature",
|
|
205
|
+
)
|
|
206
|
+
mo.hstack([species_selector, x_feature, y_feature])
|
|
207
|
+
`,`
|
|
208
|
+
filtered_data = iris if species_selector.value == "All" else iris.filter(pl.col("Species") == species_selector.value)
|
|
209
|
+
|
|
210
|
+
chart = alt.Chart(filtered_data).mark_circle().encode(
|
|
211
|
+
x=alt.X(x_feature.value, title=x_feature.value),
|
|
212
|
+
y=alt.Y(y_feature.value, title=y_feature.value),
|
|
213
|
+
color='Species'
|
|
214
|
+
).properties(
|
|
215
|
+
title=f"{y_feature.value} vs {x_feature.value}",
|
|
216
|
+
width=500,
|
|
217
|
+
height=400
|
|
218
|
+
)
|
|
219
|
+
|
|
220
|
+
chart
|
|
221
|
+
`])}
|
|
222
|
+
</example>
|
|
223
|
+
|
|
224
|
+
<example title="Conditional Outputs">
|
|
225
|
+
${qe([`
|
|
226
|
+
mo.stop(not data.value, mo.md("No data to display"))
|
|
227
|
+
|
|
228
|
+
if mode.value == "scatter":
|
|
229
|
+
mo.output.replace(render_scatter(data.value))
|
|
230
|
+
else:
|
|
231
|
+
mo.output.replace(render_bar_chart(data.value))
|
|
232
|
+
`])}
|
|
233
|
+
</example>
|
|
234
|
+
|
|
235
|
+
<example title="Interactive chart with Altair">
|
|
236
|
+
${qe([`
|
|
237
|
+
import marimo as mo
|
|
238
|
+
import altair as alt
|
|
239
|
+
import polars as pl
|
|
240
|
+
`,`# Load dataset
|
|
241
|
+
weather = pl.read_csv("https://raw.githubusercontent.com/vega/vega-datasets/refs/heads/main/data/weather.csv")
|
|
242
|
+
weather_dates = weather.with_columns(
|
|
243
|
+
pl.col("date").str.strptime(pl.Date, format="%Y-%m-%d")
|
|
244
|
+
)
|
|
245
|
+
_chart = (
|
|
246
|
+
alt.Chart(weather_dates)
|
|
247
|
+
.mark_point()
|
|
248
|
+
.encode(
|
|
249
|
+
x="date:T",
|
|
250
|
+
y="temp_max",
|
|
251
|
+
color="location",
|
|
252
|
+
)
|
|
253
|
+
)
|
|
254
|
+
`,`chart = mo.ui.altair_chart(_chart)
|
|
255
|
+
chart`,`
|
|
256
|
+
# Display the selection
|
|
257
|
+
chart.value`])}
|
|
258
|
+
</example>
|
|
259
|
+
|
|
260
|
+
<example title="Run Button Example">
|
|
261
|
+
${qe(["import marimo as mo",`
|
|
262
|
+
first_button = mo.ui.run_button(label="Option 1")
|
|
263
|
+
second_button = mo.ui.run_button(label="Option 2")
|
|
264
|
+
[first_button, second_button]`,`
|
|
265
|
+
if first_button.value:
|
|
266
|
+
print("You chose option 1!")
|
|
267
|
+
elif second_button.value:
|
|
268
|
+
print("You chose option 2!")
|
|
269
|
+
else:
|
|
270
|
+
print("Click a button!")`])}
|
|
271
|
+
</example>
|
|
272
|
+
|
|
273
|
+
<example title="SQL with duckdb">
|
|
274
|
+
${qe([`import marimo as mo
|
|
275
|
+
import polars as pl`,"weather = pl.read_csv('https://raw.githubusercontent.com/vega/vega-datasets/refs/heads/main/data/weather.csv')",`seattle_weather_df = mo.sql(
|
|
276
|
+
f"""
|
|
277
|
+
SELECT * FROM weather WHERE location = 'Seattle';
|
|
278
|
+
"""
|
|
279
|
+
)`])}
|
|
280
|
+
</example>`}function qe(t){let e=a=>a.trim().split(`
|
|
281
|
+
`).map(s=>(" "+s).trimEnd()).join(`
|
|
282
|
+
`);return t.map(a=>`
|
|
283
|
+
@app.cell
|
|
284
|
+
def _():
|
|
285
|
+
${e(a)}
|
|
286
|
+
return
|
|
287
|
+
`).join("")}var $e=ye(Ee()),le=Je.get("agents"),Xo=["image/*","text/*"],Is=(0,R.memo)(t=>{let e=(0,$e.c)(4),{currentAgentId:a}=t,s;e[0]===a?s=e[1]:(s=a?zt(a):"Agents",e[0]=a,e[1]=s);let n;return e[2]===s?n=e[3]:(n=(0,l.jsx)("span",{className:"text-sm font-medium",children:s}),e[2]=s,e[3]=n),n});Is.displayName="AgentTitle";var Ts=(0,R.memo)(t=>{let e=(0,$e.c)(4),{connectionState:a,onConnect:s,onDisconnect:n}=t,r=a.status==="connected",i=r?n:s,o=a.status==="connecting",c=r?"Disconnect":"Connect",d;return e[0]!==i||e[1]!==o||e[2]!==c?(d=(0,l.jsx)(ne,{variant:"outline",size:"xs",onClick:i,disabled:o,children:c}),e[0]=i,e[1]=o,e[2]=c,e[3]=d):d=e[3],d});Ts.displayName="ConnectionControl";var As=(0,R.memo)(t=>{let e=(0,$e.c)(9),{currentAgentId:a,connectionStatus:s,shouldShowConnectionControl:n}=t,r;e[0]===Symbol.for("react.memo_cache_sentinel")?(r=(0,l.jsx)(Wt,{className:"h-4 w-4 text-muted-foreground"}),e[0]=r):r=e[0];let i;e[1]===a?i=e[2]:(i=(0,l.jsx)(Is,{currentAgentId:a}),e[1]=a,e[2]=i);let o;e[3]!==s||e[4]!==n?(o=n&&(0,l.jsx)(ms,{status:s}),e[3]=s,e[4]=n,e[5]=o):o=e[5];let c;return e[6]!==i||e[7]!==o?(c=(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[r,i,o]}),e[6]=i,e[7]=o,e[8]=c):c=e[8],c});As.displayName="HeaderInfo";var fa=(0,R.memo)(t=>{let e=(0,$e.c)(19),{connectionState:a,currentAgentId:s,onConnect:n,onDisconnect:r,onRestartThread:i,hasActiveSession:o,shouldShowConnectionControl:c}=t,d;e[0]!==a.status||e[1]!==s||e[2]!==c?(d=(0,l.jsx)(As,{currentAgentId:s,connectionStatus:a.status,shouldShowConnectionControl:c}),e[0]=a.status,e[1]=s,e[2]=c,e[3]=d):d=e[3];let u;e[4]!==a.status||e[5]!==o||e[6]!==i?(u=o&&a.status==="connected"&&i&&(0,l.jsxs)(ne,{variant:"outline",size:"xs",onClick:i,title:"Restart thread (create new session)",children:[(0,l.jsx)(Zn,{className:"h-3 w-3 mr-1"}),"Restart"]}),e[4]=a.status,e[5]=o,e[6]=i,e[7]=u):u=e[7];let m;e[8]!==a||e[9]!==n||e[10]!==r||e[11]!==c?(m=c&&(0,l.jsx)(Ts,{connectionState:a,onConnect:n,onDisconnect:r}),e[8]=a,e[9]=n,e[10]=r,e[11]=c,e[12]=m):m=e[12];let h;e[13]!==u||e[14]!==m?(h=(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[u,m]}),e[13]=u,e[14]=m,e[15]=h):h=e[15];let k;return e[16]!==d||e[17]!==h?(k=(0,l.jsxs)("div",{className:"flex border-b px-3 py-2 justify-between shrink-0 items-center",children:[d,h]}),e[16]=d,e[17]=h,e[18]=k):k=e[18],k});fa.displayName="AgentPanelHeader";var Rs=(0,R.memo)(t=>{let e=(0,$e.c)(15),{currentAgentId:a,connectionState:s,onConnect:n,onDisconnect:r}=t,i=Na(Ut),o;e[0]!==s||e[1]!==a||e[2]!==n||e[3]!==r?(o=(0,l.jsx)(fa,{connectionState:s,currentAgentId:a,onConnect:n,onDisconnect:r,hasActiveSession:!1}),e[0]=s,e[1]=a,e[2]=n,e[3]=r,e[4]=o):o=e[4];let c;e[5]===Symbol.for("react.memo_cache_sentinel")?(c=(0,l.jsx)(ha,{}),e[5]=c):c=e[5];let d;e[6]===Symbol.for("react.memo_cache_sentinel")?(d=(0,l.jsx)(Za,{title:"No Agent Sessions",description:"Create a new session to start a conversation",action:(0,l.jsx)(Et,{className:"border-y-1 rounded"}),icon:(0,l.jsx)(Wt,{})}),e[6]=d):d=e[6];let u;e[7]!==s.status||e[8]!==i?(u=s.status==="disconnected"&&(0,l.jsx)(Ot,{className:"border-t pt-6",title:"Connect to an agent",description:(0,l.jsxs)(l.Fragment,{children:["Start agents by running these commands in your terminal:",(0,l.jsx)("br",{}),"Note: This must be in the directory"," ",Dt.dirname(i??"")]})}),e[7]=s.status,e[8]=i,e[9]=u):u=e[9];let m;e[10]===u?m=e[11]:(m=(0,l.jsx)("div",{className:"flex-1 flex items-center justify-center p-6",children:(0,l.jsxs)("div",{className:"max-w-md w-full space-y-6",children:[d,u]})}),e[10]=u,e[11]=m);let h;return e[12]!==o||e[13]!==m?(h=(0,l.jsxs)("div",{className:"flex flex-col h-full",children:[o,c,m]}),e[12]=o,e[13]=m,e[14]=h):h=e[14],h});Rs.displayName="EmptyState";var Os=(0,R.memo)(t=>{let e=(0,$e.c)(10),{isLoading:a,isRequestingPermission:s,onStop:n}=t;if(!a)return null;let r;e[0]===Symbol.for("react.memo_cache_sentinel")?(r=(0,l.jsx)(On,{size:"small",className:"text-primary"}),e[0]=r):r=e[0];let i;e[1]===s?i=e[2]:(i=(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[r,s?(0,l.jsx)("span",{children:"Waiting for permission to continue..."}):(0,l.jsx)("span",{children:"Agent is working..."})]}),e[1]=s,e[2]=i);let o,c;e[3]===Symbol.for("react.memo_cache_sentinel")?(o=(0,l.jsx)(Qn,{className:"h-3 w-3 mr-1"}),c=(0,l.jsx)("span",{className:"text-xs",children:"Stop"}),e[3]=o,e[4]=c):(o=e[3],c=e[4]);let d;e[5]===n?d=e[6]:(d=(0,l.jsx)("div",{className:"flex items-center gap-2",children:(0,l.jsxs)(ne,{size:"sm",variant:"outline",onClick:n,className:"h-6 px-2",children:[o,c]})}),e[5]=n,e[6]=d);let u;return e[7]!==i||e[8]!==d?(u=(0,l.jsx)("div",{className:"px-3 py-2 border-t bg-muted/30 flex-shrink-0",children:(0,l.jsxs)("div",{className:"flex items-center justify-between text-xs text-muted-foreground",children:[i,d]})}),e[7]=i,e[8]=d,e[9]=u):u=e[9],u});Os.displayName="LoadingIndicator";var Es=(0,R.memo)(t=>{let e=(0,$e.c)(61),{isLoading:a,activeSessionId:s,promptValue:n,commands:r,onPromptValueChange:i,onPromptSubmit:o,onAddFiles:c,onStop:d,fileInputRef:u,sessionMode:m,onModeChange:h}=t,k=(0,R.useRef)(null),g;e:{if(!r){g=void 0;break e}let Se;e[0]===Symbol.for("react.memo_cache_sentinel")?(Se=/^\/(\w+)?/,e[0]=Se):Se=e[0];let Ye;e[1]===r?Ye=e[2]:(Ye=r.map(tl),e[1]=r,e[2]=Ye);let pt;e[3]===Ye?pt=e[4]:(pt={triggerCompletionRegex:Se,completions:Ye},e[3]=Ye,e[4]=pt),g=pt}let v=g,y;e[5]!==o||e[6]!==n?(y=()=>{n.trim()&&o(void 0,n)},e[5]=o,e[6]=n,e[7]=y):y=e[7];let S=re(y),I;e[8]===Symbol.for("react.memo_cache_sentinel")?(I=()=>{ln(k)},e[8]=I):I=e[8];let T=re(I),Z=(a||!s)&&"opacity-50 pointer-events-none",P;e[9]===Z?P=e[10]:(P=fe("px-3 py-2 min-h-[80px]",Z),e[9]=Z,e[10]=P);let A=a?Sa.NOOP:i,O=a?"Processing...":"Ask anything, @ to include context about tables or dataframes",q=a?"opacity-50 pointer-events-none":"",B;e[11]!==c||e[12]!==o||e[13]!==v||e[14]!==n||e[15]!==A||e[16]!==O||e[17]!==q?(B=(0,l.jsx)(cn,{inputRef:k,value:n,onChange:A,onSubmit:o,additionalCompletions:v,onClose:Sa.NOOP,onAddFiles:c,placeholder:O,className:q,maxHeight:"120px"}),e[11]=c,e[12]=o,e[13]=v,e[14]=n,e[15]=A,e[16]=O,e[17]=q,e[18]=B):B=e[18];let V;e[19]!==P||e[20]!==B?(V=(0,l.jsx)("div",{className:P,children:B}),e[19]=P,e[20]=B,e[21]=V):V=e[21];let W;e[22]!==h||e[23]!==m?(W=m&&h&&(0,l.jsx)(Ms,{sessionMode:m,onModeChange:h}),e[22]=h,e[23]=m,e[24]=W):W=e[24];let ie;e[25]===W?ie=e[26]:(ie=(0,l.jsx)("div",{className:"flex items-center gap-2",children:W}),e[25]=W,e[26]=ie);let ee;e[27]===Symbol.for("react.memo_cache_sentinel")?(ee=(0,l.jsx)(on,{className:"h-3.5 w-3.5"}),e[27]=ee):ee=e[27];let he;e[28]===T?he=e[29]:(he=(0,l.jsx)(ft,{content:"Add context",children:(0,l.jsx)(ne,{variant:"text",size:"icon",onClick:T,children:ee})}),e[28]=T,e[29]=he);let ce;e[30]===u?ce=e[31]:(ce=()=>{var Se;return(Se=u.current)==null?void 0:Se.click()},e[30]=u,e[31]=ce);let de;e[32]===Symbol.for("react.memo_cache_sentinel")?(de=(0,l.jsx)(En,{className:"h-3.5 w-3.5"}),e[32]=de):de=e[32];let ue;e[33]===ce?ue=e[34]:(ue=(0,l.jsx)(ft,{content:"Attach a file",children:(0,l.jsx)(ne,{variant:"text",size:"icon",className:"cursor-pointer",onClick:ce,title:"Attach a file",children:de})}),e[33]=ce,e[34]=ue);let ve;e[35]===c?ve=e[36]:(ve=Se=>{Se.target.files&&c([...Se.target.files])},e[35]=c,e[36]=ve);let Oe;e[37]===Symbol.for("react.memo_cache_sentinel")?(Oe=Xo.join(","),e[37]=Oe):Oe=e[37];let $;e[38]!==u||e[39]!==ve?($=(0,l.jsx)($n,{ref:u,type:"file",multiple:!0,hidden:!0,onChange:ve,accept:Oe}),e[38]=u,e[39]=ve,e[40]=$):$=e[40];let K=a?"Stop":"Submit",L=a?d:S,J=a?!1:!n.trim(),ke;e[41]===a?ke=e[42]:(ke=a?(0,l.jsx)(mn,{className:"h-3 w-3 fill-current"}):(0,l.jsx)(Mn,{className:"h-3 w-3"}),e[41]=a,e[42]=ke);let je;e[43]!==L||e[44]!==J||e[45]!==ke?(je=(0,l.jsx)(ne,{variant:"text",size:"sm",className:"h-6 w-6 p-0 hover:bg-muted/30 cursor-pointer",onClick:L,disabled:J,children:ke}),e[43]=L,e[44]=J,e[45]=ke,e[46]=je):je=e[46];let U;e[47]!==K||e[48]!==je?(U=(0,l.jsx)(ft,{content:K,children:je}),e[47]=K,e[48]=je,e[49]=U):U=e[49];let Y;e[50]!==he||e[51]!==ue||e[52]!==$||e[53]!==U?(Y=(0,l.jsxs)("div",{className:"flex flex-row",children:[he,ue,$,U]}),e[50]=he,e[51]=ue,e[52]=$,e[53]=U,e[54]=Y):Y=e[54];let ae;e[55]!==ie||e[56]!==Y?(ae=(0,l.jsx)(zn,{children:(0,l.jsxs)("div",{className:"px-3 py-2 border-t border-border/20 flex flex-row items-center justify-between",children:[ie,Y]})}),e[55]=ie,e[56]=Y,e[57]=ae):ae=e[57];let Ne;return e[58]!==V||e[59]!==ae?(Ne=(0,l.jsxs)("div",{className:"border-t bg-background flex-shrink-0",children:[V,ae]}),e[58]=V,e[59]=ae,e[60]=Ne):Ne=e[60],Ne});Es.displayName="PromptArea";var Ms=(0,R.memo)(t=>{let e=(0,$e.c)(28),{sessionMode:a,onModeChange:s}=t,n,r,i,o,c,d,u,m,h;if(e[0]!==s||e[1]!==(a==null?void 0:a.availableModes)||e[2]!==(a==null?void 0:a.currentModeId)){h=Symbol.for("react.early_return_sentinel");e:{let y=(a==null?void 0:a.availableModes)||[],S=a==null?void 0:a.currentModeId;if(y.length===0){h=null;break e}let I=y.map(al),T;e[12]===S?T=e[13]:(T=P=>P.value===S,e[12]=S,e[13]=T);let Z=I.find(T);i=xn,d=S,u=s,m=(0,l.jsx)(yn,{className:"h-6 text-xs border-border shadow-none! ring-0! bg-muted hover:bg-muted/30 py-0 px-2 gap-1 capitalize",children:(Z==null?void 0:Z.label)??S}),r=gn,n=vn,e[14]===Symbol.for("react.memo_cache_sentinel")?(o=(0,l.jsx)(hn,{children:"Agent Mode"}),e[14]=o):o=e[14],c=I.map(sl)}e[0]=s,e[1]=a==null?void 0:a.availableModes,e[2]=a==null?void 0:a.currentModeId,e[3]=n,e[4]=r,e[5]=i,e[6]=o,e[7]=c,e[8]=d,e[9]=u,e[10]=m,e[11]=h}else n=e[3],r=e[4],i=e[5],o=e[6],c=e[7],d=e[8],u=e[9],m=e[10],h=e[11];if(h!==Symbol.for("react.early_return_sentinel"))return h;let k;e[15]!==n||e[16]!==o||e[17]!==c?(k=(0,l.jsxs)(n,{children:[o,c]}),e[15]=n,e[16]=o,e[17]=c,e[18]=k):k=e[18];let g;e[19]!==r||e[20]!==k?(g=(0,l.jsx)(r,{children:k}),e[19]=r,e[20]=k,e[21]=g):g=e[21];let v;return e[22]!==i||e[23]!==d||e[24]!==u||e[25]!==m||e[26]!==g?(v=(0,l.jsxs)(i,{value:d,onValueChange:u,children:[m,g]}),e[22]=i,e[23]=d,e[24]=u,e[25]=m,e[26]=g,e[27]=v):v=e[27],v});Ms.displayName="ModeSelector";var Zs=(0,R.memo)(t=>{let e=(0,$e.c)(32),{hasNotifications:a,agentId:s,connectionState:n,notifications:r,pendingPermission:i,onResolvePermission:o,onRetryConnection:c,onRetryLastAction:d,onDismissError:u,sessionId:m}=t,[h,k]=(0,R.useState)(!0),g=(0,R.useRef)(null),v=n.status==="disconnected",y;e[0]===Symbol.for("react.memo_cache_sentinel")?(y=()=>{let ee=g.current;if(!ee)return;let{scrollTop:he,scrollHeight:ce,clientHeight:de}=ee,ue=ce>de?Math.abs(ce-de-he)<5:!0;k(ue)},e[0]=y):y=e[0];let S=re(y),I;e[1]===Symbol.for("react.memo_cache_sentinel")?(I=()=>{let ee=g.current;ee&&ee.scrollTo({top:ee.scrollHeight,behavior:"smooth"})},e[1]=I):I=e[1];let T=re(I),Z,P;e[2]!==h||e[3]!==r.length||e[4]!==T?(Z=()=>{if(h&&r.length>0){let ee=setTimeout(T,100);return()=>clearTimeout(ee)}},P=[r.length,h,T],e[2]=h,e[3]=r.length,e[4]=T,e[5]=Z,e[6]=P):(Z=e[5],P=e[6]),(0,R.useEffect)(Z,P);let A;e[7]!==o||e[8]!==i?(A=i&&(0,l.jsx)("div",{className:"p-3 border-b",children:(0,l.jsx)(ps,{permission:i,onResolve:o})}),e[7]=o,e[8]=i,e[9]=A):A=e[9];let O;e[10]===m?O=e[11]:(O=m&&(0,l.jsxs)("div",{className:"text-xs text-muted-foreground mb-2 px-2",children:["Session ID: ",m]}),e[10]=m,e[11]=O);let q;e[12]!==s||e[13]!==n.status||e[14]!==a||e[15]!==v||e[16]!==r||e[17]!==u||e[18]!==c||e[19]!==d?(q=a?(0,l.jsx)("div",{className:"space-y-2",children:(0,l.jsx)(Vo,{isConnected:n.status==="connected",notifications:r,onRetryConnection:c,onRetryLastAction:d,onDismissError:u})}):(0,l.jsxs)("div",{className:"flex items-center justify-center h-full min-h-[200px] flex-col",children:[(0,l.jsx)(Za,{title:"Waiting for agent",description:"Your AI agent will appear here when active",icon:(0,l.jsx)(Wt,{})}),v&&s&&(0,l.jsx)(Ot,{className:"border-t pt-6 px-5",title:"Make sure you're connected to an agent",description:"Run this command in your terminal:",agents:[s]}),v&&(0,l.jsx)(ne,{variant:"outline",onClick:c,type:"button",className:"mt-4",children:"Retry"})]}),e[12]=s,e[13]=n.status,e[14]=a,e[15]=v,e[16]=r,e[17]=u,e[18]=c,e[19]=d,e[20]=q):q=e[20];let B;e[21]!==S||e[22]!==O||e[23]!==q?(B=(0,l.jsxs)("div",{ref:g,className:"flex-1 bg-muted/20 w-full flex flex-col overflow-y-auto p-2",onScroll:S,children:[O,q]}),e[21]=S,e[22]=O,e[23]=q,e[24]=B):B=e[24];let V=!h&&a,W;e[25]!==T||e[26]!==V?(W=(0,l.jsx)(qo,{isVisible:V,onScrollToBottom:T}),e[25]=T,e[26]=V,e[27]=W):W=e[27];let ie;return e[28]!==W||e[29]!==A||e[30]!==B?(ie=(0,l.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden flex-shrink-0 relative",children:[A,B,W]}),e[28]=W,e[29]=A,e[30]=B,e[31]=ie):ie=e[31],ie});Zs.displayName="ChatContent";var ga="_skip_auto_connect_";function Ps(){let t=Lt.get(Ut);return t?Dt.dirname(t):""}var el=()=>{let[t,e]=(0,R.useState)(!1),[a,s]=(0,R.useState)(""),[n,r]=(0,R.useState)(),i=(0,R.useRef)(null),[o]=ht(pa),[c,d]=ht(it),u=o?Do(o.agentId):ga,{sendUpdateFile:m,sendFileDetails:h}=nn(),k=(0,R.useRef)(!1),{connect:g,disconnect:v,connectionState:y,notifications:S,pendingPermission:I,availableCommands:T,resolvePermission:Z,sessionMode:P,activeSessionId:A,agent:O}=qi({wsUrl:u,clientOptions:{readTextFile:$=>(le.debug("Agent requesting file read",{path:$.path}),h({path:$.path}).then(K=>({content:K.contents||""}))),writeTextFile:$=>(le.debug("Agent requesting file write",{path:$.path,contentLength:$.content.length}),m({path:$.path,contents:$.content}).then(()=>({})))},autoConnect:!1});(0,R.useEffect)(()=>{O==null||O.initialize({protocolVersion:1,clientCapabilities:{fs:{readTextFile:!0,writeTextFile:!0}}})},[O]),(0,R.useEffect)(()=>{if(u!==ga)return le.debug("Auto-connecting to agent",{sessionId:A}),g(),()=>{}},[u]);let q=re(async()=>{if(k.current||!O)return;A&&await O.cancel({sessionId:A}).catch(K=>{le.error("Failed to cancel active session",{error:K})}),le.debug("Creating new agent session",{}),k.current=!0;let $=await O.newSession({cwd:Ps(),mcpServers:[]}).finally(()=>{k.current=!1});d(K=>gs(K,$.sessionId))}),B=re(async $=>{if(O){if(le.debug("Resuming agent session",{sessionId:$}),!O.loadSession)throw Error("Agent does not support loading sessions");await O.loadSession({sessionId:$,cwd:Ps(),mcpServers:[]}),d(K=>gs(K,$))}}),V=y.status==="connected",W=o==null?void 0:o.externalAgentSessionId;(0,R.useEffect)(()=>{!V||!o||!O||A&&W||(async()=>{try{if(W)try{await B(W)}catch($){le.debug("Failed to resume session, creating new session",{externalSessionId:W,error:$}),await q()}else await q()}catch($){le.error("Failed to create or resume session:",$)}})()},[V,O,W,A]);let ie=re(async($,K)=>{if(!A||!O||t)return;le.debug("Submitting prompt to agent",{sessionId:A}),e(!0),s(""),r(void 0),o!=null&&o.title.startsWith("New ")&&d(U=>Zo(U,K));let L=Lt.get(Ut);if(!L){qt({title:"Notebook must be named",description:"Please name the notebook to use the agent",variant:"danger"});return}let J=[{type:"text",text:K}],{contextBlocks:ke,attachmentBlocks:je}=await Go(K);if(J.push(...ke,...je),n&&n.length>0){let U=await Yo(n);J.push(...U)}S.some(U=>U.type==="session_notification"&&U.data.update.sessionUpdate==="user_message_chunk")||J.push({type:"resource_link",uri:L,mimeType:"text/x-python",name:L},{type:"resource",resource:{uri:"marimo_rules.md",mimeType:"text/plain",text:Qo(L)}});try{await O.prompt({sessionId:A,prompt:J})}catch(U){le.error("Failed to send prompt",{error:U})}finally{e(!1)}}),ee=re(async()=>{!A||!O||(await O.cancel({sessionId:A}),e(!1))}),he=re($=>{$.length!==0&&r(K=>[...K??[],...$])}),ce=re($=>{n&&r(n.filter(K=>K!==$))}),de=re(()=>{le.debug("Manual connect requested",{currentStatus:y.status}),g()}),ue=re(()=>{le.debug("Manual disconnect requested",{sessionId:A,currentStatus:y.status}),v()}),ve=re($=>{var K;if(le.debug("Mode change requested",{sessionId:A,mode:$}),!O){qt({title:"Agent not connected",description:"Please connect to an agent to change the mode",variant:"danger"});return}if(!O.setSessionMode){qt({title:"Mode change not supported",description:"The agent does not support mode changes",variant:"danger"});return}(K=O.setSessionMode)==null||K.call(O,{sessionId:A,modeId:$})}),Oe=S.length>0;return c.sessions.length>0?(0,l.jsxs)("div",{className:"flex flex-col flex-1 overflow-hidden mo-agent-panel",children:[(0,l.jsx)(fa,{connectionState:y,currentAgentId:o==null?void 0:o.agentId,onConnect:de,onDisconnect:ue,onRestartThread:q,hasActiveSession:!0,shouldShowConnectionControl:u!==ga}),(0,l.jsx)(ha,{}),(0,l.jsx)(Zs,{agentId:o==null?void 0:o.agentId,sessionId:A,hasNotifications:Oe,connectionState:y,notifications:S,pendingPermission:I,onResolvePermission:$=>{le.debug("Resolving permission request",{sessionId:A,option:$}),Z($)},onRetryConnection:de}),(0,l.jsx)(Os,{isLoading:t,isRequestingPermission:!!I,onStop:ee}),n&&n.length>0&&(0,l.jsx)("div",{className:"flex flex-row gap-1 flex-wrap p-3 border-t",children:n.map($=>(0,l.jsx)(Yn,{file:$,onRemove:()=>ce($)},$.name))}),(0,l.jsx)(Es,{isLoading:t,activeSessionId:A,promptValue:a,onPromptValueChange:s,onPromptSubmit:ie,onAddFiles:he,onStop:ee,fileInputRef:i,commands:T,sessionMode:P,onModeChange:ve})]}):(0,l.jsx)(Rs,{currentAgentId:o==null?void 0:o.agentId,connectionState:y,onConnect:de,onDisconnect:ue})};function tl(t){return{label:`/${t.name}`,info:t.description}}function al(t){return{value:t.id,label:t.name,subtitle:t.description??""}}function sl(t){return(0,l.jsx)(fn,{value:t.value,className:"text-xs",children:(0,l.jsxs)("div",{className:"flex flex-col",children:[t.label,t.subtitle&&(0,l.jsx)("div",{className:"text-muted-foreground text-xs pt-1 block",children:t.subtitle})]})},t.value)}export{el as default};
|