@marimo-team/frontend 0.25.1-dev4 → 0.25.1-dev41

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 (337) hide show
  1. package/dist/assets/{ConnectedDataExplorerComponent-DeqCS430.js → ConnectedDataExplorerComponent-BaPBcsBf.js} +1 -1
  2. package/dist/assets/{ErrorBoundary-DDm0F3Ge.js → ErrorBoundary-CCkkO1_J.js} +2 -2
  3. package/dist/assets/{ImageComparisonComponent-DLxkuRy3.js → ImageComparisonComponent-pCLPT6RA.js} +1 -1
  4. package/dist/assets/{LazyAnyLanguageCodeMirror-DPoyi1KJ.js → LazyAnyLanguageCodeMirror-CrQ9WToq.js} +2 -2
  5. package/dist/assets/{RunButton-1O-85ifv.js → RunButton-BrmXVv2P.js} +8 -8
  6. package/dist/assets/{abnfDiagram-VCTEODGH-DhJEqQ9k.js → abnfDiagram-VCTEODGH-BpHqqTyl.js} +1 -1
  7. package/dist/assets/add-cell-with-ai-C5sHUrPl.js +76 -0
  8. package/dist/assets/{agent-panel-nJz0jCo0.js → agent-panel-DeEDWiBd.js} +4 -4
  9. package/dist/assets/ai-model-dropdown-DSmOGWnF.js +5 -0
  10. package/dist/assets/{any-language-editor-CxgTzMTD.js → any-language-editor-qMiqHqI6.js} +1 -1
  11. package/dist/assets/app-config-button-B3TpWybC.js +1 -0
  12. package/dist/assets/{architectureDiagram-5GKGNRK7-BwF4-SE1.js → architectureDiagram-5GKGNRK7-B5HmHPrf.js} +1 -1
  13. package/dist/assets/{blockDiagram-I7D4REHJ-B7xaFbfk.js → blockDiagram-I7D4REHJ-2vuAAFxC.js} +1 -1
  14. package/dist/assets/{c4Diagram-7LVT6UL2-BbMz-zwF.js → c4Diagram-7LVT6UL2-CMQEYn6T.js} +1 -1
  15. package/dist/assets/{cache-panel-Bd7XcHQd.js → cache-panel-B5FGKL23.js} +1 -1
  16. package/dist/assets/{cells-Cu3p4E4U.js → cells-CzugpTQu.js} +4 -4
  17. package/dist/assets/channel-CGdeorQk.js +1 -0
  18. package/dist/assets/{chat-display-CKr8MVOE.js → chat-display-BC7DzAiv.js} +1 -1
  19. package/dist/assets/chat-panel-DDS9gK8U.js +4 -0
  20. package/dist/assets/{chat-ui-BH1aZhD7.js → chat-ui-BD5izHBg.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-Cypkx_kh.js → chunk-IMKFNOWR-NGm5mJNS.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-V37g5TGQ.js → chunk-SHT3W25Y-BzwSplJT.js} +1 -1
  34. package/dist/assets/{chunk-SVP7TREG-CTD0ZEkK.js → chunk-SVP7TREG-BypgwLM_.js} +1 -1
  35. package/dist/assets/{chunk-TICWLB2K-BmUJmjwl.js → chunk-TICWLB2K-N2t-AIjK.js} +1 -1
  36. package/dist/assets/classDiagram-ZZMXUADV-CDs41IFC.js +1 -0
  37. package/dist/assets/classDiagram-v2-VYDZK3BY-CDs41IFC.js +1 -0
  38. package/dist/assets/{code-visibility-7811giS9.js → code-visibility-q98Ep58Q.js} +1 -1
  39. package/dist/assets/{command-palette-ZCeZiFkl.js → command-palette-C8Or-XyR.js} +1 -1
  40. package/dist/assets/{common-BdqirnCM.js → common-BPz_nWVh.js} +1 -1
  41. package/dist/assets/{components-CzFNo5Dk.js → components-CjOJll5R.js} +1 -1
  42. package/dist/assets/{components-BFIaoBwJ.js → components-tngYJ6wd.js} +1 -1
  43. package/dist/assets/{cynefinDiagram-5FMLGOSQ-CTXT8KNm.js → cynefinDiagram-5FMLGOSQ-DWkCdfsX.js} +1 -1
  44. package/dist/assets/dagre-DfoWhgrm.js +1 -0
  45. package/dist/assets/{dagre-GXQ25YYZ-6LiieueL.js → dagre-GXQ25YYZ-HEwpYrVf.js} +1 -1
  46. package/dist/assets/{data-grid-overlay-editor-87bCN9IO.js → data-grid-overlay-editor-Dc6Hgeqg.js} +1 -1
  47. package/dist/assets/{dependency-graph-panel-CHbDGV22.js → dependency-graph-panel-DYqM639f.js} +3 -3
  48. package/dist/assets/{diagram-S7CK7UJ4-BZL5Ql7I.js → diagram-S7CK7UJ4-imd4kIPI.js} +1 -1
  49. package/dist/assets/{diagram-UQ7AKVKN-AhAtqSJG.js → diagram-UQ7AKVKN-DX3w4euf.js} +1 -1
  50. package/dist/assets/{diagram-VSXAHHWV-DOQllF_r.js → diagram-VSXAHHWV-CK4GkM-q.js} +1 -1
  51. package/dist/assets/{diagram-VX7I27RA-COX-CxL0.js → diagram-VX7I27RA-CTWSZFmW.js} +1 -1
  52. package/dist/assets/{diagram-Z3DM3KII-DXw7fg_D.js → diagram-Z3DM3KII-C1LY-pUZ.js} +1 -1
  53. package/dist/assets/{dist-0HQ0BMF5.js → dist-CQvJDryh.js} +1 -1
  54. package/dist/assets/{documentation-panel-DUlFjJdz.js → documentation-panel-BrQMzwWC.js} +1 -1
  55. package/dist/assets/{ebnfDiagram-PWID7BFC-Ds-CB5Z_.js → ebnfDiagram-PWID7BFC-Cj3XFdrK.js} +1 -1
  56. package/dist/assets/edit-page-LWZvyJpx.js +174 -0
  57. package/dist/assets/{erDiagram-RLTQ6QDP-RdxnwvNA.js → erDiagram-RLTQ6QDP-C1UEPUjb.js} +1 -1
  58. package/dist/assets/{error-entries-BUsiy4Fq.js → error-entries-CDSsy76p.js} +1 -1
  59. package/dist/assets/{error-panel-DmaQ2MSS.js → error-panel-CHfNFsxb.js} +1 -1
  60. package/dist/assets/{feedback-button-DJMAFZ1t.js → feedback-button-B1QzFFCH.js} +2 -2
  61. package/dist/assets/{file-explorer-panel-BZ4A-j8a.js → file-explorer-panel-CWwil53w.js} +1 -1
  62. package/dist/assets/file-name-input-4aagDTRQ.js +3 -0
  63. package/dist/assets/filename-fxG7K_MU.js +1 -0
  64. package/dist/assets/flowDiagram-HODETNUW-BfmO9lx7.js +1 -0
  65. package/dist/assets/{gallery-page-DFoyByKn.js → gallery-page-DovFAtws.js} +1 -1
  66. package/dist/assets/{ganttDiagram-EL5Y4UJY-d9Qqbnau.js → ganttDiagram-EL5Y4UJY-Cgy11k0G.js} +1 -1
  67. package/dist/assets/{gitGraphDiagram-WWUBYQGX-DBunV_fz.js → gitGraphDiagram-WWUBYQGX-CVH8fay_.js} +1 -1
  68. package/dist/assets/glide-data-editor-CZ1yTY-A.js +131 -0
  69. package/dist/assets/{graphlib-CWJvl2Lb.js → graphlib-COGycCGs.js} +1 -1
  70. package/dist/assets/has-BXSzylJ4.js +1 -0
  71. package/dist/assets/{home-page-D_6gPong.js → home-page-BVI4vz16.js} +2 -2
  72. package/dist/assets/index-7pH7YeEh.css +2 -0
  73. package/dist/assets/index-D4vDmlOv.js +62 -0
  74. package/dist/assets/{infoDiagram-27XIBGKW-B0jMwBBO.js → infoDiagram-27XIBGKW-CnXcbBM7.js} +1 -1
  75. package/dist/assets/{ishikawaDiagram-5VMMS53U-4eji-_U4.js → ishikawaDiagram-5VMMS53U-22vIfKRp.js} +1 -1
  76. package/dist/assets/{journeyDiagram-3NMN7TZE-Cp4mxQrE.js → journeyDiagram-3NMN7TZE-DRc8ACzh.js} +1 -1
  77. package/dist/assets/{kanban-definition-UXKFOSKX-BYgV-VZ3.js → kanban-definition-UXKFOSKX-mKENIfGJ.js} +1 -1
  78. package/dist/assets/katex-DkE0ukCy.js +257 -0
  79. package/dist/assets/{logs-panel-CvwX6Xnb.js → logs-panel-BztBG5KX.js} +1 -1
  80. package/dist/assets/{mermaid-BmcDudwo.js → mermaid-oS3_13w-.js} +4 -4
  81. package/dist/assets/mhchem-CmzEtQj8.js +1 -0
  82. package/dist/assets/{mindmap-definition-YA3MSWOX-Cz5xXQnv.js → mindmap-definition-YA3MSWOX-C1gdLZ40.js} +1 -1
  83. package/dist/assets/{number-overlay-editor-Jcf1i5Xj.js → number-overlay-editor-DBSA3_TU.js} +1 -1
  84. package/dist/assets/{outline-panel-4icYQ4vr.js → outline-panel-D3hi06cs.js} +1 -1
  85. package/dist/assets/packages-panel-vesZNMON.js +1 -0
  86. package/dist/assets/{panels-CM1tqwz-.js → panels-ChQ3xLqg.js} +9 -9
  87. package/dist/assets/{pegDiagram-XKGWAZYB-CCOAs3UH.js → pegDiagram-XKGWAZYB-C2pbV6gl.js} +1 -1
  88. package/dist/assets/{pieDiagram-E7YTZNPT-BBxiPx1C.js → pieDiagram-E7YTZNPT-BLRvQIlm.js} +1 -1
  89. package/dist/assets/{process-output-CXjf0zEE.js → process-output-Cst3k00f.js} +1 -1
  90. package/dist/assets/{quadrantDiagram-AXDQQJYC-BE-xlTLH.js → quadrantDiagram-AXDQQJYC-D_wrOwLk.js} +1 -1
  91. package/dist/assets/{railroadDiagram-O6MQD6OU-BRv2wsAz.js → railroadDiagram-O6MQD6OU-Ccb_UTLI.js} +1 -1
  92. package/dist/assets/{requirementDiagram-BXWQKSXE-HAdL90iQ.js → requirementDiagram-BXWQKSXE-DYIZcvT8.js} +1 -1
  93. package/dist/assets/{reveal-component-CiQEczuZ.js → reveal-component-CZXWnwl9.js} +3 -3
  94. package/dist/assets/run-page-DqkpD0V9.js +1 -0
  95. package/dist/assets/{sankeyDiagram-P5KCCOFB-BWLQCyjK.js → sankeyDiagram-P5KCCOFB-CvvUY6tS.js} +1 -1
  96. package/dist/assets/{scratchpad-panel-Btg5EoIW.js → scratchpad-panel-2Fxg0pNx.js} +1 -1
  97. package/dist/assets/{secrets-panel-C-17vrf1.js → secrets-panel-K57okm8Y.js} +1 -1
  98. package/dist/assets/{sequenceDiagram-WJ2MYXX4-Bs66qtoH.js → sequenceDiagram-WJ2MYXX4-CgICltvO.js} +1 -1
  99. package/dist/assets/session-panel-CBnzFj6y.js +1 -0
  100. package/dist/assets/{SelectionIndicator-DLJBcP4e.js → shell-BSnvn9t7.js} +1 -1
  101. package/dist/assets/snippets-panel-DaE8aspJ.js +1 -0
  102. package/dist/assets/{stateDiagram-D77RDMKH-CZZcOZaL.js → stateDiagram-D77RDMKH-B6Kxq-9y.js} +1 -1
  103. package/dist/assets/stateDiagram-v2-MP3YSRHH-CSaW3Hg-.js +1 -0
  104. package/dist/assets/{swimlanes-42K2YHIH-DmvAwXeY.js → swimlanes-42K2YHIH-Dt0LP1_e.js} +1 -1
  105. package/dist/assets/swimlanesDiagram-VR7AAH4N-2Ad8ds_3.js +8 -0
  106. package/dist/assets/{swiper-component-C-iHKt3a.js → swiper-component-CFnIXlkd.js} +1 -1
  107. package/dist/assets/{terminal-BJXvwDtX.js → terminal-CkFp7KSb.js} +1 -1
  108. package/dist/assets/{timeline-definition-24CTP7MA-DMBmrnDz.js → timeline-definition-24CTP7MA-DEY-0YjY.js} +1 -1
  109. package/dist/assets/tooltip-PLkI_UfK.js +61 -0
  110. package/dist/assets/{tracing-C1gfnMTz.js → tracing-DBHLwBmf.js} +1 -1
  111. package/dist/assets/tracing-panel-DvYpwbLM.js +2 -0
  112. package/dist/assets/{useCellActionButton-ChAk7KSd.js → useCellActionButton-CV3PUvLU.js} +1 -1
  113. package/dist/assets/{vega-component-Dyn2ovlw.js → vega-component-QgmUboT9.js} +1 -1
  114. package/dist/assets/{vega-embed-container-SaZMhvDB.js → vega-embed-container-ClWegE2x.js} +1 -1
  115. package/dist/assets/{vennDiagram-4TSXK5OY-CU4ZQxbP.js → vennDiagram-4TSXK5OY-cwn4u1pT.js} +1 -1
  116. package/dist/assets/{wardleyDiagram-VM6X3IG4-CqJhzIbP.js → wardleyDiagram-VM6X3IG4-DKYGzFAa.js} +1 -1
  117. package/dist/assets/{write-secret-modal-CBUZw27N.js → write-secret-modal-BiG2tahJ.js} +1 -1
  118. package/dist/assets/{xychartDiagram-S5SC5T6Z-CS6EJwUz.js → xychartDiagram-S5SC5T6Z-BFGsu-E4.js} +1 -1
  119. package/dist/index.html +8 -7
  120. package/package.json +1 -2
  121. package/src/__mocks__/common.ts +3 -3
  122. package/src/__tests__/CellStatus.test.tsx +1 -1
  123. package/src/__tests__/setup.ts +7 -7
  124. package/src/components/app-config/ai-config.tsx +2 -0
  125. package/src/components/app-config/optional-features.tsx +1 -1
  126. package/src/components/chat/chat-panel.tsx +19 -8
  127. package/src/components/data-table/charts/__tests__/chart-panel.test.tsx +286 -0
  128. package/src/components/data-table/charts/charts.tsx +26 -13
  129. package/src/components/data-table/column-summary/chart-spec-model.tsx +4 -4
  130. package/src/components/dependency-graph/elements.ts +2 -2
  131. package/src/components/editor/__tests__/package-alert.test.tsx +140 -0
  132. package/src/components/editor/actions/__tests__/pair-with-agent.test.tsx +107 -0
  133. package/src/components/editor/actions/pair-with-agent.tsx +119 -0
  134. package/src/components/editor/actions/useNotebookActions.tsx +2 -1
  135. package/src/components/editor/ai/add-cell-with-ai.tsx +2 -0
  136. package/src/components/editor/ai/staged-cell-submission.ts +2 -2
  137. package/src/components/editor/ai/transport/chat-transport.tsx +1 -1
  138. package/src/components/editor/chrome/components/contribute-snippet-button.tsx +6 -1
  139. package/src/components/editor/connections/database/as-code.ts +44 -44
  140. package/src/components/editor/connections/storage/as-code.ts +3 -3
  141. package/src/components/editor/file-tree/requesting-tree.tsx +16 -13
  142. package/src/components/editor/navigation/clipboard.ts +2 -2
  143. package/src/components/editor/notebook-cell.tsx +2 -2
  144. package/src/components/editor/output/MarimoTracebackOutput.tsx +1 -1
  145. package/src/components/editor/output/VideoOutput.tsx +1 -1
  146. package/src/components/editor/output/ansi-reduce.ts +21 -17
  147. package/src/components/editor/output/console/ConsoleOutput.tsx +3 -3
  148. package/src/components/editor/output/console/__tests__/ConsoleOutput.test.tsx +59 -0
  149. package/src/components/editor/output/console/text-rendering.tsx +3 -1
  150. package/src/components/editor/package-alert.tsx +20 -7
  151. package/src/components/home/components.tsx +1 -0
  152. package/src/components/pages/run-page.tsx +1 -0
  153. package/src/components/slides/__tests__/minimap-actions.test.tsx +7 -7
  154. package/src/components/slides/__tests__/minimap.test.ts +12 -12
  155. package/src/components/slides/__tests__/slide-scroll-hint.test.tsx +8 -8
  156. package/src/components/static-html/__tests__/share-modal.test.tsx +154 -0
  157. package/src/components/static-html/__tests__/stage-for-publish.test.ts +111 -0
  158. package/src/components/static-html/share-modal.tsx +114 -144
  159. package/src/components/static-html/stage-for-publish.ts +56 -0
  160. package/src/components/static-html/static-banner.tsx +2 -2
  161. package/src/components/ui/links.tsx +6 -1
  162. package/src/components/ui/typography.tsx +16 -8
  163. package/src/core/ai/context/__tests__/registry.test.ts +31 -28
  164. package/src/core/ai/context/providers/cell-output.ts +8 -8
  165. package/src/core/ai/context/providers/datasource.ts +10 -7
  166. package/src/core/ai/context/providers/error.ts +7 -7
  167. package/src/core/ai/context/providers/file.ts +8 -8
  168. package/src/core/ai/context/providers/tables.ts +7 -7
  169. package/src/core/ai/context/providers/variable.ts +7 -7
  170. package/src/core/ai/context/registry.ts +18 -18
  171. package/src/core/ai/ids/ids.ts +5 -5
  172. package/src/core/ai/model-registry.ts +12 -9
  173. package/src/core/ai/staged-cells.ts +6 -6
  174. package/src/core/ai/tools/base.ts +6 -6
  175. package/src/core/ai/tools/edit-notebook-tool.ts +6 -6
  176. package/src/core/ai/tools/registry.ts +4 -4
  177. package/src/core/ai/tools/run-cells-tool.ts +7 -7
  178. package/src/core/ai/tools/sample-tool.ts +6 -6
  179. package/src/core/cells/__tests__/cells.test.ts +27 -0
  180. package/src/core/cells/cells.ts +2 -1
  181. package/src/core/codemirror/cells/debugger-decorations.ts +13 -7
  182. package/src/core/codemirror/cells/line-timing-decorations.ts +9 -9
  183. package/src/core/codemirror/cells/traceback-decorations.ts +7 -4
  184. package/src/core/codemirror/code-lens/extension.ts +13 -13
  185. package/src/core/codemirror/copilot/__tests__/language-server.test.ts +6 -6
  186. package/src/core/codemirror/copilot/__tests__/transport.test.ts +12 -12
  187. package/src/core/codemirror/copilot/language-server.ts +13 -13
  188. package/src/core/codemirror/copilot/transport.ts +1 -1
  189. package/src/core/codemirror/find-replace/search-highlight.ts +5 -5
  190. package/src/core/codemirror/go-to-definition/underline.ts +3 -3
  191. package/src/core/codemirror/keymaps/vim.ts +3 -3
  192. package/src/core/codemirror/language/languages/markdown.ts +8 -8
  193. package/src/core/codemirror/language/languages/python.ts +7 -7
  194. package/src/core/codemirror/language/languages/sql/completion-builder.ts +5 -5
  195. package/src/core/codemirror/language/languages/sql/completion-store.ts +4 -4
  196. package/src/core/codemirror/language/languages/sql/sql.ts +21 -21
  197. package/src/core/codemirror/lsp/__tests__/transports.test.ts +10 -10
  198. package/src/core/codemirror/lsp/federated-lsp.ts +29 -27
  199. package/src/core/codemirror/lsp/notebook-lsp.ts +21 -21
  200. package/src/core/codemirror/misc/__tests__/dnd.test.ts +10 -10
  201. package/src/core/codemirror/misc/__tests__/paste.test.ts +7 -4
  202. package/src/core/codemirror/reactive-references/extension.ts +3 -3
  203. package/src/core/codemirror/rtc/loro/awareness.ts +12 -12
  204. package/src/core/codemirror/rtc/loro/sync.ts +5 -5
  205. package/src/core/codemirror/vim/cursor-visibility.ts +3 -3
  206. package/src/core/dom/ui-element.ts +5 -5
  207. package/src/core/dom/uiregistry.ts +10 -10
  208. package/src/core/hotkeys/hotkeys.ts +9 -9
  209. package/src/core/islands/__tests__/bridge.test.ts +4 -4
  210. package/src/core/islands/__tests__/test-utils.tsx +4 -4
  211. package/src/core/islands/bridge.ts +85 -82
  212. package/src/core/islands/components/web-components.tsx +7 -7
  213. package/src/core/islands/worker/__tests__/controller.test.ts +1 -1
  214. package/src/core/islands/worker/controller.ts +6 -3
  215. package/src/core/islands/worker-factory.ts +2 -2
  216. package/src/core/kernel/RuntimeState.ts +4 -4
  217. package/src/core/lsp/__tests__/transport.test.ts +19 -19
  218. package/src/core/lsp/transport.ts +5 -5
  219. package/src/core/network/CachingRequestRegistry.ts +2 -2
  220. package/src/core/network/DeferredRequestRegistry.ts +4 -4
  221. package/src/core/network/__tests__/export-asset-url.test.ts +45 -0
  222. package/src/core/network/export-asset-url.ts +19 -0
  223. package/src/core/network/requests-network.ts +2 -7
  224. package/src/core/runtime/runtime.ts +25 -20
  225. package/src/core/static/virtual-file-tracker.ts +5 -5
  226. package/src/core/wasm/__tests__/bridge.test.ts +2 -2
  227. package/src/core/wasm/bridge.ts +132 -133
  228. package/src/core/wasm/router.ts +5 -5
  229. package/src/core/wasm/store.ts +4 -4
  230. package/src/core/wasm/worker/bootstrap.ts +8 -5
  231. package/src/core/wasm/worker/message-buffer.ts +3 -3
  232. package/src/core/websocket/transports/__tests__/ws.test.ts +8 -8
  233. package/src/core/websocket/transports/basic.ts +15 -8
  234. package/src/core/websocket/transports/sse.ts +7 -7
  235. package/src/core/websocket/transports/transport.ts +3 -3
  236. package/src/core/websocket/transports/ws.ts +9 -7
  237. package/src/css/globals.css +18 -21
  238. package/src/css/katex.min.css +260 -241
  239. package/src/hooks/__tests__/useOverflowDetection.test.tsx +5 -5
  240. package/src/hooks/__tests__/useResizeObserver.test.tsx +12 -12
  241. package/src/plugins/core/registerReactComponent.tsx +5 -5
  242. package/src/plugins/core/sidebar-element.tsx +2 -2
  243. package/src/plugins/impl/ButtonPlugin.tsx +3 -3
  244. package/src/plugins/impl/CheckboxPlugin.tsx +3 -3
  245. package/src/plugins/impl/CodeEditorPlugin.tsx +3 -3
  246. package/src/plugins/impl/DatePickerPlugin.tsx +3 -3
  247. package/src/plugins/impl/DateRangePlugin.tsx +3 -3
  248. package/src/plugins/impl/DateTimePickerPlugin.tsx +3 -3
  249. package/src/plugins/impl/DictPlugin.tsx +3 -3
  250. package/src/plugins/impl/DropdownPlugin.tsx +3 -3
  251. package/src/plugins/impl/FileUploadPlugin.tsx +3 -3
  252. package/src/plugins/impl/MatrixPlugin.tsx +4 -4
  253. package/src/plugins/impl/MicrophonePlugin.tsx +3 -3
  254. package/src/plugins/impl/MultiselectPlugin.tsx +3 -3
  255. package/src/plugins/impl/NumberPlugin.tsx +3 -3
  256. package/src/plugins/impl/RadioPlugin.tsx +9 -5
  257. package/src/plugins/impl/RangeSliderPlugin.tsx +3 -3
  258. package/src/plugins/impl/RefreshPlugin.tsx +3 -3
  259. package/src/plugins/impl/SliderPlugin.tsx +3 -3
  260. package/src/plugins/impl/SwitchPlugin.tsx +3 -3
  261. package/src/plugins/impl/TabsPlugin.tsx +3 -3
  262. package/src/plugins/impl/TextAreaPlugin.tsx +3 -3
  263. package/src/plugins/impl/TextInputPlugin.tsx +3 -3
  264. package/src/plugins/impl/__tests__/MatrixPlugin.test.tsx +2 -2
  265. package/src/plugins/impl/anywidget/model.ts +10 -10
  266. package/src/plugins/impl/anywidget/registry.ts +12 -9
  267. package/src/plugins/impl/anywidget/runtime.ts +11 -9
  268. package/src/plugins/impl/anywidget/widget-binding.ts +6 -6
  269. package/src/plugins/impl/image-comparison/ImageComparisonComponent.tsx +7 -6
  270. package/src/plugins/impl/matplotlib/MatplotlibPlugin.tsx +3 -3
  271. package/src/plugins/impl/matplotlib/__tests__/matplotlib-renderer.test.ts +2 -2
  272. package/src/plugins/impl/matplotlib/matplotlib-renderer.ts +2 -2
  273. package/src/plugins/impl/mpl-interactive/mpl-websocket-shim.ts +10 -10
  274. package/src/plugins/impl/panel/utils.ts +5 -5
  275. package/src/plugins/impl/plotly/PlotlyPlugin.tsx +3 -3
  276. package/src/plugins/impl/vega/VegaPlugin.tsx +3 -3
  277. package/src/plugins/impl/vega/__tests__/use-vega-container-remeasure.test.ts +7 -7
  278. package/src/plugins/impl/vega/__tests__/utils.test.ts +16 -1
  279. package/src/plugins/impl/vega/__tests__/vega.test.ts +37 -0
  280. package/src/plugins/impl/vega/loader.ts +23 -1
  281. package/src/plugins/impl/vega/utils.ts +5 -4
  282. package/src/plugins/layout/AccordionPlugin.tsx +3 -3
  283. package/src/plugins/layout/CalloutPlugin.tsx +3 -3
  284. package/src/plugins/layout/ImageComparisonPlugin.tsx +5 -3
  285. package/src/plugins/layout/JsonOutputPlugin.tsx +3 -3
  286. package/src/plugins/layout/MimeRenderPlugin.tsx +3 -3
  287. package/src/plugins/layout/NavigationMenuPlugin.tsx +3 -3
  288. package/src/plugins/layout/OutlinePlugin.tsx +3 -3
  289. package/src/plugins/layout/ProgressPlugin.tsx +3 -3
  290. package/src/plugins/layout/RoutesPlugin.tsx +6 -8
  291. package/src/plugins/layout/StatPlugin.tsx +3 -3
  292. package/src/plugins/layout/TexPlugin.tsx +3 -3
  293. package/src/plugins/layout/carousel/CarouselPlugin.tsx +4 -4
  294. package/src/plugins/layout/mermaid/MermaidPlugin.tsx +3 -3
  295. package/src/utils/Deferred.ts +6 -6
  296. package/src/utils/async-capture-tracker.ts +10 -7
  297. package/src/utils/errors.ts +5 -5
  298. package/src/utils/id-tree.tsx +83 -80
  299. package/src/utils/lru.ts +1 -1
  300. package/src/utils/multi-map.ts +14 -12
  301. package/src/utils/paths.ts +6 -6
  302. package/src/utils/pluralize.ts +3 -3
  303. package/src/utils/progress.ts +6 -6
  304. package/src/utils/python-poet/poet.ts +14 -14
  305. package/src/utils/routes.ts +4 -2
  306. package/src/utils/semaphore.ts +6 -6
  307. package/src/utils/storage/storage.ts +6 -6
  308. package/src/utils/storage/typed.ts +16 -12
  309. package/src/utils/time.ts +9 -9
  310. package/src/utils/timed-cache.ts +4 -4
  311. package/src/utils/tracer.ts +9 -6
  312. package/dist/assets/add-cell-with-ai-B_rl7cPp.js +0 -76
  313. package/dist/assets/ai-model-dropdown-BmCwaRek.js +0 -3
  314. package/dist/assets/app-config-button-CtDuDui6.js +0 -1
  315. package/dist/assets/channel-ni7ei-yz.js +0 -1
  316. package/dist/assets/chat-panel-J4XhiL6i.js +0 -4
  317. package/dist/assets/classDiagram-ZZMXUADV-BS3U2jc1.js +0 -1
  318. package/dist/assets/classDiagram-v2-VYDZK3BY-BS3U2jc1.js +0 -1
  319. package/dist/assets/dagre-B5pirN9r.js +0 -1
  320. package/dist/assets/edit-page-D--nkMAI.js +0 -176
  321. package/dist/assets/file-name-input-CCRQJdng.js +0 -3
  322. package/dist/assets/flowDiagram-HODETNUW-DN8oq7vL.js +0 -1
  323. package/dist/assets/glide-data-editor-jH9-4ffy.js +0 -131
  324. package/dist/assets/has-W-yPT2HD.js +0 -1
  325. package/dist/assets/index-2TQenOiQ.css +0 -2
  326. package/dist/assets/index-Bjli4tSW.js +0 -62
  327. package/dist/assets/katex-mNPPSsir.js +0 -257
  328. package/dist/assets/katex-ukvJUC1e.js +0 -257
  329. package/dist/assets/mhchem-DcHTrqjv.js +0 -1
  330. package/dist/assets/packages-panel-pQzYAoH5.js +0 -1
  331. package/dist/assets/run-page-BTAjlR7y.js +0 -1
  332. package/dist/assets/session-panel-BYf4LDAo.js +0 -1
  333. package/dist/assets/snippets-panel-BAYAZKCH.js +0 -1
  334. package/dist/assets/stateDiagram-v2-MP3YSRHH-sU5f30Vy.js +0 -1
  335. package/dist/assets/swimlanesDiagram-VR7AAH4N-CNzkvYiI.js +0 -8
  336. package/dist/assets/tooltip-B1vGi-z4.js +0 -61
  337. package/dist/assets/tracing-panel-CzJ8ckHz.js +0 -2
