@marimo-team/islands 0.25.3-dev29 → 0.25.3-dev290

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 (841) hide show
  1. package/dist/{ConnectedDataExplorerComponent-7EaP9VWb.js → ConnectedDataExplorerComponent-CErm132k.js} +116 -113
  2. package/dist/{ErrorBoundary-ysC54Xwn.js → ErrorBoundary-DwcFY0Nf.js} +76 -82
  3. package/dist/_baseSet-BfI5FjBM.js +328 -0
  4. package/dist/{abnfDiagram-VCTEODGH-z_OSynK8.js → abnfDiagram-VCTEODGH-d-Qn2fwb.js} +2 -2
  5. package/dist/any-language-editor-6k6F12Z3.js +75 -0
  6. package/dist/{architectureDiagram-5GKGNRK7-Cs8J8BZr.js → architectureDiagram-5GKGNRK7-DxragHYv.js} +1 -1
  7. package/dist/{arrays-CN1djC4k.js → arrays-DoQ-AILx.js} +15 -27
  8. package/dist/assertNever-B-YzWzbL.js +507 -0
  9. package/dist/assets/__vite-browser-external-BKBpimif.js +1 -0
  10. package/dist/assets/worker-CgoMtD-_.js +113 -0
  11. package/dist/{blockDiagram-I7D4REHJ-Cg25UrxT.js → blockDiagram-I7D4REHJ-Dkhe6_PP.js} +1 -1
  12. package/dist/{button-CvjkwdSk.js → button-DZuNnIZO.js} +56 -48
  13. package/dist/{capabilities-CQ5IjhzL.js → capabilities-D9FskwsK.js} +2 -2
  14. package/dist/{chat-ui-0udY4hpv.js → chat-ui-ByGe2rP1.js} +2100 -1810
  15. package/dist/{check-BMKBBrdc.js → check-XFzZeH-y.js} +1 -1
  16. package/dist/{chunk-IMKFNOWR-aoSFasqF.js → chunk-IMKFNOWR-C0x0feFg.js} +1 -1
  17. package/dist/{chunk-SHT3W25Y-CMaybO3O.js → chunk-SHT3W25Y-D0ZdASqB.js} +1 -1
  18. package/dist/{chunk-SVP7TREG-BNBrTAw1.js → chunk-SVP7TREG-BHjL96zx.js} +1 -1
  19. package/dist/{chunk-TICWLB2K-DXNxvUJn.js → chunk-TICWLB2K-CzcrwGfp.js} +1 -1
  20. package/dist/{classDiagram-ZZMXUADV-DXdCCDOg.js → classDiagram-ZZMXUADV-BTqFAZTP.js} +2 -2
  21. package/dist/{classDiagram-v2-VYDZK3BY-DyZqrtLP.js → classDiagram-v2-VYDZK3BY-EPXb0Elt.js} +2 -2
  22. package/dist/{code-visibility-CZmyRTO8.js → code-visibility-DSS4dPIe.js} +43 -50
  23. package/dist/{common-CCrzSQnL.js → common-CHNDbyF2.js} +10605 -10045
  24. package/dist/config-C8MFHQ2E.js +637 -0
  25. package/dist/{copy-icon-BgUO8jsi.js → copy-icon-CtllOdmg.js} +3 -3
  26. package/dist/createReducer-DRqwmaTc.js +67 -0
  27. package/dist/{cynefinDiagram-5FMLGOSQ-DWHuKJs8.js → cynefinDiagram-5FMLGOSQ-CBSD344q.js} +1 -1
  28. package/dist/{dagre-GXQ25YYZ-DYLu-OCU.js → dagre-GXQ25YYZ-JItjh3Ge.js} +3 -3
  29. package/dist/{dagre-BGSfXNEb.js → dagre-mqiMAsFY.js} +531 -680
  30. package/dist/{data-grid-overlay-editor-B141KnZO.js → data-grid-overlay-editor-8fOxyvQO.js} +1 -1
  31. package/dist/{debounce-C3jyATpc.js → debounce-DrhhziJv.js} +2 -2
  32. package/dist/{diagram-S7CK7UJ4-PwwcUOHP.js → diagram-S7CK7UJ4-CTD9xTVb.js} +1 -1
  33. package/dist/{diagram-UQ7AKVKN-CvJbL_IM.js → diagram-UQ7AKVKN-DTfnFai8.js} +1 -1
  34. package/dist/{diagram-VX7I27RA-B5RkqnzN.js → diagram-VX7I27RA-BcSnucV-.js} +1 -1
  35. package/dist/{diagram-Z3DM3KII-CyijwTR2.js → diagram-Z3DM3KII-C2ATIE8A.js} +1 -1
  36. package/dist/{dialog-Cc479ZEH.js → dialog-CaYm5imE.js} +32 -32
  37. package/dist/{dist-Bvs24R_E.js → dist-11T5wq3_.js} +31 -30
  38. package/dist/{dist-F8Ep36rk.js → dist-17ugwGZc.js} +59 -58
  39. package/dist/{dist-BMQf5zIS.js → dist-7cRjf--y.js} +123 -122
  40. package/dist/{dist-diIx5qJW.js → dist-B8pkfkzc.js} +31 -30
  41. package/dist/{dist-CN_BeG2I.js → dist-B9UoM_wq.js} +58 -57
  42. package/dist/{dist-CLdpGQVr.js → dist-BGuMTs1i.js} +118 -117
  43. package/dist/{dist-BK4Oj99o.js → dist-BHW11fni.js} +18 -17
  44. package/dist/dist-BLY4m1Wi.js +850 -0
  45. package/dist/{dist-PXYI_yuP.js → dist-BNlcVoxs.js} +24 -23
  46. package/dist/{dist-D6d86eNJ.js → dist-BQYe5Bju.js} +47 -46
  47. package/dist/{dist-CkTTIdBe.js → dist-BX1mn8na.js} +337 -337
  48. package/dist/{dist-DiDibOYr.js → dist-Bh0PTKUW.js} +151 -150
  49. package/dist/{dist-CSJ0MDRw.js → dist-CKaXK92p.js} +56 -55
  50. package/dist/{dist-C8fAKSH1.js → dist-CLhwfhpJ.js} +53 -52
  51. package/dist/{dist-DoE4XJBC.js → dist-CYeqK4Xw.js} +9801 -10649
  52. package/dist/{dist-BLfKmR-l.js → dist-Cxlp3WH6.js} +16 -15
  53. package/dist/{dist-D-wwqlzJ.js → dist-DSJPGj42.js} +158 -157
  54. package/dist/{dist-BorMD-uX.js → dist-DU9ICsWZ.js} +75 -74
  55. package/dist/{dist-DBtSl3sf.js → dist-DWv0ALBi.js} +47 -46
  56. package/dist/{dist-OR1OnN-y.js → dist-DiBpWEsB.js} +31 -30
  57. package/dist/{dist-CrSP_H1M.js → dist-DiLFTlnl.js} +242 -242
  58. package/dist/{dist-CN8zI-XC.js → dist-X9CsotJl.js} +239 -239
  59. package/dist/{dist-CSbh1PNP.js → dist-cVDV5IuI.js} +23 -22
  60. package/dist/{dist-BuaRHxOc.js → dist-fRfaOoq8.js} +44 -43
  61. package/dist/{dist-Cg7gzw-a.js → dist-gTTI-9Px.js} +78 -77
  62. package/dist/{dropdown-menu-BuE2b8Yb.js → dropdown-menu-Bb0bFOIk.js} +2904 -1493
  63. package/dist/{ebnfDiagram-PWID7BFC-DG90ELFp.js → ebnfDiagram-PWID7BFC-B7B9JPxc.js} +2 -2
  64. package/dist/{erDiagram-RLTQ6QDP-FMo_SpyX.js → erDiagram-RLTQ6QDP-v6hDno1O.js} +1 -1
  65. package/dist/{error-banner-CFPHFw4h.js → error-banner-CHCdHVFB.js} +87 -87
  66. package/dist/error-entries-9U4BFHjf.js +2586 -0
  67. package/dist/{esm-AMFssoNp.js → esm-BDqqT86j.js} +329 -329
  68. package/dist/{esm-D2gTsXEV.js → esm-BgKjMvWw.js} +530 -529
  69. package/dist/feedback-button-C7Wzdmjf.js +374 -0
  70. package/dist/{flowDiagram-HODETNUW-DQ4JuadE.js → flowDiagram-HODETNUW-aIFlAtOy.js} +2 -2
  71. package/dist/{formats-DRHUWwSK.js → formats-PzBQMUnr.js} +6 -6
  72. package/dist/{glide-data-editor-DLHbRbsj.js → glide-data-editor-BA2VyhpI.js} +6630 -2846
  73. package/dist/{glide-utils-pisbYVjH.js → glide-utils-BSQr4d90.js} +107 -76
  74. package/dist/{globals-D2g1BHQ0.js → globals-DLzuY2gk.js} +3 -3
  75. package/dist/{graphlib-BmY_CCV9.js → graphlib-nlwT3Wvy.js} +177 -220
  76. package/dist/hasIn-C20JsQ2m.js +28 -0
  77. package/dist/{error-entries-DgtRTNaG.js → html-to-image-BYh_MorV.js} +26294 -26451
  78. package/dist/{infoDiagram-27XIBGKW-CRSDtRrd.js → infoDiagram-27XIBGKW-D6YHLeCP.js} +1 -1
  79. package/dist/isArrayLikeObject-B-HXCsex.js +626 -0
  80. package/dist/isEmpty-CdX7MTE1.js +14 -0
  81. package/dist/{ishikawaDiagram-5VMMS53U-DxLEUldB.js → ishikawaDiagram-5VMMS53U-D1ZvprOX.js} +1 -1
  82. package/dist/{kanban-definition-UXKFOSKX-BLhvu8o4.js → kanban-definition-UXKFOSKX-Bna_3BMr.js} +1 -1
  83. package/dist/{loader-BPdQhmlq.js → loader-DZvtzQoD.js} +3 -3
  84. package/dist/main.js +10276 -8171
  85. package/dist/{mermaid-Bjm6C1qN.js → mermaid-A36unKXJ.js} +62 -62
  86. package/dist/{mindmap-definition-YA3MSWOX-g2LwxnYQ.js → mindmap-definition-YA3MSWOX-CyVCs__G.js} +1 -1
  87. package/dist/{now-jM8-M7IR.js → now-BKZCLE5P.js} +12 -13
  88. package/dist/{number-overlay-editor-DHqP6YVn.js → number-overlay-editor-BpuvB3ho.js} +1 -1
  89. package/dist/{objects-CzUgoMIF.js → objects-DCmMvZtn.js} +1 -3
  90. package/dist/{once-BtE-wKRL.js → once-NnpX_HnX.js} +1 -1
  91. package/dist/{pegDiagram-XKGWAZYB-CpMAt3Qs.js → pegDiagram-XKGWAZYB-9hNBD2wZ.js} +2 -2
  92. package/dist/pencil-DYUlSKxZ.js +10 -0
  93. package/dist/pick-tCszMUbm.js +35 -0
  94. package/dist/{pieDiagram-E7YTZNPT-CVTthoZo.js → pieDiagram-E7YTZNPT-8tr-NYo7.js} +1 -1
  95. package/dist/{process-output-CuIlhYwn.js → process-output-bS3MGJ3f.js} +4 -4
  96. package/dist/{railroadDiagram-O6MQD6OU-ao8cqqFB.js → railroadDiagram-O6MQD6OU-Dzg1dyyp.js} +2 -2
  97. package/dist/{react-vega-BDpbvBCb.js → react-vega-C4T9Rb_w.js} +1 -1
  98. package/dist/{requirementDiagram-BXWQKSXE--J8vyfm-.js → requirementDiagram-BXWQKSXE-B7sNqwGG.js} +1 -1
  99. package/dist/{reveal-component-DYHhtPqq.js → reveal-component-BKBSU4IA.js} +1151 -1128
  100. package/dist/select-DsoP1qe8.js +1200 -0
  101. package/dist/{sequenceDiagram-WJ2MYXX4-CiQbn62x.js → sequenceDiagram-WJ2MYXX4-oP9shbaG.js} +1 -1
  102. package/dist/{spec-D_u2ipzF.js → spec-BZMDxAu7.js} +41 -11
  103. package/dist/{stateDiagram-D77RDMKH-DVEeGs5b.js → stateDiagram-D77RDMKH-CjCv4ogv.js} +4 -4
  104. package/dist/{stateDiagram-v2-MP3YSRHH-1OQRe6iA.js → stateDiagram-v2-MP3YSRHH-BW9X162a.js} +2 -2
  105. package/dist/static-state-D-Q-Ajaa.js +72 -0
  106. package/dist/style.css +1 -1
  107. package/dist/{swimlanes-42K2YHIH-CqkGoGqn.js → swimlanes-42K2YHIH-Ckfs9Wrn.js} +1 -1
  108. package/dist/{swimlanesDiagram-VR7AAH4N-CszjkrKo.js → swimlanesDiagram-VR7AAH4N-DpTNG9YP.js} +2 -2
  109. package/dist/{swiper-component-DKntyn8p.js → swiper-component-DQbK_ZWm.js} +7 -7
  110. package/dist/{timeline-definition-24CTP7MA-DLRUNVAx.js → timeline-definition-24CTP7MA-BXaBlV6U.js} +1 -1
  111. package/dist/toast-BhjIy3Tq.js +491 -0
  112. package/dist/{tooltip-CtBZ5q8p.js → tooltip-DMMiOn2f.js} +321 -297
  113. package/dist/use-restore-focus-CosX7-gx.js +7568 -0
  114. package/dist/{useAsyncData-BneN349z.js → useAsyncData-Ci4AvJff.js} +18 -17
  115. package/dist/{useDateFormatter-DkajGwwd.js → useDateFormatter-CPlava52.js} +2 -2
  116. package/dist/{useDeepCompareMemoize-Z_7R8wTt.js → useDeepCompareMemoize-NaaWoFlX.js} +1 -1
  117. package/dist/useEvent-BRH-aCqi.js +19 -0
  118. package/dist/{useIframeCapabilities-DBETvvPl.js → useIframeCapabilities-BXhDDoCG.js} +1 -1
  119. package/dist/useLifecycle-SniivYmC.js +112 -0
  120. package/dist/{vega-component-1lFfDE_8.js → vega-component-DIxaDQNs.js} +161 -160
  121. package/dist/{vega-embed-container-BgKnsDbB.js → vega-embed-container--LYZqguO.js} +2 -2
  122. package/dist/{vega-loader.browser-CpbZAXub.js → vega-loader.browser-B9Pz0EGP.js} +1 -1
  123. package/dist/{vennDiagram-4TSXK5OY-CypgoBVZ.js → vennDiagram-4TSXK5OY-C-hQ4iNJ.js} +1 -1
  124. package/dist/{wardleyDiagram-VM6X3IG4-B6xjiQ_g.js → wardleyDiagram-VM6X3IG4-C2MQ_Umv.js} +1 -1
  125. package/dist/{xychartDiagram-S5SC5T6Z-e0PefDVs.js → xychartDiagram-S5SC5T6Z-BtTTBn7Q.js} +1 -1
  126. package/package.json +16 -20
  127. package/src/__mocks__/document.tsx +63 -0
  128. package/src/__mocks__/executions.ts +197 -0
  129. package/src/__mocks__/notebook.ts +3 -7
  130. package/src/__mocks__/partial.ts +26 -0
  131. package/src/__mocks__/requests.ts +1 -4
  132. package/src/__tests__/CellStatus.test.tsx +25 -26
  133. package/src/__tests__/fixtures/pair-config.ts +1 -1
  134. package/src/__tests__/main.test.tsx +24 -1
  135. package/src/__tests__/module-entry.test.ts +44 -0
  136. package/src/__tests__/mount.test.ts +1 -21
  137. package/src/__tests__/{host-imports.test.ts → replica-imports.test.ts} +12 -11
  138. package/src/components/ai/__tests__/ai-model-dropdown.test.tsx +63 -0
  139. package/src/components/ai/ai-model-dropdown.tsx +11 -6
  140. package/src/components/app-config/__tests__/state.test.tsx +50 -0
  141. package/src/components/app-config/ai-config.tsx +156 -150
  142. package/src/components/app-config/app-config-button.tsx +6 -5
  143. package/src/components/app-config/app-config-form.tsx +5 -9
  144. package/src/components/app-config/common.tsx +7 -9
  145. package/src/components/app-config/data-form.tsx +112 -113
  146. package/src/components/app-config/mcp-config.tsx +30 -53
  147. package/src/components/app-config/user-config-form.css +91 -0
  148. package/src/components/app-config/user-config-form.tsx +266 -349
  149. package/src/components/chat/__tests__/capabilities-popover.test.tsx +0 -1
  150. package/src/components/chat/__tests__/chat-display.test.tsx +196 -0
  151. package/src/components/chat/__tests__/chat-markdown.test.tsx +43 -0
  152. package/src/components/chat/__tests__/chat-utils.test.ts +93 -1
  153. package/src/components/chat/__tests__/message-queue.test.tsx +17 -0
  154. package/src/components/chat/__tests__/notebook-access-selector.test.tsx +64 -0
  155. package/src/components/chat/__tests__/turn-timing.test.ts +84 -0
  156. package/src/components/chat/__tests__/use-assistant-turn.test.ts +95 -0
  157. package/src/components/chat/__tests__/user-message.test.tsx +27 -0
  158. package/src/components/chat/acp/__tests__/agent-panel-initialization.test.tsx +1 -1
  159. package/src/components/chat/acp/__tests__/agent-panel.test.tsx +22 -17
  160. package/src/components/chat/acp/__tests__/session-tabs.test.tsx +43 -0
  161. package/src/components/chat/acp/__tests__/state.test.ts +2 -2
  162. package/src/components/chat/acp/agent-panel.tsx +6 -3
  163. package/src/components/chat/acp/blocks.tsx +13 -12
  164. package/src/components/chat/acp/common.tsx +4 -5
  165. package/src/components/chat/acp/model-selector.tsx +1 -1
  166. package/src/components/chat/acp/session-tabs.tsx +8 -3
  167. package/src/components/chat/agent-activity.tsx +132 -0
  168. package/src/components/chat/capabilities-popover.tsx +2 -11
  169. package/src/components/chat/chat-components.tsx +9 -4
  170. package/src/components/chat/chat-display.tsx +131 -57
  171. package/src/components/chat/chat-history-popover.tsx +6 -1
  172. package/src/components/chat/chat-markdown.tsx +15 -0
  173. package/src/components/chat/chat-panel.tsx +216 -294
  174. package/src/components/chat/chat-typography.css +108 -0
  175. package/src/components/chat/chat-utils.ts +24 -35
  176. package/src/components/chat/notebook-access-selector.stories.tsx +22 -0
  177. package/src/components/chat/notebook-access-selector.tsx +100 -0
  178. package/src/components/chat/tool-call/__tests__/tool-labels.test.ts +76 -0
  179. package/src/components/chat/tool-call/__tests__/tool-step.test.tsx +57 -0
  180. package/src/components/chat/tool-call/shared.ts +6 -0
  181. package/src/components/chat/tool-call/tool-call-view.tsx +22 -76
  182. package/src/components/chat/tool-call/tool-labels.ts +172 -0
  183. package/src/components/chat/tool-call/tool-result.tsx +1 -1
  184. package/src/components/chat/tool-call/tool-step.tsx +145 -0
  185. package/src/components/chat/turn-timing.ts +73 -0
  186. package/src/components/chat/use-assistant-turn.ts +65 -0
  187. package/src/components/chat/use-chat-generation.ts +20 -0
  188. package/src/components/chat/user-message.tsx +145 -0
  189. package/src/components/data-table/TableBottomBar.tsx +4 -1
  190. package/src/components/data-table/TableTopBar.tsx +2 -0
  191. package/src/components/data-table/__tests__/chart-spec-model.test.ts +195 -195
  192. package/src/components/data-table/__tests__/column-explorer.test.tsx +27 -1
  193. package/src/components/data-table/__tests__/columns.test.tsx +105 -0
  194. package/src/components/data-table/__tests__/context-menu-interaction.test.tsx +130 -0
  195. package/src/components/data-table/__tests__/data-table.test.tsx +1 -0
  196. package/src/components/data-table/__tests__/date-popover.test.tsx +72 -0
  197. package/src/components/data-table/__tests__/export-actions.test.tsx +105 -0
  198. package/src/components/data-table/__tests__/keyboard-selection.test.tsx +188 -0
  199. package/src/components/data-table/__tests__/pagination.test.tsx +28 -1
  200. package/src/components/data-table/__tests__/search-highlight.test.tsx +109 -0
  201. package/src/components/data-table/__tests__/url-detector.test.tsx +74 -0
  202. package/src/components/data-table/cell-selection/feature.ts +2 -2
  203. package/src/components/data-table/cell-selection/types.ts +2 -2
  204. package/src/components/data-table/charts/__tests__/chart-panel.test.tsx +74 -1
  205. package/src/components/data-table/charts/__tests__/spec-snapshot.test.ts +20 -20
  206. package/src/components/data-table/charts/__tests__/spec.test.ts +78 -52
  207. package/src/components/data-table/charts/__tests__/storage.test.ts +4 -1
  208. package/src/components/data-table/charts/chart-spec/spec.ts +68 -43
  209. package/src/components/data-table/charts/charts.tsx +40 -30
  210. package/src/components/data-table/charts/storage.ts +16 -5
  211. package/src/components/data-table/column-explorer-panel/column-explorer.tsx +1 -1
  212. package/src/components/data-table/column-formatting/types.ts +1 -2
  213. package/src/components/data-table/column-summary/chart-spec-model.tsx +23 -16
  214. package/src/components/data-table/column-summary/column-summary.tsx +2 -4
  215. package/src/components/data-table/column-visibility-dropdown.tsx +8 -13
  216. package/src/components/data-table/columns.tsx +45 -46
  217. package/src/components/data-table/context-menu.tsx +36 -20
  218. package/src/components/data-table/data-table.tsx +17 -1
  219. package/src/components/data-table/date-popover.tsx +6 -4
  220. package/src/components/data-table/export-actions.tsx +76 -48
  221. package/src/components/data-table/pagination.tsx +44 -33
  222. package/src/components/data-table/range-focus/atoms.ts +4 -6
  223. package/src/components/data-table/range-focus/use-cell-range-selection.ts +65 -38
  224. package/src/components/data-table/range-focus/use-scroll-into-view.ts +21 -2
  225. package/src/components/data-table/renderers.tsx +16 -7
  226. package/src/components/data-table/row-viewer-panel/__tests__/row-viewer.test.tsx +24 -1
  227. package/src/components/data-table/row-viewer-panel/row-viewer.tsx +4 -4
  228. package/src/components/data-table/search-highlight.tsx +79 -0
  229. package/src/components/data-table/types.ts +1 -0
  230. package/src/components/data-table/url-detector.tsx +49 -9
  231. package/src/components/datasources/__tests__/column-actions.test.tsx +97 -0
  232. package/src/components/datasources/__tests__/column-preview.test.tsx +96 -5
  233. package/src/components/datasources/__tests__/datasources-interactions.test.tsx +181 -0
  234. package/src/components/datasources/__tests__/table-list.test.tsx +118 -0
  235. package/src/components/datasources/__tests__/utils.test.ts +57 -6
  236. package/src/components/datasources/column-preview.tsx +17 -12
  237. package/src/components/datasources/datasources.tsx +56 -43
  238. package/src/components/datasources/utils.ts +32 -23
  239. package/src/components/debugger/debugger-code.tsx +5 -0
  240. package/src/components/dependency-graph/custom-node.tsx +1 -1
  241. package/src/components/dependency-graph/dependency-graph-tree.tsx +8 -8
  242. package/src/components/dependency-graph/elements.ts +24 -21
  243. package/src/components/dependency-graph/minimap-content.tsx +15 -20
  244. package/src/components/dependency-graph/panels.tsx +4 -2
  245. package/src/components/dependency-graph/utils/__tests__/layout.test.ts +18 -11
  246. package/src/components/editor/SortableCell.tsx +1 -3
  247. package/src/components/editor/__tests__/Output.test.tsx +50 -32
  248. package/src/{core/attachments/__tests__/toast.test.tsx → components/editor/__tests__/agent-toast.test.tsx} +1 -1
  249. package/src/components/editor/__tests__/data-attributes.test.tsx +28 -23
  250. package/src/components/editor/__tests__/dynamic-favicon.test.tsx +111 -18
  251. package/src/components/editor/__tests__/output-persistence.test.tsx +28 -9
  252. package/src/components/editor/__tests__/package-alert.test.tsx +22 -1
  253. package/src/components/editor/actions/__tests__/name-cell-input.test.tsx +69 -0
  254. package/src/components/editor/actions/__tests__/pair-with-agent-commands.test.ts +21 -40
  255. package/src/components/editor/actions/__tests__/pair-with-agent-modal.test.tsx +41 -14
  256. package/src/components/editor/actions/__tests__/pair-with-agent.test.tsx +6 -24
  257. package/src/components/editor/actions/__tests__/useCellActionButton.test.tsx +131 -0
  258. package/src/components/editor/actions/name-cell-input.tsx +4 -3
  259. package/src/components/editor/actions/pair-with-agent-commands.ts +10 -7
  260. package/src/components/editor/actions/pair-with-agent-modal.tsx +29 -30
  261. package/src/components/editor/actions/pair-with-agent.tsx +16 -39
  262. package/src/components/editor/actions/useCellActionButton.tsx +47 -35
  263. package/src/components/editor/actions/useConfigActions.tsx +3 -4
  264. package/src/components/editor/actions/useNotebookActions.tsx +25 -29
  265. package/src/components/editor/actions/useRestartKernel.tsx +1 -1
  266. package/src/components/editor/actions/useSetCodeVisibility.ts +11 -12
  267. package/src/components/editor/actions/useSetOutputsExpanded.ts +14 -19
  268. package/src/components/editor/ai/ai-completion-editor.tsx +2 -1
  269. package/src/components/editor/ai/completion-handlers.tsx +0 -37
  270. package/src/components/editor/ai/prompt-input.tsx +189 -0
  271. package/src/components/editor/alerts/__tests__/connection-notice.test.tsx +1 -1
  272. package/src/components/editor/alerts/connection-notice.tsx +1 -1
  273. package/src/components/editor/alerts/startup-logs-alert.tsx +1 -0
  274. package/src/components/editor/alerts/stdin-blocking-alert.tsx +4 -2
  275. package/src/components/editor/app-container.tsx +1 -1
  276. package/src/components/editor/boundary/__tests__/ErrorBoundary.test.tsx +1 -1
  277. package/src/components/editor/cell/CellStatus.tsx +28 -23
  278. package/src/components/editor/cell/CreateCellButton.tsx +15 -21
  279. package/src/components/editor/cell/DeleteButton.tsx +3 -2
  280. package/src/components/editor/cell/RunButton.tsx +18 -8
  281. package/src/components/editor/cell/StagedAICell.tsx +52 -137
  282. package/src/components/editor/cell/StopButton.tsx +2 -2
  283. package/src/components/editor/cell/__tests__/useRunCells.test.tsx +169 -0
  284. package/src/components/editor/cell/__tests__/useShouldShowInterrupt.test.ts +39 -0
  285. package/src/components/editor/cell/cell-actions.tsx +12 -1
  286. package/src/components/editor/cell/cell-context-menu.tsx +4 -1
  287. package/src/components/editor/cell/code/__tests__/language-toggle.test.tsx +54 -0
  288. package/src/components/editor/cell/code/cell-editor.tsx +65 -169
  289. package/src/components/editor/cell/code/language-toggle.tsx +8 -7
  290. package/src/components/editor/cell/collapse.tsx +16 -6
  291. package/src/components/editor/cell/useAddCell.ts +4 -8
  292. package/src/components/editor/cell/useDeleteCell.tsx +10 -36
  293. package/src/components/editor/cell/useRunCells.ts +49 -8
  294. package/src/components/editor/cell/useShouldShowInterrupt.ts +2 -12
  295. package/src/components/editor/cell/useSplitCell.tsx +10 -6
  296. package/src/components/editor/chrome/components/__tests__/feedback-button.test.tsx +1 -1
  297. package/src/components/editor/chrome/components/feedback-button.tsx +2 -8
  298. package/src/components/editor/chrome/panels/__tests__/packages-panel.test.tsx +31 -2
  299. package/src/components/editor/chrome/panels/__tests__/runtime-details.test.tsx +1 -1
  300. package/src/components/editor/chrome/panels/__tests__/sandbox-recovery.test.tsx +1 -1
  301. package/src/components/editor/chrome/panels/cache-panel.tsx +1 -0
  302. package/src/components/editor/chrome/panels/dependency-graph-panel.tsx +1 -1
  303. package/src/components/editor/chrome/panels/logs-panel.tsx +2 -1
  304. package/src/components/editor/chrome/panels/outline/__tests__/outline-keyboard.test.tsx +84 -0
  305. package/src/components/editor/chrome/panels/outline/floating-outline.tsx +39 -14
  306. package/src/components/editor/chrome/panels/outline/useActiveOutline.tsx +3 -2
  307. package/src/components/editor/chrome/panels/packages-panel.tsx +4 -7
  308. package/src/components/editor/chrome/panels/panel-header.tsx +13 -0
  309. package/src/components/editor/chrome/panels/secrets-panel.tsx +1 -0
  310. package/src/components/editor/chrome/panels/session-panel.tsx +1 -1
  311. package/src/components/editor/chrome/panels/snippets-panel.tsx +10 -12
  312. package/src/components/editor/chrome/panels/variable-panel.tsx +1 -5
  313. package/src/components/editor/chrome/types.ts +1 -1
  314. package/src/components/editor/chrome/wrapper/__tests__/attachment-status.test.tsx +7 -9
  315. package/src/components/editor/chrome/wrapper/__tests__/document-sync-status.test.tsx +92 -0
  316. package/src/components/editor/chrome/wrapper/__tests__/pending-ai-cells.test.tsx +265 -37
  317. package/src/components/editor/chrome/wrapper/__tests__/useAskAiAboutCell.test.tsx +58 -0
  318. package/src/components/editor/chrome/wrapper/app-chrome.tsx +91 -74
  319. package/src/components/editor/chrome/wrapper/footer-items/attachment-status.tsx +4 -4
  320. package/src/components/editor/chrome/wrapper/footer-items/backend-status.tsx +1 -1
  321. package/src/components/editor/chrome/wrapper/footer-items/document-sync-status.tsx +54 -0
  322. package/src/components/editor/chrome/wrapper/footer-items/lsp-status.tsx +1 -1
  323. package/src/components/editor/chrome/wrapper/footer-items/machine-stats.tsx +1 -1
  324. package/src/components/editor/chrome/wrapper/footer-items/runtime-settings.tsx +1 -7
  325. package/src/components/editor/chrome/wrapper/footer.tsx +2 -2
  326. package/src/components/editor/chrome/wrapper/minimap-state.ts +1 -1
  327. package/src/components/editor/chrome/wrapper/pending-ai-cells.tsx +143 -72
  328. package/src/components/editor/chrome/wrapper/pending-ai-changes-badge.tsx +25 -0
  329. package/src/components/editor/chrome/wrapper/sidebar.tsx +8 -4
  330. package/src/components/editor/chrome/wrapper/storage.ts +1 -1
  331. package/src/components/editor/chrome/wrapper/useAskAiAboutCell.ts +36 -0
  332. package/src/components/editor/columns/__tests__/cell-column.test.tsx +1 -1
  333. package/src/components/editor/columns/cell-column.tsx +1 -1
  334. package/src/components/editor/columns/sortable-column.tsx +2 -2
  335. package/src/components/editor/connections/components.tsx +5 -10
  336. package/src/components/editor/controls/Controls.tsx +4 -4
  337. package/src/components/editor/controls/__tests__/command-palette.test.tsx +53 -0
  338. package/src/components/editor/controls/__tests__/keyboard-shortcuts.test.tsx +61 -0
  339. package/src/components/editor/controls/__tests__/notebook-menu-dropdown.test.tsx +10 -4
  340. package/src/components/editor/controls/command-palette.tsx +22 -10
  341. package/src/components/editor/controls/keyboard-shortcuts.tsx +14 -5
  342. package/src/components/editor/documentation.css +34 -11
  343. package/src/components/editor/dynamic-favicon.tsx +21 -40
  344. package/src/components/editor/errors/__tests__/send-error-report-button.test.tsx +26 -22
  345. package/src/components/editor/errors/auto-fix.tsx +4 -8
  346. package/src/components/editor/errors/send-error-report-button.tsx +3 -6
  347. package/src/components/editor/file-tree/__tests__/file-explorer-interactions.test.tsx +6 -0
  348. package/src/components/editor/file-tree/__tests__/file-explorer-navigation.test.tsx +47 -0
  349. package/src/components/editor/file-tree/__tests__/use-file-search.test.tsx +91 -0
  350. package/src/components/editor/file-tree/file-explorer.tsx +48 -15
  351. package/src/components/editor/file-tree/file-name-input.tsx +1 -0
  352. package/src/components/editor/file-tree/file-viewer.tsx +4 -2
  353. package/src/components/editor/file-tree/use-file-search.ts +35 -21
  354. package/src/components/editor/header/__tests__/filename-form.test.tsx +1 -4
  355. package/src/components/editor/header/__tests__/status.test.tsx +5 -3
  356. package/src/components/editor/header/app-header.tsx +1 -1
  357. package/src/components/editor/header/filename-form.tsx +1 -1
  358. package/src/components/editor/header/status.tsx +44 -22
  359. package/src/components/editor/links/__tests__/cell-link.test.tsx +148 -0
  360. package/src/components/editor/links/cell-link-list.tsx +1 -1
  361. package/src/components/editor/links/cell-link.tsx +21 -11
  362. package/src/components/editor/navigation/__tests__/clipboard.test.ts +60 -38
  363. package/src/components/editor/navigation/__tests__/navigation.test.ts +108 -85
  364. package/src/components/editor/navigation/__tests__/selection.test.ts +43 -21
  365. package/src/components/editor/navigation/clipboard.ts +17 -14
  366. package/src/components/editor/navigation/focus-utils.ts +23 -4
  367. package/src/components/editor/navigation/multi-cell-action-toolbar.tsx +17 -33
  368. package/src/components/editor/navigation/navigation.ts +74 -72
  369. package/src/components/editor/navigation/selection.ts +30 -29
  370. package/src/components/editor/notebook-banner.tsx +1 -0
  371. package/src/components/editor/notebook-cell.tsx +126 -152
  372. package/src/components/editor/output/MarimoErrorOutput.tsx +2 -1
  373. package/src/components/editor/output/MarimoTracebackOutput.tsx +19 -17
  374. package/src/components/editor/output/Outputs.css +8 -0
  375. package/src/components/editor/output/VideoOutput.tsx +6 -0
  376. package/src/components/editor/output/__tests__/VideoOutput.test.tsx +131 -0
  377. package/src/components/editor/output/__tests__/traceback.test.tsx +27 -1
  378. package/src/components/editor/output/ansi-reduce.ts +33 -20
  379. package/src/components/editor/output/console/ConsoleOutput.tsx +19 -25
  380. package/src/components/editor/output/console/__tests__/ConsoleOutput.test.tsx +125 -69
  381. package/src/components/editor/package-alert.tsx +14 -7
  382. package/src/components/editor/renderers/__tests__/add-cell-buttons.test.tsx +18 -0
  383. package/src/components/editor/renderers/cell-array.tsx +32 -100
  384. package/src/components/editor/renderers/grid-layout/__tests__/grid-layout.test.tsx +75 -0
  385. package/src/components/editor/renderers/grid-layout/grid-layout.tsx +28 -22
  386. package/src/components/editor/renderers/slides-layout/__tests__/plugin.test.ts +0 -4
  387. package/src/components/editor/renderers/slides-layout/slides-layout.tsx +1 -1
  388. package/src/components/editor/renderers/vertical-layout/__tests__/useFocusFirstEditor.test.ts +4 -4
  389. package/src/components/editor/renderers/vertical-layout/sidebar/toggle.tsx +7 -1
  390. package/src/components/editor/renderers/vertical-layout/useFocusFirstEditor.ts +1 -1
  391. package/src/components/editor/renderers/vertical-layout/vertical-layout.tsx +19 -37
  392. package/src/components/editor/stdin-blocking-alert.tsx +4 -2
  393. package/src/components/home/components.tsx +17 -31
  394. package/src/components/icons/__tests__/large-spinner.test.tsx +39 -0
  395. package/src/components/icons/large-spinner.tsx +3 -14
  396. package/src/components/icons/spinner.tsx +1 -1
  397. package/src/components/markdown/markdown-renderer.tsx +39 -28
  398. package/src/components/mcp/mcp-status-indicator.tsx +18 -14
  399. package/src/components/pages/__tests__/home-page.test.tsx +116 -0
  400. package/src/components/pages/edit-page.tsx +19 -17
  401. package/src/components/pages/home-page.tsx +164 -91
  402. package/src/components/scratchpad/scratchpad.test.tsx +89 -0
  403. package/src/components/scratchpad/scratchpad.tsx +47 -33
  404. package/src/components/scratchpad/state.ts +7 -0
  405. package/src/components/slides/__tests__/minimap-actions.test.tsx +22 -29
  406. package/src/components/slides/__tests__/minimap.test.ts +38 -19
  407. package/src/components/slides/__tests__/slide-scroll-hint.test.tsx +37 -0
  408. package/src/components/slides/minimap.tsx +22 -14
  409. package/src/components/slides/reveal-component.tsx +73 -36
  410. package/src/components/slides/reveal-slides.css +5 -4
  411. package/src/components/slides/slide-cell-view.tsx +37 -34
  412. package/src/components/slides/slide-form.tsx +1 -0
  413. package/src/components/slides/slide-scroll-hint.tsx +3 -1
  414. package/src/components/slides/slide.tsx +3 -4
  415. package/src/components/sort/SortableCellsProvider.tsx +8 -25
  416. package/src/components/tracing/tracing-keyboard.test.tsx +85 -0
  417. package/src/components/tracing/tracing.tsx +46 -42
  418. package/src/components/ui/__tests__/draggable-popover.test.tsx +24 -0
  419. package/src/components/ui/__tests__/fullscreen.test.tsx +44 -2
  420. package/src/components/ui/__tests__/range-slider.test.tsx +165 -0
  421. package/src/components/ui/alert-dialog.tsx +1 -1
  422. package/src/components/ui/draggable-popover.tsx +24 -2
  423. package/src/components/ui/fullscreen.tsx +25 -1
  424. package/src/components/ui/range-slider.tsx +22 -9
  425. package/src/components/ui/toast.tsx +1 -1
  426. package/src/core/MarimoApp.tsx +3 -1
  427. package/src/core/ai/__tests__/staged-cells.test.ts +89 -608
  428. package/src/core/ai/context/context.ts +2 -0
  429. package/src/core/ai/context/providers/__tests__/cell-output.test.ts +8 -12
  430. package/src/core/ai/context/providers/__tests__/cell.test.ts +49 -0
  431. package/src/core/ai/context/providers/cell-output.ts +2 -2
  432. package/src/core/ai/context/providers/cell.ts +54 -0
  433. package/src/core/ai/context/providers/datasource.ts +6 -2
  434. package/src/core/ai/staged-cells.ts +56 -323
  435. package/src/core/ai/state.ts +3 -0
  436. package/src/core/ai/tools/__tests__/edit-notebook-tool.test.ts +40 -88
  437. package/src/core/ai/tools/__tests__/registry.test.ts +17 -0
  438. package/src/core/ai/tools/base.ts +18 -15
  439. package/src/core/ai/tools/edit-notebook-tool.ts +86 -80
  440. package/src/core/ai/tools/registry.ts +13 -10
  441. package/src/core/ai/tools/sample-tool.ts +6 -7
  442. package/src/core/cells/__tests__/__snapshots__/cells.test.ts.snap +4 -527
  443. package/src/core/cells/__tests__/actions.test.ts +623 -35
  444. package/src/core/cells/__tests__/add-missing-import.test.ts +7 -8
  445. package/src/core/cells/__tests__/arrange.test.ts +432 -0
  446. package/src/core/cells/__tests__/cell.test.ts +148 -150
  447. package/src/core/cells/__tests__/cells.test.ts +390 -2925
  448. package/src/core/cells/__tests__/collapseConsoleOutputs.test.ts +54 -0
  449. package/src/core/cells/__tests__/document.test.ts +158 -0
  450. package/src/core/cells/__tests__/editor.test.ts +57 -0
  451. package/src/core/cells/__tests__/flush-document.test.ts +40 -0
  452. package/src/core/cells/__tests__/harness.ts +106 -0
  453. package/src/core/cells/__tests__/layout.test.ts +176 -0
  454. package/src/core/cells/__tests__/logs.test.ts +0 -13
  455. package/src/core/cells/__tests__/notebook-outline.test.ts +122 -0
  456. package/src/core/cells/__tests__/outputs.test.tsx +71 -53
  457. package/src/core/cells/__tests__/pending-delete-service.test.tsx +11 -20
  458. package/src/core/cells/__tests__/session.test.ts +445 -211
  459. package/src/core/cells/__tests__/utils.test.ts +135 -337
  460. package/src/core/cells/actions.ts +677 -6
  461. package/src/core/cells/add-missing-import.ts +47 -43
  462. package/src/core/cells/arrange.ts +529 -0
  463. package/src/core/cells/cell.ts +78 -146
  464. package/src/core/cells/cells.ts +116 -1457
  465. package/src/core/cells/columns.ts +38 -0
  466. package/src/core/cells/document.ts +167 -0
  467. package/src/core/cells/edit.ts +30 -0
  468. package/src/core/cells/editor.ts +82 -0
  469. package/src/core/cells/focus.ts +27 -6
  470. package/src/core/cells/layout.ts +221 -0
  471. package/src/core/cells/outputs.ts +12 -28
  472. package/src/core/cells/pending-delete-service.ts +8 -14
  473. package/src/core/cells/scrollCellIntoView.ts +6 -0
  474. package/src/core/cells/session.ts +76 -53
  475. package/src/core/cells/types.ts +21 -51
  476. package/src/core/cells/utils.ts +85 -87
  477. package/src/core/codemirror/__tests__/format.test.ts +0 -34
  478. package/src/core/codemirror/__tests__/setup.test.ts +61 -29
  479. package/src/core/codemirror/ai/__tests__/resources.test.ts +117 -0
  480. package/src/core/codemirror/ai/resources.ts +1 -1
  481. package/src/core/codemirror/cells/__tests__/extensions.test.ts +2 -6
  482. package/src/core/codemirror/cells/extensions.ts +18 -30
  483. package/src/core/codemirror/cells/state.ts +2 -6
  484. package/src/core/codemirror/cm.ts +5 -1
  485. package/src/core/codemirror/config/types.ts +1 -1
  486. package/src/core/codemirror/copilot/__tests__/getCodes.test.ts +6 -7
  487. package/src/core/codemirror/copilot/getCodes.ts +2 -2
  488. package/src/core/codemirror/format.ts +6 -23
  489. package/src/core/codemirror/keymaps/vim.ts +4 -8
  490. package/src/core/codemirror/language/__tests__/sql.test.ts +22 -20
  491. package/src/core/codemirror/language/__tests__/utils.test.ts +187 -15
  492. package/src/core/codemirror/language/cell-code.ts +114 -0
  493. package/src/core/codemirror/language/extension.ts +52 -35
  494. package/src/core/codemirror/language/languages/markdown.ts +8 -6
  495. package/src/core/codemirror/language/languages/python.ts +19 -13
  496. package/src/core/codemirror/language/languages/sql/sql.ts +16 -24
  497. package/src/core/codemirror/language/panel/panel.tsx +1 -0
  498. package/src/core/codemirror/language/types.ts +7 -7
  499. package/src/core/codemirror/language/utils.ts +9 -39
  500. package/src/core/codemirror/lsp/__tests__/notebook-lsp.test.ts +1 -2
  501. package/src/core/codemirror/lsp/notebook-lsp.ts +6 -5
  502. package/src/core/codemirror/lsp/utils.ts +1 -1
  503. package/src/core/codemirror/misc/__tests__/paste.test.ts +3 -1
  504. package/src/core/codemirror/misc/paste.ts +1 -1
  505. package/src/core/codemirror/placeholder/__tests__/extensions.test.ts +75 -0
  506. package/src/core/codemirror/placeholder/extensions.ts +80 -19
  507. package/src/core/codemirror/readonly/__tests__/extension.test.ts +1 -1
  508. package/src/core/codemirror/readonly/extension.ts +2 -2
  509. package/src/core/codemirror/utils.ts +1 -0
  510. package/src/core/config/__tests__/app-config.test.ts +64 -0
  511. package/src/core/config/__tests__/config-schema.test.ts +56 -6
  512. package/src/core/config/config-schema.ts +17 -4
  513. package/src/core/config/config.ts +65 -20
  514. package/src/core/config/feature-flag.tsx +0 -2
  515. package/src/core/datasets/__tests__/data-source-discovery.test.ts +5 -5
  516. package/src/core/datasets/data-source-discovery.ts +4 -6
  517. package/src/core/documentation/doc-lookup.ts +1 -1
  518. package/src/core/edit-app.tsx +22 -28
  519. package/src/core/errors/__tests__/error-entries.test.ts +40 -1
  520. package/src/core/errors/error-entries.ts +6 -4
  521. package/src/core/executions/__tests__/atoms.test.ts +98 -0
  522. package/src/core/executions/__tests__/freshness.test.ts +482 -0
  523. package/src/core/executions/__tests__/hooks.test.tsx +106 -0
  524. package/src/core/executions/__tests__/select.test.ts +268 -0
  525. package/src/core/executions/atoms.ts +228 -0
  526. package/src/core/executions/freshness.ts +171 -0
  527. package/src/core/executions/hooks.ts +47 -0
  528. package/src/core/executions/index.ts +33 -0
  529. package/src/core/executions/select.ts +175 -0
  530. package/src/core/export/__tests__/hooks.test.ts +0 -5
  531. package/src/core/export/hooks.ts +1 -1
  532. package/src/core/export/layout.ts +2 -2
  533. package/src/core/hotkeys/actions.ts +2 -4
  534. package/src/core/hotkeys/hotkeys.ts +2 -1
  535. package/src/core/islands/__tests__/bootstrap.test.ts +69 -17
  536. package/src/core/islands/__tests__/bridge.test.ts +85 -27
  537. package/src/core/islands/bootstrap.ts +49 -54
  538. package/src/core/islands/bridge.ts +84 -25
  539. package/src/core/islands/components/__tests__/IslandControls.test.tsx +7 -5
  540. package/src/core/islands/components/__tests__/web-components.test.tsx +63 -0
  541. package/src/core/islands/components/output-wrapper.tsx +5 -5
  542. package/src/core/islands/components/web-components.tsx +12 -1
  543. package/src/core/islands/worker/__tests__/controller.test.ts +62 -4
  544. package/src/core/islands/worker/controller.ts +4 -10
  545. package/src/core/islands/worker/worker.tsx +33 -33
  546. package/src/core/kernel/__tests__/RuntimeState.test.ts +1 -1
  547. package/src/core/kernel/__tests__/handlers.test.ts +7 -157
  548. package/src/core/kernel/handlers.ts +13 -79
  549. package/src/core/kernel/state.ts +0 -15
  550. package/src/core/lifecycle/render-policy.ts +12 -26
  551. package/src/core/meta/__tests__/code-visibility.test.tsx +78 -70
  552. package/src/core/meta/code-visibility.ts +18 -9
  553. package/src/core/network/__tests__/connection.test.ts +1 -1
  554. package/src/core/network/__tests__/requests-lazy.test.ts +6 -8
  555. package/src/core/network/connection-notice.ts +1 -1
  556. package/src/core/network/connection.ts +1 -1
  557. package/src/core/network/requests-lazy.ts +5 -8
  558. package/src/core/network/requests-network.ts +5 -31
  559. package/src/core/network/requests-static.ts +1 -4
  560. package/src/core/network/requests-toasting.tsx +1 -4
  561. package/src/core/network/types.ts +6 -14
  562. package/src/core/network/useConnectionNotice.ts +8 -2
  563. package/src/core/notebook/__tests__/operations.test.ts +51 -0
  564. package/src/core/notebook/attachments.ts +38 -0
  565. package/src/core/notebook/document/__tests__/codemirror.test.ts +759 -0
  566. package/src/core/notebook/document/__tests__/draft.test.ts +363 -0
  567. package/src/core/notebook/document/__tests__/fixtures.ts +92 -0
  568. package/src/core/notebook/document/__tests__/hooks.test.tsx +391 -0
  569. package/src/core/notebook/document/__tests__/lifecycle-scenarios.test.ts +61 -0
  570. package/src/core/notebook/document/__tests__/model.test.ts +247 -0
  571. package/src/core/notebook/document/__tests__/protocol-fixtures.ts +38 -0
  572. package/src/core/notebook/document/__tests__/recovery-scenarios.test.ts +230 -0
  573. package/src/core/notebook/document/__tests__/scenario-fixture.ts +43 -0
  574. package/src/core/notebook/document/__tests__/scenarios.test.ts +205 -0
  575. package/src/core/notebook/document/__tests__/state.test.ts +459 -0
  576. package/src/core/notebook/document/__tests__/submission.test.ts +203 -0
  577. package/src/core/notebook/document/__tests__/test-host.test.ts +92 -0
  578. package/src/core/notebook/document/__tests__/test-host.ts +247 -0
  579. package/src/core/notebook/document/__tests__/test-notebook.ts +149 -0
  580. package/src/core/notebook/document/__tests__/user.ts +61 -0
  581. package/src/core/notebook/document/codemirror.ts +216 -0
  582. package/src/core/notebook/document/draft.ts +502 -0
  583. package/src/core/notebook/document/hooks.tsx +118 -0
  584. package/src/core/notebook/document/index.ts +24 -0
  585. package/src/core/notebook/document/model.ts +102 -0
  586. package/src/core/notebook/document/select.ts +41 -0
  587. package/src/core/notebook/document/state.ts +378 -0
  588. package/src/core/notebook/document/sync.ts +369 -0
  589. package/src/core/notebook/index.ts +19 -0
  590. package/src/core/notebook/operations.ts +30 -0
  591. package/src/core/notebook/replica/AGENTS.md +11 -0
  592. package/src/core/{host → notebook/replica}/__tests__/attachments.test.ts +9 -10
  593. package/src/core/{host → notebook/replica}/__tests__/document.test.ts +18 -16
  594. package/src/core/notebook/replica/__tests__/executions.test.ts +200 -0
  595. package/src/core/notebook/replica/__tests__/fixtures.ts +79 -0
  596. package/src/core/notebook/replica/__tests__/replica.test.ts +559 -0
  597. package/src/core/notebook/replica/__tests__/results.test.ts +193 -0
  598. package/src/core/notebook/replica/__tests__/runtime.test.ts +78 -0
  599. package/src/core/notebook/replica/backend.ts +19 -0
  600. package/src/core/notebook/replica/connection.ts +42 -0
  601. package/src/core/notebook/replica/index.ts +20 -0
  602. package/src/core/notebook/replica/replica.ts +336 -0
  603. package/src/core/{host → notebook/replica}/resources/attachments.ts +6 -3
  604. package/src/core/{host → notebook/replica}/resources/document.ts +3 -3
  605. package/src/core/notebook/replica/resources/executions.ts +157 -0
  606. package/src/core/notebook/replica/resources/results.ts +48 -0
  607. package/src/core/notebook/replica/resources/runtime.ts +14 -0
  608. package/src/core/packages/__tests__/useSandboxController.test.tsx +1 -1
  609. package/src/core/packages/useSandboxController.ts +1 -1
  610. package/src/core/run-app.tsx +49 -51
  611. package/src/core/runtime/__tests__/adapter.test.ts +4 -4
  612. package/src/core/runtime/__tests__/createWsUrl.test.ts +77 -7
  613. package/src/core/runtime/__tests__/runtime.test.ts +32 -74
  614. package/src/core/runtime/adapter.ts +5 -5
  615. package/src/core/runtime/config.ts +2 -2
  616. package/src/core/runtime/runtime.ts +33 -46
  617. package/src/core/runtime/types.ts +0 -2
  618. package/src/core/saving/__tests__/document.test.tsx +123 -0
  619. package/src/core/saving/__tests__/state.test.ts +111 -0
  620. package/src/core/saving/__tests__/useAutoSave.test.tsx +67 -0
  621. package/src/core/saving/document.ts +33 -0
  622. package/src/core/saving/filename.ts +1 -1
  623. package/src/core/saving/save-component.tsx +39 -60
  624. package/src/core/saving/state.ts +38 -39
  625. package/src/core/saving/useAutoSave.ts +17 -53
  626. package/src/core/session/__tests__/backend.test.ts +236 -0
  627. package/src/core/session/__tests__/useNotebookReplica.hook.test.tsx +186 -0
  628. package/src/core/{websocket → session}/__tests__/useNotebookSession.hook.test.tsx +245 -262
  629. package/src/core/session/active-notebook.ts +28 -0
  630. package/src/core/session/backend.ts +123 -0
  631. package/src/core/session/embedded.ts +7 -0
  632. package/src/core/{websocket → session}/types.ts +2 -2
  633. package/src/core/session/useNotebookReplica.ts +74 -0
  634. package/src/core/{websocket → session}/useNotebookSession.tsx +80 -67
  635. package/src/core/state/__tests__/jotai.test.tsx +108 -0
  636. package/src/core/state/jotai.ts +1 -1
  637. package/src/core/static/__tests__/files.test.ts +38 -10
  638. package/src/core/static/files.ts +2 -0
  639. package/src/core/{websocket → transports}/__tests__/connection-state.test.ts +1 -13
  640. package/src/core/transports/__tests__/server.test.ts +408 -0
  641. package/src/core/transports/__tests__/static.test.ts +306 -0
  642. package/src/core/transports/__tests__/wasm.test.ts +166 -0
  643. package/src/core/{websocket → transports}/connection-state.ts +9 -16
  644. package/src/core/transports/server.ts +152 -0
  645. package/src/core/transports/static.ts +166 -0
  646. package/src/core/transports/wasm.ts +97 -0
  647. package/src/core/vscode/__tests__/vscode-bindings.test.ts +125 -0
  648. package/src/core/vscode/vscode-bindings.ts +14 -2
  649. package/src/core/wasm/__tests__/bridge.test.ts +210 -64
  650. package/src/core/wasm/__tests__/worker.test.ts +188 -0
  651. package/src/core/wasm/bridge.ts +120 -73
  652. package/src/core/wasm/rpc.ts +15 -3
  653. package/src/core/wasm/store.ts +3 -3
  654. package/src/core/wasm/worker/bootstrap.ts +55 -51
  655. package/src/core/wasm/worker/getMarimoWheel.ts +1 -1
  656. package/src/core/wasm/worker/save-worker.ts +9 -10
  657. package/src/core/wasm/worker/types.ts +30 -18
  658. package/src/core/wasm/worker/worker.ts +118 -72
  659. package/src/css/app/Cell.css +7 -36
  660. package/src/css/app/codemirror.css +1 -1
  661. package/src/css/common.css +1 -1
  662. package/src/css/globals.css +72 -24
  663. package/src/hooks/__tests__/useAsyncData.test.tsx +148 -0
  664. package/src/hooks/__tests__/useDebounce.test.tsx +51 -0
  665. package/src/hooks/__tests__/useDeepCompareMemoize.test.tsx +39 -0
  666. package/src/hooks/__tests__/useDelayElapsed.test.tsx +28 -0
  667. package/src/hooks/__tests__/useInternalStateWithSync.test.tsx +20 -0
  668. package/src/hooks/__tests__/useScript.test.tsx +77 -0
  669. package/src/hooks/__tests__/useStateForKey.test.tsx +257 -0
  670. package/src/hooks/useAsyncData.ts +3 -3
  671. package/src/hooks/useDataSourceDiscovery.ts +6 -4
  672. package/src/hooks/useDebounce.ts +6 -10
  673. package/src/hooks/useDeepCompareMemoize.ts +1 -1
  674. package/src/hooks/useDelayElapsed.ts +14 -10
  675. package/src/hooks/useElapsedTime.ts +3 -3
  676. package/src/hooks/useEventListener.ts +1 -2
  677. package/src/hooks/useInputHistory.ts +4 -7
  678. package/src/hooks/useInternalStateWithSync.ts +6 -6
  679. package/src/hooks/useResizeObserver.ts +4 -7
  680. package/src/hooks/useScript.ts +67 -70
  681. package/src/hooks/useStateForKey.ts +93 -0
  682. package/src/mount.tsx +20 -15
  683. package/src/plugins/__tests__/plugin-object-schemas.test.ts +104 -0
  684. package/src/plugins/core/RenderHTML.tsx +3 -5
  685. package/src/plugins/core/__test__/RenderHTML-copy.test.tsx +60 -0
  686. package/src/plugins/core/registerReactComponent.tsx +5 -14
  687. package/src/plugins/impl/CodeEditorPlugin.tsx +1 -1
  688. package/src/plugins/impl/DataEditorPlugin.tsx +34 -13
  689. package/src/plugins/impl/DataTablePlugin.tsx +69 -37
  690. package/src/plugins/impl/DropdownPlugin.tsx +2 -6
  691. package/src/plugins/impl/FileBrowserPlugin.tsx +4 -16
  692. package/src/plugins/impl/FormPlugin.tsx +1 -1
  693. package/src/plugins/impl/RangeSliderPlugin.tsx +16 -2
  694. package/src/plugins/impl/RefreshPlugin.tsx +1 -0
  695. package/src/plugins/impl/SliderPlugin.tsx +6 -8
  696. package/src/plugins/impl/__tests__/DataEditorPlugin.test.ts +93 -4
  697. package/src/plugins/impl/__tests__/DataTablePlugin.test.tsx +387 -1
  698. package/src/plugins/impl/__tests__/FileBrowserPlugin.test.tsx +45 -0
  699. package/src/plugins/impl/__tests__/RangeSliderPlugin.test.tsx +109 -0
  700. package/src/plugins/impl/__tests__/SliderPlugin.test.tsx +24 -3
  701. package/src/plugins/impl/anywidget/__tests__/registry.test.ts +153 -0
  702. package/src/plugins/impl/anywidget/__tests__/widget-binding.test.ts +241 -2
  703. package/src/plugins/impl/anywidget/model.ts +3 -1
  704. package/src/plugins/impl/anywidget/registry.ts +18 -14
  705. package/src/plugins/impl/anywidget/runtime.ts +21 -9
  706. package/src/plugins/impl/anywidget/widget-binding.ts +160 -82
  707. package/src/plugins/impl/chat/__tests__/chat-prompts.test.tsx +93 -0
  708. package/src/plugins/impl/chat/chat-ui.tsx +17 -15
  709. package/src/plugins/impl/code/any-language-editor.tsx +2 -2
  710. package/src/plugins/impl/common/error-banner.tsx +5 -3
  711. package/src/plugins/impl/data-editor/__tests__/column-types.test.ts +42 -0
  712. package/src/plugins/impl/data-editor/__tests__/editor-state.test.ts +52 -1
  713. package/src/plugins/impl/data-editor/__tests__/glide-data-editor.test.tsx +120 -4
  714. package/src/plugins/impl/data-editor/__tests__/glide-utils.test.ts +116 -0
  715. package/src/plugins/impl/data-editor/column-types.ts +55 -0
  716. package/src/plugins/impl/data-editor/editor-state.ts +18 -2
  717. package/src/plugins/impl/data-editor/glide-data-editor.tsx +74 -12
  718. package/src/plugins/impl/data-editor/glide-utils.ts +39 -38
  719. package/src/plugins/impl/data-editor/types.ts +5 -0
  720. package/src/plugins/impl/data-explorer/ConnectedDataExplorerComponent.tsx +1 -1
  721. package/src/plugins/impl/data-explorer/components/column-summary.tsx +4 -2
  722. package/src/plugins/impl/data-explorer/state/reducer.ts +1 -1
  723. package/src/plugins/impl/data-frames/DataFramePlugin.tsx +1 -2
  724. package/src/plugins/impl/data-frames/__tests__/sidebar.test.tsx +160 -0
  725. package/src/plugins/impl/data-frames/forms/__tests__/__snapshots__/form.test.tsx.snap +66 -66
  726. package/src/plugins/impl/data-frames/panel.tsx +44 -16
  727. package/src/plugins/impl/mpl-interactive/MplInteractivePlugin.tsx +5 -3
  728. package/src/plugins/impl/panel/PanelPlugin.tsx +16 -17
  729. package/src/plugins/impl/panel/__tests__/utils.test.ts +39 -1
  730. package/src/plugins/impl/panel/utils.ts +17 -0
  731. package/src/plugins/impl/plotly/PlotlyPlugin.tsx +2 -5
  732. package/src/plugins/impl/plotly/selection.ts +25 -19
  733. package/src/plugins/impl/vega/VegaPlugin.tsx +2 -3
  734. package/src/plugins/impl/vega/make-selectable.ts +4 -7
  735. package/src/plugins/layout/DownloadPlugin.tsx +7 -11
  736. package/src/plugins/layout/RoutesPlugin.tsx +1 -1
  737. package/src/plugins/layout/__test__/DownloadPlugin.test.tsx +205 -0
  738. package/src/stories/__tests__/editor-story.test.tsx +33 -0
  739. package/src/stories/button.stories.tsx +1 -0
  740. package/src/stories/cell-status.stories.tsx +29 -24
  741. package/src/stories/cell.stories.tsx +46 -46
  742. package/src/stories/data-table.stories.tsx +31 -0
  743. package/src/stories/editor.stories.tsx +24 -17
  744. package/src/stories/form-wrapper.stories.tsx +2 -2
  745. package/src/stories/layout/vertical/one-column.stories.tsx +28 -42
  746. package/src/stories/runtime-story.tsx +23 -17
  747. package/src/stories/select.stories.tsx +2 -2
  748. package/src/stories/switchable-multi-select.stories.tsx +1 -1
  749. package/src/theme/__tests__/islands-theme.test.tsx +276 -0
  750. package/src/theme/namespace.tsx +4 -3
  751. package/src/theme/useTheme.ts +71 -41
  752. package/src/utils/__tests__/arrays.test.ts +35 -0
  753. package/src/utils/__tests__/batch-requests.test.ts +3 -3
  754. package/src/utils/__tests__/{createReducer.test.ts → createReducer.test.tsx} +127 -1
  755. package/src/utils/__tests__/download.test.tsx +183 -23
  756. package/src/utils/__tests__/numbers.test.ts +105 -1
  757. package/src/utils/__tests__/objects.test.ts +21 -0
  758. package/src/utils/arrays.ts +11 -2
  759. package/src/utils/blob.ts +1 -1
  760. package/src/utils/createReducer.ts +115 -79
  761. package/src/utils/download.ts +67 -6
  762. package/src/utils/maps.ts +0 -3
  763. package/src/utils/numbers.ts +79 -18
  764. package/src/utils/objects.ts +4 -9
  765. package/src/utils/time.ts +10 -0
  766. package/src/utils/tracer.ts +9 -5
  767. package/src/utils/zod-utils.ts +1 -3
  768. package/dist/_baseMerge-BiGRwuqv.js +0 -165
  769. package/dist/any-language-editor-D4q-IFcM.js +0 -76
  770. package/dist/assets/__vite-browser-external-BXYkiFsk.js +0 -1
  771. package/dist/assets/worker-HPY9fbhz.js +0 -114
  772. package/dist/feedback-button-CykZqHY-.js +0 -379
  773. package/dist/hasIn-o2Us0uVx.js +0 -132
  774. package/dist/html-to-image--r0l9wUy.js +0 -3251
  775. package/dist/isArrayLikeObject-BZl-15ir.js +0 -450
  776. package/dist/isEmpty-BSZ1LaUo.js +0 -35
  777. package/dist/isSymbol-kQcfYbNX.js +0 -8
  778. package/dist/label-DoysmLMW.js +0 -281
  779. package/dist/pick-CJeoxYOS.js +0 -51
  780. package/dist/select-DemoKT4G.js +0 -1344
  781. package/dist/toDate-gyi35XS2.js +0 -1185
  782. package/dist/toast-PkdZraM8.js +0 -1830
  783. package/dist/use-restore-focus-CKjfFjLM.js +0 -6369
  784. package/dist/useLifecycle-Dfq8UD-b.js +0 -169
  785. package/dist/useTheme-Bu5bBgrh.js +0 -904
  786. package/src/components/chat/reasoning-accordion.tsx +0 -61
  787. package/src/components/chat/tool-call/tool-error-card.tsx +0 -81
  788. package/src/components/chat/tool-call/tool-history-row.tsx +0 -174
  789. package/src/components/editor/ai/__tests__/staged-cell-submission.test.ts +0 -106
  790. package/src/components/editor/ai/add-cell-with-ai.tsx +0 -506
  791. package/src/components/editor/ai/staged-cell-submission.ts +0 -46
  792. package/src/components/editor/cell/__tests__/StagedAICell.test.tsx +0 -64
  793. package/src/components/editor/cell/code/__tests__/rtc-editor-config.test.ts +0 -50
  794. package/src/components/editor/chrome/wrapper/footer-items/rtc-status.tsx +0 -65
  795. package/src/components/editor/navigation/__tests__/state.test.ts +0 -81
  796. package/src/components/editor/navigation/state.ts +0 -65
  797. package/src/components/icons/loading-ellipsis.tsx +0 -46
  798. package/src/core/ai/tools/__tests__/run-cells-tool.test.ts +0 -656
  799. package/src/core/ai/tools/run-cells-tool.ts +0 -303
  800. package/src/core/attachments/state.ts +0 -18
  801. package/src/core/cells/__tests__/apply-transaction.test.ts +0 -991
  802. package/src/core/cells/__tests__/document-changes.test.ts +0 -1140
  803. package/src/core/cells/__tests__/document-roundtrip.test.ts +0 -392
  804. package/src/core/cells/document-changes.ts +0 -944
  805. package/src/core/codemirror/rtc/extension.ts +0 -453
  806. package/src/core/codemirror/rtc/loro/__tests__/sync.test.ts +0 -52
  807. package/src/core/codemirror/rtc/loro/awareness.ts +0 -531
  808. package/src/core/codemirror/rtc/loro/colors.ts +0 -38
  809. package/src/core/codemirror/rtc/loro/sync.ts +0 -168
  810. package/src/core/host/AGENTS.md +0 -11
  811. package/src/core/host/__tests__/events.test.ts +0 -46
  812. package/src/core/host/__tests__/fixtures.ts +0 -39
  813. package/src/core/host/__tests__/notebook-client.test.ts +0 -433
  814. package/src/core/host/__tests__/protocol.test.ts +0 -229
  815. package/src/core/host/__tests__/stream.test.ts +0 -209
  816. package/src/core/host/connection.ts +0 -81
  817. package/src/core/host/events.ts +0 -61
  818. package/src/core/host/notebook-client.ts +0 -290
  819. package/src/core/host/protocol.ts +0 -1948
  820. package/src/core/host/resources/resource.ts +0 -47
  821. package/src/core/host/stream.ts +0 -211
  822. package/src/core/rtc/state.ts +0 -34
  823. package/src/core/state/__tests__/jotai.test.ts +0 -25
  824. package/src/core/wasm/worker/message-buffer.ts +0 -33
  825. package/src/core/websocket/__tests__/createConnectionTransport.test.ts +0 -49
  826. package/src/core/websocket/__tests__/useNotebookClient.hook.test.tsx +0 -170
  827. package/src/core/websocket/state.ts +0 -7
  828. package/src/core/websocket/transports/__tests__/basic.test.ts +0 -275
  829. package/src/core/websocket/transports/__tests__/sse.test.ts +0 -335
  830. package/src/core/websocket/transports/__tests__/transport.test.ts +0 -308
  831. package/src/core/websocket/transports/__tests__/ws.test.ts +0 -125
  832. package/src/core/websocket/transports/basic.ts +0 -102
  833. package/src/core/websocket/transports/create.ts +0 -31
  834. package/src/core/websocket/transports/sse.ts +0 -308
  835. package/src/core/websocket/transports/transport.ts +0 -50
  836. package/src/core/websocket/transports/ws.ts +0 -98
  837. package/src/core/websocket/useNotebookClient.ts +0 -88
  838. package/src/utils/__tests__/id-tree.test.ts +0 -2145
  839. package/src/utils/id-tree.tsx +0 -1134
  840. /package/src/{core/attachments/toast.ts → components/editor/agent-toast.ts} +0 -0
  841. /package/src/core/{websocket → session}/connection-utils.ts +0 -0
