@marimo-team/frontend 0.25.1-dev90 → 0.25.2-dev0

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 (365) hide show
  1. package/dist/assets/{ConnectedDataExplorerComponent-Bdak5-o8.js → ConnectedDataExplorerComponent-DJ5jwKfp.js} +1 -1
  2. package/dist/assets/{ErrorBoundary-DrliQ_7g.js → ErrorBoundary-BeE1cdgM.js} +2 -2
  3. package/dist/assets/{ImageComparisonComponent-DLxkuRy3.js → ImageComparisonComponent-pCLPT6RA.js} +1 -1
  4. package/dist/assets/LazyAnyLanguageCodeMirror-B_IYTCX5.js +2 -0
  5. package/dist/assets/{RunButton-qknEPbRR.js → RunButton-C2kFUhyO.js} +10 -10
  6. package/dist/assets/{abnfDiagram-VCTEODGH-dm832Yw9.js → abnfDiagram-VCTEODGH-CSPJSGaM.js} +1 -1
  7. package/dist/assets/add-cell-with-ai-BFgdVPaN.js +76 -0
  8. package/dist/assets/{agent-panel-CJva58SL.js → agent-panel-Dh7yWh9P.js} +5 -5
  9. package/dist/assets/ai-model-dropdown-DJ2elMLM.js +5 -0
  10. package/dist/assets/{any-language-editor-B7QvjaYO.js → any-language-editor-Cj_HzlZY.js} +1 -1
  11. package/dist/assets/app-config-button-DBCTefOX.js +1 -0
  12. package/dist/assets/{architectureDiagram-5GKGNRK7-CiRaYU5G.js → architectureDiagram-5GKGNRK7-7iukRoC9.js} +1 -1
  13. package/dist/assets/{blockDiagram-I7D4REHJ-BK3JcsXA.js → blockDiagram-I7D4REHJ-cuhpQB60.js} +1 -1
  14. package/dist/assets/{c4Diagram-7LVT6UL2-BbMz-zwF.js → c4Diagram-7LVT6UL2-CMQEYn6T.js} +1 -1
  15. package/dist/assets/{cache-panel-DxdmvFwH.js → cache-panel-C0oB1kE2.js} +1 -1
  16. package/dist/assets/{cells-BcQ8Tm3j.js → cells-CzugpTQu.js} +33 -33
  17. package/dist/assets/channel-CGdeorQk.js +1 -0
  18. package/dist/assets/{chat-display-TI342pMF.js → chat-display-DevO4F8W.js} +1 -1
  19. package/dist/assets/chat-panel-BGw0bqDk.js +4 -0
  20. package/dist/assets/{chat-ui-B1aeiWdr.js → chat-ui-CZZFGlZi.js} +4 -4
  21. package/dist/assets/{chunk-4HAMMTFA-F3WVmmmo.js → chunk-4HAMMTFA-C6Tl7kEY.js} +1 -1
  22. package/dist/assets/{chunk-75Z2AOVW-DA_lihEi.js → chunk-75Z2AOVW-BzzYECN7.js} +1 -1
  23. package/dist/assets/{chunk-DU6HZSFF-J-califE.js → chunk-DU6HZSFF-BlpgvKzl.js} +2 -2
  24. package/dist/assets/{chunk-F27PBJKO-BzJrz4xx.js → chunk-F27PBJKO-BVIgLGPF.js} +1 -1
  25. package/dist/assets/{chunk-GMAD6QVW-mXoq4V-T.js → chunk-GMAD6QVW-hv6IsAru.js} +1 -1
  26. package/dist/assets/{chunk-GVQU2GXP-B-87l3Xt.js → chunk-GVQU2GXP-Duv4ZYb-.js} +1 -1
  27. package/dist/assets/{chunk-IMKFNOWR-yy9Ec7ZM.js → chunk-IMKFNOWR-BIILwBhp.js} +1 -1
  28. package/dist/assets/{chunk-L3NEJ4N5-DLeZO9l0.js → chunk-L3NEJ4N5-B2hafvRU.js} +1 -1
  29. package/dist/assets/{chunk-OSK3NFVY-PWoOtECb.js → chunk-OSK3NFVY-SNGRdtNA.js} +1 -1
  30. package/dist/assets/{chunk-P2QGCYS3-DsJshZeL.js → chunk-P2QGCYS3-_SeE0QXb.js} +1 -1
  31. package/dist/assets/{chunk-POPQ4Y6H-CCg5TpSp.js → chunk-POPQ4Y6H-BB5NNJFE.js} +1 -1
  32. package/dist/assets/{chunk-PWAF6VOD-CrFPAGFi.js → chunk-PWAF6VOD-BZoBqp8x.js} +1 -1
  33. package/dist/assets/{chunk-SHT3W25Y-lri4OQTX.js → chunk-SHT3W25Y-BtLGdeDB.js} +1 -1
  34. package/dist/assets/{chunk-SVP7TREG-B3ISFgJc.js → chunk-SVP7TREG-B0UfxhUP.js} +1 -1
  35. package/dist/assets/{chunk-TICWLB2K-CJ7ETjY3.js → chunk-TICWLB2K-BP7vel_P.js} +1 -1
  36. package/dist/assets/classDiagram-ZZMXUADV-CoNXKNMZ.js +1 -0
  37. package/dist/assets/classDiagram-v2-VYDZK3BY-CoNXKNMZ.js +1 -0
  38. package/dist/assets/code-visibility-BFNYI7hr.js +1 -0
  39. package/dist/assets/command-palette-DN4JoOLD.js +1 -0
  40. package/dist/assets/{common-cDzShymV.js → common-DUCPhoyP.js} +1 -1
  41. package/dist/assets/{components-B3KlHXnD.js → components-CK7CeYlo.js} +1 -1
  42. package/dist/assets/components-DAmFBASm.js +1 -0
  43. package/dist/assets/config-B4VJJibu.js +1 -0
  44. package/dist/assets/{utils-B3E7otfg.js → config-BxZgoFvi.js} +1 -1
  45. package/dist/assets/config-DpGPGznL.js +1 -0
  46. package/dist/assets/{cynefinDiagram-5FMLGOSQ-1zl1wSTB.js → cynefinDiagram-5FMLGOSQ-BARZRQBb.js} +1 -1
  47. package/dist/assets/{dagre-DM-Ch8wC.js → dagre-DVyyr7Cb.js} +1 -1
  48. package/dist/assets/{dagre-GXQ25YYZ-BqoUeivc.js → dagre-GXQ25YYZ-79s0lOP0.js} +1 -1
  49. package/dist/assets/data-grid-overlay-editor-DPfnIudL.js +1 -0
  50. package/dist/assets/{dependency-graph-panel-C-SFFOPF.js → dependency-graph-panel-BN4CLayU.js} +3 -3
  51. package/dist/assets/{diagram-S7CK7UJ4-CF90sb1m.js → diagram-S7CK7UJ4-BCviGhvd.js} +1 -1
  52. package/dist/assets/{diagram-UQ7AKVKN-DgbZAUCH.js → diagram-UQ7AKVKN-Ds-BT46T.js} +1 -1
  53. package/dist/assets/{diagram-VSXAHHWV-DOQllF_r.js → diagram-VSXAHHWV-CK4GkM-q.js} +1 -1
  54. package/dist/assets/{diagram-VX7I27RA-6dC0a_-i.js → diagram-VX7I27RA-BtL2eh0t.js} +1 -1
  55. package/dist/assets/{diagram-Z3DM3KII-C1OXYmlB.js → diagram-Z3DM3KII-C6SmbLBS.js} +1 -1
  56. package/dist/assets/{dist-0HQ0BMF5.js → dist-CQvJDryh.js} +1 -1
  57. package/dist/assets/{documentation-panel-idK3s0j3.js → documentation-panel-CzRbXV5u.js} +1 -1
  58. package/dist/assets/{ebnfDiagram-PWID7BFC-7gC3cuC7.js → ebnfDiagram-PWID7BFC-D_JU4cMQ.js} +1 -1
  59. package/dist/assets/edit-page-jGNYBqQo.js +174 -0
  60. package/dist/assets/{erDiagram-RLTQ6QDP-BsE87b_i.js → erDiagram-RLTQ6QDP-Z9MJ6X-r.js} +1 -1
  61. package/dist/assets/{error-entries-C-LFkdXb.js → error-entries-CDSsy76p.js} +1 -1
  62. package/dist/assets/{error-panel-YAFgCest.js → error-panel-ABvjFG3p.js} +1 -1
  63. package/dist/assets/{feedback-button-sRQQL2TH.js → feedback-button-CZhLiwkO.js} +2 -2
  64. package/dist/assets/file-explorer-panel-DTiEpmVE.js +1 -0
  65. package/dist/assets/file-name-input-C1C8xrjA.js +3 -0
  66. package/dist/assets/filename-fxG7K_MU.js +1 -0
  67. package/dist/assets/flowDiagram-HODETNUW-ncLciK2K.js +1 -0
  68. package/dist/assets/{gallery-page-CH8TM7bV.js → gallery-page-Moi4ZdJ0.js} +1 -1
  69. package/dist/assets/{ganttDiagram-EL5Y4UJY-d9Qqbnau.js → ganttDiagram-EL5Y4UJY-Cgy11k0G.js} +1 -1
  70. package/dist/assets/{gitGraphDiagram-WWUBYQGX-DBunV_fz.js → gitGraphDiagram-WWUBYQGX-CVH8fay_.js} +1 -1
  71. package/dist/assets/glide-data-editor-CbsCWu-K.js +131 -0
  72. package/dist/assets/{graphlib-DDJ8O6ZH.js → graphlib-3maKwbRO.js} +1 -1
  73. package/dist/assets/has-cJsIKK9t.js +1 -0
  74. package/dist/assets/home-page-UAgVOkCZ.js +4 -0
  75. package/dist/assets/index--sT8xf-8.css +2 -0
  76. package/dist/assets/index-DafnX1Xx.js +62 -0
  77. package/dist/assets/{infoDiagram-27XIBGKW-FE7De1I6.js → infoDiagram-27XIBGKW-Dk8U81nJ.js} +1 -1
  78. package/dist/assets/{ishikawaDiagram-5VMMS53U-CSEGYrJ-.js → ishikawaDiagram-5VMMS53U-CzHQlMUQ.js} +1 -1
  79. package/dist/assets/{journeyDiagram-3NMN7TZE-Cp4mxQrE.js → journeyDiagram-3NMN7TZE-DRc8ACzh.js} +1 -1
  80. package/dist/assets/{kanban-definition-UXKFOSKX-d7iAZsOb.js → kanban-definition-UXKFOSKX-CVyVYiI6.js} +1 -1
  81. package/dist/assets/katex-DkE0ukCy.js +257 -0
  82. package/dist/assets/{logs-panel-xMj01DRN.js → logs-panel-Bz5ysVX4.js} +1 -1
  83. package/dist/assets/{mermaid-CNjXdDrA.js → mermaid-D_jPUVqz.js} +4 -4
  84. package/dist/assets/mhchem-CmzEtQj8.js +1 -0
  85. package/dist/assets/{mindmap-definition-YA3MSWOX-CddM9_uP.js → mindmap-definition-YA3MSWOX-D5t6Aq5Z.js} +1 -1
  86. package/dist/assets/{number-overlay-editor-N57if5NT.js → number-overlay-editor-FAD8sjFU.js} +1 -1
  87. package/dist/assets/{outline-panel-Garp-f5k.js → outline-panel-85oiQ0XX.js} +1 -1
  88. package/dist/assets/packages-panel-ClKIaP5S.js +1 -0
  89. package/dist/assets/{panels-CnbmgzkS.js → panels-B48zp96D.js} +9 -9
  90. package/dist/assets/{pegDiagram-XKGWAZYB-CEns8d-M.js → pegDiagram-XKGWAZYB-BTkTm4ej.js} +1 -1
  91. package/dist/assets/{pieDiagram-E7YTZNPT-wyb0xQ0R.js → pieDiagram-E7YTZNPT-Bq6X88M1.js} +1 -1
  92. package/dist/assets/{process-output-ObDfw1uu.js → process-output-Cg2ta3vY.js} +1 -1
  93. package/dist/assets/{quadrantDiagram-AXDQQJYC-BE-xlTLH.js → quadrantDiagram-AXDQQJYC-D_wrOwLk.js} +1 -1
  94. package/dist/assets/{railroadDiagram-O6MQD6OU-DZZVHmr2.js → railroadDiagram-O6MQD6OU-fv8HXW_g.js} +1 -1
  95. package/dist/assets/{requirementDiagram-BXWQKSXE-C3Bf4dd5.js → requirementDiagram-BXWQKSXE-DDOOMUfC.js} +1 -1
  96. package/dist/assets/{reveal-component-DgrXq3Kv.js → reveal-component-CR43gpTZ.js} +3 -3
  97. package/dist/assets/run-page-NR_KFWk8.js +1 -0
  98. package/dist/assets/{sankeyDiagram-P5KCCOFB-BWLQCyjK.js → sankeyDiagram-P5KCCOFB-CvvUY6tS.js} +1 -1
  99. package/dist/assets/scratchpad-panel-DHc-oVb1.js +1 -0
  100. package/dist/assets/{secrets-panel-4dRIaZfY.js → secrets-panel-C-65ZjnM.js} +1 -1
  101. package/dist/assets/{sequenceDiagram-WJ2MYXX4-BIY0mgX7.js → sequenceDiagram-WJ2MYXX4-DdpBhQaS.js} +1 -1
  102. package/dist/assets/session-DXKMv4Bs.js +1 -0
  103. package/dist/assets/session-panel-DiwQqIbt.js +1 -0
  104. package/dist/assets/{SelectionIndicator-DLJBcP4e.js → shell-BSnvn9t7.js} +1 -1
  105. package/dist/assets/snippets-panel-BLmXrneD.js +1 -0
  106. package/dist/assets/{stateDiagram-D77RDMKH-D_xRHRLf.js → stateDiagram-D77RDMKH-D3p19fac.js} +1 -1
  107. package/dist/assets/stateDiagram-v2-MP3YSRHH-CplsDaDl.js +1 -0
  108. package/dist/assets/{swimlanes-42K2YHIH-CDQzpfz0.js → swimlanes-42K2YHIH-CLxCSvU4.js} +1 -1
  109. package/dist/assets/swimlanesDiagram-VR7AAH4N-DPoIFx8T.js +8 -0
  110. package/dist/assets/{swiper-component-j-Lk25wW.js → swiper-component-rqJChT_P.js} +1 -1
  111. package/dist/assets/{terminal-BToH-U1t.js → terminal-CY4h1UmO.js} +1 -1
  112. package/dist/assets/{timeline-definition-24CTP7MA-D5Jgj1fz.js → timeline-definition-24CTP7MA-Cw2PY--x.js} +1 -1
  113. package/dist/assets/tooltip-PLkI_UfK.js +61 -0
  114. package/dist/assets/{tracing-DtKLmNHj.js → tracing-Q8NAdlrA.js} +1 -1
  115. package/dist/assets/tracing-panel-Ci4kY4dr.js +2 -0
  116. package/dist/assets/useCellActionButton-DpYtVfFe.js +1 -0
  117. package/dist/assets/useTheme-DcnXlv0_.js +1 -0
  118. package/dist/assets/{constants-BDbGiS7O.js → utils-B4K466FK.js} +1 -1
  119. package/dist/assets/{vega-component-DVSvu4vP.js → vega-component-BpoSew4K.js} +1 -1
  120. package/dist/assets/{vega-embed-container-QM1zZmYi.js → vega-embed-container-BOJG8mCA.js} +1 -1
  121. package/dist/assets/{vennDiagram-4TSXK5OY-Cv6jxbpX.js → vennDiagram-4TSXK5OY-D8bN6lVl.js} +1 -1
  122. package/dist/assets/{wardleyDiagram-VM6X3IG4-lwv-YoWo.js → wardleyDiagram-VM6X3IG4-CbZdo0SA.js} +1 -1
  123. package/dist/assets/{write-secret-modal-CBUZw27N.js → write-secret-modal-BiG2tahJ.js} +1 -1
  124. package/dist/assets/{xychartDiagram-S5SC5T6Z-CGM4LlFN.js → xychartDiagram-S5SC5T6Z-DUUQ9tau.js} +1 -1
  125. package/dist/assets/youtube-A9VT7NHb.js +1 -0
  126. package/dist/index.html +14 -13
  127. package/package.json +1 -2
  128. package/src/__mocks__/common.ts +3 -3
  129. package/src/__tests__/CellStatus.test.tsx +1 -1
  130. package/src/__tests__/setup.ts +7 -7
  131. package/src/components/app-config/ai-config.tsx +2 -0
  132. package/src/components/app-config/optional-features.tsx +1 -1
  133. package/src/components/chat/chat-panel.tsx +19 -8
  134. package/src/components/data-table/TableTopBar.tsx +2 -2
  135. package/src/components/data-table/__tests__/export-actions.test.tsx +662 -0
  136. package/src/components/data-table/charts/__tests__/chart-panel.test.tsx +286 -0
  137. package/src/components/data-table/charts/charts.tsx +26 -13
  138. package/src/components/data-table/column-summary/chart-spec-model.tsx +4 -4
  139. package/src/components/data-table/data-table.tsx +1 -1
  140. package/src/components/data-table/export-actions.tsx +642 -176
  141. package/src/components/data-table/schemas.ts +25 -3
  142. package/src/components/dependency-graph/elements.ts +2 -2
  143. package/src/components/editor/__tests__/package-alert.test.tsx +140 -0
  144. package/src/components/editor/actions/__tests__/pair-with-agent.test.tsx +107 -0
  145. package/src/components/editor/actions/pair-with-agent.tsx +119 -0
  146. package/src/components/editor/actions/useNotebookActions.tsx +2 -1
  147. package/src/components/editor/ai/add-cell-with-ai.tsx +2 -0
  148. package/src/components/editor/ai/staged-cell-submission.ts +2 -2
  149. package/src/components/editor/ai/transport/chat-transport.tsx +1 -1
  150. package/src/components/editor/chrome/components/contribute-snippet-button.tsx +6 -1
  151. package/src/components/editor/connections/database/as-code.ts +44 -44
  152. package/src/components/editor/connections/storage/as-code.ts +3 -3
  153. package/src/components/editor/file-tree/requesting-tree.tsx +16 -13
  154. package/src/components/editor/navigation/clipboard.ts +2 -2
  155. package/src/components/editor/notebook-cell.tsx +2 -2
  156. package/src/components/editor/output/MarimoTracebackOutput.tsx +1 -1
  157. package/src/components/editor/output/VideoOutput.tsx +1 -1
  158. package/src/components/editor/output/ansi-reduce.ts +21 -17
  159. package/src/components/editor/output/console/ConsoleOutput.tsx +3 -3
  160. package/src/components/editor/output/console/__tests__/ConsoleOutput.test.tsx +59 -0
  161. package/src/components/editor/output/console/text-rendering.tsx +3 -1
  162. package/src/components/editor/package-alert.tsx +20 -7
  163. package/src/components/home/components.tsx +1 -0
  164. package/src/components/markdown/markdown-renderer.css +1 -1
  165. package/src/components/pages/run-page.tsx +1 -0
  166. package/src/components/slides/__tests__/minimap-actions.test.tsx +7 -7
  167. package/src/components/slides/__tests__/minimap.test.ts +12 -12
  168. package/src/components/slides/__tests__/slide-scroll-hint.test.tsx +8 -8
  169. package/src/components/static-html/__tests__/share-modal.test.tsx +154 -0
  170. package/src/components/static-html/__tests__/stage-for-publish.test.ts +111 -0
  171. package/src/components/static-html/share-modal.tsx +114 -144
  172. package/src/components/static-html/stage-for-publish.ts +56 -0
  173. package/src/components/static-html/static-banner.tsx +2 -2
  174. package/src/components/ui/links.tsx +6 -1
  175. package/src/components/ui/typography.tsx +16 -8
  176. package/src/core/ai/context/__tests__/registry.test.ts +31 -28
  177. package/src/core/ai/context/providers/cell-output.ts +8 -8
  178. package/src/core/ai/context/providers/datasource.ts +10 -7
  179. package/src/core/ai/context/providers/error.ts +7 -7
  180. package/src/core/ai/context/providers/file.ts +8 -8
  181. package/src/core/ai/context/providers/tables.ts +7 -7
  182. package/src/core/ai/context/providers/variable.ts +7 -7
  183. package/src/core/ai/context/registry.ts +18 -18
  184. package/src/core/ai/ids/ids.ts +5 -5
  185. package/src/core/ai/model-registry.ts +12 -9
  186. package/src/core/ai/staged-cells.ts +6 -6
  187. package/src/core/ai/tools/base.ts +6 -6
  188. package/src/core/ai/tools/edit-notebook-tool.ts +6 -6
  189. package/src/core/ai/tools/registry.ts +4 -4
  190. package/src/core/ai/tools/run-cells-tool.ts +7 -7
  191. package/src/core/ai/tools/sample-tool.ts +6 -6
  192. package/src/core/cells/__tests__/cells.test.ts +27 -0
  193. package/src/core/cells/cells.ts +2 -1
  194. package/src/core/codemirror/cells/debugger-decorations.ts +13 -7
  195. package/src/core/codemirror/cells/line-timing-decorations.ts +9 -9
  196. package/src/core/codemirror/cells/traceback-decorations.ts +7 -4
  197. package/src/core/codemirror/code-lens/extension.ts +13 -13
  198. package/src/core/codemirror/copilot/__tests__/language-server.test.ts +6 -6
  199. package/src/core/codemirror/copilot/__tests__/transport.test.ts +12 -12
  200. package/src/core/codemirror/copilot/language-server.ts +13 -13
  201. package/src/core/codemirror/copilot/transport.ts +1 -1
  202. package/src/core/codemirror/find-replace/search-highlight.ts +5 -5
  203. package/src/core/codemirror/go-to-definition/underline.ts +3 -3
  204. package/src/core/codemirror/keymaps/vim.ts +3 -3
  205. package/src/core/codemirror/language/languages/markdown.ts +8 -8
  206. package/src/core/codemirror/language/languages/python.ts +7 -7
  207. package/src/core/codemirror/language/languages/sql/completion-builder.ts +5 -5
  208. package/src/core/codemirror/language/languages/sql/completion-store.ts +4 -4
  209. package/src/core/codemirror/language/languages/sql/sql.ts +21 -21
  210. package/src/core/codemirror/lsp/__tests__/transports.test.ts +10 -10
  211. package/src/core/codemirror/lsp/federated-lsp.ts +29 -27
  212. package/src/core/codemirror/lsp/notebook-lsp.ts +21 -21
  213. package/src/core/codemirror/misc/__tests__/dnd.test.ts +10 -10
  214. package/src/core/codemirror/misc/__tests__/paste.test.ts +7 -4
  215. package/src/core/codemirror/reactive-references/extension.ts +3 -3
  216. package/src/core/codemirror/rtc/loro/awareness.ts +12 -12
  217. package/src/core/codemirror/rtc/loro/sync.ts +5 -5
  218. package/src/core/codemirror/vim/cursor-visibility.ts +3 -3
  219. package/src/core/dom/ui-element.ts +5 -5
  220. package/src/core/dom/uiregistry.ts +10 -10
  221. package/src/core/hotkeys/hotkeys.ts +9 -9
  222. package/src/core/islands/__tests__/bridge.test.ts +4 -4
  223. package/src/core/islands/__tests__/test-utils.tsx +4 -4
  224. package/src/core/islands/bridge.ts +85 -82
  225. package/src/core/islands/components/web-components.tsx +7 -7
  226. package/src/core/islands/worker/__tests__/controller.test.ts +1 -1
  227. package/src/core/islands/worker/controller.ts +6 -3
  228. package/src/core/islands/worker-factory.ts +2 -2
  229. package/src/core/kernel/RuntimeState.ts +4 -4
  230. package/src/core/kernel/__tests__/session.test.ts +110 -1
  231. package/src/core/kernel/session.ts +46 -15
  232. package/src/core/lsp/__tests__/transport.test.ts +19 -19
  233. package/src/core/lsp/transport.ts +5 -5
  234. package/src/core/network/CachingRequestRegistry.ts +2 -2
  235. package/src/core/network/DeferredRequestRegistry.ts +4 -4
  236. package/src/core/network/__tests__/export-asset-url.test.ts +45 -0
  237. package/src/core/network/export-asset-url.ts +19 -0
  238. package/src/core/network/requests-network.ts +2 -7
  239. package/src/core/runtime/runtime.ts +25 -20
  240. package/src/core/static/virtual-file-tracker.ts +5 -5
  241. package/src/core/wasm/__tests__/bridge.test.ts +2 -2
  242. package/src/core/wasm/bridge.ts +132 -133
  243. package/src/core/wasm/router.ts +5 -5
  244. package/src/core/wasm/store.ts +4 -4
  245. package/src/core/wasm/worker/bootstrap.ts +8 -5
  246. package/src/core/wasm/worker/message-buffer.ts +3 -3
  247. package/src/core/websocket/transports/__tests__/ws.test.ts +8 -8
  248. package/src/core/websocket/transports/basic.ts +15 -8
  249. package/src/core/websocket/transports/sse.ts +7 -7
  250. package/src/core/websocket/transports/transport.ts +3 -3
  251. package/src/core/websocket/transports/ws.ts +9 -7
  252. package/src/css/globals.css +18 -21
  253. package/src/css/katex.min.css +260 -241
  254. package/src/hooks/__tests__/useOverflowDetection.test.tsx +5 -5
  255. package/src/hooks/__tests__/useResizeObserver.test.tsx +12 -12
  256. package/src/plugins/core/registerReactComponent.tsx +5 -5
  257. package/src/plugins/core/sidebar-element.tsx +2 -2
  258. package/src/plugins/impl/ButtonPlugin.tsx +3 -3
  259. package/src/plugins/impl/CheckboxPlugin.tsx +3 -3
  260. package/src/plugins/impl/CodeEditorPlugin.tsx +3 -3
  261. package/src/plugins/impl/DatePickerPlugin.tsx +3 -3
  262. package/src/plugins/impl/DateRangePlugin.tsx +3 -3
  263. package/src/plugins/impl/DateTimePickerPlugin.tsx +3 -3
  264. package/src/plugins/impl/DictPlugin.tsx +3 -3
  265. package/src/plugins/impl/DropdownPlugin.tsx +3 -3
  266. package/src/plugins/impl/FileUploadPlugin.tsx +3 -3
  267. package/src/plugins/impl/MatrixPlugin.tsx +4 -4
  268. package/src/plugins/impl/MicrophonePlugin.tsx +3 -3
  269. package/src/plugins/impl/MultiselectPlugin.tsx +3 -3
  270. package/src/plugins/impl/NumberPlugin.tsx +3 -3
  271. package/src/plugins/impl/RadioPlugin.tsx +9 -5
  272. package/src/plugins/impl/RangeSliderPlugin.tsx +3 -3
  273. package/src/plugins/impl/RefreshPlugin.tsx +3 -3
  274. package/src/plugins/impl/SliderPlugin.tsx +3 -3
  275. package/src/plugins/impl/SwitchPlugin.tsx +3 -3
  276. package/src/plugins/impl/TabsPlugin.tsx +3 -3
  277. package/src/plugins/impl/TextAreaPlugin.tsx +3 -3
  278. package/src/plugins/impl/TextInputPlugin.tsx +3 -3
  279. package/src/plugins/impl/__tests__/MatrixPlugin.test.tsx +2 -2
  280. package/src/plugins/impl/anywidget/model.ts +10 -10
  281. package/src/plugins/impl/anywidget/registry.ts +12 -9
  282. package/src/plugins/impl/anywidget/runtime.ts +11 -9
  283. package/src/plugins/impl/anywidget/widget-binding.ts +6 -6
  284. package/src/plugins/impl/image-comparison/ImageComparisonComponent.tsx +7 -6
  285. package/src/plugins/impl/matplotlib/MatplotlibPlugin.tsx +3 -3
  286. package/src/plugins/impl/matplotlib/__tests__/matplotlib-renderer.test.ts +2 -2
  287. package/src/plugins/impl/matplotlib/matplotlib-renderer.ts +2 -2
  288. package/src/plugins/impl/mpl-interactive/mpl-websocket-shim.ts +10 -10
  289. package/src/plugins/impl/panel/utils.ts +5 -5
  290. package/src/plugins/impl/plotly/PlotlyPlugin.tsx +3 -3
  291. package/src/plugins/impl/vega/VegaPlugin.tsx +3 -3
  292. package/src/plugins/impl/vega/__tests__/use-vega-container-remeasure.test.ts +7 -7
  293. package/src/plugins/impl/vega/__tests__/utils.test.ts +16 -1
  294. package/src/plugins/impl/vega/__tests__/vega.test.ts +37 -0
  295. package/src/plugins/impl/vega/loader.ts +23 -1
  296. package/src/plugins/impl/vega/utils.ts +5 -4
  297. package/src/plugins/layout/AccordionPlugin.tsx +3 -3
  298. package/src/plugins/layout/CalloutPlugin.tsx +3 -3
  299. package/src/plugins/layout/ImageComparisonPlugin.tsx +5 -3
  300. package/src/plugins/layout/JsonOutputPlugin.tsx +3 -3
  301. package/src/plugins/layout/MimeRenderPlugin.tsx +3 -3
  302. package/src/plugins/layout/NavigationMenuPlugin.tsx +3 -3
  303. package/src/plugins/layout/OutlinePlugin.tsx +3 -3
  304. package/src/plugins/layout/ProgressPlugin.tsx +3 -3
  305. package/src/plugins/layout/RoutesPlugin.tsx +6 -8
  306. package/src/plugins/layout/StatPlugin.tsx +3 -3
  307. package/src/plugins/layout/TexPlugin.tsx +3 -3
  308. package/src/plugins/layout/carousel/CarouselPlugin.tsx +4 -4
  309. package/src/plugins/layout/mermaid/MermaidPlugin.tsx +3 -3
  310. package/src/utils/Deferred.ts +6 -6
  311. package/src/utils/async-capture-tracker.ts +10 -7
  312. package/src/utils/errors.ts +5 -5
  313. package/src/utils/id-tree.tsx +83 -80
  314. package/src/utils/lru.ts +1 -1
  315. package/src/utils/multi-map.ts +14 -12
  316. package/src/utils/paths.ts +6 -6
  317. package/src/utils/pluralize.ts +3 -3
  318. package/src/utils/progress.ts +6 -6
  319. package/src/utils/python-poet/poet.ts +14 -14
  320. package/src/utils/routes.ts +4 -2
  321. package/src/utils/semaphore.ts +6 -6
  322. package/src/utils/storage/storage.ts +6 -6
  323. package/src/utils/storage/typed.ts +16 -12
  324. package/src/utils/time.ts +9 -9
  325. package/src/utils/timed-cache.ts +4 -4
  326. package/src/utils/tracer.ts +9 -6
  327. package/dist/assets/LazyAnyLanguageCodeMirror-EBegnOE0.js +0 -2
  328. package/dist/assets/add-cell-with-ai-Ovbsj95O.js +0 -76
  329. package/dist/assets/ai-model-dropdown-1t7m1iFc.js +0 -3
  330. package/dist/assets/app-config-button-vCxNGhe2.js +0 -1
  331. package/dist/assets/channel-ni7ei-yz.js +0 -1
  332. package/dist/assets/chat-panel-CzdR8RG_.js +0 -4
  333. package/dist/assets/classDiagram-ZZMXUADV-CIEFh40S.js +0 -1
  334. package/dist/assets/classDiagram-v2-VYDZK3BY-CIEFh40S.js +0 -1
  335. package/dist/assets/code-visibility-G0W4ym3Y.js +0 -1
  336. package/dist/assets/command-palette-DhdK67bL.js +0 -1
  337. package/dist/assets/components-CQVZgYvR.js +0 -1
  338. package/dist/assets/config-CMqNngzA.js +0 -1
  339. package/dist/assets/config-CmBpjGXk.js +0 -1
  340. package/dist/assets/data-grid-overlay-editor-DbqMOWZn.js +0 -1
  341. package/dist/assets/edit-page-_D_Nv3dJ.js +0 -176
  342. package/dist/assets/file-explorer-panel-LAa-LxTN.js +0 -1
  343. package/dist/assets/file-name-input-BXq6eIDs.js +0 -3
  344. package/dist/assets/flowDiagram-HODETNUW-B4xRBXB1.js +0 -1
  345. package/dist/assets/glide-data-editor-DPMjaN4R.js +0 -131
  346. package/dist/assets/has-CanCEarv.js +0 -1
  347. package/dist/assets/home-page-vDWLpS4F.js +0 -4
  348. package/dist/assets/index-2TQenOiQ.css +0 -2
  349. package/dist/assets/index-CgQsZfww.js +0 -62
  350. package/dist/assets/katex-mNPPSsir.js +0 -257
  351. package/dist/assets/katex-ukvJUC1e.js +0 -257
  352. package/dist/assets/mhchem-DcHTrqjv.js +0 -1
  353. package/dist/assets/packages-panel-B8HU9FAM.js +0 -1
  354. package/dist/assets/run-page-E0qMru0p.js +0 -1
  355. package/dist/assets/scratchpad-panel-CCFyaegO.js +0 -1
  356. package/dist/assets/session-C8nQMsOE.js +0 -1
  357. package/dist/assets/session-panel-CR3BHLhQ.js +0 -1
  358. package/dist/assets/snippets-panel-Dn22yTr_.js +0 -1
  359. package/dist/assets/stateDiagram-v2-MP3YSRHH-BQvYFx_a.js +0 -1
  360. package/dist/assets/swimlanesDiagram-VR7AAH4N-BAn2JKhB.js +0 -8
  361. package/dist/assets/tooltip-B1vGi-z4.js +0 -61
  362. package/dist/assets/tracing-panel-C5ybTQyJ.js +0 -2
  363. package/dist/assets/useCellActionButton-Bm9OZdcq.js +0 -1
  364. package/dist/assets/useTheme-Ho3YdAx3.js +0 -1
  365. package/dist/assets/youtube-ELpGJEdR.js +0 -1
