@marimo-team/islands 0.25.3-dev15 → 0.25.3-dev151
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{ConnectedDataExplorerComponent-CNMliVzw.js → ConnectedDataExplorerComponent-BAiSVaHj.js} +17 -15
- package/dist/{ErrorBoundary-z1rqMOCq.js → ErrorBoundary-BcVeWpOS.js} +16 -16
- package/dist/{abnfDiagram-VCTEODGH-D-Ez91gV.js → abnfDiagram-VCTEODGH-BBHN92-F.js} +2 -2
- package/dist/any-language-editor-3E24SnCV.js +75 -0
- package/dist/{architectureDiagram-5GKGNRK7-CTpcNtO8.js → architectureDiagram-5GKGNRK7-C0Rd64qh.js} +1 -1
- package/dist/{arrays-CN1djC4k.js → arrays-R6JsImiT.js} +8 -0
- package/dist/assets/__vite-browser-external-BgQNn4dS.js +1 -0
- package/dist/assets/worker-FKe3RHT4.js +113 -0
- package/dist/{button-CvjkwdSk.js → button-BQRdqQi1.js} +199 -192
- package/dist/{capabilities-CQ5IjhzL.js → capabilities-CI4xUPsp.js} +2 -2
- package/dist/{chat-ui-DaHynk8g.js → chat-ui-CvB8Map3.js} +1142 -1141
- package/dist/{check-EDwSwP89.js → check-SpOMoCLP.js} +1 -1
- package/dist/{chunk-IMKFNOWR-DGxi-zeo.js → chunk-IMKFNOWR-hJXey5p2.js} +1 -1
- package/dist/{chunk-SHT3W25Y-CV9J3rAB.js → chunk-SHT3W25Y-JMzTmmVW.js} +1 -1
- package/dist/{chunk-SVP7TREG-BL-9Fqgg.js → chunk-SVP7TREG-BIyoHTXi.js} +1 -1
- package/dist/{chunk-TICWLB2K-Cu_XMjDM.js → chunk-TICWLB2K-CCzH2Uwa.js} +1 -1
- package/dist/{chunk-YOKDWASO-DPZk8vhS.js → chunk-YOKDWASO-DKplTrBY.js} +20 -20
- package/dist/{classDiagram-ZZMXUADV-BXXV13Hq.js → classDiagram-ZZMXUADV-DB1kOPS6.js} +2 -2
- package/dist/{classDiagram-v2-VYDZK3BY-B7FXJ1Cp.js → classDiagram-v2-VYDZK3BY-CPaFL0OB.js} +2 -2
- package/dist/{code-visibility-BFMjPeTv.js → code-visibility-DwvgNXfD.js} +6 -6
- package/dist/{common-JHV-U5GC.js → common-DbeFugQS.js} +6827 -6647
- package/dist/{copy-icon-Ft7t9bqz.js → copy-icon-C1trdvVt.js} +3 -3
- package/dist/{cynefinDiagram-5FMLGOSQ-CH96rwba.js → cynefinDiagram-5FMLGOSQ-CF93uliH.js} +1 -1
- package/dist/{dagre-GXQ25YYZ-BD3PmpFY.js → dagre-GXQ25YYZ-BBB-_p9D.js} +1 -1
- package/dist/{data-grid-overlay-editor-BkL0DXBi.js → data-grid-overlay-editor-CcwDweHQ.js} +5 -5
- package/dist/{data-grid-types-BH_r7g7l.js → data-grid-types-0PJ-9N5n.js} +1 -1
- package/dist/{diagram-S7CK7UJ4-BsSJJldB.js → diagram-S7CK7UJ4-BynCnbyt.js} +1 -1
- package/dist/{diagram-UQ7AKVKN-muQtNZc4.js → diagram-UQ7AKVKN-svOxikMa.js} +1 -1
- package/dist/{diagram-VX7I27RA-CdhuZAqR.js → diagram-VX7I27RA-BVQSnPx0.js} +1 -1
- package/dist/{diagram-Z3DM3KII-BD8mXjOj.js → diagram-Z3DM3KII-nR1J0BH5.js} +1 -1
- package/dist/{dialog-CEBFZNyc.js → dialog-DgeqyrEZ.js} +3 -3
- package/dist/{dist-DpBpA_n1.js → dist-Lm-D-Vr6.js} +3 -3
- package/dist/{dropdown-menu-CP_qCYHC.js → dropdown-menu-GWcGCcxE.js} +1277 -1229
- package/dist/{ebnfDiagram-PWID7BFC-BIN1sweE.js → ebnfDiagram-PWID7BFC-C9tq9-Qo.js} +2 -2
- package/dist/{erDiagram-RLTQ6QDP-Ctp5cfoN.js → erDiagram-RLTQ6QDP-BiaeB7Fi.js} +1 -1
- package/dist/{error-banner-D-WCIiMt.js → error-banner-D40pmfQQ.js} +83 -83
- package/dist/{error-entries-Bv6bZPF3.js → error-entries-CmFDQ9CA.js} +1018 -977
- package/dist/{feedback-button-do3RdfYX.js → feedback-button-CMOX9MZM.js} +23 -23
- package/dist/{flowDiagram-HODETNUW-3EfLrlFb.js → flowDiagram-HODETNUW-f-sLm87k.js} +2 -2
- package/dist/{formats-27CW_UP4.js → formats-CCxaLPNs.js} +3 -3
- package/dist/{ganttDiagram-EL5Y4UJY-BQT16JSc.js → ganttDiagram-EL5Y4UJY-Dh_4cBJZ.js} +2 -2
- package/dist/{glide-data-editor-B2KXsLT5.js → glide-data-editor-C2oatpsM.js} +370 -368
- package/dist/{glide-utils-DJyqh0EM.js → glide-utils-Dz_F4pAY.js} +16 -16
- package/dist/{globals-Cnjg2Own.js → globals-CIJRWTWH.js} +3 -3
- package/dist/{highlighted-body-KPVGNVTW-zwjq21tf.js → highlighted-body-KPVGNVTW-3Ziwfz-V.js} +2 -2
- package/dist/{html-to-image-Bf8QMGi4.js → html-to-image-BrC8OJcj.js} +632 -595
- package/dist/{infoDiagram-27XIBGKW-DipQoHxl.js → infoDiagram-27XIBGKW-BHrWywBe.js} +1 -1
- package/dist/{ishikawaDiagram-5VMMS53U-DgFMjSGz.js → ishikawaDiagram-5VMMS53U-Da4s0Reg.js} +1 -1
- package/dist/{kanban-definition-UXKFOSKX-w1ACVjgl.js → kanban-definition-UXKFOSKX-DDf1GVLj.js} +1 -1
- package/dist/{label-BDKF3Afc.js → label-D9_-zSg-.js} +3 -3
- package/dist/{linear-Cnaq3Tfb.js → linear-DWERh7eI.js} +121 -73
- package/dist/{loader-BQOfjTIJ.js → loader-DOVB0Syl.js} +12 -12
- package/dist/main.js +7553 -7232
- package/dist/{mermaid-CHo49Yv-.js → mermaid-ClwTt7OD.js} +38 -38
- package/dist/mermaid-HWGCJPDP-Du3-HPQA.js +2 -0
- package/dist/{mindmap-definition-YA3MSWOX-CrT0KSfX.js → mindmap-definition-YA3MSWOX-D60oMZtT.js} +1 -1
- package/dist/{number-overlay-editor-DBsAEYkJ.js → number-overlay-editor-Cw7gLBQL.js} +3 -3
- package/dist/{objects-CzUgoMIF.js → objects-DCmMvZtn.js} +1 -3
- package/dist/{once-BtE-wKRL.js → once-eG8Vmvjd.js} +1 -1
- package/dist/{pegDiagram-XKGWAZYB-BqvywNJA.js → pegDiagram-XKGWAZYB-B9wFpMga.js} +2 -2
- package/dist/{pieDiagram-E7YTZNPT-BfxJ_XCc.js → pieDiagram-E7YTZNPT-BZwvMuBT.js} +1 -1
- package/dist/precisionRound-DhAzeRcm.js +49 -0
- package/dist/{process-output-BZg56CCb.js → process-output-Bw-vzyoy.js} +5 -5
- package/dist/{quadrantDiagram-AXDQQJYC-Ccw0xMjN.js → quadrantDiagram-AXDQQJYC-Blrm7V7_.js} +1 -1
- package/dist/{railroadDiagram-O6MQD6OU-8vFLVTPu.js → railroadDiagram-O6MQD6OU-DqhZGsN2.js} +2 -2
- package/dist/{react-vega-BED0DjiB.js → react-vega-C4T9Rb_w.js} +12284 -12270
- package/dist/{requirementDiagram-BXWQKSXE-a_MxGvxe.js → requirementDiagram-BXWQKSXE-CL5dYARV.js} +1 -1
- package/dist/{reveal-component-IkMCCFzA.js → reveal-component-msJ58E5g.js} +14 -14
- package/dist/{select-BButFi-d.js → select-CkF_GBxO.js} +537 -458
- package/dist/{sequenceDiagram-WJ2MYXX4-CXFMnxGh.js → sequenceDiagram-WJ2MYXX4-BSUCRd2x.js} +1 -1
- package/dist/{spec-BwarBpUJ.js → spec-DiSh_qJC.js} +41 -11
- package/dist/{stateDiagram-D77RDMKH-DQeA_CwI.js → stateDiagram-D77RDMKH-B-1Hvyb0.js} +2 -2
- package/dist/{stateDiagram-v2-MP3YSRHH-BxxQucm1.js → stateDiagram-v2-MP3YSRHH--HtiR4yB.js} +2 -2
- package/dist/style.css +1 -1
- package/dist/{swimlanes-42K2YHIH-Do6L-cYg.js → swimlanes-42K2YHIH-Bdfhrd-2.js} +1 -1
- package/dist/{swimlanesDiagram-VR7AAH4N-DUzPvSVU.js → swimlanesDiagram-VR7AAH4N-BJIfxSz0.js} +2 -2
- package/dist/{swiper-component-DKntyn8p.js → swiper-component-BkCm-kLg.js} +2 -2
- package/dist/{time-BieKwdYS.js → time-BaMbJs4z.js} +18 -18
- package/dist/{timeline-definition-24CTP7MA-D3c46WM5.js → timeline-definition-24CTP7MA-Cs4EfFD3.js} +1 -1
- package/dist/{toDate-UtiwmnH2.js → toDate-DGvRHwTk.js} +19 -18
- package/dist/{toast-B9UMEi8u.js → toast-Btbve3Lm.js} +231 -213
- package/dist/{tooltip-BO1REbqs.js → tooltip-CJ4Rqasp.js} +327 -303
- package/dist/{use-restore-focus-BEM7sFWl.js → use-restore-focus-CmGwRNId.js} +1482 -1433
- package/dist/{useAsyncData-Deh5kszT.js → useAsyncData-BmVgnMP5.js} +15 -14
- package/dist/{useDateFormatter-D8XruNGG.js → useDateFormatter-eCL_SdeG.js} +2 -2
- package/dist/{useDeepCompareMemoize-DXwzRINI.js → useDeepCompareMemoize-Ch_AeGu6.js} +1 -1
- package/dist/{useIframeCapabilities-DBETvvPl.js → useIframeCapabilities-CSdWn6NP.js} +1 -1
- package/dist/{useLifecycle-j7D9uD1o.js → useLifecycle-B5BX921H.js} +3 -3
- package/dist/{useTheme-CRnjkku0.js → useTheme-Bq9pi_vz.js} +6 -6
- package/dist/{vega-component-BeF9dfyO.js → vega-component-BgyZ-COt.js} +147 -147
- package/dist/{vega-embed-container-BNHE18G9.js → vega-embed-container--LYZqguO.js} +2 -2
- package/dist/{vega-loader.browser-DNST6uVf.js → vega-loader.browser-B9Pz0EGP.js} +298 -507
- package/dist/{vennDiagram-4TSXK5OY-BSZD8JcZ.js → vennDiagram-4TSXK5OY-DRu0vRjO.js} +1 -1
- package/dist/{wardleyDiagram-VM6X3IG4-48cUWkfA.js → wardleyDiagram-VM6X3IG4-DzbDxwDY.js} +1 -1
- package/dist/{xychartDiagram-S5SC5T6Z-CswYgYeu.js → xychartDiagram-S5SC5T6Z-CLWj6ZFQ.js} +2 -2
- package/package.json +16 -16
- package/src/__tests__/module-entry.test.ts +44 -0
- package/src/__tests__/mount.test.ts +1 -21
- package/src/__tests__/{host-imports.test.ts → replica-imports.test.ts} +12 -11
- package/src/components/ai/__tests__/ai-model-dropdown.test.tsx +63 -0
- package/src/components/ai/ai-model-dropdown.tsx +11 -6
- package/src/components/app-config/ai-config.tsx +7 -2
- package/src/components/chat/__tests__/message-queue.test.tsx +17 -0
- package/src/components/chat/acp/__tests__/session-tabs.test.tsx +43 -0
- package/src/components/chat/acp/__tests__/state.test.ts +2 -2
- package/src/components/chat/acp/blocks.tsx +3 -2
- package/src/components/chat/acp/session-tabs.tsx +8 -3
- package/src/components/chat/chat-components.tsx +2 -0
- package/src/components/chat/chat-panel.tsx +9 -8
- package/src/components/chat/chat-utils.ts +4 -8
- package/src/components/data-table/TableTopBar.tsx +2 -0
- package/src/components/data-table/__tests__/chart-spec-model.test.ts +195 -195
- package/src/components/data-table/__tests__/column-explorer.test.tsx +27 -1
- package/src/components/data-table/__tests__/columns.test.tsx +105 -0
- package/src/components/data-table/__tests__/context-menu-interaction.test.tsx +130 -0
- package/src/components/data-table/__tests__/data-table.test.tsx +1 -0
- package/src/components/data-table/__tests__/date-popover.test.tsx +72 -0
- package/src/components/data-table/__tests__/export-actions.test.tsx +105 -0
- package/src/components/data-table/__tests__/keyboard-selection.test.tsx +188 -0
- package/src/components/data-table/__tests__/search-highlight.test.tsx +109 -0
- package/src/components/data-table/__tests__/url-detector.test.tsx +74 -0
- package/src/components/data-table/cell-selection/feature.ts +2 -2
- package/src/components/data-table/cell-selection/types.ts +2 -2
- package/src/components/data-table/charts/__tests__/chart-panel.test.tsx +74 -1
- package/src/components/data-table/charts/__tests__/spec-snapshot.test.ts +20 -20
- package/src/components/data-table/charts/__tests__/spec.test.ts +78 -52
- package/src/components/data-table/charts/__tests__/storage.test.ts +4 -1
- package/src/components/data-table/charts/chart-spec/spec.ts +68 -43
- package/src/components/data-table/charts/charts.tsx +40 -30
- package/src/components/data-table/charts/storage.ts +16 -5
- package/src/components/data-table/column-explorer-panel/column-explorer.tsx +1 -1
- package/src/components/data-table/column-summary/chart-spec-model.tsx +23 -16
- package/src/components/data-table/column-summary/column-summary.tsx +2 -4
- package/src/components/data-table/column-visibility-dropdown.tsx +8 -13
- package/src/components/data-table/columns.tsx +45 -46
- package/src/components/data-table/context-menu.tsx +36 -20
- package/src/components/data-table/data-table.tsx +13 -1
- package/src/components/data-table/date-popover.tsx +6 -4
- package/src/components/data-table/export-actions.tsx +76 -48
- package/src/components/data-table/range-focus/atoms.ts +4 -6
- package/src/components/data-table/range-focus/use-cell-range-selection.ts +65 -38
- package/src/components/data-table/range-focus/use-scroll-into-view.ts +21 -2
- package/src/components/data-table/renderers.tsx +16 -7
- package/src/components/data-table/row-viewer-panel/__tests__/row-viewer.test.tsx +24 -1
- package/src/components/data-table/row-viewer-panel/row-viewer.tsx +4 -4
- package/src/components/data-table/search-highlight.tsx +79 -0
- package/src/components/data-table/types.ts +1 -0
- package/src/components/data-table/url-detector.tsx +49 -9
- package/src/components/datasources/__tests__/column-actions.test.tsx +97 -0
- package/src/components/datasources/__tests__/column-preview.test.tsx +98 -5
- package/src/components/datasources/__tests__/datasources-interactions.test.tsx +181 -0
- package/src/components/datasources/__tests__/table-list.test.tsx +118 -0
- package/src/components/datasources/__tests__/utils.test.ts +57 -6
- package/src/components/datasources/column-preview.tsx +13 -4
- package/src/components/datasources/datasources.tsx +51 -39
- package/src/components/datasources/utils.ts +32 -23
- package/src/components/debugger/debugger-code.tsx +5 -0
- package/src/components/dependency-graph/dependency-graph-tree.tsx +8 -8
- package/src/components/dependency-graph/elements.ts +24 -21
- package/src/components/dependency-graph/panels.tsx +2 -1
- package/src/components/dependency-graph/utils/__tests__/layout.test.ts +18 -11
- package/src/components/editor/SortableCell.tsx +1 -3
- package/src/{core/attachments/__tests__/toast.test.tsx → components/editor/__tests__/agent-toast.test.tsx} +1 -1
- package/src/components/editor/__tests__/dynamic-favicon.test.tsx +111 -18
- package/src/components/editor/__tests__/package-alert.test.tsx +22 -1
- package/src/components/editor/actions/__tests__/pair-with-agent-modal.test.tsx +24 -0
- package/src/components/editor/actions/pair-with-agent-modal.tsx +18 -15
- package/src/components/editor/actions/useRestartKernel.tsx +1 -1
- package/src/components/editor/ai/add-cell-with-ai.tsx +3 -3
- package/src/components/editor/ai/ai-completion-editor.tsx +1 -0
- package/src/components/editor/alerts/__tests__/connection-notice.test.tsx +1 -1
- package/src/components/editor/alerts/connection-notice.tsx +1 -1
- package/src/components/editor/alerts/startup-logs-alert.tsx +1 -0
- package/src/components/editor/app-container.tsx +1 -1
- package/src/components/editor/boundary/__tests__/ErrorBoundary.test.tsx +1 -1
- package/src/components/editor/cell/CreateCellButton.tsx +10 -12
- package/src/components/editor/cell/DeleteButton.tsx +3 -2
- package/src/components/editor/cell/RunButton.tsx +2 -2
- package/src/components/editor/cell/StopButton.tsx +2 -2
- package/src/components/editor/cell/__tests__/useShouldShowInterrupt.test.ts +39 -0
- package/src/components/editor/cell/code/__tests__/language-toggle.test.tsx +54 -0
- package/src/components/editor/cell/code/cell-editor.tsx +2 -2
- package/src/components/editor/cell/code/language-toggle.tsx +8 -7
- package/src/components/editor/cell/collapse.tsx +5 -3
- package/src/components/editor/cell/useShouldShowInterrupt.ts +2 -12
- package/src/components/editor/chrome/components/__tests__/feedback-button.test.tsx +1 -1
- package/src/components/editor/chrome/components/feedback-button.tsx +1 -1
- package/src/components/editor/chrome/panels/__tests__/packages-panel.test.tsx +31 -2
- package/src/components/editor/chrome/panels/__tests__/runtime-details.test.tsx +1 -1
- package/src/components/editor/chrome/panels/__tests__/sandbox-recovery.test.tsx +1 -1
- package/src/components/editor/chrome/panels/cache-panel.tsx +1 -0
- package/src/components/editor/chrome/panels/outline/__tests__/outline-keyboard.test.tsx +84 -0
- package/src/components/editor/chrome/panels/outline/floating-outline.tsx +39 -14
- package/src/components/editor/chrome/panels/outline/useActiveOutline.tsx +3 -2
- package/src/components/editor/chrome/panels/packages-panel.tsx +4 -7
- package/src/components/editor/chrome/panels/secrets-panel.tsx +1 -0
- package/src/components/editor/chrome/panels/snippets-panel.tsx +5 -1
- package/src/components/editor/chrome/wrapper/__tests__/attachment-status.test.tsx +9 -18
- package/src/components/editor/chrome/wrapper/__tests__/pending-ai-cells.test.tsx +58 -1
- package/src/components/editor/chrome/wrapper/footer-items/attachment-status.tsx +4 -4
- package/src/components/editor/chrome/wrapper/footer-items/backend-status.tsx +1 -1
- package/src/components/editor/chrome/wrapper/footer-items/lsp-status.tsx +1 -1
- package/src/components/editor/chrome/wrapper/footer-items/machine-stats.tsx +1 -1
- package/src/components/editor/chrome/wrapper/footer-items/runtime-settings.tsx +1 -7
- package/src/components/editor/chrome/wrapper/pending-ai-cells.tsx +12 -2
- package/src/components/editor/chrome/wrapper/storage.ts +1 -1
- package/src/components/editor/connections/components.tsx +1 -1
- package/src/components/editor/controls/Controls.tsx +2 -2
- package/src/components/editor/controls/__tests__/command-palette.test.tsx +53 -0
- package/src/components/editor/controls/__tests__/keyboard-shortcuts.test.tsx +61 -0
- package/src/components/editor/controls/__tests__/notebook-menu-dropdown.test.tsx +1 -1
- package/src/components/editor/controls/command-palette.tsx +22 -10
- package/src/components/editor/controls/keyboard-shortcuts.tsx +14 -5
- package/src/components/editor/dynamic-favicon.tsx +21 -40
- package/src/components/editor/errors/__tests__/send-error-report-button.test.tsx +9 -23
- package/src/components/editor/errors/send-error-report-button.tsx +3 -6
- package/src/components/editor/file-tree/__tests__/file-explorer-interactions.test.tsx +6 -0
- package/src/components/editor/file-tree/__tests__/file-explorer-navigation.test.tsx +47 -0
- package/src/components/editor/file-tree/__tests__/use-file-search.test.tsx +91 -0
- package/src/components/editor/file-tree/file-explorer.tsx +45 -8
- package/src/components/editor/file-tree/file-name-input.tsx +1 -0
- package/src/components/editor/file-tree/file-viewer.tsx +4 -2
- package/src/components/editor/file-tree/use-file-search.ts +35 -21
- package/src/components/editor/header/__tests__/status.test.tsx +5 -3
- package/src/components/editor/header/app-header.tsx +1 -1
- package/src/components/editor/header/status.tsx +40 -20
- package/src/components/editor/links/__tests__/cell-link.test.tsx +146 -0
- package/src/components/editor/links/cell-link.tsx +14 -5
- package/src/components/editor/navigation/focus-utils.ts +4 -4
- package/src/components/editor/notebook-banner.tsx +1 -0
- package/src/components/editor/notebook-cell.tsx +12 -3
- package/src/components/editor/output/MarimoTracebackOutput.tsx +19 -17
- package/src/components/editor/output/__tests__/traceback.test.tsx +27 -1
- package/src/components/editor/output/ansi-reduce.ts +33 -20
- package/src/components/editor/output/console/ConsoleOutput.tsx +19 -25
- package/src/components/editor/package-alert.tsx +14 -7
- package/src/components/editor/renderers/grid-layout/grid-layout.tsx +12 -6
- package/src/components/editor/renderers/vertical-layout/sidebar/toggle.tsx +7 -1
- package/src/components/home/components.tsx +17 -31
- package/src/components/icons/__tests__/large-spinner.test.tsx +39 -0
- package/src/components/icons/large-spinner.tsx +3 -14
- package/src/components/icons/spinner.tsx +1 -1
- package/src/components/mcp/mcp-status-indicator.tsx +1 -1
- package/src/components/pages/__tests__/home-page.test.tsx +116 -0
- package/src/components/pages/home-page.tsx +164 -91
- package/src/components/scratchpad/scratchpad.test.tsx +95 -0
- package/src/components/scratchpad/scratchpad.tsx +16 -3
- package/src/components/slides/reveal-component.tsx +4 -2
- package/src/components/slides/slide-cell-view.tsx +1 -1
- package/src/components/slides/slide-form.tsx +1 -0
- package/src/components/tracing/tracing-keyboard.test.tsx +85 -0
- package/src/components/tracing/tracing.tsx +45 -41
- package/src/components/ui/__tests__/draggable-popover.test.tsx +24 -0
- package/src/components/ui/__tests__/range-slider.test.tsx +165 -0
- package/src/components/ui/alert-dialog.tsx +1 -1
- package/src/components/ui/draggable-popover.tsx +24 -2
- package/src/components/ui/range-slider.tsx +22 -9
- package/src/core/ai/context/providers/datasource.ts +6 -2
- package/src/core/ai/tools/base.ts +16 -7
- package/src/core/ai/tools/edit-notebook-tool.ts +47 -45
- package/src/core/ai/tools/registry.ts +13 -8
- package/src/core/ai/tools/sample-tool.ts +6 -7
- package/src/core/cells/__tests__/__snapshots__/cells.test.ts.snap +4 -0
- package/src/core/cells/__tests__/cell.test.ts +39 -0
- package/src/core/cells/__tests__/cells.test.ts +3 -1
- package/src/core/cells/__tests__/collapseConsoleOutputs.test.ts +54 -0
- package/src/core/cells/__tests__/notebook-outline.test.ts +113 -0
- package/src/core/cells/__tests__/session.test.ts +117 -36
- package/src/core/cells/cell.ts +14 -3
- package/src/core/cells/cells.ts +3 -1
- package/src/core/cells/pending-delete-service.ts +2 -6
- package/src/core/cells/session.ts +1 -1
- package/src/core/cells/types.ts +10 -1
- package/src/core/codemirror/__tests__/setup.test.ts +29 -29
- package/src/core/codemirror/cells/__tests__/extensions.test.ts +15 -0
- package/src/core/codemirror/cells/extensions.ts +7 -3
- package/src/core/codemirror/keymaps/vim.ts +2 -6
- package/src/core/codemirror/language/__tests__/sql.test.ts +22 -20
- package/src/core/codemirror/language/extension.ts +8 -8
- package/src/core/codemirror/language/languages/markdown.ts +8 -6
- package/src/core/codemirror/language/languages/python.ts +16 -10
- package/src/core/codemirror/language/languages/sql/sql.ts +9 -7
- package/src/core/codemirror/language/panel/panel.tsx +1 -0
- package/src/core/codemirror/language/types.ts +7 -7
- package/src/core/codemirror/readonly/__tests__/extension.test.ts +1 -1
- package/src/core/codemirror/readonly/extension.ts +2 -2
- package/src/core/codemirror/rtc/extension.ts +24 -12
- package/src/core/codemirror/rtc/loro/awareness.ts +34 -19
- package/src/core/codemirror/rtc/loro/sync.ts +1 -0
- package/src/core/codemirror/utils.ts +1 -0
- package/src/core/datasets/__tests__/data-source-discovery.test.ts +5 -5
- package/src/core/datasets/data-source-discovery.ts +4 -6
- package/src/core/edit-app.tsx +2 -2
- package/src/core/export/hooks.ts +1 -1
- package/src/core/hotkeys/actions.ts +2 -4
- package/src/core/islands/__tests__/bootstrap.test.ts +16 -42
- package/src/core/islands/__tests__/bridge.test.ts +31 -26
- package/src/core/islands/bootstrap.ts +22 -52
- package/src/core/islands/bridge.ts +31 -20
- package/src/core/islands/components/__tests__/IslandControls.test.tsx +7 -5
- package/src/core/islands/worker/__tests__/controller.test.ts +62 -4
- package/src/core/islands/worker/controller.ts +4 -10
- package/src/core/islands/worker/worker.tsx +33 -33
- package/src/core/kernel/__tests__/RuntimeState.test.ts +1 -1
- package/src/core/network/__tests__/connection.test.ts +1 -1
- package/src/core/network/connection-notice.ts +1 -1
- package/src/core/network/connection.ts +5 -3
- package/src/core/network/requests-lazy.ts +1 -1
- package/src/core/network/useConnectionNotice.ts +8 -2
- package/src/core/notebook/attachments.ts +38 -0
- package/src/core/notebook/document/__tests__/codemirror.test.ts +485 -0
- package/src/core/notebook/document/__tests__/draft.test.ts +322 -0
- package/src/core/notebook/document/__tests__/fixtures.ts +92 -0
- package/src/core/notebook/document/__tests__/hooks.test.tsx +391 -0
- package/src/core/notebook/document/__tests__/lifecycle-scenarios.test.ts +61 -0
- package/src/core/notebook/document/__tests__/model.test.ts +191 -0
- package/src/core/notebook/document/__tests__/protocol-fixtures.ts +38 -0
- package/src/core/notebook/document/__tests__/recovery-scenarios.test.ts +230 -0
- package/src/core/notebook/document/__tests__/scenario-fixture.ts +43 -0
- package/src/core/notebook/document/__tests__/scenarios.test.ts +205 -0
- package/src/core/notebook/document/__tests__/state.test.ts +438 -0
- package/src/core/notebook/document/__tests__/submission.test.ts +203 -0
- package/src/core/notebook/document/__tests__/test-host.test.ts +92 -0
- package/src/core/notebook/document/__tests__/test-host.ts +247 -0
- package/src/core/notebook/document/__tests__/test-notebook.ts +149 -0
- package/src/core/notebook/document/__tests__/user.ts +61 -0
- package/src/core/notebook/document/codemirror.ts +311 -0
- package/src/core/notebook/document/draft.ts +472 -0
- package/src/core/notebook/document/hooks.tsx +118 -0
- package/src/core/notebook/document/index.ts +15 -0
- package/src/core/notebook/document/model.ts +55 -0
- package/src/core/notebook/document/select.ts +41 -0
- package/src/core/notebook/document/state.ts +374 -0
- package/src/core/notebook/document/sync.ts +369 -0
- package/src/core/notebook/index.ts +18 -0
- package/src/core/notebook/replica/AGENTS.md +11 -0
- package/src/core/notebook/replica/__tests__/attachments.test.ts +56 -0
- package/src/core/notebook/replica/__tests__/document.test.ts +126 -0
- package/src/core/notebook/replica/__tests__/fixtures.ts +79 -0
- package/src/core/notebook/replica/__tests__/replica.test.ts +550 -0
- package/src/core/notebook/replica/backend.ts +19 -0
- package/src/core/notebook/replica/connection.ts +42 -0
- package/src/core/notebook/replica/index.ts +13 -0
- package/src/core/notebook/replica/replica.ts +286 -0
- package/src/core/notebook/replica/resources/attachments.ts +22 -0
- package/src/core/notebook/replica/resources/document.ts +101 -0
- package/src/core/packages/__tests__/useSandboxController.test.tsx +1 -1
- package/src/core/packages/useSandboxController.ts +1 -1
- package/src/core/run-app.tsx +3 -3
- package/src/core/runtime/__tests__/adapter.test.ts +1 -1
- package/src/core/runtime/__tests__/createWsUrl.test.ts +77 -7
- package/src/core/runtime/__tests__/runtime.test.ts +32 -58
- package/src/core/runtime/adapter.ts +1 -1
- package/src/core/runtime/config.ts +2 -2
- package/src/core/runtime/runtime.ts +38 -42
- package/src/core/runtime/types.ts +0 -2
- package/src/core/saving/filename.ts +1 -1
- package/src/core/saving/save-component.tsx +13 -4
- package/src/core/saving/useAutoSave.ts +1 -1
- package/src/core/session/__tests__/backend.test.ts +235 -0
- package/src/core/session/__tests__/useNotebookReplica.hook.test.tsx +183 -0
- package/src/core/session/__tests__/useNotebookSession.hook.test.tsx +609 -0
- package/src/core/session/active-notebook.ts +7 -0
- package/src/core/session/backend.ts +125 -0
- package/src/core/{websocket → session}/types.ts +2 -2
- package/src/core/session/useNotebookReplica.ts +72 -0
- package/src/core/{websocket → session}/useNotebookSession.tsx +18 -25
- package/src/core/state/__tests__/jotai.test.tsx +108 -0
- package/src/core/state/jotai.ts +1 -1
- package/src/core/static/__tests__/files.test.ts +38 -10
- package/src/core/static/files.ts +2 -0
- package/src/core/{websocket → transports}/__tests__/connection-state.test.ts +1 -13
- package/src/core/transports/__tests__/server.test.ts +408 -0
- package/src/core/transports/__tests__/static.test.ts +175 -0
- package/src/core/transports/__tests__/wasm.test.ts +166 -0
- package/src/core/{websocket → transports}/connection-state.ts +9 -16
- package/src/core/transports/server.ts +152 -0
- package/src/core/transports/static.ts +84 -0
- package/src/core/transports/wasm.ts +97 -0
- package/src/core/wasm/__tests__/bridge.test.ts +213 -50
- package/src/core/wasm/__tests__/worker.test.ts +187 -0
- package/src/core/wasm/bridge.ts +81 -52
- package/src/core/wasm/rpc.ts +15 -3
- package/src/core/wasm/store.ts +3 -3
- package/src/core/wasm/worker/bootstrap.ts +55 -51
- package/src/core/wasm/worker/getMarimoWheel.ts +1 -1
- package/src/core/wasm/worker/save-worker.ts +9 -10
- package/src/core/wasm/worker/types.ts +29 -18
- package/src/core/wasm/worker/worker.ts +97 -44
- package/src/css/globals.css +5 -0
- package/src/hooks/__tests__/useAsyncData.test.tsx +148 -0
- package/src/hooks/__tests__/useDebounce.test.tsx +51 -0
- package/src/hooks/__tests__/useDeepCompareMemoize.test.tsx +39 -0
- package/src/hooks/__tests__/useDelayElapsed.test.tsx +28 -0
- package/src/hooks/__tests__/useInternalStateWithSync.test.tsx +20 -0
- package/src/hooks/__tests__/useScript.test.tsx +77 -0
- package/src/hooks/__tests__/useStateForKey.test.tsx +257 -0
- package/src/hooks/useAsyncData.ts +3 -3
- package/src/hooks/useDataSourceDiscovery.ts +6 -4
- package/src/hooks/useDebounce.ts +6 -10
- package/src/hooks/useDeepCompareMemoize.ts +1 -1
- package/src/hooks/useDelayElapsed.ts +14 -10
- package/src/hooks/useElapsedTime.ts +3 -3
- package/src/hooks/useEventListener.ts +1 -2
- package/src/hooks/useInputHistory.ts +4 -7
- package/src/hooks/useInternalStateWithSync.ts +6 -6
- package/src/hooks/useResizeObserver.ts +4 -7
- package/src/hooks/useScript.ts +67 -70
- package/src/hooks/useStateForKey.ts +93 -0
- package/src/mount.tsx +1 -5
- package/src/plugins/__tests__/plugin-object-schemas.test.ts +104 -0
- package/src/plugins/core/registerReactComponent.tsx +1 -1
- package/src/plugins/impl/CodeEditorPlugin.tsx +1 -1
- package/src/plugins/impl/DataEditorPlugin.tsx +1 -1
- package/src/plugins/impl/DataTablePlugin.tsx +29 -33
- package/src/plugins/impl/DropdownPlugin.tsx +2 -6
- package/src/plugins/impl/FileBrowserPlugin.tsx +4 -16
- package/src/plugins/impl/FormPlugin.tsx +1 -1
- package/src/plugins/impl/RangeSliderPlugin.tsx +16 -2
- package/src/plugins/impl/RefreshPlugin.tsx +1 -0
- package/src/plugins/impl/SliderPlugin.tsx +6 -8
- package/src/plugins/impl/__tests__/DataTablePlugin.test.tsx +117 -1
- package/src/plugins/impl/__tests__/FileBrowserPlugin.test.tsx +45 -0
- package/src/plugins/impl/__tests__/RangeSliderPlugin.test.tsx +109 -0
- package/src/plugins/impl/__tests__/SliderPlugin.test.tsx +24 -3
- package/src/plugins/impl/anywidget/__tests__/registry.test.ts +2 -0
- package/src/plugins/impl/anywidget/__tests__/widget-binding.test.ts +241 -2
- package/src/plugins/impl/anywidget/runtime.ts +21 -9
- package/src/plugins/impl/anywidget/widget-binding.ts +160 -82
- package/src/plugins/impl/chat/__tests__/chat-prompts.test.tsx +93 -0
- package/src/plugins/impl/chat/chat-ui.tsx +14 -11
- package/src/plugins/impl/code/any-language-editor.tsx +2 -2
- package/src/plugins/impl/data-editor/glide-data-editor.tsx +8 -5
- package/src/plugins/impl/data-editor/glide-utils.ts +3 -1
- package/src/plugins/impl/data-explorer/ConnectedDataExplorerComponent.tsx +1 -1
- package/src/plugins/impl/data-explorer/components/column-summary.tsx +4 -2
- package/src/plugins/impl/data-explorer/state/reducer.ts +1 -1
- package/src/plugins/impl/data-frames/DataFramePlugin.tsx +1 -2
- package/src/plugins/impl/data-frames/__tests__/sidebar.test.tsx +160 -0
- package/src/plugins/impl/data-frames/forms/__tests__/__snapshots__/form.test.tsx.snap +66 -66
- package/src/plugins/impl/data-frames/panel.tsx +43 -16
- package/src/plugins/impl/mpl-interactive/MplInteractivePlugin.tsx +5 -3
- package/src/plugins/impl/panel/PanelPlugin.tsx +16 -17
- package/src/plugins/impl/panel/__tests__/utils.test.ts +39 -1
- package/src/plugins/impl/panel/utils.ts +17 -0
- package/src/plugins/impl/plotly/PlotlyPlugin.tsx +2 -5
- package/src/plugins/impl/plotly/selection.ts +25 -19
- package/src/plugins/impl/vega/VegaPlugin.tsx +2 -3
- package/src/plugins/impl/vega/make-selectable.ts +4 -7
- package/src/plugins/layout/RoutesPlugin.tsx +1 -1
- package/src/stories/__tests__/editor-story.test.tsx +33 -0
- package/src/stories/button.stories.tsx +1 -0
- package/src/stories/cell.stories.tsx +1 -1
- package/src/stories/editor.stories.tsx +24 -17
- package/src/stories/form-wrapper.stories.tsx +2 -2
- package/src/stories/layout/vertical/one-column.stories.tsx +1 -1
- package/src/stories/runtime-story.tsx +1 -1
- package/src/stories/select.stories.tsx +2 -2
- package/src/stories/switchable-multi-select.stories.tsx +1 -1
- package/src/utils/__tests__/arrays.test.ts +35 -0
- package/src/utils/__tests__/batch-requests.test.ts +3 -3
- package/src/utils/__tests__/numbers.test.ts +105 -1
- package/src/utils/__tests__/objects.test.ts +21 -0
- package/src/utils/arrays.ts +11 -2
- package/src/utils/blob.ts +1 -1
- package/src/utils/maps.ts +0 -3
- package/src/utils/numbers.ts +79 -18
- package/src/utils/objects.ts +4 -9
- package/src/utils/once.ts +19 -19
- package/src/utils/tracer.ts +9 -5
- package/src/utils/zod-utils.ts +1 -3
- package/dist/any-language-editor-DZ_YTVus.js +0 -76
- package/dist/assets/__vite-browser-external-BXYkiFsk.js +0 -1
- package/dist/assets/worker-HPY9fbhz.js +0 -114
- package/dist/mermaid-HWGCJPDP-ByCsZnYF.js +0 -2
- package/dist/precisionRound-DMIVQrt2.js +0 -97
- package/src/core/attachments/state.ts +0 -21
- package/src/core/host/AGENTS.md +0 -6
- package/src/core/host/__tests__/events.test.ts +0 -46
- package/src/core/host/__tests__/notebook-client.test.ts +0 -191
- package/src/core/host/__tests__/protocol.test.ts +0 -214
- package/src/core/host/connection.ts +0 -81
- package/src/core/host/events.ts +0 -60
- package/src/core/host/notebook-client.ts +0 -226
- package/src/core/host/protocol.ts +0 -1943
- package/src/core/state/__tests__/jotai.test.ts +0 -25
- package/src/core/wasm/worker/message-buffer.ts +0 -33
- package/src/core/websocket/__tests__/createConnectionTransport.test.ts +0 -49
- package/src/core/websocket/__tests__/useNotebookClient.hook.test.tsx +0 -140
- package/src/core/websocket/__tests__/useNotebookSession.hook.test.tsx +0 -883
- package/src/core/websocket/transports/__tests__/basic.test.ts +0 -275
- package/src/core/websocket/transports/__tests__/sse.test.ts +0 -335
- package/src/core/websocket/transports/__tests__/transport.test.ts +0 -308
- package/src/core/websocket/transports/__tests__/ws.test.ts +0 -125
- package/src/core/websocket/transports/basic.ts +0 -102
- package/src/core/websocket/transports/create.ts +0 -31
- package/src/core/websocket/transports/sse.ts +0 -308
- package/src/core/websocket/transports/transport.ts +0 -50
- package/src/core/websocket/transports/ws.ts +0 -98
- package/src/core/websocket/useNotebookClient.ts +0 -80
- /package/src/{core/attachments/toast.ts → components/editor/agent-toast.ts} +0 -0
- /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(S=0;S<le.length;S++)b.prototype[`get`+y(le[S])]=se(le[S]),b.prototype[`set`+y(le[S])]=function(e){return function(t){if(!oe(t))throw TypeError(e+` must be a Number`);this[e]=Number(t)}}(le[S]);var S;for(fe=0;fe<ue.length;fe++)b.prototype[`get`+y(ue[fe])]=se(ue[fe]),b.prototype[`set`+y(ue[fe])]=function(e){return function(t){this[e]=String(t)}}(ue[fe]);var fe,pe=b;function me(){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 pe({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 pe({functionName:e});var t=/((.*".+"[^@]*)?[^@]*)(?:@)/,n=e.match(t),r=n&&n[1]?n[1]:void 0,i=this.extractLocation(e.replace(t,``));return new pe({functionName:r,fileName:i[0],lineNumber:i[1],columnNumber:i[2],source:e})},this)},`ErrorStackParser$$parseFFOrSafari`)}}v(me,`ErrorStackParser`);var he=new me;function ge(){return typeof API<`u`&&API!==globalThis.API?API.runtimeEnv:_e({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(ge,`getGlobalRuntimeEnv`);var C=ge();function _e(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&&ve())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(_e,`calculateDerivedFlags`);function ve(){try{return globalThis.importScripts(`data:text/javascript,`),!0}catch{return!1}}v(ve,`isClassicWorker`);var ye,be,xe,Se;async function Ce(){if(!C.IN_NODE||(ye=(await import(`./__vite-browser-external-BgQNn4dS.js`).then(e=>c(e.default,1))).default,xe=await import(`./__vite-browser-external-BgQNn4dS.js`).then(e=>c(e.default,1)),Se=await import(`./__vite-browser-external-BgQNn4dS.js`).then(e=>c(e.default,1)),(await import(`./__vite-browser-external-BgQNn4dS.js`).then(e=>c(e.default,1))).default,be=await import(`./__vite-browser-external-BgQNn4dS.js`).then(e=>c(e.default,1)),De=be.sep,typeof ie<`u`))return;let e={fs:xe,crypto:await import(`./__vite-browser-external-BgQNn4dS.js`).then(e=>c(e.default,1)),ws:await import(`./__vite-browser-external-BgQNn4dS.js`).then(e=>c(e.default,1)),child_process:await import(`./__vite-browser-external-BgQNn4dS.js`).then(e=>c(e.default,1))};globalThis.require=function(t){return e[t]}}v(Ce,`initNodeModules`);function we(e,t){return be.resolve(t||`.`,e)}v(we,`node_resolvePath`);function Te(e,t){return t===void 0&&(t=location),new URL(e,t).toString()}v(Te,`browser_resolvePath`);var Ee=C.IN_NODE?we:C.IN_SHELL?v(e=>e,`resolvePath`):Te,De;C.IN_NODE||(De=`/`);function Oe(e,t){return e.startsWith(`file://`)&&(e=e.slice(7)),e.includes(`://`)?{response:fetch(e)}:{binary:Se.readFile(e).then(e=>new Uint8Array(e.buffer,e.byteOffset,e.byteLength))}}v(Oe,`node_getBinaryResponse`);function ke(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(ke,`shell_getBinaryResponse`);function Ae(e,t){let n=new URL(e,location);return{response:fetch(n,t?{integrity:t}:{})}}v(Ae,`browser_getBinaryResponse`);var je=C.IN_NODE?Oe:C.IN_SHELL?ke:Ae;async function Me(e,t){let{response:n,binary:r}=je(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(Me,`loadBinaryFile`);var Ne=C.IN_NODE?Pe:v(async e=>await import(e),`loadScript`);async function Pe(e){return e.startsWith(`file://`)&&(e=e.slice(7)),e.includes(`://`)?await import(e):await import(ye.pathToFileURL(e).href)}v(Pe,`nodeLoadScript`);async function Fe(e){if(C.IN_NODE){await Ce();let t=await Se.readFile(e,{encoding:`utf8`});return JSON.parse(t)}if(C.IN_SHELL){let t=read(e);return JSON.parse(t)}return await(await fetch(e)).json()}v(Fe,`loadLockFile`);async function Ie(){if(C.IN_NODE_COMMONJS)return __dirname;let e;try{throw Error()}catch(t){e=t}let t=he.parse(e)[0].fileName;if(C.IN_NODE&&!t.startsWith(`file://`)&&(t=`file://${t}`),C.IN_NODE_ESM){let e=await import(`./__vite-browser-external-BgQNn4dS.js`).then(e=>c(e.default,1));return(await import(`./__vite-browser-external-BgQNn4dS.js`).then(e=>c(e.default,1))).fileURLToPath(e.dirname(t))}let n=t.lastIndexOf(De);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(Ie,`calculateDirname`);function Le(e){return e.substring(0,e.lastIndexOf(`/`)+1)||globalThis.location?.toString()||`.`}v(Le,`calculateInstallBaseUrl`);function Re(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 ze(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(Re,`initializeNativeFS`);var ze=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`),Be=ae(`AGFzbQEAAAABDANfAGAAAW9gAW8BfwMDAgECBygCE0pzdl9HZXRFcnJvcl9pbXBvcnQAAA5Kc3ZFcnJvcl9DaGVjawABChMCBwD7AQD7GwsJACAA+xr7FAAL`),Ve=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(Be);return await WebAssembly.instantiate(e)}catch(e){if(e instanceof WebAssembly.CompileError)return;throw e}}();async function He(){let e=await Ve;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(He,`getJsvErrorImport`);function Ue(e){let t={config:e,runtimeEnv:C},n={noImageDecoding:!0,noAudioDecoding:!0,noWasmDecoding:!1,preRun:Ye(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:Xe(e.indexURL)};return n}v(Ue,`createSettings`);function We(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(We,`createHomeDirectory`);function Ge(e){return function(t){Object.assign(t.ENV,e)}}v(Ge,`setEnvironment`);function Ke(e){return e?[async t=>{t.addRunDependency(`fsInitHook`);try{await e(t.FS,{sitePackages:t.API.sitePackages})}finally{t.removeRunDependency(`fsInitHook`)}}]:[]}v(Ke,`callFsInitHook`);function qe(e){let t=e.HEAPU32[e._Py_Version>>>2];return[t>>>24&255,t>>>16&255,t>>>8&255]}v(qe,`computeVersionTuple`);function Je(e){let t=Me(e);return async e=>{e.API.pyVersionTuple=qe(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(Je,`installStdlib`);function Ye(e){let t;return t=e.stdLibURL==null?e.indexURL+`python_stdlib.zip`:e.stdLibURL,[Je(t),We(e.env.HOME),Ge(e.env),Re,...Ke(e.fsInit)]}v(Ye,`getFileSystemInitializationFuncs`);function Xe(e){if(typeof WasmOffsetConverter<`u`)return;let{binary:t,response:n}=je(e+`pyodide.asm.wasm`),r=He();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(Xe,`getInstantiateWasmFunc`);var Ze=`314.0.0`;function Qe(e){return e===void 0||e.endsWith(`/`)?e:e+`/`}v(Qe,`withTrailingSlash`);var $e=Ze;async function et(e={}){if(await Ce(),e.lockFileContents&&e.lockFileURL)throw Error(`Can't pass both lockFileContents and lockFileURL`);let t=e.indexURL||await Ie();if(t=Qe(Ee(t)),e.packageBaseUrl=Qe(e.packageBaseUrl),e.cdnUrl=Qe(e.packageBaseUrl??`https://cdn.jsdelivr.net/pyodide/v314.0.0/full/`),!e.lockFileContents){let n=e.lockFileURL??t+`pyodide-lock.json`;e.lockFileContents=Fe(n),e.packageBaseUrl??=Le(n)}e.indexURL=t,e.packageCacheDir&&=Qe(Ee(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(et,`initializeConfiguration`);function tt(e){let t=Ue(e),n=t.API;return n.lockFilePromise=Promise.resolve(e.lockFileContents),t}v(tt,`createEmscriptenSettings`);async function nt(e){return e.createPyodideModule?e.createPyodideModule:(await Ne(`${e.indexURL}pyodide.asm.mjs`)).default}v(nt,`loadWasmScript`);async function rt(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(rt,`prepareSnapshot`);async function it(e,t){let n=await e(t);if(t.exitCode!==void 0)throw new n.ExitStatus(t.exitCode);return n}v(it,`instantiatePyodideModule`);function at(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: '${$e}' <==> '${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(at,`configureAPI`);function ot(e,t,n){let r=e.API,i;return t&&(i=r.restoreSnapshot(t)),r.finalizeBootstrap(i,n._snapshotDeserializer)}v(ot,`bootstrapPyodide`);async function st(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(st,`finalizeSetup`);async function ct(e={}){let t=await et(e),n=tt(t),r=await nt(t),i=await rt(t,n),a=await it(r,n);return at(a,t),await st(ot(a,i,t),t)}v(ct,`loadPyodide`);function lt(e){return e.includes(`dev`),`v${$e}`}const ut={NOOP:()=>{},ASYNC_NOOP:async()=>{},THROW:()=>{throw Error(`Should not be called`)},asUpdater:e=>typeof e==`function`?e:()=>e,identity:e=>e},dt=(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=>dt(`${e}:${n}`,t),disabled:(e=!0)=>e?pt:t}},ft={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=>dt(`marimo:${e}`,ft),disabled:(e=!0)=>e?pt:ft},pt={debug:()=>ut.NOOP,log:()=>ut.NOOP,warn:()=>ut.NOOP,error:()=>ut.NOOP,trace:()=>ut.NOOP,get:()=>pt,disabled:()=>pt};function mt(){return typeof window<`u`&&window.Logger||ft}const w=mt();function ht(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 gt(e,t=`|`){return e.map(e=>It(e)).join(t)}function _t(e,t){return typeof t==`bigint`?t.toString():t}var vt=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 yt(e){return new vt(e)}function bt(e){return e==null}function xt(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}function St(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 T(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function Ct(e){let t=Object.getOwnPropertyDescriptor(e,`shape`);return t?.get?t.get.raw:t?.value}function E(e){return Ct(e._zod.def)??e._zod.def.shape}function wt(e,t,n){Object.defineProperty(e,t,{get(){let e=n();return T(this,t,e),e},enumerable:!0,configurable:!0})}function Tt(e,t,n){t in e?T(e,t,n):e[t]=n}function D(e,t,n,r){let i=E(t);for(let a of n){let n=Object.getOwnPropertyDescriptor(i,a);n.enumerable&&(n.get?wt(e,a,()=>{let e=t._zod.def.shape[a];return r?r(e,a):e}):Tt(e,a,r?r(n.value,a):n.value))}}function Et(e,t){for(let n of Reflect.ownKeys(t)){let r=Object.getOwnPropertyDescriptor(t,n);r.enumerable&&(r.get?wt(e,n,()=>t[n]):Tt(e,n,r.value))}}function O(...e){let t={};for(let n of e){let e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}function Dt(e){return JSON.stringify(e)}function Ot(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,``).replace(/[\s_-]+/g,`-`).replace(/^-+|-+$/g,``)}const kt=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function At(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}const jt=yt(()=>{if(L.jitless||typeof navigator<`u`&&navigator?.userAgent?.includes(`Cloudflare`))return!1;try{return Function(``),!0}catch{return!1}});function Mt(e){if(At(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return At(n)!==!1&&Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)!==!1}function Nt(e){return Mt(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}const Pt=new Set([`string`,`number`,`symbol`]);function Ft(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function k(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function A(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 It(e){return typeof e==`bigint`?e.toString()+`n`:typeof e==`string`?`"${e}"`:`${e}`}function Lt(e){return Object.keys(e).filter(t=>e[t]._zod.optin!==void 0&&e[t]._zod.optout===`optional`)}const Rt={safeint:[-(2**53-1),2**53-1],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},zt={int64:[BigInt(`-9223372036854775808`),BigInt(`9223372036854775807`)],uint64:[BigInt(0),BigInt(`18446744073709551615`)]};function Bt(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 D(i,e,Vt(e,t)),k(e,O(n,{shape:i,checks:[]}))}function Vt(e,t){let n=E(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 Ht(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(Vt(e,t)),a={};return D(a,e,Reflect.ownKeys(E(e)).filter(e=>!i.has(e))),k(e,O(n,{shape:a,checks:[]}))}function Ut(e,t){if(!Mt(t))throw Error(`Invalid input to extend: expected a plain object`);let n=e._zod.def.checks;if(n&&n.length>0){let n=E(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 k(e,O(e._zod.def,{shape:Wt(e,t)}))}function Wt(e,t){let n={};return D(n,e,Reflect.ownKeys(E(e))),Et(n,t),n}function Gt(e,t){if(!Mt(t))throw Error(`Invalid input to safeExtend: expected a plain object`);return k(e,O(e._zod.def,{shape:Wt(e,t)}))}function Kt(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 D(n,e,Reflect.ownKeys(E(e))),D(n,t,Reflect.ownKeys(E(t))),k(e,O(e._zod.def,{shape:n,get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]}))}function qt(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(Vt(t,n)):void 0,o={};return D(o,t,Reflect.ownKeys(E(t)),e&&((t,n)=>a&&!a.has(n)?t:new e({type:`optional`,innerType:t}))),k(t,O(t._zod.def,{shape:o,checks:[]}))}function Jt(e,t,n){let r=n?new Set(Vt(t,n)):void 0,i={};return D(i,t,Reflect.ownKeys(E(t)),(t,n)=>r&&!r.has(n)?t:new e({type:`nonoptional`,innerType:t})),k(t,O(t._zod.def,{shape:i}))}function j(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 Yt(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 Xt(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function Zt(e){return typeof e==`string`?e:e?.message}function Qt(e,t,n){var r;for(let i=t;i<e.length;i++)(r=e[i]).schema??(r.schema=n)}function M(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:Zt(e.inst?._zod.def?.error?.(e))??Zt(a?.(e))??Zt(t?.error?.(e))??Zt(n.customError?.(e))??Zt(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 $t=/[\uD800-\uDBFF]/;function en(e){let t=e.length;if(!$t.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 tn(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function nn(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 rn(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}function an(e,t){for(let n in t){let r=Object.getOwnPropertyDescriptor(t,n);r.get?Object.defineProperty(e,n,{...r,enumerable:!1}):cn(e,n,r.value)}}function N(e,t,n,r=!0){return Object.defineProperty(e,t,{configurable:!0,writable:!0,enumerable:r,value:n}),n}function on(e,t,n){return N(e,t,n,!1)}function sn(e,t){for(let n in e){let r=e[n];Object.defineProperty(t,n,{configurable:!0,enumerable:!0,get(){return N(this,n,r(this))},set(e){N(this,n,e)}})}return t}function cn(e,t,n){Object.defineProperty(e,t,{configurable:!0,get(){return this==null?n:N(this,t,n.bind(this))},set(e){N(this,t,e)}})}function ln(e,t){let n=Object.getPrototypeOf(e);return t in n?void 0:n}let un,dn=!1;const fn={configurable:!0,get(){dn=!0}};function P(e,t,n){let r=Object.getPrototypeOf(e._zod);if(t in r&&un!==e._zod){un=void 0;return}un=e._zod,Object.defineProperty(r,t,{configurable:!0,get(){Object.defineProperty(this,t,fn);let e=dn;dn=!1;try{let r=n(this);return dn?delete this[t]:Object.defineProperty(this,t,{configurable:!0,writable:!0,value:r}),dn||=e,r}catch(n){throw delete this[t],dn||=e,n}},set(e){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:e})}})}function pn(e,t,n,r){let i=ln(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 mn(e){let t=()=>e;return t[`~constantCatch`]=!0,t}var hn;const gn={value:void 0,enumerable:!1};let _n=`captureStackTrace`in Error?Error:null;function vn(e){let t=_n;if(t){let n=t.stackTraceLimit;if(typeof n==`number`){try{t.stackTraceLimit=0}catch{return _n=null,new e}try{return new e}finally{t.stackTraceLimit=n}}}return new e}function F(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){gn.value=new a(r);try{Object.defineProperty(n,"_zod",gn)}finally{gn.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),an(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?vn(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 I=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},yn=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};(hn=globalThis).__zod_globalConfig??(hn.__zod_globalConfig={});const L=globalThis.__zod_globalConfig;function R(e){return e&&Object.assign(L,e),L}function bn(){let e=this._zod;return e.message??=JSON.stringify(e.def,_t,2),e.message}function xn(e){this._zod.message=e}const Sn={get:bn,set:xn,enumerable:!0,configurable:!0},Cn={value:void 0,enumerable:!1},wn=new WeakSet([Object.prototype,Error.prototype]),Tn=(e,t)=>{e.name=`$ZodError`,Cn.value=t,Object.defineProperty(e,"issues",Cn),Cn.value=void 0,Object.defineProperty(e,"message",Sn);let n=Object.getPrototypeOf(e);wn.has(n)||(wn.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})}}))},En=F(`$ZodError`,Tn);F(`$ZodError`,Tn,void 0,{Parent:Error});function Dn(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 On(e,t=e=>e.message){let n={},r=[];for(let i of e.issues)i.path.length>0?Dn(n,i.path[0],()=>[]).push(t(i)):r.push(t(i));return{formErrors:r,fieldErrors:n}}function kn(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 An(e,t){return{callee:t?.callee??e,Err:t?.Err}}const jn=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 I;if(s.issues.length){let n=new((a?.Err)??e)(s.issues.map(e=>M(e,o,R())));throw kt(n,a?.callee??t),n}return s.value};return t},Mn=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=>M(e,o,R())));throw kt(n,a?.callee??t),n}return s.value};return t},Nn=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 I;return a.issues.length?Pn(e,a.issues,i):{success:!0,data:a.value}};function Pn(e,t,n){let r;return{success:!1,get error(){return r||(r=new e(t.map(e=>M(e,n,R()))),t=void 0,n=void 0),r},set error(e){r=e,t=void 0,n=void 0}}}const Fn=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?Pn(e,a.issues,i):{success:!0,data:a.value}},In=Symbol.for(`zod.compile.invalid`),Ln=Symbol.for(`zod.compile.fallback`),Rn=((e,t,n)=>{let r=e._zod.bag.validator;if(r!==void 0){if(r(t)!==In)return!0;if(r.definite===!0&&n===void 0)return!1}return zn(e,t,n)});function zn(e,t,n){let r=n?{...n,async:!1,abortEarly:!0}:{async:!1,abortEarly:!0},i=e._zod.bag.fallbackRun,a;if(i?(r[Ln]=!0,a=i({value:t,issues:[]},r)):a=e._zod.run({value:t,issues:[]},r),a instanceof Promise)throw new I;return a.issues.length===0}const Bn=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},Vn=e=>{let t=jn(e),n=(e,r,i,a)=>{let o=i?{...i,direction:`backward`}:{direction:`backward`};return t(e,r,o,An(n,a))};return n},Hn=e=>{let t=jn(e),n=(e,r,i,a)=>t(e,r,i,An(n,a));return n},Un=e=>{let t=Mn(e),n=async(e,r,i,a)=>{let o=i?{...i,direction:`backward`}:{direction:`backward`};return await t(e,r,o,An(n,a))};return n},Wn=e=>{let t=Mn(e),n=async(e,r,i,a)=>await t(e,r,i,An(n,a));return n},Gn=e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return Nn(e)(t,n,i)},Kn=e=>(t,n,r)=>Nn(e)(t,n,r),qn=e=>async(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return Fn(e)(t,n,i)},Jn=e=>async(t,n,r)=>Fn(e)(t,n,r),Yn=/^[cC][0-9a-z]{6,}$/,Xn=/^[0-9a-z]+$/,Zn=/^[0-7][0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{25}$/,Qn=/^[0-9a-vA-V]{20}$/,$n=/^[A-Za-z0-9]{27}$/,er=/^[a-zA-Z0-9_-]{21}$/;function tr(e){return RegExp(`^[a-zA-Z0-9_-]{${e}}$`)}const nr=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,rr=/^([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})$/,ir=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)$/,ar=/^(?:[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 or(){return RegExp(`^(?=[\\s\\S]*[\\p{Extended_Pictographic}\\p{Regional_Indicator}\\u20E3])[\\p{Extended_Pictographic}\\p{Emoji_Component}]+$`,`u`)}const sr=/^(?:(?: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])$/,cr=/^(([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}|:))$/,lr=/^((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])$/,ur=/^(([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])$/,dr=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,fr=/^(?:[A-Za-z0-9_-]{4})*(?:[A-Za-z0-9_-]{2,3})?$/,pr=/^https?$/,mr=/^\+[1-9]\d{6,14}$/,hr=`(?:(?:\\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 gr(e){return RegExp(`^${e}$`)}const _r=gr(hr);function vr(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 yr(e){return RegExp(`^${vr(e)}$`)}function br(e){let t=[`Z`];e.offset&&t.push(`([+-](?:[01]\\d|2[0-3]):[0-5]\\d)`);let n=`${vr({precision:e.precision,seconds:!0})}(?:${t.join(`|`)})`,r=e.local?`${n}|${vr({precision:e.precision})}`:n;return RegExp(`^${hr}T(?:${r})$`)}const xr=/^[\s\S]{0,}$/,Sr=/^-?\d+$/,Cr=/^-?\d+(?:\.\d+)?$/,wr=/^(?:true|false)$/i,Tr=/^[^A-Z]*$/,Er=/^[^a-z]*$/,z=F(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),Dr=e=>{let t=e.value;return!bt(t)&&t.length!==void 0},Or={number:`number`,bigint:`bigint`,object:`date`},kr=F(`$ZodCheckLessThan`,(e,t)=>{z.init(e,t);let n=Or[typeof t.value];e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:Or[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})}}),Ar=F(`$ZodCheckGreaterThan`,(e,t)=>{z.init(e,t);let n=Or[typeof t.value];e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:Or[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})}}),jr=F(`$ZodCheckMultipleOf`,(e,t)=>{z.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):St(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})}}),Mr=F(`$ZodCheckNumberFormat`,(e,t)=>{z.init(e,t),t.format=t.format||`float64`;let n=t.format?.includes(`int`),r=n?`int`:`number`,[i,a]=Rt[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})}}),Nr=F(`$ZodCheckMaxLength`,(e,t)=>{var n;z.init(e,t),(n=e._zod.def).when??(n.when=Dr),e._zod.check=n=>{let r=n.value,i=r.length;if((typeof r==`string`&&i>t.maximum?en(r):i)<=t.maximum)return;let a=tn(r);n.issues.push({origin:a,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Pr=F(`$ZodCheckMinLength`,(e,t)=>{var n;z.init(e,t),(n=e._zod.def).when??(n.when=Dr),e._zod.check=n=>{let r=n.value,i=r.length;if((typeof r==`string`&&i>=t.minimum&&i<t.minimum*2?en(r):i)>=t.minimum)return;let a=tn(r);n.issues.push({origin:a,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Fr=F(`$ZodCheckLengthEquals`,(e,t)=>{var n;z.init(e,t),(n=e._zod.def).when??(n.when=Dr),e._zod.check=n=>{let r=n.value,i=r.length,a=typeof r==`string`&&i>=t.length&&i<=t.length*2?en(r):i;if(a===t.length)return;let o=tn(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})}}),Ir=F(`$ZodCheckStringFormat`,(e,t)=>{var n,r;z.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=()=>{})}),Lr=F(`$ZodCheckRegex`,(e,t)=>{Ir.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})}}),Rr=F(`$ZodCheckLowerCase`,(e,t)=>{t.pattern??=Tr,Ir.init(e,t)}),zr=F(`$ZodCheckUpperCase`,(e,t)=>{t.pattern??=Er,Ir.init(e,t)}),Br=F(`$ZodCheckIncludes`,(e,t)=>{z.init(e,t);let n=Ft(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})}}),Vr=F(`$ZodCheckStartsWith`,(e,t)=>{z.init(e,t);let n=RegExp(`^${Ft(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})}}),Hr=F(`$ZodCheckEndsWith`,(e,t)=>{z.init(e,t);let n=RegExp(`.*${Ft(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})}}),Ur=F(`$ZodCheckOverwrite`,(e,t)=>{z.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}});var Wr=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 Gr={major:4,minor:6,patch:5},B=F(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=Gr;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=j(t),a;for(let o of n){if(o._zod.def.when){if(Yt(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 I;if(a||s instanceof Promise)a=(a??Promise.resolve()).then(async()=>{await s,t.issues.length!==n&&(Qt(t.issues,n,e),i||=j(t,n))});else{if(t.issues.length===n)continue;Qt(t.issues,n,e),i||=j(t,n)}}return a?a.then(()=>t):t},n=(n,r,a)=>{if(j(n))return n.aborted=!0,n;let o=t(r,i,a);if(o instanceof Promise){if(a.async===!1)throw new I;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 I;return o.then(e=>t(e,i,a))}return t(o,i,a)}}},{get"~standard"(){return on(this,`~standard`,Jr(this))},set"~standard"(e){N(this,`~standard`,e)}}),Kr=(e,t)=>e.issues.length?{issues:e.issues.map(e=>M(e,t,R()))}:{value:e.value};async function qr(e,t){let n={async:!0};return Kr(await e._zod.run({value:t,issues:[]},n),n)}function Jr(e){return{validate:t=>{let n={async:!1};try{let r=e._zod.run({value:t,issues:[]},n);if(!(r instanceof Promise))return Kr(r,n)}catch{}return qr(e,t)},vendor:`zod`,version:1}}const Yr=F(`$ZodString`,(e,t)=>{B.init(e,t),e._zod.pattern=t.pattern??xr,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}}),V=F(`$ZodStringFormat`,(e,t)=>{Ir.init(e,t),Yr.init(e,t)}),Xr=F(`$ZodGUID`,(e,t)=>{t.pattern??=rr,V.init(e,t)}),Zr=F(`$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??=ir(e)}else t.pattern??=ir();V.init(e,t)}),Qr=F(`$ZodEmail`,(e,t)=>{t.pattern??=ar,V.init(e,t)});function $r(e){try{return typeof URL<`u`&&typeof URL.canParse==`function`?URL.canParse(e):(new URL(e),!0)}catch{return!1}}function ei(e,t){return!(`normalize`in t)&&!(`hostname`in t)&&!(`protocol`in t)?$r(e)||2:ti(e,t)}function ti(e,t){if(!t.normalize&&t.protocol?.source===pr.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 ni=/[\t\n\r]/g;function ri(e){return e.replace(ni,``)}function ii(e,t){return t.lastIndex=0,t.test(e.hostname)}function ai(e,t){return t.lastIndex=0,t.test(e.protocol.endsWith(`:`)?e.protocol.slice(0,-1):e.protocol)}const oi=F(`$ZodURL`,(e,t)=>{V.init(e,t),e._zod.check=n=>{try{let r=n.value.trim(),i=ei(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=ri(r);return}t.hostname&&!ii(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&&!ai(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:ri(r);return}catch{n.issues.push({code:`invalid_format`,format:`url`,input:n.value,inst:e,continue:!t.abort})}}}),si=F(`$ZodEmoji`,(e,t)=>{t.pattern??=or(),V.init(e,t)}),ci=F(`$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?er:tr(t.length),V.init(e,t)}),li=F(`$ZodCUID`,(e,t)=>{t.pattern??=Yn,V.init(e,t)}),ui=F(`$ZodCUID2`,(e,t)=>{t.pattern??=Xn,V.init(e,t)}),di=F(`$ZodULID`,(e,t)=>{t.pattern??=Zn,V.init(e,t)}),fi=F(`$ZodXID`,(e,t)=>{t.pattern??=Qn,V.init(e,t)}),pi=F(`$ZodKSUID`,(e,t)=>{t.pattern??=$n,V.init(e,t)}),mi=F(`$ZodISODateTime`,(e,t)=>{t.pattern??=br(t),V.init(e,t)}),hi=F(`$ZodISODate`,(e,t)=>{t.pattern??=_r,V.init(e,t)}),gi=F(`$ZodISOTime`,(e,t)=>{t.pattern??=yr(t),V.init(e,t)}),_i=F(`$ZodISODuration`,(e,t)=>{t.pattern??=nr,V.init(e,t)}),vi=F(`$ZodIPv4`,(e,t)=>{t.pattern??=sr,V.init(e,t)}),yi=/^[0-9a-fA-F:.]+$/;function bi(e){return yi.test(e)?$r(`http://[${e}]`):!1}const xi=F(`$ZodIPv6`,(e,t)=>{t.pattern??=cr,V.init(e,t),e._zod.check=n=>{bi(n.value)||n.issues.push({code:`invalid_format`,format:`ipv6`,input:n.value,inst:e,continue:!t.abort})}}),Si=F(`$ZodCIDRv4`,(e,t)=>{t.pattern??=lr,V.init(e,t)});function Ci(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:bi(n)}const wi=F(`$ZodCIDRv6`,(e,t)=>{t.pattern??=ur,V.init(e,t),e._zod.check=n=>{Ci(n.value)||n.issues.push({code:`invalid_format`,format:`cidrv6`,input:n.value,inst:e,continue:!t.abort})}});function Ti(e){if(e===``)return!0;if(/\s/.test(e)||e.length%4!=0)return!1;try{return atob(e),!0}catch{return!1}}const Ei=/^[0-9a-zA-Z+/]*={0,2}$/,Di=F(`$ZodBase64`,(e,t)=>{t.pattern??=Ei,V.init(e,t),e._zod.check=n=>{Ti(n.value)||n.issues.push({code:`invalid_format`,format:`base64`,input:n.value,inst:e,continue:!t.abort})}}),Oi=/^[A-Za-z0-9_-]*$/;function ki(e){if(!Oi.test(e))return!1;let t=e.replace(/[-_]/g,e=>e===`-`?`+`:`/`);return Ti(t.padEnd(Math.ceil(t.length/4)*4,`=`))}const Ai=F(`$ZodBase64URL`,(e,t)=>{t.pattern??=Oi,V.init(e,t),e._zod.check=n=>{ki(n.value)||n.issues.push({code:`invalid_format`,format:`base64url`,input:n.value,inst:e,continue:!t.abort})}}),ji=F(`$ZodE164`,(e,t)=>{t.pattern??=mr,V.init(e,t)});function Mi(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 Ni=F(`$ZodJWT`,(e,t)=>{V.init(e,t),e._zod.check=n=>{Mi(n.value,t.alg)||n.issues.push({code:`invalid_format`,format:`jwt`,input:n.value,inst:e,continue:!t.abort})}}),Pi=F(`$ZodNumber`,(e,t)=>{B.init(e,t),e._zod.pattern=Cr,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}}),Fi=F(`$ZodNumberFormat`,(e,t)=>{Mr.init(e,t),Pi.init(e,t)}),Ii=F(`$ZodBoolean`,(e,t)=>{B.init(e,t),e._zod.pattern=wr,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}}),Li=F(`$ZodUnknown`,(e,t)=>{B.init(e,t),e._zod.parse=e=>e}),Ri=F(`$ZodNever`,(e,t)=>{B.init(e,t),e._zod.parse=(t,n)=>(t.issues.push({expected:`never`,code:`invalid_type`,input:t.value,inst:e}),t)});function zi(e,t,n){e.issues.length&&t.issues.push(...Xt(n,e.issues)),t.value[n]=e.value}const Bi=F(`$ZodArray`,(e,t)=>{B.init(e,t);let n=L.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=>zi(t,r,e)));else if(zi(c,r,e),s&&c.issues.length!==0&&j(c))break}return o.length?Promise.all(o).then(()=>r):r}});function Vi(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(...Xt(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 Hi=[];function Ui(e){let t=Object.keys(e.shape),n=Object.getOwnPropertySymbols(e.shape),r=n.length?n:Hi,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=Lt(e.shape);return{...e,allKeys:i,symbolKeys:r,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(a)}}function Wi(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(j(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=>Vi(e,n,i,t,d,f))):Vi(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 Gi=F(`$ZodObject`,(e,t)=>{B.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=yt(()=>Ui(t));P(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)||T(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=At,o=t.catchall,s,c=L.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(j(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=>Vi(n,t,e,r,a,o))):Vi(s,t,e,r,a,o)}return o?Wi(l,r,t,n,i.value,e,d===!0):l.length?Promise.all(l).then(()=>t):t}}),Ki=F(`$ZodObjectJIT`,(e,t)=>{Gi.init(e,t);let n=e._zod.parse,r=yt(()=>Ui(t)),i=L.memoizer,a=t=>{let n=r.value,a=n.symbolKeys,o=new Wr([`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)}]`:Dt(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=At,c=!L.jitless,l=c&&jt.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?Wi([],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 qi(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=>!j(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=>M(e,r,R())))}),t)}const Ji=F(`$ZodUnion`,(e,t)=>{B.init(e,t),P(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),P(e,`optout`,e=>e.def.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),P(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)))}),P(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=>xt(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=>qi(t,r,e,i)):qi(o,r,e,i)}}),Yi=F(`$ZodIntersection`,(e,t)=>{B.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])=>Zi(e,t,n)):Zi(e,i,a)}});function Xi(e,t){if(e===t||e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(Mt(e)&&Mt(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=Xi(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=Xi(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 Zi(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=Xi(t.value,n.value);if(!c.valid){if(j(e))return e;throw Error(`Unmergable intersection. Error path: ${JSON.stringify(c.mergeErrorPath)}`)}return e.value=c.data,e}const Qi=F(`$ZodRecord`,(e,t)=>{B.init(e,t);let n=L.memoizer;n?.attach(e),e._zod.parse=(r,i)=>{let a=r.value;if(!Mt(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=>M(e,i,R())),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(...Xt(n,e.issues)),r.value[l]=e.value})):(u.issues.length&&r.issues.push(...Xt(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`&&Cr.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=>M(e,i,R())),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(...Xt(n,e.issues)),r.value[u]=e.value})):(d.issues.length&&r.issues.push(...Xt(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}}),$i=F(`$ZodEnum`,(e,t)=>{B.init(e,t);let n=ht(t.entries),r=new Set(n);e._zod.values=r,P(e,`pattern`,e=>{let t=ht(e.def.entries).filter(e=>Pt.has(typeof e));return RegExp(t.length?`^(${t.map(e=>Ft(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}}),ea=F(`$ZodTransform`,(e,t)=>{B.init(e,t),e._zod.optin=`optional`,L.memoizer?.guard(e),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new yn(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 I;return n.value=i,n}});function ta(e,t){return e.value=t.issues.length?void 0:t.value,e}const na=F(`$ZodOptional`,(e,t)=>{B.init(e,t),P(e,`optin`,e=>e.def.innerType._zod.optin===`defaulted`?`defaulted`:`optional`),e._zod.optout=`optional`,P(e,`values`,e=>{let t=e.def.innerType._zod.values;return t?new Set([...t,void 0]):void 0}),P(e,`pattern`,e=>{let t=e.def.innerType._zod.pattern;return t?RegExp(`^(${xt(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=>ta(e,t)):ta(e,r)}return t.innerType._zod.run(e,n)}}),ra=F(`$ZodExactOptional`,(e,t)=>{na.init(e,t),P(e,`values`,e=>e.def.innerType._zod.values),P(e,`pattern`,e=>e.def.innerType._zod.pattern),e._zod.parse=(e,n)=>t.innerType._zod.run(e,n)}),ia=F(`$ZodNullable`,(e,t)=>{B.init(e,t),P(e,`optin`,e=>e.def.innerType._zod.optin),P(e,`optout`,e=>e.def.innerType._zod.optout),P(e,`pattern`,e=>{let t=e.def.innerType._zod.pattern;return t?RegExp(`^(${xt(t.source)}|null)$`):void 0}),P(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)}),aa=F(`$ZodDefault`,(e,t)=>{B.init(e,t),e._zod.optin=`defaulted`,P(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=>oa(e,t)):oa(r,t)}});function oa(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}const sa=F(`$ZodPrefault`,(e,t)=>{B.init(e,t),e._zod.optin=`defaulted`,P(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))}),ca=F(`$ZodNonOptional`,(e,t)=>{B.init(e,t),P(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=>la(t,e)):la(i,e)}});function la(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 ua(e,t,n,r){return t.issues.length?(e.value=n.catchValue({...t,value:e.value,error:{issues:t.issues.map(e=>M(e,r,R()))},input:e.value}),e):(e.value=t.value,t.memo&&(e.memo=!0),e)}const da=F(`$ZodCatch`,(e,t)=>{B.init(e,t),P(e,`optin`,e=>e.def.innerType._zod.optin===`defaulted`?`defaulted`:`optional`),P(e,`optout`,e=>e.def.innerType._zod.optout),P(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=>ua(e,r,t,n)):ua(e,r,t,n)}}),fa=F(`$ZodPipe`,(e,t)=>{B.init(e,t),P(e,`values`,e=>e.def.in._zod.values),P(e,`optin`,e=>e.def.in._zod.optin),P(e,`optout`,e=>e.def.out._zod.optout),P(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=>pa(e,t.in,n)):pa(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>pa(e,t.out,n)):pa(r,t.out,n)}});function pa(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 ma=F(`$ZodReadonly`,(e,t)=>{B.init(e,t),P(e,`propValues`,e=>e.def.innerType._zod.propValues),P(e,`values`,e=>e.def.innerType._zod.values),P(e,`optin`,e=>e.def.innerType?._zod?.optin),P(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(ha):ha(r)}});function ha(e){return e.memo||(e.value=Object.freeze(e.value)),e}const ga=F(`$ZodCustom`,(e,t)=>{z.init(e,t),B.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=>_a(t,n,r,e));_a(i,n,r,e)}});function _a(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(rn(e))}}var va=class extends Error{constructor(){super(`Cannot parse a reference cycle that closes through a transform`),this.name=`ZodCyclicError`}};const ya=`~memo`,ba=[];function xa(e){return typeof e==`object`&&!!e}function Sa(e){return e.map(e=>e.path?{...e,path:e.path.slice()}:{...e})}const Ca=new WeakMap;function wa(e,t,n){let r=Ca.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=wa(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?wa(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=Ct(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?wa(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),Ta(e,i)}function Ta(e,t){return t!==1&&Ca.set(e,t===2),t}function Ea(e,t){let n=e.buckets.get(t);return n||(n=new WeakMap,e.buckets.set(t,n)),n}let Da;const Oa=[],ka={alloc(e,t,n){let r=Da;if(!r)return n;Da=void 0;let i={value:n,issues:null};return r.set(t.value,i),Oa.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`&&ja(n,e.value))throw new va;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=wa(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(!xa(l))return t(s,c);let u=c[ya];u||(u={buckets:new WeakMap,backEdges:void 0},c[ya]=u);let d;i===c?d=a:(d=Ea(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(...Sa(f.issues)):(s.memo=!0,u.backEdges??(u.backEdges=new WeakSet),u.backEdges.add(f.value)),s;Da=d;let p=Oa.length,m=t(s,c);Da=void 0;let h=Oa.length>p?Oa.pop():void 0;return m instanceof Promise?m.then(e=>(h&&(h.issues=e.issues.length?Sa(e.issues):ba),e)):(h&&(h.issues=m.issues.length?Sa(m.issues):ba),m)};e._zod.parse=o,e._zod.run===t&&(e._zod.run=o)})}};function Aa(){return ka}function ja(e,t){let n=e[ya]?.backEdges;return n!==void 0&&xa(t)&&n.has(t)}const Ma=()=>{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(nn(e.input),e.input)}`;case`invalid_value`:return e.values.length===1?`Invalid input: expected ${It(e.values[0])}`:`Invalid option: expected one of ${gt(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`:``}: ${gt(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 Na(){return{localeError:Ma()}}var Pa,Fa=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 Ia(){return new Fa}(Pa=globalThis).__zod_globalRegistry??(Pa.__zod_globalRegistry=Ia());const La=globalThis.__zod_globalRegistry;function Ra(e){return e.checks&&=[...e.checks],e}function za(e,t){return new e(Ra({type:`string`,...A(t)}))}function Ba(e,t){return new e({type:`string`,format:`email`,check:`string_format`,abort:!1,...A(t)})}function Va(e,t){return new e({type:`string`,format:`guid`,check:`string_format`,abort:!1,...A(t)})}function Ha(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,...A(t)})}function Ua(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v4`,...A(t)})}function Wa(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v6`,...A(t)})}function Ga(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v7`,...A(t)})}function Ka(e,t){return new e({type:`string`,format:`url`,check:`string_format`,abort:!1,...A(t)})}function qa(e,t){return new e({type:`string`,format:`emoji`,check:`string_format`,abort:!1,...A(t)})}function Ja(e,t){return new e({type:`string`,format:`nanoid`,check:`string_format`,abort:!1,...A(t)})}function Ya(e,t){return new e({type:`string`,format:`cuid`,check:`string_format`,abort:!1,...A(t)})}function Xa(e,t){return new e({type:`string`,format:`cuid2`,check:`string_format`,abort:!1,...A(t)})}function Za(e,t){return new e({type:`string`,format:`ulid`,check:`string_format`,abort:!1,...A(t)})}function Qa(e,t){return new e({type:`string`,format:`xid`,check:`string_format`,abort:!1,...A(t)})}function $a(e,t){return new e({type:`string`,format:`ksuid`,check:`string_format`,abort:!1,...A(t)})}function eo(e,t){return new e({type:`string`,format:`ipv4`,check:`string_format`,abort:!1,...A(t)})}function to(e,t){return new e({type:`string`,format:`ipv6`,check:`string_format`,abort:!1,...A(t)})}function no(e,t){return new e({type:`string`,format:`cidrv4`,check:`string_format`,abort:!1,...A(t)})}function ro(e,t){return new e({type:`string`,format:`cidrv6`,check:`string_format`,abort:!1,...A(t)})}function io(e,t){return new e({type:`string`,format:`base64`,check:`string_format`,abort:!1,...A(t)})}function ao(e,t){return new e({type:`string`,format:`base64url`,check:`string_format`,abort:!1,...A(t)})}function oo(e,t){return new e({type:`string`,format:`e164`,check:`string_format`,abort:!1,...A(t)})}function so(e,t){return new e({type:`string`,format:`jwt`,check:`string_format`,abort:!1,...A(t)})}function co(e,t){return new e({type:`string`,format:`datetime`,check:`string_format`,offset:!1,local:!1,precision:null,...A(t)})}function lo(e,t){return new e({type:`string`,format:`date`,check:`string_format`,...A(t)})}function uo(e,t){return new e({type:`string`,format:`time`,check:`string_format`,precision:null,...A(t)})}function fo(e,t){return new e({type:`string`,format:`duration`,check:`string_format`,...A(t)})}function po(e,t){return new e(Ra({type:`number`,checks:[],...A(t)}))}function mo(e,t){return new e({type:`number`,check:`number_format`,abort:!1,format:`safeint`,...A(t)})}function ho(e,t){return new e({type:`boolean`,...A(t)})}function go(e){return new e({type:`unknown`})}function _o(e,t){return new e({type:`never`,...A(t)})}function vo(e,t){return new kr({check:`less_than`,...A(t),value:e,inclusive:!1})}function yo(e,t){return new kr({check:`less_than`,...A(t),value:e,inclusive:!0})}function bo(e,t){return new Ar({check:`greater_than`,...A(t),value:e,inclusive:!1})}function xo(e,t){return new Ar({check:`greater_than`,...A(t),value:e,inclusive:!0})}function So(e,t){return new jr({check:`multiple_of`,...A(t),value:e})}function Co(e,t){return new Nr({check:`max_length`,...A(t),maximum:e})}function wo(e,t){return new Pr({check:`min_length`,...A(t),minimum:e})}function To(e,t){return new Fr({check:`length_equals`,...A(t),length:e})}function Eo(e,t){return new Lr({check:`string_format`,format:`regex`,...A(t),pattern:e})}function Do(e){return new Rr({check:`string_format`,format:`lowercase`,...A(e)})}function Oo(e){return new zr({check:`string_format`,format:`uppercase`,...A(e)})}function ko(e,t){return new Br({check:`string_format`,format:`includes`,...A(t),includes:e})}function Ao(e,t){return new Vr({check:`string_format`,format:`starts_with`,...A(t),prefix:e})}function jo(e,t){return new Hr({check:`string_format`,format:`ends_with`,...A(t),suffix:e})}function Mo(e){return new Ur({check:`overwrite`,tx:e})}function No(e){return Mo(t=>t.normalize(e))}function Po(){return Mo(e=>e.trim())}function Fo(){return Mo(e=>e.toLowerCase())}function Io(){return Mo(e=>e.toUpperCase())}function Lo(){return Mo(e=>Ot(e))}function Ro(e,t,n){return new e({type:`array`,element:t,...A(n)})}function zo(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...A(n)})}function Bo(e,t){let n=Vo(t=>(t.addIssue=e=>{if(typeof e==`string`)t.issues.push(rn(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(rn(r))}},e(t.value,t)),t);return n}function Vo(e,t){let n=new z({check:`custom`,...A(t)});return n._zod.check=e,n}function Ho(e,...t){for(let n of t)for(let t of Reflect.ownKeys(n))Object.prototype.propertyIsEnumerable.call(n,t)&&T(e,t,n[t]);return e}function Uo(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??La,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 Wo(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 H(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,H(a,t,r),t.seen.get(a).isParent=!0)}let c=t.metadataRegistry.get(e);return c&&Ho(o.schema,c),t.io===`input`&&U(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 Go(e){return e.replace(/~/g,`~0`).replace(/\//g,`~1`)}function Ko(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}/${Go(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+Go(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 qo(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;qo(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 Jo=new Set([`type`,`properties`,`required`,`additionalProperties`]),Yo=[`oneOf`,`anyOf`];function Xo(e){let t=e.additionalProperties;return t===void 0||t===!1||typeof t!=`object`||!t?null:Object.keys(t).length?t:null}function Zo(e){let t=[];for(let n of e){if(typeof n!=`object`||n.type!==`object`)return null;for(let e in n)if(!Jo.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]??Xo(n);t!=null&&(e.some(e=>JSON.stringify(e)===JSON.stringify(t))||e.push(t))}T(n,r,e.length===1?e[0]:Zo(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=Xo(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 Qo(e){let t=e.allOf;if(!Array.isArray(t)||t.length<2)return;for(let t of Jo)if(t in e)return;let n=t.filter(e=>Yo.some(t=>Array.isArray(e[t]))),r=null;if(!n.length)r=Zo(t);else{let e=n[0],i=Yo.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=>Zo([...a,e]));if(o.some(e=>!e))return;r={[i]:o}}r&&(delete e.allOf,Ho(e,r))}function $o(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)):Ho(i,s),Ho(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())qo(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)??[])Qo(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)}Ho(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,T(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:ts(t,`input`,e.processors),output:ts(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function U(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 U(r.element,n);if(r.type===`set`)return U(r.valueType,n);if(r.type===`lazy`)return U(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 U(r.innerType,n);if(r.type===`intersection`)return U(r.left,n)||U(r.right,n);if(r.type===`record`||r.type===`map`)return U(r.keyType,n)||U(r.valueType,n);if(r.type===`pipe`)return e._zod.traits.has(`$ZodCodec`)?!0:U(r.in,n)||U(r.out,n);if(r.type===`object`){for(let e in r.shape)if(U(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(U(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(U(e,n))return!0;return!!(r.rest&&U(r.rest,n))}return!1}const es=(e,t={})=>n=>{let r=Uo({...n,processors:t});return H(e,r),Ko(r,e),$o(r,e)},ts=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=Uo({...i??{},target:a,io:t,processors:n});return H(e,o),Ko(o,e),$o(o,e)},ns=(e,t,n)=>{(e[t]===void 0||n>e[t])&&(e[t]=n)},rs=(e,t,n)=>{(e[t]===void 0||n<e[t])&&(e[t]=n)},is=(e,t)=>{ns(e,`minimum`,t),rs(e,`maximum`,t)},as=(e,t)=>{e.multipleOf??=[],e.multipleOf.includes(t)||e.multipleOf.push(t)},os=(e,t)=>{e.patterns??=new Set,e.patterns.add(t)},ss=(e,t)=>{e.mime=e.mime?e.mime.filter(e=>t.includes(e)):[...t]},cs=(e,t)=>{e.format=t,t.includes(`int`)&&(e.isInt=!0)},ls=(e,t)=>ns(e,`minimum`,t.minimum),us=(e,t)=>rs(e,`maximum`,t.maximum),ds=e=>(t,n)=>{cs(t,n.format);let[r,i]=e[n.format];ns(t,`minimum`,r),rs(t,`maximum`,i)},fs={greater_than:(e,t)=>ns(e,t.inclusive?`minimum`:`exclusiveMinimum`,t.value),less_than:(e,t)=>rs(e,t.inclusive?`maximum`:`exclusiveMaximum`,t.value),multiple_of:(e,t)=>as(e,t.value),number_format:ds(Rt),bigint_format:ds(zt),min_length:ls,max_length:us,length_equals:(e,t)=>is(e,t.length),min_size:ls,max_size:us,size_equals:(e,t)=>is(e,t.size),string_format:(e,t)=>{cs(e,t.format),t.pattern&&os(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)=>ss(e,t.mime)};function W(e){let t={},n=e._zod.def,r=e._zod.traits.has(`$ZodCheck`)?[e,...n.checks??[]]:n.checks??[];for(let e of r)fs[e._zod.def.check]?.(t,e._zod.def);let i=e._zod.bag;i.minimum!==void 0&&ns(t,`minimum`,i.minimum),i.exclusiveMinimum!==void 0&&ns(t,`exclusiveMinimum`,i.exclusiveMinimum),i.maximum!==void 0&&rs(t,`maximum`,i.maximum),i.exclusiveMaximum!==void 0&&rs(t,`exclusiveMaximum`,i.exclusiveMaximum),i.multipleOf!==void 0&&as(t,i.multipleOf),i.format!==void 0&&(t.format??=i.format,i.format.includes(`int`)&&(t.isInt=!0)),i.mime&&ss(t,i.mime);for(let e of i.patterns??[])os(t,e);return t}const ps={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},ms=new Map([[Ei,dr],[Oi,fr]]),hs=e=>ms.get(e)??e,gs=(e,t,n,r)=>{let i=n;i.type=`string`;let{minimum:a,maximum:o,format:s,patterns:c,contentEncoding:l,laxFormat:u}=W(e);if(typeof a==`number`&&(i.minLength=a),typeof o==`number`&&(i.maxLength=o),s&&(i.format=ps[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(hs);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}))])}},_s=(e,t,n,r)=>{let i=n,{minimum:a,maximum:o,multipleOf:s,exclusiveMaximum:c,exclusiveMinimum:l,isInt:u}=W(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)):Wo(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}))])}},vs=(e,t,n,r)=>{n.type=`boolean`},ys=(e,t,n,r)=>{n.not={}},bs=(e,t,n,r)=>{let i=e._zod.def,a=ht(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},xs=(e,t,n,r)=>{Wo(e,t,n,r,`Custom types cannot be represented in JSON Schema`)},Ss=(e,t,n,r)=>{Wo(e,t,n,r,`Transforms cannot be represented in JSON Schema`)},Cs=(e,t,n,r)=>{let i=n,a=e._zod.def,{minimum:o,maximum:s}=W(e);typeof o==`number`&&(i.minItems=o),typeof s==`number`&&(i.maxItems=s),i.type=`array`,i.items=H(a.element,t,{...r,path:[...r.path,`items`]})};function ws(e){let t=e._zod.def;return t.type===`pipe`&&t.in._zod.traits.has(`$ZodTransform`)?ws(t.out):t.type===`catch`?ws(t.innerType):e._zod.optin}const Ts=(e,t,n,r)=>{let i=n,a=e._zod.def,o=a.shape;if(Object.getOwnPropertySymbols(o).length&&Wo(e,t,i,r,`Symbol keys cannot be represented in JSON Schema`))return;i.type=`object`,i.properties={};for(let e in o)T(i.properties,e,H(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`?ws(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=H(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},Es=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>H(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},Ds=(e,t,n,r)=>{let i=e._zod.def,a=H(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=H(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 Os(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=Os(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=>Os(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`)?Cr:Sr).source),p):p}const ks=new WeakMap;function As(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 ks.get(e)??[]){let i=e.seen.get(r),a=(i?.def??i?.schema)?.propertyNames;if(!a||a===!0||n.has(a))continue;let o=Os(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 js=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`;let o=a.keyType,s=W(o).patterns;if(a.mode===`loose`&&s&&s.size>0){let e=H(a.valueType,t,{...r,path:[...r.path,`patternProperties`,`*`]});i.patternProperties={};for(let t of s)T(i.patternProperties,hs(t).source,e)}else{if(t.target===`draft-07`||t.target===`draft-2020-12`){i.propertyNames=H(a.keyType,t,{...r,path:[...r.path,`propertyNames`]});let n=ks.get(t);n||(n=[],ks.set(t,n),t.deferred.push(()=>As(t))),n.push(e)}i.additionalProperties=H(a.valueType,t,{...r,path:[...r.path,`additionalProperties`]})}let c=o._zod.values,l=t.io===`input`&&ws(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))}},Ms=(e,t,n,r)=>{let i=e._zod.def,a=H(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`}]},Ns=(e,t,n,r)=>{let i=e._zod.def;H(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Ps=Symbol();function Fs(e,t,n,r,i){let a=!1,o=JSON.stringify(e,(e,t)=>typeof t==`bigint`?(a=!0,null):t);return a?(Wo(t,n,r,i,`BigInt defaults cannot be represented in JSON Schema`),Ps):JSON.parse(o)}const Is=(e,t,n,r)=>{let i=e._zod.def;H(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o=Fs(i.defaultValue,e,t,n,r);o!==Ps&&(n.default=o)},Ls=(e,t,n,r)=>{let i=e._zod.def;H(i.innerType,t,r);let a=t.seen.get(e);if(a.ref=i.innerType,t.io!==`input`)return;let o=Fs(i.defaultValue,e,t,n,r);o!==Ps&&(n._prefault=o)},Rs=(e,t,n,r)=>{let i=e._zod.def;H(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{Wo(e,t,n,r,`Dynamic catch values are not supported in JSON Schema`);return}n.default=o},zs=(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;H(o,t,r);let s=t.seen.get(e);s.ref=o},Bs=(e,t,n,r)=>{let i=e._zod.def;H(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},Vs=(e,t,n,r)=>{let i=e._zod.def;H(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Hs=new WeakSet([Object.prototype,Error.prototype]);function Us(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 G=F(`ZodError`,(e,t)=>{En.init(e,t),e.name=`ZodError`;let n=Object.getPrototypeOf(e);Hs.has(n)||(Hs.add(n),Us(n,`format`,e=>t=>kn(e,t)),Us(n,`flatten`,e=>t=>On(e,t)),Us(n,`addIssue`,e=>t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,_t,2)}),Us(n,`addIssues`,e=>t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,_t,2)}),Object.defineProperty(n,"isEmpty",{configurable:!0,enumerable:!1,get(){return this.issues.length===0}}))},void 0,{Parent:Error}),Ws=jn(G),Gs=Mn(G),Ks=Nn(G),qs=Fn(G),Js=Vn(G),Ys=Hn(G),Xs=Un(G),Zs=Wn(G),Qs=Gn(G),$s=Kn(G),ec=qn(G),tc=Jn(G);function nc(){L.localeError||R(Na())}function rc(){L.memoizer||R({memoizer:Aa()})}const K=F(`ZodType`,(e,t)=>(nc(),B.init(e,t),e.def=t,e.type=t.type,e),{check(...e){let t=this.def;return this.clone(O(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 k(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(Mo(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 La.add(t,{description:e}),t},meta(...e){if(e.length===0)return La.get(this);let t=this.clone();return La.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 on(this,`~standard`,{...Jr(this),jsonSchema:{input:ts(this,`input`),output:ts(this,`output`)}})},set"~standard"(e){N(this,`~standard`,e)},parse:function e(t,n){return Ws(this,t,n,{callee:e})},parseAsync:async function e(t,n){return await Gs(this,t,n,{callee:e})},safeParse(e,t){return Ks(this,e,t)},async safeParseAsync(e,t){return qs(this,e,t)},get spa(){return this?.safeParseAsync},set spa(e){N(this,`spa`,e)},validate(e,t){return Rn(this,e,t)},validateAsync(e,t){return Bn(this,e,t)},encode:function e(t,n){return Js(this,t,n,{callee:e})},decode:function e(t,n){return Ys(this,t,n,{callee:e})},encodeAsync:async function e(t,n){return await Xs(this,t,n,{callee:e})},decodeAsync:async function e(t,n){return await Zs(this,t,n,{callee:e})},safeEncode(e,t){return Qs(this,e,t)},safeDecode(e,t){return $s(this,e,t)},async safeEncodeAsync(e,t){return ec(this,e,t)},async safeDecodeAsync(e,t){return tc(this,e,t)},toJSONSchema(e){return es(this,{})(e)},get description(){return La.get(this)?.description},get _def(){return this._zod.def}}),ic=F(`_ZodString`,(e,t)=>{Yr.init(e,t),K.init(e,t),e._zod.processJSONSchema=(t,n,r)=>gs(e,t,n,r)},sn({format:e=>W(e).format??null,minLength:e=>W(e).minimum??null,maxLength:e=>W(e).maximum??null},{regex(...e){return this.check(Eo(...e))},includes(...e){return this.check(ko(...e))},startsWith(...e){return this.check(Ao(...e))},endsWith(...e){return this.check(jo(...e))},min(...e){return this.check(wo(...e))},max(...e){return this.check(Co(...e))},length(...e){return this.check(To(...e))},nonempty(...e){return this.check(wo(1,...e))},lowercase(e){return this.check(Do(e))},uppercase(e){return this.check(Oo(e))},trim(){return this.check(Po())},normalize(...e){return this.check(No(...e))},toLowerCase(){return this.check(Fo())},toUpperCase(){return this.check(Io())},slugify(){return this.check(Lo())}})),ac=F(`ZodString`,(e,t)=>{Yr.init(e,t),ic.init(e,t)},{email(e){return this.check(Ba(uc,e))},url(e){return this.check(Ka(pc,e))},jwt(e){return this.check(so(Oc,e))},emoji(e){return this.check(qa(mc,e))},guid(e){return this.check(Va(dc,e))},uuid(e){return this.check(Ha(fc,e))},uuidv4(e){return this.check(Ua(fc,e))},uuidv6(e){return this.check(Wa(fc,e))},uuidv7(e){return this.check(Ga(fc,e))},nanoid(e){return this.check(Ja(hc,e))},cuid(e){return this.check(Ya(gc,e))},cuid2(e){return this.check(Xa(_c,e))},ulid(e){return this.check(Za(vc,e))},base64(e){return this.check(io(Tc,e))},base64url(e){return this.check(ao(Ec,e))},xid(e){return this.check(Qa(yc,e))},ksuid(e){return this.check($a(bc,e))},ipv4(e){return this.check(eo(xc,e))},ipv6(e){return this.check(to(Sc,e))},cidrv4(e){return this.check(no(Cc,e))},cidrv6(e){return this.check(ro(wc,e))},e164(e){return this.check(oo(Dc,e))},datetime(e){return this.check(co(oc,e))},date(e){return this.check(lo(sc,e))},time(e){return this.check(uo(cc,e))},duration(e){return this.check(fo(lc,e))}});function q(e){return za(ac,e)}const J=F(`ZodStringFormat`,(e,t)=>{V.init(e,t),ic.init(e,t)}),oc=F(`ZodISODateTime`,(e,t)=>{mi.init(e,t),J.init(e,t)}),sc=F(`ZodISODate`,(e,t)=>{hi.init(e,t),J.init(e,t)}),cc=F(`ZodISOTime`,(e,t)=>{gi.init(e,t),J.init(e,t)}),lc=F(`ZodISODuration`,(e,t)=>{_i.init(e,t),J.init(e,t)}),uc=F(`ZodEmail`,(e,t)=>{Qr.init(e,t),J.init(e,t)}),dc=F(`ZodGUID`,(e,t)=>{Xr.init(e,t),J.init(e,t)}),fc=F(`ZodUUID`,(e,t)=>{Zr.init(e,t),J.init(e,t)}),pc=F(`ZodURL`,(e,t)=>{oi.init(e,t),J.init(e,t)}),mc=F(`ZodEmoji`,(e,t)=>{si.init(e,t),J.init(e,t)}),hc=F(`ZodNanoID`,(e,t)=>{ci.init(e,t),J.init(e,t)}),gc=F(`ZodCUID`,(e,t)=>{li.init(e,t),J.init(e,t)}),_c=F(`ZodCUID2`,(e,t)=>{ui.init(e,t),J.init(e,t)}),vc=F(`ZodULID`,(e,t)=>{di.init(e,t),J.init(e,t)}),yc=F(`ZodXID`,(e,t)=>{fi.init(e,t),J.init(e,t)}),bc=F(`ZodKSUID`,(e,t)=>{pi.init(e,t),J.init(e,t)}),xc=F(`ZodIPv4`,(e,t)=>{vi.init(e,t),J.init(e,t)}),Sc=F(`ZodIPv6`,(e,t)=>{xi.init(e,t),J.init(e,t)}),Cc=F(`ZodCIDRv4`,(e,t)=>{Si.init(e,t),J.init(e,t)}),wc=F(`ZodCIDRv6`,(e,t)=>{wi.init(e,t),J.init(e,t)}),Tc=F(`ZodBase64`,(e,t)=>{Di.init(e,t),J.init(e,t)}),Ec=F(`ZodBase64URL`,(e,t)=>{Ai.init(e,t),J.init(e,t)}),Dc=F(`ZodE164`,(e,t)=>{ji.init(e,t),J.init(e,t)}),Oc=F(`ZodJWT`,(e,t)=>{Ni.init(e,t),J.init(e,t)}),kc=F(`ZodNumber`,(e,t)=>{Pi.init(e,t),K.init(e,t),e._zod.processJSONSchema=(t,n,r)=>_s(e,t,n,r),e.isFinite=!0},sn({minValue:e=>{let{minimum:t,exclusiveMinimum:n}=W(e);return Math.max(t??-1/0,n??-1/0)},maxValue:e=>{let{maximum:t,exclusiveMaximum:n}=W(e);return Math.min(t??1/0,n??1/0)},isInt:e=>{let{isInt:t,multipleOf:n}=W(e);return!!t||!!n?.some(Number.isSafeInteger)},format:e=>W(e).format??null},{gt(e,t){return this.check(bo(e,t))},gte(e,t){return this.check(xo(e,t))},min(e,t){return this.check(xo(e,t))},lt(e,t){return this.check(vo(e,t))},lte(e,t){return this.check(yo(e,t))},max(e,t){return this.check(yo(e,t))},int(e){return this.check(Mc(e))},safe(e){return this.check(Mc(e))},positive(e){return this.check(bo(0,e))},nonnegative(e){return this.check(xo(0,e))},negative(e){return this.check(vo(0,e))},nonpositive(e){return this.check(yo(0,e))},multipleOf(e,t){return this.check(So(e,t))},step(e,t){return this.check(So(e,t))},finite(){return this}}));function Ac(e){return po(kc,e)}const jc=F(`ZodNumberFormat`,(e,t)=>{Fi.init(e,t),kc.init(e,t)});function Mc(e){return mo(jc,e)}const Nc=F(`ZodBoolean`,(e,t)=>{Ii.init(e,t),K.init(e,t),e._zod.processJSONSchema=(t,n,r)=>vs(e,t,n,r)});function Y(e){return ho(Nc,e)}const Pc=F(`ZodUnknown`,(e,t)=>{Li.init(e,t),K.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function Fc(){return go(Pc)}const Ic=F(`ZodNever`,(e,t)=>{Ri.init(e,t),K.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ys(e,t,n,r)});function Lc(e){return _o(Ic,e)}const Rc=F(`ZodArray`,(e,t)=>{rc(),Bi.init(e,t),K.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Cs(e,t,n,r),e.element=t.element},{min(e,t){return this.check(wo(e,t))},nonempty(e){return this.check(wo(1,e))},max(e,t){return this.check(Co(e,t))},length(e,t){return this.check(To(e,t))},unwrap(){return this.element}});function zc(e,t){return Ro(Rc,e,t)}const Bc=F(`ZodObject`,(e,t)=>{rc(),Ki.init(e,t),K.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ts(e,t,n,r),pn(e,`shape`,e=>e._zod.def.shape,!1)},{keyof(){return Z(Object.keys(this._zod.def.shape))},catchall(e){return this.clone(O(this._zod.def,{catchall:e}))},passthrough(){return this.clone(O(this._zod.def,{catchall:Fc()}))},loose(){return this.clone(O(this._zod.def,{catchall:Fc()}))},strict(){return this.clone(O(this._zod.def,{catchall:Lc()}))},strip(){return this.clone(O(this._zod.def,{catchall:void 0}))},extend(e){return Ut(this,e)},safeExtend(e){return Gt(this,e)},merge(e){return Kt(this,e)},pick(e){return Bt(this,e)},omit(e){return Ht(this,e)},partial(...e){return qt(Zc,this,e[0])},exactPartial(...e){return qt($c,this,e[0],`exactPartial`)},required(...e){return Jt(sl,this,e[0])}});function Vc(e,t){let n={type:`object`,shape:e??{},...A(t)};return new Bc(n)}function X(e,t){return new Bc({type:`object`,shape:e,catchall:Fc(),...A(t)})}const Hc=F(`ZodUnion`,(e,t)=>{Ji.init(e,t),K.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Es(e,t,n,r),e.options=t.options});function Uc(e,t){return new Hc({type:`union`,options:e,...A(t)})}const Wc=F(`ZodIntersection`,(e,t)=>{Yi.init(e,t),K.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ds(e,t,n,r)});function Gc(e,t){return new Wc({type:`intersection`,left:e,right:t})}const Kc=F(`ZodRecord`,(e,t)=>{rc(),Qi.init(e,t),K.init(e,t),e._zod.processJSONSchema=(t,n,r)=>js(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:q(),valueType:e,...A(t)}):new Kc({type:`record`,keyType:e,valueType:t,...A(n)})}const Jc=F(`ZodEnum`,(e,t)=>{$i.init(e,t),K.init(e,t),e._zod.processJSONSchema=(t,n,r)=>bs(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:[],...A(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:[],...A(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,...A(t)})}const Yc=F(`ZodTransform`,(e,t)=>{rc(),ea.init(e,t),K.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ss(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new yn(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(rn(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(rn(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=F(`ZodOptional`,(e,t)=>{na.init(e,t),K.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Vs(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Qc(e){return new Zc({type:`optional`,innerType:e})}const $c=F(`ZodExactOptional`,(e,t)=>{ra.init(e,t),K.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Vs(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function el(e){return new $c({type:`optional`,innerType:e})}const tl=F(`ZodNullable`,(e,t)=>{ia.init(e,t),K.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ms(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function nl(e){return new tl({type:`nullable`,innerType:e})}const rl=F(`ZodDefault`,(e,t)=>{aa.init(e,t),K.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Is(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():Nt(t)}})}const al=F(`ZodPrefault`,(e,t)=>{sa.init(e,t),K.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ls(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():Nt(t)}})}const sl=F(`ZodNonOptional`,(e,t)=>{ca.init(e,t),K.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ns(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function cl(e,t){return new sl({type:`nonoptional`,innerType:e,...A(t)})}const ll=F(`ZodCatch`,(e,t)=>{da.init(e,t),K.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Rs(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:mn(t)})}const dl=F(`ZodPipe`,(e,t)=>{fa.init(e,t),K.init(e,t),e._zod.processJSONSchema=(t,n,r)=>zs(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=F(`ZodReadonly`,(e,t)=>{ma.init(e,t),K.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Bs(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function ml(e){return new pl({type:`readonly`,innerType:e})}const hl=F(`ZodCustom`,(e,t)=>{ga.init(e,t),K.init(e,t),e._zod.processJSONSchema=(t,n,r)=>xs(e,t,n,r)});function gl(e,t={}){return zo(hl,e,t)}function _l(e,t){return Bo(e,t)}const vl=Vc({detail:q()}),yl=Vc({error:q()});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=[`manual`,`ask`,`agent`,`code_mode`],Q=Vc({api_key:q().optional(),base_url:q().optional(),project:q().optional()}).loose(),kl=Vc({chat_model:q().nullish(),edit_model:q().nullish(),autocomplete_model:q().nullish(),displayed_models:zc(q()).default([]),custom_models:zc(q()).default([])}),Al=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:q().nullish()}).prefault({}),save:X({autosave:Z([`off`,`after_delay`]).prefault(`after_delay`),autosave_delay:Ac().nonnegative().transform(e=>Math.max(e,1e3)).prefault(1e3),format_on_save:Y().prefault(!1)}).prefault({}),formatting:X({line_length:Ac().nonnegative().prefault(79).transform(e=>Math.min(e,1e3))}).prefault({}),keymap:X({preset:Z([`default`,`vim`]).prefault(`default`),overrides:qc(q(),q()).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`),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:Ac().nonnegative().prefault(14),cell_output:Z([`above`,`below`]).prefault(`below`),dataframes:Z([`rich`,`plain`]).prefault(`rich`),default_table_page_size:Ac().prefault(10),default_table_max_columns:Ac().prefault(50),default_width:Z(Tl).prefault(`medium`).transform(e=>e===`normal`?`compact`:e),locale:q().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:q().prefault(``),max_tokens:Ac().int().positive().nullable().optional(),mode:Z(Ol).prefault(`manual`),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:q().optional(),profile_name:q().optional(),aws_access_key_id:q().optional(),aws_secret_access_key:q().optional()}).optional(),custom_providers:qc(q(),Q).prefault({}),models:kl.prefault({displayed_models:[],custom_models:[]})}).prefault({}),experimental:X({markdown:Y().optional(),rtc:Y().optional()}).prefault(()=>({})),server:X({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:q(),name:q().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:{}})),jl=q(),Ml=Z(El).prefault(`auto`);Vc({width:Z(Tl).prefault(`medium`).transform(e=>e===`normal`?`compact`:e),app_title:jl.nullish(),css_file:q().nullish(),html_head_file:q().nullish(),auto_download:zc(Z(Dl)).prefault([]),sql_output:Ml}).prefault(()=>({width:`medium`,auto_download:[],sql_output:`auto`}));function Nl(){return Al.parse({completion:{},save:{},formatting:{},keymap:{},runtime:{},display:{},diagnostics:{},file_browser:{},experimental:{},server:{},ai:{},package_management:{},mcp:{}})}function Pl(e){let t,n=!1;return function(...r){return n||(n=!0,t=e.apply(this,r)),t}}const Fl=e=>new TextDecoder().decode(e);function Il(e){return e.FS}const Ll=`notebook.py`,Rl=`/marimo`,$={NOTEBOOK_FILENAME:Ll,HOME_DIR:Rl,createHomeDir:e=>{let t=Il(e);try{t.mkdirTree(Rl)}catch{}t.chdir(Rl)},mountFS:e=>{globalThis.origin!==`null`&&Il(e).mount(e.FS.filesystems.IDBFS,{root:`.`},Rl)},populateFilesToMemory:async e=>{await zl(e,!0)},persistFilesToRemote:async e=>{await zl(e,!1)},readNotebook:e=>{let t=Il(e),n=`${Rl}/${Ll}`;return Fl(t.readFile(n))},initNotebookCode:e=>{let{pyodide:t,filename:n,code:r}=e,i=Il(t),a=e=>{try{return Fl(i.readFile(e))}catch{return null}};if(n&&n!==Ll){let e=a(n);if(e)return{code:e,filename:n}}return i.writeFile(Ll,r),{code:r,filename:Ll}}};function zl(e,t){return new Promise((n,r)=>{Il(e).syncfs(t,e=>{if(e instanceof Error){r(e);return}n()})})}function Bl(){return`marimo-base`}const Vl=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=Vl;function Hl(e){return e.trim().split(/[[<>=!~;@\s]/)[0]}var Ul=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(!ct)throw Error(`loadPyodide is not defined`);let t=Vl.startSpan(`loadPyodide`);try{let n=e.pyodideIndexUrl??`https://cdn.jsdelivr.net/pyodide/${e.pyodideVersion}/full/`,r=await ct({packages:[`micropip`,`msgspec`,Bl(),`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 w.error(`Failed to load Pyodide`,e),e}}async mountFilesystem(e){let t=Vl.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=Vl.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=Pl(()=>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:Pl(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=Vl.startSpan(`pyodide.loadPackage`);await n.loadPackagesFromImports(e,{errorCallback:w.error,messageCallback:w.log}),i.end(),i=Vl.startSpan(`micropip.install`);let a=r.filter(e=>!n.loadedPackages[Hl(e)]);if(a.length>0){let e=a.map(e=>[Hl(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=>{w.error(`Failed to load packages from micropip`,e)})}i.end()}},Wl=class extends Ul{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){w.error(e)}return{code:t,filename:n}}async prepareSession(e){return super.prepareSession({queryParameters:{},code:e.code,filename:e.filename,userConfig:Nl()})}};async function Gl(){let e=nu(),t=lt(e);try{self.controller=new Wl,self.pyodide=await self.controller.bootstrap({version:e,pyodideVersion:t})}catch(e){w.error(`Error bootstrapping`,e),tu.send.initializedError({error:bl(e)})}}const Kl=Gl();let ql,Jl=Promise.resolve();async function Yl(e,t){await Kl;try{Cl(self.controller,`Controller not loaded`),t&&await Xl();let n=await self.controller.mountFilesystem({code:e.code,filename:`app-${e.appId}.py`}),r=await self.controller.prepareSession(n);try{await Zl(r.bridge,e.sessionGeneration)}catch(e){throw await r.stop(),e}r.start().catch(e=>{tu.send.initializedError({error:bl(e)})}),ql||={appId:e.appId,bridge:r.bridge,sessionGeneration:e.sessionGeneration},tu.send.initialized({})}catch(e){throw tu.send.initializedError({error:bl(e)}),e}}async function Xl(){await self.controller.stopSession(),ql=void 0}async function Zl(e,t){let n=e.notebook;try{await n.subscribe(`island-${t}`,null,e=>{tu.send.notebookEvent({event:e,sessionGeneration:t})})}finally{n.destroy()}}function Ql(e){let t=Jl.then(e);return Jl=t.then(()=>void 0,()=>void 0),t}const $l=u({startSession:async e=>{await Ql(()=>Yl(e,!1))},replaceSession:async e=>{await Ql(()=>Yl(e,!0))},stopSession:async e=>{await Ql(async()=>{ql?.appId===e.appId&&ql?.sessionGeneration===e.sessionGeneration&&(Cl(self.controller,`Controller not loaded`),await Xl())})},loadPackages:async e=>{await Kl,await Ql(async()=>{eu(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:w.log,errorCallback:w.error})})},bridge:async e=>{await Kl;let{functionName:t,payload:n}=e;return Ql(async()=>{let r=eu(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 eu(e){let t=ql;if(!t||e.appId!==t.appId||e.sessionGeneration!==t.sessionGeneration)throw Error(`The marimo app session is no longer active.`);return t.bridge}const tu=p({transport:te({transportId:`marimo-transport`}),requestHandler:$l});tu.send(`ready`,{});function nu(){return self.name}export{o as t};
|