@@ -0,0 +1,113 @@
1
+ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},c=(n,r,o)=>(o=n==null?{}:e(i(n)),s(r||!n||!n.__esModule||!a.call(n,`default`)?t(o,`default`,{value:n,enumerable:!0}):o,n)),l=(e=>typeof require<`u`?require:typeof Proxy<`u`?new Proxy(e,{get:(e,t)=>(typeof require<`u`?require:e)[t]}):e)(function(e){if(typeof require<`u`)return require.apply(this,arguments);throw Error('Calling `require` for "'+e+"\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.")});function u(e){return e}function d(e,t){let n=e.map(e=>`"${e}"`).join(`, `);return Error(`This RPC instance cannot ${t} because the transport did not provide one or more of these methods: ${n}`)}function f(e={}){let t={};function n(e){t=e}let r={};function i(e){r.unregisterHandler&&r.unregisterHandler(),r=e,r.registerHandler?.(ie)}let a;function o(e){if(typeof e==`function`){a=e;return}a=(t,n)=>{let r=e[t];if(r)return r(n);let i=e._;if(!i)throw Error(`The requested method has no handler: ${t}`);return i(t,n)}}let{maxRequestTime:s=1e3}=e;e.transport&&i(e.transport),e.requestHandler&&o(e.requestHandler),e._debugHooks&&n(e._debugHooks);let c=0;function l(){return c<=1e10?++c:c=0}let u=new Map,f=new Map;function p(e,...n){let i=n[0];return new Promise((n,a)=>{if(!r.send)throw d([`send`],`make requests`);let o=l(),c={type:`request`,id:o,method:e,params:i};u.set(o,{resolve:n,reject:a}),s!==1/0&&f.set(o,setTimeout(()=>{f.delete(o),a(Error(`RPC request timed out.`))},s)),t.onSend?.(c),r.send(c)})}let m=new Proxy(p,{get:(e,t,n)=>t in e?Reflect.get(e,t,n):e=>p(t,e)}),h=m;function ee(e,...n){let i=n[0];if(!r.send)throw d([`send`],`send messages`);let a={type:`message`,id:e,payload:i};t.onSend?.(a),r.send(a)}let g=new Proxy(ee,{get:(e,t,n)=>t in e?Reflect.get(e,t,n):e=>ee(t,e)}),te=g,_=new Map,ne=new Set;function re(e,t){if(!r.registerHandler)throw d([`registerHandler`],`register message listeners`);if(e===`*`){ne.add(t);return}_.has(e)||_.set(e,new Set),_.get(e)?.add(t)}function v(e,t){if(e===`*`){ne.delete(t);return}_.get(e)?.delete(t),_.get(e)?.size===0&&_.delete(e)}async function ie(e){if(t.onReceive?.(e),!(`type`in e))throw Error(`Message does not contain a type.`);if(e.type===`request`){if(!r.send||!a)throw d([`send`,`requestHandler`],`handle requests`);let{id:n,method:i,params:o}=e,s;try{s={type:`response`,id:n,success:!0,payload:await a(i,o)}}catch(e){if(!(e instanceof Error))throw e;s={type:`response`,id:n,success:!1,error:e.message}}t.onSend?.(s),r.send(s);return}if(e.type===`response`){let t=f.get(e.id);t!=null&&clearTimeout(t);let{resolve:n,reject:r}=u.get(e.id)??{};e.success?n?.(e.payload):r?.(Error(e.error));return}if(e.type===`message`){for(let t of ne)t(e.id,e.payload);let t=_.get(e.id);if(!t)return;for(let n of t)n(e.payload);return}throw Error(`Unexpected RPC message type: ${e.type}`)}return{setTransport:i,setRequestHandler:o,request:m,requestProxy:h,send:g,sendProxy:te,addMessageListener:re,removeMessageListener:v,proxy:{send:te,request:h},_setDebugHooks:n}}function p(e){return f(e)}const m=`[transport-id]`;function h(e,t){let{transportId:n}=t;return n==null?e:{[m]:n,data:e}}function ee(e,t){let{transportId:n,filter:r}=t,i=r?.();if(n!=null&&i!=null)throw Error("Cannot use both `transportId` and `filter` at the same time");let a=e;if(n){if(e[m]!==n)return[!0];a=e.data}return i===!1?[!0]:[!1,a]}function g(e,t={}){let{transportId:n,filter:r,remotePort:i}=t,a=e,o=i??e,s;return{send(e){o.postMessage(h(e,{transportId:n}))},registerHandler(e){s=t=>{let i=t.data,[a,o]=ee(i,{transportId:n,filter:()=>r?.(t)});a||e(o)},a.addEventListener(`message`,s)},unregisterHandler(){s&&a.removeEventListener(`message`,s)}}}function te(e){return g(self,e)}const _=/(^|\n)\s*(?:import\s+[^\n#]*\bduckdb\b|from\s+duckdb\b|[^\n#]*\bduckdb\s*\.)/;function ne(e,t){return e.includes(`mo.sql`)||_.test(e)||t?.has(`duckdb`)===!0}var re=Object.defineProperty,v=(e,t)=>re(e,`name`,{value:t,configurable:!0}),ie=(e=>typeof l<`u`?l:typeof Proxy<`u`?new Proxy(e,{get:(e,t)=>(typeof l<`u`?l:e)[t]}):e)(function(e){if(typeof l<`u`)return l.apply(this,arguments);throw Error(`Dynamic require of "`+e+`" is not supported`)}),ae=(()=>{for(var e=new Uint8Array(128),t=0;t<64;t++)e[t<26?t+65:t<52?t+71:t<62?t-4:t*4-205]=t;return t=>{for(var n=t.length,r=new Uint8Array((n-(t[n-1]==`=`)-(t[n-2]==`=`))*3/4|0),i=0,a=0;i<n;){var o=e[t.charCodeAt(i++)],s=e[t.charCodeAt(i++)],c=e[t.charCodeAt(i++)],l=e[t.charCodeAt(i++)];r[a++]=o<<2|s>>4,r[a++]=s<<4|c>>2,r[a++]=c<<6|l}return r}})();function oe(e){return!isNaN(parseFloat(e))&&isFinite(e)}v(oe,`_isNumber`);function y(e){return e.charAt(0).toUpperCase()+e.substring(1)}v(y,`_capitalize`);function se(e){return function(){return this[e]}}v(se,`_getter`);var ce=[`isConstructor`,`isEval`,`isNative`,`isToplevel`],le=[`columnNumber`,`lineNumber`],ue=[`fileName`,`functionName`,`source`],de=ce.concat(le,ue,[`args`],[`evalOrigin`]);function b(e){if(e)for(var t=0;t<de.length;t++)e[de[t]]!==void 0&&this[`set`+y(de[t])](e[de[t]])}for(v(b,`StackFrame`),b.prototype={getArgs:v(function(){return this.args},`getArgs`),setArgs:v(function(e){if(Object.prototype.toString.call(e)!==`[object Array]`)throw TypeError(`Args must be an Array`);this.args=e},`setArgs`),getEvalOrigin:v(function(){return this.evalOrigin},`getEvalOrigin`),setEvalOrigin:v(function(e){if(e instanceof b)this.evalOrigin=e;else if(e instanceof Object)this.evalOrigin=new b(e);else throw TypeError(`Eval Origin must be an Object or StackFrame`)},`setEvalOrigin`),toString:v(function(){var e=this.getFileName()||``,t=this.getLineNumber()||``,n=this.getColumnNumber()||``,r=this.getFunctionName()||``;return this.getIsEval()?e?`[eval] (`+e+`:`+t+`:`+n+`)`:`[eval]:`+t+`:`+n:r?r+` (`+e+`:`+t+`:`+n+`)`:e+`:`+t+`:`+n},`toString`)},b.fromString=v(function(e){var t=e.indexOf(`(`),n=e.lastIndexOf(`)`),r=e.substring(0,t),i=e.substring(t+1,n).split(`,`),a=e.substring(n+1);if(a.indexOf(`@`)===0)var o=/@(.+?)(?::(\d+))?(?::(\d+))?$/.exec(a,``),s=o[1],c=o[2],l=o[3];return new b({functionName:r,args:i||void 0,fileName:s,lineNumber:c||void 0,columnNumber:l||void 0})},`StackFrame$$fromString`),x=0;x<ce.length;x++)b.prototype[`get`+y(ce[x])]=se(ce[x]),b.prototype[`set`+y(ce[x])]=function(e){return function(t){this[e]=!!t}}(ce[x]);var x;for(fe=0;fe<le.length;fe++)b.prototype[`get`+y(le[fe])]=se(le[fe]),b.prototype[`set`+y(le[fe])]=function(e){return function(t){if(!oe(t))throw TypeError(e+` must be a Number`);this[e]=Number(t)}}(le[fe]);var fe;for(pe=0;pe<ue.length;pe++)b.prototype[`get`+y(ue[pe])]=se(ue[pe]),b.prototype[`set`+y(ue[pe])]=function(e){return function(t){this[e]=String(t)}}(ue[pe]);var pe,me=b;function he(){var e=/^\s*at .*(\S+:\d+|\(native\))/m,t=/^(eval@)?(\[native code])?$/;return{parse:v(function(t){if(t.stack&&t.stack.match(e))return this.parseV8OrIE(t);if(t.stack)return this.parseFFOrSafari(t);throw Error(`Cannot parse given Error object`)},`ErrorStackParser$$parse`),extractLocation:v(function(e){if(e.indexOf(`:`)===-1)return[e];var t=/(.+?)(?::(\d+))?(?::(\d+))?$/.exec(e.replace(/[()]/g,``));return[t[1],t[2]||void 0,t[3]||void 0]},`ErrorStackParser$$extractLocation`),parseV8OrIE:v(function(t){return t.stack.split(`
2
+ `).filter(function(t){return!!t.match(e)},this).map(function(e){e.indexOf(`(eval `)>-1&&(e=e.replace(/eval code/g,`eval`).replace(/(\(eval at [^()]*)|(,.*$)/g,``));var t=e.replace(/^\s+/,``).replace(/\(eval code/g,`(`).replace(/^.*?\s+/,``),n=t.match(/ (\(.+\)$)/);t=n?t.replace(n[0],``):t;var r=this.extractLocation(n?n[1]:t);return new me({functionName:n&&t||void 0,fileName:[`eval`,`<anonymous>`].indexOf(r[0])>-1?void 0:r[0],lineNumber:r[1],columnNumber:r[2],source:e})},this)},`ErrorStackParser$$parseV8OrIE`),parseFFOrSafari:v(function(e){return e.stack.split(`
3
+ `).filter(function(e){return!e.match(t)},this).map(function(e){if(e.indexOf(` > eval`)>-1&&(e=e.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g,`:$1`)),e.indexOf(`@`)===-1&&e.indexOf(`:`)===-1)return new me({functionName:e});var t=/((.*".+"[^@]*)?[^@]*)(?:@)/,n=e.match(t),r=n&&n[1]?n[1]:void 0,i=this.extractLocation(e.replace(t,``));return new me({functionName:r,fileName:i[0],lineNumber:i[1],columnNumber:i[2],source:e})},this)},`ErrorStackParser$$parseFFOrSafari`)}}v(he,`ErrorStackParser`);var ge=new he;function _e(){return typeof API<`u`&&API!==globalThis.API?API.runtimeEnv:ve({IN_BUN:typeof Bun<`u`,IN_DENO:typeof Deno<`u`,IN_NODE:typeof process==`object`&&typeof process.versions==`object`&&typeof process.versions.node==`string`&&!process.browser,IN_SAFARI:typeof navigator==`object`&&typeof navigator.userAgent==`string`&&navigator.userAgent.indexOf(`Chrome`)===-1&&navigator.userAgent.indexOf(`Safari`)>-1,IN_SHELL:typeof read==`function`&&typeof load==`function`,IN_WORKERD:typeof navigator==`object`&&navigator.userAgent?.includes(`Cloudflare-Workers`)})}v(_e,`getGlobalRuntimeEnv`);var S=_e();function ve(e){let t=e.IN_NODE&&typeof module<`u`&&module.exports&&typeof ie==`function`&&typeof __dirname==`string`,n=e.IN_NODE&&!t,r=!e.IN_NODE&&!e.IN_DENO&&!e.IN_BUN,i=r&&typeof window<`u`&&typeof window.document<`u`&&typeof document.createElement==`function`&&`sessionStorage`in window&&typeof globalThis.importScripts!=`function`,a=r&&typeof globalThis.WorkerGlobalScope<`u`&&typeof globalThis.self<`u`&&globalThis.self instanceof globalThis.WorkerGlobalScope;if(a&&ye())throw Error(`Classic web workers are not supported`);let o={...e,IN_BROWSER:r,IN_BROWSER_MAIN_THREAD:i,IN_BROWSER_WEB_WORKER:a,IN_NODE_COMMONJS:t,IN_NODE_ESM:n};if(!(o.IN_BROWSER_MAIN_THREAD||o.IN_BROWSER_WEB_WORKER||o.IN_NODE||o.IN_SHELL||o.IN_WORKERD))throw Error(`Cannot determine runtime environment: ${JSON.stringify(o)}`);return o}v(ve,`calculateDerivedFlags`);function ye(){try{return globalThis.importScripts(`data:text/javascript,`),!0}catch{return!1}}v(ye,`isClassicWorker`);var be,xe,Se,Ce;async function we(){if(!S.IN_NODE||(be=(await import(`./__vite-browser-external-BKBpimif.js`).then(e=>c(e.default,1))).default,Se=await import(`./__vite-browser-external-BKBpimif.js`).then(e=>c(e.default,1)),Ce=await import(`./__vite-browser-external-BKBpimif.js`).then(e=>c(e.default,1)),(await import(`./__vite-browser-external-BKBpimif.js`).then(e=>c(e.default,1))).default,xe=await import(`./__vite-browser-external-BKBpimif.js`).then(e=>c(e.default,1)),Oe=xe.sep,typeof ie<`u`))return;let e={fs:Se,crypto:await import(`./__vite-browser-external-BKBpimif.js`).then(e=>c(e.default,1)),ws:await import(`./__vite-browser-external-BKBpimif.js`).then(e=>c(e.default,1)),child_process:await import(`./__vite-browser-external-BKBpimif.js`).then(e=>c(e.default,1))};globalThis.require=function(t){return e[t]}}v(we,`initNodeModules`);function Te(e,t){return xe.resolve(t||`.`,e)}v(Te,`node_resolvePath`);function Ee(e,t){return t===void 0&&(t=location),new URL(e,t).toString()}v(Ee,`browser_resolvePath`);var De=S.IN_NODE?Te:S.IN_SHELL?v(e=>e,`resolvePath`):Ee,Oe;S.IN_NODE||(Oe=`/`);function ke(e,t){return e.startsWith(`file://`)&&(e=e.slice(7)),e.includes(`://`)?{response:fetch(e)}:{binary:Ce.readFile(e).then(e=>new Uint8Array(e.buffer,e.byteOffset,e.byteLength))}}v(ke,`node_getBinaryResponse`);function Ae(e,t){if(e.startsWith(`file://`)&&(e=e.slice(7)),e.includes(`://`))throw Error(`Shell cannot fetch urls`);return{binary:Promise.resolve(new Uint8Array(readbuffer(e)))}}v(Ae,`shell_getBinaryResponse`);function je(e,t){let n=new URL(e,location);return{response:fetch(n,t?{integrity:t}:{})}}v(je,`browser_getBinaryResponse`);var Me=S.IN_NODE?ke:S.IN_SHELL?Ae:je;async function Ne(e,t){let{response:n,binary:r}=Me(e,t);if(r)return r;let i=await n;if(!i.ok)throw Error(`Failed to load '${e}': request failed.`);return new Uint8Array(await i.arrayBuffer())}v(Ne,`loadBinaryFile`);var Pe=S.IN_NODE?Fe:v(async e=>await import(e),`loadScript`);async function Fe(e){return e.startsWith(`file://`)&&(e=e.slice(7)),e.includes(`://`)?await import(e):await import(be.pathToFileURL(e).href)}v(Fe,`nodeLoadScript`);async function Ie(e){if(S.IN_NODE){await we();let t=await Ce.readFile(e,{encoding:`utf8`});return JSON.parse(t)}if(S.IN_SHELL){let t=read(e);return JSON.parse(t)}return await(await fetch(e)).json()}v(Ie,`loadLockFile`);async function Le(){if(S.IN_NODE_COMMONJS)return __dirname;let e;try{throw Error()}catch(t){e=t}let t=ge.parse(e)[0].fileName;if(S.IN_NODE&&!t.startsWith(`file://`)&&(t=`file://${t}`),S.IN_NODE_ESM){let e=await import(`./__vite-browser-external-BKBpimif.js`).then(e=>c(e.default,1));return(await import(`./__vite-browser-external-BKBpimif.js`).then(e=>c(e.default,1))).fileURLToPath(e.dirname(t))}let n=t.lastIndexOf(Oe);if(n===-1)throw Error(`Could not extract indexURL path from pyodide module location. Please pass the indexURL explicitly to loadPyodide.`);return t.slice(0,n)}v(Le,`calculateDirname`);function Re(e){return e.substring(0,e.lastIndexOf(`/`)+1)||globalThis.location?.toString()||`.`}v(Re,`calculateInstallBaseUrl`);function ze(e){let t=e.FS,n=e.FS.filesystems.MEMFS,r=e.PATH,i={DIR_MODE:16895,FILE_MODE:33279,mount:v(function(e){if(!e.opts.fileSystemHandle)throw Error(`opts.fileSystemHandle is required`);return n.mount.apply(null,arguments)},`mount`),syncfs:v(async(e,t,n)=>{try{let r=i.getLocalSet(e),a=await i.getRemoteSet(e),o=t?a:r,s=t?r:a;await i.reconcile(e,o,s),n(null)}catch(e){n(e)}},`syncfs`),getLocalSet:v(e=>{let n=Object.create(null);function i(e){return e!==`.`&&e!==`..`}v(i,`isRealDir`);function a(e){return t=>r.join2(e,t)}v(a,`toAbsolute`);let o=t.readdir(e.mountpoint).filter(i).map(a(e.mountpoint));for(;o.length;){let e=o.pop(),r=t.stat(e);t.isDir(r.mode)&&o.push.apply(o,t.readdir(e).filter(i).map(a(e))),n[e]={timestamp:r.mtime,mode:r.mode}}return{type:`local`,entries:n}},`getLocalSet`),getRemoteSet:v(async e=>{let t=Object.create(null),n=await Be(e.opts.fileSystemHandle);for(let[a,o]of n)a!==`.`&&(t[r.join2(e.mountpoint,a)]={timestamp:o.kind===`file`?new Date((await o.getFile()).lastModified):new Date,mode:o.kind===`file`?i.FILE_MODE:i.DIR_MODE});return{type:`remote`,entries:t,handles:n}},`getRemoteSet`),loadLocalEntry:v(e=>{let r=t.lookupPath(e,{}).node,i=t.stat(e);if(t.isDir(i.mode))return{timestamp:i.mtime,mode:i.mode};if(t.isFile(i.mode))return r.contents=n.getFileDataAsTypedArray(r),{timestamp:i.mtime,mode:i.mode,contents:r.contents};throw Error(`node type not supported`)},`loadLocalEntry`),storeLocalEntry:v((e,n)=>{if(t.isDir(n.mode))t.mkdirTree(e,n.mode);else if(t.isFile(n.mode))t.writeFile(e,n.contents,{canOwn:!0});else throw Error(`node type not supported`);t.chmod(e,n.mode),t.utime(e,n.timestamp,n.timestamp)},`storeLocalEntry`),removeLocalEntry:v(e=>{var n=t.stat(e);t.isDir(n.mode)?t.rmdir(e):t.isFile(n.mode)&&t.unlink(e)},`removeLocalEntry`),loadRemoteEntry:v(async e=>{if(e.kind===`file`){let t=await e.getFile();return{contents:new Uint8Array(await t.arrayBuffer()),mode:i.FILE_MODE,timestamp:new Date(t.lastModified)}}if(e.kind===`directory`)return{mode:i.DIR_MODE,timestamp:new Date};throw Error(`unknown kind: `+e.kind)},`loadRemoteEntry`),storeRemoteEntry:v(async(e,n,i)=>{let a=e.get(r.dirname(n)),o=t.isFile(i.mode)?await a.getFileHandle(r.basename(n),{create:!0}):await a.getDirectoryHandle(r.basename(n),{create:!0});if(o.kind===`file`){let e=await o.createWritable();await e.write(i.contents),await e.close()}e.set(n,o)},`storeRemoteEntry`),removeRemoteEntry:v(async(e,t)=>{await e.get(r.dirname(t)).removeEntry(r.basename(t)),e.delete(t)},`removeRemoteEntry`),reconcile:v(async(e,n,a)=>{let o=0,s=[];Object.keys(n.entries).forEach(function(e){let r=n.entries[e],i=a.entries[e];(!i||t.isFile(r.mode)&&r.timestamp.getTime()>i.timestamp.getTime())&&(s.push(e),o++)}),s.sort();let c=[];if(Object.keys(a.entries).forEach(function(e){n.entries[e]||(c.push(e),o++)}),c.sort().reverse(),!o)return;let l=n.type===`remote`?n.handles:a.handles;for(let t of s){let n=r.normalize(t.replace(e.mountpoint,`/`)).substring(1);if(a.type===`local`){let e=l.get(n),r=await i.loadRemoteEntry(e);i.storeLocalEntry(t,r)}else{let e=i.loadLocalEntry(t);await i.storeRemoteEntry(l,n,e)}}for(let t of c)if(a.type===`local`)i.removeLocalEntry(t);else{let n=r.normalize(t.replace(e.mountpoint,`/`)).substring(1);await i.removeRemoteEntry(l,n)}},`reconcile`)};e.FS.filesystems.NATIVEFS_ASYNC=i}v(ze,`initializeNativeFS`);var Be=v(async e=>{let t=[];async function n(e){for await(let r of e.values())t.push(r),r.kind===`directory`&&await n(r)}v(n,`collect`),await n(e);let r=new Map;r.set(`.`,e);for(let n of t){let t=(await e.resolve(n)).join(`/`);r.set(t,n)}return r},`getFsHandles`),Ve=ae(`AGFzbQEAAAABDANfAGAAAW9gAW8BfwMDAgECBygCE0pzdl9HZXRFcnJvcl9pbXBvcnQAAA5Kc3ZFcnJvcl9DaGVjawABChMCBwD7AQD7GwsJACAA+xr7FAAL`),He=async function(){if(!(globalThis.navigator&&(/iPad|iPhone|iPod/.test(navigator.userAgent)||navigator.platform===`MacIntel`&&typeof navigator.maxTouchPoints<`u`&&navigator.maxTouchPoints>1)))try{let e=await WebAssembly.compile(Ve);return await WebAssembly.instantiate(e)}catch(e){if(e instanceof WebAssembly.CompileError)return;throw e}}();async function Ue(){let e=await He;if(e)return e.exports;let t=Symbol(`error marker`);return{Jsv_GetError_import:v(()=>t,`Jsv_GetError_import`),JsvError_Check:v(e=>e===t,`JsvError_Check`)}}v(Ue,`getJsvErrorImport`);function We(e){let t={config:e,runtimeEnv:S},n={noImageDecoding:!0,noAudioDecoding:!0,noWasmDecoding:!1,preRun:Xe(e),print:e.stdout,printErr:e.stderr,onExit(e){n.exitCode=e},thisProgram:e._sysExecutable,arguments:e.args,API:t,locateFile:v(t=>e.indexURL+t,`locateFile`),instantiateWasm:Ze(e.indexURL)};return n}v(We,`createSettings`);function Ge(e){return function(t){try{t.FS.mkdirTree(e)}catch(t){console.error(`Error occurred while making a home directory '${e}':`),console.error(t),console.error(`Using '/' for a home directory instead`),e=`/`}t.FS.chdir(e)}}v(Ge,`createHomeDirectory`);function Ke(e){return function(t){Object.assign(t.ENV,e)}}v(Ke,`setEnvironment`);function qe(e){return e?[async t=>{t.addRunDependency(`fsInitHook`);try{await e(t.FS,{sitePackages:t.API.sitePackages})}finally{t.removeRunDependency(`fsInitHook`)}}]:[]}v(qe,`callFsInitHook`);function Je(e){let t=e.HEAPU32[e._Py_Version>>>2];return[t>>>24&255,t>>>16&255,t>>>8&255]}v(Je,`computeVersionTuple`);function Ye(e){let t=Ne(e);return async e=>{e.API.pyVersionTuple=Je(e);let[n,r]=e.API.pyVersionTuple;e.FS.mkdirTree(`/lib`),e.API.sitePackages=`/lib/python${n}.${r}/site-packages`,e.FS.mkdirTree(e.API.sitePackages),e.addRunDependency(`install-stdlib`);try{let i=await t;e.FS.writeFile(`/lib/python${n}${r}.zip`,i)}catch(e){console.error(`Error occurred while installing the standard library:`),console.error(e)}finally{e.removeRunDependency(`install-stdlib`)}}}v(Ye,`installStdlib`);function Xe(e){let t;return t=e.stdLibURL==null?e.indexURL+`python_stdlib.zip`:e.stdLibURL,[Ye(t),Ge(e.env.HOME),Ke(e.env),ze,...qe(e.fsInit)]}v(Xe,`getFileSystemInitializationFuncs`);function Ze(e){if(typeof WasmOffsetConverter<`u`)return;let{binary:t,response:n}=Me(e+`pyodide.asm.wasm`),r=Ue();return function(e,i){return async function(){let{Jsv_GetError_import:a,JsvError_Check:o}=await r;e.env.Jsv_GetError_import=a,e.env.JsvError_Check=o;try{let r;r=n?await WebAssembly.instantiateStreaming(n,e):await WebAssembly.instantiate(await t,e);let{instance:a,module:o}=r;i(a,o)}catch(e){console.warn(`wasm instantiation failed!`),console.warn(e)}}(),{}}}v(Ze,`getInstantiateWasmFunc`);var Qe=`314.0.0`;function $e(e){return e===void 0||e.endsWith(`/`)?e:e+`/`}v($e,`withTrailingSlash`);var et=Qe;async function tt(e={}){if(await we(),e.lockFileContents&&e.lockFileURL)throw Error(`Can't pass both lockFileContents and lockFileURL`);let t=e.indexURL||await Le();if(t=$e(De(t)),e.packageBaseUrl=$e(e.packageBaseUrl),e.cdnUrl=$e(e.packageBaseUrl??`https://cdn.jsdelivr.net/pyodide/v314.0.0/full/`),!e.lockFileContents){let n=e.lockFileURL??t+`pyodide-lock.json`;e.lockFileContents=Ie(n),e.packageBaseUrl??=Re(n)}e.indexURL=t,e.packageCacheDir&&=$e(De(e.packageCacheDir));let n={jsglobals:globalThis,stdin:globalThis.prompt?()=>globalThis.prompt():void 0,args:[],env:{},packages:[],packageCacheDir:e.packageBaseUrl,enableRunUntilComplete:!0,checkAPIVersion:!0,BUILD_ID:`2ff9f3fe6c88624a7e283d5651688da7f6169834ab51663b07be67c0bd43e53e`},r=Object.assign(n,e);return r.env.HOME??=`/home/pyodide`,r.env.PYTHONINSPECT??=`1`,r}v(tt,`initializeConfiguration`);function nt(e){let t=We(e),n=t.API;return n.lockFilePromise=Promise.resolve(e.lockFileContents),t}v(nt,`createEmscriptenSettings`);async function rt(e){return e.createPyodideModule?e.createPyodideModule:(await Pe(`${e.indexURL}pyodide.asm.mjs`)).default}v(rt,`loadWasmScript`);async function it(e,t){if(!e._loadSnapshot)return;let n=await e._loadSnapshot,r=ArrayBuffer.isView(n)?n:new Uint8Array(n);return t.noInitialRun=!0,t.INITIAL_MEMORY=r.length,r}v(it,`prepareSnapshot`);async function at(e,t){let n=await e(t);if(t.exitCode!==void 0)throw new n.ExitStatus(t.exitCode);return n}v(at,`instantiatePyodideModule`);function ot(e,t){let n=e.API;if(t.pyproxyToStringRepr&&n.setPyProxyToStringMethod(!0),t.convertNullToNone&&n.setCompatNullToNone(!0),t.toJsLiteralMap&&n.setCompatToJsLiteralMap(!0),n.version!==`314.0.0`&&t.checkAPIVersion)throw Error(`Pyodide version does not match: '${et}' <==> '${n.version}'. If you updated the Pyodide version, make sure you also updated the 'indexURL' parameter passed to loadPyodide.`);e.locateFile=e=>{throw e.endsWith(`.so`)?Error(`Failed to find dynamic library "${e}"`):Error(`Unexpected call to locateFile("${e}")`)}}v(ot,`configureAPI`);function st(e,t,n){let r=e.API,i;return t&&(i=r.restoreSnapshot(t)),r.finalizeBootstrap(i,n._snapshotDeserializer)}v(st,`bootstrapPyodide`);async function ct(e,t){let n=e._api;return n.sys.path.insert(0,``),n._pyodide.set_excepthook(),await n.packageIndexReady,n.initializeStreams(t.stdin,t.stdout,t.stderr),e}v(ct,`finalizeSetup`);async function lt(e={}){let t=await tt(e),n=nt(t),r=await rt(t),i=await it(t,n),a=await at(r,n);return ot(a,t),await ct(st(a,i,t),t)}v(lt,`loadPyodide`);function ut(e){return e.includes(`dev`),`v${et}`}const dt={NOOP:()=>{},ASYNC_NOOP:async()=>{},THROW:()=>{throw Error(`Should not be called`)},asUpdater:e=>typeof e==`function`?e:()=>e,identity:e=>e},ft=(e,t)=>{let n=`[${e}]`;return{debug:(...e)=>console.debug(n,...e),log:(...e)=>t.log(n,...e),warn:(...e)=>t.warn(n,...e),error:(...e)=>t.error(n,...e),trace:(...e)=>t.trace(n,...e),get:n=>ft(`${e}:${n}`,t),disabled:(e=!0)=>e?mt:t}},pt={debug:(...e)=>{console.debug(...e)},log:(...e)=>{console.log(...e)},warn:(...e)=>{console.warn(...e)},error:(...e)=>{console.error(...e)},trace:(...e)=>{console.trace(...e)},get:e=>ft(`marimo:${e}`,pt),disabled:(e=!0)=>e?mt:pt},mt={debug:()=>dt.NOOP,log:()=>dt.NOOP,warn:()=>dt.NOOP,error:()=>dt.NOOP,trace:()=>dt.NOOP,get:()=>mt,disabled:()=>mt};function ht(){return typeof window<`u`&&window.Logger||pt}const C=ht();function gt(e){let t=Object.values(e).filter(e=>typeof e==`number`);return Object.entries(e).filter(([e,n])=>t.indexOf(+e)===-1).map(([e,t])=>t)}function _t(e,t=`|`){return e.map(e=>Lt(e)).join(t)}function vt(e,t){return typeof t==`bigint`?t.toString():t}var yt=class{constructor(e){this._getter=e,this._value=void 0}get value(){let e=this._getter;return e!==void 0&&(this._value=e(),this._getter=void 0),this._value}};function bt(e){return new yt(e)}function xt(e){return e==null}function St(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}function Ct(e,t){let n=e/t,r=Math.round(n),i=4*2**-52*Math.max(Math.abs(n),1);return Math.abs(n-r)<i?0:n-r}function w(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function wt(e){let t=Object.getOwnPropertyDescriptor(e,`shape`);return t?.get?t.get.raw:t?.value}function T(e){return wt(e._zod.def)??e._zod.def.shape}function Tt(e,t,n){Object.defineProperty(e,t,{get(){let e=n();return w(this,t,e),e},enumerable:!0,configurable:!0})}function Et(e,t,n){t in e?w(e,t,n):e[t]=n}function E(e,t,n,r){let i=T(t);for(let a of n){let n=Object.getOwnPropertyDescriptor(i,a);n.enumerable&&(n.get?Tt(e,a,()=>{let e=t._zod.def.shape[a];return r?r(e,a):e}):Et(e,a,r?r(n.value,a):n.value))}}function Dt(e,t){for(let n of Reflect.ownKeys(t)){let r=Object.getOwnPropertyDescriptor(t,n);r.enumerable&&(r.get?Tt(e,n,()=>t[n]):Et(e,n,r.value))}}function D(...e){let t={};for(let n of e){let e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}function Ot(e){return JSON.stringify(e)}function kt(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,``).replace(/[\s_-]+/g,`-`).replace(/^-+|-+$/g,``)}const At=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function jt(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}const Mt=bt(()=>{if(I.jitless||typeof navigator<`u`&&navigator?.userAgent?.includes(`Cloudflare`))return!1;try{return Function(``),!0}catch{return!1}});function Nt(e){if(jt(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return jt(n)!==!1&&Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)!==!1}function Pt(e){return Nt(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}const Ft=new Set([`string`,`number`,`symbol`]);function It(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function O(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function k(e){let t=e;if(!t)return{};if(typeof t==`string`)return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error==`string`?{...t,error:()=>t.error}:t}function Lt(e){return typeof e==`bigint`?e.toString()+`n`:typeof e==`string`?`"${e}"`:`${e}`}function Rt(e){return Object.keys(e).filter(t=>e[t]._zod.optin!==void 0&&e[t]._zod.optout===`optional`)}const zt={safeint:[-(2**53-1),2**53-1],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},Bt={int64:[BigInt(`-9223372036854775808`),BigInt(`9223372036854775807`)],uint64:[BigInt(0),BigInt(`18446744073709551615`)]};function Vt(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.pick() cannot be used on object schemas containing refinements`);let i={};return E(i,e,Ht(e,t)),O(e,D(n,{shape:i,checks:[]}))}function Ht(e,t){let n=T(e),r=[];for(let e of Reflect.ownKeys(t)){if(!Object.getOwnPropertyDescriptor(n,e)?.enumerable)throw Error(`Unrecognized key: "${String(e)}"`);t[e]&&r.push(e)}return r}function Ut(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.omit() cannot be used on object schemas containing refinements`);let i=new Set(Ht(e,t)),a={};return E(a,e,Reflect.ownKeys(T(e)).filter(e=>!i.has(e))),O(e,D(n,{shape:a,checks:[]}))}function Wt(e,t){if(!Nt(t))throw Error(`Invalid input to extend: expected a plain object`);let n=e._zod.def.checks;if(n&&n.length>0){let n=T(e);for(let e of Reflect.ownKeys(t))if(Object.getOwnPropertyDescriptor(n,e)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return O(e,D(e._zod.def,{shape:Gt(e,t)}))}function Gt(e,t){let n={};return E(n,e,Reflect.ownKeys(T(e))),Dt(n,t),n}function Kt(e,t){if(!Nt(t))throw Error(`Invalid input to safeExtend: expected a plain object`);return O(e,D(e._zod.def,{shape:Gt(e,t)}))}function qt(e,t){if(!t?._zod?.def)throw Error("Invalid input to merge: expected an object schema. To merge a plain shape, use `.extend()`.");if(e._zod.def.checks?.length)throw Error(`.merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.`);let n={};return E(n,e,Reflect.ownKeys(T(e))),E(n,t,Reflect.ownKeys(T(t))),O(e,D(e._zod.def,{shape:n,get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]}))}function Jt(e,t,n,r=`partial`){let i=t._zod.def.checks;if(i&&i.length>0)throw Error(`.${r}() cannot be used on object schemas containing refinements`);let a=n?new Set(Ht(t,n)):void 0,o={};return E(o,t,Reflect.ownKeys(T(t)),e&&((t,n)=>a&&!a.has(n)?t:new e({type:`optional`,innerType:t}))),O(t,D(t._zod.def,{shape:o,checks:[]}))}function Yt(e,t,n){let r=n?new Set(Ht(t,n)):void 0,i={};return E(i,t,Reflect.ownKeys(T(t)),(t,n)=>r&&!r.has(n)?t:new e({type:`nonoptional`,innerType:t})),O(t,D(t._zod.def,{shape:i}))}function A(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function Xt(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue===!1)return!0;return!1}function Zt(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function Qt(e){return typeof e==`string`?e:e?.message}function $t(e,t,n){var r;for(let i=t;i<e.length;i++)(r=e[i]).schema??(r.schema=n)}function j(e,t,n){var r;let i=e.inst?._zod?.traits;i?.has(`$ZodType`)&&(i.has(`$ZodCheck`)?(r=e).schema??(r.schema=e.inst):e.schema=e.inst);let a=e.schema===e.inst?void 0:e.schema?._zod.def?.error,o=e.message?e.message:Qt(e.inst?._zod.def?.error?.(e))??Qt(a?.(e))??Qt(t?.error?.(e))??Qt(n.customError?.(e))??Qt(n.localeError?.(e))??`Invalid input`,s={};for(let t of Object.keys(e))t!==`inst`&&t!==`schema`&&t!==`continue`&&t!==`input`&&t!==`__proto__`&&(s[t]=e[t]);return s.path??=[],s.message=o,t?.reportInput&&(s.input=e.input),s}const en=/[\uD800-\uDBFF]/;function tn(e){let t=e.length;if(!en.test(e))return t;let n=t;for(let r=0;r<t-1;r++)(e.charCodeAt(r)&64512)==55296&&(e.charCodeAt(r+1)&64512)==56320&&(n--,r++);return n}function nn(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function rn(e){let t=typeof e;switch(t){case`number`:return Number.isNaN(e)?`nan`:`number`;case`object`:{if(e===null)return`null`;if(Array.isArray(e))return`array`;let t=e;if(t&&Object.getPrototypeOf(t)!==Object.prototype&&`constructor`in t&&t.constructor)return t.constructor.name}}return t}function an(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}function on(e,t){for(let n in t){let r=Object.getOwnPropertyDescriptor(t,n);r.get?Object.defineProperty(e,n,{...r,enumerable:!1}):ln(e,n,r.value)}}function M(e,t,n,r=!0){return Object.defineProperty(e,t,{configurable:!0,writable:!0,enumerable:r,value:n}),n}function sn(e,t,n){return M(e,t,n,!1)}function cn(e,t){for(let n in e){let r=e[n];Object.defineProperty(t,n,{configurable:!0,enumerable:!0,get(){return M(this,n,r(this))},set(e){M(this,n,e)}})}return t}function ln(e,t,n){Object.defineProperty(e,t,{configurable:!0,get(){return this==null?n:M(this,t,n.bind(this))},set(e){M(this,t,e)}})}function un(e,t){let n=Object.getPrototypeOf(e);return t in n?void 0:n}let dn,fn=!1;const pn={configurable:!0,get(){fn=!0}};function N(e,t,n){let r=Object.getPrototypeOf(e._zod);if(t in r&&dn!==e._zod){dn=void 0;return}dn=e._zod,Object.defineProperty(r,t,{configurable:!0,get(){Object.defineProperty(this,t,pn);let e=fn;fn=!1;try{let r=n(this);return fn?delete this[t]:Object.defineProperty(this,t,{configurable:!0,writable:!0,value:r}),fn||=e,r}catch(n){throw delete this[t],fn||=e,n}},set(e){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:e})}})}function mn(e,t,n,r){let i=un(e,t);i&&Object.defineProperty(i,t,{configurable:!0,get(){let e={configurable:!0,writable:!0,enumerable:r,value:void 0};return Object.defineProperty(this,t,e),e.value=n(this),Object.defineProperty(this,t,e),e.value},set(e){Object.defineProperty(this,t,{configurable:!0,writable:!0,enumerable:r,value:e})}})}function hn(e){let t=()=>e;return t[`~constantCatch`]=!0,t}var gn;const _n={value:void 0,enumerable:!1};let vn=`captureStackTrace`in Error?Error:null;function yn(e){let t=vn;if(t){let n=t.stackTraceLimit;if(typeof n==`number`){try{t.stackTraceLimit=0}catch{return vn=null,new e}try{return new e}finally{t.stackTraceLimit=n}}}return new e}function P(e,t,n,r){let i={};function a(e){this.def=e,this.constr=d,this.traits=new Set}a.prototype=i;let o=n,s=o&&new WeakSet;function c(n,r){if(!n._zod){_n.value=new a(r);try{Object.defineProperty(n,"_zod",_n)}finally{_n.value=void 0}}else if(n._zod.traits.has(e))return;if(n._zod.traits.add(e),t(n,r),s){let e=Object.getPrototypeOf(n),t=n._zod.constr.prototype,r=e;for(;r&&r!==t;)r=Object.getPrototypeOf(r);let i=r??e;s.has(i)||(s.add(i),on(i,o))}let i=d.prototype;for(let e in i)Object.prototype.hasOwnProperty.call(i,e)&&(e in n||(n[e]=i[e].bind(n)))}let l=r?.Parent??Object;class u extends l{}Object.defineProperty(u,"name",{value:e});function d(e){let t=r?.Parent?yn(u):this;c(t,e);let n=t._zod.deferred;if(n){for(let e of n)e();t._zod.deferred=void 0}let i=globalThis.__zod_globalConfig?.postProcessor;return i&&i(t),t}return Object.defineProperty(d,"init",{value:c}),Object.defineProperty(d,Symbol.hasInstance,{value:t=>r?.Parent&&t instanceof r.Parent?!0:t?._zod?.traits?.has(e)}),Object.defineProperty(d,"name",{value:e}),d}var F=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},bn=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};(gn=globalThis).__zod_globalConfig??(gn.__zod_globalConfig={});const I=globalThis.__zod_globalConfig;function L(e){return e&&Object.assign(I,e),I}function xn(){let e=this._zod;return e.message??=JSON.stringify(e.def,vt,2),e.message}function Sn(e){this._zod.message=e}const Cn={get:xn,set:Sn,enumerable:!0,configurable:!0},wn={value:void 0,enumerable:!1},Tn=new WeakSet([Object.prototype,Error.prototype]),En=(e,t)=>{e.name=`$ZodError`,wn.value=t,Object.defineProperty(e,"issues",wn),wn.value=void 0,Object.defineProperty(e,"message",Cn);let n=Object.getPrototypeOf(e);Tn.has(n)||(Tn.add(n),Object.defineProperty(n,"toString",{configurable:!0,enumerable:!1,get(){let e=()=>this.message;return Object.defineProperty(this,"toString",{value:e,configurable:!0,writable:!0}),e},set(e){Object.defineProperty(this,"toString",{value:e,configurable:!0,writable:!0})}}))},Dn=P(`$ZodError`,En);P(`$ZodError`,En,void 0,{Parent:Error});function On(e,t,n){return Object.prototype.hasOwnProperty.call(e,t)||(t===`__proto__`?Object.defineProperty(e,t,{value:n(),writable:!0,enumerable:!0,configurable:!0}):e[t]=n()),e[t]}function kn(e,t=e=>e.message){let n={},r=[];for(let i of e.issues)i.path.length>0?On(n,i.path[0],()=>[]).push(t(i)):r.push(t(i));return{formErrors:r,fieldErrors:n}}function An(e,t=e=>e.message){let n={_errors:[]},r=(e,i=[])=>{for(let a of e.issues)if(a.code===`invalid_union`&&a.errors.length)a.errors.map(e=>r({issues:e},[...i,...a.path]));else if(a.code===`invalid_key`)r({issues:a.issues},[...i,...a.path]);else if(a.code===`invalid_element`)r({issues:a.issues},[...i,...a.path]);else{let e=[...i,...a.path];if(e.length===0)n._errors.push(t(a));else{let r=n,i=0;for(;i<e.length;){let n=e[i],o=i===e.length-1;if(n===`_errors`){o&&r._errors.push(t(a)),i++;continue}Object.prototype.hasOwnProperty.call(r,n)||Object.defineProperty(r,n,{value:{_errors:[]},enumerable:!0,writable:!0,configurable:!0});let s=r[n];o&&s._errors.push(t(a)),r=s,i++}}}};return r(e),n}function jn(e,t){return{callee:t?.callee??e,Err:t?.Err}}const Mn=e=>{let t=(n,r,i,a)=>{let o=i?{...i,async:!1}:{async:!1},s=n._zod.run({value:r,issues:[]},o);if(s instanceof Promise)throw new F;if(s.issues.length){let n=new((a?.Err)??e)(s.issues.map(e=>j(e,o,L())));throw At(n,a?.callee??t),n}return s.value};return t},Nn=e=>{let t=async(n,r,i,a)=>{let o=i?{...i,async:!0}:{async:!0},s=n._zod.run({value:r,issues:[]},o);if(s instanceof Promise&&(s=await s),s.issues.length){let n=new((a?.Err)??e)(s.issues.map(e=>j(e,o,L())));throw At(n,a?.callee??t),n}return s.value};return t},Pn=e=>(t,n,r)=>{let i=r?{...r,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise)throw new F;return a.issues.length?Fn(e,a.issues,i):{success:!0,data:a.value}};function Fn(e,t,n){let r;return{success:!1,get error(){return r||(r=new e(t.map(e=>j(e,n,L()))),t=void 0,n=void 0),r},set error(e){r=e,t=void 0,n=void 0}}}const In=e=>async(t,n,r)=>{let i=r?{...r,async:!0}:{async:!0},a=t._zod.run({value:n,issues:[]},i);return a instanceof Promise&&(a=await a),a.issues.length?Fn(e,a.issues,i):{success:!0,data:a.value}},Ln=Symbol.for(`zod.compile.invalid`),Rn=Symbol.for(`zod.compile.fallback`),zn=((e,t,n)=>{let r=e._zod.bag.validator;if(r!==void 0){if(r(t)!==Ln)return!0;if(r.definite===!0&&n===void 0)return!1}return Bn(e,t,n)});function Bn(e,t,n){let r=n?{...n,async:!1,abortEarly:!0}:{async:!1,abortEarly:!0},i=e._zod.bag.fallbackRun,a;if(i?(r[Rn]=!0,a=i({value:t,issues:[]},r)):a=e._zod.run({value:t,issues:[]},r),a instanceof Promise)throw new F;return a.issues.length===0}const Vn=async(e,t,n)=>{let r=n?{...n,async:!0,abortEarly:!0}:{async:!0,abortEarly:!0},i=e._zod.run({value:t,issues:[]},r);return i instanceof Promise&&(i=await i),i.issues.length===0},Hn=e=>{let t=Mn(e),n=(e,r,i,a)=>{let o=i?{...i,direction:`backward`}:{direction:`backward`};return t(e,r,o,jn(n,a))};return n},Un=e=>{let t=Mn(e),n=(e,r,i,a)=>t(e,r,i,jn(n,a));return n},Wn=e=>{let t=Nn(e),n=async(e,r,i,a)=>{let o=i?{...i,direction:`backward`}:{direction:`backward`};return await t(e,r,o,jn(n,a))};return n},Gn=e=>{let t=Nn(e),n=async(e,r,i,a)=>await t(e,r,i,jn(n,a));return n},Kn=e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return Pn(e)(t,n,i)},qn=e=>(t,n,r)=>Pn(e)(t,n,r),Jn=e=>async(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return In(e)(t,n,i)},Yn=e=>async(t,n,r)=>In(e)(t,n,r),Xn=/^[cC][0-9a-z]{6,}$/,Zn=/^[0-9a-z]+$/,Qn=/^[0-7][0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{25}$/,$n=/^[0-9a-vA-V]{20}$/,er=/^[A-Za-z0-9]{27}$/,tr=/^[a-zA-Z0-9_-]{21}$/;function nr(e){return RegExp(`^[a-zA-Z0-9_-]{${e}}$`)}const rr=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,ir=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,ar=e=>e?RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,or=/^(?:[A-Za-z0-9_'+\-]+\.)*[A-Za-z0-9_'+\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;function sr(){return RegExp(`^(?=[\\s\\S]*[\\p{Extended_Pictographic}\\p{Regional_Indicator}\\u20E3])[\\p{Extended_Pictographic}\\p{Emoji_Component}]+$`,`u`)}const cr=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,lr=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,ur=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,dr=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,fr=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,pr=/^(?:[A-Za-z0-9_-]{4})*(?:[A-Za-z0-9_-]{2,3})?$/,mr=/^https?$/,hr=/^\+[1-9]\d{6,14}$/,gr=`(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))`;function _r(e){return RegExp(`^${e}$`)}const vr=_r(gr);function yr(e){let t=`(?:[01]\\d|2[0-3]):[0-5]\\d`;return typeof e.precision==`number`?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:e.seconds?`${t}:[0-5]\\d(?:\\.\\d+)?`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function br(e){return RegExp(`^${yr(e)}$`)}function xr(e){let t=[`Z`];e.offset&&t.push(`([+-](?:[01]\\d|2[0-3]):[0-5]\\d)`);let n=`${yr({precision:e.precision,seconds:!0})}(?:${t.join(`|`)})`,r=e.local?`${n}|${yr({precision:e.precision})}`:n;return RegExp(`^${gr}T(?:${r})$`)}const Sr=/^[\s\S]{0,}$/,Cr=/^-?\d+$/,wr=/^-?\d+(?:\.\d+)?$/,Tr=/^(?:true|false)$/i,Er=/^[^A-Z]*$/,Dr=/^[^a-z]*$/,R=P(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),Or=e=>{let t=e.value;return!xt(t)&&t.length!==void 0},kr={number:`number`,bigint:`bigint`,object:`date`},Ar=P(`$ZodCheckLessThan`,(e,t)=>{R.init(e,t);let n=kr[typeof t.value];e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:kr[typeof r.value]??n,code:`too_big`,maximum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),jr=P(`$ZodCheckGreaterThan`,(e,t)=>{R.init(e,t);let n=kr[typeof t.value];e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:kr[typeof r.value]??n,code:`too_small`,minimum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Mr=P(`$ZodCheckMultipleOf`,(e,t)=>{R.init(e,t),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw Error(`Cannot mix number and bigint in multiple_of check.`);(typeof n.value==`bigint`?t.value!==BigInt(0)&&n.value%t.value===BigInt(0):Ct(n.value,t.value)===0)||n.issues.push({origin:typeof n.value,code:`not_multiple_of`,divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),Nr=P(`$ZodCheckNumberFormat`,(e,t)=>{R.init(e,t),t.format=t.format||`float64`;let n=t.format?.includes(`int`),r=n?`int`:`number`,[i,a]=zt[t.format];e._zod.check=o=>{let s=o.value;if(n){if(!Number.isInteger(s)){o.issues.push({expected:r,format:t.format,code:`invalid_type`,continue:!1,input:s,inst:e});return}if(!Number.isSafeInteger(s)){s>0?o.issues.push({input:s,code:`too_big`,maximum:2**53-1,note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort}):o.issues.push({input:s,code:`too_small`,minimum:-(2**53-1),note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort});return}}s<i&&o.issues.push({origin:`number`,input:s,code:`too_small`,minimum:i,inclusive:!0,inst:e,continue:!t.abort}),s>a&&o.issues.push({origin:`number`,input:s,code:`too_big`,maximum:a,inclusive:!0,inst:e,continue:!t.abort})}}),Pr=P(`$ZodCheckMaxLength`,(e,t)=>{var n;R.init(e,t),(n=e._zod.def).when??(n.when=Or),e._zod.check=n=>{let r=n.value,i=r.length;if((typeof r==`string`&&i>t.maximum?tn(r):i)<=t.maximum)return;let a=nn(r);n.issues.push({origin:a,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Fr=P(`$ZodCheckMinLength`,(e,t)=>{var n;R.init(e,t),(n=e._zod.def).when??(n.when=Or),e._zod.check=n=>{let r=n.value,i=r.length;if((typeof r==`string`&&i>=t.minimum&&i<t.minimum*2?tn(r):i)>=t.minimum)return;let a=nn(r);n.issues.push({origin:a,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Ir=P(`$ZodCheckLengthEquals`,(e,t)=>{var n;R.init(e,t),(n=e._zod.def).when??(n.when=Or),e._zod.check=n=>{let r=n.value,i=r.length,a=typeof r==`string`&&i>=t.length&&i<=t.length*2?tn(r):i;if(a===t.length)return;let o=nn(r),s=a>t.length;n.issues.push({origin:o,...s?{code:`too_big`,maximum:t.length}:{code:`too_small`,minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),Lr=P(`$ZodCheckStringFormat`,(e,t)=>{var n,r;R.init(e,t),t.pattern?(n=e._zod).check??(n.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),Rr=P(`$ZodCheckRegex`,(e,t)=>{Lr.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:`regex`,input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),zr=P(`$ZodCheckLowerCase`,(e,t)=>{t.pattern??=Er,Lr.init(e,t)}),Br=P(`$ZodCheckUpperCase`,(e,t)=>{t.pattern??=Dr,Lr.init(e,t)}),Vr=P(`$ZodCheckIncludes`,(e,t)=>{R.init(e,t);let n=It(t.includes);t.pattern=new RegExp(typeof t.position==`number`?`^.{${t.position},}${n}`:n),e._zod.check=n=>{n.value.includes(t.includes,t.position)||n.issues.push({origin:`string`,code:`invalid_format`,format:`includes`,includes:t.includes,input:n.value,inst:e,continue:!t.abort})}}),Hr=P(`$ZodCheckStartsWith`,(e,t)=>{R.init(e,t);let n=RegExp(`^${It(t.prefix)}.*`);t.pattern??=n,e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`starts_with`,prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),Ur=P(`$ZodCheckEndsWith`,(e,t)=>{R.init(e,t);let n=RegExp(`.*${It(t.suffix)}$`);t.pattern??=n,e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`ends_with`,suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}}),Wr=P(`$ZodCheckOverwrite`,(e,t)=>{R.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}});var Gr=class{constructor(e=[],t={}){this.content=[],this.indent=0,this.args=e,this.closed=t}indented(e){this.indent+=1;try{e(this)}finally{--this.indent}}write(e){if(typeof e==`function`){e(this,{execution:`sync`}),e(this,{execution:`async`});return}let t=e.split(`
4
+ `).filter(e=>e),n=Math.min(...t.map(e=>e.length-e.trimStart().length)),r=t.map(e=>e.slice(n)).map(e=>` `.repeat(this.indent*2)+e);for(let e of r)this.content.push(e)}compile(){let e=Function,t=this?.content??[``];return new e(...Object.keys(this.closed),`return function (${this.args.join(`, `)}) {\n${t.join(`
5
+ `)}\n};`)(...Object.values(this.closed))}};const Kr={major:4,minor:6,patch:5},z=P(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=Kr;let r=e._zod.def.checks,i=e._zod.traits.has(`$ZodCheck`)?[e,...r??[]]:r?.length?[...r]:[];for(let t of i)for(let n of t._zod.onattach)n(e);if(i.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let t=(t,n,r)=>{if(t.memo)return t;let i=A(t),a;for(let o of n){if(o._zod.def.when){if(Xt(t)||!o._zod.def.when(t))continue}else if(i)continue;let n=t.issues.length,s=o._zod.check(t);if(s instanceof Promise&&r?.async===!1)throw new F;if(a||s instanceof Promise)a=(a??Promise.resolve()).then(async()=>{await s,t.issues.length!==n&&($t(t.issues,n,e),i||=A(t,n))});else{if(t.issues.length===n)continue;$t(t.issues,n,e),i||=A(t,n)}}return a?a.then(()=>t):t},n=(n,r,a)=>{if(A(n))return n.aborted=!0,n;let o=t(r,i,a);if(o instanceof Promise){if(a.async===!1)throw new F;return o.then(t=>e._zod.parse(t,a))}return e._zod.parse(o,a)};e._zod.run=(r,a)=>{if(a.skipChecks)return e._zod.parse(r,a);if(a.direction===`backward`){let t=e._zod.parse({value:r.value,issues:[]},{...a,skipChecks:!0});return t instanceof Promise?t.then(e=>n(e,r,a)):n(t,r,a)}let o=e._zod.parse(r,a);if(o instanceof Promise){if(a.async===!1)throw new F;return o.then(e=>t(e,i,a))}return t(o,i,a)}}},{get"~standard"(){return sn(this,`~standard`,Yr(this))},set"~standard"(e){M(this,`~standard`,e)}}),qr=(e,t)=>e.issues.length?{issues:e.issues.map(e=>j(e,t,L()))}:{value:e.value};async function Jr(e,t){let n={async:!0};return qr(await e._zod.run({value:t,issues:[]},n),n)}function Yr(e){return{validate:t=>{let n={async:!1};try{let r=e._zod.run({value:t,issues:[]},n);if(!(r instanceof Promise))return qr(r,n)}catch{}return Jr(e,t)},vendor:`zod`,version:1}}const Xr=P(`$ZodString`,(e,t)=>{z.init(e,t),e._zod.pattern=t.pattern??Sr,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value==`string`||n.issues.push({expected:`string`,code:`invalid_type`,input:n.value,inst:e}),n}}),B=P(`$ZodStringFormat`,(e,t)=>{Lr.init(e,t),Xr.init(e,t)}),Zr=P(`$ZodGUID`,(e,t)=>{t.pattern??=ir,B.init(e,t)}),Qr=P(`$ZodUUID`,(e,t)=>{if(t.version){let e={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(e===void 0)throw Error(`Invalid UUID version: "${t.version}"`);t.pattern??=ar(e)}else t.pattern??=ar();B.init(e,t)}),$r=P(`$ZodEmail`,(e,t)=>{t.pattern??=or,B.init(e,t)});function ei(e){try{return typeof URL<`u`&&typeof URL.canParse==`function`?URL.canParse(e):(new URL(e),!0)}catch{return!1}}function ti(e,t){return!(`normalize`in t)&&!(`hostname`in t)&&!(`protocol`in t)?ei(e)||2:ni(e,t)}function ni(e,t){if(!t.normalize&&t.protocol?.source===mr.source&&!/^https?:\/\//i.test(e))return 1;try{if(typeof URL<`u`){let t=URL;if(typeof t.parse==`function`)return t.parse(e)??2}return new URL(e)}catch{return 2}}const ri=/[\t\n\r]/g;function ii(e){return e.replace(ri,``)}function ai(e,t){return t.lastIndex=0,t.test(e.hostname)}function oi(e,t){return t.lastIndex=0,t.test(e.protocol.endsWith(`:`)?e.protocol.slice(0,-1):e.protocol)}const si=P(`$ZodURL`,(e,t)=>{B.init(e,t),e._zod.check=n=>{try{let r=n.value.trim(),i=ti(r,t);if(i===1){n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid URL format`,input:n.value,inst:e,continue:!t.abort});return}if(i===2){n.issues.push({code:`invalid_format`,format:`url`,input:n.value,inst:e,continue:!t.abort});return}if(i===!0){n.value=ii(r);return}t.hostname&&!ai(i,t.hostname)&&n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid hostname`,pattern:t.hostname.source,input:n.value,inst:e,continue:!t.abort}),t.protocol&&!oi(i,t.protocol)&&n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid protocol`,pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort}),n.value=t.normalize?i.href:ii(r);return}catch{n.issues.push({code:`invalid_format`,format:`url`,input:n.value,inst:e,continue:!t.abort})}}}),ci=P(`$ZodEmoji`,(e,t)=>{t.pattern??=sr(),B.init(e,t)}),li=P(`$ZodNanoID`,(e,t)=>{if(t.length!==void 0&&(!Number.isInteger(t.length)||t.length<1))throw Error(`Invalid nanoid length: ${t.length}`);t.pattern??=t.length===void 0?tr:nr(t.length),B.init(e,t)}),ui=P(`$ZodCUID`,(e,t)=>{t.pattern??=Xn,B.init(e,t)}),di=P(`$ZodCUID2`,(e,t)=>{t.pattern??=Zn,B.init(e,t)}),fi=P(`$ZodULID`,(e,t)=>{t.pattern??=Qn,B.init(e,t)}),pi=P(`$ZodXID`,(e,t)=>{t.pattern??=$n,B.init(e,t)}),mi=P(`$ZodKSUID`,(e,t)=>{t.pattern??=er,B.init(e,t)}),hi=P(`$ZodISODateTime`,(e,t)=>{t.pattern??=xr(t),B.init(e,t)}),gi=P(`$ZodISODate`,(e,t)=>{t.pattern??=vr,B.init(e,t)}),_i=P(`$ZodISOTime`,(e,t)=>{t.pattern??=br(t),B.init(e,t)}),vi=P(`$ZodISODuration`,(e,t)=>{t.pattern??=rr,B.init(e,t)}),yi=P(`$ZodIPv4`,(e,t)=>{t.pattern??=cr,B.init(e,t)}),bi=/^[0-9a-fA-F:.]+$/;function xi(e){return bi.test(e)?ei(`http://[${e}]`):!1}const Si=P(`$ZodIPv6`,(e,t)=>{t.pattern??=lr,B.init(e,t),e._zod.check=n=>{xi(n.value)||n.issues.push({code:`invalid_format`,format:`ipv6`,input:n.value,inst:e,continue:!t.abort})}}),Ci=P(`$ZodCIDRv4`,(e,t)=>{t.pattern??=ur,B.init(e,t)});function wi(e){let t=e.split(`/`);if(t.length!==2)return!1;let[n,r]=t;if(!r)return!1;let i=Number(r);return`${i}`!==r||i<0||i>128?!1:xi(n)}const Ti=P(`$ZodCIDRv6`,(e,t)=>{t.pattern??=dr,B.init(e,t),e._zod.check=n=>{wi(n.value)||n.issues.push({code:`invalid_format`,format:`cidrv6`,input:n.value,inst:e,continue:!t.abort})}});function Ei(e){if(e===``)return!0;if(/\s/.test(e)||e.length%4!=0)return!1;try{return atob(e),!0}catch{return!1}}const Di=/^[0-9a-zA-Z+/]*={0,2}$/,Oi=P(`$ZodBase64`,(e,t)=>{t.pattern??=Di,B.init(e,t),e._zod.check=n=>{Ei(n.value)||n.issues.push({code:`invalid_format`,format:`base64`,input:n.value,inst:e,continue:!t.abort})}}),ki=/^[A-Za-z0-9_-]*$/;function Ai(e){if(!ki.test(e))return!1;let t=e.replace(/[-_]/g,e=>e===`-`?`+`:`/`);return Ei(t.padEnd(Math.ceil(t.length/4)*4,`=`))}const ji=P(`$ZodBase64URL`,(e,t)=>{t.pattern??=ki,B.init(e,t),e._zod.check=n=>{Ai(n.value)||n.issues.push({code:`invalid_format`,format:`base64url`,input:n.value,inst:e,continue:!t.abort})}}),Mi=P(`$ZodE164`,(e,t)=>{t.pattern??=hr,B.init(e,t)});function Ni(e,t=null){try{let n=e.split(`.`);if(n.length!==3)return!1;let[r]=n;if(!r)return!1;let i=JSON.parse(atob(r));return!(`typ`in i&&i?.typ!==`JWT`||!i.alg||t&&(!(`alg`in i)||i.alg!==t))}catch{return!1}}const Pi=P(`$ZodJWT`,(e,t)=>{B.init(e,t),e._zod.check=n=>{Ni(n.value,t.alg)||n.issues.push({code:`invalid_format`,format:`jwt`,input:n.value,inst:e,continue:!t.abort})}}),Fi=P(`$ZodNumber`,(e,t)=>{z.init(e,t),e._zod.pattern=wr,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}let i=n.value;if(typeof i==`number`&&!Number.isNaN(i)&&Number.isFinite(i))return n;let a=typeof i==`number`?Number.isNaN(i)?`NaN`:Number.isFinite(i)?void 0:String(i):void 0;return n.issues.push({expected:`number`,code:`invalid_type`,input:i,inst:e,...a?{received:a}:{}}),n}}),Ii=P(`$ZodNumberFormat`,(e,t)=>{Nr.init(e,t),Fi.init(e,t)}),Li=P(`$ZodBoolean`,(e,t)=>{z.init(e,t),e._zod.pattern=Tr,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=!!n.value}catch{}let i=n.value;return typeof i==`boolean`||n.issues.push({expected:`boolean`,code:`invalid_type`,input:i,inst:e}),n}}),Ri=P(`$ZodUnknown`,(e,t)=>{z.init(e,t),e._zod.parse=e=>e}),zi=P(`$ZodNever`,(e,t)=>{z.init(e,t),e._zod.parse=(t,n)=>(t.issues.push({expected:`never`,code:`invalid_type`,input:t.value,inst:e}),t)});function Bi(e,t,n){e.issues.length&&t.issues.push(...Zt(n,e.issues)),t.value[n]=e.value}const Vi=P(`$ZodArray`,(e,t)=>{z.init(e,t);let n=I.memoizer;n?.attach(e),e._zod.parse=(r,i)=>{let a=r.value;if(!Array.isArray(a))return r.issues.push({expected:`array`,code:`invalid_type`,input:a,inst:e}),r;r.value=n?n.alloc(e,r,Array(a.length),i):Array(a.length);let o=[],s=i?.abortEarly;for(let e=0;e<a.length;e++){let n=a[e],c=t.element._zod.run({value:n,issues:[]},i);if(c instanceof Promise)o.push(c.then(t=>Bi(t,r,e)));else if(Bi(c,r,e),s&&c.issues.length!==0&&A(c))break}return o.length?Promise.all(o).then(()=>r):r}});function Hi(e,t,n,r,i,a){let o=n in r,s=a===`optional`;if(!(!o&&s&&i===`optional`)){if(e.issues.length){if(i!==void 0&&s&&!o)return;t.issues.push(...Zt(n,e.issues))}if(!o&&i===void 0){e.issues.length||t.issues.push({code:`invalid_type`,expected:`nonoptional`,input:void 0,path:[n]});return}e.value===void 0?(o||i===`defaulted`&&!s)&&(t.value[n]=void 0):t.value[n]=e.value}}const Ui=[];function Wi(e){let t=Object.keys(e.shape),n=Object.getOwnPropertySymbols(e.shape),r=n.length?n:Ui,i=r.length?[...t,...r]:t;for(let t of i)if(!e.shape?.[t]?._zod?.traits?.has(`$ZodType`))throw Error(`Invalid element at key "${String(t)}": expected a Zod schema`);let a=Rt(e.shape);return{...e,allKeys:i,symbolKeys:r,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(a)}}function Gi(e,t,n,r,i,a,o){let s=[],c=i.keySet,l=i.catchall._zod,u=l.def.type,d=l.optin,f=l.optout,p=0;for(let i in t){if(o&&n.issues.length!==p){if(A(n,p))break;p=n.issues.length}if(c.has(i))continue;if(i===`__proto__`){u===`never`&&s.push(i);continue}if(u===`never`){s.push(i);continue}let a=l.run({value:t[i],issues:[]},r);a instanceof Promise?e.push(a.then(e=>Hi(e,n,i,t,d,f))):Hi(a,n,i,t,d,f)}return s.length&&n.issues.push({code:`unrecognized_keys`,keys:s,input:t,inst:a,continue:!0}),e.length?Promise.all(e).then(()=>n):n}const Ki=P(`$ZodObject`,(e,t)=>{z.init(e,t);let n=Object.getOwnPropertyDescriptor(t,`shape`),r=n?.get?n.get.raw:t.shape??{};if(r){let e=()=>{let n={...r};return Object.defineProperty(t,"shape",{value:n}),e.raw=n,n};e.raw=r,Object.defineProperty(t,"shape",{get:e})}let i=bt(()=>Wi(t));N(e,`propValues`,e=>{let t=e.def.shape,n={};for(let e in t){let r=t[e]._zod;if(r.values){Object.prototype.hasOwnProperty.call(n,e)||w(n,e,new Set);for(let t of r.values)n[e].add(t);r.optin!==void 0&&n[e].add(void 0)}}return n});let a=jt,o=t.catchall,s,c=I.memoizer;c?.attach(e),e._zod.parse=(t,n)=>{s??=i.value;let r=t.value;if(!a(r))return t.issues.push({expected:`object`,code:`invalid_type`,input:r,inst:e}),t;t.value=c?c.alloc(e,t,{},n):{};let l=[],u=s.shape,d=n?.abortEarly,f=t.issues.length;for(let e of s.allKeys){if(d&&t.issues.length!==f){if(A(t,f))break;f=t.issues.length}if(e===`__proto__`)continue;let i=u[e],a=i._zod.optin,o=i._zod.optout,s=i._zod.run({value:r[e],issues:[]},n);s instanceof Promise?l.push(s.then(n=>Hi(n,t,e,r,a,o))):Hi(s,t,e,r,a,o)}return o?Gi(l,r,t,n,i.value,e,d===!0):l.length?Promise.all(l).then(()=>t):t}}),qi=P(`$ZodObjectJIT`,(e,t)=>{Ki.init(e,t);let n=e._zod.parse,r=bt(()=>Wi(t)),i=I.memoizer,a=t=>{let n=r.value,a=n.symbolKeys,o=new Gr([`payload`,`ctx`],{shape:t,inst:e,memo:i,syms:a}),s=e=>`shape[${e}]._zod.run({ value: input[${e}], issues: [] }, ctx)`,c=(e,t)=>`
6
+ let ${e}_ab = false;
7
+ for (let i = 0; i < ${e}.issues.length; i++) {
8
+ const iss = ${e}.issues[i];
9
+ iss.path = iss.path ? [${t}, ...iss.path] : [${t}];
10
+ payload.issues.push(iss);
11
+ if (iss.continue !== true) ${e}_ab = true;
12
+ }
13
+ if (${e}_ab && ctx && ctx.abortEarly) {
14
+ payload.value = newResult;
15
+ return payload;
16
+ }`;o.write(`const input = payload.value;`);let l=Object.create(null),u=0;for(let e of n.allKeys)l[e]=`key_${u++}`;o.write(i?`const newResult = memo.alloc(inst, payload, {}, ctx);`:`const newResult = {};`);for(let e of n.allKeys){if(e===`__proto__`)continue;let n=l[e],r=typeof e==`symbol`?`syms[${a.indexOf(e)}]`:Ot(e),i=`${r} in input`,u=t[e],d=u?._zod?.optin,f=d!==void 0,p=u?._zod?.optout===`optional`;if(o.write(`const ${n} = ${s(r)};`),f&&p){let e=d===`optional`?`${n}_present`:`${n}.value !== undefined || ${n}_present`;o.write(`
17
+ const ${n}_present = ${i};
18
+ if (!${n}.issues.length || ${n}_present) {
19
+ if (${n}.issues.length) {${c(n,r)}
20
+ }
21
+
22
+ if (${e}) {
23
+ newResult[${r}] = ${n}.value;
24
+ }
25
+ }
26
+
27
+ `)}else f?(o.write(`
28
+ if (${n}.issues.length) {${c(n,r)}
29
+ }
30
+ `),d===`defaulted`?o.write(`newResult[${r}] = ${n}.value;`):o.write(`
31
+ if (${n}.value !== undefined || ${i}) {
32
+ newResult[${r}] = ${n}.value;
33
+ }
34
+ `)):o.write(`
35
+ const ${n}_present = ${i};
36
+ if (${n}.issues.length) {${c(n,r)}
37
+ }
38
+ if (!${n}_present && !${n}.issues.length) {
39
+ payload.issues.push({
40
+ code: "invalid_type",
41
+ expected: "nonoptional",
42
+ input: undefined,
43
+ path: [${r}]
44
+ });
45
+ if (ctx && ctx.abortEarly) {
46
+ payload.value = newResult;
47
+ return payload;
48
+ }
49
+ }
50
+
51
+ if (${n}_present) {
52
+ newResult[${r}] = ${n}.value;
53
+ }
54
+
55
+ `)}return o.write(`payload.value = newResult;`),o.write(`return payload;`),o.compile()},o,s=jt,c=!I.jitless,l=c&&Mt.value,u=t.catchall,d;e._zod.parse=(i,f)=>{d??=r.value;let p=i.value;return s(p)?c&&l&&f?.async===!1&&f.jitless!==!0?(o||=a(t.shape),i=o(i,f),u?Gi([],p,i,f,d,e,f?.abortEarly===!0):i):n(i,f):(i.issues.push({expected:`object`,code:`invalid_type`,input:p,inst:e}),i)}});function Ji(e,t,n,r){for(let n of e)if(n.issues.length===0)return t.value=n.value,t;let i=e.filter(e=>!A(e));return i.length===1?(t.value=i[0].value,i[0]):(t.issues.push({code:`invalid_union`,input:t.value,inst:n,errors:e.map(e=>e.issues.map(e=>j(e,r,L())))}),t)}const Yi=P(`$ZodUnion`,(e,t)=>{z.init(e,t),N(e,`optin`,e=>e.def.options.some(e=>e._zod.optin===`defaulted`)?`defaulted`:e.def.options.some(e=>e._zod.optin!==void 0)?`optional`:void 0),N(e,`optout`,e=>e.def.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),N(e,`values`,e=>{if(e.def.options.every(e=>e._zod.values))return new Set(e.def.options.flatMap(e=>Array.from(e._zod.values)))}),N(e,`pattern`,e=>{if(e.def.options.every(e=>e._zod.pattern)){let t=e.def.options.map(e=>e._zod.pattern);return RegExp(`^(${t.map(e=>St(e.source)).join(`|`)})$`)}});let n=t.options.length===1?t.options[0]._zod.run:null;e._zod.parse=(r,i)=>{if(n)return n(r,i);let a=!1,o=[];for(let e of t.options){let t=e._zod.run({value:r.value,issues:[]},i);if(t instanceof Promise)o.push(t),a=!0;else{if(t.issues.length===0)return t;o.push(t)}}return a?Promise.all(o).then(t=>Ji(t,r,e,i)):Ji(o,r,e,i)}}),Xi=P(`$ZodIntersection`,(e,t)=>{z.init(e,t),e._zod.parse=(e,n)=>{let r=e.value,i=t.left._zod.run({value:r,issues:[]},n),a=t.right._zod.run({value:r,issues:[]},n);return i instanceof Promise||a instanceof Promise?Promise.all([i,a]).then(([t,n])=>Qi(e,t,n)):Qi(e,i,a)}});function Zi(e,t){if(e===t||e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(Nt(e)&&Nt(t)){let n=Object.keys(t),r=Object.keys(e).filter(e=>n.indexOf(e)!==-1),i={...e,...t};Object.prototype.hasOwnProperty.call(i,`__proto__`)&&delete i.__proto__;for(let n of r){if(n===`__proto__`)continue;let r=Zi(e[n],t[n]);if(!r.valid)return{valid:!1,mergeErrorPath:[n,...r.mergeErrorPath]};i[n]=r.data}return{valid:!0,data:i}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[r],o=Zi(i,a);if(!o.valid)return{valid:!1,mergeErrorPath:[r,...o.mergeErrorPath]};n.push(o.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function Qi(e,t,n){let r=new Map,i,a=new Map,o=(e,t)=>{let n;if(e.code===`unrecognized_keys`&&!e.path?.length)i??=e,n=e.keys;else if(e.code===`invalid_key`&&e.origin===`record`&&e.path?.length===1){let t=String(e.path[0]);a.has(t)||a.set(t,e),n=[t]}else return!1;for(let e of n)r.has(e)||r.set(e,{}),r.get(e)[t]=!0;return!0};for(let n of t.issues)o(n,`l`)||e.issues.push(n);for(let t of n.issues)o(t,`r`)||e.issues.push(t);let s=[...r].filter(([,e])=>e.l&&e.r).map(([e])=>e);if(s.length){let t=i?s.filter(e=>i.keys.includes(e)):[];t.length&&e.issues.push({...i,keys:t});for(let n of s)!t.includes(n)&&a.has(n)&&e.issues.push(a.get(n))}let c=Zi(t.value,n.value);if(!c.valid){if(A(e))return e;throw Error(`Unmergable intersection. Error path: ${JSON.stringify(c.mergeErrorPath)}`)}return e.value=c.data,e}const $i=P(`$ZodRecord`,(e,t)=>{z.init(e,t);let n=I.memoizer;n?.attach(e),e._zod.parse=(r,i)=>{let a=r.value;if(!Nt(a))return r.issues.push({expected:`record`,code:`invalid_type`,input:a,inst:e}),r;let o=[],s=t.keyType._zod.values;if(s&&!t.partial){r.value=n?n.alloc(e,r,{},i):{};let c=new Set;for(let n of s)if(typeof n==`string`||typeof n==`number`||typeof n==`symbol`){if(c.add(typeof n==`number`?n.toString():n),n===`__proto__`)continue;let s=t.keyType._zod.run({value:n,issues:[]},i);if(s instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(s.issues.length){r.issues.push({code:`invalid_key`,origin:`record`,issues:s.issues.map(e=>j(e,i,L())),input:n,path:[n],inst:e});continue}let l=s.value;if(l===`__proto__`)continue;let u=t.valueType._zod.run({value:a[n],issues:[]},i);u instanceof Promise?o.push(u.then(e=>{e.issues.length&&r.issues.push(...Zt(n,e.issues)),r.value[l]=e.value})):(u.issues.length&&r.issues.push(...Zt(n,u.issues)),r.value[l]=u.value)}let l;for(let e in a)if(!c.has(e)){if(t.mode===`loose`){if(e===`__proto__`)continue;r.value[e]=a[e]}else l??=[],l.push(e)}l&&l.length>0&&r.issues.push({code:`unrecognized_keys`,input:a,inst:e,keys:l,continue:!0})}else{r.value=n?n.alloc(e,r,{},i):{};let c;for(let n of Reflect.ownKeys(a)){if(n===`__proto__`||!Object.prototype.propertyIsEnumerable.call(a,n))continue;let l=t.keyType._zod.run({value:n,issues:[]},i);if(l instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(typeof n==`string`&&wr.test(n)&&l.issues.length){let e=t.keyType._zod.run({value:Number(n),issues:[]},i);if(e instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);e.issues.length===0&&(l=e)}if(l.issues.length){t.mode===`loose`?r.value[n]=a[n]:s?(c??=[],c.push(n)):r.issues.push({code:`invalid_key`,origin:`record`,issues:l.issues.map(e=>j(e,i,L())),input:n,path:[n],inst:e});continue}let u=l.value;if(u===`__proto__`)continue;let d=t.valueType._zod.run({value:a[n],issues:[]},i);d instanceof Promise?o.push(d.then(e=>{e.issues.length&&r.issues.push(...Zt(n,e.issues)),r.value[u]=e.value})):(d.issues.length&&r.issues.push(...Zt(n,d.issues)),r.value[u]=d.value)}c&&c.length>0&&r.issues.push({code:`unrecognized_keys`,input:a,inst:e,keys:c,continue:!0})}return o.length?Promise.all(o).then(()=>r):r}}),ea=P(`$ZodEnum`,(e,t)=>{z.init(e,t);let n=gt(t.entries),r=new Set(n);e._zod.values=r,N(e,`pattern`,e=>{let t=gt(e.def.entries).filter(e=>Ft.has(typeof e));return RegExp(t.length?`^(${t.map(e=>It(e.toString())).join(`|`)})$`:`^[^\\s\\S]$`)}),e._zod.parse=(t,i)=>{let a=t.value;return r.has(a)||t.issues.push({code:`invalid_value`,values:n,input:a,inst:e}),t}}),ta=P(`$ZodTransform`,(e,t)=>{z.init(e,t),e._zod.optin=`optional`,I.memoizer?.guard(e),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new bn(e.constructor.name);let i=t.transform(n.value,n);if(r.async)return(i instanceof Promise?i:Promise.resolve(i)).then(e=>(n.value=e,n));if(i instanceof Promise)throw new F;return n.value=i,n}});function na(e,t){return e.value=t.issues.length?void 0:t.value,e}const ra=P(`$ZodOptional`,(e,t)=>{z.init(e,t),N(e,`optin`,e=>e.def.innerType._zod.optin===`defaulted`?`defaulted`:`optional`),e._zod.optout=`optional`,N(e,`values`,e=>{let t=e.def.innerType._zod.values;return t?new Set([...t,void 0]):void 0}),N(e,`pattern`,e=>{let t=e.def.innerType._zod.pattern;return t?RegExp(`^(${St(t.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if(e.value===void 0){if(t.innerType._zod.optin!==`defaulted`)return e;let r=t.innerType._zod.run({value:e.value,issues:[]},n);return r instanceof Promise?r.then(t=>na(e,t)):na(e,r)}return t.innerType._zod.run(e,n)}}),ia=P(`$ZodExactOptional`,(e,t)=>{ra.init(e,t),N(e,`values`,e=>e.def.innerType._zod.values),N(e,`pattern`,e=>e.def.innerType._zod.pattern),e._zod.parse=(e,n)=>t.innerType._zod.run(e,n)}),aa=P(`$ZodNullable`,(e,t)=>{z.init(e,t),N(e,`optin`,e=>e.def.innerType._zod.optin),N(e,`optout`,e=>e.def.innerType._zod.optout),N(e,`pattern`,e=>{let t=e.def.innerType._zod.pattern;return t?RegExp(`^(${St(t.source)}|null)$`):void 0}),N(e,`values`,e=>e.def.innerType._zod.values?new Set([...e.def.innerType._zod.values,null]):void 0),e._zod.parse=(e,n)=>e.value===null?e:t.innerType._zod.run(e,n)}),oa=P(`$ZodDefault`,(e,t)=>{z.init(e,t),e._zod.optin=`defaulted`,N(e,`values`,e=>e.def.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);if(e.value===void 0)return e.value=t.defaultValue,e;let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(e=>sa(e,t)):sa(r,t)}});function sa(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}const ca=P(`$ZodPrefault`,(e,t)=>{z.init(e,t),e._zod.optin=`defaulted`,N(e,`values`,e=>e.def.innerType._zod.values),e._zod.parse=(e,n)=>(n.direction===`backward`||e.value===void 0&&(e.value=t.defaultValue),t.innerType._zod.run(e,n))}),la=P(`$ZodNonOptional`,(e,t)=>{z.init(e,t),N(e,`values`,e=>{let t=e.def.innerType._zod.values;return t?new Set([...t].filter(e=>e!==void 0)):void 0}),e._zod.parse=(n,r)=>{let i=t.innerType._zod.run(n,r);return i instanceof Promise?i.then(t=>ua(t,e)):ua(i,e)}});function ua(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:`invalid_type`,expected:`nonoptional`,input:e.value,inst:t}),e}function da(e,t,n,r){return t.issues.length?(e.value=n.catchValue({...t,value:e.value,error:{issues:t.issues.map(e=>j(e,r,L()))},input:e.value}),e):(e.value=t.value,t.memo&&(e.memo=!0),e)}const fa=P(`$ZodCatch`,(e,t)=>{z.init(e,t),N(e,`optin`,e=>e.def.innerType._zod.optin===`defaulted`?`defaulted`:`optional`),N(e,`optout`,e=>e.def.innerType._zod.optout),N(e,`values`,e=>e.def.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run({value:e.value,issues:[]},n);return r instanceof Promise?r.then(r=>da(e,r,t,n)):da(e,r,t,n)}}),pa=P(`$ZodPipe`,(e,t)=>{z.init(e,t),N(e,`values`,e=>e.def.in._zod.values),N(e,`optin`,e=>e.def.in._zod.optin),N(e,`optout`,e=>e.def.out._zod.optout),N(e,`propValues`,e=>e.def.in._zod.propValues),e._zod.parse=(e,n)=>{if(n.direction===`backward`){let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>ma(e,t.in,n)):ma(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>ma(e,t.out,n)):ma(r,t.out,n)}});function ma(e,t,n){return e.issues.some(e=>e.code!==`unrecognized_keys`)?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},n)}const ha=P(`$ZodReadonly`,(e,t)=>{z.init(e,t),N(e,`propValues`,e=>e.def.innerType._zod.propValues),N(e,`values`,e=>e.def.innerType._zod.values),N(e,`optin`,e=>e.def.innerType?._zod?.optin),N(e,`optout`,e=>e.def.innerType?._zod?.optout),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(ga):ga(r)}});function ga(e){return e.memo||(e.value=Object.freeze(e.value)),e}const _a=P(`$ZodCustom`,(e,t)=>{R.init(e,t),z.init(e,t),e._zod.parse=(e,t)=>e,e._zod.check=n=>{let r=n.value,i=t.fn(r);if(i instanceof Promise)return i.then(t=>va(t,n,r,e));va(i,n,r,e)}});function va(e,t,n,r){if(!e){let e={code:`custom`,input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(e.params=r._zod.def.params),t.issues.push(an(e))}}var ya=class extends Error{constructor(){super(`Cannot parse a reference cycle that closes through a transform`),this.name=`ZodCyclicError`}};const ba=`~memo`,xa=[];function Sa(e){return typeof e==`object`&&!!e}function Ca(e){return e.map(e=>e.path?{...e,path:e.path.slice()}:{...e})}const wa=new WeakMap;function Ta(e,t,n){let r=wa.get(e);if(r!==void 0)return r?2:0;if(t.has(e))return 2;t.add(e);let i=0,a=e=>{if(i!==2&&e?._zod){let r=Ta(e,t,n);r>i&&(i=r)}},o=(e,r)=>{let i=0;for(let a of Reflect.ownKeys(e)){let o=Object.getOwnPropertyDescriptor(e,a);if(r&&!o.enumerable)continue;let s=o.get?1:o.value?._zod?Ta(o.value,t,n):0;s>i&&(i=s)}return i},s=e=>{e>i&&(i=e)},c=e._zod.def;switch(c.type){case`object`:{let e=wt(c);s(e?o(e,!0):1),a(c.catchall);break}case`array`:a(c.element);break;case`tuple`:for(let e of c.items)a(e);a(c.rest);break;case`record`:case`map`:a(c.keyType),a(c.valueType);break;case`set`:a(c.valueType);break;case`union`:for(let e of c.options)a(e);break;case`intersection`:a(c.left),a(c.right);break;case`optional`:case`nullable`:case`default`:case`prefault`:case`catch`:case`readonly`:case`nonoptional`:case`promise`:case`success`:a(c.innerType);break;case`pipe`:a(c.in),a(c.out);break;case`function`:a(c.input),a(c.output);break;case`lazy`:{let r=c._cachedInner??(n?e._zod.innerType:void 0);s(r?Ta(r,t,!1):1);break}case`template_literal`:case`string`:case`number`:case`int`:case`boolean`:case`bigint`:case`symbol`:case`undefined`:case`null`:case`void`:case`never`:case`any`:case`unknown`:case`date`:case`nan`:case`enum`:case`literal`:case`file`:case`transform`:case`custom`:break;default:for(let e in c){let t=Object.getOwnPropertyDescriptor(c,e);if(!t||t.get)continue;let n=t.value;if(!(!n||typeof n!=`object`)){if(n._zod)a(n);else if(Array.isArray(n))for(let e of n)a(e)}}}return t.delete(e),Ea(e,i)}function Ea(e,t){return t!==1&&wa.set(e,t===2),t}function Da(e,t){let n=e.buckets.get(t);return n||(n=new WeakMap,e.buckets.set(t,n)),n}let Oa;const ka=[],Aa={alloc(e,t,n){let r=Oa;if(!r)return n;Oa=void 0;let i={value:n,issues:null};return r.set(t.value,i),ka.push(i),n},guard(e){var t;(t=e._zod).deferred??(t.deferred=[]),e._zod.deferred.push(()=>{let t=e._zod.parse,n=(e,n)=>{if(n.direction!==`backward`&&Ma(n,e.value))throw new ya;return t(e,n)};e._zod.parse=n,e._zod.run===t&&(e._zod.run=n)})},attach(e){var t;let n,r=!1,i,a;(t=e._zod).deferred??(t.deferred=[]),e._zod.deferred.push(()=>{let t=e._zod.parse,o=(s,c)=>{if(n===void 0){let i=Ta(e,new Set,!1);if(i===0)return e._zod.parse=t,e._zod.run===o&&(e._zod.run=t),t(s,c);i===2||r?n=!0:r=!0}let l=s.value;if(!Sa(l))return t(s,c);let u=c[ba];u||(u={buckets:new WeakMap,backEdges:void 0},c[ba]=u);let d;i===c?d=a:(d=Da(u,e),i=c,a=d);let f=d.get(l);if(f)return s.value=f.value,f.issues?f.issues.length&&s.issues.push(...Ca(f.issues)):(s.memo=!0,u.backEdges??(u.backEdges=new WeakSet),u.backEdges.add(f.value)),s;Oa=d;let p=ka.length,m=t(s,c);Oa=void 0;let h=ka.length>p?ka.pop():void 0;return m instanceof Promise?m.then(e=>(h&&(h.issues=e.issues.length?Ca(e.issues):xa),e)):(h&&(h.issues=m.issues.length?Ca(m.issues):xa),m)};e._zod.parse=o,e._zod.run===t&&(e._zod.run=o)})}};function ja(){return Aa}function Ma(e,t){let n=e[ba]?.backEdges;return n!==void 0&&Sa(t)&&n.has(t)}const Na=()=>{let e={string:{unit:`characters`,verb:`to have`},file:{unit:`bytes`,verb:`to have`},array:{unit:`items`,verb:`to have`},set:{unit:`items`,verb:`to have`},map:{unit:`entries`,verb:`to have`}};function t(t){return e[t]??null}let n={regex:`input`,email:`email address`,url:`URL`,emoji:`emoji`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`ISO datetime`,date:`ISO date`,time:`ISO time`,duration:`ISO duration`,ipv4:`IPv4 address`,ipv6:`IPv6 address`,mac:`MAC address`,cidrv4:`IPv4 range`,cidrv6:`IPv6 range`,base64:`base64-encoded string`,base64url:`base64url-encoded string`,json_string:`JSON string`,e164:`E.164 number`,currency_code:`currency code`,credit_card:`credit card number`,iban:`IBAN`,jwt:`JWT`,template_literal:`input`},r={nan:`NaN`};function i(e,t){return e===`number`&&typeof t==`number`&&!Number.isFinite(t)?String(t):r[e]??e}return e=>{switch(e.code){case`invalid_type`:return`Invalid input: expected ${i(e.expected)}, received ${i(rn(e.input),e.input)}`;case`invalid_value`:return e.values.length===1?`Invalid input: expected ${Lt(e.values[0])}`:`Invalid option: expected one of ${_t(e.values,`|`)}`;case`too_big`:{let n=e.exact?`exactly `:e.inclusive?`<=`:`<`,r=t(e.origin);return r?`Too big: expected ${e.origin??`value`} to have ${n}${e.maximum.toString()} ${r.unit??`elements`}`:`Too big: expected ${e.origin??`value`} to be ${n}${e.maximum.toString()}`}case`too_small`:{let n=e.exact?`exactly `:e.inclusive?`>=`:`>`,r=t(e.origin);return r?`Too small: expected ${e.origin} to have ${n}${e.minimum.toString()} ${r.unit}`:`Too small: expected ${e.origin} to be ${n}${e.minimum.toString()}`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`Invalid string: must start with "${t.prefix}"`:t.format===`ends_with`?`Invalid string: must end with "${t.suffix}"`:t.format===`includes`?`Invalid string: must include "${t.includes}"`:t.format===`regex`?`Invalid string: must match pattern ${t.pattern}`:`Invalid ${n[t.format]??e.format}`}case`not_multiple_of`:return`Invalid number: must be a multiple of ${e.divisor}`;case`unrecognized_keys`:return`Unrecognized key${e.keys.length>1?`s`:``}: ${_t(e.keys,`, `)}`;case`invalid_key`:return`Invalid key in ${e.origin}`;case`invalid_union`:return e.options&&Array.isArray(e.options)&&e.options.length>0?`Invalid discriminator value. Expected ${e.options.map(e=>`'${e}'`).join(` | `)}`:e.inclusive===!1?`Invalid input: more than one option matched`:`Invalid input`;case`invalid_element`:return`Invalid value in ${e.origin}`;default:return`Invalid input`}}};function Pa(){return{localeError:Na()}}var Fa,Ia=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...t){let n=t[0];return this._map.set(e,n),n&&typeof n==`object`&&`id`in n&&this._idmap.set(n.id,e),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){let t=this._map.get(e);return t&&typeof t==`object`&&`id`in t&&this._idmap.delete(t.id),this._map.delete(e),this}get(e){let t=e._zod.parent;if(t){let n={...this.get(t)??{}};delete n.id;let r={...n,...this._map.get(e)};return Object.keys(r).length?r:void 0}return this._map.get(e)}has(e){return this._map.has(e)}};function La(){return new Ia}(Fa=globalThis).__zod_globalRegistry??(Fa.__zod_globalRegistry=La());const Ra=globalThis.__zod_globalRegistry;function za(e){return e.checks&&=[...e.checks],e}function Ba(e,t){return new e(za({type:`string`,...k(t)}))}function Va(e,t){return new e({type:`string`,format:`email`,check:`string_format`,abort:!1,...k(t)})}function Ha(e,t){return new e({type:`string`,format:`guid`,check:`string_format`,abort:!1,...k(t)})}function Ua(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,...k(t)})}function Wa(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v4`,...k(t)})}function Ga(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v6`,...k(t)})}function Ka(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v7`,...k(t)})}function qa(e,t){return new e({type:`string`,format:`url`,check:`string_format`,abort:!1,...k(t)})}function Ja(e,t){return new e({type:`string`,format:`emoji`,check:`string_format`,abort:!1,...k(t)})}function Ya(e,t){return new e({type:`string`,format:`nanoid`,check:`string_format`,abort:!1,...k(t)})}function Xa(e,t){return new e({type:`string`,format:`cuid`,check:`string_format`,abort:!1,...k(t)})}function Za(e,t){return new e({type:`string`,format:`cuid2`,check:`string_format`,abort:!1,...k(t)})}function Qa(e,t){return new e({type:`string`,format:`ulid`,check:`string_format`,abort:!1,...k(t)})}function $a(e,t){return new e({type:`string`,format:`xid`,check:`string_format`,abort:!1,...k(t)})}function eo(e,t){return new e({type:`string`,format:`ksuid`,check:`string_format`,abort:!1,...k(t)})}function to(e,t){return new e({type:`string`,format:`ipv4`,check:`string_format`,abort:!1,...k(t)})}function no(e,t){return new e({type:`string`,format:`ipv6`,check:`string_format`,abort:!1,...k(t)})}function ro(e,t){return new e({type:`string`,format:`cidrv4`,check:`string_format`,abort:!1,...k(t)})}function io(e,t){return new e({type:`string`,format:`cidrv6`,check:`string_format`,abort:!1,...k(t)})}function ao(e,t){return new e({type:`string`,format:`base64`,check:`string_format`,abort:!1,...k(t)})}function oo(e,t){return new e({type:`string`,format:`base64url`,check:`string_format`,abort:!1,...k(t)})}function so(e,t){return new e({type:`string`,format:`e164`,check:`string_format`,abort:!1,...k(t)})}function co(e,t){return new e({type:`string`,format:`jwt`,check:`string_format`,abort:!1,...k(t)})}function lo(e,t){return new e({type:`string`,format:`datetime`,check:`string_format`,offset:!1,local:!1,precision:null,...k(t)})}function uo(e,t){return new e({type:`string`,format:`date`,check:`string_format`,...k(t)})}function fo(e,t){return new e({type:`string`,format:`time`,check:`string_format`,precision:null,...k(t)})}function po(e,t){return new e({type:`string`,format:`duration`,check:`string_format`,...k(t)})}function mo(e,t){return new e(za({type:`number`,checks:[],...k(t)}))}function ho(e,t){return new e({type:`number`,check:`number_format`,abort:!1,format:`safeint`,...k(t)})}function go(e,t){return new e({type:`boolean`,...k(t)})}function _o(e){return new e({type:`unknown`})}function vo(e,t){return new e({type:`never`,...k(t)})}function yo(e,t){return new Ar({check:`less_than`,...k(t),value:e,inclusive:!1})}function bo(e,t){return new Ar({check:`less_than`,...k(t),value:e,inclusive:!0})}function xo(e,t){return new jr({check:`greater_than`,...k(t),value:e,inclusive:!1})}function So(e,t){return new jr({check:`greater_than`,...k(t),value:e,inclusive:!0})}function Co(e,t){return new Mr({check:`multiple_of`,...k(t),value:e})}function wo(e,t){return new Pr({check:`max_length`,...k(t),maximum:e})}function To(e,t){return new Fr({check:`min_length`,...k(t),minimum:e})}function Eo(e,t){return new Ir({check:`length_equals`,...k(t),length:e})}function Do(e,t){return new Rr({check:`string_format`,format:`regex`,...k(t),pattern:e})}function Oo(e){return new zr({check:`string_format`,format:`lowercase`,...k(e)})}function ko(e){return new Br({check:`string_format`,format:`uppercase`,...k(e)})}function Ao(e,t){return new Vr({check:`string_format`,format:`includes`,...k(t),includes:e})}function jo(e,t){return new Hr({check:`string_format`,format:`starts_with`,...k(t),prefix:e})}function Mo(e,t){return new Ur({check:`string_format`,format:`ends_with`,...k(t),suffix:e})}function No(e){return new Wr({check:`overwrite`,tx:e})}function Po(e){return No(t=>t.normalize(e))}function Fo(){return No(e=>e.trim())}function Io(){return No(e=>e.toLowerCase())}function Lo(){return No(e=>e.toUpperCase())}function Ro(){return No(e=>kt(e))}function zo(e,t,n){return new e({type:`array`,element:t,...k(n)})}function Bo(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...k(n)})}function Vo(e,t){let n=Ho(t=>(t.addIssue=e=>{if(typeof e==`string`)t.issues.push(an(e,t.value,n._zod.def));else{let r=e;r.fatal&&(r.continue=!1),r.code??=`custom`,`input`in r||(r.input=t.value),r.inst??=n,r.continue??=!n._zod.def.abort,t.issues.push(an(r))}},e(t.value,t)),t);return n}function Ho(e,t){let n=new R({check:`custom`,...k(t)});return n._zod.check=e,n}function Uo(e,...t){for(let n of t)for(let t of Reflect.ownKeys(n))Object.prototype.propertyIsEnumerable.call(n,t)&&w(e,t,n[t]);return e}function Wo(e){let t=e?.target??`draft-2020-12`;return t===`draft-4`&&(t=`draft-04`),t===`draft-7`&&(t=`draft-07`),{processors:e.processors??{},metadataRegistry:e?.metadata??Ra,target:t,unrepresentable:e?.unrepresentable??`throw`,override:e?.override??(()=>{}),io:e?.io??`output`,counter:0,seen:new Map,sharedDefsExtractedFor:void 0,sharedEmitDoneFor:void 0,cycles:e?.cycles??`ref`,reused:e?.reused??`inline`,intersections:[],deferred:[],external:e?.external??void 0}}function Go(e,t,n,r,i){let a=typeof t.unrepresentable==`function`?t.unrepresentable({zodSchema:e,path:r.path,message:i}):t.unrepresentable;if(a===`any`)return!1;if(a===void 0||a===`throw`)throw Error(i);return Object.assign(n,a),!0}function V(e,t,n={path:[],schemaPath:[]}){var r;let i=e._zod.def,a=t.seen.get(e);if(a)return a.count++,n.schemaPath.includes(e)&&(a.cycle=n.path),a.schema;let o={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,o),t.sharedDefsExtractedFor=void 0,t.sharedEmitDoneFor=void 0;let s=e._zod.toJSONSchema?.();if(s)o.schema=s;else{let r={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,o.schema,r);else{let n=o.schema,a=t.processors[i.type];if(!a)throw Error(`[toJSONSchema]: Non-representable type encountered: ${i.type}`);a(e,t,n,r)}let a=e._zod.parent;a&&(o.ref||=a,V(a,t,r),t.seen.get(a).isParent=!0)}let c=t.metadataRegistry.get(e);return c&&Uo(o.schema,c),t.io===`input`&&H(e)&&(delete o.schema.examples,delete o.schema.default),t.io===`input`&&`_prefault`in o.schema&&((r=o.schema).default??(r.default=o.schema._prefault)),delete o.schema._prefault,t.seen.get(e).schema}function Ko(e){return e.replace(/~/g,`~0`).replace(/\//g,`~1`)}function qo(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);if(e.external&&e.sharedDefsExtractedFor===e.external)return;let r=new Map;for(let t of e.seen.entries()){let n=e.metadataRegistry.get(t[0])?.id;if(n){let e=r.get(n);if(e&&e!==t[0])throw Error(`Duplicate schema id "${n}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(n,t[0])}}let i=t=>{let r=e.target===`draft-2020-12`?`$defs`:`definitions`;if(e.external){let n=e.external.registry.get(t[0])?.id,i=e.external.uri??(e=>e);if(n)return{ref:i(n)};let a=t[1].defId??t[1].schema.id??`schema${e.counter++}`;return t[1].defId=a,{defId:a,ref:`${i(`__shared`)}#/${r}/${Ko(a)}`}}let i=`#/${r}/`;if(t[1]===n&&!t[1].schema.id)return{ref:`#`};let a=t[1].schema.id??`__schema${e.counter++}`;return{defId:a,ref:i+Ko(a)}},a=e=>{if(e[1].schema.$ref)return;let t=e[1],{ref:n,defId:r}=i(e);t.def={...t.schema},r&&(t.defId=r);let a=t.schema;for(let e in a)delete a[e];a.$ref=n};if(e.cycles===`throw`)for(let t of e.seen.entries()){let e=t[1];if(e.cycle)throw Error(`Cycle detected: #/${e.cycle?.join(`/`)}/<root>
56
+
57
+ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let n of e.seen.entries()){let r=n[1];if(t===n[0]){a(n);continue}if(e.external){let r=e.external.registry.get(n[0])?.id;if(t!==n[0]&&r){a(n);continue}}if(e.metadataRegistry.get(n[0])?.id){a(n);continue}if(r.cycle){a(n);continue}r.count>1&&e.reused===`ref`&&a(n)}e.external&&(e.sharedDefsExtractedFor=e.external)}function Jo(e){let t=e.anyOf;if(!Array.isArray(t)||t.length===0||e.type!==void 0)return;let n=[];for(let e of t){if(!e||typeof e!=`object`)return;Jo(e);let t=Object.keys(e);if(t.length!==1||t[0]!==`type`)return;let r=e.type;for(let e of Array.isArray(r)?r:[r]){if(typeof e!=`string`)return;n.includes(e)||n.push(e)}}delete e.anyOf,e.type=n.length===1?n[0]:n}const Yo=new Set([`type`,`properties`,`required`,`additionalProperties`]),Xo=[`oneOf`,`anyOf`];function Zo(e){let t=e.additionalProperties;return t===void 0||t===!1||typeof t!=`object`||!t?null:Object.keys(t).length?t:null}function Qo(e){let t=[];for(let n of e){if(typeof n!=`object`||n.type!==`object`)return null;for(let e in n)if(!Yo.has(e))return null;t.push(n)}let n={},r=new Set;for(let e of t){for(let r in e.properties){if(Object.prototype.hasOwnProperty.call(n,r))continue;let e=[];for(let n of t){let t=n.properties?.[r]??Zo(n);t!=null&&(e.some(e=>JSON.stringify(e)===JSON.stringify(t))||e.push(t))}w(n,r,e.length===1?e[0]:Qo(e)??{allOf:e})}for(let t of e.required??[])r.add(t)}let i={type:`object`,properties:n};if(r.size&&(i.required=[...r]),t.every(e=>e.additionalProperties===!1))i.additionalProperties=!1;else{let e=[];for(let n of t){let t=Zo(n);t&&!e.some(e=>JSON.stringify(e)===JSON.stringify(t))&&e.push(t)}e.length===1?i.additionalProperties=e[0]:e.length>1&&(i.additionalProperties={allOf:e})}return i}function $o(e){let t=e.allOf;if(!Array.isArray(t)||t.length<2)return;for(let t of Yo)if(t in e)return;let n=t.filter(e=>Xo.some(t=>Array.isArray(e[t]))),r=null;if(!n.length)r=Qo(t);else{let e=n[0],i=Xo.find(t=>Array.isArray(e[t]));if(Object.keys(e).length!==1)return;let a=t.filter(t=>t!==e),o=e[i].map(e=>Qo([...a,e]));if(o.some(e=>!e))return;r={[i]:o}}r&&(delete e.allOf,Uo(e,r))}function es(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);let r=t=>{let n=e.seen.get(t);if(n.ref===null)return;let i=n.def??n.schema,a={...i},o=n.ref;if(n.ref=null,o){r(o);let n=e.seen.get(o),s=n.schema;if(s.$ref&&(e.target===`draft-07`||e.target===`draft-04`||e.target===`openapi-3.0`)?(i.allOf=i.allOf??[],i.allOf.push(s)):Uo(i,s),Uo(i,a),t._zod.parent===o)for(let e in i)e!==`$ref`&&e!==`allOf`&&(e in a||delete i[e]);if(s.$ref&&n.def)for(let e in i)e!==`$ref`&&e!==`allOf`&&e in n.def&&JSON.stringify(i[e])===JSON.stringify(n.def[e])&&delete i[e]}let s=t._zod.parent;if(s&&s!==o){r(s);let t=e.seen.get(s);if(t?.schema.$ref&&(i.$ref=t.schema.$ref,t.def))for(let e in i)e!==`$ref`&&e!==`allOf`&&e in t.def&&JSON.stringify(i[e])===JSON.stringify(t.def[e])&&delete i[e]}e.override({zodSchema:t,jsonSchema:i,path:n.path??[]})};if(!e.external||e.sharedEmitDoneFor!==e.external){for(let t of[...e.seen.entries()].reverse())r(t[0]);if(e.target!==`openapi-3.0`)for(let t of e.seen.entries())Jo(t[1].def??t[1].schema);for(let t of e.deferred)t();if(e.intersections.length){let t=new Map;for(let n of e.seen.values())for(let e of[n.schema,n.def]){let n=e?.allOf;if(!Array.isArray(n))continue;let r=t.get(n);r?r.push(e):t.set(n,[e])}for(let n of e.intersections)for(let e of t.get(n)??[])$o(e)}}let i={};if(e.target===`draft-2020-12`?i.$schema=`https://json-schema.org/draft/2020-12/schema`:e.target===`draft-07`?i.$schema=`http://json-schema.org/draft-07/schema#`:e.target===`draft-04`?i.$schema=`http://json-schema.org/draft-04/schema#`:e.target,e.external?.uri){let n=e.external.registry.get(t)?.id;if(!n)throw Error("Schema is missing an `id` property");i.$id=e.external.uri(n)}Uo(i,n.defId?n.schema:n.def??n.schema);let a=e.metadataRegistry.get(t)?.id;a!==void 0&&i.id===a&&delete i.id;let o=e.external?.defs??{};if(!e.external||e.sharedEmitDoneFor!==e.external)for(let t of e.seen.entries()){let e=t[1];e.def&&e.defId&&(e.def.id===e.defId&&delete e.def.id,w(o,e.defId,e.def))}e.external&&(e.sharedEmitDoneFor=e.external),e.external||Object.keys(o).length>0&&(e.target===`draft-2020-12`?i.$defs=o:i.definitions=o);try{let n=JSON.parse(JSON.stringify(i));return Object.defineProperty(n,"~standard",{value:{...t[`~standard`],jsonSchema:{input:ns(t,`input`,e.processors),output:ns(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function H(e,t){let n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);let r=e._zod.def;if(r.type===`transform`)return!0;if(r.type===`array`)return H(r.element,n);if(r.type===`set`)return H(r.valueType,n);if(r.type===`lazy`)return H(r.getter(),n);if(r.type===`promise`||r.type===`optional`||r.type===`nonoptional`||r.type===`nullable`||r.type===`readonly`||r.type==="default"||r.type===`prefault`||r.type===`catch`)return H(r.innerType,n);if(r.type===`intersection`)return H(r.left,n)||H(r.right,n);if(r.type===`record`||r.type===`map`)return H(r.keyType,n)||H(r.valueType,n);if(r.type===`pipe`)return e._zod.traits.has(`$ZodCodec`)?!0:H(r.in,n)||H(r.out,n);if(r.type===`object`){for(let e in r.shape)if(H(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(H(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(H(e,n))return!0;return!!(r.rest&&H(r.rest,n))}return!1}const ts=(e,t={})=>n=>{let r=Wo({...n,processors:t});return V(e,r),qo(r,e),es(r,e)},ns=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=Wo({...i??{},target:a,io:t,processors:n});return V(e,o),qo(o,e),es(o,e)},rs=(e,t,n)=>{(e[t]===void 0||n>e[t])&&(e[t]=n)},is=(e,t,n)=>{(e[t]===void 0||n<e[t])&&(e[t]=n)},as=(e,t)=>{rs(e,`minimum`,t),is(e,`maximum`,t)},os=(e,t)=>{e.multipleOf??=[],e.multipleOf.includes(t)||e.multipleOf.push(t)},ss=(e,t)=>{e.patterns??=new Set,e.patterns.add(t)},cs=(e,t)=>{e.mime=e.mime?e.mime.filter(e=>t.includes(e)):[...t]},ls=(e,t)=>{e.format=t,t.includes(`int`)&&(e.isInt=!0)},us=(e,t)=>rs(e,`minimum`,t.minimum),ds=(e,t)=>is(e,`maximum`,t.maximum),fs=e=>(t,n)=>{ls(t,n.format);let[r,i]=e[n.format];rs(t,`minimum`,r),is(t,`maximum`,i)},ps={greater_than:(e,t)=>rs(e,t.inclusive?`minimum`:`exclusiveMinimum`,t.value),less_than:(e,t)=>is(e,t.inclusive?`maximum`:`exclusiveMaximum`,t.value),multiple_of:(e,t)=>os(e,t.value),number_format:fs(zt),bigint_format:fs(Bt),min_length:us,max_length:ds,length_equals:(e,t)=>as(e,t.length),min_size:us,max_size:ds,size_equals:(e,t)=>as(e,t.size),string_format:(e,t)=>{ls(e,t.format),t.pattern&&ss(e,t.pattern),(t.format===`base64`||t.format===`base64url`)&&(e.contentEncoding=t.format),(t.local||t.precision===-1)&&(e.laxFormat=!0)},mime_type:(e,t)=>cs(e,t.mime)};function U(e){let t={},n=e._zod.def,r=e._zod.traits.has(`$ZodCheck`)?[e,...n.checks??[]]:n.checks??[];for(let e of r)ps[e._zod.def.check]?.(t,e._zod.def);let i=e._zod.bag;i.minimum!==void 0&&rs(t,`minimum`,i.minimum),i.exclusiveMinimum!==void 0&&rs(t,`exclusiveMinimum`,i.exclusiveMinimum),i.maximum!==void 0&&is(t,`maximum`,i.maximum),i.exclusiveMaximum!==void 0&&is(t,`exclusiveMaximum`,i.exclusiveMaximum),i.multipleOf!==void 0&&os(t,i.multipleOf),i.format!==void 0&&(t.format??=i.format,i.format.includes(`int`)&&(t.isInt=!0)),i.mime&&cs(t,i.mime);for(let e of i.patterns??[])ss(t,e);return t}const ms={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},hs=new Map([[Di,fr],[ki,pr]]),gs=e=>hs.get(e)??e,_s=(e,t,n,r)=>{let i=n;i.type=`string`;let{minimum:a,maximum:o,format:s,patterns:c,contentEncoding:l,laxFormat:u}=U(e);if(typeof a==`number`&&(i.minLength=a),typeof o==`number`&&(i.maxLength=o),s&&(i.format=ms[s]??s,i.format===``&&delete i.format,(s===`time`||u)&&delete i.format),l&&(i.contentEncoding=l),c&&c.size>0){let e=[...c].map(gs);e.length===1?i.pattern=e[0].source:e.length>1&&(i.allOf=[...e.map(e=>({...t.target===`draft-07`||t.target===`draft-04`||t.target===`openapi-3.0`?{type:`string`}:{},pattern:e.source}))])}},vs=(e,t,n,r)=>{let i=n,{minimum:a,maximum:o,multipleOf:s,exclusiveMaximum:c,exclusiveMinimum:l,isInt:u}=U(e);i.type=u?`integer`:`number`;let d=typeof l==`number`&&l>=(a??-1/0),f=typeof c==`number`&&c<=(o??1/0),p=t.target===`draft-04`||t.target===`openapi-3.0`;if(d?p?(i.minimum=l,i.exclusiveMinimum=!0):i.exclusiveMinimum=l:typeof a==`number`&&(i.minimum=a),f?p?(i.maximum=c,i.exclusiveMaximum=!0):i.exclusiveMaximum=c:typeof o==`number`&&(i.maximum=o),s){let n=new Set;for(let a of s)Number.isFinite(a)&&a!==0?n.add(Math.abs(a)):Go(e,t,i,r,`A multipleOf divisor of ${a} cannot be represented in JSON Schema`);let[a,...o]=n;a!==void 0&&(i.multipleOf=a),o.length&&(i.allOf=[...i.allOf??[],...o.map(e=>({multipleOf:e}))])}},ys=(e,t,n,r)=>{n.type=`boolean`},bs=(e,t,n,r)=>{n.not={}},xs=(e,t,n,r)=>{let i=e._zod.def,a=gt(i.entries);if(a.length===0){n.not={};return}a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),n.enum=a},Ss=(e,t,n,r)=>{Go(e,t,n,r,`Custom types cannot be represented in JSON Schema`)},Cs=(e,t,n,r)=>{Go(e,t,n,r,`Transforms cannot be represented in JSON Schema`)},ws=(e,t,n,r)=>{let i=n,a=e._zod.def,{minimum:o,maximum:s}=U(e);typeof o==`number`&&(i.minItems=o),typeof s==`number`&&(i.maxItems=s),i.type=`array`,i.items=V(a.element,t,{...r,path:[...r.path,`items`]})};function Ts(e){let t=e._zod.def;return t.type===`pipe`&&t.in._zod.traits.has(`$ZodTransform`)?Ts(t.out):t.type===`catch`?Ts(t.innerType):e._zod.optin}const Es=(e,t,n,r)=>{let i=n,a=e._zod.def,o=a.shape;if(Object.getOwnPropertySymbols(o).length&&Go(e,t,i,r,`Symbol keys cannot be represented in JSON Schema`))return;i.type=`object`,i.properties={};for(let e in o)w(i.properties,e,V(o[e],t,{...r,path:[...r.path,`properties`,e]}));let s=[];for(let e of Object.keys(o)){let n=a.shape[e];(t.io===`input`?Ts(n)===void 0:n._zod.optout===void 0)&&s.push(e)}s.length>0&&(i.required=s),a.catchall?._zod.def.type===`never`?i.additionalProperties=!1:a.catchall?a.catchall&&(i.additionalProperties=V(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},Ds=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>V(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},Os=(e,t,n,r)=>{let i=e._zod.def,a=V(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=V(i.right,t,{...r,path:[...r.path,`allOf`,1]}),s=e=>`allOf`in e&&Object.keys(e).length===1,c=[...s(a)?a.allOf:[a],...s(o)?o.allOf:[o]];n.allOf=c,t.intersections.push(c)};function ks(e,t,n){if(t.$ref){if(n.has(t))return t;n.add(t);let r=e.get(t)?.def;if(!r)return t;let i=ks(e,r,n);return i===r?t:i}for(let r of[`anyOf`,`oneOf`]){let i=t[r];if(!Array.isArray(i))continue;let a=i.map(t=>ks(e,t,n));a.some((e,t)=>e!==i[t])&&(t={...t,[r]:a})}let r=Array.isArray(t.type)?t.type:[t.type],i=!r.includes(`string`)&&r.some(e=>e===`number`||e===`integer`),a=t.enum??(t.const===void 0?void 0:[t.const]);if(!i&&!a?.some(e=>typeof e==`number`))return t;let{minimum:o,maximum:s,exclusiveMinimum:c,exclusiveMaximum:l,multipleOf:u,format:d,id:f,...p}=t;return p.enum?p.enum=p.enum.map(e=>typeof e==`number`?String(e):e):typeof p.const==`number`&&(p.const=String(p.const)),i?(p.type=`string`,a||(p.pattern=(r.includes(`number`)?wr:Cr).source),p):p}const As=new WeakMap;function js(e){let t=new Map;for(let n of e.seen.values())n.def&&!t.has(n.schema)&&t.set(n.schema,n);let n=new Map;for(let r of As.get(e)??[]){let i=e.seen.get(r),a=(i?.def??i?.schema)?.propertyNames;if(!a||a===!0||n.has(a))continue;let o=ks(t,a,new Set);o!==a&&n.set(a,o)}if(n.size)for(let t of e.seen.values())for(let e of[t.schema,t.def]){let t=e&&n.get(e.propertyNames);t&&(e.propertyNames=t)}}const Ms=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`;let o=a.keyType,s=U(o).patterns;if(a.mode===`loose`&&s&&s.size>0){let e=V(a.valueType,t,{...r,path:[...r.path,`patternProperties`,`*`]});i.patternProperties={};for(let t of s)w(i.patternProperties,gs(t).source,e)}else{if(t.target===`draft-07`||t.target===`draft-2020-12`){i.propertyNames=V(a.keyType,t,{...r,path:[...r.path,`propertyNames`]});let n=As.get(t);n||(n=[],As.set(t,n),t.deferred.push(()=>js(t))),n.push(e)}i.additionalProperties=V(a.valueType,t,{...r,path:[...r.path,`additionalProperties`]})}let c=o._zod.values,l=t.io===`input`&&Ts(a.valueType)!==void 0;if(c&&!a.partial&&!l){let e=[...c].filter(e=>typeof e==`string`||typeof e==`number`);e.length>0&&(i.required=e.map(String))}},Ns=(e,t,n,r)=>{let i=e._zod.def,a=V(i.innerType,t,r),o=t.seen.get(e);t.target===`openapi-3.0`?(o.ref=i.innerType,n.nullable=!0):n.anyOf=[a,{type:`null`}]},Ps=(e,t,n,r)=>{let i=e._zod.def;V(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Fs=Symbol();function Is(e,t,n,r,i){let a=!1,o=JSON.stringify(e,(e,t)=>typeof t==`bigint`?(a=!0,null):t);return a?(Go(t,n,r,i,`BigInt defaults cannot be represented in JSON Schema`),Fs):JSON.parse(o)}const Ls=(e,t,n,r)=>{let i=e._zod.def;V(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o=Is(i.defaultValue,e,t,n,r);o!==Fs&&(n.default=o)},Rs=(e,t,n,r)=>{let i=e._zod.def;V(i.innerType,t,r);let a=t.seen.get(e);if(a.ref=i.innerType,t.io!==`input`)return;let o=Is(i.defaultValue,e,t,n,r);o!==Fs&&(n._prefault=o)},zs=(e,t,n,r)=>{let i=e._zod.def;V(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{Go(e,t,n,r,`Dynamic catch values are not supported in JSON Schema`);return}n.default=o},Bs=(e,t,n,r)=>{let i=e._zod.def,a=i.in._zod.traits.has(`$ZodTransform`),o=t.io===`input`?a?i.out:i.in:i.out;V(o,t,r);let s=t.seen.get(e);s.ref=o},Vs=(e,t,n,r)=>{let i=e._zod.def;V(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},Hs=(e,t,n,r)=>{let i=e._zod.def;V(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Us=new WeakSet([Object.prototype,Error.prototype]);function Ws(e,t,n){Object.defineProperty(e,t,{configurable:!0,enumerable:!1,get(){let e=n(this);return Object.defineProperty(this,t,{value:e,configurable:!0,writable:!0}),e},set(e){Object.defineProperty(this,t,{value:e,configurable:!0,writable:!0})}})}const W=P(`ZodError`,(e,t)=>{Dn.init(e,t),e.name=`ZodError`;let n=Object.getPrototypeOf(e);Us.has(n)||(Us.add(n),Ws(n,`format`,e=>t=>An(e,t)),Ws(n,`flatten`,e=>t=>kn(e,t)),Ws(n,`addIssue`,e=>t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,vt,2)}),Ws(n,`addIssues`,e=>t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,vt,2)}),Object.defineProperty(n,"isEmpty",{configurable:!0,enumerable:!1,get(){return this.issues.length===0}}))},void 0,{Parent:Error}),Gs=Mn(W),Ks=Nn(W),qs=Pn(W),Js=In(W),Ys=Hn(W),Xs=Un(W),Zs=Wn(W),Qs=Gn(W),$s=Kn(W),ec=qn(W),tc=Jn(W),nc=Yn(W);function rc(){I.localeError||L(Pa())}function ic(){I.memoizer||L({memoizer:ja()})}const G=P(`ZodType`,(e,t)=>(rc(),z.init(e,t),e.def=t,e.type=t.type,e),{check(...e){let t=this.def;return this.clone(D(t,{checks:[...t.checks??[],...e.map(e=>typeof e==`function`?{_zod:{check:e,def:{check:`custom`},onattach:[]}}:e)]}),{parent:!0})},with(...e){return this.check(...e)},clone(e,t){return O(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},refine(e,t){return this.check(gl(e,t))},superRefine(e,t){return this.check(_l(e,t))},overwrite(e){return this.check(No(e))},optional(){return Qc(this)},exactOptional(){return el(this)},nullable(){return nl(this)},nullish(){return Qc(nl(this))},nonoptional(e){return cl(this,e)},array(){return zc(this)},or(e){return Uc([this,e])},and(e){return Gc(this,e)},transform(e){return fl(this,Xc(e))},default(e){return il(this,e)},prefault(e){return ol(this,e)},catch(e){return ul(this,e)},pipe(e){return fl(this,e)},readonly(){return ml(this)},describe(e){let t=this.clone();return Ra.add(t,{description:e}),t},meta(...e){if(e.length===0)return Ra.get(this);let t=this.clone();return Ra.add(t,e[0]),t},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(e,...t){return t.length===0?e(this):e(this,...t)},get"~standard"(){return sn(this,`~standard`,{...Yr(this),jsonSchema:{input:ns(this,`input`),output:ns(this,`output`)}})},set"~standard"(e){M(this,`~standard`,e)},parse:function e(t,n){return Gs(this,t,n,{callee:e})},parseAsync:async function e(t,n){return await Ks(this,t,n,{callee:e})},safeParse(e,t){return qs(this,e,t)},async safeParseAsync(e,t){return Js(this,e,t)},get spa(){return this?.safeParseAsync},set spa(e){M(this,`spa`,e)},validate(e,t){return zn(this,e,t)},validateAsync(e,t){return Vn(this,e,t)},encode:function e(t,n){return Ys(this,t,n,{callee:e})},decode:function e(t,n){return Xs(this,t,n,{callee:e})},encodeAsync:async function e(t,n){return await Zs(this,t,n,{callee:e})},decodeAsync:async function e(t,n){return await Qs(this,t,n,{callee:e})},safeEncode(e,t){return $s(this,e,t)},safeDecode(e,t){return ec(this,e,t)},async safeEncodeAsync(e,t){return tc(this,e,t)},async safeDecodeAsync(e,t){return nc(this,e,t)},toJSONSchema(e){return ts(this,{})(e)},get description(){return Ra.get(this)?.description},get _def(){return this._zod.def}}),ac=P(`_ZodString`,(e,t)=>{Xr.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>_s(e,t,n,r)},cn({format:e=>U(e).format??null,minLength:e=>U(e).minimum??null,maxLength:e=>U(e).maximum??null},{regex(...e){return this.check(Do(...e))},includes(...e){return this.check(Ao(...e))},startsWith(...e){return this.check(jo(...e))},endsWith(...e){return this.check(Mo(...e))},min(...e){return this.check(To(...e))},max(...e){return this.check(wo(...e))},length(...e){return this.check(Eo(...e))},nonempty(...e){return this.check(To(1,...e))},lowercase(e){return this.check(Oo(e))},uppercase(e){return this.check(ko(e))},trim(){return this.check(Fo())},normalize(...e){return this.check(Po(...e))},toLowerCase(){return this.check(Io())},toUpperCase(){return this.check(Lo())},slugify(){return this.check(Ro())}})),oc=P(`ZodString`,(e,t)=>{Xr.init(e,t),ac.init(e,t)},{email(e){return this.check(Va(dc,e))},url(e){return this.check(qa(mc,e))},jwt(e){return this.check(co(kc,e))},emoji(e){return this.check(Ja(hc,e))},guid(e){return this.check(Ha(fc,e))},uuid(e){return this.check(Ua(pc,e))},uuidv4(e){return this.check(Wa(pc,e))},uuidv6(e){return this.check(Ga(pc,e))},uuidv7(e){return this.check(Ka(pc,e))},nanoid(e){return this.check(Ya(gc,e))},cuid(e){return this.check(Xa(_c,e))},cuid2(e){return this.check(Za(vc,e))},ulid(e){return this.check(Qa(yc,e))},base64(e){return this.check(ao(Ec,e))},base64url(e){return this.check(oo(Dc,e))},xid(e){return this.check($a(bc,e))},ksuid(e){return this.check(eo(xc,e))},ipv4(e){return this.check(to(Sc,e))},ipv6(e){return this.check(no(Cc,e))},cidrv4(e){return this.check(ro(wc,e))},cidrv6(e){return this.check(io(Tc,e))},e164(e){return this.check(so(Oc,e))},datetime(e){return this.check(lo(sc,e))},date(e){return this.check(uo(cc,e))},time(e){return this.check(fo(lc,e))},duration(e){return this.check(po(uc,e))}});function K(e){return Ba(oc,e)}const q=P(`ZodStringFormat`,(e,t)=>{B.init(e,t),ac.init(e,t)}),sc=P(`ZodISODateTime`,(e,t)=>{hi.init(e,t),q.init(e,t)}),cc=P(`ZodISODate`,(e,t)=>{gi.init(e,t),q.init(e,t)}),lc=P(`ZodISOTime`,(e,t)=>{_i.init(e,t),q.init(e,t)}),uc=P(`ZodISODuration`,(e,t)=>{vi.init(e,t),q.init(e,t)}),dc=P(`ZodEmail`,(e,t)=>{$r.init(e,t),q.init(e,t)}),fc=P(`ZodGUID`,(e,t)=>{Zr.init(e,t),q.init(e,t)}),pc=P(`ZodUUID`,(e,t)=>{Qr.init(e,t),q.init(e,t)}),mc=P(`ZodURL`,(e,t)=>{si.init(e,t),q.init(e,t)}),hc=P(`ZodEmoji`,(e,t)=>{ci.init(e,t),q.init(e,t)}),gc=P(`ZodNanoID`,(e,t)=>{li.init(e,t),q.init(e,t)}),_c=P(`ZodCUID`,(e,t)=>{ui.init(e,t),q.init(e,t)}),vc=P(`ZodCUID2`,(e,t)=>{di.init(e,t),q.init(e,t)}),yc=P(`ZodULID`,(e,t)=>{fi.init(e,t),q.init(e,t)}),bc=P(`ZodXID`,(e,t)=>{pi.init(e,t),q.init(e,t)}),xc=P(`ZodKSUID`,(e,t)=>{mi.init(e,t),q.init(e,t)}),Sc=P(`ZodIPv4`,(e,t)=>{yi.init(e,t),q.init(e,t)}),Cc=P(`ZodIPv6`,(e,t)=>{Si.init(e,t),q.init(e,t)}),wc=P(`ZodCIDRv4`,(e,t)=>{Ci.init(e,t),q.init(e,t)}),Tc=P(`ZodCIDRv6`,(e,t)=>{Ti.init(e,t),q.init(e,t)}),Ec=P(`ZodBase64`,(e,t)=>{Oi.init(e,t),q.init(e,t)}),Dc=P(`ZodBase64URL`,(e,t)=>{ji.init(e,t),q.init(e,t)}),Oc=P(`ZodE164`,(e,t)=>{Mi.init(e,t),q.init(e,t)}),kc=P(`ZodJWT`,(e,t)=>{Pi.init(e,t),q.init(e,t)}),Ac=P(`ZodNumber`,(e,t)=>{Fi.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>vs(e,t,n,r),e.isFinite=!0},cn({minValue:e=>{let{minimum:t,exclusiveMinimum:n}=U(e);return Math.max(t??-1/0,n??-1/0)},maxValue:e=>{let{maximum:t,exclusiveMaximum:n}=U(e);return Math.min(t??1/0,n??1/0)},isInt:e=>{let{isInt:t,multipleOf:n}=U(e);return!!t||!!n?.some(Number.isSafeInteger)},format:e=>U(e).format??null},{gt(e,t){return this.check(xo(e,t))},gte(e,t){return this.check(So(e,t))},min(e,t){return this.check(So(e,t))},lt(e,t){return this.check(yo(e,t))},lte(e,t){return this.check(bo(e,t))},max(e,t){return this.check(bo(e,t))},int(e){return this.check(Mc(e))},safe(e){return this.check(Mc(e))},positive(e){return this.check(xo(0,e))},nonnegative(e){return this.check(So(0,e))},negative(e){return this.check(yo(0,e))},nonpositive(e){return this.check(bo(0,e))},multipleOf(e,t){return this.check(Co(e,t))},step(e,t){return this.check(Co(e,t))},finite(){return this}}));function J(e){return mo(Ac,e)}const jc=P(`ZodNumberFormat`,(e,t)=>{Ii.init(e,t),Ac.init(e,t)});function Mc(e){return ho(jc,e)}const Nc=P(`ZodBoolean`,(e,t)=>{Li.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ys(e,t,n,r)});function Y(e){return go(Nc,e)}const Pc=P(`ZodUnknown`,(e,t)=>{Ri.init(e,t),G.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function Fc(){return _o(Pc)}const Ic=P(`ZodNever`,(e,t)=>{zi.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>bs(e,t,n,r)});function Lc(e){return vo(Ic,e)}const Rc=P(`ZodArray`,(e,t)=>{ic(),Vi.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ws(e,t,n,r),e.element=t.element},{min(e,t){return this.check(To(e,t))},nonempty(e){return this.check(To(1,e))},max(e,t){return this.check(wo(e,t))},length(e,t){return this.check(Eo(e,t))},unwrap(){return this.element}});function zc(e,t){return zo(Rc,e,t)}const Bc=P(`ZodObject`,(e,t)=>{ic(),qi.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Es(e,t,n,r),mn(e,`shape`,e=>e._zod.def.shape,!1)},{keyof(){return Z(Object.keys(this._zod.def.shape))},catchall(e){return this.clone(D(this._zod.def,{catchall:e}))},passthrough(){return this.clone(D(this._zod.def,{catchall:Fc()}))},loose(){return this.clone(D(this._zod.def,{catchall:Fc()}))},strict(){return this.clone(D(this._zod.def,{catchall:Lc()}))},strip(){return this.clone(D(this._zod.def,{catchall:void 0}))},extend(e){return Wt(this,e)},safeExtend(e){return Kt(this,e)},merge(e){return qt(this,e)},pick(e){return Vt(this,e)},omit(e){return Ut(this,e)},partial(...e){return Jt(Zc,this,e[0])},exactPartial(...e){return Jt($c,this,e[0],`exactPartial`)},required(...e){return Yt(sl,this,e[0])}});function Vc(e,t){let n={type:`object`,shape:e??{},...k(t)};return new Bc(n)}function X(e,t){return new Bc({type:`object`,shape:e,catchall:Fc(),...k(t)})}const Hc=P(`ZodUnion`,(e,t)=>{Yi.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ds(e,t,n,r),e.options=t.options});function Uc(e,t){return new Hc({type:`union`,options:e,...k(t)})}const Wc=P(`ZodIntersection`,(e,t)=>{Xi.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Os(e,t,n,r)});function Gc(e,t){return new Wc({type:`intersection`,left:e,right:t})}const Kc=P(`ZodRecord`,(e,t)=>{ic(),$i.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ms(e,t,n,r),e.keyType=t.keyType,e.valueType=t.valueType});function qc(e,t,n){return!t||!t._zod?new Kc({type:`record`,keyType:K(),valueType:e,...k(t)}):new Kc({type:`record`,keyType:e,valueType:t,...k(n)})}const Jc=P(`ZodEnum`,(e,t)=>{ea.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>xs(e,t,n,r),e.enum=t.entries,e.options=[...e._zod.values];let n=new Set(Object.keys(t.entries));e.extract=(e,r)=>{let i={};for(let r of e)if(n.has(r))i[r]=t.entries[r];else throw Error(`Key ${r} not found in enum`);return new Jc({...t,checks:[],...k(r),entries:i})},e.exclude=(e,r)=>{let i={...t.entries};for(let t of e)if(n.has(t))delete i[t];else throw Error(`Key ${t} not found in enum`);return new Jc({...t,checks:[],...k(r),entries:i})}});function Z(e,t){let n=Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e;return new Jc({type:`enum`,entries:n,...k(t)})}const Yc=P(`ZodTransform`,(e,t)=>{ic(),ta.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Cs(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new bn(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(an(r,n.value,t));else{let t=r;t.fatal&&(t.continue=!1),t.code??=`custom`,`input`in t||(t.input=n.value),t.inst??=e,n.issues.push(an(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n)):(n.value=i,n)}});function Xc(e){return new Yc({type:`transform`,transform:e})}const Zc=P(`ZodOptional`,(e,t)=>{ra.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Hs(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Qc(e){return new Zc({type:`optional`,innerType:e})}const $c=P(`ZodExactOptional`,(e,t)=>{ia.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Hs(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function el(e){return new $c({type:`optional`,innerType:e})}const tl=P(`ZodNullable`,(e,t)=>{aa.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ns(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function nl(e){return new tl({type:`nullable`,innerType:e})}const rl=P(`ZodDefault`,(e,t)=>{oa.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ls(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function il(e,t){return new rl({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():Pt(t)}})}const al=P(`ZodPrefault`,(e,t)=>{ca.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Rs(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function ol(e,t){return new al({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():Pt(t)}})}const sl=P(`ZodNonOptional`,(e,t)=>{la.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ps(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function cl(e,t){return new sl({type:`nonoptional`,innerType:e,...k(t)})}const ll=P(`ZodCatch`,(e,t)=>{fa.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>zs(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function ul(e,t){return new ll({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:hn(t)})}const dl=P(`ZodPipe`,(e,t)=>{pa.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Bs(e,t,n,r),e.in=t.in,e.out=t.out});function fl(e,t){return new dl({type:`pipe`,in:e,out:t})}const pl=P(`ZodReadonly`,(e,t)=>{ha.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Vs(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function ml(e){return new pl({type:`readonly`,innerType:e})}const hl=P(`ZodCustom`,(e,t)=>{_a.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ss(e,t,n,r)});function gl(e,t={}){return Bo(hl,e,t)}function _l(e,t){return Vo(e,t)}const vl=Vc({detail:K()}),yl=Vc({error:K()});function bl(e){if(!e)return`Unknown error`;if(e instanceof Error){let t=vl.safeParse(e.cause);return t.success?t.data.detail:xl(e.message)}if(typeof e==`object`){let t=vl.safeParse(e);if(t.success)return t.data.detail;let n=yl.safeParse(e);if(n.success)return n.data.error}try{return JSON.stringify(e)}catch{return String(e)}}function xl(e){let t=Sl(e);if(!t)return e;let n=vl.safeParse(t);if(n.success)return n.data.detail;let r=yl.safeParse(t);return r.success?r.data.error:e}function Sl(e){try{return JSON.parse(e)}catch{return e}}function Cl(e,t){if(!e)throw Error(t)}const wl=[`pip`,`uv`,`rye`,`poetry`,`pixi`],Tl=[`normal`,`compact`,`medium`,`full`,`columns`],El=[`auto`,`native`,`polars`,`lazy-polars`,`pandas`],Dl=[`html`,`markdown`,`ipynb`],Ol=[`off`,`jedi`],kl=[`manual`,`ask`,`agent`,`code_mode`],Q=Vc({api_key:K().optional(),base_url:K().optional(),project:K().optional()}).loose(),Al=Vc({chat_model:K().nullish(),edit_model:K().nullish(),autocomplete_model:K().nullish(),displayed_models:zc(K()).default([]),custom_models:zc(K()).default([])}),jl=X({completion:Vc({activate_on_typing:Y().prefault(!0),signature_hint_on_typing:Y().prefault(!1),auto_close_pairs:Y().prefault(!0),copilot:Uc([Y(),Z([`github`,`codeium`,`custom`])]).prefault(!1).transform(e=>e===!0?`github`:e),codeium_api_key:K().nullish()}).prefault({}),save:X({autosave:Z([`off`,`after_delay`]).prefault(`after_delay`),autosave_delay:J().nonnegative().transform(e=>Math.max(e,1e3)).prefault(1e3),format_on_save:Y().prefault(!1)}).prefault({}),formatting:X({line_length:J().nonnegative().prefault(79).transform(e=>Math.min(e,1e3)),infer_types:Z(Ol).prefault(`off`)}).prefault({}),keymap:X({preset:Z([`default`,`vim`]).prefault(`default`),overrides:qc(K(),K()).prefault({}),destructive_delete:Y().prefault(!0)}).prefault({}),runtime:X({auto_instantiate:Y().prefault(!0),on_cell_change:Z([`lazy`,`autorun`]).prefault(`autorun`),auto_reload:Z([`off`,`lazy`,`autorun`]).prefault(`off`),reactive_tests:Y().prefault(!0),watcher_on_save:Z([`lazy`,`autorun`]).prefault(`lazy`),sql_default_limit:J().int().nullable().optional(),default_sql_output:Z(El).prefault(`auto`),default_auto_download:zc(Z(Dl)).prefault([]),show_tracebacks:Y().prefault(!1)}).prefault({}),display:X({theme:Z([`light`,`dark`,`system`]).prefault(`light`),code_editor_font_size:J().nonnegative().prefault(14),cell_output:Z([`above`,`below`]).prefault(`below`),dataframes:Z([`rich`,`plain`]).prefault(`rich`),default_table_page_size:J().prefault(10),default_table_max_columns:J().prefault(50),default_width:Z(Tl).prefault(`medium`).transform(e=>e===`normal`?`compact`:e),locale:K().nullable().optional(),reference_highlighting:Y().prefault(!0),code_lens:Y().prefault(!0)}).prefault({}),package_management:X({manager:Z(wl).prefault(`pip`)}).prefault({}),ai:X({enabled:Y().prefault(!0),rules:K().prefault(``),max_tokens:J().int().positive().nullable().optional(),mode:Z(kl).transform(e=>e===`manual`?`ask`:e).prefault(`ask`),inline_tooltip:Y().prefault(!1),allow_provider_config:Y().prefault(!0),open_ai:Q.optional(),github:Q.optional(),anthropic:Q.optional(),google:Q.optional(),ollama:Q.optional(),openrouter:Q.optional(),wandb:Q.optional(),opencode_go:Q.optional(),open_ai_compatible:Q.optional(),azure:Q.optional(),bedrock:X({region_name:K().optional(),profile_name:K().optional(),aws_access_key_id:K().optional(),aws_secret_access_key:K().optional()}).optional(),custom_providers:qc(K(),Q).prefault({}),models:Al.prefault({displayed_models:[],custom_models:[]})}).prefault({}),experimental:X({markdown:Y().optional()}).prefault(()=>({})),server:X({skip_update_check:Y().optional(),session_cookie_secure:Y().optional(),session_secret:K().optional(),disable_file_downloads:Y().optional(),transport:Z([`websocket`,`sse`]).optional()}).prefault(()=>({})),diagnostics:X({enabled:Y().optional(),sql_linter:Y().optional()}).prefault(()=>({})),file_browser:X({folders:zc(Vc({path:K(),name:K().optional()})).optional()}).optional().prefault({}),sharing:X({html:Y().optional(),wasm:Y().optional(),molab:Y().optional()}).optional(),mcp:X({presets:zc(Z([`marimo`,`context7`])).optional()}).optional().prefault({})}).partial().prefault(()=>({completion:{},save:{},formatting:{},keymap:{},runtime:{},display:{},diagnostics:{},file_browser:{},experimental:{},server:{},ai:{},package_management:{},mcp:{}})),Ml=K(),Nl=Z(El).prefault(`auto`);Vc({width:Z(Tl).prefault(`compact`).transform(e=>e===`normal`?`compact`:e),app_title:Ml.nullish(),css_file:K().nullish(),html_head_file:K().nullish(),auto_download:zc(Z(Dl)).prefault([]),sql_output:Nl}).prefault(()=>({width:`compact`,auto_download:[],sql_output:`auto`}));function Pl(){return jl.parse({completion:{},save:{},formatting:{},keymap:{},runtime:{},display:{},diagnostics:{},file_browser:{},experimental:{},server:{},ai:{},package_management:{},mcp:{}})}function Fl(e){let t,n=!1;return function(...r){return n||(n=!0,t=e.apply(this,r)),t}}const Il=e=>new TextDecoder().decode(e);function Ll(e){return e.FS}const Rl=`notebook.py`,zl=`/marimo`,$={NOTEBOOK_FILENAME:Rl,HOME_DIR:zl,createHomeDir:e=>{let t=Ll(e);try{t.mkdirTree(zl)}catch{}t.chdir(zl)},mountFS:e=>{globalThis.origin!==`null`&&Ll(e).mount(e.FS.filesystems.IDBFS,{root:`.`},zl)},populateFilesToMemory:async e=>{await Bl(e,!0)},persistFilesToRemote:async e=>{await Bl(e,!1)},readNotebook:e=>{let t=Ll(e),n=`${zl}/${Rl}`;return Il(t.readFile(n))},initNotebookCode:e=>{let{pyodide:t,filename:n,code:r}=e,i=Ll(t),a=e=>{try{return Il(i.readFile(e))}catch{return null}};if(n&&n!==Rl){let e=a(n);if(e)return{code:e,filename:n}}return i.writeFile(Rl,r),{code:r,filename:Rl}}};function Bl(e,t){return new Promise((n,r)=>{Ll(e).syncfs(t,e=>{if(e instanceof Error){r(e);return}n()})})}function Vl(){return`marimo-base`}const Hl=new class{spans=[];startSpan(e,t={}){let n={name:e,startTime:Date.now(),attributes:t,end:(e=`ok`)=>this.endSpan(n,e)};return this.spans.push(n),n}endSpan(e,t=`ok`){e.endTime=Date.now(),e.status=t}getSpans(){return this.spans}wrap(e,t,n={}){let r=this.startSpan(t||e.name,n);try{let t=e();return this.endSpan(r),t}catch(e){throw this.endSpan(r,`error`),e}}wrapAsync(e,t,n={}){return async(...r)=>{let i=this.startSpan(t||e.name,n);try{let t=await e(...r);return this.endSpan(i),t}catch(e){throw this.endSpan(i,`error`),e}}}logSpans(){}};globalThis.t=Hl;function Ul(e){return e.trim().split(/[[<>=!~;@\s]/)[0]}var Wl=class{pyodide=null;packageLoadQueue=Promise.resolve();sessionGeneration=0;sessions=new Set;get requirePyodide(){return Cl(this.pyodide,`Pyodide not loaded`),this.pyodide}async bootstrap(e){return await this.loadPyodideAndPackages(e)}async loadPyodideAndPackages(e){if(!lt)throw Error(`loadPyodide is not defined`);let t=Hl.startSpan(`loadPyodide`);try{let n=e.pyodideIndexUrl??`https://cdn.jsdelivr.net/pyodide/${e.pyodideVersion}/full/`,r=await lt({packages:[`micropip`,`msgspec`,Vl(),`Markdown`,`pymdown-extensions`,`narwhals`,`packaging`],_makeSnapshot:!1,lockFileURL:e.pyodideLockfileUrl??`https://wasm.marimo.app/pyodide-lock.json?v=${e.version}&pyodide=${e.pyodideVersion}`,indexURL:n,packageBaseUrl:n,convertNullToNone:!0});if(e.pypiIndexUrl){let t=r.pyimport(`micropip`);try{t.set_index_urls(e.pypiIndexUrl)}finally{t.destroy()}}return this.pyodide=r,t.end(`ok`),r}catch(e){throw C.error(`Failed to load Pyodide`,e),e}}async mountFilesystem(e){let t=Hl.startSpan(`mountFilesystem`);return $.createHomeDir(this.requirePyodide),$.mountFS(this.requirePyodide),await $.populateFilesToMemory(this.requirePyodide),t.end(`ok`),$.initNotebookCode({pyodide:this.requirePyodide,code:e.code,filename:e.filename})}async prepareSession(e){let t=this.sessionGeneration,{code:n,filename:r,queryParameters:i,userConfig:a}=e;self.query_params=i,self.user_config=a;let o=Hl.startSpan(`prepareSession.runPython`),s=r||$.NOTEBOOK_FILENAME,c=this.requirePyodide.runPython(`
58
+ print("[py] Starting marimo...")
59
+ import asyncio
60
+ import gc
61
+ import js
62
+ from marimo._pyodide.bootstrap import create_session, instantiate
63
+
64
+ assert js.query_params, "query_params is not defined"
65
+
66
+ def create_session_resources():
67
+ session, bridge = create_session(
68
+ filename="${s}",
69
+ query_params=js.query_params.to_py(),
70
+ user_config=js.user_config.to_py(),
71
+ )
72
+ session_task = None
73
+
74
+ def init(auto_instantiate=True):
75
+ nonlocal session_task
76
+ instantiate(session, auto_instantiate)
77
+ session_task = asyncio.create_task(session.start())
78
+
79
+ async def stop():
80
+ nonlocal bridge, session, session_task
81
+ task = session_task
82
+ kernel_task = getattr(session, "kernel_task", None)
83
+ if kernel_task is None:
84
+ if task is not None:
85
+ task.cancel()
86
+ else:
87
+ kernel_task.stop()
88
+ if task is not None:
89
+ await asyncio.gather(task, return_exceptions=True)
90
+ if bridge is not None:
91
+ bridge.close()
92
+ bridge.session = None
93
+ task = None
94
+ kernel_task = None
95
+ session_task = None
96
+ session = None
97
+ bridge = None
98
+ gc.collect()
99
+
100
+ with open("${s}", "r") as f:
101
+ packages = session.find_packages(f.read())
102
+
103
+ return bridge, init, packages, stop
104
+
105
+ create_session_resources()`);o.end();let l,u,d,f;try{[l,u,d,f]=c}finally{c.destroy()}let p;try{p=new Set(d.toJs())}catch(e){throw l.destroy(),u.destroy(),f.destroy(),e}finally{d.destroy()}let m=!1,h,ee=Fl(()=>u.destroy()),g=()=>m||t!==this.sessionGeneration,te=this.packageLoadQueue.then(()=>{if(!g())return this.loadNotebookDeps(n,p)});this.packageLoadQueue=te.catch(()=>void 0);let _={bridge:l,start:Fl(async()=>{try{if(g())return;await te,g()||u(a.runtime.auto_instantiate)}catch(e){if(!g())throw e}finally{ee()}}),stop:()=>(m=!0,ee(),h??=(async()=>{await f(),f.destroy(),l.destroy(),this.sessions.delete(_)})().catch(e=>{throw h=void 0,e}),h)};return this.sessions.add(_),_}async stopSession(){this.sessionGeneration+=1;let e=[...this.sessions],t=!1,n;for(let r of e)try{await r.stop()}catch(e){t||(t=!0,n=e)}if(t)throw n}async loadNotebookDeps(e,t){let n=this.requirePyodide;ne(e,t)&&(e=`import pandas\n${e}`,e=`import duckdb\n${e}`,e=`import sqlglot\n${e}`,e.includes(`polars`)&&(e=`import pyarrow\n${e}`)),e=`import docutils\n${e}`,e=`import pygments\n${e}`,e=`import jedi\n${e}`,e=`import pyodide_http\n${e}`;let r=[...t],i=Hl.startSpan(`pyodide.loadPackage`);await n.loadPackagesFromImports(e,{errorCallback:C.error,messageCallback:C.log}),i.end(),i=Hl.startSpan(`micropip.install`);let a=r.filter(e=>!n.loadedPackages[Ul(e)]);if(a.length>0){let e=a.map(e=>[Ul(e),e]);await n.runPythonAsync(`
106
+ import micropip
107
+ import sys
108
+ # Filter out builtins
109
+ missing = [req for name, req in ${JSON.stringify(e)} if name not in sys.modules]
110
+ if len(missing) > 0:
111
+ print("Loading from micropip:", missing)
112
+ await micropip.install(missing)
113
+ `).catch(e=>{C.error(`Failed to load packages from micropip`,e)})}i.end()}},Gl=class extends Wl{async bootstrap(e){return await super.bootstrap(e)}async mountFilesystem(e){let{code:t,filename:n}=e;try{return $.createHomeDir(this.requirePyodide),$.initNotebookCode({pyodide:this.requirePyodide,code:t,filename:n})}catch(e){C.error(e)}return{code:t,filename:n}}async prepareSession(e){return super.prepareSession({queryParameters:{},code:e.code,filename:e.filename,userConfig:Pl()})}};async function Kl(){let e=ru(),t=ut(e);try{self.controller=new Gl,self.pyodide=await self.controller.bootstrap({version:e,pyodideVersion:t})}catch(e){C.error(`Error bootstrapping`,e),nu.send.initializedError({error:bl(e)})}}const ql=Kl();let Jl,Yl=Promise.resolve();async function Xl(e,t){await ql;try{Cl(self.controller,`Controller not loaded`),t&&await Zl();let n=await self.controller.mountFilesystem({code:e.code,filename:`app-${e.appId}.py`}),r=await self.controller.prepareSession(n);try{await Ql(r.bridge,e.sessionGeneration)}catch(e){throw await r.stop(),e}r.start().catch(e=>{nu.send.initializedError({error:bl(e)})}),Jl||={appId:e.appId,bridge:r.bridge,sessionGeneration:e.sessionGeneration},nu.send.initialized({})}catch(e){throw nu.send.initializedError({error:bl(e)}),e}}async function Zl(){await self.controller.stopSession(),Jl=void 0}async function Ql(e,t){let n=e.notebook;try{await n.subscribe(`island-${t}`,null,e=>{nu.send.notebookEvent({event:e,sessionGeneration:t})})}finally{n.destroy()}}function $l(e){let t=Yl.then(e);return Yl=t.then(()=>void 0,()=>void 0),t}const eu=u({startSession:async e=>{await $l(()=>Xl(e,!1))},replaceSession:async e=>{await $l(()=>Xl(e,!0))},stopSession:async e=>{await $l(async()=>{Jl?.appId===e.appId&&Jl?.sessionGeneration===e.sessionGeneration&&(Cl(self.controller,`Controller not loaded`),await Zl())})},loadPackages:async e=>{await ql,await $l(async()=>{tu(e);let{code:t}=e;ne(t)&&(t=`import pandas\n${t}`,t=`import duckdb\n${t}`,t=`import sqlglot\n${t}`,t.includes(`polars`)&&(t=`import pyarrow\n${t}`)),await self.pyodide.loadPackagesFromImports(t,{messageCallback:C.log,errorCallback:C.error})})},bridge:async e=>{await ql;let{functionName:t,payload:n}=e;return $l(async()=>{let r=tu(e),i=n==null?null:typeof n==`string`?n:JSON.stringify(n),a=i==null?await r[t]():await r[t](i);return typeof a==`string`?JSON.parse(a):a})}});function tu(e){let t=Jl;if(!t||e.appId!==t.appId||e.sessionGeneration!==t.sessionGeneration)throw Error(`The marimo app session is no longer active.`);return t.bridge}const nu=p({transport:te({transportId:`marimo-transport`}),requestHandler:eu});nu.send(`ready`,{});function ru(){return self.name}export{o as t};
@@ -1,4 +1,4 @@
1
- import { t as e } from "./graphlib-BmY_CCV9.js";
1
+ import { t as e } from "./graphlib-nlwT3Wvy.js";
2
2
  import { A as t, B as n, C as r, D as i, E as a, F as o, G as s, H as c, I as l, L as u, M as d, N as f, O as p, P as m, R as h, T as g, U as _, V as ee, W as te, b as v, j as y, k as b, l as x, v as S, w as C, z as w } from "./chunk-75Z2AOVW-D7gxIs2Q.js";
3
3
  import { n as T, t as E } from "./src-CA_m4ONl.js";
4
4
  import { n as D } from "./chunk-Y2CYZVJY-DKKS1VyV.js";
@@ -3,7 +3,7 @@ import { t } from "./react-sHtZdjeP.js";
3
3
  import { t as n } from "./compiler-runtime-CldRdSsv.js";
4
4
  import { t as r } from "./clsx-CoeGtWvn.js";
5
5
  import { t as i } from "./jsx-runtime-3BD1kT0s.js";
6
- import { t as a } from "./objects-CzUgoMIF.js";
6
+ import { t as a } from "./objects-DCmMvZtn.js";
7
7
  //#region src/utils/functions.ts
8
8
  var o = {
9
9
  NOOP: () => {},
@@ -1335,7 +1335,7 @@ function Y(...e) {
1335
1335
  }
1336
1336
  K(Y, "useComposedRefs");
1337
1337
  //#endregion
1338
- //#region ../node_modules/.pnpm/@radix-ui+react-slot@1.3.3_@types+react@19.3.0_react@19.3.0/node_modules/@radix-ui/react-slot/dist/index.mjs
1338
+ //#region ../node_modules/.pnpm/@radix-ui+react-slot@1.5.0_@types+react@19.3.0_react@19.3.0/node_modules/@radix-ui/react-slot/dist/index.mjs
1339
1339
  var Se = Object.defineProperty, X = (e, t) => Se(e, "name", {
1340
1340
  value: t,
1341
1341
  configurable: !0
@@ -1344,16 +1344,17 @@ var Se = Object.defineProperty, X = (e, t) => Se(e, "name", {
1344
1344
  function Ce(e) {
1345
1345
  let t = p.forwardRef((t, n) => {
1346
1346
  let { children: r, ...i } = t, a = null, o = !1, s = [];
1347
- Me(r) && typeof Z == "function" && (r = Z(r._payload)), p.Children.forEach(r, (e) => {
1347
+ r = Pe(r), p.Children.forEach(r, (e) => {
1348
1348
  if (Ae(e)) {
1349
1349
  o = !0;
1350
1350
  let t = e, n = "child" in t.props ? t.props.child : t.props.children;
1351
- Me(n) && typeof Z == "function" && (n = Z(n._payload)), a = De(t, n), s.push(a?.props?.children);
1351
+ for (; Me(n) && typeof Z == "function";) n = Z(n._payload);
1352
+ a = De(t, n), s.push(a?.props?.children);
1352
1353
  } else s.push(e);
1353
1354
  }), a ? a = p.cloneElement(a, void 0, s) : !o && p.Children.count(r) === 1 && p.isValidElement(r) && (a = r);
1354
1355
  let c = a ? ke(a) : void 0, l = Y(n, c);
1355
1356
  if (!a) {
1356
- if (r || r === 0) throw Error(o ? Fe(e) : Pe(e));
1357
+ if (r || r === 0) throw Error(o ? Le(e) : Ie(e));
1357
1358
  return r;
1358
1359
  }
1359
1360
  let u = Oe(i, a.props ?? {});
@@ -1369,13 +1370,7 @@ function Ee(e) {
1369
1370
  return t.displayName = `${e}.Slottable`, t.__radixId = Te, t;
1370
1371
  }
1371
1372
  X(Ee, "createSlottable");
1372
- var De = /* @__PURE__ */ X((e, t) => {
1373
- if ("child" in e.props) {
1374
- let t = e.props.child;
1375
- return p.isValidElement(t) ? p.cloneElement(t, void 0, e.props.children(t.props.children)) : null;
1376
- }
1377
- return p.isValidElement(t) ? t : null;
1378
- }, "getSlottableElementFromSlottable");
1373
+ var De = /* @__PURE__ */ X((e, t) => "child" in e.props ? p.isValidElement(t) ? p.cloneElement(t, void 0, e.props.children(t.props.children)) : null : p.isValidElement(t) ? t : null, "getSlottableElementFromSlottable");
1379
1374
  function Oe(e, t) {
1380
1375
  let n = { ...t };
1381
1376
  for (let r in t) {
@@ -1386,7 +1381,7 @@ function Oe(e, t) {
1386
1381
  } : i && (n[r] = i) : r === "style" ? n[r] = {
1387
1382
  ...i,
1388
1383
  ...a
1389
- } : r === "className" && (n[r] = [i, a].filter(Boolean).join(" "));
1384
+ } : r === "className" ? n[r] = [i, a].filter(Boolean).join(" ") : r === "aria-describedby" && (n[r] = Fe(a, i));
1390
1385
  }
1391
1386
  return {
1392
1387
  ...e,
@@ -1412,31 +1407,19 @@ function Ne(e) {
1412
1407
  return typeof e == "object" && !!e && "then" in e;
1413
1408
  }
1414
1409
  X(Ne, "isPromiseLike");
1415
- var Pe = /* @__PURE__ */ X((e) => `${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`, "createSlotError"), Fe = /* @__PURE__ */ X((e) => `${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`, "createSlottableError"), Z = p.use;
1416
- //#endregion
1417
- //#region src/hooks/useEventListener.ts
1418
- function Ie(e) {
1419
- return typeof e == "object" && !!e && !("addEventListener" in e) && "current" in e;
1410
+ function Pe(e) {
1411
+ let t = e;
1412
+ for (; Me(t) && typeof Z == "function";) t = Z(t._payload);
1413
+ return t;
1420
1414
  }
1421
- function Le(e, t, n, r) {
1422
- let i = (0, m.c)(8), a = (0, p.useRef)(n), o, s;
1423
- i[0] === n ? (o = i[1], s = i[2]) : (o = () => {
1424
- a.current = n;
1425
- }, s = [n], i[0] = n, i[1] = o, i[2] = s), (0, p.useEffect)(o, s);
1426
- let c, l;
1427
- i[3] !== r || i[4] !== e || i[5] !== t ? (c = () => {
1428
- let n = Ie(e) ? e.current : e;
1429
- if (!n) return;
1430
- let i = (e) => a.current(e);
1431
- return n.addEventListener(t, i, r), () => {
1432
- n.removeEventListener(t, i, r);
1433
- };
1434
- }, l = [
1435
- t,
1436
- e,
1437
- r
1438
- ], i[3] = r, i[4] = e, i[5] = t, i[6] = c, i[7] = l) : (c = i[6], l = i[7]), (0, p.useEffect)(c, l);
1415
+ X(Pe, "useUnwrappedLazy");
1416
+ function Fe(...e) {
1417
+ let t = /* @__PURE__ */ new Set();
1418
+ for (let n of e) if (typeof n == "string") for (let e of String(n).trim().split(/\s+/)) e && t.add(e);
1419
+ return t.size > 0 ? Array.from(t).join(" ") : void 0;
1439
1420
  }
1421
+ X(Fe, "concatAriaDescribedby");
1422
+ var Ie = /* @__PURE__ */ X((e) => `${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`, "createSlotError"), Le = /* @__PURE__ */ X((e) => `${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`, "createSlottableError"), Z = p.use;
1440
1423
  //#endregion
1441
1424
  //#region src/core/hotkeys/shortcuts.ts
1442
1425
  function Re() {
@@ -1663,7 +1646,8 @@ var Q = Symbol("NOT_SET"), We = {
1663
1646
  key: "Mod-h"
1664
1647
  },
1665
1648
  "cell.aiCompletion": {
1666
- name: "AI completion",
1649
+ name: "Refactor cell",
1650
+ additionalKeywords: ["AI", "AI completion"],
1667
1651
  group: "Editing",
1668
1652
  key: "Mod-Shift-e"
1669
1653
  },
@@ -1984,19 +1968,43 @@ function Je(e) {
1984
1968
  return n.length > 1 && !qe.test(n) && (t[t.length - 1] = n.charAt(0).toUpperCase() + n.slice(1)), t.join("-");
1985
1969
  }
1986
1970
  //#endregion
1971
+ //#region src/hooks/useEventListener.ts
1972
+ function Ye(e) {
1973
+ return typeof e == "object" && !!e && !("addEventListener" in e) && "current" in e;
1974
+ }
1975
+ function Xe(e, t, n, r) {
1976
+ let i = (0, m.c)(8), a = (0, p.useRef)(n), o, s;
1977
+ i[0] === n ? (o = i[1], s = i[2]) : (o = () => {
1978
+ a.current = n;
1979
+ }, s = [n], i[0] = n, i[1] = o, i[2] = s), (0, p.useEffect)(o, s);
1980
+ let c, l;
1981
+ i[3] !== r || i[4] !== e || i[5] !== t ? (c = () => {
1982
+ let n = Ye(e) ? e.current : e;
1983
+ if (!n) return;
1984
+ let i = (e) => a.current(e);
1985
+ return n.addEventListener(t, i, r), () => {
1986
+ n.removeEventListener(t, i, r);
1987
+ };
1988
+ }, l = [
1989
+ t,
1990
+ e,
1991
+ r
1992
+ ], i[3] = r, i[4] = e, i[5] = t, i[6] = c, i[7] = l) : (c = i[6], l = i[7]), (0, p.useEffect)(c, l);
1993
+ }
1994
+ //#endregion
1987
1995
  //#region ../node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.mjs
1988
- var Ye = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, Xe = r, Ze = (e, t) => (n) => {
1989
- if (t?.variants == null) return Xe(e, n?.class, n?.className);
1996
+ var Ze = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, Qe = r, $e = (e, t) => (n) => {
1997
+ if (t?.variants == null) return Qe(e, n?.class, n?.className);
1990
1998
  let { variants: r, defaultVariants: i } = t, a = Object.keys(r).map((e) => {
1991
1999
  let t = n?.[e], a = i?.[e];
1992
2000
  if (t === null) return null;
1993
- let o = Ye(t) || Ye(a);
2001
+ let o = Ze(t) || Ze(a);
1994
2002
  return r[e][o];
1995
2003
  }), o = n && Object.entries(n).reduce((e, t) => {
1996
2004
  let [n, r] = t;
1997
2005
  return r === void 0 || (e[n] = r), e;
1998
2006
  }, {});
1999
- return Xe(e, a, t?.compoundVariants?.reduce((e, t) => {
2007
+ return Qe(e, a, t?.compoundVariants?.reduce((e, t) => {
2000
2008
  let { class: n, className: r, ...a } = t;
2001
2009
  return Object.entries(a).every((e) => {
2002
2010
  let [t, n] = e;
@@ -2013,7 +2021,7 @@ var Ye = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, Xe = r, Ze =
2013
2021
  r
2014
2022
  ] : e;
2015
2023
  }, []), n?.class, n?.className);
2016
- }, Qe = i(), $ = "active:shadow-none", $e = Ze(W("disabled:opacity-50 disabled:pointer-events-none", "inline-flex items-center justify-center rounded-md text-sm font-medium focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-2 ring-offset-background", "forced-color-adjust-none forced-colors:border-[ButtonText] forced-colors:bg-[ButtonFace] forced-colors:text-[ButtonText] forced-colors:hover:bg-[Highlight] forced-colors:hover:text-[HighlightText] forced-colors:disabled:border-[GrayText] forced-colors:disabled:text-[GrayText]"), {
2024
+ }, et = i(), $ = "active:shadow-none", tt = $e(W("disabled:opacity-50 disabled:pointer-events-none", "inline-flex items-center justify-center rounded-md text-sm font-medium focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-2 ring-offset-background", "forced-color-adjust-none forced-colors:border-[ButtonText] forced-colors:bg-[ButtonFace] forced-colors:text-[ButtonText] forced-colors:hover:bg-[Highlight] forced-colors:hover:text-[HighlightText] forced-colors:disabled:border-[GrayText] forced-colors:disabled:text-[GrayText]"), {
2017
2025
  variants: {
2018
2026
  variant: {
2019
2027
  default: W("bg-primary text-primary-foreground hover:bg-primary/90 shadow-xs border border-primary", $),
@@ -2042,7 +2050,7 @@ var Ye = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, Xe = r, Ze =
2042
2050
  variant: "default",
2043
2051
  size: "sm"
2044
2052
  }
2045
- }), et = p.forwardRef((e, t) => {
2053
+ }), nt = p.forwardRef((e, t) => {
2046
2054
  let n = (0, m.c)(19), r, i, a, o, s, c;
2047
2055
  n[0] === e ? (r = n[1], i = n[2], a = n[3], o = n[4], s = n[5], c = n[6]) : ({className: r, variant: c, size: o, asChild: s, keyboardShortcut: i, ...a} = e, n[0] = e, n[1] = r, n[2] = i, n[3] = a, n[4] = o, n[5] = s, n[6] = c);
2048
2056
  let l = s !== void 0 && s, u = p.useRef(null), d;
@@ -2050,21 +2058,21 @@ var Ye = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, Xe = r, Ze =
2050
2058
  let f;
2051
2059
  n[8] === i ? f = n[9] : (f = (e) => {
2052
2060
  !i || e.defaultPrevented || G.shouldIgnoreKeyboardEvent(e) || He(i)(e) && (e.preventDefault(), e.stopPropagation(), u?.current && !u.current.disabled && u.current.click());
2053
- }, n[8] = i, n[9] = f), Le(document, "keydown", f);
2061
+ }, n[8] = i, n[9] = f), Xe(document, "keydown", f);
2054
2062
  let h = l ? we : "button", g;
2055
- n[10] !== r || n[11] !== a.disabled || n[12] !== o || n[13] !== c ? (g = W($e({
2063
+ n[10] !== r || n[11] !== a.disabled || n[12] !== o || n[13] !== c ? (g = W(tt({
2056
2064
  variant: c,
2057
2065
  size: o,
2058
2066
  className: r,
2059
2067
  disabled: a.disabled
2060
2068
  }), r), n[10] = r, n[11] = a.disabled, n[12] = o, n[13] = c, n[14] = g) : g = n[14];
2061
2069
  let _;
2062
- return n[15] !== h || n[16] !== a || n[17] !== g ? (_ = /* @__PURE__ */ (0, Qe.jsx)(h, {
2070
+ return n[15] !== h || n[16] !== a || n[17] !== g ? (_ = /* @__PURE__ */ (0, et.jsx)(h, {
2063
2071
  className: g,
2064
2072
  ref: u,
2065
2073
  ...a
2066
2074
  }), n[15] = h, n[16] = a, n[17] = g, n[18] = _) : _ = n[18], _;
2067
2075
  });
2068
- et.displayName = "Button";
2076
+ nt.displayName = "Button";
2069
2077
  //#endregion
2070
- export { o as _, Ke as a, Le as c, Ee as d, J as f, f as g, W as h, Q as i, we as l, G as m, $e as n, Re as o, Y as p, Ze as r, Ue as s, et as t, Ce as u, s as v };
2078
+ export { o as _, Q as a, Ue as c, Ee as d, J as f, f as g, W as h, Xe as i, we as l, G as m, tt as n, Ke as o, Y as p, $e as r, Re as s, nt as t, Ce as u, s as v };
@@ -1,5 +1,5 @@
1
- import { g as e } from "./button-CvjkwdSk.js";
2
- import { n as t } from "./once-BtE-wKRL.js";
1
+ import { g as e } from "./button-DZuNnIZO.js";
2
+ import { n as t } from "./once-NnpX_HnX.js";
3
3
  //#region src/utils/capabilities.ts
4
4
  function n(e) {
5
5
  try {