@@ -1 +1 @@
1
- import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{t}from"./src-Cyu5G-Tr.js";import"./chunk-DU6HZSFF-J-califE.js";import"./mermaid-CNjXdDrA.js";import{m as n,t as r}from"./mermaid-parser.core-3RKOfUXB.js";import{n as i,r as a,t as o}from"./chunk-SVP7TREG-B3ISFgJc.js";import{t as s}from"./chunk-JWPE2WC7-DVXcaiue.js";var c=n().RailroadAbnf.parser.LangiumParser,l=e(e=>{let t=e.alternatives.map(u);return t.length===1?t[0]:{type:`choice`,alternatives:t}},`transformAlternation`),u=e(e=>{let t=e.elements.map(f);return t.length===1?t[0]:{type:`sequence`,elements:t}},`transformConcatenation`),d=e(e=>{if(e.includes(`*`)){let[t,n]=e.split(`*`);return{min:t?parseInt(t,10):0,max:n?parseInt(n,10):1/0}}let t=parseInt(e,10);return{min:t,max:t}},`parseRepeat`),f=e(e=>{let t=p(e.primary);if(!e.repeat)return t;let{min:n,max:r}=d(e.repeat);return n===0&&r===1?{type:`optional`,element:t}:{type:`repetition`,element:t,min:n,max:r}},`transformElement`),p=e(e=>{switch(e.$type){case`AbnfStringLiteral`:return{type:`terminal`,value:e.value};case`AbnfNumVal`:return{type:`terminal`,value:e.value};case`AbnfRuleName`:return{type:`nonterminal`,name:e.name};case`AbnfGroup`:return l(e.element);case`AbnfOptionalGroup`:return{type:`optional`,element:l(e.element)};default:throw Error(`Unsupported ABNF primary node: ${e.$type}`)}},`transformPrimary`),m=e(e=>({name:e.name,definition:l(e.definition)}),`transformRule`),h=e(e=>{s(e,o),e.title&&o.setTitle(e.title),e.rules.map(e=>o.addRule(m(e)))},`populateDb`),g={parser:{parse:e(e=>{o.clear(),t.debug(`[ABNF Parser] Starting Langium parse`);let n=c.parse(e);if(n.lexerErrors.length>0||n.parserErrors.length>0)throw new r(n);let i=n.value;t.debug(`[ABNF Parser] Parsed rules:`,i.rules.length),h(i),t.debug(`[ABNF Parser] Parse complete`)},`parse`),parser:{yy:o}},db:o,renderer:a,styles:i};export{g as diagram};
1
+ import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{t}from"./src-Cyu5G-Tr.js";import"./chunk-DU6HZSFF-BlpgvKzl.js";import"./mermaid-D_jPUVqz.js";import{m as n,t as r}from"./mermaid-parser.core-3RKOfUXB.js";import{n as i,r as a,t as o}from"./chunk-SVP7TREG-B0UfxhUP.js";import{t as s}from"./chunk-JWPE2WC7-DVXcaiue.js";var c=n().RailroadAbnf.parser.LangiumParser,l=e(e=>{let t=e.alternatives.map(u);return t.length===1?t[0]:{type:`choice`,alternatives:t}},`transformAlternation`),u=e(e=>{let t=e.elements.map(f);return t.length===1?t[0]:{type:`sequence`,elements:t}},`transformConcatenation`),d=e(e=>{if(e.includes(`*`)){let[t,n]=e.split(`*`);return{min:t?parseInt(t,10):0,max:n?parseInt(n,10):1/0}}let t=parseInt(e,10);return{min:t,max:t}},`parseRepeat`),f=e(e=>{let t=p(e.primary);if(!e.repeat)return t;let{min:n,max:r}=d(e.repeat);return n===0&&r===1?{type:`optional`,element:t}:{type:`repetition`,element:t,min:n,max:r}},`transformElement`),p=e(e=>{switch(e.$type){case`AbnfStringLiteral`:return{type:`terminal`,value:e.value};case`AbnfNumVal`:return{type:`terminal`,value:e.value};case`AbnfRuleName`:return{type:`nonterminal`,name:e.name};case`AbnfGroup`:return l(e.element);case`AbnfOptionalGroup`:return{type:`optional`,element:l(e.element)};default:throw Error(`Unsupported ABNF primary node: ${e.$type}`)}},`transformPrimary`),m=e(e=>({name:e.name,definition:l(e.definition)}),`transformRule`),h=e(e=>{s(e,o),e.title&&o.setTitle(e.title),e.rules.map(e=>o.addRule(m(e)))},`populateDb`),g={parser:{parse:e(e=>{o.clear(),t.debug(`[ABNF Parser] Starting Langium parse`);let n=c.parse(e);if(n.lexerErrors.length>0||n.parserErrors.length>0)throw new r(n);let i=n.value;t.debug(`[ABNF Parser] Parsed rules:`,i.rules.length),h(i),t.debug(`[ABNF Parser] Parse complete`)},`parse`),parser:{yy:o}},db:o,renderer:a,styles:i};export{g as diagram};
@@ -0,0 +1,76 @@
1
+ import{a as e,t}from"./rolldown-runtime-B0Z9INg1.js";import{a as n,c as r,d as i,f as a,l as o,r as s,t as c}from"./useEvent-Dc9HkKI2.js";import{t as l}from"./react-CUdNIagt.js";import{Bt as u,D as d,Fa as f,Fi as p,In as m,Pi as h,Qr as g,Ti as _,Va as v,Z as y,Zn as b,_a as x,b as S,bo as C,da as ee,f as te,ft as ne,ir as w,ja as T,ji as E,qa as re,ti as ie,yo as ae}from"./cells-CzugpTQu.js";import{A as oe,B as se,C as ce,D as le,E as ue,I as de,L as fe,N as pe,P as D,R as me,S as he,T as ge,W as _e,_ as ve,j as O,k as ye,v as be,w as xe,x as Se,y as Ce}from"./schemas-BL-NsLlF.js";import{t as we}from"./compiler-runtime-BQ9S8nyo.js";import{t as Te}from"./config-BxZgoFvi.js";import{P as Ee,m as De,t as Oe}from"./ai-model-dropdown-DJ2elMLM.js";import{f as ke,g as k}from"./useEventListener-BdZUApHd.js";import{a as Ae}from"./session-DXKMv4Bs.js";import{A as je,O as Me,o as Ne}from"./config-DpGPGznL.js";import{t as Pe}from"./cn-ldLVeaqm.js";import{t as Fe}from"./jsx-runtime-B74pBk57.js";import{a as Ie,c as Le,p as Re,r as ze,t as Be}from"./dropdown-menu-VuyoeQOD.js";import{t as Ve}from"./tooltip-DR2Z2N4w.js";import{t as He}from"./button-BoklZTGL.js";import{t as Ue}from"./createLucideIcon-rHn2EdoM.js";import{i as We,r as Ge}from"./paths-CzfpItSz.js";import{r as Ke}from"./useNumberFormatter-C4-_TnkF.js";import{a as qe,n as Je,t as Ye}from"./process-output-Cg2ta3vY.js";import{r as Xe}from"./input-BDakodZ2.js";import{t as Ze}from"./use-toast-CC89xOwH.js";import{Gt as Qe,Qt as $e,Tt as et,Wt as tt,Zt as nt,at as rt,dt as it,en as at,qt as ot,st,ut as ct,wt as lt}from"./dist-BczecT6V.js";import{t as ut}from"./createReducer-BPvK7C_R.js";import{h as dt,n as ft,o as pt,r as mt}from"./dist-Ccyblc8N.js";import{t as ht}from"./requests-yTHMxhVa.js";import{n as gt}from"./dist-DBqBVprh.js";import{t as _t}from"./uuid-k9DpjH68.js";import{r as vt}from"./useTheme-DcnXlv0_.js";import{a as yt}from"./errors-D9vyuMar.js";import{C as bt,Cr as xt,Di as St,Gn as Ct,La as wt,Ma as Tt,O as Et,Qr as Dt,Sr as Ot,St as kt,_a as At,a as jt,br as Mt,ir as Nt,mi as Pt,qt as Ft,vr as It,wr as Lt,x as Rt,xa as zt,xr as Bt,yr as Vt}from"./index-DafnX1Xx.js";import{i as Ht,r as Ut,t as Wt}from"./error-entries-CDSsy76p.js";var Gt=Ue(`ban`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M4.929 4.929 19.07 19.071`,key:`196cmz`}]]),Kt=Ue(`circle-stop`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`rect`,{x:`9`,y:`9`,width:`6`,height:`6`,rx:`1`,key:`1ssd4o`}]]),qt=Ue(`paperclip`,[[`path`,{d:`m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551`,key:`1miecu`}]]),Jt=Ue(`send-horizontal`,[[`path`,{d:`M3.714 3.048a.498.498 0 0 0-.683.627l2.843 7.627a2 2 0 0 1 0 1.396l-2.842 7.627a.498.498 0 0 0 .682.627l18-8.5a.5.5 0 0 0 0-.904z`,key:`117uat`}],[`path`,{d:`M6 12h16`,key:`s4cdu5`}]]),A=we(),Yt=`vercel.ai.error`,Xt=Symbol.for(Yt),Zt,Qt,j=class e extends (Qt=Error,Zt=Xt,Qt){constructor({name:e,message:t,cause:n}){super(t),this[Zt]=!0,this.name=e,this.cause=n}static isInstance(t){return e.hasMarker(t,Yt)}static hasMarker(e,t){let n=Symbol.for(t);return typeof e==`object`&&!!e&&n in e&&typeof e[n]==`boolean`&&e[n]===!0}};function $t(e){return e==null?`unknown error`:typeof e==`string`?e:e instanceof Error?e.toString():JSON.stringify(e)}var en=`AI_InvalidArgumentError`,tn=`vercel.ai.error.${en}`,nn=Symbol.for(tn),rn,an,on=class extends (an=j,rn=nn,an){constructor({message:e,cause:t,argument:n}){super({name:en,message:e,cause:t}),this[rn]=!0,this.argument=n}static isInstance(e){return j.hasMarker(e,tn)}},sn=`AI_JSONParseError`,cn=`vercel.ai.error.${sn}`,ln=Symbol.for(cn),un,dn,fn=class extends (dn=j,un=ln,dn){constructor({text:e,cause:t}){super({name:sn,message:`JSON parsing failed: Text: ${e}.
2
+ Error message: ${$t(t)}`,cause:t}),this[un]=!0,this.text=e}static isInstance(e){return j.hasMarker(e,cn)}},pn=`AI_TypeValidationError`,mn=`vercel.ai.error.${pn}`,hn=Symbol.for(mn),gn,_n,vn=class e extends (_n=j,gn=hn,_n){constructor({value:e,cause:t,context:n}){let r=`Type validation failed`;if(n?.field&&(r+=` for ${n.field}`),n?.entityName||n?.entityId){r+=` (`;let e=[];n.entityName&&e.push(n.entityName),n.entityId&&e.push(`id: "${n.entityId}"`),r+=e.join(`, `),r+=`)`}super({name:pn,message:`${r}: Value: ${JSON.stringify(e)}.
3
+ Error message: ${$t(t)}`,cause:t}),this[gn]=!0,this.value=e,this.context=n}static isInstance(e){return j.hasMarker(e,mn)}static wrap({value:t,cause:n,context:r}){return e.isInstance(n)&&n.value===t&&n.context?.field===r?.field&&n.context?.entityName===r?.entityName&&n.context?.entityId===r?.entityId?n:new e({value:t,cause:n,context:r})}},yn=class extends Error{constructor(e,t){super(e),this.name=`ParseError`,this.type=t.type,this.field=t.field,this.value=t.value,this.line=t.line}},bn=10,xn=13,Sn=32;function Cn(e){}function wn(e){if(typeof e==`function`)throw TypeError("`config` must be an object, got a function instead. Did you mean `createParser({onEvent: fn})`?");let{onEvent:t=Cn,onError:n=Cn,onRetry:r=Cn,onComment:i,maxBufferSize:a}=e,o=[],s=0,c=!0,l,u=``,d=0,f,p=!1;function m(e){if(p)throw Error("Cannot feed parser: it was terminated after exceeding the configured max buffer size. Call `reset()` to resume parsing.");if(c&&(c=!1,e.charCodeAt(0)===239&&e.charCodeAt(1)===187&&e.charCodeAt(2)===191&&(e=e.slice(3))),o.length===0){let t=g(e);t!==``&&(o.push(t),s=t.length),h();return}if(e.indexOf(`
4
+ `)===-1&&e.indexOf(`\r`)===-1){o.push(e),s+=e.length,h();return}o.push(e);let t=o.join(``);o.length=0,s=0;let n=g(t);n!==``&&(o.push(n),s=n.length),h()}function h(){a!==void 0&&(s+u.length<=a||(p=!0,o.length=0,s=0,l=void 0,u=``,d=0,f=void 0,n(new yn(`Buffered data exceeded max buffer size of ${a} characters`,{type:`max-buffer-size-exceeded`}))))}function g(e){let n=0;if(e.indexOf(`\r`)===-1){let r=e.indexOf(`
5
+ `,n);for(;r!==-1;){if(n===r){d>0&&t({id:l,event:f,data:u}),l=void 0,u=``,d=0,f=void 0,n=r+1,r=e.indexOf(`
6
+ `,n);continue}let i=e.charCodeAt(n);if(Tn(e,n,i)){let i=e.charCodeAt(n+5)===Sn?n+6:n+5,a=e.slice(i,r);if(d===0&&e.charCodeAt(r+1)===bn){t({id:l,event:f,data:a}),l=void 0,u=``,f=void 0,n=r+2,r=e.indexOf(`
7
+ `,n);continue}u=d===0?a:`${u}
8
+ ${a}`,d++}else En(e,n,i)?f=e.slice(e.charCodeAt(n+6)===Sn?n+7:n+6,r)||void 0:_(e,n,r);n=r+1,r=e.indexOf(`
9
+ `,n)}return e.slice(n)}for(;n<e.length;){let t=e.indexOf(`\r`,n),r=e.indexOf(`
10
+ `,n),i=-1;if(t!==-1&&r!==-1?i=t<r?t:r:t===-1?r!==-1&&(i=r):i=t===e.length-1?-1:t,i===-1)break;_(e,n,i),n=i+1,e.charCodeAt(n-1)===xn&&e.charCodeAt(n)===bn&&n++}return e.slice(n)}function _(e,t,n){if(t===n){y();return}let r=e.charCodeAt(t);if(Tn(e,t,r)){let r=e.charCodeAt(t+5)===Sn?t+6:t+5,i=e.slice(r,n);u=d===0?i:`${u}
11
+ ${i}`,d++;return}if(En(e,t,r)){f=e.slice(e.charCodeAt(t+6)===Sn?t+7:t+6,n)||void 0;return}if(r===105&&e.charCodeAt(t+1)===100&&e.charCodeAt(t+2)===58){let r=e.slice(e.charCodeAt(t+3)===Sn?t+4:t+3,n);l=r.includes(`\0`)?void 0:r;return}if(r===58){if(i){let r=e.slice(t,n);i(r.slice(e.charCodeAt(t+1)===Sn?2:1))}return}let a=e.slice(t,n),o=a.indexOf(`:`);if(o===-1){v(a,``,a);return}let s=a.slice(0,o),c=a.charCodeAt(o+1)===Sn?2:1;v(s,a.slice(o+c),a)}function v(e,t,i){switch(e){case`event`:f=t||void 0;break;case`data`:u=d===0?t:`${u}
12
+ ${t}`,d++;break;case`id`:l=t.includes(`\0`)?void 0:t;break;case`retry`:/^\d+$/.test(t)?r(parseInt(t,10)):n(new yn(`Invalid \`retry\` value: "${t}"`,{type:`invalid-retry`,value:t,line:i}));break;default:n(new yn(`Unknown field "${e.length>20?`${e.slice(0,20)}\u2026`:e}"`,{type:`unknown-field`,field:e,value:t,line:i}))}}function y(){d>0&&t({id:l,event:f,data:u}),l=void 0,u=``,d=0,f=void 0}function b(e={}){if(e.consume&&o.length>0){let e=o.join(``);_(e,0,e.length)}c=!0,l=void 0,u=``,d=0,f=void 0,o.length=0,s=0,p=!1}return{feed:m,reset:b}}function Tn(e,t,n){return n===100&&e.charCodeAt(t+1)===97&&e.charCodeAt(t+2)===116&&e.charCodeAt(t+3)===97&&e.charCodeAt(t+4)===58}function En(e,t,n){return n===101&&e.charCodeAt(t+1)===118&&e.charCodeAt(t+2)===101&&e.charCodeAt(t+3)===110&&e.charCodeAt(t+4)===116&&e.charCodeAt(t+5)===58}var Dn=class extends TransformStream{constructor({onError:e,onRetry:t,onComment:n,maxBufferSize:r}={}){let i;super({start(a){i=wn({onEvent:e=>{a.enqueue(e)},onError(t){typeof e==`function`&&e(t),(e===`terminate`||t.type===`max-buffer-size-exceeded`)&&a.error(t)},onRetry:t,onComment:n,maxBufferSize:r})},transform(e){i.feed(e)}})}};new TextDecoder;var{btoa:On,atob:kn}=globalThis,An=globalThis.fetch;jn(An);function jn(e){if(typeof e!=`function`)return!1;let t=Function.prototype.toString.call(e);return t.includes(`internal/deps/undici`)||t.includes(`lazy loading of undici`)}var M=({prefix:e,size:t=16,alphabet:n=`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz`,separator:r=`-`}={})=>{let i=()=>{let e=n.length,r=Array(t);for(let i=0;i<t;i++)r[i]=n[Math.random()*e|0];return r.join(``)};if(e==null)return i;if(n.includes(r))throw new on({argument:`separator`,message:`The separator "${r}" must not be part of the alphabet "${n}".`});return()=>`${e}${r}${i()}`},Mn=M();function Nn(e){if(e==null)return{};let t={};if(e instanceof Headers)e.forEach((e,n)=>{t[n.toLowerCase()]=e});else{Array.isArray(e)||(e=Object.entries(e));for(let[n,r]of e)r!=null&&(t[n.toLowerCase()]=r)}return t}function Pn(e){return globalThis.Buffer?.isBuffer(e)??!1}var Fn=/"(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])"\s*:/,In=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/;function Ln(e){let t=JSON.parse(e);return typeof t!=`object`||!t||Fn.test(e)===!1&&In.test(e)===!1?t:Rn(t)}function Rn(e){let t=[e];for(;t.length;){let e=t;t=[];for(let n of e){if(Object.prototype.hasOwnProperty.call(n,`__proto__`)||Object.prototype.hasOwnProperty.call(n,`constructor`)&&n.constructor!==null&&typeof n.constructor==`object`&&Object.prototype.hasOwnProperty.call(n.constructor,`prototype`))throw SyntaxError(`Object contains forbidden prototype property`);for(let e in n){let r=n[e];r&&typeof r==`object`&&t.push(r)}}}return e}function zn(e){let{stackTraceLimit:t}=Error;try{Error.stackTraceLimit=0}catch{return Ln(e)}try{return Ln(e)}finally{Error.stackTraceLimit=t}}function Bn(e){if(e.type===`object`||Array.isArray(e.type)&&e.type.includes(`object`)){let{additionalProperties:t}=e;e.additionalProperties=t!=null&&typeof t!=`boolean`&&Vn(t);let{properties:n}=e;if(n!=null)for(let e of Object.keys(n))n[e]=Vn(n[e])}e.items!=null&&(e.items=Array.isArray(e.items)?e.items.map(Vn):Vn(e.items)),e.anyOf!=null&&(e.anyOf=e.anyOf.map(Vn)),e.allOf!=null&&(e.allOf=e.allOf.map(Vn)),e.oneOf!=null&&(e.oneOf=e.oneOf.map(Vn));let{definitions:t}=e;if(t!=null)for(let e of Object.keys(t))t[e]=Vn(t[e]);return e}function Vn(e){return typeof e==`boolean`?e:Bn(e)}var Hn=Symbol(`Let zodToJsonSchema decide on which parser to use`),Un={name:void 0,$refStrategy:`root`,basePath:[`#`],effectStrategy:`input`,pipeStrategy:`all`,dateStrategy:`format:date-time`,mapStrategy:`entries`,removeAdditionalStrategy:`passthrough`,allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:`definitions`,strictUnions:!1,definitions:{},errorMessages:!1,patternStrategy:`escape`,applyRegexFlags:!1,emailStrategy:`format:email`,base64Strategy:`contentEncoding:base64`,nameStrategy:`ref`},Wn=e=>typeof e==`string`?{...Un,name:e}:{...Un,...e};function N(){return{}}function Gn(e,t){let n={type:`array`};return e.type?._def&&e.type?._def?.typeName!==`ZodAny`&&(n.items=L(e.type._def,{...t,currentPath:[...t.currentPath,`items`]})),e.minLength&&(n.minItems=e.minLength.value),e.maxLength&&(n.maxItems=e.maxLength.value),e.exactLength&&(n.minItems=e.exactLength.value,n.maxItems=e.exactLength.value),n}function Kn(e){let t={type:`integer`,format:`int64`};if(!e.checks)return t;for(let n of e.checks)switch(n.kind){case`min`:n.inclusive?t.minimum=n.value:t.exclusiveMinimum=n.value;break;case`max`:n.inclusive?t.maximum=n.value:t.exclusiveMaximum=n.value;break;case`multipleOf`:t.multipleOf=n.value}return t}function qn(){return{type:`boolean`}}function Jn(e,t){return L(e.type._def,t)}var Yn=(e,t)=>L(e.innerType._def,t);function Xn(e,t,n){let r=n??t.dateStrategy;if(Array.isArray(r))return{anyOf:r.map(n=>Xn(e,t,n))};switch(r){case`string`:case`format:date-time`:return{type:`string`,format:`date-time`};case`format:date`:return{type:`string`,format:`date`};case`integer`:return Zn(e)}}var Zn=e=>{let t={type:`integer`,format:`unix-time`};for(let n of e.checks)switch(n.kind){case`min`:t.minimum=n.value;break;case`max`:t.maximum=n.value}return t};function Qn(e,t){return{...L(e.innerType._def,t),default:e.defaultValue()}}function $n(e,t){return t.effectStrategy===`input`?L(e.schema._def,t):N()}function er(e){return{type:`string`,enum:Array.from(e.values)}}var tr=e=>`type`in e&&e.type===`string`?!1:`allOf`in e;function nr(e,t){let n=[L(e.left._def,{...t,currentPath:[...t.currentPath,`allOf`,`0`]}),L(e.right._def,{...t,currentPath:[...t.currentPath,`allOf`,`1`]})].filter(e=>!!e),r=[];return n.forEach(e=>{if(tr(e))r.push(...e.allOf);else{let t=e;if(`additionalProperties`in e&&e.additionalProperties===!1){let{additionalProperties:n,...r}=e;t=r}r.push(t)}}),r.length?{allOf:r}:void 0}function rr(e){let t=typeof e.value;return t!==`bigint`&&t!==`number`&&t!==`boolean`&&t!==`string`?{type:Array.isArray(e.value)?`array`:`object`}:{type:t===`bigint`?`integer`:t,const:e.value}}var ir=void 0,P={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>(ir===void 0&&(ir=RegExp(`^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`,`u`)),ir),uuid:/^[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}$/,ipv4:/^(?:(?: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])$/,ipv4Cidr:/^(?:(?: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])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([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])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function ar(e,t){let n={type:`string`};if(e.checks)for(let r of e.checks)switch(r.kind){case`min`:n.minLength=typeof n.minLength==`number`?Math.max(n.minLength,r.value):r.value;break;case`max`:n.maxLength=typeof n.maxLength==`number`?Math.min(n.maxLength,r.value):r.value;break;case`email`:switch(t.emailStrategy){case`format:email`:F(n,`email`,r.message,t);break;case`format:idn-email`:F(n,`idn-email`,r.message,t);break;case`pattern:zod`:I(n,P.email,r.message,t)}break;case`url`:F(n,`uri`,r.message,t);break;case`uuid`:F(n,`uuid`,r.message,t);break;case`regex`:I(n,r.regex,r.message,t);break;case`cuid`:I(n,P.cuid,r.message,t);break;case`cuid2`:I(n,P.cuid2,r.message,t);break;case`startsWith`:I(n,RegExp(`^${or(r.value,t)}`),r.message,t);break;case`endsWith`:I(n,RegExp(`${or(r.value,t)}$`),r.message,t);break;case`datetime`:F(n,`date-time`,r.message,t);break;case`date`:F(n,`date`,r.message,t);break;case`time`:F(n,`time`,r.message,t);break;case`duration`:F(n,`duration`,r.message,t);break;case`length`:n.minLength=typeof n.minLength==`number`?Math.max(n.minLength,r.value):r.value,n.maxLength=typeof n.maxLength==`number`?Math.min(n.maxLength,r.value):r.value;break;case`includes`:I(n,RegExp(or(r.value,t)),r.message,t);break;case`ip`:r.version!==`v6`&&F(n,`ipv4`,r.message,t),r.version!==`v4`&&F(n,`ipv6`,r.message,t);break;case`base64url`:I(n,P.base64url,r.message,t);break;case`jwt`:I(n,P.jwt,r.message,t);break;case`cidr`:r.version!==`v6`&&I(n,P.ipv4Cidr,r.message,t),r.version!==`v4`&&I(n,P.ipv6Cidr,r.message,t);break;case`emoji`:I(n,P.emoji(),r.message,t);break;case`ulid`:I(n,P.ulid,r.message,t);break;case`base64`:switch(t.base64Strategy){case`format:binary`:F(n,`binary`,r.message,t);break;case`contentEncoding:base64`:n.contentEncoding=`base64`;break;case`pattern:zod`:I(n,P.base64,r.message,t)}break;case`nanoid`:I(n,P.nanoid,r.message,t)}return n}function or(e,t){return t.patternStrategy===`escape`?cr(e):e}var sr=new Set(`ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789`);function cr(e){let t=``;for(let n=0;n<e.length;n++)sr.has(e[n])||(t+=`\\`),t+=e[n];return t}function F(e,t,n,r){e.format||e.anyOf?.some(e=>e.format)?(e.anyOf||=[],e.format&&(e.anyOf.push({format:e.format}),delete e.format),e.anyOf.push({format:t,...n&&r.errorMessages&&{errorMessage:{format:n}}})):e.format=t}function I(e,t,n,r){e.pattern||e.allOf?.some(e=>e.pattern)?(e.allOf||=[],e.pattern&&(e.allOf.push({pattern:e.pattern}),delete e.pattern),e.allOf.push({pattern:lr(t,r),...n&&r.errorMessages&&{errorMessage:{pattern:n}}})):e.pattern=lr(t,r)}function lr(e,t){if(!t.applyRegexFlags||!e.flags)return e.source;let n={i:e.flags.includes(`i`),m:e.flags.includes(`m`),s:e.flags.includes(`s`)},r=n.i?e.source.toLowerCase():e.source,i=``,a=!1,o=!1,s=!1;for(let e=0;e<r.length;e++){if(a){i+=r[e],a=!1;continue}if(n.i){if(o){if(r[e].match(/[a-z]/)){s?(i+=r[e],i+=`${r[e-2]}-${r[e]}`.toUpperCase(),s=!1):r[e+1]===`-`&&r[e+2]?.match(/[a-z]/)?(i+=r[e],s=!0):i+=`${r[e]}${r[e].toUpperCase()}`;continue}}else if(r[e].match(/[a-z]/)){i+=`[${r[e]}${r[e].toUpperCase()}]`;continue}}if(n.m){if(r[e]===`^`){i+=`(^|(?<=[\r
13
+ ]))`;continue}if(r[e]===`$`){i+=`($|(?=[\r
14
+ ]))`;continue}}if(n.s&&r[e]===`.`){i+=o?`${r[e]}\r
15
+ `:`[${r[e]}\r
16
+ ]`;continue}i+=r[e],r[e]===`\\`?a=!0:o&&r[e]===`]`?o=!1:!o&&r[e]===`[`&&(o=!0)}try{new RegExp(i)}catch{return console.warn(`Could not convert regex pattern at ${t.currentPath.join(`/`)} to a flag-independent form! Falling back to the flag-ignorant source`),e.source}return i}function ur(e,t){let n={type:`object`,additionalProperties:L(e.valueType._def,{...t,currentPath:[...t.currentPath,`additionalProperties`]})??t.allowedAdditionalProperties};if(e.keyType?._def.typeName===`ZodString`&&e.keyType._def.checks?.length){let{type:r,...i}=ar(e.keyType._def,t);return{...n,propertyNames:i}}if(e.keyType?._def.typeName===`ZodEnum`)return{...n,propertyNames:{enum:e.keyType._def.values}};if(e.keyType?._def.typeName===`ZodBranded`&&e.keyType._def.type._def.typeName===`ZodString`&&e.keyType._def.type._def.checks?.length){let{type:r,...i}=Jn(e.keyType._def,t);return{...n,propertyNames:i}}return n}function dr(e,t){return t.mapStrategy===`record`?ur(e,t):{type:`array`,maxItems:125,items:{type:`array`,items:[L(e.keyType._def,{...t,currentPath:[...t.currentPath,`items`,`items`,`0`]})||N(),L(e.valueType._def,{...t,currentPath:[...t.currentPath,`items`,`items`,`1`]})||N()],minItems:2,maxItems:2}}}function fr(e){let t=e.values,n=Object.keys(e.values).filter(e=>typeof t[t[e]]!=`number`).map(e=>t[e]),r=Array.from(new Set(n.map(e=>typeof e)));return{type:r.length===1?r[0]===`string`?`string`:`number`:[`string`,`number`],enum:n}}function pr(){return{not:N()}}function mr(){return{type:`null`}}var hr={ZodString:`string`,ZodNumber:`number`,ZodBigInt:`integer`,ZodBoolean:`boolean`,ZodNull:`null`};function gr(e,t){let n=e.options instanceof Map?Array.from(e.options.values()):e.options;if(n.every(e=>e._def.typeName in hr&&(!e._def.checks||!e._def.checks.length))){let e=n.reduce((e,t)=>{let n=hr[t._def.typeName];return n&&!e.includes(n)?[...e,n]:e},[]);return{type:e.length>1?e:e[0]}}if(n.every(e=>e._def.typeName===`ZodLiteral`&&!e.description)){let e=n.reduce((e,t)=>{let n=typeof t._def.value;switch(n){case`string`:case`number`:case`boolean`:return[...e,n];case`bigint`:return[...e,`integer`];case`object`:if(t._def.value===null)return[...e,`null`];default:return e}},[]);if(e.length===n.length){let t=e.filter((e,t,n)=>n.indexOf(e)===t);return{type:t.length>1?t:t[0],enum:n.reduce((e,t)=>e.includes(t._def.value)?e:[...e,t._def.value],[])}}}else if(n.every(e=>e._def.typeName===`ZodEnum`))return{type:`string`,enum:n.reduce((e,t)=>[...e,...t._def.values.filter(t=>!e.includes(t))],[])};return _r(e,t)}var _r=(e,t)=>{let n=(e.options instanceof Map?Array.from(e.options.values()):e.options).map((e,n)=>L(e._def,{...t,currentPath:[...t.currentPath,`anyOf`,`${n}`]})).filter(e=>!!e&&(!t.strictUnions||typeof e==`object`&&Object.keys(e).length>0));return n.length?{anyOf:n}:void 0};function vr(e,t){if([`ZodString`,`ZodNumber`,`ZodBigInt`,`ZodBoolean`,`ZodNull`].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return{type:[hr[e.innerType._def.typeName],`null`]};let n=L(e.innerType._def,{...t,currentPath:[...t.currentPath,`anyOf`,`0`]});return n&&{anyOf:[n,{type:`null`}]}}function yr(e){let t={type:`number`};if(!e.checks)return t;for(let n of e.checks)switch(n.kind){case`int`:t.type=`integer`;break;case`min`:n.inclusive?t.minimum=n.value:t.exclusiveMinimum=n.value;break;case`max`:n.inclusive?t.maximum=n.value:t.exclusiveMaximum=n.value;break;case`multipleOf`:t.multipleOf=n.value}return t}function br(e,t){let n={type:`object`,properties:{}},r=[],i=e.shape();for(let e in i){let a=i[e];if(a===void 0||a._def===void 0)continue;let o=Sr(a),s=L(a._def,{...t,currentPath:[...t.currentPath,`properties`,e],propertyPath:[...t.currentPath,`properties`,e]});s!==void 0&&(n.properties[e]=s,o||r.push(e))}r.length&&(n.required=r);let a=xr(e,t);return a!==void 0&&(n.additionalProperties=a),n}function xr(e,t){if(e.catchall._def.typeName!==`ZodNever`)return L(e.catchall._def,{...t,currentPath:[...t.currentPath,`additionalProperties`]});switch(e.unknownKeys){case`passthrough`:return t.allowedAdditionalProperties;case`strict`:return t.rejectedAdditionalProperties;case`strip`:return t.removeAdditionalStrategy===`strict`?t.allowedAdditionalProperties:t.rejectedAdditionalProperties}}function Sr(e){try{return e.isOptional()}catch{return!0}}var Cr=(e,t)=>{if(t.currentPath.toString()===t.propertyPath?.toString())return L(e.innerType._def,t);let n=L(e.innerType._def,{...t,currentPath:[...t.currentPath,`anyOf`,`1`]});return n?{anyOf:[{not:N()},n]}:N()},wr=(e,t)=>{if(t.pipeStrategy===`input`)return L(e.in._def,t);if(t.pipeStrategy===`output`)return L(e.out._def,t);let n=L(e.in._def,{...t,currentPath:[...t.currentPath,`allOf`,`0`]});return{allOf:[n,L(e.out._def,{...t,currentPath:[...t.currentPath,`allOf`,n?`1`:`0`]})].filter(e=>e!==void 0)}};function Tr(e,t){return L(e.type._def,t)}function Er(e,t){let n={type:`array`,uniqueItems:!0,items:L(e.valueType._def,{...t,currentPath:[...t.currentPath,`items`]})};return e.minSize&&(n.minItems=e.minSize.value),e.maxSize&&(n.maxItems=e.maxSize.value),n}function Dr(e,t){return e.rest?{type:`array`,minItems:e.items.length,items:e.items.map((e,n)=>L(e._def,{...t,currentPath:[...t.currentPath,`items`,`${n}`]})).reduce((e,t)=>t===void 0?e:[...e,t],[]),additionalItems:L(e.rest._def,{...t,currentPath:[...t.currentPath,`additionalItems`]})}:{type:`array`,minItems:e.items.length,maxItems:e.items.length,items:e.items.map((e,n)=>L(e._def,{...t,currentPath:[...t.currentPath,`items`,`${n}`]})).reduce((e,t)=>t===void 0?e:[...e,t],[])}}function Or(){return{not:N()}}function kr(){return N()}var Ar=(e,t)=>L(e.innerType._def,t),jr=(e,t,n)=>{switch(t){case`ZodString`:return ar(e,n);case`ZodNumber`:return yr(e);case`ZodObject`:return br(e,n);case`ZodBigInt`:return Kn(e);case`ZodBoolean`:return qn();case`ZodDate`:return Xn(e,n);case`ZodUndefined`:return Or();case`ZodNull`:return mr();case`ZodArray`:return Gn(e,n);case`ZodUnion`:case`ZodDiscriminatedUnion`:return gr(e,n);case`ZodIntersection`:return nr(e,n);case`ZodTuple`:return Dr(e,n);case`ZodRecord`:return ur(e,n);case`ZodLiteral`:return rr(e);case`ZodEnum`:return er(e);case`ZodNativeEnum`:return fr(e);case`ZodNullable`:return vr(e,n);case`ZodOptional`:return Cr(e,n);case`ZodMap`:return dr(e,n);case`ZodSet`:return Er(e,n);case`ZodLazy`:return()=>e.getter()._def;case`ZodPromise`:return Tr(e,n);case`ZodNaN`:case`ZodNever`:return pr();case`ZodEffects`:return $n(e,n);case`ZodAny`:return N();case`ZodUnknown`:return kr();case`ZodDefault`:return Qn(e,n);case`ZodBranded`:return Jn(e,n);case`ZodReadonly`:return Ar(e,n);case`ZodCatch`:return Yn(e,n);case`ZodPipeline`:return wr(e,n);case`ZodFunction`:case`ZodVoid`:case`ZodSymbol`:return;default:return(e=>void 0)(t)}},Mr=(e,t)=>{let n=0;for(;n<e.length&&n<t.length&&e[n]===t[n];n++);return[(e.length-n).toString(),...t.slice(n)].join(`/`)};function L(e,t,n=!1){let r=t.seen.get(e);if(t.override){let i=t.override?.call(t,e,t,r,n);if(i!==Hn)return i}if(r&&!n){let e=Nr(r,t);if(e!==void 0)return e}let i={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,i);let a=jr(e,e.typeName,t),o=typeof a==`function`?L(a(),t):a;if(o&&Pr(e,t,o),t.postProcess){let n=t.postProcess(o,e,t);return i.jsonSchema=o,n}return i.jsonSchema=o,o}var Nr=(e,t)=>{switch(t.$refStrategy){case`root`:return{$ref:e.path.join(`/`)};case`relative`:return{$ref:Mr(t.currentPath,e.path)};case`none`:case`seen`:return e.path.length<t.currentPath.length&&e.path.every((e,n)=>t.currentPath[n]===e)?(console.warn(`Recursive reference detected at ${t.currentPath.join(`/`)}! Defaulting to any`),N()):t.$refStrategy===`seen`?N():void 0}},Pr=(e,t,n)=>(e.description&&(n.description=e.description),n),Fr=e=>{let t=Wn(e),n=t.name===void 0?t.basePath:[...t.basePath,t.definitionPath,t.name];return{...t,currentPath:n,propertyPath:void 0,seen:new Map(Object.entries(t.definitions).map(([e,n])=>[n._def,{def:n._def,path:[...t.basePath,t.definitionPath,e],jsonSchema:void 0}]))}},Ir=(e,t)=>{let n=Fr(t),r=typeof t==`object`&&t.definitions?Object.entries(t.definitions).reduce((e,[t,r])=>({...e,[t]:L(r._def,{...n,currentPath:[...n.basePath,n.definitionPath,t]},!0)??N()}),{}):void 0,i=typeof t==`string`?t:t?.nameStrategy===`title`?void 0:t?.name,a=L(e._def,i===void 0?n:{...n,currentPath:[...n.basePath,n.definitionPath,i]},!1)??N(),o=typeof t==`object`&&t.name!==void 0&&t.nameStrategy===`title`?t.name:void 0;o!==void 0&&(a.title=o);let s=i===void 0?r?{...a,[n.definitionPath]:r}:a:{$ref:[...n.$refStrategy===`relative`?[]:n.basePath,n.definitionPath,i].join(`/`),[n.definitionPath]:{...r,[i]:a}};return s.$schema=`http://json-schema.org/draft-07/schema#`,s},Lr=Symbol.for(`vercel.ai.schema`);function Rr(e){let t;return()=>(t??=e(),t)}function zr(e,{validate:t}={}){return{[Lr]:!0,_type:void 0,get jsonSchema(){return typeof e==`function`&&(e=e()),e},validate:t}}function Br(e){return typeof e==`object`&&!!e&&Lr in e&&e[Lr]===!0&&`jsonSchema`in e&&`validate`in e}function Vr(e){return e==null?zr({type:`object`,properties:{},additionalProperties:!1}):Br(e)?e:`~standard`in e?e[`~standard`].vendor===`zod`?qr(e):Hr(e):e()}function Hr(e){return zr(()=>{if(!Ur(e))throw Error(`Standard schema vendor '${e[`~standard`].vendor}' does not support JSON Schema conversion.`);return Bn(e[`~standard`].jsonSchema.input({target:`draft-07`}))},{validate:async t=>{let n=await e[`~standard`].validate(t);return`value`in n?{success:!0,value:n.value}:{success:!1,error:new vn({value:t,cause:n.issues})}}})}function Ur(e){return e[`~standard`].jsonSchema!=null}function Wr(e,t){let n=t?.useReferences??!1;return zr(()=>Ir(e,{$refStrategy:n?`root`:`none`}),{validate:async t=>{let n=await e.safeParseAsync(t);return n.success?{success:!0,value:n.data}:{success:!1,error:n.error}}})}function Gr(e,t){let n=t?.useReferences??!1;return zr(()=>Bn(se(e,{target:`draft-7`,io:`input`,reused:n?`ref`:`inline`})),{validate:async t=>{let n=await me(e,t);return n.success?{success:!0,value:n.data}:{success:!1,error:n.error}}})}function Kr(e){return`_zod`in e}function qr(e,t){return Kr(e)?Gr(e,t):Wr(e,t)}async function Jr({value:e,schema:t,context:n}){let r=await Yr({value:e,schema:t,context:n});if(!r.success)throw vn.wrap({value:e,cause:r.error,context:n});return r.value}async function Yr({value:e,schema:t,context:n}){let r=Vr(t);try{if(r.validate==null)return{success:!0,value:e,rawValue:e};let t=await r.validate(e);return t.success?{success:!0,value:t.value,rawValue:e}:{success:!1,error:vn.wrap({value:e,cause:t.error,context:n}),rawValue:e}}catch(t){return{success:!1,error:vn.wrap({value:e,cause:t,context:n}),rawValue:e}}}async function Xr({text:e,schema:t}){try{let n=zn(e);return t==null?{success:!0,value:n,rawValue:n}:await Yr({value:n,schema:t})}catch(t){return{success:!1,error:fn.isInstance(t)?t:new fn({text:e,cause:t}),rawValue:void 0}}}function Zr({stream:e,schema:t}){return e.pipeThrough(new TextDecoderStream).pipeThrough(new Dn).pipeThrough(new TransformStream({async transform({data:e},n){e!==`[DONE]`&&n.enqueue(await Xr({text:e,schema:t}))}}))}async function R(e){return typeof e==`function`&&(e=e()),Promise.resolve(e)}new TextDecoder;var Qr=Object.defineProperty,$r=(e,t)=>{for(var n in t)Qr(e,n,{get:t[n],enumerable:!0})},ei=`AI_InvalidArgumentError`,ti=`vercel.ai.error.${ei}`,ni=Symbol.for(ti),ri,ii,ai=class extends (ii=j,ri=ni,ii){constructor({parameter:e,value:t,message:n}){super({name:ei,message:`Invalid argument for parameter ${e}: ${n}`}),this[ri]=!0,this.parameter=e,this.value=t}static isInstance(e){return j.hasMarker(e,ti)}},oi=`AI_NoObjectGeneratedError`,si=`vercel.ai.error.${oi}`,ci=Symbol.for(si),li,ui,di=class extends (ui=j,li=ci,ui){constructor({message:e=`No object generated.`,cause:t,text:n,response:r,usage:i,finishReason:a}){super({name:oi,message:e,cause:t}),this[li]=!0,this.text=n,this.response=r,this.usage=i,this.finishReason=a}static isInstance(e){return j.hasMarker(e,si)}},fi=`AI_UIMessageStreamError`,pi=`vercel.ai.error.${fi}`,mi=Symbol.for(pi),hi,gi,_i=class extends (gi=j,hi=mi,gi){constructor({chunkType:e,chunkId:t,message:n}){super({name:fi,message:n}),this[hi]=!0,this.chunkType=e,this.chunkId=t}static isInstance(e){return j.hasMarker(e,pi)}};function vi(e,t){if(e===void 0&&t===void 0)return;if(e===void 0)return t;if(t===void 0)return e;let n={...e};for(let r in t)if(r!==`__proto__`&&r!==`constructor`&&r!==`prototype`&&Object.prototype.hasOwnProperty.call(t,r)){let i=t[r];if(i===void 0)continue;let a=r in e?e[r]:void 0,o=typeof i==`object`&&!!i&&!Array.isArray(i)&&!(i instanceof Date)&&!(i instanceof RegExp),s=typeof a==`object`&&!!a&&!Array.isArray(a)&&!(a instanceof Date)&&!(a instanceof RegExp);n[r]=o&&s?vi(a,i):i}return n}var z={array:Se,boolean:he,custom:ce,discriminatedUnion:xe,enum:ve,instanceof:be,lazy:ge,literal:ue,looseObject:le,never:ye,null:Ce,number:oe,object:O,record:pe,string:D,union:de,unknown:fe},yi=z.lazy(()=>z.union([z.null(),z.string(),z.number(),z.boolean(),z.record(z.string(),yi.optional()),z.array(yi)])),B=z.record(z.string(),z.record(z.string(),yi.optional())),bi=z.union([z.string(),z.instanceof(Uint8Array),z.instanceof(ArrayBuffer),z.custom(Pn,{message:`Must be a Buffer`})]),xi=z.record(z.string(),z.string()),Si=z.object({type:z.literal(`text`),text:z.string(),providerOptions:B.optional()}),Ci=z.object({type:z.literal(`image`),image:z.union([bi,z.instanceof(URL),xi]),mediaType:z.string().optional(),providerOptions:B.optional()}),wi=z.discriminatedUnion(`type`,[z.object({type:z.literal(`data`),data:bi}),z.object({type:z.literal(`url`),url:z.instanceof(URL)}),z.object({type:z.literal(`reference`),reference:xi}),z.object({type:z.literal(`text`),text:z.string()})]),Ti=z.discriminatedUnion(`type`,[z.object({type:z.literal(`data`),data:bi}),z.object({type:z.literal(`url`),url:z.instanceof(URL)})]),Ei=z.object({type:z.literal(`file`),data:z.union([wi,bi,z.instanceof(URL),xi]),filename:z.string().optional(),mediaType:z.string(),providerOptions:B.optional()}),Di=z.object({type:z.literal(`reasoning`),text:z.string(),providerOptions:B.optional()}),Oi=z.object({type:z.literal(`custom`),kind:z.string().transform(e=>e),providerOptions:B.optional()}),ki=z.object({type:z.literal(`reasoning-file`),data:z.union([Ti,bi,z.instanceof(URL)]),mediaType:z.string(),providerOptions:B.optional()}),Ai=z.object({type:z.literal(`tool-call`),toolCallId:z.string(),toolName:z.string(),input:z.unknown(),providerOptions:B.optional(),providerExecuted:z.boolean().optional()}),ji=z.discriminatedUnion(`type`,[z.object({type:z.literal(`text`),value:z.string(),providerOptions:B.optional()}),z.object({type:z.literal(`json`),value:yi,providerOptions:B.optional()}),z.object({type:z.literal(`execution-denied`),reason:z.string().optional(),providerOptions:B.optional()}),z.object({type:z.literal(`error-text`),value:z.string(),providerOptions:B.optional()}),z.object({type:z.literal(`error-json`),value:yi,providerOptions:B.optional()}),z.object({type:z.literal(`content`),value:z.array(z.union([z.object({type:z.literal(`text`),text:z.string(),providerOptions:B.optional()}),z.object({type:z.literal(`file`),data:wi,mediaType:z.string(),filename:z.string().optional(),providerOptions:B.optional()}),z.object({type:z.literal(`file-data`),data:z.string(),mediaType:z.string(),filename:z.string().optional(),providerOptions:B.optional()}),z.object({type:z.literal(`file-url`),url:z.string(),mediaType:z.string().optional(),providerOptions:B.optional()}),z.object({type:z.literal(`file-id`),fileId:z.union([z.string(),z.record(z.string(),z.string())]),providerOptions:B.optional()}),z.object({type:z.literal(`file-reference`),providerReference:z.record(z.string(),z.string()),providerOptions:B.optional()}),z.object({type:z.literal(`image-data`),data:z.string(),mediaType:z.string(),providerOptions:B.optional()}),z.object({type:z.literal(`image-url`),url:z.string(),providerOptions:B.optional()}),z.object({type:z.literal(`image-file-id`),fileId:z.union([z.string(),z.record(z.string(),z.string())]),providerOptions:B.optional()}),z.object({type:z.literal(`image-file-reference`),providerReference:z.record(z.string(),z.string()),providerOptions:B.optional()}),z.object({type:z.literal(`custom`),providerOptions:B.optional()})]))})]),Mi=z.object({type:z.literal(`tool-result`),toolCallId:z.string(),toolName:z.string(),output:ji,providerOptions:B.optional()}),Ni=z.object({type:z.literal(`tool-approval-request`),approvalId:z.string(),toolCallId:z.string(),reason:z.string().optional()}),Pi=z.object({type:z.literal(`tool-approval-response`),approvalId:z.string(),approved:z.boolean(),reason:z.string().optional()}),Fi=z.object({role:z.literal(`system`),content:z.string(),providerOptions:B.optional()}),Ii=z.object({role:z.literal(`user`),content:z.union([z.string(),z.array(z.union([Si,Ci,Ei]))]),providerOptions:B.optional()}),Li=z.object({role:z.literal(`assistant`),content:z.union([z.string(),z.array(z.union([Si,Oi,Ei,Di,ki,Ai,Mi,Ni]))]),providerOptions:B.optional()}),Ri=z.object({role:z.literal(`tool`),content:z.array(z.union([Mi,Pi])),providerOptions:B.optional()});z.union([Fi,Ii,Li,Ri]);function zi(e,t){return e!=null&&Object.hasOwn(e,t)?e[t]:void 0}$r({},{array:()=>Wi,choice:()=>Gi,json:()=>Ki,object:()=>Ui,text:()=>Hi});function Bi(e){let t=[`ROOT`],n=-1,r=null,i=0;function a(e){return e>=`0`&&e<=`9`||e>=`A`&&e<=`F`||e>=`a`&&e<=`f`}function o(e,i,a){switch(e){case`"`:n=i,t.pop(),t.push(a),t.push(`INSIDE_STRING`);break;case`f`:case`t`:case`n`:n=i,r=i,t.pop(),t.push(a),t.push(`INSIDE_LITERAL`);break;case`-`:t.pop(),t.push(a),t.push(`INSIDE_NUMBER`);break;case`0`:case`1`:case`2`:case`3`:case`4`:case`5`:case`6`:case`7`:case`8`:case`9`:n=i,t.pop(),t.push(a),t.push(`INSIDE_NUMBER`);break;case`{`:n=i,t.pop(),t.push(a),t.push(`INSIDE_OBJECT_START`);break;case`[`:n=i,t.pop(),t.push(a),t.push(`INSIDE_ARRAY_START`)}}function s(e,r){switch(e){case`,`:t.pop(),t.push(`INSIDE_OBJECT_AFTER_COMMA`);break;case`}`:n=r,t.pop()}}function c(e,r){switch(e){case`,`:t.pop(),t.push(`INSIDE_ARRAY_AFTER_COMMA`);break;case`]`:n=r,t.pop()}}for(let l=0;l<e.length;l++){let u=e[l];switch(t[t.length-1]){case`ROOT`:o(u,l,`FINISH`);break;case`INSIDE_OBJECT_START`:switch(u){case`"`:t.pop(),t.push(`INSIDE_OBJECT_KEY`);break;case`}`:n=l,t.pop()}break;case`INSIDE_OBJECT_AFTER_COMMA`:u===`"`&&(t.pop(),t.push(`INSIDE_OBJECT_KEY`));break;case`INSIDE_OBJECT_KEY`:u===`"`&&(t.pop(),t.push(`INSIDE_OBJECT_AFTER_KEY`));break;case`INSIDE_OBJECT_AFTER_KEY`:u===`:`&&(t.pop(),t.push(`INSIDE_OBJECT_BEFORE_VALUE`));break;case`INSIDE_OBJECT_BEFORE_VALUE`:o(u,l,`INSIDE_OBJECT_AFTER_VALUE`);break;case`INSIDE_OBJECT_AFTER_VALUE`:s(u,l);break;case`INSIDE_STRING`:switch(u){case`"`:t.pop(),n=l;break;case`\\`:t.push(`INSIDE_STRING_ESCAPE`);break;default:n=l}break;case`INSIDE_ARRAY_START`:switch(u){case`]`:n=l,t.pop();break;default:n=l,o(u,l,`INSIDE_ARRAY_AFTER_VALUE`)}break;case`INSIDE_ARRAY_AFTER_VALUE`:switch(u){case`,`:t.pop(),t.push(`INSIDE_ARRAY_AFTER_COMMA`);break;case`]`:n=l,t.pop();break;default:n=l}break;case`INSIDE_ARRAY_AFTER_COMMA`:o(u,l,`INSIDE_ARRAY_AFTER_VALUE`);break;case`INSIDE_STRING_ESCAPE`:t.pop(),u===`u`?(i=0,t.push(`INSIDE_STRING_UNICODE_ESCAPE`)):n=l;break;case`INSIDE_STRING_UNICODE_ESCAPE`:a(u)&&(i++,i===4&&(t.pop(),n=l));break;case`INSIDE_NUMBER`:switch(u){case`0`:case`1`:case`2`:case`3`:case`4`:case`5`:case`6`:case`7`:case`8`:case`9`:n=l;break;case`e`:case`E`:case`-`:case`.`:break;case`,`:t.pop(),t[t.length-1]===`INSIDE_ARRAY_AFTER_VALUE`&&c(u,l),t[t.length-1]===`INSIDE_OBJECT_AFTER_VALUE`&&s(u,l);break;case`}`:t.pop(),t[t.length-1]===`INSIDE_OBJECT_AFTER_VALUE`&&s(u,l);break;case`]`:t.pop(),t[t.length-1]===`INSIDE_ARRAY_AFTER_VALUE`&&c(u,l);break;default:t.pop()}break;case`INSIDE_LITERAL`:{let i=e.substring(r,l+1);!`false`.startsWith(i)&&!`true`.startsWith(i)&&!`null`.startsWith(i)?(t.pop(),t[t.length-1]===`INSIDE_OBJECT_AFTER_VALUE`?s(u,l):t[t.length-1]===`INSIDE_ARRAY_AFTER_VALUE`&&c(u,l)):n=l;break}}}let l=e.slice(0,n+1);for(let n=t.length-1;n>=0;n--)switch(t[n]){case`INSIDE_STRING`:l+=`"`;break;case`INSIDE_OBJECT_KEY`:case`INSIDE_OBJECT_AFTER_KEY`:case`INSIDE_OBJECT_AFTER_COMMA`:case`INSIDE_OBJECT_START`:case`INSIDE_OBJECT_BEFORE_VALUE`:case`INSIDE_OBJECT_AFTER_VALUE`:l+=`}`;break;case`INSIDE_ARRAY_START`:case`INSIDE_ARRAY_AFTER_COMMA`:case`INSIDE_ARRAY_AFTER_VALUE`:l+=`]`;break;case`INSIDE_LITERAL`:{let t=e.substring(r,e.length);`true`.startsWith(t)?l+=`true`.slice(t.length):`false`.startsWith(t)?l+=`false`.slice(t.length):`null`.startsWith(t)&&(l+=`null`.slice(t.length))}}return l}async function Vi(e){if(e===void 0)return{value:void 0,state:`undefined-input`};let t=await Xr({text:e});return t.success?{value:t.value,state:`successful-parse`}:(t=await Xr({text:Bi(e)}),t.success?{value:t.value,state:`repaired-parse`}:{value:void 0,state:`failed-parse`})}var Hi=()=>({name:`text`,responseFormat:Promise.resolve({type:`text`}),async parseCompleteOutput({text:e}){return e},async parsePartialOutput({text:e}){return{partial:e}},createElementStreamTransform(){}}),Ui=({schema:e,name:t,description:n})=>{let r=Vr(e);return{name:`object`,responseFormat:R(r.jsonSchema).then(e=>({type:`json`,schema:e,...t!=null&&{name:t},...n!=null&&{description:n}})),async parseCompleteOutput({text:e},t){let n=await Xr({text:e});if(!n.success)throw new di({message:`No object generated: could not parse the response.`,cause:n.error,text:e,response:t.response,usage:t.usage,finishReason:t.finishReason});let i=await Yr({value:n.value,schema:r});if(!i.success)throw new di({message:`No object generated: response did not match schema.`,cause:i.error,text:e,response:t.response,usage:t.usage,finishReason:t.finishReason});return i.value},async parsePartialOutput({text:e}){let t=await Vi(e);switch(t.state){case`failed-parse`:case`undefined-input`:return;case`repaired-parse`:case`successful-parse`:return{partial:t.value}}},createElementStreamTransform(){}}},Wi=({element:e,name:t,description:n})=>{let r=Vr(e);return{name:`array`,responseFormat:R(r.jsonSchema).then(e=>{let{$schema:r,definitions:i,$defs:a,...o}=e;return{type:`json`,schema:{$schema:`http://json-schema.org/draft-07/schema#`,...i!=null&&{definitions:i},...a!=null&&{$defs:a},type:`object`,properties:{elements:{type:`array`,items:o}},required:[`elements`],additionalProperties:!1},...t!=null&&{name:t},...n!=null&&{description:n}}}),async parseCompleteOutput({text:e},t){let n=await Xr({text:e});if(!n.success)throw new di({message:`No object generated: could not parse the response.`,cause:n.error,text:e,response:t.response,usage:t.usage,finishReason:t.finishReason});let i=n.value;if(typeof i!=`object`||!i||!(`elements`in i)||!Array.isArray(i.elements))throw new di({message:`No object generated: response did not match schema.`,cause:new vn({value:i,cause:`response must be an object with an elements array`}),text:e,response:t.response,usage:t.usage,finishReason:t.finishReason});let a=[];for(let n of i.elements){let i=await Yr({value:n,schema:r});if(!i.success)throw new di({message:`No object generated: response did not match schema.`,cause:i.error,text:e,response:t.response,usage:t.usage,finishReason:t.finishReason});a.push(i.value)}return a},async parsePartialOutput({text:e}){let t=await Vi(e);switch(t.state){case`failed-parse`:case`undefined-input`:return;case`repaired-parse`:case`successful-parse`:{let e=t.value;if(typeof e!=`object`||!e||!(`elements`in e)||!Array.isArray(e.elements))return;let n=t.state===`repaired-parse`&&e.elements.length>0?e.elements.slice(0,-1):e.elements,i=[];for(let e of n){let t=await Yr({value:e,schema:r});t.success&&i.push(t.value)}return{partial:i}}}},createElementStreamTransform(){let e=0;return new TransformStream({transform({partialOutput:t},n){if(t!=null)for(;e<t.length;e++)n.enqueue(t[e])}})}}},Gi=({options:e,name:t,description:n})=>({name:`choice`,responseFormat:Promise.resolve({type:`json`,schema:{$schema:`http://json-schema.org/draft-07/schema#`,type:`object`,properties:{result:{type:`string`,enum:e}},required:[`result`],additionalProperties:!1},...t!=null&&{name:t},...n!=null&&{description:n}}),async parseCompleteOutput({text:t},n){let r=await Xr({text:t});if(!r.success)throw new di({message:`No object generated: could not parse the response.`,cause:r.error,text:t,response:n.response,usage:n.usage,finishReason:n.finishReason});let i=r.value;if(typeof i!=`object`||!i||!(`result`in i)||typeof i.result!=`string`||!e.includes(i.result))throw new di({message:`No object generated: response did not match schema.`,cause:new vn({value:i,cause:`response must be an object that contains a choice value.`}),text:t,response:n.response,usage:n.usage,finishReason:n.finishReason});return i.result},async parsePartialOutput({text:t}){let n=await Vi(t);switch(n.state){case`failed-parse`:case`undefined-input`:return;case`repaired-parse`:case`successful-parse`:{let t=n.value;if(typeof t!=`object`||!t||!(`result`in t)||typeof t.result!=`string`)return;let r=e.filter(e=>e.startsWith(t.result));return n.state===`successful-parse`?r.includes(t.result)?{partial:t.result}:void 0:r.length===1?{partial:r[0]}:void 0}}},createElementStreamTransform(){}}),Ki=({name:e,description:t}={})=>({name:`json`,responseFormat:Promise.resolve({type:`json`,...e!=null&&{name:e},...t!=null&&{description:t}}),async parseCompleteOutput({text:e},t){let n=await Xr({text:e});if(!n.success)throw new di({message:`No object generated: could not parse the response.`,cause:n.error,text:e,response:t.response,usage:t.usage,finishReason:t.finishReason});return n.value},async parsePartialOutput({text:e}){let t=await Vi(e);switch(t.state){case`failed-parse`:case`undefined-input`:return;case`repaired-parse`:case`successful-parse`:return t.value===void 0?void 0:{partial:t.value}}},createElementStreamTransform(){}});new TextEncoder,new TextEncoder,M({prefix:`aitxt`,size:24}),M({prefix:`call`,size:24});function qi(e,t){let n=new Headers(e??{});for(let[e,r]of Object.entries(t))n.has(e)||n.set(e,r);return n}var Ji=class extends TransformStream{constructor(){super({transform(e,t){t.enqueue(`data: ${JSON.stringify(e)}
17
+
18
+ `)},flush(e){e.enqueue(`data: [DONE]
19
+
20
+ `)}})}},Yi={"content-type":`text/event-stream`,"cache-control":`no-cache`,connection:`keep-alive`,"x-vercel-ai-ui-message-stream":`v1`,"x-accel-buffering":`no`};function Xi({status:e,statusText:t,headers:n,stream:r,consumeSseStream:i}){let a=r.pipeThrough(new Ji);if(i){let[e,t]=a.tee();a=e,i({stream:t})}return new Response(a.pipeThrough(new TextEncoderStream),{status:e,statusText:t,headers:qi(n,Yi)})}var Zi=z.record(z.string(),yi.optional()),Qi=Rr(()=>qr(z.union([z.looseObject({type:z.literal(`text-start`),id:z.string(),providerMetadata:B.optional()}),z.looseObject({type:z.literal(`text-delta`),id:z.string(),delta:z.string(),providerMetadata:B.optional()}),z.looseObject({type:z.literal(`text-end`),id:z.string(),providerMetadata:B.optional()}),z.looseObject({type:z.literal(`error`),errorText:z.string()}),z.looseObject({type:z.literal(`tool-input-start`),toolCallId:z.string(),toolName:z.string(),providerExecuted:z.boolean().optional(),providerMetadata:B.optional(),toolMetadata:Zi.optional(),dynamic:z.boolean().optional(),title:z.string().optional()}),z.looseObject({type:z.literal(`tool-input-delta`),toolCallId:z.string(),inputTextDelta:z.string()}),z.looseObject({type:z.literal(`tool-input-available`),toolCallId:z.string(),toolName:z.string(),input:z.unknown(),providerExecuted:z.boolean().optional(),providerMetadata:B.optional(),toolMetadata:Zi.optional(),dynamic:z.boolean().optional(),title:z.string().optional()}),z.looseObject({type:z.literal(`tool-input-error`),toolCallId:z.string(),toolName:z.string(),input:z.unknown(),providerExecuted:z.boolean().optional(),providerMetadata:B.optional(),toolMetadata:Zi.optional(),dynamic:z.boolean().optional(),errorText:z.string(),title:z.string().optional()}),z.looseObject({type:z.literal(`tool-approval-request`),approvalId:z.string(),toolCallId:z.string(),approvalDescriptor:z.unknown().optional(),reason:z.string().optional(),isAutomatic:z.boolean().optional(),signature:z.string().optional()}),z.looseObject({type:z.literal(`tool-approval-response`),approvalId:z.string(),approved:z.boolean(),reason:z.string().optional(),providerExecuted:z.boolean().optional(),providerMetadata:B.optional()}),z.looseObject({type:z.literal(`tool-output-available`),toolCallId:z.string(),output:z.unknown(),providerExecuted:z.boolean().optional(),providerMetadata:B.optional(),toolMetadata:Zi.optional(),dynamic:z.boolean().optional(),preliminary:z.boolean().optional()}),z.looseObject({type:z.literal(`tool-output-error`),toolCallId:z.string(),errorText:z.string(),providerExecuted:z.boolean().optional(),providerMetadata:B.optional(),toolMetadata:Zi.optional(),dynamic:z.boolean().optional()}),z.looseObject({type:z.literal(`tool-output-denied`),toolCallId:z.string()}),z.looseObject({type:z.literal(`reasoning-start`),id:z.string(),providerMetadata:B.optional()}),z.looseObject({type:z.literal(`reasoning-delta`),id:z.string(),delta:z.string(),providerMetadata:B.optional()}),z.looseObject({type:z.literal(`reasoning-end`),id:z.string(),providerMetadata:B.optional()}),z.looseObject({type:z.literal(`custom`),kind:z.string().transform(e=>e),providerMetadata:B.optional()}),z.looseObject({type:z.literal(`source-url`),sourceId:z.string(),url:z.string(),title:z.string().optional(),providerMetadata:B.optional()}),z.looseObject({type:z.literal(`source-document`),sourceId:z.string(),mediaType:z.string(),title:z.string(),filename:z.string().optional(),providerMetadata:B.optional()}),z.looseObject({type:z.literal(`file`),url:z.string(),mediaType:z.string(),providerMetadata:B.optional()}),z.looseObject({type:z.literal(`reasoning-file`),url:z.string(),mediaType:z.string(),providerMetadata:B.optional()}),z.looseObject({type:z.custom(e=>typeof e==`string`&&e.startsWith(`data-`),{message:`Type must start with "data-"`}),id:z.string().optional(),data:z.unknown(),transient:z.boolean().optional()}),z.looseObject({type:z.literal(`start-step`)}),z.looseObject({type:z.literal(`finish-step`)}),z.looseObject({type:z.literal(`reset-step`)}),z.looseObject({type:z.literal(`start`),messageId:z.string().optional(),messageMetadata:z.unknown().optional()}),z.looseObject({type:z.literal(`finish`),finishReason:z.enum([`stop`,`length`,`content-filter`,`tool-calls`,`error`,`other`]).optional(),messageMetadata:z.unknown().optional()}),z.looseObject({type:z.literal(`abort`),reason:z.string().optional()}),z.looseObject({type:z.literal(`message-metadata`),messageMetadata:z.unknown()})])));function $i(e){return e.type.startsWith(`data-`)}function ea(){return Object.create(null)}function ta(e){return e.type.startsWith(`tool-`)}function na(e){return e.type===`dynamic-tool`}function V(e){return ta(e)||na(e)}function ra(e){return e.type.split(`-`).slice(1).join(`-`)}function ia({lastMessage:e,messageId:t}){return{message:e?.role===`assistant`?e:{id:t,metadata:void 0,role:`assistant`,parts:[]},activeTextParts:ea(),activeReasoningParts:ea(),partialToolCalls:ea()}}function aa({stream:e,messageMetadataSchema:t,dataPartSchemas:n,runUpdateMessageJob:r,onError:i,onToolCall:a,onData:o}){return e.pipeThrough(new TransformStream({async transform(e,s){await r(async({state:r,write:c})=>{function l(){let e=r.message.parts,t=e.length-1;for(;t>=0&&e[t].type!==`step-start`;)t--;return e.slice(t+1)}function u(){return l().filter(V)}function d(e){let t=u().find(t=>t.toolCallId===e);if(t==null){let n=r.message.parts;for(let r=n.length-1;r>=0;r--){let i=n[r];if(V(i)&&i.toolCallId===e){t=i;break}}}if(t==null)throw new _i({chunkType:`tool-invocation`,chunkId:e,message:`No tool invocation found for tool call ID "${e}".`});return t}function f(e){let t=r.message.parts.filter(V).find(t=>t.approval?.id===e);if(t==null)throw new _i({chunkType:`tool-approval-response`,chunkId:e,message:`No tool invocation found for approval ID "${e}".`});return t}function p(e,t){let n=t??l().find(t=>ta(t)&&t.toolCallId===e.toolCallId),i=e,a=n;if(n!=null){n.state=e.state,a.input=i.input,a.output=i.output,a.errorText=i.errorText,a.rawInput=i.rawInput,a.preliminary=i.preliminary,e.title!==void 0&&(a.title=e.title),e.toolMetadata!==void 0&&(a.toolMetadata=e.toolMetadata),a.providerExecuted=i.providerExecuted??n.providerExecuted;let t=i.providerMetadata;if(t!=null){if(e.state===`output-available`||e.state===`output-error`){let e=n;e.resultProviderMetadata=t}else n.callProviderMetadata=t}}else r.message.parts.push({type:`tool-${e.toolName}`,toolCallId:e.toolCallId,state:e.state,title:e.title,...e.toolMetadata===void 0?{}:{toolMetadata:e.toolMetadata},input:i.input,output:i.output,rawInput:i.rawInput,errorText:i.errorText,providerExecuted:i.providerExecuted,preliminary:i.preliminary,...i.providerMetadata!=null&&(e.state===`output-available`||e.state===`output-error`)?{resultProviderMetadata:i.providerMetadata}:{},...i.providerMetadata!=null&&e.state!==`output-available`&&e.state!==`output-error`?{callProviderMetadata:i.providerMetadata}:{}})}function m(e,t){let n=t??l().find(t=>t.type===`dynamic-tool`&&t.toolCallId===e.toolCallId),i=e,a=n;if(n!=null){n.state=e.state,a.toolName=e.toolName,a.input=i.input,a.output=i.output,a.errorText=i.errorText,a.rawInput=i.rawInput??a.rawInput,a.preliminary=i.preliminary,e.title!==void 0&&(a.title=e.title),e.toolMetadata!==void 0&&(a.toolMetadata=e.toolMetadata),a.providerExecuted=i.providerExecuted??n.providerExecuted;let t=i.providerMetadata;if(t!=null){if(e.state===`output-available`||e.state===`output-error`){let e=n;e.resultProviderMetadata=t}else n.callProviderMetadata=t}}else r.message.parts.push({type:`dynamic-tool`,toolName:e.toolName,toolCallId:e.toolCallId,state:e.state,input:i.input,output:i.output,errorText:i.errorText,preliminary:i.preliminary,providerExecuted:i.providerExecuted,title:e.title,...e.toolMetadata===void 0?{}:{toolMetadata:e.toolMetadata},...i.providerMetadata!=null&&(e.state===`output-available`||e.state===`output-error`)?{resultProviderMetadata:i.providerMetadata}:{},...i.providerMetadata!=null&&e.state!==`output-available`&&e.state!==`output-error`?{callProviderMetadata:i.providerMetadata}:{}})}async function h(e){if(e!=null){let n=r.message.metadata==null?e:vi(r.message.metadata,e);t!=null&&await Jr({value:n,schema:t,context:{field:`message.metadata`,entityId:r.message.id}}),r.message.metadata=n}}switch(e.type){case`text-start`:{let t={type:`text`,text:``,providerMetadata:e.providerMetadata,state:`streaming`};r.activeTextParts[e.id]=t,r.message.parts.push(t),c();break}case`text-delta`:{let t=r.activeTextParts[e.id];if(t==null)throw new _i({chunkType:`text-delta`,chunkId:e.id,message:`Received text-delta for missing text part with ID "${e.id}". Ensure a "text-start" chunk is sent before any "text-delta" chunks.`});t.text+=e.delta,t.providerMetadata=e.providerMetadata??t.providerMetadata,c();break}case`text-end`:{let t=r.activeTextParts[e.id];if(t==null)throw new _i({chunkType:`text-end`,chunkId:e.id,message:`Received text-end for missing text part with ID "${e.id}". Ensure a "text-start" chunk is sent before any "text-end" chunks.`});t.state=`done`,t.providerMetadata=e.providerMetadata??t.providerMetadata,delete r.activeTextParts[e.id],c();break}case`custom`:{let t={type:`custom`,kind:e.kind,providerMetadata:e.providerMetadata};r.message.parts.push(t),c();break}case`reasoning-start`:{let t={type:`reasoning`,id:e.id,text:``,providerMetadata:e.providerMetadata,state:`streaming`};r.activeReasoningParts[e.id]=t,r.message.parts.push(t),c();break}case`reasoning-delta`:{let t=r.activeReasoningParts[e.id];if(t==null)throw new _i({chunkType:`reasoning-delta`,chunkId:e.id,message:`Received reasoning-delta for missing reasoning part with ID "${e.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-delta" chunks.`});t.text+=e.delta,t.providerMetadata=e.providerMetadata??t.providerMetadata,c();break}case`reasoning-end`:{let t=r.activeReasoningParts[e.id];if(t==null)throw new _i({chunkType:`reasoning-end`,chunkId:e.id,message:`Received reasoning-end for missing reasoning part with ID "${e.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-end" chunks.`});t.providerMetadata=e.providerMetadata??t.providerMetadata,t.state=`done`,delete r.activeReasoningParts[e.id],c();break}case`file`:case`reasoning-file`:r.message.parts.push({type:e.type,mediaType:e.mediaType,url:e.url,...e.providerMetadata==null?{}:{providerMetadata:e.providerMetadata}}),c();break;case`source-url`:r.message.parts.push({type:`source-url`,sourceId:e.sourceId,url:e.url,title:e.title,providerMetadata:e.providerMetadata}),c();break;case`source-document`:r.message.parts.push({type:`source-document`,sourceId:e.sourceId,mediaType:e.mediaType,title:e.title,filename:e.filename,providerMetadata:e.providerMetadata}),c();break;case`tool-input-start`:{let t=l().filter(ta);r.partialToolCalls[e.toolCallId]={text:``,toolName:e.toolName,index:t.length,dynamic:e.dynamic,title:e.title,toolMetadata:e.toolMetadata},e.dynamic?m({toolCallId:e.toolCallId,toolName:e.toolName,state:`input-streaming`,input:void 0,providerExecuted:e.providerExecuted,title:e.title,toolMetadata:e.toolMetadata,providerMetadata:e.providerMetadata}):p({toolCallId:e.toolCallId,toolName:e.toolName,state:`input-streaming`,input:void 0,providerExecuted:e.providerExecuted,title:e.title,toolMetadata:e.toolMetadata,providerMetadata:e.providerMetadata}),c();break}case`tool-input-delta`:{let t=r.partialToolCalls[e.toolCallId];if(t==null)throw new _i({chunkType:`tool-input-delta`,chunkId:e.toolCallId,message:`Received tool-input-delta for missing tool call with ID "${e.toolCallId}". Ensure a "tool-input-start" chunk is sent before any "tool-input-delta" chunks.`});t.text+=e.inputTextDelta;let{value:n}=await Vi(t.text);t.dynamic?m({toolCallId:e.toolCallId,toolName:t.toolName,state:`input-streaming`,input:n,title:t.title,toolMetadata:t.toolMetadata}):p({toolCallId:e.toolCallId,toolName:t.toolName,state:`input-streaming`,input:n,title:t.title,toolMetadata:t.toolMetadata}),c();break}case`tool-input-available`:e.dynamic?m({toolCallId:e.toolCallId,toolName:e.toolName,state:`input-available`,input:e.input,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:e.title,toolMetadata:e.toolMetadata}):p({toolCallId:e.toolCallId,toolName:e.toolName,state:`input-available`,input:e.input,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:e.title,toolMetadata:e.toolMetadata}),c(),a&&!e.providerExecuted&&await a({toolCall:e});break;case`tool-input-error`:{let t=l().filter(V).find(t=>t.toolCallId===e.toolCallId);(t==null?e.dynamic:t.type===`dynamic-tool`)?m({toolCallId:e.toolCallId,toolName:e.toolName,state:`output-error`,input:e.input,errorText:e.errorText,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,toolMetadata:e.toolMetadata}):p({toolCallId:e.toolCallId,toolName:e.toolName,state:`output-error`,input:void 0,rawInput:e.input,errorText:e.errorText,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,toolMetadata:e.toolMetadata}),c();break}case`tool-approval-request`:{let t=d(e.toolCallId);t.state=`approval-requested`,t.approval={id:e.approvalId,...e.approvalDescriptor==null?{}:{descriptor:e.approvalDescriptor},...e.reason==null?{}:{requestReason:e.reason},...e.isAutomatic===!0?{isAutomatic:!0}:{},...e.signature==null?{}:{signature:e.signature}},c();break}case`tool-approval-response`:{let t=f(e.approvalId),n=t.approval==null?{id:e.approvalId}:t.approval;t.state=`approval-responded`,t.approval={...n,id:e.approvalId,approved:e.approved,...e.reason==null?{}:{reason:e.reason}},e.providerExecuted!=null&&(t.providerExecuted=e.providerExecuted),e.providerMetadata!=null&&(t.callProviderMetadata=e.providerMetadata),c();break}case`tool-output-denied`:{let t=d(e.toolCallId);t.state=`output-denied`,c();break}case`tool-output-available`:{let t=d(e.toolCallId);t.type===`dynamic-tool`?m({toolCallId:e.toolCallId,toolName:t.toolName,state:`output-available`,input:t.input,output:e.output,preliminary:e.preliminary,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:t.title,toolMetadata:t.toolMetadata},t):p({toolCallId:e.toolCallId,toolName:ra(t),state:`output-available`,input:t.input,output:e.output,providerExecuted:e.providerExecuted,preliminary:e.preliminary,providerMetadata:e.providerMetadata,title:t.title,toolMetadata:t.toolMetadata},t),c();break}case`tool-output-error`:{let t=d(e.toolCallId);t.type===`dynamic-tool`?m({toolCallId:e.toolCallId,toolName:t.toolName,state:`output-error`,input:t.input,errorText:e.errorText,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:t.title,toolMetadata:t.toolMetadata},t):p({toolCallId:e.toolCallId,toolName:ra(t),state:`output-error`,input:t.input,rawInput:t.rawInput,errorText:e.errorText,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:t.title,toolMetadata:t.toolMetadata},t),c();break}case`start-step`:r.message.parts.push({type:`step-start`});break;case`finish-step`:break;case`reset-step`:{let e=l();r.activeTextParts=ea(),r.activeReasoningParts=ea(),r.partialToolCalls=ea(),e.length>0&&(r.message.parts.splice(r.message.parts.length-e.length,e.length),c());break}case`start`:e.messageId!=null&&(r.message.id=e.messageId),await h(e.messageMetadata),(e.messageId!=null||e.messageMetadata!=null)&&c({updateStatus:!1});break;case`finish`:e.finishReason!=null&&(r.finishReason=e.finishReason),await h(e.messageMetadata),e.messageMetadata!=null&&c();break;case`message-metadata`:await h(e.messageMetadata),e.messageMetadata!=null&&c();break;case`error`:i?.(Error(e.errorText));break;default:if($i(e)){if(n?.[e.type]!=null){let t=r.message.parts.findIndex(t=>`id`in t&&`data`in t&&t.id===e.id&&t.type===e.type),i=t>=0?t:r.message.parts.length;await Jr({value:e.data,schema:n[e.type],context:{field:`message.parts[${i}].data`,entityName:e.type,entityId:e.id}})}let t=e;if(t.transient){o?.(t);break}let i=t.id==null?void 0:r.message.parts.find(e=>t.type===e.type&&t.id===e.id);i==null?r.message.parts.push(t):i.data=t.data,o?.(t),c()}}s.enqueue(e)})}}))}async function oa({stream:e,onError:t,abortSignal:n}){let r=e.getReader(),i=()=>{r.cancel().catch(()=>{})};n?.aborted?i():n?.addEventListener(`abort`,i,{once:!0});try{for(;;){let{done:e}=await r.read();if(e)break}}catch(e){t?.(e)}finally{n?.removeEventListener(`abort`,i),r.releaseLock()}}M({prefix:`aitxt`,size:24}),M({prefix:`call`,size:24}),M({prefix:`aitxt`,size:24}),M({prefix:`call`,size:24});var H=z.record(z.string(),yi.optional()),sa=z.record(z.string(),z.string());function ca(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&Object.keys(e).length===0}function la(e){let{type:t,...n}=e;return{...n,type:`dynamic-tool`,toolName:t.slice(5)}}var ua=Rr(()=>qr(z.array(z.object({id:z.string(),role:z.enum([`system`,`user`,`assistant`]),metadata:z.unknown().optional(),parts:z.array(z.union([z.object({type:z.literal(`text`),text:z.string(),state:z.enum([`streaming`,`done`]).optional(),providerMetadata:B.optional()}),z.object({type:z.literal(`reasoning`),id:z.string().optional(),text:z.string(),state:z.enum([`streaming`,`done`]).optional(),providerMetadata:B.optional()}),z.object({type:z.literal(`custom`),kind:z.string(),providerMetadata:B.optional()}),z.object({type:z.literal(`source-url`),sourceId:z.string(),url:z.string(),title:z.string().optional(),providerMetadata:B.optional()}),z.object({type:z.literal(`source-document`),sourceId:z.string(),mediaType:z.string(),title:z.string(),filename:z.string().optional(),providerMetadata:B.optional()}),z.object({type:z.literal(`file`),mediaType:z.string(),filename:z.string().optional(),url:z.string(),providerReference:sa.optional(),providerMetadata:B.optional()}),z.object({type:z.literal(`reasoning-file`),mediaType:z.string(),url:z.string(),providerMetadata:B.optional()}),z.object({type:z.literal(`step-start`)}),z.object({type:z.string().startsWith(`data-`),id:z.string().optional(),data:z.unknown()}),z.object({type:z.literal(`dynamic-tool`),toolName:z.string(),toolCallId:z.string(),toolMetadata:H.optional(),state:z.literal(`input-streaming`),input:z.unknown().optional(),providerExecuted:z.boolean().optional(),callProviderMetadata:B.optional(),output:z.never().optional(),errorText:z.never().optional(),approval:z.never().optional()}),z.object({type:z.literal(`dynamic-tool`),toolName:z.string(),toolCallId:z.string(),toolMetadata:H.optional(),state:z.literal(`input-available`),input:z.unknown(),providerExecuted:z.boolean().optional(),output:z.never().optional(),errorText:z.never().optional(),callProviderMetadata:B.optional(),approval:z.never().optional()}),z.object({type:z.literal(`dynamic-tool`),toolName:z.string(),toolCallId:z.string(),toolMetadata:H.optional(),state:z.literal(`approval-requested`),input:z.unknown(),providerExecuted:z.boolean().optional(),output:z.never().optional(),errorText:z.never().optional(),callProviderMetadata:B.optional(),approval:z.object({id:z.string(),approved:z.never().optional(),descriptor:z.unknown().optional(),requestReason:z.string().optional(),reason:z.never().optional(),isAutomatic:z.boolean().optional(),signature:z.string().optional()})}),z.object({type:z.literal(`dynamic-tool`),toolName:z.string(),toolCallId:z.string(),toolMetadata:H.optional(),state:z.literal(`approval-responded`),input:z.unknown(),providerExecuted:z.boolean().optional(),output:z.never().optional(),errorText:z.never().optional(),callProviderMetadata:B.optional(),approval:z.object({id:z.string(),approved:z.boolean(),descriptor:z.unknown().optional(),requestReason:z.string().optional(),reason:z.string().optional(),isAutomatic:z.boolean().optional(),signature:z.string().optional()})}),z.object({type:z.literal(`dynamic-tool`),toolName:z.string(),toolCallId:z.string(),toolMetadata:H.optional(),state:z.literal(`output-available`),input:z.unknown(),providerExecuted:z.boolean().optional(),output:z.unknown(),errorText:z.never().optional(),callProviderMetadata:B.optional(),resultProviderMetadata:B.optional(),preliminary:z.boolean().optional(),approval:z.object({id:z.string(),approved:z.literal(!0),descriptor:z.unknown().optional(),requestReason:z.string().optional(),reason:z.string().optional(),isAutomatic:z.boolean().optional(),signature:z.string().optional()}).optional()}),z.object({type:z.literal(`dynamic-tool`),toolName:z.string(),toolCallId:z.string(),toolMetadata:H.optional(),state:z.literal(`output-error`),input:z.unknown().optional(),rawInput:z.unknown().optional(),providerExecuted:z.boolean().optional(),output:z.never().optional(),errorText:z.string(),callProviderMetadata:B.optional(),resultProviderMetadata:B.optional(),approval:z.object({id:z.string(),approved:z.literal(!0),descriptor:z.unknown().optional(),requestReason:z.string().optional(),reason:z.string().optional(),isAutomatic:z.boolean().optional(),signature:z.string().optional()}).optional()}),z.object({type:z.literal(`dynamic-tool`),toolName:z.string(),toolCallId:z.string(),toolMetadata:H.optional(),state:z.literal(`output-denied`),input:z.unknown(),providerExecuted:z.boolean().optional(),output:z.never().optional(),errorText:z.never().optional(),callProviderMetadata:B.optional(),approval:z.object({id:z.string(),approved:z.literal(!1),descriptor:z.unknown().optional(),requestReason:z.string().optional(),reason:z.string().optional(),isAutomatic:z.boolean().optional(),signature:z.string().optional()})}),z.object({type:z.string().startsWith(`tool-`),toolCallId:z.string(),toolMetadata:H.optional(),state:z.literal(`input-streaming`),providerExecuted:z.boolean().optional(),callProviderMetadata:B.optional(),input:z.unknown().optional(),output:z.never().optional(),errorText:z.never().optional(),approval:z.never().optional()}),z.object({type:z.string().startsWith(`tool-`),toolCallId:z.string(),toolMetadata:H.optional(),state:z.literal(`input-available`),providerExecuted:z.boolean().optional(),input:z.unknown(),output:z.never().optional(),errorText:z.never().optional(),callProviderMetadata:B.optional(),approval:z.never().optional()}),z.object({type:z.string().startsWith(`tool-`),toolCallId:z.string(),toolMetadata:H.optional(),state:z.literal(`approval-requested`),input:z.unknown(),providerExecuted:z.boolean().optional(),output:z.never().optional(),errorText:z.never().optional(),callProviderMetadata:B.optional(),approval:z.object({id:z.string(),approved:z.never().optional(),descriptor:z.unknown().optional(),requestReason:z.string().optional(),reason:z.never().optional(),isAutomatic:z.boolean().optional(),signature:z.string().optional()})}),z.object({type:z.string().startsWith(`tool-`),toolCallId:z.string(),toolMetadata:H.optional(),state:z.literal(`approval-responded`),input:z.unknown(),providerExecuted:z.boolean().optional(),output:z.never().optional(),errorText:z.never().optional(),callProviderMetadata:B.optional(),approval:z.object({id:z.string(),approved:z.boolean(),descriptor:z.unknown().optional(),requestReason:z.string().optional(),reason:z.string().optional(),isAutomatic:z.boolean().optional(),signature:z.string().optional()})}),z.object({type:z.string().startsWith(`tool-`),toolCallId:z.string(),toolMetadata:H.optional(),state:z.literal(`output-available`),providerExecuted:z.boolean().optional(),input:z.unknown(),output:z.unknown(),errorText:z.never().optional(),callProviderMetadata:B.optional(),resultProviderMetadata:B.optional(),preliminary:z.boolean().optional(),approval:z.object({id:z.string(),approved:z.literal(!0),descriptor:z.unknown().optional(),requestReason:z.string().optional(),reason:z.string().optional(),isAutomatic:z.boolean().optional(),signature:z.string().optional()}).optional()}),z.object({type:z.string().startsWith(`tool-`),toolCallId:z.string(),toolMetadata:H.optional(),state:z.literal(`output-error`),providerExecuted:z.boolean().optional(),input:z.unknown().optional(),rawInput:z.unknown().optional(),output:z.never().optional(),errorText:z.string(),callProviderMetadata:B.optional(),resultProviderMetadata:B.optional(),approval:z.object({id:z.string(),approved:z.literal(!0),descriptor:z.unknown().optional(),requestReason:z.string().optional(),reason:z.string().optional(),isAutomatic:z.boolean().optional(),signature:z.string().optional()}).optional()}),z.object({type:z.string().startsWith(`tool-`),toolCallId:z.string(),toolMetadata:H.optional(),state:z.literal(`output-denied`),providerExecuted:z.boolean().optional(),input:z.unknown(),output:z.never().optional(),errorText:z.never().optional(),callProviderMetadata:B.optional(),approval:z.object({id:z.string(),approved:z.literal(!1),descriptor:z.unknown().optional(),requestReason:z.string().optional(),reason:z.string().optional(),isAutomatic:z.boolean().optional(),signature:z.string().optional()})})]))}).superRefine((e,t)=>{e.role!==`assistant`&&e.parts.length===0&&t.addIssue({origin:`array`,code:`too_small`,minimum:1,inclusive:!0,input:e.parts,path:[`parts`],message:`Message must contain at least one part`})})).nonempty(`Messages array must not be empty`)));async function da({messages:e,metadataSchema:t,dataSchemas:n,tools:r},{convertMissingTerminalToolsToDynamic:i}){try{if(e==null)return{success:!1,error:new ai({parameter:`messages`,value:e,message:`messages parameter must be provided`})};let a=await Jr({value:e,schema:ua});if(t)for(let[e,n]of a.entries())await Jr({value:n.metadata,schema:t,context:{field:`messages[${e}].metadata`,entityId:n.id}});let o=r!=null||i;if(n||o)for(let[e,t]of a.entries())for(let[a,s]of t.parts.entries()){if(n&&s.type.startsWith(`data-`)){let t=s,r=t.type.slice(5),i=n[r];if(!i)return{success:!1,error:new vn({value:t.data,cause:`No data schema found for data part ${r}`,context:{field:`messages[${e}].parts[${a}].data`,entityName:r,entityId:t.id}})};await Jr({value:t.data,schema:i,context:{field:`messages[${e}].parts[${a}].data`,entityName:r,entityId:t.id}})}if(o&&s.type.startsWith(`tool-`)){let n=s,o=n.type.slice(5),c=r==null?void 0:zi(r,o),l=n.state===`output-available`||n.state===`output-error`||n.state===`output-denied`;if(!c&&l){(r!=null||i)&&(t.parts[a]=la(n));continue}if(!c)return{success:!1,error:new vn({value:n.input,cause:`No tool schema found for tool part ${o}`,context:{field:`messages[${e}].parts[${a}].input`,entityName:o,entityId:n.toolCallId}})};let u={field:`messages[${e}].parts[${a}].input`,entityName:o,entityId:n.toolCallId},d=!1;if(n.state===`output-error`)n.input!==void 0&&(d=!(await Yr({value:n.input,schema:c.inputSchema,context:u})).success);else if(n.state===`output-available`){let e=await Yr({value:n.input,schema:c.inputSchema,context:u});if(!e.success){if(ca(n.input))d=!0;else throw e.error}}else(n.state===`input-available`||n.state===`approval-requested`||n.state===`approval-responded`||n.state===`output-denied`)&&await Jr({value:n.input,schema:c.inputSchema,context:u});n.state===`output-available`&&c.outputSchema&&await Jr({value:n.output,schema:c.outputSchema,context:{field:`messages[${e}].parts[${a}].output`,entityName:o,entityId:n.toolCallId}}),d&&(t.parts[a]=la(n))}}return{success:!0,data:a}}catch(e){return{success:!1,error:e}}}async function fa(e){return da(e,{convertMissingTerminalToolsToDynamic:!1})}M({prefix:`call`,size:24}),M({prefix:`call`,size:24}),new TextEncoder,M({prefix:`aiobj`,size:24});var pa=class{constructor(){this.queue=[],this.isProcessing=!1}async processQueue(){if(!this.isProcessing){for(this.isProcessing=!0;this.queue.length>0;)await this.queue[0](),this.queue.shift();this.isProcessing=!1}}async run(e){return new Promise((t,n)=>{this.queue.push(async()=>{try{await e(),t()}catch(e){n(e)}}),this.processQueue()})}};M({prefix:`aiobj`,size:24}),M({prefix:`call`,size:24});async function ma(e){if(e==null)return[];if(!globalThis.FileList||!(e instanceof globalThis.FileList))throw Error(`FileList is not supported in the current environment`);return Promise.all(Array.from(e).map(async e=>{let{name:t,type:n}=e;return{type:`file`,mediaType:n,filename:t,url:await new Promise((t,n)=>{let r=new FileReader;r.onload=e=>{t(e.target?.result)},r.onerror=e=>n(e),r.readAsDataURL(e)})}}))}var ha=class{constructor({api:e=`/api/chat`,credentials:t,headers:n,body:r,fetch:i,prepareSendMessagesRequest:a,prepareReconnectToStreamRequest:o}){this.api=e,this.credentials=t,this.headers=n,this.body=r,this.fetch=i,this.prepareSendMessagesRequest=a,this.prepareReconnectToStreamRequest=o}async sendMessages({abortSignal:e,...t}){let n=await R(this.body),r=await R(this.headers),i=await R(this.credentials),a={...Nn(r),...Nn(t.headers)},o=await this.prepareSendMessagesRequest?.call(this,{api:this.api,id:t.chatId,messages:t.messages,body:{...n,...t.body},headers:a,credentials:i,requestMetadata:t.metadata,trigger:t.trigger,messageId:t.messageId}),s=o?.api??this.api,c=o?.headers===void 0?a:Nn(o.headers),l=o?.body===void 0?{...n,...t.body,id:t.chatId,messages:t.messages,trigger:t.trigger,messageId:t.messageId}:o.body,u=o?.credentials??i,d=await(this.fetch??globalThis.fetch)(s,{method:`POST`,headers:{"Content-Type":`application/json`,...c},body:JSON.stringify(l),credentials:u,signal:e});if(!d.ok)throw Error(await d.text()??`Failed to fetch the chat response.`);if(!d.body)throw Error(`The response body is empty.`);return this.processResponseStream(d.body)}async reconnectToStream(e){let t=await R(this.body),n=await R(this.headers),r=await R(this.credentials),i={...Nn(n),...Nn(e.headers)},a=await this.prepareReconnectToStreamRequest?.call(this,{api:this.api,id:e.chatId,body:{...t,...e.body},headers:i,credentials:r,requestMetadata:e.metadata}),o=a?.api??`${this.api}/${e.chatId}/stream`,s=a?.headers===void 0?i:Nn(a.headers),c=a?.credentials??r,l=await(this.fetch??globalThis.fetch)(o,{method:`GET`,headers:s,credentials:c,signal:e.abortSignal});if(l.status===204)return null;if(!l.ok)throw Error(await l.text()??`Failed to fetch the chat response.`);if(!l.body)throw Error(`The response body is empty.`);return this.processResponseStream(l.body)}},ga=class extends ha{constructor(e={}){super(e)}processResponseStream(e){return Zr({stream:e,schema:Qi}).pipeThrough(new TransformStream({async transform(e,t){if(!e.success)throw e.error;t.enqueue(e.value)}}))}},_a=class{constructor({generateId:e=Mn,id:t=e(),transport:n=new ga,messageMetadataSchema:r,dataPartSchemas:i,state:a,onError:o,onToolCall:s,onFinish:c,onData:l,sendAutomaticallyWhen:u}){this.pendingMessagePreparations=new Set,this.activeResponse=void 0,this.activeResumeRequest=void 0,this.jobExecutor=new pa,this.sendMessage=async(e,t)=>{if(e==null){await this.makeRequest({trigger:`submit-message`,messageId:this.lastMessage?.id,...t});return}let n;if(`text`in e||`files`in e){let t=new AbortController;this.pendingMessagePreparations.add(t);let r;try{r=Array.isArray(e.files)?e.files:await ma(e.files)}finally{this.pendingMessagePreparations.delete(t)}if(t.signal.aborted)return;n={parts:[...r,...`text`in e&&e.text!=null?[{type:`text`,text:e.text}]:[]]}}else n=e;if(e.messageId!=null){let t=this.state.messages.findIndex(t=>t.id===e.messageId);if(t===-1)throw Error(`message with id ${e.messageId} not found`);if(this.state.messages[t].role!==`user`)throw Error(`message with id ${e.messageId} is not a user message`);this.state.messages=this.state.messages.slice(0,t+1),this.state.replaceMessage(t,{...n,id:e.messageId,role:n.role??`user`,metadata:e.metadata})}else this.state.pushMessage({...n,id:n.id??this.generateId(),role:n.role??`user`,metadata:e.metadata});await this.makeRequest({trigger:`submit-message`,messageId:e.messageId,...t})},this.regenerate=async({messageId:e,...t}={})=>{let n=e==null?this.state.messages.length-1:this.state.messages.findIndex(t=>t.id===e);if(n===-1)throw Error(`message ${e} not found`);this.state.messages=this.state.messages.slice(0,this.messages[n].role===`assistant`?n:n+1),await this.makeRequest({trigger:`regenerate-message`,messageId:e,...t})},this.resumeStream=async(e={})=>{await this.makeRequest({trigger:`resume-stream`,...e})},this.clearError=()=>{this.status===`error`&&(this.state.error=void 0,this.setStatus({status:`ready`}))},this.addToolApprovalResponse=async({id:e,approved:t,reason:n,options:r})=>this.jobExecutor.run(async()=>{let i=this.state.messages,a=i[i.length-1],o=r=>V(r)&&r.state===`approval-requested`&&r.approval.id===e?{...r,state:`approval-responded`,approval:{...r.approval,id:e,approved:t,reason:n}}:r;this.state.replaceMessage(i.length-1,{...a,parts:a.parts.map(o)}),this.activeResponse&&(this.activeResponse.state.message.parts=this.activeResponse.state.message.parts.map(o)),this.status!==`streaming`&&this.status!==`submitted`&&this.sendAutomaticallyWhen&&this.shouldSendAutomatically().then(e=>{e&&this.makeRequest({trigger:`submit-message`,messageId:this.lastMessage?.id,...r})})}),this.addToolOutput=async({state:e=`output-available`,toolCallId:t,output:n,errorText:r,options:i})=>this.jobExecutor.run(async()=>{let a=this.state.messages,o=a[a.length-1],s=i=>V(i)&&i.toolCallId===t?{...i,state:e,output:n,errorText:r}:i;this.state.replaceMessage(a.length-1,{...o,parts:o.parts.map(s)}),this.activeResponse&&(this.activeResponse.state.message.parts=this.activeResponse.state.message.parts.map(s)),this.status!==`streaming`&&this.status!==`submitted`&&this.sendAutomaticallyWhen&&this.shouldSendAutomatically().then(e=>{e&&this.makeRequest({trigger:`submit-message`,messageId:this.lastMessage?.id,...i})})}),this.addToolResult=this.addToolOutput,this.stop=async()=>{var e,t;for(let e of this.pendingMessagePreparations)e.abort();(e=this.activeResumeRequest)==null||e.abortController.abort(),(t=this.activeResponse)==null||t.abortController.abort()},this.id=t,this.transport=n,this.generateId=e,this.messageMetadataSchema=r,this.dataPartSchemas=i,this.state=a,this.onError=o,this.onToolCall=s,this.onFinish=c,this.onData=l,this.sendAutomaticallyWhen=u}get status(){return this.state.status}setStatus({status:e,error:t}){this.status!==e&&(this.state.status=e,this.state.error=t)}get error(){return this.state.error}get messages(){return this.state.messages}get lastMessage(){return this.state.messages[this.state.messages.length-1]}set messages(e){this.state.messages=e}async shouldSendAutomatically(){if(!this.sendAutomaticallyWhen)return!1;let e=this.sendAutomaticallyWhen({messages:this.state.messages});return e&&typeof e==`object`&&`then`in e?await e:e}async makeRequest({trigger:e,metadata:t,headers:n,body:r,messageId:i}){var a,o;let s=new AbortController,c=e===`resume-stream`?{abortController:s}:void 0;c&&((a=this.activeResumeRequest)==null||a.abortController.abort(),this.activeResumeRequest=c);let l=()=>c==null||this.activeResumeRequest===c,u=()=>{this.activeResumeRequest===c&&(this.activeResumeRequest=void 0)},d;if(e===`resume-stream`)try{let e=await this.transport.reconnectToStream({chatId:this.id,abortSignal:s.signal,metadata:t,headers:n,body:r});if(s.signal.aborted||!l()){await e?.cancel().catch(()=>{}),l()&&this.setStatus({status:`ready`}),u();return}if(e==null){this.setStatus({status:`ready`}),u();return}d=e}catch(e){if(s.signal.aborted||e.name===`AbortError`){l()&&this.setStatus({status:`ready`}),u();return}if(!l())return;this.onError&&e instanceof Error&&this.onError(e),this.setStatus({status:`error`,error:e}),u();return}this.setStatus({status:`submitted`,error:void 0});let f=this.lastMessage,p=!1,m=!1,h=!1,g;try{let a={state:ia({lastMessage:e===`resume-stream`||e===`regenerate-message`?void 0:this.state.snapshot(f),messageId:this.generateId()}),abortController:s};g=a,a.abortController.signal.addEventListener(`abort`,()=>{p=!0}),this.activeResponse=a;let o;if(o=e===`resume-stream`?d:await this.transport.sendMessages({chatId:this.id,messages:this.state.messages,abortSignal:a.abortController.signal,metadata:t,headers:n,body:r,trigger:e,messageId:i}),await oa({stream:aa({stream:o,onToolCall:this.onToolCall,onData:this.onData,messageMetadataSchema:this.messageMetadataSchema,dataPartSchemas:this.dataPartSchemas,runUpdateMessageJob:e=>this.jobExecutor.run(()=>a.abortController.signal.aborted?Promise.resolve():e({state:a.state,write:({updateStatus:e=!0}={})=>{a.abortController.signal.aborted||(e&&this.setStatus({status:`streaming`}),a.state.message.id===this.lastMessage?.id?this.state.replaceMessage(this.state.messages.length-1,a.state.message):this.state.pushMessage(a.state.message))}})),onError:e=>{throw e}}),abortSignal:a.abortController.signal,onError:e=>{throw e}}),p)return l()&&this.setStatus({status:`ready`}),null;l()&&this.setStatus({status:`ready`})}catch(e){if(p||e.name===`AbortError`)return p=!0,l()&&this.setStatus({status:`ready`}),null;if(!l())return null;h=!0,e instanceof TypeError&&(e.message.toLowerCase().includes(`fetch`)||e.message.toLowerCase().includes(`network`))&&(m=!0),this.onError&&e instanceof Error&&this.onError(e),this.setStatus({status:`error`,error:e})}finally{try{g&&((o=this.onFinish)==null||o.call(this,{message:g.state.message,messages:this.state.messages,isAbort:p,isDisconnect:m,isError:h,finishReason:g.state.finishReason}))}finally{this.activeResponse===g&&(this.activeResponse=void 0),u()}}!h&&await this.shouldSendAutomatically()&&await this.makeRequest({trigger:`submit-message`,messageId:this.lastMessage?.id,metadata:t,headers:n,body:r})}};function va({messages:e}){let t=e[e.length-1];if(!t||t.role!==`assistant`)return!1;let n=t.parts.reduce((e,t,n)=>t.type===`step-start`?n:e,-1),r=t.parts.slice(n+1).filter(V);return r.filter(e=>e.state===`approval-responded`).length>0&&r.every(e=>e.state===`output-available`||e.state===`output-error`||e.state===`output-denied`||e.state===`approval-responded`)}function ya({messages:e}){let t=e[e.length-1];if(!t||t.role!==`assistant`)return!1;let n=t.parts.reduce((e,t,n)=>t.type===`step-start`?n:e,-1),r=t.parts.slice(n+1).filter(V).filter(e=>!e.providerExecuted);return r.length>0&&r.every(e=>e.state===`output-available`||e.state===`output-error`)}var ba=t(((e,t)=>{function n(e,t){if(typeof e!=`function`)throw TypeError(`Expected the first argument to be a \`function\`, got \`${typeof e}\`.`);let n,r=0;return function(...i){clearTimeout(n);let a=Date.now(),o=t-(a-r);o<=0?(r=a,e.apply(this,i)):n=setTimeout(()=>{r=Date.now(),e.apply(this,i)},o)}}t.exports=n})),U=e(l(),1),xa=e(ba(),1),W=Fe(),Sa=(e,t,n)=>{if(!t.has(e))throw TypeError(`Cannot `+n)},G=(e,t,n)=>(Sa(e,t,`read from private field`),n?n.call(e):t.get(e)),K=(e,t,n)=>{if(t.has(e))throw TypeError(`Cannot add the same private member more than once`);t instanceof WeakSet?t.add(e):t.set(e,n)},q=(e,t,n,r)=>(Sa(e,t,`write to private field`),r?r.call(e,n):t.set(e,n),n);function Ca(e,t){return t==null?e:(0,xa.default)(e,t)}function wa(e){return Array.isArray(e)?[...e]:typeof e==`object`&&e&&(Object.getPrototypeOf(e)===Object.prototype||Object.getPrototypeOf(e)===null)?{...e}:e}var J,Ta,Ea,Da,Oa,ka,Aa,ja,Ma,Na=class{constructor(e=[]){K(this,J,void 0),K(this,Ta,`ready`),K(this,Ea,void 0),K(this,Da,new Set),K(this,Oa,new Set),K(this,ka,new Set),this.pushMessage=e=>{q(this,J,G(this,J).concat(e)),G(this,Aa).call(this)},this.popMessage=()=>{q(this,J,G(this,J).slice(0,-1)),G(this,Aa).call(this)},this.replaceMessage=(e,t)=>{q(this,J,[...G(this,J).slice(0,e),this.snapshot(t),...G(this,J).slice(e+1)]),G(this,Aa).call(this)},this.snapshot=e=>{if(typeof e!=`object`||!e||!(`parts`in e)||!Array.isArray(e.parts))return e;let t=e,n={...t,parts:t.parts.map(e=>({...e}))};return`metadata`in t&&(n.metadata=wa(t.metadata)),n},this[`~registerMessagesCallback`]=(e,t)=>{let n=t?Ca(e,t):e;return G(this,Da).add(n),()=>{G(this,Da).delete(n)}},this[`~registerStatusCallback`]=e=>(G(this,Oa).add(e),()=>{G(this,Oa).delete(e)}),this[`~registerErrorCallback`]=e=>(G(this,ka).add(e),()=>{G(this,ka).delete(e)}),K(this,Aa,()=>{G(this,Da).forEach(e=>e())}),K(this,ja,()=>{G(this,Oa).forEach(e=>e())}),K(this,Ma,()=>{G(this,ka).forEach(e=>e())}),q(this,J,e)}get status(){return G(this,Ta)}set status(e){q(this,Ta,e),G(this,ja).call(this)}get error(){return G(this,Ea)}set error(e){q(this,Ea,e),G(this,Ma).call(this)}get messages(){return G(this,J)}set messages(e){q(this,J,[...e]),G(this,Aa).call(this)}};J=new WeakMap,Ta=new WeakMap,Ea=new WeakMap,Da=new WeakMap,Oa=new WeakMap,ka=new WeakMap,Aa=new WeakMap,ja=new WeakMap,Ma=new WeakMap;var Pa,Fa=class extends _a{constructor({messages:e,...t}){let n=new Na(e);super({...t,state:n}),K(this,Pa,void 0),this[`~registerMessagesCallback`]=(e,t)=>G(this,Pa)[`~registerMessagesCallback`](e,t),this[`~registerStatusCallback`]=e=>G(this,Pa)[`~registerStatusCallback`](e),this[`~registerErrorCallback`]=e=>G(this,Pa)[`~registerErrorCallback`](e),q(this,Pa,n)}};Pa=new WeakMap;function Ia({throttle:e,experimental_throttle:t,resume:n=!1,...r}={}){let i=e??t,a=(0,U.useRef)({});`chat`in r||(a.current={onToolCall:r.onToolCall,onData:r.onData,onFinish:r.onFinish,onError:r.onError,sendAutomaticallyWhen:r.sendAutomaticallyWhen,transport:r.transport});let o,s=()=>a.current.transport??(o??=new ga),c={...r,transport:{sendMessages:e=>s().sendMessages(e),reconnectToStream:e=>s().reconnectToStream(e)},onToolCall:e=>{var t;return(t=a.current).onToolCall?.call(t,e)},onData:e=>{var t;return(t=a.current).onData?.call(t,e)},onFinish:e=>{var t;return(t=a.current).onFinish?.call(t,e)},onError:e=>{var t;return(t=a.current).onError?.call(t,e)},sendAutomaticallyWhen:e=>{var t;return(t=a.current).sendAutomaticallyWhen?.call(t,e)??!1}},l=(0,U.useRef)(`chat`in r?r.chat:new Fa(c));(`chat`in r&&r.chat!==l.current||`id`in r&&r.id!=null&&l.current.id!==r.id)&&(l.current=`chat`in r?r.chat:new Fa(c));let u=l.current,d=(0,U.useRef)({chat:u,messages:u.messages});d.current.chat!==u&&(d.current={chat:u,messages:u.messages});let f=(0,U.useCallback)(e=>{let t=!0,n=u[`~registerMessagesCallback`](()=>{!t||d.current.chat!==u||(d.current={chat:u,messages:u.messages},e())},i);return d.current={chat:u,messages:u.messages},()=>{t=!1,n()}},[u,i]),p=(0,U.useCallback)(()=>d.current.messages,[]),m=(0,U.useSyncExternalStore)(f,p,p),h=(0,U.useCallback)(e=>u[`~registerStatusCallback`](()=>{d.current.chat===u&&((u.status===`ready`||u.status===`error`)&&(d.current={chat:u,messages:u.messages}),e())}),[u]),g=(0,U.useCallback)(()=>u.status,[u]),_=(0,U.useSyncExternalStore)(h,g,g),v=(0,U.useSyncExternalStore)(l.current[`~registerErrorCallback`],()=>l.current.error,()=>l.current.error),y=(0,U.useCallback)(e=>{typeof e==`function`&&(e=e(l.current.messages)),l.current.messages=e},[l]);return(0,U.useEffect)(()=>{n&&l.current.resumeStream()},[n,l]),{id:l.current.id,messages:m,setMessages:y,sendMessage:l.current.sendMessage,regenerate:l.current.regenerate,clearError:l.current.clearError,stop:l.current.stop,error:v,resumeStream:l.current.resumeStream,status:_,addToolResult:l.current.addToolOutput,addToolOutput:l.current.addToolOutput,addToolApprovalResponse:l.current.addToolApprovalResponse}}function La(e){return Qe.define({combine:t=>t[0]??e})}var Ra=La({}),za=nt.define(),Ba=nt.define(),Va=50,Ha=$e.define({create(){return{prompts:[],navigationIndex:-1,originalText:``}},update(e,t){let n={...e};t.docChanged&&e.navigationIndex!==-1&&(t.effects.some(e=>e.is(Ba)||e.is(za))||(n.navigationIndex=-1,n.originalText=``));for(let r of t.effects)if(r.is(za)){let i=r.value.trim();i&&(n.prompts=[i,...e.prompts.filter(e=>e!==i)].slice(0,Va),t.state.facet(Ra).save?.(n.prompts)),n.navigationIndex=-1,n.originalText=``}else r.is(Ba)&&(n.navigationIndex=r.value.index,n.originalText=r.value.originalText);return n}}),Ua=e=>{let t=e.state.field(Ha),n=e.state.doc;if(t.prompts.length===0)return!1;let r,i=t.originalText;if(t.navigationIndex===-1){if(n.length>0)return!1;r=0,i=n.toString()}else if(r=Math.min(t.navigationIndex+1,t.prompts.length-1),r===t.navigationIndex)return!1;let a=t.prompts[r];return e.dispatch({changes:{from:0,to:e.state.doc.length,insert:a},effects:Ba.of({index:r,originalText:i})}),!0},Wa=e=>{let t=e.state.field(Ha);if(t.navigationIndex===-1)return!1;let n,r;return t.navigationIndex===0?(n=t.originalText,r=-1):(r=t.navigationIndex-1,n=t.prompts[r]??``),e.dispatch({changes:{from:0,to:e.state.doc.length,insert:n},effects:Ba.of({index:r,originalText:t.originalText})}),!0},Ga=e=>{let t=e.state.doc.toString();return t.trim()?(e.dispatch({effects:za.of(t)}),!0):!1};function Ka(e={}){let{storage:t,defaultKeymap:n=!0}=e,r=[Ha.init(()=>({prompts:t?.load?.()??[],navigationIndex:-1,originalText:``})),Ra.of(t??{})];return n&&r.push(et.of([{key:`ArrowUp`,run:Ua},{key:`ArrowDown`,run:Wa}])),r}var Y=class extends Error{code;isRetryable;suggestedFix;meta;constructor(e,t=`TOOL_ERROR`,n=!1,r,i){super(e),this.name=`ToolExecutionError`,this.code=t,this.isRetryable=n,this.suggestedFix=r,this.meta=i}toStructuredString(){let e=JSON.stringify({message:this.message,code:this.code,is_retryable:this.isRetryable,...this.suggestedFix&&{suggested_fix:this.suggestedFix},...this.meta&&{meta:this.meta}});return`Error invoking tool ${this.name}: ${e}`}},qa=O({status:ve([`success`,`error`,`warning`]).optional(),auth_required:he().optional(),next_steps:Se(D()).optional(),action_url:D().optional(),message:D().optional(),meta:pe(D(),fe()).optional()}),Ja=`cell-completion`,Ya=`notebook-cells-completion`,Xa=`data-${Ja}`,Za=`data-${Ya}`,Qa=O({code:D()}),$a=O({language:ve([`python`,`sql`,`markdown`]),code:D().min(1)}),eo=O({cells:Se($a).min(1)});function to(e){return e.type.startsWith(`data-`)}var X=a(null),no=a(e=>e(X)?.status===`in_progress`),{valueAtom:Z,useActions:ro,createActions:io,reducer:ao}=ut(()=>new Map,{addStagedCell:(e,t)=>{let{cellId:n,edit:r}=t;return new Map([...e,[n,r]])},removeStagedCell:(e,t)=>{if(!e.has(t))return e;let n=new Map(e);return n.delete(t),n}});function oo(e){let t=(0,A.c)(2),n;return t[0]===e?n=t[1]:(n=je(Z,t=>t.get(e),Object.is),t[0]=e,t[1]=n),o(n)}function so(e){let t=(0,A.c)(15),{addStagedCell:n,removeStagedCell:r}=ro(),{createNewCell:i,updateCellCode:a}=d(),o=Je(),s;t[0]!==n||t[1]!==i?(s=e=>{let t=ae.create();return n({cellId:t,edit:{type:`add_cell`}}),i({cellId:`__end__`,code:e,before:!1,newCellId:t}),t},t[0]=n,t[1]=i,t[2]=s):s=t[2];let c=s,l;t[3]!==e||t[4]!==a?(l=t=>{let{cellId:n,code:r}=t;if(!e.get(Z).has(n)){k.error(`Staged cell not found`,{cellId:n});return}let i=te(n);i?ne(i,r):a({cellId:n,code:r,formattingChange:!1})},t[3]=e,t[4]=a,t[5]=l):l=t[5];let u=l,f;t[6]!==o||t[7]!==r?(f=e=>{r(e),o({cellId:e})},t[6]=o,t[7]=r,t[8]=f):f=t[8];let p=f,m;return t[9]!==n||t[10]!==c||t[11]!==p||t[12]!==r||t[13]!==u?(m={createStagedCell:c,updateStagedCell:u,addStagedCell:n,removeStagedCell:r,deleteStagedCell:p},t[9]=n,t[10]=c,t[11]=p,t[12]=r,t[13]=u,t[14]=m):m=t[14],m}function co(e){let t=(0,A.c)(30),n=so(e),{createNewCell:r}=d(),i=(0,U.useRef)(null),a;t[0]===e?a=t[1]:(a={store:e},t[0]=e,t[1]=a),o(X,a);let s;t[2]===e?s=t[3]:(s={store:e},t[2]=e,t[3]=s),o(Z,s);let c;t[4]!==n||t[5]!==e?(c=t=>{let r=e.get(Z);for(let e of t.toReversed())r.has(e)&&n.deleteStagedCell(e)},t[4]=n,t[5]=e,t[6]=c):c=t[6];let l=c,u;t[7]!==r||t[8]!==l||t[9]!==n||t[10]!==e?(u=()=>{let t=e.get(X);t?.status===`in_progress`&&l(t.cellIds),i.current?.reconciler.discard(e.get(Z));let a=Symbol(`staged-cell-generation`);i.current={id:a,status:`in_progress`,reconciler:new lo({...n,createNewCell:r})},e.set(X,{id:a,status:`in_progress`,cellIds:[]})},t[7]=r,t[8]=l,t[9]=n,t[10]=e,t[11]=u):u=t[11];let f=u,p;t[12]===e?p=t[13]:(p=t=>{let n=i.current;if(n?.status!==`in_progress`)return;let r=e.get(X),a=r?.id===n.id&&r.status===`in_progress`;if(!a||!t){n.reconciler.discard(e.get(Z)),a&&e.set(X,null),i.current=null;return}n.status=`complete`,e.set(X,{id:n.id,status:`complete`})},t[12]=e,t[13]=p);let m=p,h;t[14]===e?h=t[15]:(h=()=>{let t=i.current,n=e.get(X);return t!==null&&t.status===`complete`&&n?.status===`complete`&&n.id===t.id&&t.reconciler.hasStagedCells(e.get(Z))},t[14]=e,t[15]=h);let g=h,_;t[16]!==g||t[17]!==e?(_=()=>g()?(i.current?.reconciler.accept(),e.set(X,null),i.current=null,!0):!1,t[16]=g,t[17]=e,t[18]=_):_=t[18];let v=_,y;t[19]===e?y=t[20]:(y=()=>{let t=i.current,n=e.get(X);return t===null||n?.id!==t.id?!1:(t.reconciler.discard(e.get(Z)),e.set(X,null),i.current=null,!0)},t[19]=e,t[20]=y);let b=y,x;t[21]===e?x=t[22]:(x=t=>{if(t.type!==Za)return;let n=i.current,r=e.get(X);if(n?.status!==`in_progress`||r?.id!==n.id||r.status!==`in_progress`)return;let a=eo.parse(t.data);n.reconciler.reconcile(a.cells),e.set(X,{...r,cellIds:n.reconciler.stagedCellIds()})},t[21]=e,t[22]=x);let S=x,C;return t[23]!==v||t[24]!==f||t[25]!==b||t[26]!==m||t[27]!==g||t[28]!==S?(C={beginStagedCellGeneration:f,finishStagedCellGeneration:m,hasOwnedStagedCells:g,acceptOwnedStagedCells:v,discardOwnedStagedCells:b,onData:S},t[23]=v,t[24]=f,t[25]=b,t[26]=m,t[27]=g,t[28]=S,t[29]=C):C=t[29],C}var lo=class{createdCells=[];actions;marimoImportCellId=null;constructor(e){this.actions=e}reconcile(e){for(let[t,n]of e.entries())if(t<this.createdCells.length){let e=this.createdCells[t],r=e.code!==n.code;if(this.createdCells[t]={...e,code:n.code},!r)continue;this.actions.updateStagedCell({cellId:e.cellId,code:n.code})}else{let e=this.actions.createStagedCell(n.code);this.createdCells.push({cellId:e,code:n.code})}let t=this.createdCells.splice(e.length);for(let{cellId:e}of t.toReversed())this.actions.deleteStagedCell(e);this.syncMarimoImport(e)}discard(e){for(let{cellId:t}of this.createdCells.toReversed())e.has(t)&&this.actions.deleteStagedCell(t);this.createdCells=[],this.marimoImportCellId&&e.has(this.marimoImportCellId)&&this.actions.deleteStagedCell(this.marimoImportCellId),this.marimoImportCellId=null}accept(){for(let e of this.stagedCellIds())this.actions.removeStagedCell(e)}hasStagedCells(e){return this.stagedCellIds().some(t=>e.has(t))}stagedCellIds(){let e=this.createdCells.map(({cellId:e})=>e);return this.marimoImportCellId&&e.push(this.marimoImportCellId),e}syncMarimoImport(e){if(!e.some(e=>e.language!==`python`)){this.marimoImportCellId&&=(this.actions.deleteStagedCell(this.marimoImportCellId),null);return}if(this.marimoImportCellId)return;let t=u({autoInstantiate:!1,createNewCell:this.actions.createNewCell,fromCellId:this.createdCells[0]?.cellId,before:!0});t&&(this.actions.addStagedCell({cellId:t,edit:{type:`add_cell`}}),this.marimoImportCellId=t)}},uo={baseDescription:`Perform editing operations on the current notebook. You should prefer to create new cells unless you need to edit existing cells. Call this tool multiple times to perform multiple edits. Separate code into logical individual cells to take advantage of the notebook's reactive execution model.`,prerequisites:[`If you are updating existing cells, you need the cellIds. If they are not known, call the lightweight_cell_map_tool to find out.`],additionalInfo:`
21
+ Args:
22
+ edit (object): The editing operation to perform with the following structure:
23
+ - type: One of "update_cell", "add_cell", or "delete_cell"
24
+ - code (string, optional): Required for "update_cell" and "add_cell" operations. The code content for the cell.
25
+ - position (object): Always present, with the following structure:
26
+ - type: One of "relative", "column_end", or "notebook_end". Not needed for "delete_cell" or "update_cell" operations.
27
+ - cellId (string, optional): Required for "update_cell", "delete_cell", and "add_cell" with "relative" position type
28
+ - columnIndex (number, optional): Required for "add_cell" with "column_end" position type (0-based index)
29
+ - before (boolean, optional): Required for "add_cell" with "relative" position type (true to add before, false to add after)
30
+
31
+ Operation types:
32
+ - update_cell: Update the code of an existing cell. Requires: code, position.cellId
33
+ - add_cell: Add a new cell to the notebook. Requires: code, and position based on position.type:
34
+ - position.type "notebook_end": Add at the end of the notebook (no additional position fields needed)
35
+ - position.type "relative": Add relative to an existing cell. Requires: position.cellId, position.before
36
+ - position.type "column_end": Add at the end of a specific column. Requires: position.columnIndex
37
+ - delete_cell: Delete an existing cell. Requires: position.cellId. For deleting cells, the user needs to accept the deletion to actually delete the cell, so you may still see the cell in the notebook on subsequent edits which is fine.
38
+
39
+ For adding code, use the following guidelines:
40
+ - Markdown cells: use mo.md(f"""{content}""") function to insert content.
41
+ - SQL cells: use mo.sql(f"""{content}""") function to insert content. If a database engine is specified, use mo.sql(f"""{content}""", engine=engine) instead.
42
+
43
+ Returns:
44
+ - A result object containing standard tool metadata.`},fo=O({edit:O({type:ve([`update_cell`,`add_cell`,`delete_cell`]),code:D().optional(),position:O({type:ve([`relative`,`column_end`,`notebook_end`]).optional(),cellId:D().optional(),columnIndex:oe().optional(),before:he().optional()})})}),po=class{name=`edit_notebook_tool`;description=uo;schema=fo;outputSchema=qa;mode=[`agent`];handler=async({edit:e},t)=>{let{addStagedCell:n,createNewCell:r,store:i}=t;switch(e.type){case`update_cell`:{let{position:t,code:r}=e,a=t.cellId;if(!a)throw new Y(`Cell ID is required for update_cell`,`CELL_ID_REQUIRED_FOR_UPDATE_CELL`,!0,`Provide a cell ID to update`);if(!r)throw new Y(`Code is required for update_cell`,`CODE_REQUIRED_FOR_UPDATE_CELL`,!0,`Provide the new code to update the cell`);let o=i.get(S);this.validateCellIdExists(a,o);let s=this.getCellEditorView(a,o);Nt(a);let c=i.get(Z).get(a);if(c?.type===`add_cell`){ne(s,r);break}let l=s.state.doc.toString(),u=c?.previousCode??l;if(r===u)break;n({cellId:a,edit:{type:`update_cell`,previousCode:u}}),ne(s,r);break}case`add_cell`:{let{position:t,code:a}=e,o=`__end__`,s=!1,c=ae.create(),l=i.get(S);switch(t.type){case`relative`:{let e=t.cellId;if(!e)throw new Y(`Cell ID is required for add_cell with relative position`,`TOOL_ERROR`,!0,`Provide a cell ID to add the cell before`);if(t.before===void 0)throw new Y(`Before is required for add_cell with relative position`,`TOOL_ERROR`,!0,`Provide a boolean value for before, true to add before cell ${e}, false to add after the cell`);this.validateCellIdExists(e,l),o=e,s=t.before;break}case`column_end`:if(!t.columnIndex)throw new Y(`Column index is required for add_cell with column_end position`,`TOOL_ERROR`,!0,`Provide a column index to add the cell at the end of`);o={type:`__end__`,columnId:this.getColumnId(t.columnIndex,l)}}r({cellId:o,before:s,code:a,newCellId:c}),n({cellId:c,edit:{type:`add_cell`}}),Nt(c);break}case`delete_cell`:{let{position:t}=e,r=t.cellId;if(!r)throw new Y(`Cell ID is required for delete_cell`,`CELL_ID_REQUIRED_FOR_DELETE_CELL`,!0,`Provide a cell ID to delete`);let a=i.get(S);this.validateCellIdExists(r,a),n({cellId:r,edit:{type:`delete_cell`,previousCode:this.getCellEditorView(r,a).state.doc.toString()}}),Nt(r);break}}return{status:`success`,next_steps:[`If you need to perform more edits, call this tool again.`,`You should use the lint notebook tool to check for errors and lint issues. Fix them by editing the notebook.`,`You should use the run stale cells tool to run the cells that have been edited or newly added. This allows you to see the output of the cells and fix any errors.`]}};validateCellIdExists(e,t){if(!t.cellIds.getColumns().some(t=>t.idSet.has(e)))throw new Y(`Cell not found`,`CELL_NOT_FOUND`,!1,`Check which cells exist in the notebook`)}getColumnId(e,t){let n=t.cellIds.getColumns();if(e<0||e>=n.length)throw new Y(`Column index is out of range`,`COLUMN_INDEX_OUT_OF_RANGE`,!0,`Choose a column index between 0 and the number of columns in the notebook (0-based)`);return n[e].id}getCellEditorView(e,t){let n=t.cellHandles[e].current;if(!n?.editorView)throw new Y(`Cell editor not found`,`CELL_EDITOR_NOT_FOUND`,!1,`Internal error, ask the user to report this error`);return n.editorView}};function mo(e,t){return e?!!([`image/`,`video/`,`audio/`,`application/pdf`].some(t=>e.startsWith(t))||[`svg`,`vega`].some(t=>e.includes(t))||e===`text/html`&&[`<img`,`<video`,`<audio`,`<iframe`,`<canvas`,`<svg`,`<marimo-ui-element`].some(e=>t.includes(e))):!1}var ho=class extends xt{title=`Cell Outputs`;mentionPrefix=`@`;contextType=`cell-output`;store;constructor(e){super(),this.store=e}getItems(){let e=this.store.get(S),t=[];for(let n of e.cellIds.inOrderIds){let r=vo(n,e),i=r.cellOutput;if(!i)continue;let a=i.output.mimetype||`unknown`;t.push({uri:this.asURI(n),name:r.cellName,type:this.contextType,description:`Cell output (${a})`,data:{...r,cellOutput:i}})}return t}formatCompletion(e){let{cellOutput:t,cellName:n,cellCode:r}=e.data;return{label:`@${n}`,displayLabel:n,detail:`${t.outputType} output`,boost:t.outputType===`media`?Mt.HIGH:Mt.MEDIUM,type:this.contextType,section:Bt.CELL_OUTPUT,apply:`@${n}`,info:()=>{let e=document.createElement(`div`);e.classList.add(`mo-cm-tooltip`,`docs-documentation`,`min-w-[300px]`,`max-w-[500px]`,`flex`,`flex-col`,`gap-2`);let i=document.createElement(`div`);i.classList.add(`flex`,`flex-col`,`gap-1`);let a=document.createElement(`div`);a.classList.add(`font-bold`,`text-base`),a.textContent=n,i.append(a);let o=document.createElement(`div`);if(o.classList.add(`text-sm`,`text-muted-foreground`),i.append(o),e.append(i),r){let t=document.createElement(`div`);t.classList.add(`text-xs`,`font-medium`,`text-muted-foreground`),t.textContent=`Code:`,e.append(t);let n=document.createElement(`div`);n.classList.add(`text-xs`,`font-mono`,`bg-muted`,`p-2`,`rounded`,`max-h-20`,`overflow-y-auto`),n.textContent=r.slice(0,200)+(r.length>200?`...`:``),e.append(n)}if(t.processedContent){let n=document.createElement(`div`);n.classList.add(`text-xs`,`font-medium`,`text-muted-foreground`,`mt-2`),n.textContent=`Output Preview:`,e.append(n);let r=document.createElement(`div`);r.classList.add(`text-xs`,`bg-muted`,`p-2`,`rounded`,`max-h-24`,`overflow-y-auto`,`mb-2`),r.textContent=t.processedContent.slice(0,300)+(t.processedContent.length>300?`...`:``),e.append(r)}if(t.outputType===`media`){let t=document.createElement(`div`);t.classList.add(`text-xs`,`text-muted-foreground`,`italic`,`mb-2`),t.textContent=`A screenshot of the output will be attached`,e.append(t)}return e}}}formatContext(e){let{cellOutput:t,cellName:n,cellId:r,cellCode:i}=e.data,a={name:n,cellId:r,outputType:t.outputType,mimetype:t.output.mimetype},o=`Cell Code:\n${i}\n\n`;return t.outputType===`text`&&t.processedContent?o+=`Output:\n${t.processedContent}`:t.outputType===`media`&&(o+=`Media Output: Contains ${t.output.mimetype} content`,t.imageUrl&&(o+=`\nImage URL: ${t.imageUrl}`)),Ot({type:this.contextType,data:a,details:o})}async getAttachments(e){let t=e[0].data.cellId,n=e[0].data.cellName;return go(e.map(e=>e.data.cellOutput),t,n)}};async function go(e,t,n){let r=e.filter(e=>e.shouldDownloadImage&&e.outputType===`media`);if(r.length===0)return[];let i=r.flatMap(e=>{let r=document.getElementById(C.create(t));return r?{cellId:t,cellName:n,mimetype:e.output.mimetype,element:r}:(k.warn(`Output element not found for cell ${t}`),[])});try{return await Promise.all(i.map(async e=>({type:`file`,filename:`${n}-output-screenshot`,mediaType:`image/png`,url:await Ft(e.element)})))}catch(e){return k.error(`Error downloading cell output images:`,e),[]}}function _o(e){if(Ct(e))return null;let t=e.mimetype,n=mo(t,String(e.data))?`media`:`text`,r=Ye(e),i,a=!1;return n===`media`&&(typeof e.data==`string`&&e.data.startsWith(`data:`)||typeof e.data==`string`&&e.data.startsWith(`http`)?i=e.data:a=!0),{processedContent:r,imageUrl:i,shouldDownloadImage:a,outputType:n,output:e}}function vo(e,t,n){let{includeConsoleOutput:r=!1}=n||{},i=t.cellRuntime[e],a=t.cellData[e],o=t.cellIds.inOrderIds.indexOf(e),s=m(a.name,o),c;r&&(c=i.consoleOutputs.map(e=>_o(e)).filter(e=>e!==null));let l,u=i.output;return u&&!Ct(u)&&(l=_o(u)??void 0),{cellId:e,cellName:s,cellCode:a.code,cellOutput:l,consoleOutputs:c}}var yo=200,bo=3e4,xo=2e3,So=3e3,Co=4e4,wo={baseDescription:`Run cells in the current notebook that are stale. Stale cells are cells that have been edited or newly added. You can run this tool after editing the notebook or when requested. The output of the ran cells will be returned alongside metadata.`},To=O({type:ue(`file`),url:D(),mediaType:D()}),Eo=class{name=`run_stale_cells_tool`;description=wo;schema=O({});outputSchema=qa.extend({cellsToOutput:pe(D(),O({consoleOutput:D().optional(),cellOutput:D().optional(),consoleAttachments:Se(To).optional(),cellAttachments:Se(To).optional()}).nullable()).optional()});mode=[`agent`];postExecutionDelay;constructor(e){this.postExecutionDelay=e?.postExecutionDelay??yo}handler=async(e,t)=>{let{prepareForRun:n,sendRun:r,store:i}=t,a=i.get(S),o=ee(a);if(o.length===0)return{status:`success`,message:`No stale cells found.`};if(await St({cellIds:o,sendRun:r,prepareForRun:n,notebook:a}),!await this.waitForCellsToFinish(i,o,bo,this.postExecutionDelay))return{status:`success`,message:`No output was returned because some cells have not finished executing`};let s=i.get(S),c=new Map,l=!1,u=!1,d=0;for(let e of o){let t=vo(e,s,{includeConsoleOutput:!0}),n=t.cellOutput,r=t.consoleOutputs,i=r&&r.length>0;if((n&&this.outputHasErrors(n)||i&&r.some(e=>this.outputHasErrors(e)))&&(l=!0),!n&&!i){c.set(e,null);continue}if(d>=Co){c.set(e,{cellOutput:`Cell executed (output omitted due to context limits).`});continue}let a,o;n&&(a=this.formatOutputString(n),d+=a.length),i&&(u=!0,o=r.map(e=>this.formatOutputString(e)).join(`
45
+ `),o=this.truncateString(o,xo),d+=o.length),c.set(e,{cellOutput:a,consoleOutput:o})}if(c.size===0)return{status:`success`,message:`Stale cells have been run. No output was returned.`};let f=[`Review the output of the cells. The CellId is the key of the result object.`,l?`There are errors in the cells. Please fix them by using the edit notebook tool and the given CellIds.`:`You may edit the notebook further with the given CellIds.`];return{status:`success`,cellsToOutput:Object.fromEntries(c),message:u?`Console output represents the stdout or stderr of the cell (eg. print statements).`:void 0,next_steps:f}};outputHasErrors(e){return e.output.mimetype===`application/vnd.marimo+error`||e.output.mimetype===`application/vnd.marimo+traceback`}formatOutputString(e){let{outputType:t,processedContent:n,imageUrl:r,output:i}=e;if(t===`media`){let e=`Media Output: Contains ${i.mimetype} content`;return r?`${e}\nImage URL: ${r}`:e}if(i.mimetype===`text/html`)return`HTML Output: text/html content (${(typeof i.data==`string`?i.data.length:JSON.stringify(i.data).length).toLocaleString()} chars). Full output visible in notebook UI.`;let a=this.outputHasErrors(e)?So:xo,o=n;return o||=typeof i.data==`string`?i.data:JSON.stringify(i.data),`Output:\n${this.truncateString(o,a)}`}truncateString(e,t){return e.length<=t?e:`${e.slice(0,t)}\n\n[TRUNCATED: ${e.length.toLocaleString()} → ${t.toLocaleString()} chars. Full output visible in the notebook UI.]`}async waitForCellsToFinish(e,t,r,i){let a=e=>t.every(t=>{let n=e.cellRuntime[t];return n?.status!==`running`&&n?.status!==`queued`}),o=async()=>(i>0&&await new Promise(e=>setTimeout(e,i)),!0);if(a(e.get(S)))return await o();try{return await Promise.race([n(S,a),new Promise((e,t)=>setTimeout(()=>t(Error(`timeout`)),r))]),await o()}catch{return!1}}};function Do(e){let t=e.baseDescription;return e.whenToUse&&(t+=`\n\n## When to use:\n- ${e.whenToUse.join(`
46
+ - `)}`),e.avoidIf&&(t+=`\n\n## Avoid if:\n- ${e.avoidIf.join(`
47
+ - `)}`),e.prerequisites&&(t+=`\n\n## Prerequisites:\n- ${e.prerequisites.join(`
48
+ - `)}`),e.sideEffects&&(t+=`\n\n## Side effects:\n- ${e.sideEffects.join(`
49
+ - `)}`),e.additionalInfo&&(t+=`\n\n## Additional info:\n- ${e.additionalInfo}`),t}var Oo=class{tools=new Map;constructor(e=[]){this.tools=new Map(e.map(e=>[e.name,e]))}has(e){return this.tools.has(e)}getToolOrThrow(e){let t=this.tools.get(e);if(!t)throw Error(`Tool ${e} not found`);return t}async invoke({toolName:e,rawArgs:t,toolContext:n}){let r=this.getToolOrThrow(e),i=r.handler,a=r.schema,o=r.outputSchema;try{let r=await a.safeParseAsync(t);if(r.error)throw new Y(`Tool ${e} returned invalid input: ${_e(r.error)}`,`INVALID_ARGUMENTS`,!0,`Please check the arguments and try again.`);let s=r.data,c=await i(s,n),l=await o.safeParseAsync(c);if(l.error){let t=_e(l.error);throw Error(`Tool ${e} returned invalid output: ${t}`)}return{tool_name:e,result:l.data,error:null}}catch(n){return n instanceof Y?{tool_name:e,result:null,error:n.toStructuredString()}:{tool_name:e,result:null,error:new Y(n instanceof Error?n.message:String(n),`TOOL_ERROR`,!1,`Check the error message and try again with valid arguments.`,{args:t,errorType:n?.constructor?.name??typeof n}).toStructuredString()}}}getToolSchemas(e){return[...this.tools.values()].filter(t=>t.mode.includes(e)).map(e=>({name:e.name,description:Do(e.description),parameters:se(e.schema),source:`frontend`,mode:e.mode}))}};T([v()],Oo.prototype,`getToolSchemas`,null);var ko=new Oo([new po,new Eo]);function Ao(e,t){let n=[`Code:\n${e.cellCode}`];if(e.tracebackHtml&&n.push(`Traceback:\n${y(e.tracebackHtml)}`),e.errorData.length>0&&n.push(e.errorData.map(e=>Ut(e)).join(`
50
+
51
+ `)),e.errorData.some(e=>e.type===`sql-error`)){let r=Vt(e.cellId,t);r&&n.push(`Database schema:\n${r}`)}return n.join(`
52
+
53
+ `)}function jo(e,t){return Ot({type:`error`,data:{name:e.cellName||`Cell ${e.cellId}`,cellId:e.cellId},details:Ao(e,t)})}function Mo(e){return e.errorData.length===1?Wt(e.errorData[0]):e.errorData.length>1?`${e.errorData.length} errors`:e.tracebackHtml?y(e.tracebackHtml).trim().split(`
54
+ `).find(e=>e.trim())?.trim()||`traceback`:`error`}function No(e){return`Error: ${e.cellName||`Cell ${e.cellId}`}`}var Po=new _(`error`,`errors`),Fo=class extends xt{title=`Errors`;mentionPrefix=`@`;contextType=`error`;store;constructor(e){super(),this.store=e}getItems(){let e=Ht(this.store);if(e.length===0)return[];let t=[{uri:this.asURI(`all`),name:`Errors`,type:this.contextType,data:{type:`all-errors`,errors:e},description:`All errors in the notebook`}];for(let n of e)t.push({uri:this.asURI(n.cellId),name:No(n),type:this.contextType,data:{type:`cell-error`,error:n},description:Mo(n)});return t}formatCompletion(e){if(e.data.type===`all-errors`){let t=e.data.errors.length;return{label:`@Errors`,displayLabel:`Errors`,detail:`${t} ${Po.pluralize(t)}`,type:`error`,apply:`@error://all`,section:Bt.ERROR,info:()=>{let e=document.createElement(`div`);e.classList.add(`mo-cm-tooltip`,`docs-documentation`,`min-w-[200px]`,`flex`,`flex-col`,`gap-1`,`p-2`);let n=document.createElement(`div`);n.classList.add(`flex`,`flex-col`,`gap-1`);let r=document.createElement(`div`);r.classList.add(`font-bold`,`text-base`),r.textContent=`Errors`,n.append(r);let i=document.createElement(`div`);return i.classList.add(`text-sm`,`text-muted-foreground`),i.textContent=`${t} ${Po.pluralize(t)}`,n.append(i),e.append(n),e}}}if(e.data.type===`cell-error`){let{error:t}=e.data;return{...this.createBasicCompletion(e,{detail:Mo(t),type:`error`}),section:Bt.ERROR}}return{label:`Error`,displayLabel:`Error`,section:Bt.ERROR}}formatContext(e){return(e.data.type===`all-errors`?e.data.errors:[e.data.error]).map(e=>jo(e,this.store)).join(`
55
+
56
+ `)}},Io=x(),Lo={maxDepth:3,maxResults:20,defaultResultsLimit:5,includeDirectories:!1},Ro=class extends xt{title=`Files`;mentionPrefix=`#`;contextType=`file`;apiRequests;config;constructor(e,t=Lo){super(),this.apiRequests=e,this.config=t}createCompletionSource(){return async e=>{let t=e.matchBefore(/#[^\s#]*/);if(!t)return null;let n=t.text;if(!n.startsWith(`#`))return null;let r=n.slice(1);if(r.length===0)return this.getDefaultCompletions(t);try{let e=(await this.searchFiles(r)||[]).map(e=>{let t={uri:this.asURI(e.path),name:e.name,type:this.contextType,description:e.isDirectory?`Directory`:`File`,data:{path:e.path,isDirectory:e.isDirectory}};return this.formatCompletion(t)});return{from:t.from,options:e}}catch(e){return k.error(`Failed to search files:`,e),null}}}searchFiles=async(e,t={})=>{let{maxDepth:n,maxResults:r,includeDirectories:i}={...this.config,...t};return(await this.apiRequests.sendSearchFiles({query:e,includeFiles:!0,includeDirectories:i,depth:n,limit:r})).files};async getDefaultCompletions(e){try{for(let t of[`py`,`md`,`csv`])try{let n=await this.searchFiles(t,{maxDepth:1,maxResults:5});if(n&&n.length>0){let t=n.map(e=>{let t={uri:this.asURI(e.path),name:e.name,type:this.contextType,description:e.isDirectory?`Directory`:`File`,data:{path:e.path,isDirectory:e.isDirectory}};return this.formatCompletion(t)});return{from:e.from,options:t}}}catch(e){k.error(`Failed to get default file completions:`,e)}return{from:e.from,options:[]}}catch(e){return k.error(`Failed to get default file completions:`,e),null}}getItems(){return[]}formatCompletion(e){let{data:t,name:n}=e,r=t.isDirectory?`📁`:`📄`;return{...this.createBasicCompletion(e),type:`file`,section:Bt.FILE,boost:t.isDirectory?Mt.MEDIUM:Mt.LOW,detail:t.path,displayLabel:`${r} ${n}`,apply:async(e,r,i,a)=>{let o=e.state.facet(Io)?.addAttachment;if(!o){k.warn(`No addAttachment callback provided`);return}let s=await this.apiRequests.sendFileDetails({path:t.path}).catch(e=>(Ze({title:`Failed to get file details`,description:e.message}),null));if(!s)return;let c=s.mimeType||`text/plain`,l=Pt({contents:s.contents??``,mimeType:c,isBase64:s.isBase64??!1});o(new File([l],n,{type:c})),e.dispatch({changes:{from:i,to:a,insert:``}}),pt(e)},info:()=>{let e=document.createElement(`div`);e.classList.add(`flex`,`flex-col`,`gap-1`,`p-2`);let r=document.createElement(`div`);r.classList.add(`font-bold`),r.textContent=n,e.append(r);let i=document.createElement(`div`);return i.classList.add(`text-xs`,`text-muted-foreground`),i.textContent=t.path,e.append(i),e}}}formatContext(e){let{data:t,name:n}=e;return Ot({type:this.contextType,data:{name:n,path:t.path,isDirectory:t.isDirectory},details:t.isDirectory?`Directory containing files and subdirectories`:`File`})}},zo=class extends xt{title=`Tables`;mentionPrefix=`@`;contextType=`data`;tablesMap;constructor(e){super(),this.tablesMap=e}getItems(){return[...this.tablesMap.entries()].map(([e,t])=>({uri:this.asURI(e),name:e,type:this.contextType,description:t.source===`memory`?`in-memory`:t.source,data:t}))}formatContext(e){let{data:t}=e,{columns:n,source:r,num_rows:i,num_columns:a,name:o,variable_name:s}=t,c=[i==null?void 0:`${i} rows`,a==null?void 0:`${a} columns`].filter(Boolean).join(`, `),l=``;if(c&&(l+=`Shape: ${c}\n`),s&&(l+=`Variable: ${s}\n`),n&&n.length>0){l+=`Columns:
57
+ `;for(let e of n){let t=` ${e.name} (${e.type})`;if(e.sample_values&&e.sample_values.length>0){let n=e.sample_values.slice(0,3).map(e=>e===null?`null`:String(e)).join(`, `);t+=` - samples: [${n}]`}l+=`${t}\n`}}return Ot({type:this.contextType,data:{name:o,source:r??`unknown`},details:l.trim()})}formatCompletion(e){let t=e.data.name,n=e.data;return{label:`@${t}`,displayLabel:t,detail:n.source===`memory`?`in-memory`:n.source,boost:n.source_type===`local`?Mt.LOCAL_TABLE:Mt.REMOTE_TABLE,type:p(n),apply:`@${t}`,section:{name:p(n)===`dataframe`?`Dataframe`:`Table`,rank:Bt.TABLE.rank},info:()=>this.createTableInfoElement(t,n)}}createTableInfoElement(e,t){let n=document.createElement(`div`);n.classList.add(`mo-cm-tooltip`,`docs-documentation`,`min-w-[200px]`,`flex`,`flex-col`,`gap-1`,`p-2`);let r=document.createElement(`div`);r.classList.add(`flex`,`flex-col`,`gap-1`);let i=document.createElement(`div`);if(i.classList.add(`font-bold`,`text-base`),i.textContent=e,r.append(i),t.source){let e=document.createElement(`div`);e.classList.add(`text-xs`,`text-muted-foreground`),e.textContent=`Source: ${t.source}`,r.append(e)}n.append(r);let a=[t.num_rows==null?void 0:`${t.num_rows} rows`,t.num_columns==null?void 0:`${t.num_columns} columns`].filter(Boolean).join(`, `);if(a){let e=document.createElement(`div`);e.classList.add(`text-xs`,`bg-muted`,`px-2`,`py-1`,`rounded`),e.textContent=a,n.append(e)}if(t.columns&&t.columns.length>0){let e=document.createElement(`div`);e.classList.add(`overflow-auto`,`max-h-60`);let r=document.createElement(`table`);r.classList.add(`w-full`,`text-xs`,`border-collapse`);let i=r.insertRow();i.classList.add(`bg-muted`);let a=i.insertCell();a.classList.add(`p-2`,`font-medium`,`text-left`),a.textContent=`Column`;let o=i.insertCell();o.classList.add(`p-2`,`font-medium`,`text-left`),o.textContent=`Type`;let s=t.columns.some(e=>this.getItemMetadata(t,e)!==void 0),c;s&&(c=i.insertCell(),c.classList.add(`p-2`,`font-medium`,`text-left`),c.textContent=`Metadata`),t.columns.forEach((e,n)=>{let i=r.insertRow();i.classList.add(n%2==0?`bg-background`:`bg-muted/30`);let a=i.insertCell();a.classList.add(`p-2`,`font-mono`),a.textContent=e.name;let o=i.insertCell();if(o.classList.add(`p-2`,`text-muted-foreground`),o.textContent=e.type,s){let n=i.insertCell();n.classList.add(`p-2`);let r=this.getItemMetadata(t,e);r&&n.append(r)}}),e.append(r),n.append(e)}return n}getItemMetadata(e,t){let n=e.primary_keys?.includes(t.name),r=e.indexes?.includes(t.name);if(n||r){let e=document.createElement(`span`);e.textContent=n?`PK`:`IDX`;let t=n?`bg-blue-100 text-blue-800 dark:bg-blue-900 dark:text-blue-200`:`bg-amber-100 text-amber-800 dark:bg-amber-900 dark:text-amber-200`;return e.classList.add(`text-xs`,`px-1.5`,`py-0.5`,`rounded-full`,`font-medium`,...t.split(` `)),e}}},Bo=class extends xt{title=`Variables`;mentionPrefix=`@`;contextType=`variable`;variables;tablesMap;constructor(e,t){super(),this.variables=e,this.tablesMap=t}getItems(){let e=new Set(this.tablesMap.keys());return Object.entries(this.variables).flatMap(([t,n])=>e.has(t)?[]:[{uri:this.asURI(t),name:t,type:this.contextType,description:n.dataType??``,dataType:n.dataType,data:{variable:n}}])}formatCompletion(e){let{data:t}=e,{variable:n}=t;return{label:`@${n.name}`,displayLabel:n.name,detail:n.dataType??``,type:this.contextType,section:Bt.VARIABLE,info:()=>w(n)}}formatContext(e){let{data:t}=e,{variable:n}=t;return Ot({type:this.contextType,data:{name:n.name,dataType:n.dataType},details:n.value==null?void 0:JSON.stringify(n.value)})}};function Vo(e){let t=e.get(h),n=e.get(E),r=e.get(ie);return new Lt().register(new zo(n)).register(new Bo(r,n)).register(new Fo(e)).register(new ho(e)).register(new It(t.connectionsMap,n))}function Ho(){return new Ro(ht())}function Uo({input:e}){let t=``;return e.includes(`@`)&&(t=Zo(e),k.debug(`Included context`,t)),{includeOtherCode:b(``),context:{plainText:t,schema:[],variables:[]}}}var Wo=`data-marimo-context`,Go={marimo:{source:`context`}};function Ko(e){return e.type===`file`&&e.providerMetadata?.marimo?.source===Go.marimo.source}function qo(e){return{...e,providerMetadata:{...e.providerMetadata,marimo:{...e.providerMetadata?.marimo,...Go.marimo}}}}async function Jo(e){if(!e.includes(`@`))return{plainText:``,contextIds:[],attachments:[]};let t=Vo(s),n=t.parseAllContextIds(e);if(n.length===0)return{plainText:``,contextIds:[],attachments:[]};let r=t.formatContextForAI(n),i=[];try{i=(await t.getAttachmentsForContext(n)).map(qo)}catch(e){k.error(`Error getting attachments:`,e)}return{plainText:r,contextIds:n,attachments:i}}async function Yo(e){let{plainText:t,contextIds:n,attachments:r}=await Jo(e),i=null;return t.trim()&&(i={type:Wo,data:{plainText:t,contextIds:n.map(String)}}),{contextPart:i,attachments:r}}async function Xo({input:e}){let{plainText:t,attachments:n}=await Jo(e);return{body:{includeOtherCode:b(``),context:{plainText:t,schema:[],variables:[]}},attachments:n}}function Zo(e){let t=Vo(s),n=t.parseAllContextIds(e);return t.formatContextForAI(n)}function Qo(e,t=[]){return n=>{let r=e.map(e=>n.matchBefore(e)).find(Boolean);return!r||r&&r.from===r.to&&!n.explicit?null:{from:r?.from,options:[...t]}}}function $o(e){if(e.current?.view){let t=e.current.view.state.selection.main.from;e.current.view.dispatch({changes:{from:t,to:t,insert:`@`},selection:{anchor:t+1,head:t+1}}),e.current.view.focus(),dt(e.current.view)}}var es=new Set([`openai`,`google`,`anthropic`]),ts=[`image/*`,`text/*`],ns=52428800;function rs(e){return e.length>50?`${e.slice(0,50)}...`:e}async function is(e){return await Promise.all(e.map(async e=>({type:`file`,mediaType:e.type,filename:e.name,url:await jt(e,`dataUrl`)})))}function as(e){if(e.length===0)return!1;let t=e.at(-1);if(!t||t.role!==`assistant`||!t.parts)return!1;let n=t.parts;return n.length!==0&&n[n.length-1].type===`reasoning`}function os(e){return e.map(e=>e.type===`text`?e.text:``).join(`
58
+ `)}async function ss(e){let t=await Xo({input:os(e.flatMap(e=>e.parts))});function n(e,n){return n?{...e,parts:[...e.parts,...t.attachments]}:e}return{...t.body,uiMessages:e.map((t,r)=>n(t,r===e.length-1))}}async function cs({invokeAiTool:e,addToolOutput:t,toolCall:n,toolContext:r}){try{if(ko.has(n.toolName)){let e=await ko.invoke({toolName:n.toolName,rawArgs:n.input,toolContext:r});t({tool:n.toolName,toolCallId:n.toolCallId,output:e.result||e.error})}else{let r=await e({toolName:n.toolName,arguments:n.input??{}});t({tool:n.toolName,toolCallId:n.toolCallId,output:r.result||r.error})}}catch(e){k.error(`Tool call failed:`,e),t({tool:n.toolName,toolCallId:n.toolCallId,output:`Error: ${e instanceof Error?e.message:String(e)}`})}}function ls(e){let t=e.at(-1);if(!t||t.role!==`assistant`)return!1;let n=t.parts.at(-1);return!n||!V(n)?!1:ya({messages:e})||va({messages:e})||n.state===`output-denied`&&!n.providerExecuted}function us(e){let t=e.at(-1);return!t||t.role!==`assistant`?!1:t.parts.some(e=>V(e)&&ds(e.state))}function ds(e){switch(e){case`approval-requested`:case`input-streaming`:case`input-available`:return!0;case`approval-responded`:case`output-available`:case`output-error`:case`output-denied`:return!1;default:return e}}function fs(){let e=(0,A.c)(7),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=[],e[0]=t):t=e[0];let[n,r]=(0,U.useState)(t),i;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(i=e=>{if(e.length!==0){if(e.reduce(ps,0)>ns){Ze({title:`File size exceeded`,description:`Attachments must be under 50 MB`,variant:`danger`});return}r(t=>[...t,...e])}},e[1]=i):i=e[1];let a=c(i),o;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(o=()=>r([]),e[2]=o):o=e[2];let s=o,l;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(l=e=>r(t=>t.filter(t=>t!==e)),e[3]=l):l=e[3];let u=l,d;return e[4]!==a||e[5]!==n?(d={files:n,addFiles:a,clearFiles:s,removeFile:u},e[4]=a,e[5]=n,e[6]=d):d=e[6],d}function ps(e,t){return e+t.size}function ms(e){return e.isError?!1:e.isAbort?!0:!e.hasPendingToolCalls&&!e.hasUnresolvedToolCalls}function hs(){let[e,t]=(0,U.useState)([]),n=(0,U.useRef)([]),r=(0,U.useRef)(!1);return n.current=e,r.current=e.length>0,{messages:e,enqueue:c(e=>{t(t=>{let i=[...t,{id:_t(),parts:e}];return n.current=i,r.current=!0,i})}),flushNext:c(e=>{let i=n.current;if(i.length===0)return;let[a,...o]=i;n.current=o,r.current=o.length>0,t(o),e(a.parts)}),clear:c(()=>{n.current=[],r.current=!1,t([])}),hasQueuedRef:r}}var gs=e=>{let t=(0,A.c)(6),{attachment:n}=e;if(n.mediaType?.startsWith(`image/`)){let e=n.filename||`Attachment`,r;return t[0]!==n.url||t[1]!==e?(r=(0,W.jsx)(`img`,{src:n.url,alt:e,className:`max-h-[100px] max-w-[100px] object-contain mb-1.5`}),t[0]=n.url,t[1]=e,t[2]=r):r=t[2],r}let r;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,W.jsx)(zt,{className:`h-3 w-3 mt-0.5`}),t[3]=r):r=t[3];let i=n.filename||`Attachment`,a;return t[4]===i?a=t[5]:(a=(0,W.jsxs)(`div`,{className:`flex flex-row gap-1 items-center text-xs`,children:[r,i]}),t[4]=i,t[5]=a),a},_s=e=>{let t=(0,A.c)(12),{file:n,className:r,onRemove:i}=e,[a,o]=(0,U.useState)(!1),s;t[0]===r?s=t[1]:(s=Pe(`py-1 px-1.5 bg-muted rounded-md cursor-pointer flex flex-row gap-1 items-center text-xs`,r),t[0]=r,t[1]=s);let c,l;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(c=()=>o(!0),l=()=>o(!1),t[2]=c,t[3]=l):(c=t[2],l=t[3]);let u;t[4]!==n||t[5]!==a||t[6]!==i?(u=a?(0,W.jsx)(Ke,{className:`h-3 w-3 mt-0.5`,onClick:i}):xs(n),t[4]=n,t[5]=a,t[6]=i,t[7]=u):u=t[7];let d;return t[8]!==n.name||t[9]!==s||t[10]!==u?(d=(0,W.jsxs)(`div`,{className:s,onMouseEnter:c,onMouseLeave:l,children:[u,n.name]}),t[8]=n.name,t[9]=s,t[10]=u,t[11]=d):d=t[11],d},vs=e=>{let t=(0,A.c)(12),{isLoading:n,onStop:r,onSendClick:i,isEmpty:a,showStopLabel:o}=e,s=o!==void 0&&o,c;t[0]===s?c=t[1]:(c=s?(0,W.jsxs)(`div`,{className:`flex flex-row items-center gap-1 px-1.5`,children:[(0,W.jsx)(`span`,{className:`text-xs text-error`,children:`Stop`}),(0,W.jsx)(Dt,{size:`small`})]}):(0,W.jsx)(Kt,{className:`size-4 text-error`}),t[0]=s,t[1]=c);let l=c,u=n?`Stop`:`Submit`,d=n?r:i,f=!n&&a,p;t[2]!==n||t[3]!==l?(p=n?l:(0,W.jsx)(Jt,{className:`h-3.5 w-3.5`}),t[2]=n,t[3]=l,t[4]=p):p=t[4];let m;t[5]!==d||t[6]!==f||t[7]!==p?(m=(0,W.jsx)(He,{variant:`text`,size:`sm`,className:`h-6 min-w-6 p-0 hover:bg-muted/30 cursor-pointer`,onClick:d,disabled:f,children:p}),t[5]=d,t[6]=f,t[7]=p,t[8]=m):m=t[8];let h;return t[9]!==u||t[10]!==m?(h=(0,W.jsx)(Ve,{content:u,children:m}),t[9]=u,t[10]=m,t[11]=h):h=t[11],h},ys=e=>{let t=(0,A.c)(4),{handleAddContext:n,isLoading:r}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,W.jsx)(wt,{className:`h-3.5 w-3.5`}),t[0]=i):i=t[0];let a;return t[1]!==n||t[2]!==r?(a=(0,W.jsx)(Ve,{content:`Add context`,children:(0,W.jsx)(He,{variant:`text`,size:`icon`,onClick:n,disabled:r,children:i})}),t[1]=n,t[2]=r,t[3]=a):a=t[3],a},bs=e=>{let t=(0,A.c)(15),{fileInputRef:n,isLoading:r,onAddFiles:i}=e,a;t[0]===n?a=t[1]:(a=()=>n.current?.click(),t[0]=n,t[1]=a);let o;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,W.jsx)(qt,{className:`h-3.5 w-3.5`}),t[2]=o):o=t[2];let s;t[3]!==r||t[4]!==a?(s=(0,W.jsx)(Ve,{content:`Attach a file`,children:(0,W.jsx)(He,{variant:`text`,size:`icon`,onClick:a,disabled:r,children:o})}),t[3]=r,t[4]=a,t[5]=s):s=t[5];let c;t[6]===i?c=t[7]:(c=e=>{e.target.files&&i([...e.target.files])},t[6]=i,t[7]=c);let l;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(l=ts.join(`,`),t[8]=l):l=t[8];let u;t[9]!==n||t[10]!==c?(u=(0,W.jsx)(Xe,{ref:n,type:`file`,multiple:!0,hidden:!0,onChange:c,accept:l}),t[9]=n,t[10]=c,t[11]=u):u=t[11];let d;return t[12]!==s||t[13]!==u?(d=(0,W.jsxs)(W.Fragment,{children:[s,u]}),t[12]=s,t[13]=u,t[14]=d):d=t[14],d};function xs(e){let t=`h-3 w-3 mt-0.5`;return e.type.startsWith(`image/`)?(0,W.jsx)(At,{className:t}):e.type.startsWith(`text/`)?(0,W.jsx)(Ge,{className:t}):(0,W.jsx)(zt,{className:t})}var Ss=e=>{let t=(0,A.c)(15),{icon:n,title:r,subtitle:i,href:a}=e,o;t[0]===r?o=t[1]:(o=(0,W.jsx)(`span`,{className:`truncate font-medium`,children:r}),t[0]=r,t[1]=o);let s;t[2]===i?s=t[3]:(s=i&&(0,W.jsxs)(`span`,{className:`truncate opacity-70`,children:[`(`,i,`)`]}),t[2]=i,t[3]=s);let c;t[4]!==n||t[5]!==o||t[6]!==s?(c=(0,W.jsxs)(W.Fragment,{children:[n,o,s]}),t[4]=n,t[5]=o,t[6]=s,t[7]=c):c=t[7];let l=c;if(a&&Ae(a)){let e=i??r,n;return t[8]!==l||t[9]!==a||t[10]!==e?(n=(0,W.jsx)(`a`,{href:a,target:`_blank`,rel:`noopener noreferrer`,title:e,className:`inline-flex max-w-full items-center gap-1.5 rounded-md border bg-muted/50 px-2 py-1 my-1 text-xs text-muted-foreground hover:bg-muted hover:text-foreground transition-colors`,children:l}),t[8]=l,t[9]=a,t[10]=e,t[11]=n):n=t[11],n}let u=i??r,d;return t[12]!==l||t[13]!==u?(d=(0,W.jsx)(`div`,{className:`inline-flex max-w-full items-center gap-1.5 rounded-md border bg-muted/50 px-2 py-1 my-1 text-xs text-muted-foreground`,title:u,children:l}),t[12]=l,t[13]=u,t[14]=d):d=t[14],d},Cs=nt.define(),Q=$e.define({create(){return new Map},update(e,t){let n=!1,r=e;for(let i of t.effects)if(i.is(Cs)){n||=(r=new Map(e),!0);for(let[e,t]of i.value)r.set(e,t)}return r}}),ws=$e.define({create(){return{onResourceClick:void 0,onResourceMouseOver:void 0,onResourceMouseOut:void 0,onPromptSubmit:void 0}},update(e){return e}}),Ts=nt.define();$e.define({create(){return new Map},update(e,t){let n=!1,r=e;for(let i of t.effects)if(i.is(Ts)){n||=(r=new Map(e),!0);for(let[e,t]of i.value)r.set(e,t)}return r}});var Es=(e,t)=>async n=>{let r=n.matchBefore(/@(\w+)?/);if(!r||r.from===r.to&&!n.explicit)return null;let i=await e();if(i.length===0)return null;let a=Cs.of(new Map(i.map(e=>[e.uri,e])));n.view&&n.view.dispatch({effects:a});let o=i.map(e=>({label:`@${e.name}`,displayLabel:e.name,detail:e.uri,info:e.description||void 0,type:e.mimeType?`constant`:`variable`,boost:e.description?100:0,...t?.(e),apply:(t,n,r,i)=>{t.dispatch({changes:{from:r,to:i,insert:`@${e.uri} `}})}}));return{from:r.from,options:o}},Ds=/@[\w-]+:\/\/(?!\/)[^\s]+/;function $(e){return e.matchAll(new RegExp(Ds.source,`g`))}var Os=class extends it{resource;view;constructor(e,t){super(),this.resource=e,this.view=t}eq(e){return e.resource.uri===this.resource.uri}toDOM(){let e=document.createElement(`span`);e.className=`cm-resource-widget`,e.textContent=`@${this.resource.name}`;let t=this.view.state.field(ws,!1),n=t?.onResourceClick,r=t?.onResourceMouseOver,i=t?.onResourceMouseOut;return n&&(e.style.cursor=`pointer`,e.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),n(this.resource)})),r&&e.addEventListener(`mouseover`,e=>{e.preventDefault(),e.stopPropagation(),r(this.resource)}),i&&e.addEventListener(`mouseout`,e=>{e.preventDefault(),e.stopPropagation(),i(this.resource)}),e}},ks=class extends it{uri;view;constructor(e,t){super(),this.uri=e,this.view=t}eq(e){return e.uri===this.uri}toDOM(){let e=document.createElement(`span`);return e.className=`cm-not-found-resource-widget`,e.textContent=`@${this.uri.split(`://`)[1]??this.uri}`,e}};function As(e){let t=e.state.field(Q),n=[];for(let{from:r,to:i}of e.visibleRanges){let a=e.state.doc.sliceString(r,i);for(let i of $(a)){let a=r+i.index,o=i[0].slice(1),s=t.get(o);s?n.push(rt.replace({widget:new Os(s,e)}).range(a,a+i[0].length)):n.push(rt.replace({widget:new ks(o,e)}).range(a,a+i[0].length))}}return rt.set(n)}var js=ct.fromClass(class{decorations;constructor(e){this.decorations=As(e)}update(e){(e.docChanged||e.viewportChanged||e.transactions.some(e=>e.effects.some(e=>e.is(Cs))))&&(this.decorations=As(e.view))}},{decorations:e=>e.decorations});function Ms(e){let t=document.createElement(`div`);t.className=`cm-tooltip-cursor`;let n=document.createElement(`div`);if(n.className=`cm-tooltip-cursor-title`,n.textContent=`${e.name} (${e.uri})`,t.appendChild(n),e.description){let n=document.createElement(`div`);n.className=`cm-tooltip-cursor-description`,n.textContent=e.description,t.appendChild(n)}if(e.mimeType){let n=document.createElement(`div`);n.className=`cm-tooltip-cursor-mimetype`,n.textContent=e.mimeType,t.appendChild(n)}return{dom:t}}function Ns(e,t,n,r=0){for(let i of $(e)){let e=r+i.index,a=e+i[0].length;if(t>=e&&t<=a){let t=i[0].slice(1),r=n.get(t);if(r)return{resource:r,start:e,end:a}}}return null}function Ps(e){return lt((t,n)=>{let{from:r,text:i}=t.state.doc.lineAt(n),a=Ns(i,n,t.state.field(Q),r);return a?{pos:a.start,end:a.end,above:!0,create(){return(e.createTooltip??Ms)(a.resource)}}:null})}function Fs(e,t){let n=e.field(Q),r=e.doc,i=r.lineAt(t),a=r.sliceString(i.from,i.to),o=Array.from($(a));if(o.length===0)return null;for(let e of o){let r=i.from+e.index,a=r+e[0].length,o=e[0].slice(1);if(t===a&&n.has(o))return{from:r,to:a,uri:o}}return null}function Is(e,t){let n=e.field(Q),r=e.doc,i=r.lineAt(t).to,a=r.sliceString(t,i),o=Array.from($(a));if(o.length===0)return null;let s=o[0];if(!s||s.index!==0)return null;let c=t,l=t+s[0].length,u=s[0].slice(1);return n.has(u)?{from:c,to:l,uri:u}:null}function Ls(e,t){let n=e.field(Q),r=e.doc,i=r.lineAt(t),a=r.sliceString(i.from,i.to),o=Array.from($(a));for(let e of o){let r=i.from+e.index,a=r+e[0].length,o=e[0].slice(1);if(t>r&&t<a&&n.has(o))return{from:r,to:a,uri:o}}return null}function Rs(e,t){let n=e.field(Q),r=e.doc,i=r.lineAt(t),a=r.sliceString(i.from,t),o=Array.from($(a)),s=null;for(let e of o){let r=i.from+e.index,a=r+e[0].length,o=e[0].slice(1);n.has(o)&&a<=t&&(t>a?s=a:t===a&&(s=r))}return s}function zs(e,t){let n=e.field(Q),r=e.doc,i=r.lineAt(t),a=r.sliceString(i.from,i.to),o=Array.from($(a));for(let e of o){let r=i.from+e.index,a=r+e[0].length,o=e[0].slice(1);if(n.has(o)&&r>=t){if(t<r)return r;if(t===r)return a}}return null}var Bs=tt.transactionFilter.of(e=>{let t=e.annotation(at.userEvent);if(!t)return e;let n=e.startState.selection.main;if(!n.empty)return e;if(t===`input.type`||t.startsWith(`input`)){if(e.changes.empty)return e;let t=e.startState.field(Q),n=e.startState.doc,r=!1,i=0,a=[];if(e.changes.iterChanges((e,o,s,c,l)=>{let u=l.toString(),d=e;if(/^\s+$/.test(u)){a.push({from:e,to:o,insert:u});return}let f=n.lineAt(d),p=n.sliceString(f.from,f.to),m=Array.from($(p)),h=!1,g=!1;for(let e of m){let r=f.from+e.index,i=r+e[0].length,a=e[0].slice(1);if(t.has(a)){if(d===r){let e=d>0?n.sliceString(d-1,d):``;e!==``&&e!==` `&&e!==`
59
+ `&&e!==` `&&(h=!0)}if(d===i){let e=d<n.length?n.sliceString(d,d+1):``;(e===``||e!==` `&&e!==`
60
+ `&&e!==` `)&&(g=!0)}}}let _=u;h&&(_=` ${_}`,i+=1),g&&(_=` ${_}`,i+=1),_!==u&&(r=!0),a.push({from:e,to:o,insert:_})}),r)return[{changes:a,selection:e.selection?{anchor:e.selection.main.anchor+i,head:e.selection.main.head+i}:void 0,scrollIntoView:e.scrollIntoView}]}if(t===`delete.backward`||t===`delete.forward`){let r=null;return t===`delete.backward`?r=Fs(e.startState,n.head):t===`delete.forward`&&(r=Is(e.startState,n.head)),r?[{changes:{from:r.from,to:r.to,insert:``},selection:{anchor:r.from},scrollIntoView:!0}]:e}if(e.selection?.main.empty&&n.empty&&!t.startsWith(`input`)&&t!==`input.type`){let t=n.head,r=e.selection.main.head,i=null;if(r<t){let n=Ls(e.startState,t);i=n&&t>n.from?n.from:Rs(e.startState,t)}else if(r>t){let n=Ls(e.startState,t);i=n&&t<n.to?n.to:zs(e.startState,t)}if(i!==null&&i!==r)return[{selection:{anchor:i},scrollIntoView:!0}]}return e}),Vs=150;function Hs(e,t){let n=new Set;for(let r of $(e)){let e=r[0].slice(1);t.has(e)||n.add(e)}return[...n]}function Us(e){return[...e].sort().join(`
61
+ `)}function Ws(e){return!$(e).next().done}function Gs(e){let t=[],n=[];return e.changes.iterChanges((r,i,a,o)=>{let s=e.startState.doc.lineAt(r),c=e.startState.doc.lineAt(i===r?r:i-1);t.push(e.startState.doc.sliceString(s.from,c.to));let l=e.state.doc.lineAt(a),u=e.state.doc.lineAt(o===a?a:o-1);n.push(e.state.doc.sliceString(l.from,u.to))}),{before:t.join(`
62
+ `),after:n.join(`
63
+ `)}}function Ks(e,t){let n=t.debounceMs??Vs,{logger:r,resolve:i}=t;return class{view;timer;running=!1;rerun=!1;lastKey=``;destroyed=!1;constructor(e){this.view=e,this.maybeSchedule(e)}update(e){if(e.docChanged){let t=Gs(e);if(Ws(t.before)){this.maybeSchedule(e.view);return}this.maybeSchedule(e.view,t.after)}}destroy(){this.destroyed=!0,this.clearTimer()}maybeSchedule(e,t){let r=t??e.state.doc.toString();if(!Ws(r)){t===void 0&&(this.lastKey=``,this.clearTimer());return}let i=Us(Hs(r,e.state.field(Q)));if(i===``){t===void 0&&(this.lastKey=``,this.clearTimer());return}if(i===this.lastKey){this.clearTimer();return}this.clearTimer(),this.timer=setTimeout(()=>{this.timer=void 0,this.run(e)},n)}clearTimer(){this.timer!==void 0&&(clearTimeout(this.timer),this.timer=void 0)}async run(t){if(!this.destroyed){if(this.running){this.rerun=!0;return}this.running=!0;try{do{this.rerun=!1;let n=Hs(t.state.doc.toString(),t.state.field(Q));if(n.length===0){this.lastKey=``;break}this.lastKey=Us(n);let r=i?await i(n):await e();if(this.destroyed)return;let a=new Set(n),o=r.filter(e=>a.has(e.uri));if(o.length===0){if(this.rerun)continue;break}t.dispatch({effects:Cs.of(new Map(o.map(e=>[e.uri,e])))}),this.rerun=!0}while(this.rerun)}catch(e){this.lastKey=``,r?.error(`Failed to sync resources:`,e)}finally{this.running=!1}}}}}function qs(e,t={}){return ct.fromClass(Ks(e,t))}var Js=st.baseTheme({".cm-resource-widget":{background:`light-dark(rgba(86,156,214,0.08),rgba(86,156,214,0.18))`,borderRadius:`4px`,padding:`2px 4px`,color:`light-dark(#2367a2,#7ecbff)`,fontWeight:`500`},".cm-resource-widget:hover":{background:`light-dark(rgba(86,156,214,0.18),rgba(86,156,214,0.28))`},".cm-not-found-resource-widget":{background:`light-dark(rgba(151,151,151,0.08),rgba(151,151,151,0.18))`,borderRadius:`4px`,padding:`2px 4px`,color:`light-dark(#b00020,#ff8080)`,fontWeight:`500`}}),Ys=`_none_`,Xs=[{uri:``,name:`No resources`,type:Ys,data:{}}],Zs={info:`Variables, dataframes, and tables will appear here.`,apply:()=>{}};function Qs(e){let t=Vo(e).getAllItems();return t.length===0?Xs:t}function $s(e){let{language:t,store:n,onAddFiles:r}=e,i=()=>Qs(n);return[t.data.of({autocomplete:Es(async()=>i(),e=>e.type===Ys?Zs:Vo(n).getProvider(e.type)?.formatCompletion(e)||{})}),ot.high(et.of([{key:`Tab`,preventDefault:!0,run:e=>ft(e)}])),Io.of({addAttachment:e=>r?.([e])}),...r?[t.data.of({autocomplete:Ho().createCompletionSource()})]:[],js,Bs,qs(i,{logger:k}),Q.init(()=>{let e=Qs(n);return new Map(e.map(e=>[e.uri,e]))}),Js,Ps({createTooltip:e=>{let t=Vo(n).getProvider(e.type);if(!t)return k.warn(`No provider found for resource`,e),ec(e.description||e.name);let r=t.formatCompletion(e),i=e.description||e.name;if(!r?.info)return ec(i);if(typeof r.info==`string`)return ec(r.info);let a=r.info(r);return a?`dom`in a?{dom:a.dom}:`then`in a?(k.warn(`info is a promise. This is not supported`,a),ec(i)):{dom:a}:ec(i)}})]}function ec(e){let t=document.createElement(`div`);return t.innerHTML=e,{dom:t}}var tc={accept:`Keep change`,decline:`Revert change`},nc=e=>{let{handleAcceptCompletion:t,handleDeclineCompletion:n,isLoading:r,hasCompletion:i}=e;return e=>{let a=ke()?e.metaKey:e.ctrlKey;a&&e.key===`Enter`&&!r&&i&&t(),(e.key===`Delete`||e.key===`Backspace`)&&a&&e.shiftKey&&(n(),e.preventDefault(),e.stopPropagation())}},rc=e=>{let t=(0,A.c)(14),{isLoading:n,onAccept:r,onDecline:i,runCell:a,acceptLabel:o,declineLabel:s,size:c}=e,l;t[0]!==o||t[1]!==n||t[2]!==r||t[3]!==a||t[4]!==c?(l=(0,W.jsx)(ic,{isLoading:n,onAccept:r,size:c,runCell:a,label:o}),t[0]=o,t[1]=n,t[2]=r,t[3]=a,t[4]=c,t[5]=l):l=t[5];let u;t[6]!==s||t[7]!==n||t[8]!==i||t[9]!==c?(u=(0,W.jsx)(ac,{onDecline:i,size:c,label:s,disabled:n}),t[6]=s,t[7]=n,t[8]=i,t[9]=c,t[10]=u):u=t[10];let d;return t[11]!==l||t[12]!==u?(d=(0,W.jsxs)(W.Fragment,{children:[l,u]}),t[11]=l,t[12]=u,t[13]=d):d=t[13],d},ic=e=>{let t=(0,A.c)(33),{isLoading:n,onAccept:r,multipleCompletions:i,size:a,buttonStyles:o,acceptShortcut:s,runCell:c,playButtonStyles:l,borderless:u,label:d}=e,f=i!==void 0&&i,p=a===void 0?`sm`:a,m=u!==void 0&&u,h;t[0]!==r||t[1]!==c?(h=()=>{r(),c&&c()},t[0]=r,t[1]=c,t[2]=h):h=t[2];let g=h,_=d??(f?`Accept all`:`Accept`);if(c){let e=`h-6 text-(--grass-11) bg-(--grass-3)/60
64
+ hover:bg-(--grass-3) dark:bg-(--grass-4)/80 dark:hover:bg-(--grass-3) font-semibold
65
+ active:bg-(--grass-5) dark:active:bg-(--grass-4)
66
+ border-(--green-6) border hover:shadow-xs rounded-r-none ${m&&`border-none rounded-md rounded-r-none`} ${o}`,i;t[3]===s?i=t[4]:(i=s&&(0,W.jsx)(kt,{className:`ml-1 inline`,shortcut:s}),t[3]=s,t[4]=i);let a;t[5]!==n||t[6]!==r||t[7]!==p||t[8]!==e||t[9]!==i||t[10]!==_?(a=(0,W.jsxs)(He,{variant:`text`,size:p,disabled:n,onClick:r,className:e,children:[_,i]}),t[5]=n,t[6]=r,t[7]=p,t[8]=e,t[9]=i,t[10]=_,t[11]=a):a=t[11];let c=`${_} and run ${f?`all cells`:`cell`}`,u=`h-6 text-(--grass-11) bg-(--grass-3)/60
67
+ hover:bg-(--grass-3) dark:bg-(--grass-4)/80 dark:hover:bg-(--grass-3) font-semibold
68
+ active:bg-(--grass-5) dark:active:bg-(--grass-4)
69
+ border-(--green-6) border hover:shadow-xs rounded-l-none px-1.5 ${m&&`border-0 border-l`} ${l}`,d;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,W.jsx)(qe,{className:`h-2.5 w-2.5`}),t[12]=d):d=t[12];let h;t[13]!==g||t[14]!==n||t[15]!==p||t[16]!==u?(h=(0,W.jsx)(He,{variant:`text`,size:p,disabled:n,onClick:g,className:u,children:d}),t[13]=g,t[14]=n,t[15]=p,t[16]=u,t[17]=h):h=t[17];let v;t[18]!==h||t[19]!==c?(v=(0,W.jsx)(Ve,{content:c,children:h}),t[18]=h,t[19]=c,t[20]=v):v=t[20];let y;return t[21]!==v||t[22]!==a?(y=(0,W.jsxs)(`div`,{className:`flex`,children:[a,v]}),t[21]=v,t[22]=a,t[23]=y):y=t[23],y}let v=`h-6 text-(--grass-11) bg-(--grass-3)/60
70
+ hover:bg-(--grass-3) dark:bg-(--grass-4)/80 dark:hover:bg-(--grass-3) font-semibold
71
+ active:bg-(--grass-5) dark:active:bg-(--grass-4)
72
+ border-(--green-6) border hover:shadow-xs rounded px-3 ${o}`,y;t[24]===s?y=t[25]:(y=s&&(0,W.jsx)(kt,{className:`ml-1 inline`,shortcut:s}),t[24]=s,t[25]=y);let b;return t[26]!==n||t[27]!==r||t[28]!==p||t[29]!==v||t[30]!==y||t[31]!==_?(b=(0,W.jsxs)(He,{variant:`text`,size:p,disabled:n,onClick:r,className:v,children:[_,y]}),t[26]=n,t[27]=r,t[28]=p,t[29]=v,t[30]=y,t[31]=_,t[32]=b):b=t[32],b},ac=e=>{let t=(0,A.c)(9),{onDecline:n,disabled:r,multipleCompletions:i,size:a,className:o,declineShortcut:s,borderless:c,label:l}=e,u=r!==void 0&&r,d=i!==void 0&&i,f=a===void 0?`sm`:a,p=`h-6 text-(--red-10) bg-(--red-3)/60 hover:bg-(--red-3)
73
+ dark:bg-(--red-4)/80 dark:hover:bg-(--red-3) rounded px-3 font-semibold
74
+ active:bg-(--red-5) dark:active:bg-(--red-4)
75
+ border-(--red-6) border hover:shadow-xs ${c!==void 0&&c&&`border-none rounded-md`} ${o}`,m=l??`Reject${d?` all`:``}`,h;t[0]===s?h=t[1]:(h=s&&(0,W.jsx)(kt,{className:`ml-1 inline`,shortcut:s}),t[0]=s,t[1]=h);let g;return t[2]!==u||t[3]!==n||t[4]!==f||t[5]!==p||t[6]!==m||t[7]!==h?(g=(0,W.jsxs)(He,{variant:`text`,size:f,disabled:u,onClick:n,className:p,children:[m,h]}),t[2]=u,t[3]=n,t[4]=f,t[5]=p,t[6]=m,t[7]=h,t[8]=g):g=t[8],g},oc=class{activeAttempt=null;cancel(){this.activeAttempt&&(this.activeAttempt.cancelled=!0)}async run({prepare:e,submit:t,onError:n}){if(this.activeAttempt!==null)return;let r={cancelled:!1};this.activeAttempt=r;try{let n=await e();if(r.cancelled)return;await t(n)}catch(e){r.cancelled||n(e)}finally{this.activeAttempt=null}}},sc=Me(`marimo:ai-language`,`python`,g),cc=`marimo:ai-prompt-history`,lc=new f(Se(D()),()=>[]),uc=({onClose:e})=>{let t=i(),[n,a]=(0,U.useState)(``),{acceptOwnedStagedCells:s,beginStagedCellGeneration:l,discardOwnedStagedCells:u,finishStagedCellGeneration:d,hasOwnedStagedCells:f,onData:p}=co(t),[m,h]=r(sc),g=Ne(),_=(0,U.useRef)(null),v=(0,U.useRef)(new oc).current,y=(0,U.useRef)(null),{files:b,addFiles:x,removeFile:S}=fs(),C=o(Te),ee=(0,U.useMemo)(()=>new ga({api:g.getAiURL(`completion`).toString(),headers:()=>g.headers(),prepareSendMessagesRequest:async e=>{let t={...await ss(e.messages),id:e.id,code:``,prompt:``,language:m};return{api:g.getAiURL(`completion`).toString(),body:t}}}),[m,g]),te=c(e=>{d(!1),Ze({title:`Generate with AI failed`,description:yt(e)})}),{sendMessage:ne,stop:w,status:T}=Ia({throttle:100,transport:ee,onData:p,onError:te,onFinish:({isAbort:e,isDisconnect:t,isError:n,finishReason:r})=>{d(!e&&!t&&!n&&r===`stop`)}}),E=T===`streaming`||T===`submitted`,ie=f(),ae=c(()=>{v.cancel(),d(!1),w()}),oe=c(()=>{v.cancel(),u(),w()});(0,U.useEffect)(()=>()=>{ae()},[ae]);let se=C?.models?.edit_model||`openai/gpt-4o`,ce=Ee.parse(se).providerId,le=es.has(ce),ue=async()=>{E||await v.run({prepare:async()=>(_.current?.view&&Ga(_.current.view),b?await is(b):void 0),submit:async e=>{l(),await ne({text:n,files:e})},onError:te})},de=(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(Et,{className:`size-4 mr-2`}),`Python`]}),fe=(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(We,{className:`size-4 mr-2`}),`SQL`]}),pe=(0,W.jsxs)(Be,{modal:!1,children:[(0,W.jsxs)(Re,{className:`flex items-center justify-between h-7 text-xs px-2 py-0.5 border rounded-md hover:text-accent-foreground`,"data-testid":`language-button`,children:[m===`python`?de:fe,(0,W.jsx)(Tt,{className:`ml-1 h-3.5 w-3.5 text-muted-foreground/70`})]}),(0,W.jsxs)(ze,{align:`center`,children:[(0,W.jsx)(`div`,{className:`px-2 py-1 text-sm text-muted-foreground`,children:`Select language`}),(0,W.jsx)(Le,{}),(0,W.jsx)(Ie,{onClick:()=>h(`python`),children:de}),(0,W.jsx)(Ie,{onClick:()=>h(`sql`),children:fe})]})]}),D=()=>{s()&&e()},me=()=>{oe(),_.current?.view?.focus()},he=()=>{oe(),e()},ge=(0,W.jsxs)(`div`,{className:`flex items-center px-3`,children:[(0,W.jsx)(re,{className:`size-4 text-(--blue-11) mr-2`}),(0,W.jsx)(dc,{inputRef:_,onClose:he,value:n,onChange:e=>{a(e)},onSubmit:ue,onKeyDown:nc({handleAcceptCompletion:D,handleDeclineCompletion:me,isLoading:E,hasCompletion:ie})}),(0,W.jsx)(He,{variant:`text`,size:`sm`,className:`mb-0 px-1`,onClick:he,children:(0,W.jsx)(Ke,{className:`size-4`})})]}),_e=(0,W.jsxs)(`div`,{className:`px-3 pt-1 flex flex-row items-center justify-between`,children:[(0,W.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,W.jsx)(Oe,{triggerClassName:`h-7 text-xs max-w-64`,iconSize:`small`,forRole:`edit`,showAddCustomModelDocs:!0}),pe,(0,W.jsx)(De,{})]}),(0,W.jsxs)(`div`,{className:`flex flex-row items-center`,children:[b.length>0&&(0,W.jsx)(`div`,{className:`flex flex-row gap-1 flex-wrap pr-1`,children:b?.map((e,t)=>(0,W.jsx)(_s,{file:e,onRemove:()=>S(e)},`${e.name}-${t}`))}),(0,W.jsx)(ys,{handleAddContext:()=>$o(_),isLoading:E}),le&&(0,W.jsx)(bs,{fileInputRef:y,isLoading:E,onAddFiles:x}),(0,W.jsx)(vs,{isLoading:E,onStop:ae,onSendClick:ue,isEmpty:!n.trim(),showStopLabel:!0})]})]});return(0,W.jsxs)(`div`,{className:Pe(`flex flex-col w-full py-2`),children:[ge,_e]})},dc=e=>{let t=(0,A.c)(35),{value:n,placeholder:r,inputRef:a,className:o,onChange:s,onSubmit:l,onKeyDown:u,onClose:d,onAddFiles:f,additionalCompletions:p,maxHeight:m}=e,h=l,g=d,_=i(),{theme:v}=vt(),y;t[0]===p?y=t[1]:(y=e=>p?Qo([p.triggerCompletionRegex],p.completions)(e):null,t[0]=p,t[1]=y);let b=c(y),x,S,C,ee;if(t[2]!==b||t[3]!==f||t[4]!==_){let e=gt();t[9]===Symbol.for(`react.memo_cache_sentinel`)?(x=mt({}),t[9]=x):x=t[9],S=e,C=$s({language:e.language,store:_,onAddFiles:f}),ee=e.language.data.of({autocomplete:b}),t[2]=b,t[3]=f,t[4]=_,t[5]=x,t[6]=S,t[7]=C,t[8]=ee}else x=t[5],S=t[6],C=t[7],ee=t[8];let te;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(te=Ka({storage:{load:fc,save:pc}}),t[10]=te):te=t[10];let ne;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(ne=bt(),t[11]=ne):ne=t[11];let w;t[12]===h?w=t[13]:(w=ot.highest(et.of([{preventDefault:!0,stopPropagation:!0,any:(e,t)=>{let n=t.metaKey||t.ctrlKey||t.shiftKey;if(t.key===`Enter`&&!n)return h(t,e.state.doc.toString()),t.preventDefault(),t.stopPropagation(),!0;if(t.key===`Enter`&&t.shiftKey){let n=e.state.selection.main.from;return e.dispatch({changes:{from:n,to:n,insert:`
76
+ `},selection:{anchor:n+1,head:n+1}}),t.preventDefault(),t.stopPropagation(),!0}return!1}}])),t[12]=h,t[13]=w);let T;t[14]===g?T=t[15]:(T=et.of([{key:`Escape`,preventDefault:!0,stopPropagation:!0,run:()=>(g(),!0)}]),t[14]=g,t[15]=T);let E;t[16]!==x||t[17]!==S||t[18]!==C||t[19]!==ee||t[20]!==w||t[21]!==T?(E=[x,S,C,ee,te,st.lineWrapping,ne,w,T],t[16]=x,t[17]=S,t[18]=C,t[19]=ee,t[20]=w,t[21]=T,t[22]=E):E=t[22];let re=E,ie;t[23]===o?ie=t[24]:(ie=Pe(`flex-1 font-sans overflow-auto my-1`,o),t[23]=o,t[24]=ie);let ae=v===`dark`?`dark`:`light`,oe=r||`Generate with AI, @ to include context`,se;return t[25]!==re||t[26]!==a||t[27]!==m||t[28]!==s||t[29]!==u||t[30]!==ie||t[31]!==ae||t[32]!==oe||t[33]!==n?(se=(0,W.jsx)(Rt,{ref:a,className:ie,width:`100%`,maxHeight:m,value:n,basicSetup:!1,extensions:re,onChange:s,onKeyDown:u,theme:ae,placeholder:oe}),t[25]=re,t[26]=a,t[27]=m,t[28]=s,t[29]=u,t[30]=ie,t[31]=ae,t[32]=oe,t[33]=n,t[34]=se):se=t[34],se};function fc(){return lc.get(cc)}function pc(e){return lc.set(cc,e)}export{Z as A,ga as B,hs as C,Yo as D,Ko as E,Xa as F,Zr as G,Xi as H,Qa as I,Kt as J,Jt as K,to as L,oo as M,ro as N,Vo as O,so as P,Ga as R,fs as S,Uo as T,fa as U,oa as V,Qi as W,Gt as Y,cs as _,rc as a,as as b,ys as c,_s as d,vs as f,rs as g,is as h,ic as i,no as j,ko as k,bs as l,es as m,dc as n,ac as o,Ss as p,qt as q,tc as r,nc as s,uc as t,gs as u,ls as v,$o as w,ms as x,us as y,Ia as z};