@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.
Files changed (408) hide show
  1. package/dist/assets/{CellStatus-CEVFBnyt.js → CellStatus-BJRDATxe.js} +1 -1
  2. package/dist/assets/{ConnectedDataExplorerComponent-5izWKQVQ.js → ConnectedDataExplorerComponent-Cs4pQOKx.js} +1 -1
  3. package/dist/assets/{ImperativeModal-DujtmdOO.js → ImperativeModal-BG5LTpV0.js} +1 -1
  4. package/dist/assets/{JsonOutput-E2xVojk5.js → JsonOutput-BID8Oos7.js} +1 -1
  5. package/dist/assets/{LazyAnyLanguageCodeMirror-DHH4zj72.js → LazyAnyLanguageCodeMirror-RkzkO2YV.js} +2 -2
  6. package/dist/assets/MarimoErrorOutput-Lft73Wnl.js +6 -0
  7. package/dist/assets/{RenderHTML-BCi_V67U.js → RenderHTML-BoDLdBq-.js} +1 -1
  8. package/dist/assets/{VisuallyHidden-DvpnK2wO.js → VisuallyHidden-BiHw-PIc.js} +1 -1
  9. package/dist/assets/{accordion-C3CAEPwC.js → accordion-A41ffd5P.js} +1 -1
  10. package/dist/assets/{activity-BCW0BU81.js → activity-BhLNCNHF.js} +1 -1
  11. package/dist/assets/add-cell-with-ai-CxM_YKzf.js +36 -0
  12. package/dist/assets/{add-database-form-DSnHGqMe.js → add-database-form-Br1fMkMI.js} +1 -1
  13. package/dist/assets/{add-missing-import-Cwedhjm5.js → add-missing-import-CfRgNApn.js} +1 -1
  14. package/dist/assets/agent-panel-7ocujO8C.js +287 -0
  15. package/dist/assets/ai-model-dropdown-DSUVFIso.js +2 -0
  16. package/dist/assets/{alert-dialog-M1dUQe7C.js → alert-dialog-BO8sf-73.js} +1 -1
  17. package/dist/assets/{ansi_up-ZmFuCItK.js → ansi_up-D_b0GS7N.js} +1 -1
  18. package/dist/assets/{any-language-editor-BqGBgxZE.js → any-language-editor-edee1A1P.js} +1 -1
  19. package/dist/assets/app-config-button-Bg_CEfls.js +1 -0
  20. package/dist/assets/{architecture-O4VJ6CD3-CbkBEQri.js → architecture-O4VJ6CD3-CIYFBxkI.js} +1 -1
  21. package/dist/assets/{architectureDiagram-W76B3OCA-di95lJcF.js → architectureDiagram-W76B3OCA-CXqAkVTy.js} +1 -1
  22. package/dist/assets/{arrow-left-DQ-94PlS.js → arrow-left-D97p491f.js} +1 -1
  23. package/dist/assets/{between-horizontal-start-CotWLlFt.js → between-horizontal-start-DWTOsiF_.js} +1 -1
  24. package/dist/assets/{blockDiagram-QIGZ2CNN-ClcJSQFf.js → blockDiagram-QIGZ2CNN-DhYrUig_.js} +1 -1
  25. package/dist/assets/{c4Diagram-FPNF74CW-Cq2vxSdy.js → c4Diagram-FPNF74CW-Bj1S_Fyy.js} +1 -1
  26. package/dist/assets/{cell-actions-C5S4W3g_.js → cell-actions-hNx4EMmZ.js} +1 -1
  27. package/dist/assets/{cell-editor-X6EY7GQl.js → cell-editor-JimG_bBz.js} +13 -13
  28. package/dist/assets/cell-link-_kF38gGF.js +1 -0
  29. package/dist/assets/{cells-B4cnsYe_.js → cells-Dd1FatlG.js} +54 -54
  30. package/dist/assets/channel-Bil_pUlM.js +1 -0
  31. package/dist/assets/{chart-no-axes-column-DrG7h8mS.js → chart-no-axes-column-DmR44Tbq.js} +1 -1
  32. package/dist/assets/{chat-components-DXkntpg4.js → chat-components-OoNU4tLf.js} +3 -3
  33. package/dist/assets/chat-panel-DatwRFif.js +3 -0
  34. package/dist/assets/check-C5PVLNkJ.js +1 -0
  35. package/dist/assets/{chevron-right-Caf5yL5B.js → chevron-right-BDEhimQq.js} +1 -1
  36. package/dist/assets/{chunk-3AY6CYHV-BFFUJATX.js → chunk-3AY6CYHV-CBq2x1Nc.js} +1 -1
  37. package/dist/assets/{chunk-4KMFLZZN-D8J8fzqf.js → chunk-4KMFLZZN-DEMg9QYp.js} +1 -1
  38. package/dist/assets/{chunk-6OXUPJBA-Clo7-gS4.js → chunk-6OXUPJBA-CjFdZBrY.js} +2 -2
  39. package/dist/assets/{chunk-ABZYJK2D-DjRcbxmx.js → chunk-ABZYJK2D-eZsthrBr.js} +1 -1
  40. package/dist/assets/{chunk-BN7GFLIU-DvomLhVN.js → chunk-BN7GFLIU-ez-vZ7uD.js} +1 -1
  41. package/dist/assets/{chunk-CXMOBAN2-GhUPxuLT.js → chunk-CXMOBAN2-DxbPW6zT.js} +1 -1
  42. package/dist/assets/{chunk-EXTU4WIE-97Zvkznr.js → chunk-EXTU4WIE-C8Y_P6y8.js} +1 -1
  43. package/dist/assets/{chunk-JA3XYJ7Z-Mvfz9vG6.js → chunk-JA3XYJ7Z-pR89xWsn.js} +1 -1
  44. package/dist/assets/{chunk-JEIROHC2-Cp1tR_z8.js → chunk-JEIROHC2-2-ucCTVJ.js} +1 -1
  45. package/dist/assets/{chunk-K7UQS3LO-BbFs0Y5e.js → chunk-K7UQS3LO-Bz3bjON2.js} +1 -1
  46. package/dist/assets/{chunk-KMC2YHZD-Buiqyl2g.js → chunk-KMC2YHZD-BvMr39QE.js} +1 -1
  47. package/dist/assets/{chunk-QN33PNHL-dhs223oU.js → chunk-QN33PNHL-DgF0LOHR.js} +1 -1
  48. package/dist/assets/{chunk-QYVHNE3D-DA_jYaIp.js → chunk-QYVHNE3D-BxN3DJBX.js} +1 -1
  49. package/dist/assets/{chunk-S3R3BYOJ-DO68jEIo.js → chunk-S3R3BYOJ-Dy72CLbv.js} +1 -1
  50. package/dist/assets/{chunk-T44TD3VJ-Ww2OhwR5.js → chunk-T44TD3VJ-BfMjD4hS.js} +1 -1
  51. package/dist/assets/{chunk-TVAH2DTR-j2EljfwG.js → chunk-TVAH2DTR-CKnRAcjo.js} +1 -1
  52. package/dist/assets/{chunk-TZMSLE5B-DYFKU4Pb.js → chunk-TZMSLE5B-DdgcuCwZ.js} +1 -1
  53. package/dist/assets/{chunk-WFRQ32O7-k2LaZwie.js → chunk-WFRQ32O7-CHVQx4E8.js} +1 -1
  54. package/dist/assets/{chunk-WFWHJNB7-h5yM_3qQ.js → chunk-WFWHJNB7-B095GDsj.js} +1 -1
  55. package/dist/assets/{chunk-XRWGC2XP-C9Mh6qts.js → chunk-XRWGC2XP-C9u0mhR4.js} +1 -1
  56. package/dist/assets/{circle-play-Cktn64O2.js → circle-play-BnvyuDgL.js} +1 -1
  57. package/dist/assets/{circle-plus-CR5IX63e.js → circle-plus-CfdbDkkn.js} +1 -1
  58. package/dist/assets/{circle-x-t3DIkXqJ.js → circle-x-BsVcxKkV.js} +1 -1
  59. package/dist/assets/classDiagram-KNZD7YFC-CjqRV-TB.js +1 -0
  60. package/dist/assets/classDiagram-v2-RKCZMP56-CGekJfCg.js +1 -0
  61. package/dist/assets/client-RNr6mM1Y.js +2 -0
  62. package/dist/assets/{clipboard-paste-CCXUHJEo.js → clipboard-paste-CYFMW3x7.js} +1 -1
  63. package/dist/assets/column-preview-2H8pwalb.js +2 -0
  64. package/dist/assets/{columns-BBxos2iF.js → columns-qXe5bccO.js} +7 -7
  65. package/dist/assets/{command-CMralWVx.js → command-BZVf1cJP.js} +1 -1
  66. package/dist/assets/command-palette-CYMxp9xF.js +1 -0
  67. package/dist/assets/{common-CGhyb0HV.js → common-DW3bNKWY.js} +1 -1
  68. package/dist/assets/{config-DiCy6eC0.js → config-DXGmIv9f.js} +1 -1
  69. package/dist/assets/{copy-DAVB02c8.js → copy-6mpL4BeI.js} +1 -1
  70. package/dist/assets/{copy-icon-GGPHJWJ0.js → copy-icon-6ICckC-p.js} +1 -1
  71. package/dist/assets/{dagre-5GWH7T2D-B1wEBSrx.js → dagre-5GWH7T2D-hVCok2au.js} +1 -1
  72. package/dist/assets/{data-grid-overlay-editor-Drp4I0tg.js → data-grid-overlay-editor-BwcAr1JM.js} +1 -1
  73. package/dist/assets/datasources-panel-BvrtAadm.js +1 -0
  74. package/dist/assets/{dates-grtSI02N.js → dates-Au76svwW.js} +1 -1
  75. package/dist/assets/dependency-graph-panel-F9AD_whb.js +4 -0
  76. package/dist/assets/{diagram-N5W7TBWH-D0MGIq61.js → diagram-N5W7TBWH-C26XpepA.js} +1 -1
  77. package/dist/assets/{diagram-QEK2KX5R-DU6geLeA.js → diagram-QEK2KX5R-yrTR8I_L.js} +1 -1
  78. package/dist/assets/{diagram-S2PKOQOG-BNhY4Z1-.js → diagram-S2PKOQOG-BnrvSrEb.js} +1 -1
  79. package/dist/assets/{dialog-B7icy1Vb.js → dialog-CR68_CUl.js} +1 -1
  80. package/dist/assets/{dist-BNjtn4W8.js → dist--01dzFeG.js} +1 -1
  81. package/dist/assets/{dist-BagyUivg.js → dist--UHY1FN-.js} +1 -1
  82. package/dist/assets/{dist-5Gm6w_15.js → dist-6vTAXnMq.js} +1 -1
  83. package/dist/assets/{dist-DTazGMur.js → dist-B6CCfKkp.js} +1 -1
  84. package/dist/assets/dist-BAqgWgpM.js +1 -0
  85. package/dist/assets/{dist-BaApG_tl.js → dist-BUe_o-3o.js} +1 -1
  86. package/dist/assets/{dist-BpAb8rGb.js → dist-BnTbfmCK.js} +1 -1
  87. package/dist/assets/dist-C-4GTx-T.js +1 -0
  88. package/dist/assets/{dist-C0ek66tJ.js → dist-C1lnVyyK.js} +1 -1
  89. package/dist/assets/{dist-DGiVfc7V.js → dist-CbsJnssA.js} +1 -1
  90. package/dist/assets/{dist-DV-8bxFo.js → dist-CjoeBoZ9.js} +1 -1
  91. package/dist/assets/{dist-D5QvSsL_.js → dist-CsC8ZokE.js} +1 -1
  92. package/dist/assets/{dist-C69eWtaQ.js → dist-CyqTsfyg.js} +1 -1
  93. package/dist/assets/dist-D-ZYdf69.js +1 -0
  94. package/dist/assets/dist-D3B_GqVR.js +1 -0
  95. package/dist/assets/{dist-BME02X12.js → dist-DFJwMM7Z.js} +1 -1
  96. package/dist/assets/dist-Db9UVaw9.js +1 -0
  97. package/dist/assets/{dist-BPr57Wxb.js → dist-DhXqYYeD.js} +1 -1
  98. package/dist/assets/{dist-CL0hPMY6.js → dist-Dm8m1boP.js} +1 -1
  99. package/dist/assets/{dist-B0vg88Aq.js → dist-DvDyxv8b.js} +1 -1
  100. package/dist/assets/{dist-Bzn1Zd0x.js → dist-DzUKODTF.js} +1 -1
  101. package/dist/assets/dist-LmEq3o4w.js +1 -0
  102. package/dist/assets/dist-Z_cK0cSh.js +1 -0
  103. package/dist/assets/dist-biP83Yvc.js +1 -0
  104. package/dist/assets/dist-dJ4FqqTe.js +1 -0
  105. package/dist/assets/{documentation-panel-D4iq1tSm.js → documentation-panel-DYKAf6Sg.js} +1 -1
  106. package/dist/assets/{dom-4KyFHEbl.js → dom-CT3dAMQW.js} +1 -1
  107. package/dist/assets/{download-C4Fyu6kU.js → download-B4_BX7gi.js} +1 -1
  108. package/dist/assets/{download-qt61TbgC.js → download-BB5Iexmn.js} +1 -1
  109. package/dist/assets/{dropdown-menu-Bp1vhqcS.js → dropdown-menu-CJDB1PNI.js} +1 -1
  110. package/dist/assets/edit-page-BK3Irdme.js +12 -0
  111. package/dist/assets/{ellipsis-DVXWk8Lc.js → ellipsis-CJtiw1k3.js} +1 -1
  112. package/dist/assets/{ellipsis-vertical-DfpheMuY.js → ellipsis-vertical-DK--y082.js} +1 -1
  113. package/dist/assets/{en-US-B2g9dciI.js → en-US-CjWuOpsV.js} +1 -1
  114. package/dist/assets/{erDiagram-AWTI2OKA-DxxWZrYD.js → erDiagram-AWTI2OKA-9EqwLrlG.js} +1 -1
  115. package/dist/assets/{error-banner-ARu6PiHL.js → error-banner-BGjnZePp.js} +1 -1
  116. package/dist/assets/error-panel-CrkbkIF_.js +1 -0
  117. package/dist/assets/{es-C0Ih1AxE.js → es-C-CWIA-E.js} +1 -1
  118. package/dist/assets/{esm-BR7TuyMc.js → esm-7XxuulnL.js} +1 -1
  119. package/dist/assets/{esm-Cb-iIF_w.js → esm-B39og2OG.js} +1 -1
  120. package/dist/assets/{esm-BIF8NHm8.js → esm-BBn_y9Ew.js} +1 -1
  121. package/dist/assets/esm-DjUQOOJ2.js +1 -0
  122. package/dist/assets/{eye-off-BEVibdMQ.js → eye-off-9UMe_Y7D.js} +1 -1
  123. package/dist/assets/field-D6g5A_wf.js +1 -0
  124. package/dist/assets/{file-DqkkCGhs.js → file-BENStGHx.js} +1 -1
  125. package/dist/assets/file-explorer-panel-Cgv3WjVh.js +1 -0
  126. package/dist/assets/{file-plus-2-BCmZgbYs.js → file-plus-2-CloHhbsF.js} +1 -1
  127. package/dist/assets/{file-text-DNmaotaP.js → file-text-Lr1kJd4E.js} +1 -1
  128. package/dist/assets/{file-video-camera-C5lALvNf.js → file-video-camera-CfnyBQQe.js} +1 -1
  129. package/dist/assets/filename-B5Yo1bOu.js +1 -0
  130. package/dist/assets/{floating-outline-Cjas_exC.js → floating-outline-DZnSnZfg.js} +1 -1
  131. package/dist/assets/{flowDiagram-PVAE7QVJ-DlTZtqcN.js → flowDiagram-PVAE7QVJ-iOj6Qgu-.js} +1 -1
  132. package/dist/assets/{focus-OWoLlKnm.js → focus-Bnk25hTp.js} +1 -1
  133. package/dist/assets/{form-xOqp67zT.js → form-BGZvwlog.js} +1 -1
  134. package/dist/assets/{form--nX5W3gQ.js → form-DyKYT1WR.js} +1 -1
  135. package/dist/assets/{formats-C8bbggqj.js → formats-CWdWXhfT.js} +1 -1
  136. package/dist/assets/{fullscreen-BFmvQx5m.js → fullscreen-DTPr3iBY.js} +1 -1
  137. package/dist/assets/{ganttDiagram-OWAHRB6G-BEPmawB5.js → ganttDiagram-OWAHRB6G-BWbXeAXa.js} +1 -1
  138. package/dist/assets/{gitGraph-ZV4HHKMB-DsmmnKI3.js → gitGraph-ZV4HHKMB-BpeeuO4L.js} +1 -1
  139. package/dist/assets/{gitGraphDiagram-NY62KEGX-DfTKmX9v.js → gitGraphDiagram-NY62KEGX-BX3O-mzY.js} +1 -1
  140. package/dist/assets/{glide-data-editor-CzDe-oK3.js → glide-data-editor-C45ArX7n.js} +4 -4
  141. package/dist/assets/globals-BFoVgbHf.js +1 -0
  142. package/dist/assets/{globe-CgG1jfYF.js → globe-CPrVx8HM.js} +1 -1
  143. package/dist/assets/home-page-DhT6cm6c.js +4 -0
  144. package/dist/assets/{image-DXGqie4b.js → image-DTv0Ic6H.js} +1 -1
  145. package/dist/assets/{index-DtggTI4O.js → index-29P5xX8u.js} +11 -11
  146. package/dist/assets/index-Optxbl37.css +2 -0
  147. package/dist/assets/{info-63CPKGFF-BVRAJzgS.js → info-63CPKGFF-Czr08O9A.js} +1 -1
  148. package/dist/assets/{infoDiagram-STP46IZ2-CcEqfhrj.js → infoDiagram-STP46IZ2-C1JX9JfB.js} +1 -1
  149. package/dist/assets/input-C1RzjWSK.js +7 -0
  150. package/dist/assets/{isValid-gOtpcPxn.js → isValid-o3nZVu8e.js} +1 -1
  151. package/dist/assets/{journeyDiagram-BIP6EPQ6-CfxDuLls.js → journeyDiagram-BIP6EPQ6-CC2JvTQD.js} +1 -1
  152. package/dist/assets/{kanban-definition-6OIFK2YF-BwopERfW.js → kanban-definition-6OIFK2YF-3qAhCi66.js} +1 -1
  153. package/dist/assets/{key-BuxNhFKW.js → key-D4QiH_7H.js} +1 -1
  154. package/dist/assets/{kiosk-mode--OX2RHZj.js → kiosk-mode-Dy2WnuWt.js} +1 -1
  155. package/dist/assets/{label-COeaBwl_.js → label-BEUjZsdo.js} +1 -1
  156. package/dist/assets/{layout-CKoMTVJt.js → layout-C6K0XXFK.js} +3 -3
  157. package/dist/assets/{linear-BI0LBATm.js → linear-nWRf49aw.js} +1 -1
  158. package/dist/assets/{link-DSY8ADga.js → link-CDOxp9sn.js} +1 -1
  159. package/dist/assets/links-D-L0rzz9.js +1 -0
  160. package/dist/assets/{list-filter-D2Wx3thV.js → list-filter-CRC72QPW.js} +1 -1
  161. package/dist/assets/{loader-CPDA0quD.js → loader-CgbiPC_T.js} +1 -1
  162. package/dist/assets/logs-panel-BB-6orqg.js +1 -0
  163. package/dist/assets/{maps-CxCIYhRT.js → maps-DaQbs_UR.js} +1 -1
  164. package/dist/assets/{menu-items-COILZQ4q.js → menu-items-Bo6Dyd_Q.js} +1 -1
  165. package/dist/assets/{mermaid-oqJ6vLFm.js → mermaid-Bqzxmx0C.js} +1 -1
  166. package/dist/assets/{mermaid-parser.core-8414a7OP.js → mermaid-parser.core-CwRCqiGJ.js} +2 -2
  167. package/dist/assets/{mermaid.core-CKfX2q8j.js → mermaid.core-C4o4vdkw.js} +3 -3
  168. package/dist/assets/mermaid.core-DjncFP_O.js +1 -0
  169. package/dist/assets/{mindmap-definition-Q6HEUPPD-nadsjaMC.js → mindmap-definition-Q6HEUPPD-pLcSm-bI.js} +1 -1
  170. package/dist/assets/{mode-CBh2Ag_Y.js → mode-DQPKc-Hp.js} +1 -1
  171. package/dist/assets/{name-cell-input-CAG50xh2.js → name-cell-input-DQd65hJw.js} +1 -1
  172. package/dist/assets/{number-overlay-editor-CbWBjwI1.js → number-overlay-editor-Ce_FEpnn.js} +1 -1
  173. package/dist/assets/once-8ZDiGGtA.js +1 -0
  174. package/dist/assets/outline-panel-BJDiYH61.js +1 -0
  175. package/dist/assets/packages-panel-D_VswrEd.js +1 -0
  176. package/dist/assets/{packet-HUATNLJX-BJ_b_gYi.js → packet-HUATNLJX-C5NsAS_7.js} +1 -1
  177. package/dist/assets/{pie-WTHONI2E-CS2JfH5S.js → pie-WTHONI2E-BCNGQ0_9.js} +1 -1
  178. package/dist/assets/{pieDiagram-ADFJNKIX-DP_lAtPz.js → pieDiagram-ADFJNKIX-CUCBn1VN.js} +1 -1
  179. package/dist/assets/plug-DrNpofTj.js +1 -0
  180. package/dist/assets/{plus-C1zexBxS.js → plus-d2HNOuZI.js} +1 -1
  181. package/dist/assets/{popover-CLp_lH16.js → popover-DW0D4l0O.js} +1 -1
  182. package/dist/assets/{precisionRound-CR2cxaaR.js → precisionRound-TxjBk8nN.js} +1 -1
  183. package/dist/assets/{quadrantDiagram-LMRXKWRM-gzT_-w3S.js → quadrantDiagram-LMRXKWRM-C6DXTSnZ.js} +1 -1
  184. package/dist/assets/{radar-NJJJXTRR-ChMDxgqR.js → radar-NJJJXTRR-Cck-wBOB.js} +1 -1
  185. package/dist/assets/{react-plotly-DUuIpNDT.js → react-plotly-x7-8ig7L.js} +1 -1
  186. package/dist/assets/{readonly-python-code-DMLMHG1v.js → readonly-python-code-Cb7Ak_Dy.js} +1 -1
  187. package/dist/assets/{refresh-ccw-lUiAEOAx.js → refresh-ccw-CCJeTTJO.js} +1 -1
  188. package/dist/assets/{refresh-cw-CSv3xyYY.js → refresh-cw-B_tmnHav.js} +1 -1
  189. package/dist/assets/{renderShortcut-DMYtt-ju.js → renderShortcut-C9_NT6sD.js} +1 -1
  190. package/dist/assets/{request-registry-4Bq310sk.js → request-registry-D4PD0fDJ.js} +1 -1
  191. package/dist/assets/{requirementDiagram-4UW4RH46-aavD0qQF.js → requirementDiagram-4UW4RH46-Bj7w3axz.js} +1 -1
  192. package/dist/assets/run-page-D9jntYU0.js +1 -0
  193. package/dist/assets/{runs-CItfCHkl.js → runs-BWcKkv9g.js} +1 -1
  194. package/dist/assets/{sankeyDiagram-GR3RE2ED-r95m_h3N.js → sankeyDiagram-GR3RE2ED-DCmlCkUu.js} +1 -1
  195. package/dist/assets/{save-Bg0tsaXV.js → save-CVcbYdvl.js} +1 -1
  196. package/dist/assets/scratchpad-panel-BUGlPLwQ.js +1 -0
  197. package/dist/assets/{scroll-text-SAt1GCBr.js → scroll-text-CN-2fr92.js} +1 -1
  198. package/dist/assets/secrets-panel-DGPyMcTb.js +1 -0
  199. package/dist/assets/{select-CMG6DC3j.js → select-DKRTzlUU.js} +1 -1
  200. package/dist/assets/{send-ePQN2mpH.js → send-DRRBOpzT.js} +1 -1
  201. package/dist/assets/{sequenceDiagram-C3RYC4MD-C4GqHIgf.js → sequenceDiagram-C3RYC4MD-CtIOF8jj.js} +1 -1
  202. package/dist/assets/{settings-TIv8aSog.js → settings-6ySBJQ7Y.js} +1 -1
  203. package/dist/assets/{share-CUbi0XlA.js → share-Dcl7D_tA.js} +1 -1
  204. package/dist/assets/snippets-panel-CKi40HiX.js +1 -0
  205. package/dist/assets/{spinner-CxlO4-GJ.js → spinner-BhnfQOEl.js} +1 -1
  206. package/dist/assets/{square-uM1ci7iL.js → square-DKPXnMmD.js} +1 -1
  207. package/dist/assets/{square-function-OflPQrBg.js → square-function-DBJINsmk.js} +1 -1
  208. package/dist/assets/{square-terminal-DZAwMMdQ.js → square-terminal-DoFRZ-M6.js} +1 -1
  209. package/dist/assets/{src-BOK-SWX4.js → src-KuQao6GK.js} +1 -1
  210. package/dist/assets/state-B37sZn4X.js +1 -0
  211. package/dist/assets/{state-COfuW2QS.js → state-CEmS5WFQ.js} +1 -1
  212. package/dist/assets/state-jvUYiWCG.js +1 -0
  213. package/dist/assets/{stateDiagram-KXAO66HF-CdN43FzO.js → stateDiagram-KXAO66HF-DwZscOce.js} +1 -1
  214. package/dist/assets/stateDiagram-v2-UMBNRL4Z-D5XUGcJP.js +1 -0
  215. package/dist/assets/stex-C7nwqmPk.js +1 -0
  216. package/dist/assets/storage-CaQ7kwuv.js +1 -0
  217. package/dist/assets/{switch-BKaPFRvh.js → switch-B5bMMWJn.js} +1 -1
  218. package/dist/assets/{tabs-C8HicIPZ.js → tabs-8ThyQfYh.js} +1 -1
  219. package/dist/assets/{terminal-Cnm8ANjQ.js → terminal-CPdYItDn.js} +1 -1
  220. package/dist/assets/{text-search-DpMeajoz.js → text-search-iEvFn29l.js} +1 -1
  221. package/dist/assets/{textarea-DhU2DWSB.js → textarea-B-_OthMe.js} +1 -1
  222. package/dist/assets/{time-Dzg4b75Q.js → time-BkIHCvH2.js} +1 -1
  223. package/dist/assets/{timeline-definition-XQNQX7LJ-D48ppGT8.js → timeline-definition-XQNQX7LJ-BGsZ09p6.js} +1 -1
  224. package/dist/assets/{toDate-BartytS4.js → toDate-Daj1hQSF.js} +1 -1
  225. package/dist/assets/{toggle-BLLoLiay.js → toggle-BpFqu8FB.js} +1 -1
  226. package/dist/assets/{tooltip-BjoMzmCN.js → tooltip-ULHbIsj9.js} +1 -1
  227. package/dist/assets/tracing-UKZUjbDB.js +2 -0
  228. package/dist/assets/tracing-panel-CuDItRLt.js +2 -0
  229. package/dist/assets/{trash-2-GOPu47oc.js → trash-2-3UJSaMKF.js} +1 -1
  230. package/dist/assets/{trash-BpVsWH8l.js → trash-CYX7fe5Y.js} +1 -1
  231. package/dist/assets/{tree-qyAlDlFy.js → tree-3z9r1N_5.js} +1 -1
  232. package/dist/assets/{treemap-75Q7IDZK-B4o24kyC.js → treemap-75Q7IDZK-MX1Hmq0m.js} +1 -1
  233. package/dist/assets/{type-C9leWRlU.js → type-kF6pOJbH.js} +1 -1
  234. package/dist/assets/{types-BBD3GQ0S.js → types-DQDL7dro.js} +1 -1
  235. package/dist/assets/{types-DEwRoAG0.js → types-DyTIgBnH.js} +1 -1
  236. package/dist/assets/{useAddCell-DJhNA_O5.js → useAddCell-Dq3HqYz1.js} +1 -1
  237. package/dist/assets/{useAsyncData-BEqqunls.js → useAsyncData-D9GA9BWg.js} +1 -1
  238. package/dist/assets/{useBoolean-DnggoYme.js → useBoolean-CSR3XjhE.js} +1 -1
  239. package/dist/assets/{useCellActionButton-B_a4Sv2X.js → useCellActionButton-BAG0Vvnt.js} +1 -1
  240. package/dist/assets/{useDateFormatter-DjmrLzxH.js → useDateFormatter-DrFLqO1D.js} +1 -1
  241. package/dist/assets/{useDebounce-9_rqRiHk.js → useDebounce-_ztZiL0I.js} +1 -1
  242. package/dist/assets/{useDeepCompareMemoize-DIhr42Iz.js → useDeepCompareMemoize-BsZY8i2r.js} +1 -1
  243. package/dist/assets/{useDeleteCell-DVNOLjwN.js → useDeleteCell-CJaipocw.js} +1 -1
  244. package/dist/assets/useHotkey-DkiyGPLs.js +1 -0
  245. package/dist/assets/{useInstallPackage-CTHO3tj3.js → useInstallPackage-DoKAq17E.js} +1 -1
  246. package/dist/assets/useNotebookActions-CQd8IgyR.js +1 -0
  247. package/dist/assets/useSplitCell-Dodncnp8.js +1 -0
  248. package/dist/assets/{useTheme-C5JyqXTm.js → useTheme-oPMxEKRc.js} +1 -1
  249. package/dist/assets/{utilities.esm-DbqS7Pjb.js → utilities.esm-DcV_e-D3.js} +1 -1
  250. package/dist/assets/utils-DBmmAf_K.js +1 -0
  251. package/dist/assets/variable-panel-BCihDsBL.js +1 -0
  252. package/dist/assets/{vega-component-D1ZJxK-L.js → vega-component-CWMEFM7y.js} +1 -1
  253. package/dist/assets/{vega-loader.browser.module-Jwd7L8Ye.js → vega-loader.browser.module-BkWiTok0.js} +1 -1
  254. package/dist/assets/{with-selector-CXhuorCH.js → with-selector-BmLsipPw.js} +1 -1
  255. package/dist/assets/{workflow-Covue_dW.js → workflow-DA01FBLw.js} +1 -1
  256. package/dist/assets/{wrench-DNJq8NCj.js → wrench-B2m2X1sb.js} +1 -1
  257. package/dist/assets/{write-secret-modal-qe46KOIw.js → write-secret-modal-Dx9oubag.js} +1 -1
  258. package/dist/assets/{xychartDiagram-6GGTOJPD-DK41sZTI.js → xychartDiagram-6GGTOJPD-D-i5LTeX.js} +1 -1
  259. package/dist/assets/{youtube-0-RiaVkr.js → youtube-Bl4NeyvA.js} +1 -1
  260. package/dist/index.html +155 -155
  261. package/package.json +1 -1
  262. package/src/__tests__/chat-history.test.ts +123 -0
  263. package/src/components/app-config/ai-config.tsx +23 -0
  264. package/src/components/app-config/mcp-config.tsx +42 -2
  265. package/src/components/app-config/user-config-form.tsx +0 -24
  266. package/src/components/chat/acp/__tests__/context-utils.test.ts +1 -1
  267. package/src/components/chat/acp/agent-panel.tsx +1 -1
  268. package/src/components/chat/acp/blocks.tsx +46 -53
  269. package/src/components/chat/acp/common.tsx +1 -1
  270. package/src/components/chat/acp/context-utils.ts +1 -1
  271. package/src/components/chat/acp/session-tabs.tsx +1 -1
  272. package/src/components/chat/chat-history-popover.tsx +125 -0
  273. package/src/components/chat/chat-history-utils.ts +69 -0
  274. package/src/components/chat/chat-panel.tsx +9 -57
  275. package/src/components/editor/__tests__/data-attributes.test.tsx +1 -1
  276. package/src/components/editor/actions/useNotebookActions.tsx +2 -4
  277. package/src/components/editor/ai/__tests__/completion-utils.test.ts +23 -31
  278. package/src/components/editor/cell/CreateCellButton.tsx +14 -2
  279. package/src/components/editor/cell/code/cell-editor.tsx +1 -0
  280. package/src/components/editor/database/schemas.ts +2 -10
  281. package/src/components/editor/{Cell.tsx → notebook-cell.tsx} +5 -1
  282. package/src/components/editor/output/MarimoErrorOutput.tsx +4 -34
  283. package/src/components/editor/renderers/{CellArray.tsx → cell-array.tsx} +1 -1
  284. package/src/components/forms/__tests__/form-utils.test.ts +2 -2
  285. package/src/components/mcp/hooks.ts +48 -0
  286. package/src/components/mcp/mcp-status-indicator.tsx +144 -0
  287. package/src/components/ui/number-field.tsx +4 -1
  288. package/src/core/ai/context/providers/__tests__/__snapshots__/tables.test.ts.snap +13 -19
  289. package/src/core/ai/context/providers/__tests__/cell-output.test.ts +0 -1
  290. package/src/core/ai/context/providers/__tests__/datasource.test.ts +5 -6
  291. package/src/core/ai/context/providers/__tests__/error.test.ts +24 -15
  292. package/src/core/ai/context/providers/cell-output.ts +5 -5
  293. package/src/core/ai/context/providers/common.ts +13 -4
  294. package/src/core/ai/context/providers/datasource.ts +31 -20
  295. package/src/core/ai/context/providers/error.ts +3 -4
  296. package/src/core/ai/context/providers/file.ts +2 -2
  297. package/src/core/ai/context/providers/tables.ts +36 -8
  298. package/src/core/ai/context/providers/variable.ts +2 -3
  299. package/src/core/cells/__tests__/cells.test.ts +6 -6
  300. package/src/core/cells/cells.ts +12 -13
  301. package/src/core/cells/scrollCellIntoView.ts +1 -1
  302. package/src/core/codemirror/__tests__/setup.test.ts +1 -0
  303. package/src/core/codemirror/cm.ts +3 -2
  304. package/src/core/config/__tests__/config-schema.test.ts +2 -0
  305. package/src/core/config/config-schema.ts +2 -0
  306. package/src/core/config/feature-flag.tsx +0 -2
  307. package/src/core/edit-app.tsx +1 -1
  308. package/src/core/network/CachingRequestRegistry.ts +2 -2
  309. package/src/stories/cell.stories.tsx +1 -1
  310. package/src/stories/layout/vertical/one-column.stories.tsx +1 -1
  311. package/src/utils/numbers.ts +24 -1
  312. package/dist/assets/MarimoErrorOutput-CUb4AQdT.js +0 -6
  313. package/dist/assets/add-cell-with-ai-DCyfgnLI.js +0 -36
  314. package/dist/assets/agent-panel-B_MMb9mo.js +0 -287
  315. package/dist/assets/ai-model-dropdown-Dk9Kz_pz.js +0 -2
  316. package/dist/assets/api-DBBaApVO.js +0 -1
  317. package/dist/assets/app-config-button-Cbw9b5rl.js +0 -1
  318. package/dist/assets/cell-link-woRE950-.js +0 -1
  319. package/dist/assets/channel-D-YgrD6I.js +0 -1
  320. package/dist/assets/chat-panel-DLphumiN.js +0 -3
  321. package/dist/assets/check-hL6-9SZK.js +0 -1
  322. package/dist/assets/circle-check-big-C7DGeh12.js +0 -1
  323. package/dist/assets/classDiagram-KNZD7YFC-yzXw7kFX.js +0 -1
  324. package/dist/assets/classDiagram-v2-RKCZMP56-Co2zbBi0.js +0 -1
  325. package/dist/assets/client-CA946N69.js +0 -2
  326. package/dist/assets/column-preview-BT14RHNM.js +0 -2
  327. package/dist/assets/command-palette-qYrNUNjA.js +0 -1
  328. package/dist/assets/datasources-panel-2YJ76Lq8.js +0 -1
  329. package/dist/assets/dependency-graph-panel-CnzvmPdT.js +0 -4
  330. package/dist/assets/dist-BtRvVXgu.js +0 -1
  331. package/dist/assets/dist-CAZ5kHnb.js +0 -1
  332. package/dist/assets/dist-CN8IvtVY.js +0 -1
  333. package/dist/assets/dist-Cw007UHk.js +0 -1
  334. package/dist/assets/dist-DEfSR7VW.js +0 -1
  335. package/dist/assets/dist-DSbiMNpu.js +0 -1
  336. package/dist/assets/dist-DeIZvG9x.js +0 -1
  337. package/dist/assets/dist-DyZWkD0n.js +0 -1
  338. package/dist/assets/dist-hfODPqg9.js +0 -1
  339. package/dist/assets/edit-page-Bt_YqRld.js +0 -12
  340. package/dist/assets/error-panel-dvBEznKE.js +0 -1
  341. package/dist/assets/esm-hOS9Yf3s.js +0 -1
  342. package/dist/assets/field-Ota1KKvP.js +0 -1
  343. package/dist/assets/file-explorer-panel-Pa89UfV1.js +0 -1
  344. package/dist/assets/filename-BYm5Do9U.js +0 -1
  345. package/dist/assets/home-page-B3bIZC6F.js +0 -4
  346. package/dist/assets/index-BQd14tU4.css +0 -2
  347. package/dist/assets/input-Dm-m3XYB.js +0 -7
  348. package/dist/assets/links-CQoApRoA.js +0 -1
  349. package/dist/assets/logs-panel-R50NxjC7.js +0 -1
  350. package/dist/assets/mermaid.core-BjBlUxCx.js +0 -1
  351. package/dist/assets/numbers-DtHKLeOn.js +0 -1
  352. package/dist/assets/outline-panel-CB2kV_p5.js +0 -1
  353. package/dist/assets/packages-panel-BpFuUbAr.js +0 -1
  354. package/dist/assets/run-page-ClDuCh42.js +0 -1
  355. package/dist/assets/scratchpad-panel-BRljth0m.js +0 -1
  356. package/dist/assets/secrets-panel-CQON2dfx.js +0 -1
  357. package/dist/assets/snippets-panel-C0OdhmTA.js +0 -1
  358. package/dist/assets/state-DaDgAzck.js +0 -1
  359. package/dist/assets/state-Do6Fn2Io.js +0 -1
  360. package/dist/assets/stateDiagram-v2-UMBNRL4Z-Bi0DZGHg.js +0 -1
  361. package/dist/assets/stex-CbLDtSMU.js +0 -1
  362. package/dist/assets/storage-DFOl3UlZ.js +0 -1
  363. package/dist/assets/tracing-k1M6Upka.js +0 -2
  364. package/dist/assets/tracing-panel-CyG4yTCu.js +0 -2
  365. package/dist/assets/useHotkey-CJ5v8JMM.js +0 -1
  366. package/dist/assets/useNotebookActions-BB-5-4dL.js +0 -1
  367. package/dist/assets/useSplitCell-Cy53n7mS.js +0 -1
  368. package/dist/assets/utils-CfnN8i3Y.js +0 -1
  369. package/dist/assets/variable-panel-Dd_6lOoR.js +0 -1
  370. /package/dist/assets/{Deferred-BIEvCvJC.js → Deferred-Mppm0cvJ.js} +0 -0
  371. /package/dist/assets/{alert-B2-Y1fzf.js → alert-hjKHAeOD.js} +0 -0
  372. /package/dist/assets/{badge-D5b5ze0K.js → badge-DJuT6BaT.js} +0 -0
  373. /package/dist/assets/{blob-DFrnsWYL.js → blob-CTPcPiam.js} +0 -0
  374. /package/dist/assets/{connection-Cb7zku0y.js → connection-D2GvycR9.js} +0 -0
  375. /package/dist/assets/{copy-BiKQh0sU.js → copy-CkZsxeON.js} +0 -0
  376. /package/dist/assets/{createLucideIcon-Be9UM2Pe.js → createLucideIcon-QLW8E4z5.js} +0 -0
  377. /package/dist/assets/{createReducer-BaSP2BKE.js → createReducer-CFr1RdS2.js} +0 -0
  378. /package/dist/assets/{defaultLocale-DU4zdxes.js → defaultLocale-C6TNIE_k.js} +0 -0
  379. /package/dist/assets/{defaultLocale-BCtmQtCj.js → defaultLocale-DPsgYaXf.js} +0 -0
  380. /package/dist/assets/{dist-DIuPmJ5w.js → dist-Bz53xjA5.js} +0 -0
  381. /package/dist/assets/{dist-BhR4qmIv.js → dist-DcASoeRZ.js} +0 -0
  382. /package/dist/assets/{dist-BMAXVGJe.js → dist-Dlusp3mb.js} +0 -0
  383. /package/dist/assets/{documentation-BZROoSma.js → documentation-B7z6bB-t.js} +0 -0
  384. /package/dist/assets/{emotion-is-prop-valid.esm-plUNooLR.js → emotion-is-prop-valid.esm-BbphD4LX.js} +0 -0
  385. /package/dist/assets/{errors-qtuExmE-.js → errors-_3XAtRr3.js} +0 -0
  386. /package/dist/assets/{es-Hxx5X1vH.js → es-BVCqnQhJ.js} +0 -0
  387. /package/dist/assets/{extends--r5KbeWh.js → extends-Bwhapo2B.js} +0 -0
  388. /package/dist/assets/{fast-deep-equal-DT2Tke28.js → fast-deep-equal-BdzBWnNx.js} +0 -0
  389. /package/dist/assets/{icons-BUUt9FMo.js → icons-CLD-J5J3.js} +0 -0
  390. /package/dist/assets/{kbd-DItNvBdP.js → kbd-BQFiWIjd.js} +0 -0
  391. /package/dist/assets/{main-Co0CqoDt.js → main-CfqcqCNp.js} +0 -0
  392. /package/dist/assets/{marked.esm-BVjBUuHx.js → marked.esm-C_54K2ke.js} +0 -0
  393. /package/dist/assets/{namespace-BstGchRe.js → namespace-CnoeT75h.js} +0 -0
  394. /package/dist/assets/{objectWithoutPropertiesLoose-CGYpiDu4.js → objectWithoutPropertiesLoose-CDpgRi8_.js} +0 -0
  395. /package/dist/assets/{ordinal-DO1z0TEs.js → ordinal-CHS6rGcb.js} +0 -0
  396. /package/dist/assets/{preload-helper-CxnU7XTI.js → preload-helper-DImqtvgl.js} +0 -0
  397. /package/dist/assets/{prop-types-Bv8iPqhZ.js → prop-types-CHKlDUlJ.js} +0 -0
  398. /package/dist/assets/{range-CJAH1fu_.js → range-BPiwmiGf.js} +0 -0
  399. /package/dist/assets/{shim-Bk8nzKPV.js → shim-CWt9rDBn.js} +0 -0
  400. /package/dist/assets/{stex-CETff8Y9.js → stex-BrOrfhKB.js} +0 -0
  401. /package/dist/assets/{strings-1yw0WVap.js → strings-DYBy5ejj.js} +0 -0
  402. /package/dist/assets/{tslib.es6-DItc8Tbq.js → tslib.es6-dlz5WbC8.js} +0 -0
  403. /package/dist/assets/{use-toast-C07-frN_.js → use-toast-D6NNsC80.js} +0 -0
  404. /package/dist/assets/{useEvent-BIiDVnhT.js → useEvent-BOb1a9d1.js} +0 -0
  405. /package/dist/assets/{useLifecycle-Bnvt0QrQ.js → useLifecycle-BfeAlD80.js} +0 -0
  406. /package/dist/assets/{useNonce-Cw4ZAbgi.js → useNonce-BbWkd3B4.js} +0 -0
  407. /package/dist/assets/{useNumberFormatter-DYIEUCTe.js → useNumberFormatter-D21brJ0f.js} +0 -0
  408. /package/dist/assets/{uuid-BWz20PcF.js → uuid-4lb_EYpq.js} +0 -0