@@ -1 +0,0 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{c as t}from"./useEvent-Dc9HkKI2.js";import{t as n}from"./react-CUdNIagt.js";import{$t as r,Bn as i,En as a,On as o,Xt as s,Yt as c,Zt as l,cn as u,dn as d,en as f,nn as p,tn as m,un as h}from"./cells-Cu3p4E4U.js";import{t as g}from"./compiler-runtime-BQ9S8nyo.js";import{D as _,O as v,S as y}from"./config-BxZgoFvi.js";import{O as b,d as x,f as S,i as C,n as w,u as T}from"./ai-model-dropdown-BmCwaRek.js";import{M as E}from"./config-DpGPGznL.js";import{t as D}from"./jsx-runtime-B74pBk57.js";import{o as O}from"./alert-dialog-CeE3i3Qa.js";import{l as k}from"./select-BplWpfFo.js";import{t as A}from"./tooltip-DR2Z2N4w.js";import{t as j}from"./button-BoklZTGL.js";import{t as M}from"./createLucideIcon-rHn2EdoM.js";import{r as N}from"./useNumberFormatter-C4-_TnkF.js";import{b as P,p as F}from"./write-secret-modal-CBUZw27N.js";import{Ut as I,Wt as L,Xt as R,Zt as ee,r as z}from"./input-BDakodZ2.js";import{t as B}from"./settings-DlKTeV_0.js";import{t as V}from"./use-toast-CC89xOwH.js";import{s as H}from"./arrays-BqUx5USx.js";import{r as U}from"./requests-yTHMxhVa.js";import{r as W}from"./useDebounce-DMbg9X18.js";import{Ui as G,zr as K}from"./index-Bjli4tSW.js";import{n as q}from"./useInterval-ChchS0Rl.js";var J=M(`power-off`,[[`path`,{d:`M18.36 6.64A9 9 0 0 1 20.77 15`,key:`dxknvb`}],[`path`,{d:`M6.16 6.16a9 9 0 1 0 12.68 12.68`,key:`1x7qb5`}],[`path`,{d:`M12 2v4`,key:`3427ic`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]),Y=g(),X=D(),Z=e=>{let t=(0,Y.c)(15),{description:n,disabled:r,tooltip:i}=e,a=r!==void 0&&r,o=i===void 0?`Shutdown`:i,{openConfirm:s,closeModal:c}=P(),{sendShutdown:l}=U(),u;t[0]===l?u=t[1]:(u=()=>{l(),setTimeout(te,200)},t[0]=l,t[1]=u);let d=u;if(E())return null;let f=a?`disabled`:`red`,p;t[2]!==c||t[3]!==n||t[4]!==d||t[5]!==s?(p=e=>{e.stopPropagation(),s({title:`Shutdown`,description:n,variant:`destructive`,confirmAction:(0,X.jsx)(O,{onClick:()=>{d(),c()},"aria-label":`Confirm Shutdown`,children:`Shutdown`})})},t[2]=c,t[3]=n,t[4]=d,t[5]=s,t[6]=p):p=t[6];let m;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,X.jsx)(N,{strokeWidth:1}),t[7]=m):m=t[7];let h;t[8]!==a||t[9]!==f||t[10]!==p?(h=(0,X.jsx)(q,{"aria-label":`Shutdown`,"data-testid":`shutdown-button`,shape:`circle`,size:`small`,color:f,className:`h-[27px] w-[27px]`,disabled:a,onClick:p,children:m}),t[8]=a,t[9]=f,t[10]=p,t[11]=h):h=t[11];let g;return t[12]!==h||t[13]!==o?(g=(0,X.jsx)(A,{content:o,children:h}),t[12]=h,t[13]=o,t[14]=g):g=t[14],g};function te(){window.close()}var Q=e(n(),1),ne=100,re=()=>{let e=(0,Y.c)(37),[t,n]=y(),{saveAppConfig:u}=U(),d=(0,Q.useId)(),h=(0,Q.useId)(),g;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(g=a(_),e[0]=g):g=e[0];let v;e[1]===t?v=e[2]:(v={resolver:g,defaultValues:t},e[1]=t,e[2]=v);let b=o(v),C;e[3]!==u||e[4]!==n?(C=async e=>{await u({config:e}).then(()=>{n(e)}).catch(()=>{n(e)})},e[3]=u,e[4]=n,e[5]=C):C=e[5];let w=C,T;e[6]===w?T=e[7]:(T=e=>{w(e)},e[6]=w,e[7]=T);let E=W(T,ne),D;e[8]===t.width?D=e[9]:(D=[t.width],e[8]=t.width,e[9]=D),(0,Q.useEffect)(ie,D);let O;e[10]!==E||e[11]!==b?(O=b.handleSubmit(E),e[10]=E,e[11]=b,e[12]=O):O=e[12];let k;e[13]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,X.jsxs)(`div`,{children:[(0,X.jsx)(S,{children:`Notebook Settings`}),(0,X.jsx)(x,{children:`Configure how your notebook or application looks and behaves.`})]}),e[13]=k):k=e[13];let A;e[14]===b.control?A=e[15]:(A=(0,X.jsxs)($,{title:`Display`,children:[(0,X.jsx)(r,{control:b.control,name:`width`,render:oe}),(0,X.jsx)(r,{control:b.control,name:`app_title`,render:se})]}),e[14]=b.control,e[15]=A);let j;e[16]===b.control?j=e[17]:(j=(0,X.jsxs)($,{title:`Custom Files`,children:[(0,X.jsx)(r,{control:b.control,name:`css_file`,render:ce}),(0,X.jsx)(r,{control:b.control,name:`html_head_file`,render:le})]}),e[16]=b.control,e[17]=j);let M;e[18]===b.control?M=e[19]:(M=(0,X.jsx)($,{title:`Data`,children:(0,X.jsx)(r,{control:b.control,name:`sql_output`,render:de})}),e[18]=b.control,e[19]=M);let N;e[20]!==d||e[21]!==h?(N=e=>{let{field:t}=e;return(0,X.jsxs)(`div`,{className:`flex flex-col gap-y-1`,children:[(0,X.jsxs)(f,{className:`flex flex-col gap-2`,children:[(0,X.jsx)(s,{children:(0,X.jsxs)(`div`,{className:`flex gap-4`,children:[(0,X.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,X.jsx)(i,{id:d,"data-testid":`html-checkbox`,checked:t.value.includes(`html`),onCheckedChange:()=>{t.onChange(H(t.value,`html`))}}),(0,X.jsx)(m,{htmlFor:d,children:`HTML`})]}),(0,X.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,X.jsx)(i,{id:h,"data-testid":`ipynb-checkbox`,checked:t.value.includes(`ipynb`),onCheckedChange:()=>{t.onChange(H(t.value,`ipynb`))}}),(0,X.jsx)(m,{htmlFor:h,children:`IPYNB`})]})]})}),(0,X.jsx)(p,{})]}),(0,X.jsxs)(l,{children:[`When enabled, marimo will periodically save this notebook in your selected formats (HTML, IPYNB) to a folder named`,` `,(0,X.jsx)(K,{className:`inline`,children:`__marimo__`}),` next to your notebook file.`]})]})},e[20]=d,e[21]=h,e[22]=N):N=e[22];let P;e[23]!==b.control||e[24]!==N?(P=(0,X.jsx)($,{title:`Exporting outputs`,children:(0,X.jsx)(r,{control:b.control,name:`auto_download`,render:N})}),e[23]=b.control,e[24]=N,e[25]=P):P=e[25];let F;e[26]!==P||e[27]!==A||e[28]!==j||e[29]!==M?(F=(0,X.jsxs)(`div`,{className:`grid grid-cols-2 gap-x-8 gap-y-4`,children:[A,j,M,P]}),e[26]=P,e[27]=A,e[28]=j,e[29]=M,e[30]=F):F=e[30];let I;e[31]!==F||e[32]!==O?(I=(0,X.jsxs)(`form`,{onChange:O,className:`flex flex-col gap-6`,children:[k,F]}),e[31]=F,e[32]=O,e[33]=I):I=e[33];let L;return e[34]!==b||e[35]!==I?(L=(0,X.jsx)(c,{...b,children:I}),e[34]=b,e[35]=I,e[36]=L):L=e[36],L},$=e=>{let t=(0,Y.c)(5),{title:n,children:r}=e,i;t[0]===n?i=t[1]:(i=(0,X.jsx)(`h3`,{className:`text-base font-semibold mb-1`,children:n}),t[0]=n,t[1]=i);let a;return t[2]!==r||t[3]!==i?(a=(0,X.jsxs)(`div`,{className:`flex flex-col gap-y-2`,children:[i,r]}),t[2]=r,t[3]=i,t[4]=a):a=t[4],a};function ie(){window.dispatchEvent(new Event(`resize`))}function ae(e){return(0,X.jsx)(`option`,{value:e,children:e},e)}function oe(e){let{field:t}=e;return(0,X.jsxs)(f,{className:`flex flex-row items-center space-x-1 space-y-0`,children:[(0,X.jsx)(m,{children:`Width`}),(0,X.jsx)(s,{children:(0,X.jsx)(k,{"data-testid":`app-width-select`,onChange:e=>t.onChange(e.target.value),value:t.value,disabled:t.disabled,className:`inline-flex mr-2`,children:b().map(ae)})}),(0,X.jsx)(p,{})]})}function se(e){let{field:t}=e;return(0,X.jsxs)(`div`,{className:`flex flex-col gap-y-1`,children:[(0,X.jsxs)(f,{className:`flex flex-row items-center space-x-1 space-y-0`,children:[(0,X.jsx)(m,{children:`App title`}),(0,X.jsx)(s,{children:(0,X.jsx)(z,{...t,value:t.value??``,onChange:e=>{t.onChange(e.target.value),v.safeParse(e.target.value).success&&(document.title=e.target.value)}})}),(0,X.jsx)(p,{})]}),(0,X.jsx)(l,{children:`The application title is put in the title tag in the HTML code and typically displayed in the title bar of the browser window.`})]})}function ce(e){let{field:t}=e;return(0,X.jsxs)(`div`,{className:`flex flex-col gap-y-1`,children:[(0,X.jsxs)(f,{className:`flex flex-row items-center space-x-1 space-y-0`,children:[(0,X.jsx)(m,{className:`shrink-0`,children:`Custom CSS`}),(0,X.jsx)(s,{children:(0,X.jsx)(z,{...t,value:t.value??``,placeholder:`custom.css`,onChange:e=>{t.onChange(e.target.value),v.safeParse(e.target.value).success&&(document.title=e.target.value)}})}),(0,X.jsx)(p,{})]}),(0,X.jsx)(l,{children:`A filepath to a custom css file to be injected into the notebook.`})]})}function le(e){let{field:t}=e;return(0,X.jsxs)(`div`,{className:`flex flex-col gap-y-1`,children:[(0,X.jsxs)(f,{className:`flex flex-row items-center space-x-1 space-y-0`,children:[(0,X.jsx)(m,{className:`shrink-0`,children:`HTML Head`}),(0,X.jsx)(s,{children:(0,X.jsx)(z,{...t,value:t.value??``,placeholder:`head.html`,onChange:e=>{t.onChange(e.target.value)}})}),(0,X.jsx)(p,{})]}),(0,X.jsxs)(l,{children:[`A filepath to an HTML file to be injected into the`,` `,(0,X.jsx)(K,{className:`inline`,children:`<head/>`}),` section of the notebook. Use this to add analytics, custom fonts, meta tags, or external scripts.`]})]})}function ue(e){return(0,X.jsx)(`option`,{value:e.value,children:e.label},e.value)}function de(e){let{field:t}=e;return(0,X.jsxs)(`div`,{className:`flex flex-col gap-y-1`,children:[(0,X.jsxs)(f,{className:`flex flex-row items-center space-x-1 space-y-0`,children:[(0,X.jsx)(m,{children:`SQL Output Type`}),(0,X.jsx)(s,{children:(0,X.jsx)(k,{"data-testid":`sql-output-select`,onChange:e=>{t.onChange(e.target.value),V({title:`Kernel Restart Required`,description:`This change requires a kernel restart to take effect.`})},value:t.value,disabled:t.disabled,className:`inline-flex mr-2`,children:T.map(ue)})}),(0,X.jsx)(p,{})]}),(0,X.jsxs)(l,{children:[`The Python type returned by a SQL cell. For best performance with large datasets, we recommend using`,` `,(0,X.jsx)(K,{className:`inline`,children:`native`}),`. See the`,` `,(0,X.jsx)(F,{href:`https://docs.marimo.io/guides/working_with_data/sql`,children:`SQL guide`}),` `,`for more information.`]})]})}var fe=e=>{let n=(0,Y.c)(32),{showAppConfig:r,disabled:i,tooltip:a}=e,o=r===void 0||r,s=i!==void 0&&i,c=a===void 0?`Settings`:a,[l,f]=t(w),p=s?`disabled`:`hint-green`,m;n[0]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,X.jsx)(B,{strokeWidth:1.8}),n[0]=m):m=n[0];let g;n[1]===c?g=n[2]:(g=(0,X.jsx)(A,{content:c,children:m}),n[1]=c,n[2]=g);let _;n[3]!==s||n[4]!==p||n[5]!==g?(_=(0,X.jsx)(q,{"aria-label":`Config`,"data-testid":`app-config-button`,shape:`circle`,size:`small`,className:`h-[27px] w-[27px]`,disabled:s,color:p,children:g}),n[3]=s,n[4]=p,n[5]=g,n[6]=_):_=n[6];let v=_,y;n[7]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,X.jsxs)(L,{className:`w-[90vw] h-[90vh] overflow-hidden sm:max-w-5xl top-[5vh] p-0`,children:[(0,X.jsx)(G,{children:(0,X.jsx)(R,{children:`User settings`})}),(0,X.jsx)(C,{})]}),n[7]=y):y=n[7];let b=y;if(!o){let e;n[8]===v?e=n[9]:(e=(0,X.jsx)(ee,{children:v}),n[8]=v,n[9]=e);let t;return n[10]!==f||n[11]!==l||n[12]!==e?(t=(0,X.jsxs)(I,{open:l,onOpenChange:f,children:[e,b]}),n[10]=f,n[11]=l,n[12]=e,n[13]=t):t=n[13],t}let x;n[14]===v?x=n[15]:(x=(0,X.jsx)(d,{asChild:!0,children:v}),n[14]=v,n[15]=x);let S,T;n[16]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,X.jsx)(re,{}),T=(0,X.jsx)(`div`,{className:`h-px bg-border my-2`}),n[16]=S,n[17]=T):(S=n[16],T=n[17]);let E;n[18]===f?E=n[19]:(E=()=>f(!0),n[18]=f,n[19]=E);let D;n[20]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,X.jsx)(B,{strokeWidth:1.8,className:`w-4 h-4 mr-2`}),n[20]=D):D=n[20];let O;n[21]===E?O=n[22]:(O=(0,X.jsxs)(h,{className:`w-[650px] overflow-auto max-h-[80vh] max-w-[80vw]`,align:`end`,side:`bottom`,onFocusOutside:pe,children:[S,T,(0,X.jsxs)(j,{onClick:E,variant:`link`,className:`px-0`,children:[D,`User settings`]})]}),n[21]=E,n[22]=O);let k;n[23]!==O||n[24]!==x?(k=(0,X.jsxs)(u,{children:[x,O]}),n[23]=O,n[24]=x,n[25]=k):k=n[25];let M;n[26]!==f||n[27]!==l?(M=(0,X.jsx)(I,{open:l,onOpenChange:f,children:b}),n[26]=f,n[27]=l,n[28]=M):M=n[28];let N;return n[29]!==k||n[30]!==M?(N=(0,X.jsxs)(X.Fragment,{children:[k,M]}),n[29]=k,n[30]=M,n[31]=N):N=n[31],N};function pe(e){return e.preventDefault()}export{Z as n,J as r,fe as t};
@@ -1 +0,0 @@
1
- import{at as e,it as t}from"./chunk-DU6HZSFF-J-califE.js";var n=(n,r)=>e.lang.round(t.parse(n)[r]);export{n as t};
@@ -1,4 +0,0 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{c as t,d as n,l as r,t as i,u as a}from"./useEvent-Dc9HkKI2.js";import{t as o}from"./react-CUdNIagt.js";import{D as s,Zn as c,ao as l,br as u,cn as d,dn as f,qa as p,un as m}from"./cells-Cu3p4E4U.js";import{t as h}from"./compiler-runtime-BQ9S8nyo.js";import{i as g,t as _}from"./config-BxZgoFvi.js";import{c as v,j as y,r as b,t as x}from"./ai-model-dropdown-BmCwaRek.js";import{g as S,o as C}from"./useEventListener-BdZUApHd.js";import{M as w,o as T}from"./config-DpGPGznL.js";import{t as E}from"./cn-ldLVeaqm.js";import{t as D}from"./jsx-runtime-B74pBk57.js";import{S as O,T as k,_ as A,w as j,x as M,y as N}from"./fullscreen-BmzAqMKq.js";import{u as P}from"./menu-items-BBdeXCvU.js";import{t as ee}from"./config-B4VJJibu.js";import{a as te,i as F,m as I,n as ne,r as re,s as ie,t as ae}from"./select-BplWpfFo.js";import{i as oe,t as L}from"./tooltip-DR2Z2N4w.js";import{t as R}from"./button-BoklZTGL.js";import{t as z}from"./createLucideIcon-rHn2EdoM.js";import{ot as se}from"./panels-CM1tqwz-.js";import{B as ce,C as le,D as B,E as ue,N as de,R as fe,S as pe,U as me,_ as he,b as ge,c as V,d as _e,f as ve,g as ye,h as be,k as xe,l as Se,m as Ce,n as we,u as H,v as Te,w as U,x as Ee,y as De,z as Oe}from"./add-cell-with-ai-B_rl7cPp.js";import{t as W}from"./bot-message-square-BfGaNy9r.js";import{i as ke,n as Ae,r as je,t as Me}from"./chat-display-CKr8MVOE.js";import{t as Ne}from"./hat-glasses-DVgK5i5l.js";import{b as Pe,p as Fe}from"./write-secret-modal-CBUZw27N.js";import{t as Ie}from"./plus-gbN72xHe.js";import{Qt as Le,r as Re}from"./input-BDakodZ2.js";import{t as ze}from"./settings-DlKTeV_0.js";import{t as Be}from"./copy-icon-DFhUGBjO.js";import{r as Ve}from"./requests-yTHMxhVa.js";import{t as G}from"./uuid-k9DpjH68.js";import{t as He}from"./context-BFOBKCJB.js";import{Ar as Ue,Dr as We,Fn as Ge,Hn as Ke,Mr as qe,_a as Je,a as Ye,ha as K,kr as Xe}from"./index-Bjli4tSW.js";import{t as Ze}from"./empty-state-CzxjZqGW.js";import{t as Qe}from"./scroll-to-bottom-button-BSCkDXet.js";import{g as $e,p as et}from"./edit-page-D--nkMAI.js";var q=e(o(),1),J=D();function tt(e,t){return q.useReducer((e,n)=>t[e][n]??e,e)}var nt=`ScrollArea`,[rt,it]=j(nt),[at,Y]=rt(nt),ot=q.forwardRef((e,t)=>{let{__scopeScrollArea:n,type:r=`hover`,dir:i,scrollHideDelay:a=600,...o}=e,[s,c]=q.useState(null),[l,u]=q.useState(null),[d,f]=q.useState(null),[p,m]=q.useState(null),[h,g]=q.useState(null),[_,v]=q.useState(0),[y,b]=q.useState(0),[x,S]=q.useState(!1),[w,T]=q.useState(!1),E=C(t,e=>c(e)),D=P(i);return(0,J.jsx)(at,{scope:n,type:r,dir:D,scrollHideDelay:a,scrollArea:s,viewport:l,onViewportChange:u,content:d,onContentChange:f,scrollbarX:p,onScrollbarXChange:m,scrollbarXEnabled:x,onScrollbarXEnabledChange:S,scrollbarY:h,onScrollbarYChange:g,scrollbarYEnabled:w,onScrollbarYEnabledChange:T,onCornerWidthChange:v,onCornerHeightChange:b,children:(0,J.jsx)(k.div,{dir:D,...o,ref:E,style:{position:`relative`,"--radix-scroll-area-corner-width":_+`px`,"--radix-scroll-area-corner-height":y+`px`,...e.style}})})});ot.displayName=nt;var st=`ScrollAreaViewport`,ct=q.forwardRef((e,t)=>{let{__scopeScrollArea:n,children:r,nonce:i,...a}=e,o=Y(st,n),s=q.useRef(null),c=C(t,s,o.onViewportChange);return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`style`,{dangerouslySetInnerHTML:{__html:`[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}`},nonce:i}),(0,J.jsx)(k.div,{"data-radix-scroll-area-viewport":``,...a,ref:c,style:{overflowX:o.scrollbarXEnabled?`scroll`:`hidden`,overflowY:o.scrollbarYEnabled?`scroll`:`hidden`,...e.style},children:(0,J.jsx)(`div`,{ref:o.onContentChange,style:{minWidth:`100%`,display:`table`},children:r})})]})});ct.displayName=st;var X=`ScrollAreaScrollbar`,Z=q.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=Y(X,e.__scopeScrollArea),{onScrollbarXEnabledChange:a,onScrollbarYEnabledChange:o}=i,s=e.orientation===`horizontal`;return q.useEffect(()=>(s?a(!0):o(!0),()=>{s?a(!1):o(!1)}),[s,a,o]),i.type===`hover`?(0,J.jsx)(lt,{...r,ref:t,forceMount:n}):i.type===`scroll`?(0,J.jsx)(ut,{...r,ref:t,forceMount:n}):i.type===`auto`?(0,J.jsx)(dt,{...r,ref:t,forceMount:n}):i.type===`always`?(0,J.jsx)(ft,{...r,ref:t}):null});Z.displayName=X;var lt=q.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=Y(X,e.__scopeScrollArea),[a,o]=q.useState(!1);return q.useEffect(()=>{let e=i.scrollArea,t=0;if(e){let n=()=>{window.clearTimeout(t),o(!0)},r=()=>{t=window.setTimeout(()=>o(!1),i.scrollHideDelay)};return e.addEventListener(`pointerenter`,n),e.addEventListener(`pointerleave`,r),()=>{window.clearTimeout(t),e.removeEventListener(`pointerenter`,n),e.removeEventListener(`pointerleave`,r)}}},[i.scrollArea,i.scrollHideDelay]),(0,J.jsx)(N,{present:n||a,children:(0,J.jsx)(dt,{"data-state":a?`visible`:`hidden`,...r,ref:t})})}),ut=q.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=Y(X,e.__scopeScrollArea),a=e.orientation===`horizontal`,o=Mt(()=>c(`SCROLL_END`),100),[s,c]=tt(`hidden`,{hidden:{SCROLL:`scrolling`},scrolling:{SCROLL_END:`idle`,POINTER_ENTER:`interacting`},interacting:{SCROLL:`interacting`,POINTER_LEAVE:`idle`},idle:{HIDE:`hidden`,SCROLL:`scrolling`,POINTER_ENTER:`interacting`}});return q.useEffect(()=>{if(s===`idle`){let e=window.setTimeout(()=>c(`HIDE`),i.scrollHideDelay);return()=>window.clearTimeout(e)}},[s,i.scrollHideDelay,c]),q.useEffect(()=>{let e=i.viewport,t=a?`scrollLeft`:`scrollTop`;if(e){let n=e[t],r=()=>{let r=e[t];n!==r&&(c(`SCROLL`),o()),n=r};return e.addEventListener(`scroll`,r),()=>e.removeEventListener(`scroll`,r)}},[i.viewport,a,c,o]),(0,J.jsx)(N,{present:n||s!==`hidden`,children:(0,J.jsx)(ft,{"data-state":s===`hidden`?`hidden`:`visible`,...r,ref:t,onPointerEnter:O(e.onPointerEnter,()=>c(`POINTER_ENTER`)),onPointerLeave:O(e.onPointerLeave,()=>c(`POINTER_LEAVE`))})})}),dt=q.forwardRef((e,t)=>{let n=Y(X,e.__scopeScrollArea),{forceMount:r,...i}=e,[a,o]=q.useState(!1),s=e.orientation===`horizontal`,c=Mt(()=>{if(n.viewport){let e=n.viewport.offsetWidth<n.viewport.scrollWidth,t=n.viewport.offsetHeight<n.viewport.scrollHeight;o(s?e:t)}},10);return Q(n.viewport,c),Q(n.content,c),(0,J.jsx)(N,{present:r||a,children:(0,J.jsx)(ft,{"data-state":a?`visible`:`hidden`,...i,ref:t})})}),ft=q.forwardRef((e,t)=>{let{orientation:n=`vertical`,...r}=e,i=Y(X,e.__scopeScrollArea),a=q.useRef(null),o=q.useRef(0),[s,c]=q.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),l=Tt(s.viewport,s.content),u={...r,sizes:s,onSizesChange:c,hasThumb:l>0&&l<1,onThumbChange:e=>a.current=e,onThumbPointerUp:()=>o.current=0,onThumbPointerDown:e=>o.current=e};function d(e,t){return Dt(e,o.current,s,t)}return n===`horizontal`?(0,J.jsx)(pt,{...u,ref:t,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=i.viewport.scrollLeft,t=Ot(e,s,i.dir);a.current.style.transform=`translate3d(${t}px, 0, 0)`}},onWheelScroll:e=>{i.viewport&&(i.viewport.scrollLeft=e)},onDragScroll:e=>{i.viewport&&(i.viewport.scrollLeft=d(e,i.dir))}}):n===`vertical`?(0,J.jsx)(mt,{...u,ref:t,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=i.viewport.scrollTop,t=Ot(e,s);a.current.style.transform=`translate3d(0, ${t}px, 0)`}},onWheelScroll:e=>{i.viewport&&(i.viewport.scrollTop=e)},onDragScroll:e=>{i.viewport&&(i.viewport.scrollTop=d(e))}}):null}),pt=q.forwardRef((e,t)=>{let{sizes:n,onSizesChange:r,...i}=e,a=Y(X,e.__scopeScrollArea),[o,s]=q.useState(),c=q.useRef(null),l=C(t,c,a.onScrollbarXChange);return q.useEffect(()=>{c.current&&s(getComputedStyle(c.current))},[c]),(0,J.jsx)(_t,{"data-orientation":`horizontal`,...i,ref:l,sizes:n,style:{bottom:0,left:a.dir===`rtl`?`var(--radix-scroll-area-corner-width)`:0,right:a.dir===`ltr`?`var(--radix-scroll-area-corner-width)`:0,"--radix-scroll-area-thumb-width":Et(n)+`px`,...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.x),onDragScroll:t=>e.onDragScroll(t.x),onWheelScroll:(t,n)=>{if(a.viewport){let r=a.viewport.scrollLeft+t.deltaX;e.onWheelScroll(r),At(r,n)&&t.preventDefault()}},onResize:()=>{c.current&&a.viewport&&o&&r({content:a.viewport.scrollWidth,viewport:a.viewport.offsetWidth,scrollbar:{size:c.current.clientWidth,paddingStart:wt(o.paddingLeft),paddingEnd:wt(o.paddingRight)}})}})}),mt=q.forwardRef((e,t)=>{let{sizes:n,onSizesChange:r,...i}=e,a=Y(X,e.__scopeScrollArea),[o,s]=q.useState(),c=q.useRef(null),l=C(t,c,a.onScrollbarYChange);return q.useEffect(()=>{c.current&&s(getComputedStyle(c.current))},[c]),(0,J.jsx)(_t,{"data-orientation":`vertical`,...i,ref:l,sizes:n,style:{top:0,right:a.dir===`ltr`?0:void 0,left:a.dir===`rtl`?0:void 0,bottom:`var(--radix-scroll-area-corner-height)`,"--radix-scroll-area-thumb-height":Et(n)+`px`,...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.y),onDragScroll:t=>e.onDragScroll(t.y),onWheelScroll:(t,n)=>{if(a.viewport){let r=a.viewport.scrollTop+t.deltaY;e.onWheelScroll(r),At(r,n)&&t.preventDefault()}},onResize:()=>{c.current&&a.viewport&&o&&r({content:a.viewport.scrollHeight,viewport:a.viewport.offsetHeight,scrollbar:{size:c.current.clientHeight,paddingStart:wt(o.paddingTop),paddingEnd:wt(o.paddingBottom)}})}})}),[ht,gt]=rt(X),_t=q.forwardRef((e,t)=>{let{__scopeScrollArea:n,sizes:r,hasThumb:i,onThumbChange:a,onThumbPointerUp:o,onThumbPointerDown:s,onThumbPositionChange:c,onDragScroll:l,onWheelScroll:u,onResize:d,...f}=e,p=Y(X,n),[m,h]=q.useState(null),g=C(t,e=>h(e)),_=q.useRef(null),v=q.useRef(``),y=p.viewport,b=r.content-r.viewport,x=A(u),S=A(c),w=Mt(d,10);function T(e){if(_.current){let t=e.clientX-_.current.left,n=e.clientY-_.current.top;l({x:t,y:n})}}return q.useEffect(()=>{let e=e=>{let t=e.target;m?.contains(t)&&x(e,b)};return document.addEventListener(`wheel`,e,{passive:!1}),()=>document.removeEventListener(`wheel`,e,{passive:!1})},[y,m,b,x]),q.useEffect(S,[r,S]),Q(m,w),Q(p.content,w),(0,J.jsx)(ht,{scope:n,scrollbar:m,hasThumb:i,onThumbChange:A(a),onThumbPointerUp:A(o),onThumbPositionChange:S,onThumbPointerDown:A(s),children:(0,J.jsx)(k.div,{...f,ref:g,style:{position:`absolute`,...f.style},onPointerDown:O(e.onPointerDown,e=>{e.button===0&&(e.target.setPointerCapture(e.pointerId),_.current=m.getBoundingClientRect(),v.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect=`none`,p.viewport&&(p.viewport.style.scrollBehavior=`auto`),T(e))}),onPointerMove:O(e.onPointerMove,T),onPointerUp:O(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=v.current,p.viewport&&(p.viewport.style.scrollBehavior=``),_.current=null})})})}),vt=`ScrollAreaThumb`,yt=q.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=gt(vt,e.__scopeScrollArea);return(0,J.jsx)(N,{present:n||i.hasThumb,children:(0,J.jsx)(bt,{ref:t,...r})})}),bt=q.forwardRef((e,t)=>{let{__scopeScrollArea:n,style:r,...i}=e,a=Y(vt,n),o=gt(vt,n),{onThumbPositionChange:s}=o,c=C(t,e=>o.onThumbChange(e)),l=q.useRef(void 0),u=Mt(()=>{l.current&&=(l.current(),void 0)},100);return q.useEffect(()=>{let e=a.viewport;if(e){let t=()=>{if(u(),!l.current){let t=jt(e,s);l.current=t,s()}};return s(),e.addEventListener(`scroll`,t),()=>e.removeEventListener(`scroll`,t)}},[a.viewport,u,s]),(0,J.jsx)(k.div,{"data-state":o.hasThumb?`visible`:`hidden`,...i,ref:c,style:{width:`var(--radix-scroll-area-thumb-width)`,height:`var(--radix-scroll-area-thumb-height)`,...r},onPointerDownCapture:O(e.onPointerDownCapture,e=>{let t=e.target.getBoundingClientRect(),n=e.clientX-t.left,r=e.clientY-t.top;o.onThumbPointerDown({x:n,y:r})}),onPointerUp:O(e.onPointerUp,o.onThumbPointerUp)})});yt.displayName=vt;var xt=`ScrollAreaCorner`,St=q.forwardRef((e,t)=>{let n=Y(xt,e.__scopeScrollArea),r=!!(n.scrollbarX&&n.scrollbarY);return n.type!==`scroll`&&r?(0,J.jsx)(Ct,{...e,ref:t}):null});St.displayName=xt;var Ct=q.forwardRef((e,t)=>{let{__scopeScrollArea:n,...r}=e,i=Y(xt,n),[a,o]=q.useState(0),[s,c]=q.useState(0),l=!!(a&&s);return Q(i.scrollbarX,()=>{let e=i.scrollbarX?.offsetHeight||0;i.onCornerHeightChange(e),c(e)}),Q(i.scrollbarY,()=>{let e=i.scrollbarY?.offsetWidth||0;i.onCornerWidthChange(e),o(e)}),l?(0,J.jsx)(k.div,{...r,ref:t,style:{width:a,height:s,position:`absolute`,right:i.dir===`ltr`?0:void 0,left:i.dir===`rtl`?0:void 0,bottom:0,...e.style}}):null});function wt(e){return e?parseInt(e,10):0}function Tt(e,t){let n=e/t;return isNaN(n)?0:n}function Et(e){let t=Tt(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}function Dt(e,t,n,r=`ltr`){let i=Et(n),a=i/2,o=t||a,s=i-o,c=n.scrollbar.paddingStart+o,l=n.scrollbar.size-n.scrollbar.paddingEnd-s,u=n.content-n.viewport,d=r===`ltr`?[0,u]:[u*-1,0];return kt([c,l],d)(e)}function Ot(e,t,n=`ltr`){let r=Et(t),i=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,a=t.scrollbar.size-i,o=t.content-t.viewport,s=a-r,c=n===`ltr`?[0,o]:[o*-1,0],l=I(e,c);return kt([0,o],[0,s])(l)}function kt(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function At(e,t){return e>0&&e<t}var jt=(e,t=()=>{})=>{let n={left:e.scrollLeft,top:e.scrollTop},r=0;return(function i(){let a={left:e.scrollLeft,top:e.scrollTop},o=n.left!==a.left,s=n.top!==a.top;(o||s)&&t(),n=a,r=window.requestAnimationFrame(i)})(),()=>window.cancelAnimationFrame(r)};function Mt(e,t){let n=A(e),r=q.useRef(0);return q.useEffect(()=>()=>window.clearTimeout(r.current),[]),q.useCallback(()=>{window.clearTimeout(r.current),r.current=window.setTimeout(n,t)},[n,t])}function Q(e,t){let n=A(t);M(()=>{let t=0;if(e){let r=new ResizeObserver(()=>{cancelAnimationFrame(t),t=window.requestAnimationFrame(n)});return r.observe(e),()=>{window.cancelAnimationFrame(t),r.unobserve(e)}}},[e,n])}var Nt=ot,Pt=ct,Ft=St,It=z(`notebook-text`,[[`path`,{d:`M2 6h4`,key:`aawbzj`}],[`path`,{d:`M2 10h4`,key:`l0bgd4`}],[`path`,{d:`M2 14h4`,key:`1gsvsf`}],[`path`,{d:`M2 18h4`,key:`1bu2t1`}],[`rect`,{width:`16`,height:`20`,x:`4`,y:`2`,rx:`2`,key:`1nb95v`}],[`path`,{d:`M9.5 8h5`,key:`11mslq`}],[`path`,{d:`M9.5 12H16`,key:`ktog6x`}],[`path`,{d:`M9.5 16H14`,key:`p1seyn`}]]),Lt=z(`sliders-horizontal`,[[`path`,{d:`M10 5H3`,key:`1qgfaw`}],[`path`,{d:`M12 19H3`,key:`yhmn1j`}],[`path`,{d:`M14 3v4`,key:`1sua03`}],[`path`,{d:`M16 17v4`,key:`1q0r14`}],[`path`,{d:`M21 12h-9`,key:`1o4lsq`}],[`path`,{d:`M21 19h-5`,key:`1rlt1p`}],[`path`,{d:`M21 5h-7`,key:`1oszz2`}],[`path`,{d:`M8 10v4`,key:`tgpxqk`}],[`path`,{d:`M8 12H3`,key:`a7s4jb`}]]),$=h(),Rt=({chatState:e,chatId:t,messages:n})=>{if(!t)return S.warn(`No active chat`),e;let r=e.chats.get(t);if(!r)return S.warn(`No active chat`),e;let i=new Map(e.chats),a=Date.now();return i.set(r.id,{...r,messages:n,updatedAt:a}),{...e,chats:i}},zt=class extends ce{onChunkReceived;constructor(e,t){super(e),this.onChunkReceived=t}processResponseStream(e){let t=this.onChunkReceived;return super.processResponseStream(e).pipeThrough(new TransformStream({async transform(e,n){t(e),n.enqueue(e)}}))}},Bt=q.forwardRef((e,t)=>{let n=(0,$.c)(15),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:i,children:r,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let o;n[4]===i?o=n[5]:(o=E(`relative overflow-hidden`,i),n[4]=i,n[5]=o);let s;n[6]===r?s=n[7]:(s=(0,J.jsx)(Pt,{className:`h-full w-full rounded-[inherit]`,children:r}),n[6]=r,n[7]=s);let c,l;n[8]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,J.jsx)(Vt,{}),l=(0,J.jsx)(Ft,{}),n[8]=c,n[9]=l):(c=n[8],l=n[9]);let u;return n[10]!==a||n[11]!==t||n[12]!==o||n[13]!==s?(u=(0,J.jsxs)(Nt,{ref:t,className:o,...a,children:[s,c,l]}),n[10]=a,n[11]=t,n[12]=o,n[13]=s,n[14]=u):u=n[14],u});Bt.displayName=Nt.displayName;var Vt=q.forwardRef((e,t)=>{let n=(0,$.c)(14),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:r,orientation:a,...i}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let o=a===void 0?`vertical`:a,s=o===`vertical`&&`h-full w-2.5 border-l border-l-transparent p-px`,c=o===`horizontal`&&`h-2.5 flex-col border-t border-t-transparent p-px`,l;n[4]!==r||n[5]!==s||n[6]!==c?(l=E(`flex touch-none select-none transition-colors`,s,c,r),n[4]=r,n[5]=s,n[6]=c,n[7]=l):l=n[7];let u;n[8]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,J.jsx)(yt,{className:`relative flex-1 rounded-full bg-border`}),n[8]=u):u=n[8];let d;return n[9]!==o||n[10]!==i||n[11]!==t||n[12]!==l?(d=(0,J.jsx)(Z,{ref:t,orientation:o,className:l,...i,children:u}),n[9]=o,n[10]=i,n[11]=t,n[12]=l,n[13]=d):d=n[13],d});Vt.displayName=Z.displayName;var Ht=[{label:`Today`,days:0},{label:`Yesterday`,days:1},{label:`2d ago`,days:2},{label:`3d ago`,days:3},{label:`This week`,days:7},{label:`This month`,days:30}],Ut=e=>{let t=Date.now(),n=Ht.map(e=>({...e,chats:[]})),r={label:`Older`,days:1/0,chats:[]},i=e=>{switch(e){case 0:return n[0];case 1:return n[1];case 2:return n[2];case 3:return n[3];default:return e>=4&&e<=7?n[4]:e>=8&&e<=30?n[5]:r}};for(let n of e)i(Math.floor((t-n.updatedAt)/864e5)).chats.push(n);return[...n,r].filter(e=>e.chats.length>0)},Wt=e=>{let t=(0,$.c)(36),{activeChatId:n,setActiveChat:i}=e,a=r(Ue),{locale:o}=He(),[s,c]=(0,q.useState)(``),u;t[0]===a.chats?u=t[1]:(u=[...a.chats.values()].toSorted(Gt),t[0]=a.chats,t[1]=u);let p=u,h;bb0:{if(!s.trim()){h=p;break bb0}let e;if(t[2]!==p||t[3]!==s){let n;t[5]===s?n=t[6]:(n=e=>e.title.toLowerCase().includes(s.toLowerCase()),t[5]=s,t[6]=n),e=p.filter(n),t[2]=p,t[3]=s,t[4]=e}else e=t[4];h=e}let g=h,_;t[7]===g?_=t[8]:(_=Ut(g),t[7]=g,t[8]=_);let v=_,y;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,J.jsx)(L,{content:`Previous chats`,children:(0,J.jsx)(f,{asChild:!0,children:(0,J.jsx)(R,{variant:`text`,size:`icon`,children:(0,J.jsx)(l,{className:`h-4 w-4`})})})}),t[9]=y):y=t[9];let b;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(b=e=>c(e.target.value),t[10]=b):b=t[10];let x;t[11]===s?x=t[12]:(x=(0,J.jsx)(`div`,{className:`pt-3 px-3 w-full`,children:(0,J.jsx)(Re,{placeholder:`Search chat history...`,value:s,onChange:b,className:`text-xs`})}),t[11]=s,t[12]=x);let S;t[13]===p.length?S=t[14]:(S=p.length===0&&(0,J.jsx)(Ze,{title:`No chats yet`,description:`Start a new chat to get started`,icon:(0,J.jsx)(W,{})}),t[13]=p.length,t[14]=S);let C;t[15]!==p.length||t[16]!==g.length||t[17]!==s?(C=g.length===0&&s&&p.length>0&&(0,J.jsx)(Ze,{title:`No chats found`,description:`No chats match "${s}"`,icon:(0,J.jsx)(Le,{})}),t[15]=p.length,t[16]=g.length,t[17]=s,t[18]=C):C=t[18];let w;if(t[19]!==n||t[20]!==v||t[21]!==o||t[22]!==i){let e;t[24]!==n||t[25]!==v.length||t[26]!==o||t[27]!==i?(e=(e,t)=>(0,J.jsxs)(`div`,{className:`space-y-2`,children:[(0,J.jsx)(`div`,{className:`text-xs px-1 text-muted-foreground/60`,children:e.label}),(0,J.jsx)(`div`,{children:e.chats.map(e=>(0,J.jsxs)(`button`,{className:E(`w-full p-1 rounded-md cursor-pointer text-left flex items-center justify-between`,e.id===n&&`bg-accent`,e.id!==n&&`hover:bg-muted/20`),onClick:()=>{i(e.id)},type:`button`,children:[(0,J.jsx)(`div`,{className:`flex-1 min-w-0`,children:(0,J.jsx)(`div`,{className:`text-sm truncate`,children:e.title})}),(0,J.jsx)(`div`,{className:`text-xs text-muted-foreground/60 ml-2 shrink-0`,children:Ge(e.updatedAt,o)})]},e.id))}),t!==v.length-1&&(0,J.jsx)(`hr`,{})]},e.label),t[24]=n,t[25]=v.length,t[26]=o,t[27]=i,t[28]=e):e=t[28],w=v.map(e),t[19]=n,t[20]=v,t[21]=o,t[22]=i,t[23]=w}else w=t[23];let T;t[29]!==S||t[30]!==C||t[31]!==w?(T=(0,J.jsx)(Bt,{className:`h-[450px] p-2`,children:(0,J.jsxs)(`div`,{className:`space-y-3`,children:[S,C,w]})}),t[29]=S,t[30]=C,t[31]=w,t[32]=T):T=t[32];let D;return t[33]!==T||t[34]!==x?(D=(0,J.jsxs)(d,{children:[y,(0,J.jsxs)(m,{className:`w-[480px] p-0`,align:`start`,side:`right`,children:[x,T]})]}),t[33]=T,t[34]=x,t[35]=D):D=t[35],D};function Gt(e,t){return t.updatedAt-e.updatedAt}var Kt=()=>{let e=(0,$.c)(17),[n,r]=t(Xe),i=n.webSearch,a=i?`Capabilities (web search enabled)`:`Capabilities`,o=i||void 0,s=i&&`bg-primary/15 text-primary ring-1 ring-primary/30 opacity-100 hover:bg-primary/20`,c;e[0]===s?c=e[1]:(c=E(`h-6 w-6 shrink-0 bg-muted hover:bg-muted/30`,s),e[0]=s,e[1]=c);let l;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,J.jsx)(Lt,{className:`h-3.5 w-3.5`}),e[2]=l):l=e[2];let u;e[3]!==a||e[4]!==o||e[5]!==c?(u=(0,J.jsx)(f,{asChild:!0,children:(0,J.jsx)(R,{"aria-label":`Capabilities`,title:a,"data-active":o,variant:`text`,size:`icon`,className:c,children:l})}),e[3]=a,e[4]=o,e[5]=c,e[6]=u):u=e[6];let p;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,J.jsx)(`span`,{className:`text-sm font-semibold`,children:`Web search`}),e[7]=p):p=e[7];let h;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,J.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[p,(0,J.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[`Search the web when the model supports it.`,` `,(0,J.jsx)(Fe,{href:`https://docs.marimo.io/guides/editor_features/tools#web-search-and-fetch`,children:`Learn more`})]})]}),e[8]=h):h=e[8];let g;e[9]===r?g=e[10]:(g=e=>r(t=>({...t,webSearch:e})),e[9]=r,e[10]=g);let _;e[11]!==g||e[12]!==i?(_=(0,J.jsx)(m,{className:`w-76 p-3`,align:`start`,side:`top`,children:(0,J.jsxs)(`label`,{htmlFor:`web-search-toggle`,className:`flex items-start justify-between gap-3 cursor-pointer`,children:[h,(0,J.jsx)(Ye,{id:`web-search-toggle`,"aria-label":`Web search`,size:`sm`,checked:i,onCheckedChange:g})]})}),e[11]=g,e[12]=i,e[13]=_):_=e[13];let v;return e[14]!==u||e[15]!==_?(v=(0,J.jsxs)(d,{children:[u,_]}),e[14]=u,e[15]=_,e[16]=v):v=e[16],v};function qt(){return G()}function Jt(e){let t=(0,$.c)(4),[n,r]=(0,q.useState)(qt),a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=()=>r(qt()),t[0]=a):a=t[0];let o=i(a),s=e??n,c;return t[1]!==o||t[2]!==s?(c={chatControllerId:s,renewDraftChatId:o},t[1]=o,t[2]=s,t[3]=c):c=t[3],c}var Yt=`manual`,Xt=(0,q.memo)(e=>{let t=(0,$.c)(18),{message:n}=e,r;t[0]===n.parts?r=t[1]:(r=n.parts.filter(an).map(on).join(`
2
- `),t[0]=n.parts,t[1]=r);let i=r,a,o,s;if(t[2]!==n.parts){let e=n.parts.filter(sn);s=`flex justify-end`,a=`w-[95%] bg-background border border-dashed p-2 rounded-sm opacity-70`,o=e.map(cn),t[2]=n.parts,t[3]=a,t[4]=o,t[5]=s}else a=t[3],o=t[4],s=t[5];let c;t[6]===i?c=t[7]:(c=(0,J.jsx)(`span`,{className:`wrap-break-word`,children:i}),t[6]=i,t[7]=c);let l;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,J.jsx)(Je,{className:`h-3.5 w-3.5 shrink-0 animate-spin`}),t[8]=l):l=t[8];let u;t[9]===c?u=t[10]:(u=(0,J.jsxs)(`div`,{className:`flex items-center justify-end gap-2 text-sm text-muted-foreground`,children:[c,l]}),t[9]=c,t[10]=u);let d;t[11]!==a||t[12]!==o||t[13]!==u?(d=(0,J.jsxs)(`div`,{className:a,children:[o,u]}),t[11]=a,t[12]=o,t[13]=u,t[14]=d):d=t[14];let f;return t[15]!==s||t[16]!==d?(f=(0,J.jsx)(`div`,{className:s,children:d}),t[15]=s,t[16]=d,t[17]=f):f=t[17],f});Xt.displayName=`QueuedMessageDisplay`;var Zt=e=>{let t=(0,$.c)(18),{onNewChat:n,activeChatId:r,setActiveChat:i}=e,{handleClick:a}=b(),o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,J.jsx)(Ie,{className:`h-4 w-4`}),t[0]=o):o=t[0];let s;t[1]===n?s=t[2]:(s=(0,J.jsx)(L,{content:`New chat`,children:(0,J.jsx)(R,{variant:`text`,size:`icon`,onClick:n,children:o})}),t[1]=n,t[2]=s);let c;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,J.jsx)(v,{}),t[3]=c):c=t[3];let l;t[4]===a?l=t[5]:(l=()=>a(`ai`),t[4]=a,t[5]=l);let u;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,J.jsx)(ze,{className:`h-4 w-4`}),t[6]=u):u=t[6];let d;t[7]===l?d=t[8]:(d=(0,J.jsx)(L,{content:`AI Settings`,children:(0,J.jsx)(R,{variant:`text`,size:`xs`,className:`hover:bg-foreground/10 py-2`,onClick:l,children:u})}),t[7]=l,t[8]=d);let f;t[9]!==r||t[10]!==i?(f=(0,J.jsx)(Wt,{activeChatId:r,setActiveChat:i}),t[9]=r,t[10]=i,t[11]=f):f=t[11];let p;t[12]!==d||t[13]!==f?(p=(0,J.jsxs)(`div`,{className:`flex items-center gap-2`,children:[c,d,f]}),t[12]=d,t[13]=f,t[14]=p):p=t[14];let m;return t[15]!==s||t[16]!==p?(m=(0,J.jsxs)(`div`,{className:`flex border-b px-2 py-1 justify-between shrink-0 items-center`,children:[s,p]}),t[15]=s,t[16]=p,t[17]=m):m=t[17],m},Qt=(0,q.memo)(e=>{let t=(0,$.c)(17),{message:n,index:r,onEdit:i,isStreamingReasoning:a,isLast:o,isActive:s,addToolApprovalResponse:c}=e,l;t[0]!==r||t[1]!==i?(l=e=>{let t=(e.parts?.filter(ln))?.map(un).join(`
3
- `),n=e.parts?.filter(dn);return(0,J.jsxs)(`div`,{className:`w-[95%] bg-background border p-1 rounded-sm`,children:[n?.map(fn),(0,J.jsx)(we,{value:t,placeholder:`Type your message...`,onChange:pn,onSubmit:(e,t)=>{t.trim()&&i(r,t)},onClose:mn},e.id)]})},t[0]=r,t[1]=i,t[2]=l):l=t[2];let u=l,d;t[3]!==c||t[4]!==s||t[5]!==o||t[6]!==a?(d=e=>{let t=e.parts.filter(hn).map(gn).join(`
4
- `);return(0,J.jsxs)(`div`,{className:`w-[95%] wrap-break-word`,children:[(0,J.jsx)(`div`,{className:`absolute right-1 top-1 opacity-0 group-hover:opacity-100 transition-opacity`,children:(0,J.jsx)(Be,{className:`h-3 w-3`,value:t||``})}),Me({message:e,isStreamingReasoning:a,isLast:o,isActive:s,addToolApprovalResponse:c})]})},t[3]=c,t[4]=s,t[5]=o,t[6]=a,t[7]=d):d=t[7];let f=d,p=n.role===`user`?`justify-end`:`justify-start`,m;t[8]===p?m=t[9]:(m=E(`flex group relative`,p),t[8]=p,t[9]=m);let h;t[10]!==n||t[11]!==f||t[12]!==u?(h=n.role===`user`?u(n):f(n),t[10]=n,t[11]=f,t[12]=u,t[13]=h):h=t[13];let g;return t[14]!==m||t[15]!==h?(g=(0,J.jsx)(`div`,{className:m,children:h}),t[14]=m,t[15]=h,t[16]=g):g=t[16],g});Qt.displayName=`ChatMessage`;var $t=(0,q.memo)(e=>{let t=(0,$.c)(43),{isEmpty:n,onSendClick:i,isLoading:a,onStop:o,fileInputRef:s,onAddFiles:c,onAddContext:l}=e,u=r(_),d=u?.mode||Yt,f=u?.models?.chat_model||`openai/gpt-4o`,p=y.parse(f).providerId,{saveModeChange:m}=ee(),h;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(h=[{value:`manual`,label:`Manual`,subtitle:`Pure chat, no tool usage`,Icon:K},{value:`ask`,label:`Ask`,subtitle:`AI with access to read-only tools like documentation search`,Icon:It},{value:`agent`,label:`Agent`,subtitle:`AI with access to read and write tools`,Icon:Ne},{value:`code_mode`,label:`Code Mode (beta)`,subtitle:`AI with access to the notebook's kernel. Potentially destructive.`,Icon:se}],t[0]=h):h=t[0];let g=h,v=Ce.has(p),b;t[1]!==d||t[2]!==g?(b=g.find(e=>e.value===d),t[1]=d,t[2]=g,t[3]=b):b=t[3];let S=b,C=S?.Icon,w=S?.label,T;t[4]===C?T=t[5]:(T=C&&(0,J.jsx)(C,{className:`h-3 w-3`}),t[4]=C,t[5]=T);let E;t[6]===w?E=t[7]:(E=(0,J.jsx)(`span`,{className:`text-nowrap`,children:w}),t[6]=w,t[7]=E);let D;t[8]!==T||t[9]!==E?(D=(0,J.jsxs)(ie,{className:`h-6 text-xs border-border shadow-none! ring-0! bg-muted hover:bg-muted/30 py-0 px-2 gap-1.5 shrink-0`,children:[T,E]}),t[8]=T,t[9]=E,t[10]=D):D=t[10];let O;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,J.jsx)(te,{className:`text-xs uppercase tracking-wider text-muted-foreground/70 font-medium`,children:`AI Mode`}),t[11]=O):O=t[11];let k;t[12]===g?k=t[13]:(k=(0,J.jsx)(ne,{children:(0,J.jsxs)(re,{children:[O,g.map(_n)]})}),t[12]=g,t[13]=k);let A;t[14]!==d||t[15]!==m||t[16]!==D||t[17]!==k?(A=(0,J.jsxs)(ae,{value:d,onValueChange:m,children:[D,k]}),t[14]=d,t[15]=m,t[16]=D,t[17]=k,t[18]=A):A=t[18];let j,M;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,J.jsx)(x,{placeholder:`Model`,triggerClassName:`h-6 text-xs shadow-none! ring-0! bg-muted hover:bg-muted/30 rounded-sm max-w-[200px]`,iconSize:`small`,showAddCustomModelDocs:!0,forRole:`chat`}),j=(0,J.jsx)(Kt,{}),t[19]=j,t[20]=M):(j=t[19],M=t[20]);let N;t[21]===A?N=t[22]:(N=(0,J.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1`,children:[A,M,j]}),t[21]=A,t[22]=N);let P;t[23]!==a||t[24]!==l?(P=(0,J.jsx)(V,{handleAddContext:l,isLoading:a}),t[23]=a,t[24]=l,t[25]=P):P=t[25];let F;t[26]!==s||t[27]!==v||t[28]!==a||t[29]!==c?(F=v&&(0,J.jsx)(Se,{fileInputRef:s,isLoading:a,onAddFiles:c}),t[26]=s,t[27]=v,t[28]=a,t[29]=c,t[30]=F):F=t[30];let I;t[31]!==n||t[32]!==a||t[33]!==i||t[34]!==o?(I=(0,J.jsx)(ve,{isLoading:a,onStop:o,onSendClick:i,isEmpty:n}),t[31]=n,t[32]=a,t[33]=i,t[34]=o,t[35]=I):I=t[35];let L;t[36]!==P||t[37]!==F||t[38]!==I?(L=(0,J.jsxs)(`div`,{className:`flex flex-row ml-auto`,children:[P,F,I]}),t[36]=P,t[37]=F,t[38]=I,t[39]=L):L=t[39];let R;return t[40]!==N||t[41]!==L?(R=(0,J.jsx)(oe,{children:(0,J.jsxs)(`div`,{className:`px-3 py-2 border-t border-border/20 flex flex-wrap items-center gap-1`,children:[N,L]})}),t[40]=N,t[41]=L,t[42]=R):R=t[42],R});$t.displayName=`ChatInputFooter`;var en=(0,q.memo)(e=>{let t=(0,$.c)(31),{placeholder:n,input:r,inputClassName:a,setInput:o,onSubmit:s,inputRef:c,isLoading:l,onStop:u,fileInputRef:d,onAddFiles:f,onClose:p}=e,m;t[0]!==r||t[1]!==s?(m=()=>{r.trim()&&s(void 0,r)},t[0]=r,t[1]=s,t[2]=m):m=t[2];let h=i(m),g;t[3]===a?g=t[4]:(g=E(`px-2 py-1.5`,a),t[3]=a,t[4]=g);let _=n||`Type your message...`,v;t[5]!==r||t[6]!==c||t[7]!==f||t[8]!==p||t[9]!==s||t[10]!==o||t[11]!==_?(v=(0,J.jsx)(we,{className:`max-h-[400px]`,inputRef:c,value:r,onChange:o,onSubmit:s,onClose:p,onAddFiles:f,placeholder:_}),t[5]=r,t[6]=c,t[7]=f,t[8]=p,t[9]=s,t[10]=o,t[11]=_,t[12]=v):v=t[12];let y;t[13]!==g||t[14]!==v?(y=(0,J.jsx)(`div`,{className:g,children:v}),t[13]=g,t[14]=v,t[15]=y):y=t[15];let b;t[16]===r?b=t[17]:(b=r.trim(),t[16]=r,t[17]=b);let x=!b,S;t[18]===c?S=t[19]:(S=()=>U(c),t[18]=c,t[19]=S);let C;t[20]!==d||t[21]!==h||t[22]!==l||t[23]!==f||t[24]!==u||t[25]!==x||t[26]!==S?(C=(0,J.jsx)($t,{isEmpty:x,onAddContext:S,onSendClick:h,isLoading:l,onStop:u,fileInputRef:d,onAddFiles:f}),t[20]=d,t[21]=h,t[22]=l,t[23]=f,t[24]=u,t[25]=x,t[26]=S,t[27]=C):C=t[27];let w;return t[28]!==y||t[29]!==C?(w=(0,J.jsxs)(`div`,{className:`relative shrink-0 flex flex-col border-t`,children:[y,C]}),t[28]=y,t[29]=C,t[30]=w):w=t[30],w});en.displayName=`ChatInput`;var tn=e=>{let t=(0,$.c)(5),{onPairWithAgent:n}=e;if(w())return null;let r,i,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,J.jsx)(p,{className:`h-3.5 w-3.5 shrink-0`}),i=(0,J.jsx)(`span`,{children:`Work on this notebook with your own agent`}),a=(0,J.jsx)($e,{className:`h-3 w-3 shrink-0`}),t[0]=r,t[1]=i,t[2]=a):(r=t[0],i=t[1],a=t[2]);let o;return t[3]===n?o=t[4]:(o=(0,J.jsxs)(R,{variant:`text`,className:`gap-1.5 text-sm text-link hover:underline`,onClick:n,children:[r,i,a]}),t[3]=n,t[4]=o),o},nn=()=>{let e=(0,$.c)(6),t=r(g),{handleClick:n}=b();if(!t){let t;e[0]===n?t=e[1]:(t=(0,J.jsx)(R,{variant:`outline`,size:`sm`,onClick:()=>n(`ai`,`ai-providers`),children:`Edit AI settings`}),e[0]=n,e[1]=t);let r;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,J.jsx)(W,{}),e[2]=r):r=e[2];let i;return e[3]===t?i=e[4]:(i=(0,J.jsx)(Ze,{title:`Chat with AI`,description:`No AI provider configured or Chat model not selected`,action:t,icon:r}),e[3]=t,e[4]=i),i}let i;return e[5]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,J.jsx)(rn,{}),e[5]=i):i=e[5],i},rn=()=>{let e=a(Ue),[r,o]=t(We),[l,d]=t(qe),[f,p]=(0,q.useState)(``),[m,h]=(0,q.useState)(``),[g,v]=(0,q.useState)(!0),{files:y,addFiles:b,clearFiles:x,removeFile:C}=pe(),{messages:w,enqueue:D,flushNext:O,clear:k,hasQueuedRef:A}=le(),j=(0,q.useRef)(null),M=(0,q.useRef)(null),N=(0,q.useRef)(null),P=(0,q.useRef)(null),ee=(0,q.useRef)(null),[te,F]=(0,q.useState)(null),I=i(()=>{ee.current=null,F(null)}),ne=T(),{invokeAiTool:re,sendRun:ie}=Ve(),{openModal:ae,closeModal:L}=Pe(),z=r?.id,{chatControllerId:se,renewDraftChatId:ce}=Jt(z),V=n(),{addStagedCell:ve}=de(),{createNewCell:Se,prepareForRun:Ce}=s(),we={addStagedCell:ve,createNewCell:Se,prepareForRun:Ce,sendRun:ie,store:V},{messages:H,sendMessage:U,error:W,status:Me,regenerate:Ne,stop:Fe,addToolOutput:Ie,addToolApprovalResponse:Le,id:Re}=Oe({id:se,throttle:100,sendAutomaticallyWhen:({messages:e})=>Te(e),messages:r?.messages||[],transport:new zt({api:ne.getAiURL(`chat`).toString(),headers:()=>ne.headers(),prepareSendMessagesRequest:async e=>{let t=await me({messages:e.messages});t.success||S.debug(`Outgoing chat messages failed AI SDK schema validation`,t.error);let n={uiMessages:e.messages,includeOtherCode:c(``),options:V.get(Xe)},r=V.get(_)?.mode||Yt,i=xe.getToolSchemas(r);return{api:ne.getAiURL(`chat`).toString(),body:{tools:i,...e,...n}}}},e=>{let t=je(e);t!==void 0&&(ee.current=t)}),onFinish:({messages:t,isError:n,isAbort:r,finishReason:i})=>{if(e(e=>Rt({chatState:e,chatId:e.activeChatId,messages:t})),r){let e=ke({isAbort:!0,streamReason:ee.current});if(I(),e!=null){let t=Ae(e);S.debug(`Chat stream aborted`,{reason:e,finishReason:i}),F(t)}}else I();Be(t,{isError:n,isAbort:r})},onToolCall:async({toolCall:e})=>{await he({invokeAiTool:re,addToolOutput:Ie,toolCall:{toolName:e.toolName,toolCallId:e.toolCallId,input:e.input},toolContext:we})},onError:e=>{S.error(`An error occurred:`,e)}}),ze=i(e=>{I(),U({role:`user`,parts:e})}),Be=i((e,t)=>{A.current&&Ee({isError:t.isError,isAbort:t.isAbort,hasPendingToolCalls:Te(e),hasUnresolvedToolCalls:De(e)})&&O(ze)}),G=Me===`submitted`||Me===`streaming`,He=(0,q.useRef)(G);He.current=G;let Ge=i(e=>{He.current||A.current?D(e):ze(e)}),Ye=i(()=>{let e=N.current;if(!e)return;let{scrollTop:t,scrollHeight:n,clientHeight:r}=e,i=n>r?Math.abs(n-r-t)<5:!0;v(i)}),K=i((e=!1)=>{let t=N.current;t&&t.scrollTo({top:t.scrollHeight,behavior:e?`smooth`:`auto`})}),Ze=G&&H.length>0&&ge(H);(0,q.useEffect)(()=>{v(!0),k(),I()},[z,k,I]),(0,q.useEffect)(()=>{if(!g)return;let e=requestAnimationFrame(()=>{K()});return()=>cancelAnimationFrame(e)},[H,w,G,g,K]),(0,q.useEffect)(()=>{G||Be(H,{isError:W!=null,isAbort:!1})},[H,G,W,Be]);let $e=i(t=>{let n=Date.now(),r={id:Re,title:ye(t),messages:[],createdAt:n,updatedAt:n};e(e=>{let t=new Map(e.chats);return t.set(r.id,r),{...e,chats:t,activeChatId:r.id}})}),tt=i(async(e,t)=>{$e(e);let n=t&&t.length>0?await be(t):void 0,{contextPart:r,attachments:i}=await B(e);U({role:`user`,parts:[{type:`text`,text:e},...r?[r]:[],...n??[],...i]}),x(),p(``)}),nt=i(()=>{ce(),o(null),p(``),h(``),k(),x()}),rt=i(()=>{ae((0,J.jsx)(et,{onClose:L}))}),it=i(async(e,t)=>{let n=H[e],r=n.parts?.filter(e=>e.type===`file`&&!ue(e))??[],{contextPart:i,attachments:a}=await B(t),o=n.id;U({messageId:o,role:`user`,parts:[{type:`text`,text:t},...i?[i]:[],...r,...a]})}),at=i(async(e,t)=>{if(!t.trim())return;M.current?.view&&fe(M.current.view);let n=y?await be(y):void 0,{contextPart:r,attachments:i}=await B(t);e?.preventDefault(),Ge([{type:`text`,text:t},...r?[r]:[],...n??[],...i]),p(``),x()}),Y=()=>{I(),Ne()},ot=i(()=>{m.trim()&&(j.current?.view&&fe(j.current.view),tt(m.trim(),y))}),st=()=>j.current?.editor?.blur(),ct=i(async e=>{z??($e(e),p(m));let{contextPart:t,attachments:n}=await B(e);Ge([{type:`text`,text:e},...t?[t]:[],...n])}),X=H.length===0;(0,q.useEffect)(()=>{if(!l)return;d(null);let{prompt:e,submit:t}=l;t?ct(e):X?(h(e),u(j)):(p(e),u(M))},[l,d,X,ct]);let Z=X?(0,J.jsx)(en,{placeholder:`Ask anything, @ to include context about tables or dataframes`,input:m,inputRef:j,inputClassName:`px-1 py-0`,setInput:h,onSubmit:ot,isLoading:G,onStop:Fe,fileInputRef:P,onAddFiles:b,onClose:st},`new-thread-input`):(0,J.jsx)(en,{input:f,setInput:p,onSubmit:at,inputRef:M,isLoading:G,onStop:Fe,onClose:()=>M.current?.editor?.blur(),fileInputRef:P,onAddFiles:b}),lt=y&&y.length>0&&(0,J.jsx)(`div`,{className:E(`flex flex-row gap-1 flex-wrap p-1`,X&&`py-2 px-1`),children:y?.map(e=>(0,J.jsx)(_e,{file:e,onRemove:()=>C(e)},e.name))});return(0,J.jsxs)(`div`,{className:`flex flex-col h-[calc(100%-53px)]`,children:[(0,J.jsx)(oe,{children:(0,J.jsx)(Zt,{onNewChat:nt,activeChatId:r?.id,setActiveChat:o})}),(0,J.jsxs)(`div`,{className:`flex-1 flex flex-col overflow-hidden relative min-h-0`,children:[(0,J.jsxs)(`div`,{className:`flex-1 px-3 bg-(--slate-1) gap-4 py-3 flex flex-col overflow-y-auto`,ref:N,onScroll:Ye,children:[X&&(0,J.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,J.jsxs)(`div`,{className:`rounded-md border bg-background`,children:[lt,Z]}),(0,J.jsx)(tn,{onPairWithAgent:rt})]}),H.map((e,t)=>(0,J.jsx)(Qt,{message:e,index:t,onEdit:it,isStreamingReasoning:Ze,isLast:t===H.length-1,isActive:G,addToolApprovalResponse:Le},e.id)),w.map(e=>(0,J.jsx)(Xt,{message:e},e.id)),G&&(0,J.jsx)(`div`,{className:`flex justify-center py-4`,children:(0,J.jsx)(Je,{className:`h-4 w-4 animate-spin`})}),W&&(0,J.jsxs)(`div`,{className:`flex items-center justify-center space-x-2 mb-4`,children:[(0,J.jsx)(Ke,{error:W||Error(`Unknown error`)}),(0,J.jsx)(R,{variant:`outline`,size:`sm`,onClick:Y,children:`Retry`})]}),te&&!G&&!W&&(0,J.jsx)(`div`,{className:`flex justify-center py-2`,children:(0,J.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:te})})]}),(0,J.jsx)(Qe,{isVisible:!g&&(H.length>0||w.length>0),onScrollToBottom:()=>K(!0)})]}),G&&(0,J.jsx)(`div`,{className:`w-full flex justify-center items-center z-20 border-t`,children:(0,J.jsx)(R,{variant:`linkDestructive`,size:`sm`,onClick:Fe,children:`Stop`})}),!X&&(0,J.jsxs)(J.Fragment,{children:[lt,Z]})]})};function an(e){return e.type===`text`}function on(e){return e.text}function sn(e){return e.type===`file`}function cn(e,t){return(0,J.jsx)(H,{attachment:e},t)}function ln(e){return e.type===`text`}function un(e){return e.text}function dn(e){return e.type===`file`}function fn(e,t){return(0,J.jsx)(H,{attachment:e},t)}function pn(){}function mn(){}function hn(e){return e.type===`text`}function gn(e){return e.text}function _n(e){return(0,J.jsx)(F,{value:e.value,className:`text-xs py-1`,children:(0,J.jsxs)(`div`,{className:`flex items-start gap-2.5`,children:[(0,J.jsx)(`span`,{className:`mt-1 text-muted-foreground`,children:(0,J.jsx)(e.Icon,{className:`h-3 w-3`})}),(0,J.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,J.jsx)(`span`,{className:`font-semibold`,children:e.label}),(0,J.jsx)(`span`,{className:`text-muted-foreground`,children:e.subtitle})]})]})},e.value)}export{nn as default};
@@ -1 +0,0 @@
1
- import"./chunk-75Z2AOVW-DA_lihEi.js";import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import"./src-Cyu5G-Tr.js";import"./chunk-DU6HZSFF-J-califE.js";import"./chunk-P2QGCYS3-DsJshZeL.js";import"./chunk-PWAF6VOD-CrFPAGFi.js";import"./chunk-GMAD6QVW-mXoq4V-T.js";import"./chunk-4HAMMTFA-F3WVmmmo.js";import"./chunk-GVQU2GXP-B-87l3Xt.js";import"./chunk-L3NEJ4N5-DLeZO9l0.js";import"./chunk-OSK3NFVY-PWoOtECb.js";import"./mermaid-BmcDudwo.js";import"./chunk-F27PBJKO-BzJrz4xx.js";import"./chunk-XXDRQBXY-BwqwIlJV.js";import"./chunk-POPQ4Y6H-CCg5TpSp.js";import{i as t,n,r,t as i}from"./chunk-TICWLB2K-BmUJmjwl.js";var a={parser:n,get db(){return new i},renderer:r,styles:t,init:e(e=>{e.class||={},e.class.arrowMarkerAbsolute=e.arrowMarkerAbsolute},`init`)};export{a as diagram};
@@ -1 +0,0 @@
1
- import"./chunk-75Z2AOVW-DA_lihEi.js";import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import"./src-Cyu5G-Tr.js";import"./chunk-DU6HZSFF-J-califE.js";import"./chunk-P2QGCYS3-DsJshZeL.js";import"./chunk-PWAF6VOD-CrFPAGFi.js";import"./chunk-GMAD6QVW-mXoq4V-T.js";import"./chunk-4HAMMTFA-F3WVmmmo.js";import"./chunk-GVQU2GXP-B-87l3Xt.js";import"./chunk-L3NEJ4N5-DLeZO9l0.js";import"./chunk-OSK3NFVY-PWoOtECb.js";import"./mermaid-BmcDudwo.js";import"./chunk-F27PBJKO-BzJrz4xx.js";import"./chunk-XXDRQBXY-BwqwIlJV.js";import"./chunk-POPQ4Y6H-CCg5TpSp.js";import{i as t,n,r,t as i}from"./chunk-TICWLB2K-BmUJmjwl.js";var a={parser:n,get db(){return new i},renderer:r,styles:t,init:e(e=>{e.class||={},e.class.arrowMarkerAbsolute=e.arrowMarkerAbsolute},`init`)};export{a as diagram};
@@ -1 +0,0 @@
1
- import{i as e,n as t,r as n,t as r}from"./isObject-BCaOs5rp.js";import{t as i}from"./isSymbol-oX0TOjjx.js";import{a,n as o,s}from"./get-DjNf4SIX.js";import{C as c,D as l,O as u,_ as d,d as f,f as p,h as m,i as ee,n as h,u as g,y as _}from"./isArrayLikeObject-DnwgSs_Z.js";import{n as te,t as ne}from"./now-Cmx0b_zA.js";import{i as re,n as v}from"./isEmpty-BJso7_X0.js";import{a as ie,c as y,d as b,f as ae,i as oe,l as se,m as ce,n as le,p as ue,r as de,s as fe,t as pe,u as x}from"./_baseMerge-CQpUq7ep.js";import{_ as me,a as S,c as he,d as ge,f as _e,g as C,h as ve,i as w,l as ye,m as be,n as T,o as E,p as xe,r as D,s as Se,t as O,u as k,v as Ce}from"./graphlib-CWJvl2Lb.js";import{t as we}from"./has-W-yPT2HD.js";import{Ja as Te,Ka as A,Ua as j,qa as Ee}from"./index-Bjli4tSW.js";var De=1/0,Oe=17976931348623157e292;function M(e){return e?(e=te(e),e===De||e===-De?(e<0?-1:1)*Oe:e===e?e:0):e===0?e:0}function ke(e){var t=M(e),n=t%1;return t===t?n?t-n:t:0}var Ae=RegExp(`[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]`);function je(e){return Ae.test(e)}function Me(e,t){return e&&b(t,C(t),e)}function Ne(e,t){return e&&b(t,y(t),e)}function Pe(e,t){return b(e,be(e),t)}var Fe=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)Te(t,be(e)),e=fe(e);return t}:ve;function Ie(e,t){return b(e,Fe(e),t)}function Le(e){return xe(e,y,Fe)}var Re=Object.prototype.hasOwnProperty;function ze(e){var t=e.length,n=new e.constructor(t);return t&&typeof e[0]==`string`&&Re.call(e,`index`)&&(n.index=e.index,n.input=e.input),n}function Be(e,t){var n=t?oe(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}var Ve=/\w*$/;function He(e){var t=new e.constructor(e.source,Ve.exec(e));return t.lastIndex=e.lastIndex,t}var Ue=e?e.prototype:void 0,We=Ue?Ue.valueOf:void 0;function Ge(e){return We?Object(We.call(e)):{}}var Ke=`[object Boolean]`,qe=`[object Date]`,Je=`[object Map]`,Ye=`[object Number]`,Xe=`[object RegExp]`,Ze=`[object Set]`,Qe=`[object String]`,$e=`[object Symbol]`,et=`[object ArrayBuffer]`,tt=`[object DataView]`,nt=`[object Float32Array]`,rt=`[object Float64Array]`,it=`[object Int8Array]`,at=`[object Int16Array]`,ot=`[object Int32Array]`,st=`[object Uint8Array]`,ct=`[object Uint8ClampedArray]`,lt=`[object Uint16Array]`,ut=`[object Uint32Array]`;function dt(e,t,n){var r=e.constructor;switch(t){case et:return oe(e);case Ke:case qe:return new r(+e);case tt:return Be(e,n);case nt:case rt:case it:case at:case ot:case st:case ct:case lt:case ut:return de(e,n);case Je:return new r;case Ye:case Qe:return new r(e);case Xe:return He(e);case Ze:return new r;case $e:return Ge(e)}}var ft=`[object Map]`;function pt(e){return t(e)&&v(e)==ft}var mt=g&&g.isMap,ht=mt?f(mt):pt,gt=`[object Set]`;function _t(e){return t(e)&&v(e)==gt}var vt=g&&g.isSet,yt=vt?f(vt):_t,bt=1,xt=2,St=4,Ct=`[object Arguments]`,wt=`[object Array]`,Tt=`[object Boolean]`,Et=`[object Date]`,Dt=`[object Error]`,Ot=`[object Function]`,kt=`[object GeneratorFunction]`,At=`[object Map]`,jt=`[object Number]`,Mt=`[object Object]`,Nt=`[object RegExp]`,Pt=`[object Set]`,Ft=`[object String]`,It=`[object Symbol]`,Lt=`[object WeakMap]`,Rt=`[object ArrayBuffer]`,zt=`[object DataView]`,Bt=`[object Float32Array]`,Vt=`[object Float64Array]`,Ht=`[object Int8Array]`,Ut=`[object Int16Array]`,Wt=`[object Int32Array]`,Gt=`[object Uint8Array]`,Kt=`[object Uint8ClampedArray]`,qt=`[object Uint16Array]`,Jt=`[object Uint32Array]`,N={};N[Ct]=N[wt]=N[Rt]=N[zt]=N[Tt]=N[Et]=N[Bt]=N[Vt]=N[Ht]=N[Ut]=N[Wt]=N[At]=N[jt]=N[Mt]=N[Nt]=N[Pt]=N[Ft]=N[It]=N[Gt]=N[Kt]=N[qt]=N[Jt]=!0,N[Dt]=N[Ot]=N[Lt]=!1;function P(e,t,n,i,a,o){var s,c=t&bt,l=t&xt,d=t&St;if(n&&(s=a?n(e,i,a,o):n(e)),s!==void 0)return s;if(!r(e))return e;var f=u(e);if(f){if(s=ze(e),!c)return ce(e,s)}else{var m=v(e),h=m==Ot||m==kt;if(p(e))return ie(e,c);if(m==Mt||m==Ct||h&&!a){if(s=l||h?{}:le(e),!c)return l?Ie(e,Ne(s,e)):Pe(e,Me(s,e))}else{if(!N[m])return a?e:{};s=dt(e,m,c)}}o||=new ee;var g=o.get(e);if(g)return g;o.set(e,s),yt(e)?e.forEach(function(r){s.add(P(r,t,n,r,e,o))}):ht(e)&&e.forEach(function(r,i){s.set(i,P(r,t,n,i,e,o))});var _=f?void 0:(d?l?Le:_e:l?y:C)(e);return Ce(_||e,function(r,i){_&&(i=r,r=e[i]),ae(s,i,P(r,t,n,i,e,o))}),s}var Yt=1,Xt=4;function Zt(e){return P(e,Yt|Xt)}var Qt=Object.prototype,$t=Qt.hasOwnProperty,en=d(function(e,t){e=Object(e);var n=-1,r=t.length,i=r>2?t[2]:void 0;for(i&&x(t[0],t[1],i)&&(r=1);++n<r;)for(var a=t[n],o=y(a),s=-1,c=o.length;++s<c;){var l=o[s],u=e[l];(u===void 0||_(u,Qt[l])&&!$t.call(e,l))&&(e[l]=a[l])}return e});function F(e){var t=e==null?0:e.length;return t?e[t-1]:void 0}function tn(e){return function(t,n,r){var i=Object(t);if(!m(t)){var a=k(n,3);t=C(t),n=function(e){return a(i[e],e,i)}}var o=e(t,n,r);return o>-1?i[a?t[o]:o]:void 0}}var nn=Math.max;function rn(e,t,n){var r=e==null?0:e.length;if(!r)return-1;var i=n==null?0:ke(n);return i<0&&(i=nn(r+i,0)),me(e,k(t,3),i)}var I=tn(rn);function an(e,t){var n=-1,r=m(e)?Array(e.length):[];return he(e,function(e,i,a){r[++n]=t(e,i,a)}),r}function L(e,t){return(u(e)?s:an)(e,k(t,3))}function on(e,t){return e==null?e:h(e,Se(t),y)}function sn(e,t){return e&&ye(e,Se(t))}function cn(e,t){return e>t}var ln=`[object String]`;function un(e){return typeof e==`string`||!u(e)&&t(e)&&n(e)==ln}function dn(e,t){return e<t}function R(e,t){var n={};return t=k(t,3),ye(e,function(e,r,i){ue(n,r,t(e,r,i))}),n}function z(e,t,n){for(var r=-1,a=e.length;++r<a;){var o=e[r],s=t(o);if(s!=null&&(c===void 0?s===s&&!i(s):n(s,c)))var c=s,l=o}return l}function B(e){return e&&e.length?z(e,l,cn):void 0}var V=se(function(e,t,n){pe(e,t,n)});function H(e){return e&&e.length?z(e,l,dn):void 0}function U(e,t){return e&&e.length?z(e,k(t,2),dn):void 0}function fn(e,t){var n=e.length;for(e.sort(t);n--;)e[n]=e[n].value;return e}function pn(e,t){if(e!==t){var n=e!==void 0,r=e===null,a=e===e,o=i(e),s=t!==void 0,c=t===null,l=t===t,u=i(t);if(!c&&!u&&!o&&e>t||o&&s&&l&&!c&&!u||r&&s&&l||!n&&l||!a)return 1;if(!r&&!o&&!u&&e<t||u&&n&&a&&!r&&!o||c&&n&&a||!s&&a||!l)return-1}return 0}function mn(e,t,n){for(var r=-1,i=e.criteria,a=t.criteria,o=i.length,s=n.length;++r<o;){var c=pn(i[r],a[r]);if(c)return r>=s?c:c*(n[r]==`desc`?-1:1)}return e.index-t.index}function hn(e,t,n){t=t.length?s(t,function(e){return u(e)?function(t){return o(t,e.length===1?e[0]:e)}:e}):[l];var r=-1;return t=s(t,f(k)),fn(an(e,function(e,n,i){return{criteria:s(t,function(t){return t(e)}),index:++r,value:e}}),function(e,t){return mn(e,t,n)})}var gn=ge(`length`),_n=`\\ud800-\\udfff`,vn=`\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff`,yn=`\\ufe0e\\ufe0f`,bn=`[`+_n+`]`,W=`[`+vn+`]`,G=`\\ud83c[\\udffb-\\udfff]`,xn=`(?:`+W+`|`+G+`)`,Sn=`[^`+_n+`]`,Cn=`(?:\\ud83c[\\udde6-\\uddff]){2}`,wn=`[\\ud800-\\udbff][\\udc00-\\udfff]`,Tn=`\\u200d`,En=xn+`?`,Dn=`[`+yn+`]?`,On=`(?:`+Tn+`(?:`+[Sn,Cn,wn].join(`|`)+`)`+Dn+En+`)*`,kn=Dn+En+On,An=`(?:`+[Sn+W+`?`,W,Cn,wn,bn].join(`|`)+`)`,jn=RegExp(G+`(?=`+G+`)|`+An+kn,`g`);function Mn(e){for(var t=jn.lastIndex=0;jn.test(e);)++t;return t}function Nn(e){return je(e)?Mn(e):gn(e)}var Pn=Math.ceil,Fn=Math.max;function In(e,t,n,r){for(var i=-1,a=Fn(Pn((t-e)/(n||1)),0),o=Array(a);a--;)o[r?a:++i]=e,e+=n;return o}function Ln(e){return function(t,n,r){return r&&typeof r!=`number`&&x(t,n,r)&&(n=r=void 0),t=M(t),n===void 0?(n=t,t=0):n=M(n),r=r===void 0?t<n?1:-1:M(r),In(t,n,r,e)}}var K=Ln(),Rn=`[object Map]`,zn=`[object Set]`;function Bn(e){if(e==null)return 0;if(m(e))return un(e)?Nn(e):e.length;var t=v(e);return t==Rn||t==zn?e.size:re(e).length}var q=d(function(e,t){if(e==null)return[];var n=t.length;return n>1&&x(e,t[0],t[1])?t=[]:n>2&&x(t[0],t[1],t[2])&&(t=[t[0]]),hn(e,Ee(t,1),[])}),Vn=0;function Hn(e){var t=++Vn;return a(e)+t}function Un(e,t,n){for(var r=-1,i=e.length,a=t.length,o={};++r<i;){var s=r<a?t[r]:void 0;n(o,e[r],s)}return o}function Wn(e,t){return Un(e||[],t||[],ae)}var Gn=class{constructor(){var e={};e._next=e._prev=e,this._sentinel=e}dequeue(){var e=this._sentinel,t=e._prev;if(t!==e)return Kn(t),t}enqueue(e){var t=this._sentinel;e._prev&&e._next&&Kn(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t}toString(){for(var e=[],t=this._sentinel,n=t._prev;n!==t;)e.push(JSON.stringify(n,qn)),n=n._prev;return`[`+e.join(`, `)+`]`}};function Kn(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function qn(e,t){if(e!==`_next`&&e!==`_prev`)return t}var Jn=c(1);function Yn(e,t){if(e.nodeCount()<=1)return[];var n=Qn(e,t||Jn),r=Xn(n.graph,n.buckets,n.zeroIdx);return A(L(r,function(t){return e.outEdges(t.v,t.w)}))}function Xn(e,t,n){for(var r=[],i=t[t.length-1],a=t[0],o;e.nodeCount();){for(;o=a.dequeue();)Zn(e,t,n,o);for(;o=i.dequeue();)Zn(e,t,n,o);if(e.nodeCount()){for(var s=t.length-2;s>0;--s)if(o=t[s].dequeue(),o){r=r.concat(Zn(e,t,n,o,!0));break}}}return r}function Zn(e,t,n,r,i){var a=i?[]:void 0;return E(e.inEdges(r.v),function(r){var o=e.edge(r),s=e.node(r.v);i&&a.push({v:r.v,w:r.w}),s.out-=o,$n(t,n,s)}),E(e.outEdges(r.v),function(r){var i=e.edge(r),a=r.w,o=e.node(a);o.in-=i,$n(t,n,o)}),e.removeNode(r.v),a}function Qn(e,t){var n=new O,r=0,i=0;E(e.nodes(),function(e){n.setNode(e,{v:e,in:0,out:0})}),E(e.edges(),function(e){var a=n.edge(e.v,e.w)||0,o=t(e),s=a+o;n.setEdge(e.v,e.w,s),i=Math.max(i,n.node(e.v).out+=o),r=Math.max(r,n.node(e.w).in+=o)});var a=K(i+r+3).map(function(){return new Gn}),o=r+1;return E(n.nodes(),function(e){$n(a,o,n.node(e))}),{graph:n,buckets:a,zeroIdx:o}}function $n(e,t,n){n.out?n.in?e[n.out-n.in+t].enqueue(n):e[e.length-1].enqueue(n):e[0].enqueue(n)}function er(e){var t=e.graph().acyclicer===`greedy`?Yn(e,n(e)):tr(e);E(t,function(t){var n=e.edge(t);e.removeEdge(t),n.forwardName=t.name,n.reversed=!0,e.setEdge(t.w,t.v,n,Hn(`rev`))});function n(e){return function(t){return e.edge(t).weight}}}function tr(e){var t=[],n={},r={};function i(a){Object.prototype.hasOwnProperty.call(r,a)||(r[a]=!0,n[a]=!0,E(e.outEdges(a),function(e){Object.prototype.hasOwnProperty.call(n,e.w)?t.push(e):i(e.w)}),delete n[a])}return E(e.nodes(),i),t}function nr(e){E(e.edges(),function(t){var n=e.edge(t);if(n.reversed){e.removeEdge(t);var r=n.forwardName;delete n.reversed,delete n.forwardName,e.setEdge(t.w,t.v,n,r)}})}function J(e,t,n,r){var i;do i=Hn(r);while(e.hasNode(i));return n.dummy=t,e.setNode(i,n),i}function rr(e){var t=new O().setGraph(e.graph());return E(e.nodes(),function(n){t.setNode(n,e.node(n))}),E(e.edges(),function(n){var r=t.edge(n.v,n.w)||{weight:0,minlen:1},i=e.edge(n);t.setEdge(n.v,n.w,{weight:r.weight+i.weight,minlen:Math.max(r.minlen,i.minlen)})}),t}function ir(e){var t=new O({multigraph:e.isMultigraph()}).setGraph(e.graph());return E(e.nodes(),function(n){e.children(n).length||t.setNode(n,e.node(n))}),E(e.edges(),function(n){t.setEdge(n,e.edge(n))}),t}function ar(e,t){var n=e.x,r=e.y,i=t.x-n,a=t.y-r,o=e.width/2,s=e.height/2;if(!i&&!a)throw Error(`Not possible to find intersection inside of the rectangle`);var c,l;return Math.abs(a)*o>Math.abs(i)*s?(a<0&&(s=-s),c=s*i/a,l=s):(i<0&&(o=-o),c=o,l=o*a/i),{x:n+c,y:r+l}}function Y(e){var t=L(K(lr(e)+1),function(){return[]});return E(e.nodes(),function(n){var r=e.node(n),i=r.rank;D(i)||(t[i][r.order]=n)}),t}function or(e){var t=H(L(e.nodes(),function(t){return e.node(t).rank}));E(e.nodes(),function(n){var r=e.node(n);we(r,`rank`)&&(r.rank-=t)})}function sr(e){var t=H(L(e.nodes(),function(t){return e.node(t).rank})),n=[];E(e.nodes(),function(r){var i=e.node(r).rank-t;n[i]||(n[i]=[]),n[i].push(r)});var r=0,i=e.graph().nodeRankFactor;E(n,function(t,n){D(t)&&n%i!==0?--r:r&&E(t,function(t){e.node(t).rank+=r})})}function cr(e,t,n,r){var i={width:0,height:0};return arguments.length>=4&&(i.rank=n,i.order=r),J(e,`border`,i,t)}function lr(e){return B(L(e.nodes(),function(t){var n=e.node(t).rank;if(!D(n))return n}))}function ur(e,t){var n={lhs:[],rhs:[]};return E(e,function(e){t(e)?n.lhs.push(e):n.rhs.push(e)}),n}function dr(e,t){var n=ne();try{return t()}finally{console.log(e+` time: `+(ne()-n)+`ms`)}}function fr(e,t){return t()}function pr(e){function t(n){var r=e.children(n),i=e.node(n);if(r.length&&E(r,t),Object.prototype.hasOwnProperty.call(i,`minRank`)){i.borderLeft=[],i.borderRight=[];for(var a=i.minRank,o=i.maxRank+1;a<o;++a)mr(e,`borderLeft`,`_bl`,n,i,a),mr(e,`borderRight`,`_br`,n,i,a)}}E(e.children(),t)}function mr(e,t,n,r,i,a){var o={width:0,height:0,rank:a,borderType:t},s=i[t][a-1],c=J(e,`border`,o,n);i[t][a]=c,e.setParent(c,r),s&&e.setEdge(s,c,{weight:1})}function hr(e){var t=e.graph().rankdir.toLowerCase();(t===`lr`||t===`rl`)&&_r(e)}function gr(e){var t=e.graph().rankdir.toLowerCase();(t===`bt`||t===`rl`)&&yr(e),(t===`lr`||t===`rl`)&&(xr(e),_r(e))}function _r(e){E(e.nodes(),function(t){vr(e.node(t))}),E(e.edges(),function(t){vr(e.edge(t))})}function vr(e){var t=e.width;e.width=e.height,e.height=t}function yr(e){E(e.nodes(),function(t){br(e.node(t))}),E(e.edges(),function(t){var n=e.edge(t);E(n.points,br),Object.prototype.hasOwnProperty.call(n,`y`)&&br(n)})}function br(e){e.y=-e.y}function xr(e){E(e.nodes(),function(t){Sr(e.node(t))}),E(e.edges(),function(t){var n=e.edge(t);E(n.points,Sr),Object.prototype.hasOwnProperty.call(n,`x`)&&Sr(n)})}function Sr(e){var t=e.x;e.x=e.y,e.y=t}function Cr(e){e.graph().dummyChains=[],E(e.edges(),function(t){wr(e,t)})}function wr(e,t){var n=t.v,r=e.node(n).rank,i=t.w,a=e.node(i).rank,o=t.name,s=e.edge(t),c=s.labelRank;if(a!==r+1){e.removeEdge(t);var l=void 0,u,d;for(d=0,++r;r<a;++d,++r)s.points=[],l={width:0,height:0,edgeLabel:s,edgeObj:t,rank:r},u=J(e,`edge`,l,`_d`),r===c&&(l.width=s.width,l.height=s.height,l.dummy=`edge-label`,l.labelpos=s.labelpos),e.setEdge(n,u,{weight:s.weight},o),d===0&&e.graph().dummyChains.push(u),n=u;e.setEdge(n,i,{weight:s.weight},o)}}function Tr(e){E(e.graph().dummyChains,function(t){var n=e.node(t),r=n.edgeLabel,i;for(e.setEdge(n.edgeObj,r);n.dummy;)i=e.successors(t)[0],e.removeNode(t),r.points.push({x:n.x,y:n.y}),n.dummy===`edge-label`&&(r.x=n.x,r.y=n.y,r.width=n.width,r.height=n.height),t=i,n=e.node(t)})}function Er(e){var t={};function n(r){var i=e.node(r);if(Object.prototype.hasOwnProperty.call(t,r))return i.rank;t[r]=!0;var a=H(L(e.outEdges(r),function(t){return n(t.w)-e.edge(t).minlen}));return(a===1/0||a==null)&&(a=0),i.rank=a}E(e.sources(),n)}function X(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}function Dr(e){var t=new O({directed:!1}),n=e.nodes()[0],r=e.nodeCount();t.setNode(n,{});for(var i,a;Or(t,e)<r;)i=kr(t,e),a=t.hasNode(i.v)?X(e,i):-X(e,i),Ar(t,e,a);return t}function Or(e,t){function n(r){E(t.nodeEdges(r),function(i){var a=i.v,o=r===a?i.w:a;!e.hasNode(o)&&!X(t,i)&&(e.setNode(o,{}),e.setEdge(r,o,{}),n(o))})}return E(e.nodes(),n),e.nodeCount()}function kr(e,t){return U(t.edges(),function(n){if(e.hasNode(n.v)!==e.hasNode(n.w))return X(t,n)})}function Ar(e,t,n){E(e.nodes(),function(e){t.node(e).rank+=n})}c(1),c(1),jr.CycleException=Z;function jr(e){var t={},n={},r=[];function i(a){if(Object.prototype.hasOwnProperty.call(n,a))throw new Z;Object.prototype.hasOwnProperty.call(t,a)||(n[a]=!0,t[a]=!0,E(e.predecessors(a),i),delete n[a],r.push(a))}if(E(e.sinks(),i),Bn(t)!==e.nodeCount())throw new Z;return r}function Z(){}Z.prototype=Error();function Mr(e,t,n){u(t)||(t=[t]);var r=(e.isDirected()?e.successors:e.neighbors).bind(e),i=[],a={};return E(t,function(t){if(!e.hasNode(t))throw Error(`Graph does not have node: `+t);Nr(e,t,n===`post`,a,r,i)}),i}function Nr(e,t,n,r,i,a){Object.prototype.hasOwnProperty.call(r,t)||(r[t]=!0,n||a.push(t),E(i(t),function(t){Nr(e,t,n,r,i,a)}),n&&a.push(t))}function Pr(e,t){return Mr(e,t,`post`)}function Fr(e,t){return Mr(e,t,`pre`)}Q.initLowLimValues=zr,Q.initCutValues=Ir,Q.calcCutValue=Rr,Q.leaveEdge=Vr,Q.enterEdge=Hr,Q.exchangeEdges=Ur;function Q(e){e=rr(e),Er(e);var t=Dr(e);zr(t),Ir(t,e);for(var n,r;n=Vr(t);)r=Hr(t,e,n),Ur(t,e,n,r)}function Ir(e,t){var n=Pr(e,e.nodes());n=n.slice(0,n.length-1),E(n,function(n){Lr(e,t,n)})}function Lr(e,t,n){var r=e.node(n).parent;e.edge(n,r).cutvalue=Rr(e,t,n)}function Rr(e,t,n){var r=e.node(n).parent,i=!0,a=t.edge(n,r),o=0;return a||=(i=!1,t.edge(r,n)),o=a.weight,E(t.nodeEdges(n),function(a){var s=a.v===n,c=s?a.w:a.v;if(c!==r){var l=s===i,u=t.edge(a).weight;if(o+=l?u:-u,Gr(e,n,c)){var d=e.edge(n,c).cutvalue;o+=l?-d:d}}}),o}function zr(e,t){arguments.length<2&&(t=e.nodes()[0]),Br(e,{},1,t)}function Br(e,t,n,r,i){var a=n,o=e.node(r);return t[r]=!0,E(e.neighbors(r),function(i){Object.prototype.hasOwnProperty.call(t,i)||(n=Br(e,t,n,i,r))}),o.low=a,o.lim=n++,i?o.parent=i:delete o.parent,n}function Vr(e){return I(e.edges(),function(t){return e.edge(t).cutvalue<0})}function Hr(e,t,n){var r=n.v,i=n.w;t.hasEdge(r,i)||(r=n.w,i=n.v);var a=e.node(r),o=e.node(i),s=a,c=!1;return a.lim>o.lim&&(s=o,c=!0),U(S(t.edges(),function(t){return c===Kr(e,e.node(t.v),s)&&c!==Kr(e,e.node(t.w),s)}),function(e){return X(t,e)})}function Ur(e,t,n,r){var i=n.v,a=n.w;e.removeEdge(i,a),e.setEdge(r.v,r.w,{}),zr(e),Ir(e,t),Wr(e,t)}function Wr(e,t){var n=Fr(e,I(e.nodes(),function(e){return!t.node(e).parent}));n=n.slice(1),E(n,function(n){var r=e.node(n).parent,i=t.edge(n,r),a=!1;i||(i=t.edge(r,n),a=!0),t.node(n).rank=t.node(r).rank+(a?i.minlen:-i.minlen)})}function Gr(e,t,n){return e.hasEdge(t,n)}function Kr(e,t,n){return n.low<=t.lim&&t.lim<=n.lim}function qr(e){switch(e.graph().ranker){case`network-simplex`:Xr(e);break;case`tight-tree`:Yr(e);break;case`longest-path`:Jr(e);break;default:Xr(e)}}var Jr=Er;function Yr(e){Er(e),Dr(e)}function Xr(e){Q(e)}function Zr(e){var t=J(e,`root`,{},`_root`),n=$r(e),r=B(w(n))-1,i=2*r+1;e.graph().nestingRoot=t,E(e.edges(),function(t){e.edge(t).minlen*=i});var a=ei(e)+1;E(e.children(),function(o){Qr(e,t,i,a,r,n,o)}),e.graph().nodeRankFactor=i}function Qr(e,t,n,r,i,a,o){var s=e.children(o);if(!s.length){o!==t&&e.setEdge(t,o,{weight:0,minlen:n});return}var c=cr(e,`_bt`),l=cr(e,`_bb`),u=e.node(o);e.setParent(c,o),u.borderTop=c,e.setParent(l,o),u.borderBottom=l,E(s,function(s){Qr(e,t,n,r,i,a,s);var u=e.node(s),d=u.borderTop?u.borderTop:s,f=u.borderBottom?u.borderBottom:s,p=u.borderTop?r:2*r,m=d===f?i-a[o]+1:1;e.setEdge(c,d,{weight:p,minlen:m,nestingEdge:!0}),e.setEdge(f,l,{weight:p,minlen:m,nestingEdge:!0})}),e.parent(o)||e.setEdge(t,c,{weight:0,minlen:i+a[o]})}function $r(e){var t={};function n(r,i){var a=e.children(r);a&&a.length&&E(a,function(e){n(e,i+1)}),t[r]=i}return E(e.children(),function(e){n(e,1)}),t}function ei(e){return T(e.edges(),function(t,n){return t+e.edge(n).weight},0)}function ti(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,E(e.edges(),function(t){e.edge(t).nestingEdge&&e.removeEdge(t)})}function ni(e,t,n){var r={},i;E(n,function(n){for(var a=e.parent(n),o,s;a;){if(o=e.parent(a),o?(s=r[o],r[o]=a):(s=i,i=a),s&&s!==a){t.setEdge(s,a);return}a=o}})}function ri(e,t,n){var r=ii(e),i=new O({compound:!0}).setGraph({root:r}).setDefaultNodeLabel(function(t){return e.node(t)});return E(e.nodes(),function(a){var o=e.node(a),s=e.parent(a);(o.rank===t||o.minRank<=t&&t<=o.maxRank)&&(i.setNode(a),i.setParent(a,s||r),E(e[n](a),function(t){var n=t.v===a?t.w:t.v,r=i.edge(n,a),o=D(r)?0:r.weight;i.setEdge(n,a,{weight:e.edge(t).weight+o})}),Object.prototype.hasOwnProperty.call(o,`minRank`)&&i.setNode(a,{borderLeft:o.borderLeft[t],borderRight:o.borderRight[t]}))}),i}function ii(e){for(var t;e.hasNode(t=Hn(`_root`)););return t}function ai(e,t){for(var n=0,r=1;r<t.length;++r)n+=oi(e,t[r-1],t[r]);return n}function oi(e,t,n){for(var r=Wn(n,L(n,function(e,t){return t})),i=A(L(t,function(t){return q(L(e.outEdges(t),function(t){return{pos:r[t.w],weight:e.edge(t).weight}}),`pos`)})),a=1;a<n.length;)a<<=1;var o=2*a-1;--a;var s=L(Array(o),function(){return 0}),c=0;return E(i.forEach(function(e){var t=e.pos+a;s[t]+=e.weight;for(var n=0;t>0;)t%2&&(n+=s[t+1]),t=t-1>>1,s[t]+=e.weight;c+=e.weight*n})),c}function si(e){var t={},n=S(e.nodes(),function(t){return!e.children(t).length}),r=L(K(B(L(n,function(t){return e.node(t).rank}))+1),function(){return[]});function i(n){we(t,n)||(t[n]=!0,r[e.node(n).rank].push(n),E(e.successors(n),i))}var a=q(n,function(t){return e.node(t).rank});return E(a,i),r}function ci(e,t){return L(t,function(t){var n=e.inEdges(t);if(n.length){var r=T(n,function(t,n){var r=e.edge(n),i=e.node(n.v);return{sum:t.sum+r.weight*i.order,weight:t.weight+r.weight}},{sum:0,weight:0});return{v:t,barycenter:r.sum/r.weight,weight:r.weight}}return{v:t}})}function li(e,t){var n={};return E(e,function(e,t){var r=n[e.v]={indegree:0,in:[],out:[],vs:[e.v],i:t};D(e.barycenter)||(r.barycenter=e.barycenter,r.weight=e.weight)}),E(t.edges(),function(e){var t=n[e.v],r=n[e.w];!D(t)&&!D(r)&&(r.indegree++,t.out.push(n[e.w]))}),ui(S(n,function(e){return!e.indegree}))}function ui(e){var t=[];function n(e){return function(t){t.merged||(D(t.barycenter)||D(e.barycenter)||t.barycenter>=e.barycenter)&&di(e,t)}}function r(t){return function(n){n.in.push(t),--n.indegree===0&&e.push(n)}}for(;e.length;){var i=e.pop();t.push(i),E(i.in.reverse(),n(i)),E(i.out,r(i))}return L(S(t,function(e){return!e.merged}),function(e){return j(e,[`vs`,`i`,`barycenter`,`weight`])})}function di(e,t){var n=0,r=0;e.weight&&(n+=e.barycenter*e.weight,r+=e.weight),t.weight&&(n+=t.barycenter*t.weight,r+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=n/r,e.weight=r,e.i=Math.min(t.i,e.i),t.merged=!0}function fi(e,t){var n=ur(e,function(e){return Object.prototype.hasOwnProperty.call(e,`barycenter`)}),r=n.lhs,i=q(n.rhs,function(e){return-e.i}),a=[],o=0,s=0,c=0;r.sort(mi(!!t)),c=pi(a,i,c),E(r,function(e){c+=e.vs.length,a.push(e.vs),o+=e.barycenter*e.weight,s+=e.weight,c=pi(a,i,c)});var l={vs:A(a)};return s&&(l.barycenter=o/s,l.weight=s),l}function pi(e,t,n){for(var r;t.length&&(r=F(t)).i<=n;)t.pop(),e.push(r.vs),n++;return n}function mi(e){return function(t,n){return t.barycenter<n.barycenter?-1:t.barycenter>n.barycenter?1:e?n.i-t.i:t.i-n.i}}function hi(e,t,n,r){var i=e.children(t),a=e.node(t),o=a?a.borderLeft:void 0,s=a?a.borderRight:void 0,c={};o&&(i=S(i,function(e){return e!==o&&e!==s}));var l=ci(e,i);E(l,function(t){if(e.children(t.v).length){var i=hi(e,t.v,n,r);c[t.v]=i,Object.prototype.hasOwnProperty.call(i,`barycenter`)&&_i(t,i)}});var u=li(l,n);gi(u,c);var d=fi(u,r);if(o&&(d.vs=A([o,d.vs,s]),e.predecessors(o).length)){var f=e.node(e.predecessors(o)[0]),p=e.node(e.predecessors(s)[0]);Object.prototype.hasOwnProperty.call(d,`barycenter`)||(d.barycenter=0,d.weight=0),d.barycenter=(d.barycenter*d.weight+f.order+p.order)/(d.weight+2),d.weight+=2}return d}function gi(e,t){E(e,function(e){e.vs=A(e.vs.map(function(e){return t[e]?t[e].vs:e}))})}function _i(e,t){D(e.barycenter)?(e.barycenter=t.barycenter,e.weight=t.weight):(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight)}function vi(e){var t=lr(e),n=yi(e,K(1,t+1),`inEdges`),r=yi(e,K(t-1,-1,-1),`outEdges`),i=si(e);xi(e,i);for(var a=1/0,o,s=0,c=0;c<4;++s,++c){bi(s%2?n:r,s%4>=2),i=Y(e);var l=ai(e,i);l<a&&(c=0,o=Zt(i),a=l)}xi(e,o)}function yi(e,t,n){return L(t,function(t){return ri(e,t,n)})}function bi(e,t){var n=new O;E(e,function(e){var r=e.graph().root,i=hi(e,r,n,t);E(i.vs,function(t,n){e.node(t).order=n}),ni(e,n,i.vs)})}function xi(e,t){E(t,function(t){E(t,function(t,n){e.node(t).order=n})})}function Si(e){var t=wi(e);E(e.graph().dummyChains,function(n){for(var r=e.node(n),i=r.edgeObj,a=Ci(e,t,i.v,i.w),o=a.path,s=a.lca,c=0,l=o[c],u=!0;n!==i.w;){if(r=e.node(n),u){for(;(l=o[c])!==s&&e.node(l).maxRank<r.rank;)c++;l===s&&(u=!1)}if(!u){for(;c<o.length-1&&e.node(l=o[c+1]).minRank<=r.rank;)c++;l=o[c]}e.setParent(n,l),n=e.successors(n)[0]}})}function Ci(e,t,n,r){var i=[],a=[],o=Math.min(t[n].low,t[r].low),s=Math.max(t[n].lim,t[r].lim),c=n,l;do c=e.parent(c),i.push(c);while(c&&(t[c].low>o||s>t[c].lim));for(l=c,c=r;(c=e.parent(c))!==l;)a.push(c);return{path:i.concat(a.reverse()),lca:l}}function wi(e){var t={},n=0;function r(i){var a=n;E(e.children(i),r),t[i]={low:a,lim:n++}}return E(e.children(),r),t}function Ti(e,t){var n={};function r(t,r){var i=0,a=0,o=t.length,s=F(r);return E(r,function(t,c){var l=Di(e,t),u=l?e.node(l).order:o;(l||t===s)&&(E(r.slice(a,c+1),function(t){E(e.predecessors(t),function(r){var a=e.node(r),o=a.order;(o<i||u<o)&&!(a.dummy&&e.node(t).dummy)&&Oi(n,r,t)})}),a=c+1,i=u)}),r}return T(t,r),n}function Ei(e,t){var n={};function r(t,r,i,a,o){var s;E(K(r,i),function(r){s=t[r],e.node(s).dummy&&E(e.predecessors(s),function(t){var r=e.node(t);r.dummy&&(r.order<a||r.order>o)&&Oi(n,t,s)})})}function i(t,n){var i=-1,a,o=0;return E(n,function(s,c){if(e.node(s).dummy===`border`){var l=e.predecessors(s);l.length&&(a=e.node(l[0]).order,r(n,o,c,i,a),o=c,i=a)}r(n,o,n.length,a,t.length)}),n}return T(t,i),n}function Di(e,t){if(e.node(t).dummy)return I(e.predecessors(t),function(t){return e.node(t).dummy})}function Oi(e,t,n){if(t>n){var r=t;t=n,n=r}Object.prototype.hasOwnProperty.call(e,t)||Object.defineProperty(e,t,{enumerable:!0,configurable:!0,value:{},writable:!0});var i=e[t];Object.defineProperty(i,n,{enumerable:!0,configurable:!0,value:!0,writable:!0})}function ki(e,t,n){if(t>n){var r=t;t=n,n=r}return!!e[t]&&Object.prototype.hasOwnProperty.call(e[t],n)}function Ai(e,t,n,r){var i={},a={},o={};return E(t,function(e){E(e,function(e,t){i[e]=e,a[e]=e,o[e]=t})}),E(t,function(e){var t=-1;E(e,function(e){var s=r(e);if(s.length){s=q(s,function(e){return o[e]});for(var c=(s.length-1)/2,l=Math.floor(c),u=Math.ceil(c);l<=u;++l){var d=s[l];a[e]===e&&t<o[d]&&!ki(n,e,d)&&(a[d]=e,a[e]=i[e]=i[d],t=o[d])}}})}),{root:i,align:a}}function ji(e,t,n,r,i){var a={},o=Mi(e,t,n,i),s=i?`borderLeft`:`borderRight`;function c(e,t){for(var n=o.nodes(),r=n.pop(),i={};r;)i[r]?e(r):(i[r]=!0,n.push(r),n=n.concat(t(r))),r=n.pop()}function l(e){a[e]=o.inEdges(e).reduce(function(e,t){return Math.max(e,a[t.v]+o.edge(t))},0)}function u(t){var n=o.outEdges(t).reduce(function(e,t){return Math.min(e,a[t.w]-o.edge(t))},1/0),r=e.node(t);n!==1/0&&r.borderType!==s&&(a[t]=Math.max(a[t],n))}return c(l,o.predecessors.bind(o)),c(u,o.successors.bind(o)),E(r,function(e){a[e]=a[n[e]]}),a}function Mi(e,t,n,r){var i=new O,a=e.graph(),o=Li(a.nodesep,a.edgesep,r);return E(t,function(t){var r;E(t,function(t){var a=n[t];if(i.setNode(a),r){var s=n[r],c=i.edge(s,a);i.setEdge(s,a,Math.max(o(e,t,r),c||0))}r=t})}),i}function Ni(e,t){return U(w(t),function(t){var n=-1/0,r=1/0;return on(t,function(t,i){var a=Ri(e,i)/2;n=Math.max(t+a,n),r=Math.min(t-a,r)}),n-r})}function Pi(e,t){var n=w(t),r=H(n),i=B(n);E([`u`,`d`],function(n){E([`l`,`r`],function(a){var o=n+a,s=e[o],c;if(s!==t){var l=w(s);c=a===`l`?r-H(l):i-B(l),c&&(e[o]=R(s,function(e){return e+c}))}})})}function Fi(e,t){return R(e.ul,function(n,r){if(t)return e[t.toLowerCase()][r];var i=q(L(e,r));return(i[1]+i[2])/2})}function Ii(e){var t=Y(e),n=V(Ti(e,t),Ei(e,t)),r={},i;return E([`u`,`d`],function(a){i=a===`u`?t:w(t).reverse(),E([`l`,`r`],function(t){t===`r`&&(i=L(i,function(e){return w(e).reverse()}));var o=(a===`u`?e.predecessors:e.successors).bind(e),s=Ai(e,i,n,o),c=ji(e,i,s.root,s.align,t===`r`);t===`r`&&(c=R(c,function(e){return-e})),r[a+t]=c})}),Pi(r,Ni(e,r)),Fi(r,e.graph().align)}function Li(e,t,n){return function(r,i,a){var o=r.node(i),s=r.node(a),c=0,l;if(c+=o.width/2,Object.prototype.hasOwnProperty.call(o,`labelpos`))switch(o.labelpos.toLowerCase()){case`l`:l=-o.width/2;break;case`r`:l=o.width/2}if(l&&(c+=n?l:-l),l=0,c+=(o.dummy?t:e)/2,c+=(s.dummy?t:e)/2,c+=s.width/2,Object.prototype.hasOwnProperty.call(s,`labelpos`))switch(s.labelpos.toLowerCase()){case`l`:l=s.width/2;break;case`r`:l=-s.width/2}return l&&(c+=n?l:-l),l=0,c}}function Ri(e,t){return e.node(t).width}function zi(e){e=ir(e),Bi(e),sn(Ii(e),function(t,n){e.node(n).x=t})}function Bi(e){var t=Y(e),n=e.graph().ranksep,r=0;E(t,function(t){var i=B(L(t,function(t){return e.node(t).height}));E(t,function(t){e.node(t).y=r+i/2}),r+=i+n})}function Vi(e,t){var n=t&&t.debugTiming?dr:fr;n(`layout`,()=>{var t=n(` buildLayoutGraph`,()=>Qi(e));n(` runLayout`,()=>Hi(t,n)),n(` updateInputGraph`,()=>Ui(e,t))})}function Hi(e,t){t(` makeSpaceForEdgeLabels`,()=>$i(e)),t(` removeSelfEdges`,()=>ca(e)),t(` acyclic`,()=>er(e)),t(` nestingGraph.run`,()=>Zr(e)),t(` rank`,()=>qr(ir(e))),t(` injectEdgeLabelProxies`,()=>ea(e)),t(` removeEmptyRanks`,()=>sr(e)),t(` nestingGraph.cleanup`,()=>ti(e)),t(` normalizeRanks`,()=>or(e)),t(` assignRankMinMax`,()=>ta(e)),t(` removeEdgeLabelProxies`,()=>na(e)),t(` normalize.run`,()=>Cr(e)),t(` parentDummyChains`,()=>Si(e)),t(` addBorderSegments`,()=>pr(e)),t(` order`,()=>vi(e)),t(` insertSelfEdges`,()=>la(e)),t(` adjustCoordinateSystem`,()=>hr(e)),t(` position`,()=>zi(e)),t(` positionSelfEdges`,()=>ua(e)),t(` removeBorderNodes`,()=>sa(e)),t(` normalize.undo`,()=>Tr(e)),t(` fixupEdgeLabelCoords`,()=>aa(e)),t(` undoCoordinateSystem`,()=>gr(e)),t(` translateGraph`,()=>ra(e)),t(` assignNodeIntersects`,()=>ia(e)),t(` reversePoints`,()=>oa(e)),t(` acyclic.undo`,()=>nr(e))}function Ui(e,t){E(e.nodes(),function(n){var r=e.node(n),i=t.node(n);r&&(r.x=i.x,r.y=i.y,t.children(n).length&&(r.width=i.width,r.height=i.height))}),E(e.edges(),function(n){var r=e.edge(n),i=t.edge(n);r.points=i.points,Object.prototype.hasOwnProperty.call(i,`x`)&&(r.x=i.x,r.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}var Wi=[`nodesep`,`edgesep`,`ranksep`,`marginx`,`marginy`],Gi={ranksep:50,edgesep:20,nodesep:50,rankdir:`tb`},Ki=[`acyclicer`,`ranker`,`rankdir`,`align`],qi=[`width`,`height`],Ji={width:0,height:0},Yi=[`minlen`,`weight`,`width`,`height`,`labeloffset`],Xi={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:`r`},Zi=[`labelpos`];function Qi(e){var t=new O({multigraph:!0,compound:!0}),n=$(e.graph());return t.setGraph(V({},Gi,da(n,Wi),j(n,Ki))),E(e.nodes(),function(n){var r=$(e.node(n));t.setNode(n,en(da(r,qi),Ji)),t.setParent(n,e.parent(n))}),E(e.edges(),function(n){var r=$(e.edge(n));t.setEdge(n,V({},Xi,da(r,Yi),j(r,Zi)))}),t}function $i(e){var t=e.graph();t.ranksep/=2,E(e.edges(),function(n){var r=e.edge(n);r.minlen*=2,r.labelpos.toLowerCase()!==`c`&&(t.rankdir===`TB`||t.rankdir===`BT`?r.width+=r.labeloffset:r.height+=r.labeloffset)})}function ea(e){E(e.edges(),function(t){var n=e.edge(t);if(n.width&&n.height){var r=e.node(t.v);J(e,`edge-proxy`,{rank:(e.node(t.w).rank-r.rank)/2+r.rank,e:t},`_ep`)}})}function ta(e){var t=0;E(e.nodes(),function(n){var r=e.node(n);r.borderTop&&(r.minRank=e.node(r.borderTop).rank,r.maxRank=e.node(r.borderBottom).rank,t=B(t,r.maxRank))}),e.graph().maxRank=t}function na(e){E(e.nodes(),function(t){var n=e.node(t);n.dummy===`edge-proxy`&&(e.edge(n.e).labelRank=n.rank,e.removeNode(t))})}function ra(e){var t=1/0,n=0,r=1/0,i=0,a=e.graph(),o=a.marginx||0,s=a.marginy||0;function c(e){var a=e.x,o=e.y,s=e.width,c=e.height;t=Math.min(t,a-s/2),n=Math.max(n,a+s/2),r=Math.min(r,o-c/2),i=Math.max(i,o+c/2)}E(e.nodes(),function(t){c(e.node(t))}),E(e.edges(),function(t){var n=e.edge(t);Object.prototype.hasOwnProperty.call(n,`x`)&&c(n)}),t-=o,r-=s,E(e.nodes(),function(n){var i=e.node(n);i.x-=t,i.y-=r}),E(e.edges(),function(n){var i=e.edge(n);E(i.points,function(e){e.x-=t,e.y-=r}),Object.prototype.hasOwnProperty.call(i,`x`)&&(i.x-=t),Object.prototype.hasOwnProperty.call(i,`y`)&&(i.y-=r)}),a.width=n-t+o,a.height=i-r+s}function ia(e){E(e.edges(),function(t){var n=e.edge(t),r=e.node(t.v),i=e.node(t.w),a,o;n.points?(a=n.points[0],o=n.points[n.points.length-1]):(n.points=[],a=i,o=r),n.points.unshift(ar(r,a)),n.points.push(ar(i,o))})}function aa(e){E(e.edges(),function(t){var n=e.edge(t);if(Object.prototype.hasOwnProperty.call(n,`x`))switch((n.labelpos===`l`||n.labelpos===`r`)&&(n.width-=n.labeloffset),n.labelpos){case`l`:n.x-=n.width/2+n.labeloffset;break;case`r`:n.x+=n.width/2+n.labeloffset}})}function oa(e){E(e.edges(),function(t){var n=e.edge(t);n.reversed&&n.points.reverse()})}function sa(e){E(e.nodes(),function(t){if(e.children(t).length){var n=e.node(t),r=e.node(n.borderTop),i=e.node(n.borderBottom),a=e.node(F(n.borderLeft)),o=e.node(F(n.borderRight));n.width=Math.abs(o.x-a.x),n.height=Math.abs(i.y-r.y),n.x=a.x+n.width/2,n.y=r.y+n.height/2}}),E(e.nodes(),function(t){e.node(t).dummy===`border`&&e.removeNode(t)})}function ca(e){E(e.edges(),function(t){if(t.v===t.w){var n=e.node(t.v);n.selfEdges||=[],n.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function la(e){var t=Y(e);E(t,function(t){var n=0;E(t,function(t,r){var i=e.node(t);i.order=r+n,E(i.selfEdges,function(t){J(e,`selfedge`,{width:t.label.width,height:t.label.height,rank:i.rank,order:r+ ++n,e:t.e,label:t.label},`_se`)}),delete i.selfEdges})})}function ua(e){E(e.nodes(),function(t){var n=e.node(t);if(n.dummy===`selfedge`){var r=e.node(n.e.v),i=r.x+r.width/2,a=r.y,o=n.x-i,s=r.height/2;e.setEdge(n.e,n.label),e.removeNode(t),n.label.points=[{x:i+2*o/3,y:a-s},{x:i+5*o/6,y:a-s},{x:i+o,y:a},{x:i+5*o/6,y:a+s},{x:i+2*o/3,y:a+s}],n.label.x=n.x,n.label.y=n.y}})}function da(e,t){return R(j(e,t),Number)}function $(e){var t={};return E(e,function(e,n){t[n.toLowerCase()]=e}),t}export{Vi as t};