@@ -1,287 +0,0 @@
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 ve}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{Cr as Dt,Hn as en,Sn as Ut,Wn as tn,jr as an}from"./cells-B4cnsYe_.js";import"./react-dom-D6bRRS5R.js";import"./zod-BEi78Y5d.js";import{n as Me,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-CfnN8i3Y.js";import"./constants-Cv7-oioA.js";import"./config-DiCy6eC0.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"./documentation-BZROoSma.js";import"./createReducer-BaSP2BKE.js";import{a as nn}from"./key-BuxNhFKW.js";import"./preload-helper-CxnU7XTI.js";import"./dist-DIuPmJ5w.js";import"./dist-C69eWtaQ.js";import"./dist-DV-8bxFo.js";import"./dist-BMAXVGJe.js";import"./dist-Bzn1Zd0x.js";import"./dist-CL0hPMY6.js";import"./stex-CETff8Y9.js";import"./Deferred-BIEvCvJC.js";import{t as rn}from"./uuid-BWz20PcF.js";import{t as qt}from"./use-toast-C07-frN_.js";import"./main-Co0CqoDt.js";import"./marked.esm-BVjBUuHx.js";import"./connection-Cb7zku0y.js";import"./dist-B0vg88Aq.js";import"./useTheme-C5JyqXTm.js";import{t as De}from"./createLucideIcon-Be9UM2Pe.js";import{T as on,g as ln,n as cn,v as dn,y as un}from"./add-cell-with-ai-DCyfgnLI.js";import"./between-horizontal-start-CotWLlFt.js";import{n as Wt,t as mn}from"./square-uM1ci7iL.js";import{i as Vt}from"./ai-model-dropdown-Dk9Kz_pz.js";import"./type-C9leWRlU.js";import"./check-hL6-9SZK.js";import{_ as pn,a as hn,h as Ca,i as fn,n as gn,r as yn,s as vn,t as xn}from"./select-CMG6DC3j.js";import"./chevron-right-Caf5yL5B.js";import{n as _n}from"./ansi_up-ZmFuCItK.js";import{t as Ia}from"./circle-check-big-C7DGeh12.js";import"./toDate-BartytS4.js";import{t as Bt}from"./circle-x-t3DIkXqJ.js";import{a as bn,c as wn,p as kn,r as jn,t as Nn}from"./dropdown-menu-Bp1vhqcS.js";import"./copy-DAVB02c8.js";import"./download-qt61TbgC.js";import{n as Sn,r as Cn,t as In}from"./file-video-camera-C5lALvNf.js";import{t as Tn}from"./file-text-DNmaotaP.js";import{t as An}from"./file-DqkkCGhs.js";import"./image-DXGqie4b.js";import{n as Rn,t as On}from"./spinner-CxlO4-GJ.js";import{n as Mn,t as En}from"./send-ePQN2mpH.js";import{t as Zn}from"./refresh-cw-CSv3xyYY.js";import{n as Ta,t as Pn}from"./square-terminal-DZAwMMdQ.js";import{r as $n}from"./input-Dm-m3XYB.js";import"./useDeleteCell-DVNOLjwN.js";import{t as Fn}from"./wrench-DNJq8NCj.js";import{r as Aa}from"./useNonce-Cw4ZAbgi.js";import{t as Dn}from"./badge-D5b5ze0K.js";import"./namespace-BstGchRe.js";import{r as Un,t as ft}from"./tooltip-BjoMzmCN.js";import"./useLifecycle-Bnvt0QrQ.js";import"./menu-items-COILZQ4q.js";import"./fullscreen-BFmvQx5m.js";import"./tslib.es6-DItc8Tbq.js";import"./alert-dialog-M1dUQe7C.js";import"./dialog-B7icy1Vb.js";import"./useNumberFormatter-DYIEUCTe.js";import"./shim-Bk8nzKPV.js";import{n as re}from"./useEvent-BIiDVnhT.js";import"./useDebounce-9_rqRiHk.js";import"./ImperativeModal-DujtmdOO.js";import{t as zn}from"./strings-1yw0WVap.js";import"./errors-qtuExmE-.js";import"./copy-BiKQh0sU.js";import{t as Ln}from"./copy-icon-GGPHJWJ0.js";import"./RenderHTML-BCi_V67U.js";import{i as qn,n as Wn,r as Vn,t as Bn}from"./accordion-C3CAEPwC.js";import{t as Ra}from"./JsonOutput-E2xVojk5.js";import"./emotion-is-prop-valid.esm-plUNooLR.js";import"./extends--r5KbeWh.js";import"./prop-types-Bv8iPqhZ.js";import"./objectWithoutPropertiesLoose-CGYpiDu4.js";import"./with-selector-CXhuorCH.js";import"./kbd-DItNvBdP.js";import"./renderShortcut-DMYtt-ju.js";import"./LazyAnyLanguageCodeMirror-DHH4zj72.js";import{i as Kn,r as Hn,t as Yn}from"./popover-CLp_lH16.js";import"./es-Hxx5X1vH.js";import"./dom-4KyFHEbl.js";import"./blob-DFrnsWYL.js";import"./esm-BR7TuyMc.js";import"./add-missing-import-Cwedhjm5.js";import"./icons-BUUt9FMo.js";import{t as Jn}from"./filename-BYm5Do9U.js";import"./focus-OWoLlKnm.js";import{n as Gn,r as Oa}from"./chat-components-DXkntpg4.js";import"./katex-DBBxCH7Z.js";import{t as Ma}from"./empty-state-TdWBDq6n.js";import{t as Qn}from"./state-COfuW2QS.js";var Xn=De("arrow-down",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]),er=De("circle-stop",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["rect",{x:"9",y:"9",width:"6",height:"6",rx:"1",key:"1ssd4o"}]]),tr=De("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"}]]),ar=De("plug",[["path",{d:"M12 22v-5",key:"1ega77"}],["path",{d:"M9 8V2",key:"14iosj"}],["path",{d:"M15 8V2",key:"18g5xt"}],["path",{d:"M18 8v5a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V8Z",key:"osxo6l"}]]),sr=De("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"}]]),nr=De("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]),st=De("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=De("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 rr;(function(t){t.mergeShapes=(e,a)=>({...e,...a})})(rr||(rr={}));const N=z.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Ue=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}},ir=nt;function Ht(){return ir}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 M;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 M;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 M=Object.freeze({status:"aborted"}),Jt=t=>({status:"dirty",value:t}),oe=t=>({status:"valid",value:t}),Ea=t=>t.status==="aborted",Za=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}},Pa=(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 Ue(t.data)}_getOrReturnCtx(t,e){return e||{common:t.parent.common,data:t.data,parsedType:Ue(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:Ue(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:Ue(t)},s=this._parseSync({data:t,path:a.path,parent:a});return Pa(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:Ue(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:Ue(t)},s=this._parse({data:t,path:a.path,parent:a}),n=await(gt(s)?s:Promise.resolve(s));return Pa(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 Ee({schema:this,typeName:E.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 Ee({...F(this._def),schema:this,typeName:E.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:E.ZodDefault})}brand(){return new za({typeName:E.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:E.ZodCatch})}describe(t){let e=this.constructor;return new e({...this._def,description:t})}pipe(t){return La.create(this,t)}readonly(){return It.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},or=/^c[^\s-]{8,}$/i,lr=/^[0-9a-z]+$/,cr=/^[0-9A-HJKMNP-TV-Z]{26}$/i,dr=/^[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,ur=/^[a-z0-9_-]{21}$/i,mr=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,pr=/^[-+]?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)?)??$/,hr=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,fr="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",$a,gr=/^(?:(?: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])$/,yr=/^(?:(?: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])$/,vr=/^(([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]))$/,xr=/^(([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])$/,_r=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,br=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Fa="((\\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])))",wr=RegExp(`^${Fa}$`);function Da(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 kr(t){return RegExp(`^${Da(t)}$`)}function jr(t){let e=`${Fa}T${Da(t)}`,a=[];return a.push(t.local?"Z?":"Z"),t.offset&&a.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${a.join("|")})`,RegExp(`^${e}$`)}function Nr(t,e){return!!((e==="v4"||!e)&&gr.test(t)||(e==="v6"||!e)&&vr.test(t))}function Sr(t,e){if(!mr.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 Cr(t,e){return!!((e==="v4"||!e)&&yr.test(t)||(e==="v6"||!e)&&xr.test(t))}var yt=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}),M}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")hr.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")$a||($a=new RegExp(fr,"u")),$a.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")dr.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")ur.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")or.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")lr.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")cr.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"?jr(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"?wr.test(e.data)||(s=this._getOrReturnCtx(e,s),b(s,{code:f.invalid_string,validation:"date",message:n.message}),a.dirty()):n.kind==="time"?kr(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"?pr.test(e.data)||(s=this._getOrReturnCtx(e,s),b(s,{validation:"duration",code:f.invalid_string,message:n.message}),a.dirty()):n.kind==="ip"?Nr(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"?Sr(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"?Cr(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"?_r.test(e.data)||(s=this._getOrReturnCtx(e,s),b(s,{validation:"base64",code:f.invalid_string,message:n.message}),a.dirty()):n.kind==="base64url"?br.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}};yt.create=t=>new yt({checks:[],typeName:E.ZodString,coerce:(t==null?void 0:t.coerce)??!1,...F(t)});function Ir(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 ya 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}),M}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"?Ir(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 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]})}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:E.ZodNumber,coerce:(t==null?void 0:t.coerce)||!1,...F(t)});var Qt=class va 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}),M}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]})}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:E.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}),M}return oe(t.data)}};Xt.create=t=>new Xt({typeName:E.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}),M}if(Number.isNaN(e.data.getTime())){let n=this._getOrReturnCtx(e);return b(n,{code:f.invalid_date}),M}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:E.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}),M}return oe(t.data)}};ta.create=t=>new ta({typeName:E.ZodSymbol,...F(t)});var vt=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}),M}return oe(t.data)}};vt.create=t=>new vt({typeName:E.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}),M}return oe(t.data)}};xt.create=t=>new xt({typeName:E.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:E.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:E.ZodUnknown,...F(t)});var ze=class extends D{_parse(t){let e=this._getOrReturnCtx(t);return b(e,{code:f.invalid_type,expected:N.never,received:e.parsedType}),M}};ze.create=t=>new ze({typeName:E.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}),M}return oe(t.data)}};sa.create=t=>new sa({typeName:E.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}),M;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:E.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}),M}let{status:a,ctx:s}=this._processInputParams(e),{shape:n,keys:r}=this._getCached(),i=[];if(!(this._def.catchall instanceof ze&&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 ze){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:E.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 Ua(z.objectKeys(this.shape))}};xe.create=(t,e)=>new xe({shape:()=>t,unknownKeys:"strip",catchall:ze.create(),typeName:E.ZodObject,...F(e)}),xe.strictCreate=(t,e)=>new xe({shape:()=>t,unknownKeys:"strict",catchall:ze.create(),typeName:E.ZodObject,...F(e)}),xe.lazycreate=(t,e)=>new xe({shape:t,unknownKeys:"strip",catchall:ze.create(),typeName:E.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}),M}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}),M}}get options(){return this._def.options}};_t.create=(t,e)=>new _t({options:t,typeName:E.ZodUnion,...F(e)});var Le=t=>t instanceof wt?Le(t.schema):t instanceof Ee?Le(t.innerType()):t instanceof kt?[t.value]:t instanceof jt?t.options:t instanceof Nt?z.objectValues(t.enum):t instanceof St?Le(t._def.innerType):t instanceof vt?[void 0]:t instanceof xt?[null]:t instanceof Ze?[void 0,...Le(t.unwrap())]:t instanceof Be?[null,...Le(t.unwrap())]:t instanceof za||t instanceof It?Le(t.unwrap()):t instanceof Ct?Le(t._def.innerType):[],Tr=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}),M;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]}),M)}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=Le(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:E.ZodDiscriminatedUnion,discriminator:e,options:a,optionsMap:n,...F(s)})}};function na(t,e){let a=Ue(t),s=Ue(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(Ea(n)||Ea(r))return M;let i=na(n.value,r.value);return i.valid?((Za(n)||Za(r))&&e.dirty(),{status:e.value,value:i.data}):(b(a,{code:f.invalid_intersection_types}),M)};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:E.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}),M;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"}),M;!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:E.ZodTuple,rest:null,...F(e)})};var Ar=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}),M;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:E.ZodRecord,...F(s)}):new xa({keyType:yt.create(),valueType:e,typeName:E.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}),M;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 M;(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 M;(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:E.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}),M;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 M;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:E.ZodSet,...F(e)});var Rr=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}),M;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:E.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:E.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}),M}return{status:"valid",value:t.data}}get value(){return this._def.value}};kt.create=(t,e)=>new kt({value:t,typeName:E.ZodLiteral,...F(e)});function Ua(t,e){return new jt({values:t,typeName:E.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}),M}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}),M}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=Ua;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}),M}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}),M}return oe(t.data)}get enum(){return this._def.values}};Nt.create=(t,e)=>new Nt({values:t,typeName:E.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}),M;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:E.ZodPromise,...F(e)});var Ee=class extends D{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===E.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 M;let o=await this._def.schema._parseAsync({data:i,path:a.path,parent:a});return o.status==="aborted"?M:o.status==="dirty"||e.value==="dirty"?Jt(o.value):o});{if(e.value==="aborted")return M;let i=this._def.schema._parseSync({data:r,path:a.path,parent:a});return i.status==="aborted"?M: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"?M:(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"?M:(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 M;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})):M);z.assertNever(s)}};Ee.create=(t,e,a)=>new Ee({schema:t,typeName:E.ZodEffects,effect:e,...F(a)}),Ee.createWithPreprocess=(t,e,a)=>new Ee({schema:e,effect:{type:"preprocess",transform:t},typeName:E.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:E.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:E.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:E.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:E.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}),M}return{status:"valid",value:t.data}}};oa.create=t=>new oa({typeName:E.ZodNaN,...F(t)});var za=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}},La=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"?M: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"?M: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:E.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:E.ZodReadonly,...F(e)}),xe.lazycreate;var E;(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"})(E||(E={}));var p=yt.create,_e=Gt.create;oa.create,Qt.create;var Ae=Xt.create;ea.create,ta.create,vt.create,xt.create,aa.create;var _=Qe.create;ze.create,sa.create;var G=Xe.create,x=xe.create;xe.strictCreate;var H=_t.create;Tr.create,bt.create,Ve.create;var w=Ar.create;ra.create,ia.create,Rr.create,wt.create;var j=kt.create;jt.create,Nt.create,rt.create,Ee.create,Ze.create,Be.create,Ee.createWithPreprocess,La.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"},qa=x({_meta:w(_()).optional(),content:p(),path:p(),sessionId:p()}),Wa=x({_meta:w(_()).optional(),limit:_e().optional().nullable(),line:_e().optional().nullable(),path:p(),sessionId:p()}),Va=x({_meta:w(_()).optional(),sessionId:p(),terminalId:p()}),Ba=x({_meta:w(_()).optional(),sessionId:p(),terminalId:p()}),Ka=x({_meta:w(_()).optional(),sessionId:p(),terminalId:p()}),Ha=x({_meta:w(_()).optional(),sessionId:p(),terminalId:p()}),Or=w(_()),Mr=H([j("assistant"),j("user")]),Er=x({_meta:w(_()).optional(),mimeType:p().optional().nullable(),text:p(),uri:p()}),Zr=x({_meta:w(_()).optional(),blob:p(),mimeType:p().optional().nullable(),uri:p()}),Ya=H([j("read"),j("edit"),j("delete"),j("move"),j("search"),j("execute"),j("think"),j("fetch"),j("switch_mode"),j("other")]),Ja=H([j("pending"),j("in_progress"),j("completed"),j("failed")]),Pr=x({_meta:w(_()).optional()}),$r=x({_meta:w(_()).optional(),content:p()}),Fr=x({_meta:w(_()).optional(),outcome:H([x({outcome:j("cancelled")}),x({optionId:p(),outcome:j("selected")})])}),Dr=x({_meta:w(_()).optional(),terminalId:p()}),Ur=x({_meta:w(_()).optional()}),zr=x({_meta:w(_()).optional(),exitCode:_e().optional().nullable(),signal:p().optional().nullable()}),Lr=x({_meta:w(_()).optional()}),qr=w(_()),Wr=x({_meta:w(_()).optional(),sessionId:p()}),Vr=w(_()),Br=x({_meta:w(_()).optional(),methodId:p()}),Kr=x({_meta:w(_()).optional(),modeId:p(),sessionId:p()}),Hr=w(_()),Ga=x({_meta:w(_()).optional(),name:p(),value:p()}),Re=x({_meta:w(_()).optional(),audience:G(Mr).optional().nullable(),lastModified:p().optional().nullable(),priority:_e().optional().nullable()}),Qa=H([Er,Zr]),Yr=x({_meta:w(_()).optional()}),Jr=x({meta:_().optional()}),Gr=x({_meta:w(_()).optional(),stopReason:H([j("end_turn"),j("max_tokens"),j("max_turn_requests"),j("refusal"),j("cancelled")])}),Qr=w(_()),Xa=p(),Xr=w(_()),ei=x({hint:p()}),ti=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:Qa,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()}),es=x({_meta:w(_()).optional(),name:p(),value:p()}),ai=x({_meta:w(_()).optional(),exitCode:_e().optional().nullable(),signal:p().optional().nullable()}),si=x({_meta:w(_()).optional(),readTextFile:Ae().optional(),writeTextFile:Ae().optional()}),ni=x({args:G(p()),command:p(),env:G(es),name:p()}),ts=H([x({headers:G(Ga),name:p(),type:j("http"),url:p()}),x({headers:G(Ga),name:p(),type:j("sse"),url:p()}),ni]),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:Qa,type:j("resource")})]),ri=x({_meta:w(_()).optional(),description:p().optional().nullable(),id:p(),name:p()}),ii=x({_meta:w(_()).optional(),http:Ae().optional(),sse:Ae().optional()}),oi=x({_meta:w(_()).optional(),audio:Ae().optional(),embeddedContext:Ae().optional(),image:Ae().optional()}),li=x({_meta:w(_()).optional(),description:p().optional().nullable(),id:Xa,name:p()}),as=x({_meta:w(_()).optional(),availableModes:G(li),currentModeId:p()}),ci=x({_meta:w(_()).optional(),content:p(),priority:H([j("high"),j("medium"),j("low")]),status:H([j("pending"),j("in_progress"),j("completed")])}),di=ei,ui=H([Wr,Vr]),ss=x({_meta:w(_()).optional(),args:G(p()).optional(),command:p(),cwd:p().optional().nullable(),env:G(es).optional(),outputByteLimit:_e().optional().nullable(),sessionId:p()}),mi=x({_meta:w(_()).optional(),exitStatus:ai.optional().nullable(),output:p(),truncated:Ae()}),pi=x({_meta:w(_()).optional(),cwd:p(),mcpServers:G(ts)}),hi=x({_meta:w(_()).optional(),cwd:p(),mcpServers:G(ts),sessionId:p()}),fi=x({_meta:w(_()).optional(),prompt:G(Tt),sessionId:p()}),gi=x({_meta:w(_()).optional(),modes:as.optional().nullable(),sessionId:p()}),yi=x({_meta:w(_()).optional(),modes:as.optional().nullable()}),vi=x({_meta:w(_()).optional(),content:G(la).optional().nullable(),kind:Ya.optional().nullable(),locations:G(ca).optional().nullable(),rawInput:w(_()).optional(),rawOutput:w(_()).optional(),status:Ja.optional().nullable(),title:p().optional().nullable(),toolCallId:p()}),xi=x({_meta:w(_()).optional(),fs:si.optional(),terminal:Ae().optional()}),_i=x({_meta:w(_()).optional(),loadSession:Ae().optional(),mcpCapabilities:ii.optional(),promptCapabilities:oi.optional()}),bi=x({_meta:w(_()).optional(),description:p(),input:di.optional().nullable(),name:p()}),wi=H([Pr,$r,Fr,Dr,mi,Ur,zr,Lr,qr]),ns=x({_meta:w(_()).optional(),options:G(ti),sessionId:p(),toolCall:vi}),ki=x({_meta:w(_()).optional(),clientCapabilities:xi.optional(),protocolVersion:_e()}),ji=x({_meta:w(_()).optional(),agentCapabilities:_i.optional(),authMethods:G(ri).optional(),protocolVersion:_e()}),rs=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:Ya.optional().nullable(),locations:G(ca).optional().nullable(),rawInput:w(_()).optional(),rawOutput:w(_()).optional(),sessionUpdate:j("tool_call_update"),status:Ja.optional().nullable(),title:p().optional().nullable(),toolCallId:p()}),x({_meta:w(_()).optional(),entries:G(ci),sessionUpdate:j("plan")}),x({availableCommands:G(bi),sessionUpdate:j("available_commands_update")}),x({currentModeId:Xa,sessionUpdate:j("current_mode_update")})])}),Ni=H([qa,Wa,ns,ss,Va,Ba,Ka,Ha,Or]),Si=H([ki,Br,pi,hi,Kr,fi,Hr]),Ci=H([ji,Yr,gi,yi,Jr,Gr,Qr]),Ii=H([rs,Xr]);H([Ni,wi,ui,Si,Ci,Ii]);var Ti=($s=class{constructor(t,e,a){Ce(this,pe);let s=t(this);Fe(this,pe,new Ai(async(n,r)=>{var i,o,c,d,u;switch(n){case Pe.fs_write_text_file:{let m=qa.parse(r);return s.writeTextFile(m)}case Pe.fs_read_text_file:{let m=Wa.parse(r);return s.readTextFile(m)}case Pe.session_request_permission:{let m=ns.parse(r);return s.requestPermission(m)}case Pe.terminal_create:{let m=ss.parse(r);return(i=s.createTerminal)==null?void 0:i.call(s,m)}case Pe.terminal_output:{let m=Va.parse(r);return(o=s.terminalOutput)==null?void 0:o.call(s,m)}case Pe.terminal_release:{let m=Ba.parse(r);return await((c=s.releaseTerminal)==null?void 0:c.call(s,m))??{}}case Pe.terminal_wait_for_exit:{let m=Ka.parse(r);return(d=s.waitForTerminalExit)==null?void 0:d.call(s,m)}case Pe.terminal_kill:{let m=Ha.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=rs.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),Ai=(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}}},Ri=class{constructor(){Q(this,"promise");Q(this,"resolve");Q(this,"reject");this.promise=new Promise((t,e)=>{this.resolve=t,this.reject=e})}},Oi=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 Ri;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))}},Mi=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 Ei=globalThis.ReadableStream,Zi=globalThis.WritableStream;function Pi(){return globalThis.ReadableStream!==void 0&&globalThis.WritableStream!==void 0}function $i(t){return new Zi({write(e){t.readyState===WebSocket.OPEN&&t.send(e)},close(){t.close()},abort(){t.close()}})}function Fi(t){let e=new Ei({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}Pi()||console.warn("Streams API not supported in this browser. Consider using a polyfill.");var Di=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 Ui({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"})}},Ui=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=Fi(this.ws),this.writableStream=$i(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}},is=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},zi=(t=>t?is(t):is),R=ve(Xs(),1),Li=t=>t;function qi(t,e=Li){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 os=t=>{let e=zi(t),a=s=>qi(e,s);return Object.assign(a,e),a};const Wi=(t=>t?os(t):os)((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 Vi=typeof window<"u"?R.useLayoutEffect:R.useEffect;function qe(t){let e=(0,R.useRef)(()=>{throw Error("Cannot call an event handler while rendering.")});return Vi(()=>{e.current=t},[t]),(0,R.useCallback)((...a)=>{var s;return(s=e.current)==null?void 0:s.call(e,...a)},[e])}function Bi(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:y,addNotification:v,clearNotifications:S}=Wi(),[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=qe((L,J)=>{g(J,L),v({type:"connection_change",data:L})}),ce=qe((L,J)=>{v({type:"error",data:L})}),de=qe(L=>{v({type:"session_notification",data:L}),L.update.sessionUpdate==="available_commands_update"&&B(L.update.availableCommands)}),ue=qe(L=>{T(L)}),ye=qe(async()=>{V.current||(V.current=new Di({onConnectionStateChange:he,onError:ce,reconnectAttempts:s,reconnectDelay:n})),y(e);let{readable:L,writable:J}=await V.current.connect(e),ke=new Ti(U=>{let Y=new Oi(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 Mi(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)v({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=qe(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))}),$=qe(L=>{if(I&&W.current){let J=I.deferredId;J&&W.current.resolvePermission(J,L)}T(null)}),K=qe(L=>{if(I&&W.current){let J=I.deferredId;J&&W.current.rejectPermission(J,L)}T(null)});return(0,R.useEffect)(()=>(a&&ye().catch(console.error),()=>{Oe()}),[a,e]),{connect:ye,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 Ki(t,e){if(!t)throw Error(e)}function Hi(t){let e=[];for(let a of t){let s=e[e.length-1];s&&Yi(s.at(0),a)?s.push(a):e.push([a])}return e}var ls=["tool_call","tool_call_update"];function Yi(t,e){return t?t.type==="session_notification"&&e.type==="session_notification"?ls.includes(t.data.update.sessionUpdate)&&ls.includes(e.data.update.sessionUpdate)?!0:t.data.update.sessionUpdate===e.data.update.sessionUpdate:t.type===e.type:!1}function Ji(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 Ki(!!(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=ve(Me());function Gi(t){let e=t[0];return e.sessionUpdate==="tool_call"||e.sessionUpdate==="tool_call_update"}function Qi(t){return t[0].sessionUpdate==="agent_thought_chunk"}function Xi(t){return t[0].sessionUpdate==="user_message_chunk"}function eo(t){return t[0].sessionUpdate==="agent_message_chunk"}function to(t){return t[0].sessionUpdate==="plan"}var l=ve(sn());const ao=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},so=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 y;e[16]!==n.bgColor||e[17]!==n.borderColor||e[18]!==n.textColor||e[19]!==t.onRetry||e[20]!==r?(y=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]=y):y=e[21];let v;e[22]!==y||e[23]!==h||e[24]!==g?(v=(0,l.jsxs)("div",{className:"flex-1 min-w-0",children:[h,g,y]}),e[22]=y,e[23]=h,e[24]=g,e[25]=v):v=e[25];let S;e[26]!==v||e[27]!==c?(S=(0,l.jsxs)("div",{className:"flex items-start gap-3",children:[c,v]}),e[26]=v,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},no=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},ro=t=>{let e=(0,te.c)(14),a,s,n,r;if(e[0]!==t.data){let c=t.data.flatMap(xo);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(_o),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},io=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 text-muted-foreground border p-2 bg-background rounded break-words",children:(0,l.jsx)(At,{data:a})}),e[2]=a,e[3]=s),s},oo=t=>{let e=(0,te.c)(4),a;e[0]===t.data?a=e[1]:(a=t.data.map(wo),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=ko,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},cs=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},ds=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},lo=t=>{var a,s;let e=(0,te.c)(25);if("text"in t.data.resource){let n;e[0]===t.data.resource.mimeType?n=e[1]:(n=t.data.resource.mimeType&&(0,l.jsx)(da,{mimeType:t.data.resource.mimeType}),e[0]=t.data.resource.mimeType,e[1]=n);let r;e[2]!==t.data.resource.uri||e[3]!==n?(r=(0,l.jsx)(Kn,{children:(0,l.jsxs)("span",{className:"flex items-center gap-1",children:[n,t.data.resource.uri]})}),e[2]=t.data.resource.uri,e[3]=n,e[4]=r):r=e[4];let i;e[5]===t.data.resource.text?i=e[6]:(i=(0,l.jsx)(Hn,{className:"max-h-96 overflow-y-auto scrollbar-thin",children:(0,l.jsx)(Oa,{content:t.data.resource.text})}),e[5]=t.data.resource.text,e[6]=i);let o;return e[7]!==r||e[8]!==i?(o=(0,l.jsxs)(Yn,{children:[r,i]}),e[7]=r,e[8]=i,e[9]=o):o=e[9],o}if("blob"in t.data.resource){if((a=t.data.resource.mimeType)!=null&&a.startsWith("image/")){let u;return e[10]!==t.data.resource.blob||e[11]!==t.data.resource.mimeType?(u=(0,l.jsx)(cs,{data:{type:"image",mimeType:t.data.resource.mimeType,data:t.data.resource.blob}}),e[10]=t.data.resource.blob,e[11]=t.data.resource.mimeType,e[12]=u):u=e[12],u}if((s=t.data.resource.mimeType)!=null&&s.startsWith("audio/")){let u;return e[13]!==t.data.resource.blob||e[14]!==t.data.resource.mimeType?(u=(0,l.jsx)(ds,{data:{type:"audio",mimeType:t.data.resource.mimeType,data:t.data.resource.blob}}),e[13]=t.data.resource.blob,e[14]=t.data.resource.mimeType,e[15]=u):u=e[15],u}let n=t.data.resource.blob,r=t.data.resource.mimeType??"",i;e[16]!==n||e[17]!==r?(i=_n(n,r),e[16]=n,e[17]=r,e[18]=i):i=e[18];let o=i,c;e[19]===t.data.resource.mimeType?c=e[20]:(c=t.data.resource.mimeType&&(0,l.jsx)(da,{mimeType:t.data.resource.mimeType}),e[19]=t.data.resource.mimeType,e[20]=c);let d;return e[21]!==o||e[22]!==t.data.resource.uri||e[23]!==c?(d=(0,l.jsxs)("a",{href:o,className:"flex items-center gap-1",download:!0,children:[c,t.data.resource.uri]}),e[21]=o,e[22]=t.data.resource.uri,e[23]=c,e[24]=d):d=e[24],d}return Aa(t.data.resource),null},co=t=>{let e=(0,te.c)(8);if(t.data.uri.startsWith("http")){let r;return e[0]!==t.data.name||e[1]!==t.data.uri?(r=(0,l.jsx)("a",{href:t.data.uri,target:"_blank",rel:"noopener noreferrer",className:"text-link hover:underline",children:t.data.name}),e[0]=t.data.name,e[1]=t.data.uri,e[2]=r):r=e[2],r}let a;e[3]===t.data.mimeType?a=e[4]:(a=t.data.mimeType&&(0,l.jsx)(da,{mimeType:t.data.mimeType}),e[3]=t.data.mimeType,e[4]=a);let s=t.data.name||t.data.title||t.data.uri,n;return e[5]!==a||e[6]!==s?(n=(0,l.jsxs)("span",{className:"flex items-center gap-1",children:[a,s]}),e[5]=a,e[6]=s,e[7]=n):n=e[7],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"}),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)(tr,{className:"h-2 w-2"}),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"}),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"}),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"}),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"}),e[5]=a):a=e[5],a},uo=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(Gi(o))return(0,l.jsx)(po,{data:o});if(Qi(o))return(0,l.jsx)(no,{startTimestamp:t.startTimestamp,endTimestamp:t.endTimestamp,data:o});if(Xi(o))return(0,l.jsx)(io,{data:o});if(eo(o))return(0,l.jsx)(oo,{data:o});if(to(o))return(0,l.jsx)(ro,{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)(mo,{data:c}):null}return(0,l.jsx)(ma,{title:o[0].sessionUpdate,children:(0,l.jsx)(Ra,{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},mo=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},po=t=>{let e=(0,te.c)(6),a,s;if(e[0]!==t.data){let r=Ji(t.data);a="flex flex-col text-muted-foreground",s=r.map(jo),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},ho=t=>{let e=(0,te.c)(4),a;e[0]===t.data?a=e[1]:(a=t.data.map(No),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 fo(t){var s;let e=t.title||zn.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 go(t){return t.startsWith("`")&&t.endsWith("`")?(0,l.jsx)("i",{children:t.slice(1,-1)}):t}const yo=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(So);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(Co).map(Io),e[0]=a,e[1]=o);let c=o,d;e[2]===a?d=e[3]:(d=a==null?void 0:a.filter(To),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)(Ra,{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(Ao).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 y;e[13]===s?y=e[14]:(y=s&&(0,l.jsx)(yo,{data:s}),e[13]=s,e[14]=y);let v;e[15]===c?v=e[16]:(v=c&&(0,l.jsx)(At,{data:c}),e[15]=c,e[16]=v);let S;e[17]!==u||e[18]!==m?(S=u&&!m&&(0,l.jsx)(ho,{data:u}),e[17]=u,e[18]=m,e[19]=S):S=e[19];let I;return e[20]!==y||e[21]!==v||e[22]!==S?(I=(0,l.jsxs)("div",{className:"flex flex-col gap-2 pr-2",children:[y,v,S]}),e[20]=y,e[21]=v,e[22]=S,e[23]=I):I=e[23],I};function vo(t){return t.content}function xo(t){return t.entries}function _o(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 bo(t){return t.content}function wo(t){return t.content}function ko(t){return t.type==="text"?(0,l.jsx)(Oa,{content:t.text}):t.type==="image"?(0,l.jsx)(cs,{data:t}):t.type==="audio"?(0,l.jsx)(ds,{data:t}):t.type==="resource"?(0,l.jsx)(lo,{data:t}):t.type==="resource_link"?(0,l.jsx)(co,{data:t}):(Aa(t),null)}function jo(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:go(fo(t))}),defaultIcon:(0,l.jsx)(Fn,{className:"h-3 w-3"}),children:(0,l.jsx)(us,{data:t})},t.toolCallId)}function No(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 So(t){return t.line?`${t.path}:${t.line}`:t.path}function Co(t){return t.type==="content"}function Io(t){return t.content}function To(t){return t.type==="diff"}function Ao(t){return t.path}var ua=ve(Me());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 y;e[8]===a?y=e[9]:(y=(0,l.jsx)("code",{className:"font-mono text-xs",children:a}),e[8]=a,e[9]=y);let v;e[10]!==g||e[11]!==y?(v=(0,l.jsxs)("span",{className:"flex items-center gap-1",children:[g,y]}),e[10]=g,e[11]=y,e[12]=v):v=e[12];let S;e[13]!==k||e[14]!==v?(S=(0,l.jsx)(qn,{className:k,children:v}),e[13]=k,e[14]=v,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)(Wn,{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)(Vn,{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)(Bn,{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)(ar,{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=Dn,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)(sr,{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 Ro=ve(Me());function Oo(){let t=(0,Ro.c)(3),{addCommand:e}=Qn(),{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 Mo(){return`tab_${rn()}`}function fs(t,e=20){return t.length<=e?t:`${t.slice(0,e-3)}...`}function Eo(t,e){let a=ys(e.agentId),s=Date.now(),n=e.firstMessage?fs(e.firstMessage.trim()):`New ${e.agentId} session`,r=Mo();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 Zo(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 Po(t,e){let a=t.activeTabId;return a?{...t,sessions:t.sessions.map(s=>s.tabId===a?{...s,title:fs(e)}:s)}:t}function $o(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 Fo(){return["claude","gemini"]}function Do(t){return zt(t)}function Uo(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 ys(t){return Rt[t].sessionSupport}function zo(t){let e=Rt[t].port;return`npx stdio-to-ws "${Rt[t].command}" --port ${e}`}var vs=ve(Me()),xs=(0,R.memo)(t=>{let e=(0,vs.c)(35),{agentId:a,showCopy:s,className:n}=t,r=s===void 0?!0:s,i;e[0]===a?i=e[1]:(i=zo(a),e[0]=a,e[1]=i);let o=i,c;e[2]===a?c=e[3]:(c=Do(a),e[2]=a,e[3]=c);let d=c,u=Na(en),{sendCommand:m}=Oo(),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 y;e[9]===a?y=e[10]:(y=(0,l.jsx)(Vt,{provider:a,className:"h-4 w-4"}),e[9]=a,e[10]=y);let v;e[11]===d?v=e[12]:(v=(0,l.jsx)("span",{className:"font-medium text-sm",children:d}),e[11]=d,e[12]=v);let S;e[13]!==y||e[14]!==v?(S=(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[y,v]}),e[13]=y,e[14]=v,e[15]=S):S=e[15];let I;e[16]===Symbol.for("react.memo_cache_sentinel")?(I=(0,l.jsx)(nr,{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)(Ln,{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,vs.c)(22),{title:a,description:s,agents:n,showCopy:r,className:i}=t,o;e[0]===n?o=e[1]:(o=n===void 0?Fo():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 y;e[16]===g?y=e[17]:(y=(0,l.jsx)("div",{className:"space-y-3",children:g}),e[16]=g,e[17]=y);let v;return e[18]!==u||e[19]!==k||e[20]!==y?(v=(0,l.jsxs)("div",{className:u,children:[k,y]}),e[18]=u,e[19]=k,e[20]=y,e[21]=v):v=e[21],v});Ot.displayName="AgentDocs";var _s=ve(Me()),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=ys(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 y;e[18]!==h||e[19]!==g?(y=(0,l.jsxs)("div",{className:"flex items-center w-full",children:[h,g]}),e[18]=h,e[19]=g,e[20]=y):y=e[20];let v;return e[21]!==m||e[22]!==y?(v=(0,l.jsx)(bn,{onClick:m,className:"cursor-pointer",children:y}),e[21]=m,e[22]=y,e[23]=v):v=e[23],v});ws.displayName="AgentMenuItem";const Mt=(0,R.memo)(t=>{let e=(0,_s.c)(30),{onSessionCreated:a,className:s}=t,n=Jn(),[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 y;e[9]===h?y=e[10]:(y=(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]=y);let v;e[11]!==m||e[12]!==r?(v=bs.map(B=>(0,l.jsx)(ws,{agent:B,onSelect:m,existingSessions:r.sessions},B.id)),e[11]=m,e[12]=r,e[13]=v):v=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=Ut.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(Lo),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]!==v?(O=(0,l.jsxs)(jn,{align:"start",className:"w-fit",children:[v,S,A]}),e[23]=A,e[24]=v,e[25]=O):O=e[25];let q;return e[26]!==c||e[27]!==O||e[28]!==y?(q=(0,l.jsxs)(Nn,{open:c,onOpenChange:d,children:[y,O]}),e[26]=c,e[27]=O,e[28]=y,e[29]=q):q=e[29],q});Mt.displayName="AgentSelector";function Lo(t){return t.id}var qo=ve(Me()),ks=(0,R.memo)(t=>{let e=(0,qo.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)(Xn,{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 Wo=ks,Et=ve(Me()),js=(0,R.memo)(t=>{let e=(0,Et.c)(23),{session:a,isActive:s,onSelect:n,onClose:r}=t,i=s&&"bg-background border-b-0 relative z-10",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=v=>{v.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 y;return e[18]!==o||e[19]!==c||e[20]!==m||e[21]!==g?(y=(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]=y):y=e[22],y});js.displayName="SessionTab";var Ns=(0,R.memo)(t=>{let e=(0,Et.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,Et.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)(Mt,{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,Et.c)(18),{className:a}=t,[s,n]=ht(it),r=ja(pa),i;e[0]!==r||e[1]!==n?(i=v=>{r(v),n(S=>$o(S,v))},e[0]=r,e[1]=n,e[2]=i):i=e[2];let o=re(i),c;e[3]===n?c=e[4]:(c=v=>{n(S=>Zo(S,v))},e[3]=n,e[4]=c);let d=re(c),{sessions:u,activeTabId:m}=s;if(u.length===0){let v;return e[5]===a?v=e[6]:(v=(0,l.jsx)(Ss,{className:a}),e[5]=a,e[6]=v),v}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)(Mt,{className:"h-6 flex-shrink-0"}),e[14]=g):g=e[14];let y;return e[15]!==h||e[16]!==k?(y=(0,l.jsxs)("div",{className:h,children:[k,g]}),e[15]=h,e[16]=k,e[17]=y):y=e[17],y});ha.displayName="SessionTabs";var Vo=ve(Me());const Bo=t=>{let e=(0,Vo.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=Hi(a);u=u.filter((g,y)=>y===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(Ko(g)){let y=g[g.length-1];return(0,l.jsx)(ao,{data:y.data,onRetry:r,onDismiss:i?()=>i(y.id):void 0},y.id)}if(Cs(g)){let y=g[g.length-1];return(0,l.jsx)(so,{data:y.data,isConnected:s,onRetry:n,timestamp:y.timestamp},y.id)}if(Ho(g)){let y=g[0].timestamp,v=g[g.length-1].timestamp,S=g.map(Yo);return(0,l.jsx)(uo,{data:S,startTimestamp:y,endTimestamp:v})}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 Ko(t){return t[0].type==="error"}function Cs(t){return t[0].type==="connection_change"}function Ho(t){return t[0].type==="session_notification"}function Yo(t){return t.data.update}async function Jo(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 Go(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 Qo(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/markdown",text:r}});try{let i=await s.getAttachmentsForContext(n);if(i.length>0){let o=await Go(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 Xo(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
- ${We([`
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
- ${We([`
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
- ${We([`
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
- ${We([`
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
- ${We([`
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
- ${We([`
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
- ${We(["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
- ${We([`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 We(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=ve(Me()),le=Je.get("agents"),el=["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(Dt),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)(Ma,{title:"No Agent Sessions",description:"Create a new session to start a conversation",action:(0,l.jsx)(Mt,{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"," ",Ut.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)(er,{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 Ms=(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(al),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 y=g,v;e[5]!==o||e[6]!==n?(v=()=>{n.trim()&&o(void 0,n)},e[5]=o,e[6]=n,e[7]=v):v=e[7];let S=re(v),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]!==y||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:y,onClose:Sa.NOOP,onAddFiles:c,placeholder:O,className:q,maxHeight:"120px"}),e[11]=c,e[12]=o,e[13]=y,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)(Es,{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)(Mn,{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 ye;e[35]===c?ye=e[36]:(ye=Se=>{Se.target.files&&c([...Se.target.files])},e[35]=c,e[36]=ye);let Oe;e[37]===Symbol.for("react.memo_cache_sentinel")?(Oe=el.join(","),e[37]=Oe):Oe=e[37];let $;e[38]!==u||e[39]!==ye?($=(0,l.jsx)($n,{ref:u,type:"file",multiple:!0,hidden:!0,onChange:ye,accept:Oe}),e[38]=u,e[39]=ye,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)(En,{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)(Un,{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});Ms.displayName="PromptArea";var Es=(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 v=(a==null?void 0:a.availableModes)||[],S=a==null?void 0:a.currentModeId;if(v.length===0){h=null;break e}let I=v.map(sl),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)(vn,{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=yn,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(nl)}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 y;return e[22]!==i||e[23]!==d||e[24]!==u||e[25]!==m||e[26]!==g?(y=(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]=y):y=e[27],y});Es.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),y=n.status==="disconnected",v;e[0]===Symbol.for("react.memo_cache_sentinel")?(v=()=>{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]=v):v=e[0];let S=re(v),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]!==y||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)(Bo,{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)(Ma,{title:"Waiting for agent",description:"Your AI agent will appear here when active",icon:(0,l.jsx)(Wt,{})}),y&&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]}),y&&(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]=y,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)(Wo,{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(Dt);return t?Ut.dirname(t):""}var tl=()=>{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?Uo(o.agentId):ga,{sendUpdateFile:m,sendFileDetails:h}=nn(),k=(0,R.useRef)(!1),{connect:g,disconnect:y,connectionState:v,notifications:S,pendingPermission:I,availableCommands:T,resolvePermission:Z,sessionMode:P,activeSessionId:A,agent:O}=Bi({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=v.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=>Po(U,K));let L=Lt.get(Dt);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 Qo(K);if(J.push(...ke,...je),n&&n.length>0){let U=await Jo(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/markdown",text:Xo(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:v.status}),g()}),ue=re(()=>{le.debug("Manual disconnect requested",{sessionId:A,currentStatus:v.status}),y()}),ye=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:v,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:v,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)(Gn,{file:$,onRemove:()=>ce($)},$.name))}),(0,l.jsx)(Ms,{isLoading:t,activeSessionId:A,promptValue:a,onPromptValueChange:s,onPromptSubmit:ie,onAddFiles:he,onStop:ee,fileInputRef:i,commands:T,sessionMode:P,onModeChange:ye})]}):(0,l.jsx)(Rs,{currentAgentId:o==null?void 0:o.agentId,connectionState:v,onConnect:de,onDisconnect:ue})};function al(t){return{label:`/${t.name}`,info:t.description}}function sl(t){return{value:t.id,label:t.name,subtitle:t.description??""}}function nl(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{tl as default};