@vellumai/web 0.10.4 → 0.10.5-dev.202607022329.d89bf2f
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/assets/{AnimatePresence-k-NoyzmC.js → AnimatePresence-uY0BR2n2.js} +1 -1
- package/dist/assets/{BundleConfirmPage-BcXA4t1n.js → BundleConfirmPage-BEQyQVeN.js} +1 -1
- package/dist/assets/{Combination-4Qc3vrtW.js → Combination-UBPhVLWy.js} +1 -1
- package/dist/assets/{about-page-BQQ9OMS-.js → about-page-Ck4iLq7E.js} +1 -1
- package/dist/assets/account-page-DmI8Zm1K.js +1 -0
- package/dist/assets/{account-shell-DLtzg6bW.js → account-shell-CL67zFht.js} +1 -1
- package/dist/assets/acp-run-detail-panel-gEL8OqNU.js +5 -0
- package/dist/assets/{add-credits-modal-p8hs2R5Q.js → add-credits-modal-BnXqKqkz.js} +1 -1
- package/dist/assets/advanced-page-BQvsLeue.js +1 -0
- package/dist/assets/ai-page-BcR8KPT5.js +1 -0
- package/dist/assets/{animated-avatar-BSEt2q64.js → animated-avatar-CEC1DGcI.js} +1 -1
- package/dist/assets/{api-Deex2etA.js → api-DnqFanVx.js} +1 -1
- package/dist/assets/api-key-screen-Ct1qhQGe.js +1 -0
- package/dist/assets/{archive-page-CjnYMSCA.js → archive-page-Dp4CDPFL.js} +1 -1
- package/dist/assets/assistant-api-BFL8kRU6.js +1 -0
- package/dist/assets/{assistant-feature-flag-store-oe00IJMB.js → assistant-feature-flag-store-C94SGLWJ.js} +1 -1
- package/dist/assets/{assistant-identity-store-iWGqR8uz.js → assistant-identity-store-cODRsfVo.js} +1 -1
- package/dist/assets/{assistant-status-panel-CUEIZEyr.js → assistant-status-panel-CWYmm239.js} +1 -1
- package/dist/assets/auth-store-DfeW0asJ.js +2 -0
- package/dist/assets/background-task-detail-panel-CH7efUDj.js +1 -0
- package/dist/assets/billing-page-tzTltPcQ.js +3 -0
- package/dist/assets/{bookmarks-page-G8JL2TRr.js → bookmarks-page-DQNTR2lx.js} +1 -1
- package/dist/assets/{browser-B4y6LCLX.js → browser-DM38C5zq.js} +2 -2
- package/dist/assets/build-state-C1h3J6U4.js +1 -0
- package/dist/assets/{button-D7s2Q_uG.js → button-D-AX8Voo.js} +1 -1
- package/dist/assets/by-tool-use-id-index-Dbdu-8Kf.js +1 -0
- package/dist/assets/chat-rA5AbKPD.js +1 -0
- package/dist/assets/{checkbox-BqCzUvXM.js → checkbox-ueHEk2G-.js} +1 -1
- package/dist/assets/{client-feature-flag-store-k_bI655l.js → client-feature-flag-store-CWOJ-CVU.js} +1 -1
- package/dist/assets/{client-identity-B8CM527c.js → client-identity-KGlckm6M.js} +1 -1
- package/dist/assets/{command-palette-0moHjYai.js → command-palette-Dlt7m1I6.js} +1 -1
- package/dist/assets/{command-palette-window-page-utfVpPv0.js → command-palette-window-page-DGfCcu4v.js} +1 -1
- package/dist/assets/{community-page-BLtaVXOe.js → community-page-BhuuMsyS.js} +1 -1
- package/dist/assets/{confirm-dialog-CfOXCE1N.js → confirm-dialog-bfBx6UYv.js} +1 -1
- package/dist/assets/{connect-page-Cu_qaH-z.js → connect-page-iwfq05E5.js} +1 -1
- package/dist/assets/{consent-controls-CwEkJRom.js → consent-controls-BzFFpG2p.js} +1 -1
- package/dist/assets/{contacts-gateway-B23m6emG.js → contacts-gateway-BDJYh797.js} +1 -1
- package/dist/assets/contacts-page-route-6RKPZpDS.js +9 -0
- package/dist/assets/{conversation-list-fetchers-B5KLYIZZ.js → conversation-list-fetchers-COStMaVO.js} +1 -1
- package/dist/assets/conversation-store-B8D6wE18.js +1 -0
- package/dist/assets/{danger-zone-redirect-page-ChVePZyJ.js → danger-zone-redirect-page-DK4QwO4q.js} +1 -1
- package/dist/assets/debug-page-D33Lzv5V.js +4 -0
- package/dist/assets/{deploy-dialogs-DYPOGbGL.js → deploy-dialogs-BhpmZiBK.js} +1 -1
- package/dist/assets/{detail-card-acc7KIet.js → detail-card-Bga8Jc8y.js} +1 -1
- package/dist/assets/detail-panel-stop-button-Dt15JaIv.js +1 -0
- package/dist/assets/detail-shell-BlzaPKeI.js +4 -0
- package/dist/assets/{developer-page-nLBkSigq.js → developer-page-D-cN0uAY.js} +1 -1
- package/dist/assets/{devices-page-CFg1FAIT.js → devices-page-Bi8jZe8c.js} +1 -1
- package/dist/assets/diagnostics-BAjanSbk.js +1 -0
- package/dist/assets/{dictation-overlay-page-CIIcRSZr.js → dictation-overlay-page-BurDS8z_.js} +1 -1
- package/dist/assets/{dist-B0Gf-knw.js → dist-CGS5MDkK.js} +1 -1
- package/dist/assets/{dist-cApvLul2.js → dist-Ddn3FnfV.js} +1 -1
- package/dist/assets/{document-viewer-page-CNWyP82k.js → document-viewer-page-BiaJTF17.js} +1 -1
- package/dist/assets/{dropdown-CL8VmqrY.js → dropdown-ChWAdhLG.js} +1 -1
- package/dist/assets/{earn-credits-modal-BkXk_l9a.js → earn-credits-modal-CAUyJwmh.js} +1 -1
- package/dist/assets/{emails-page-C9mr_lzm.js → emails-page-CAXZA30r.js} +1 -1
- package/dist/assets/esm--RA963YO.js +2 -0
- package/dist/assets/esm-BSRBg0oR.js +2 -0
- package/dist/assets/esm-CJ8uY1wn.js +2 -0
- package/dist/assets/esm-DTj81fJQ.js +1 -0
- package/dist/assets/{esm-B_Dgz4mc.js → esm-O9mDOR47.js} +2 -2
- package/dist/assets/esm-cB02a8J9.js +2 -0
- package/dist/assets/feature-flag-catalog-C8w5_UfU.js +1 -0
- package/dist/assets/{file-editor-BWfAnSsG.js → file-editor-ZqIEJw6T.js} +1 -1
- package/dist/assets/general-page-DIvhLrLC.js +1 -0
- package/dist/assets/hatching-screen-C0HPTyMQ.js +1 -0
- package/dist/assets/home-page-route-B3-EkviT.js +1 -0
- package/dist/assets/hosting-screen-DWqZD5MS.js +1 -0
- package/dist/assets/identity-page-route-HyRfxaiP.js +1 -0
- package/dist/assets/index-F6qy8udC.css +2 -0
- package/dist/assets/index-FlO-C4WJ.js +129 -0
- package/dist/assets/{input-C8kfrq9r.js → input-D4W4p0pZ.js} +1 -1
- package/dist/assets/{inspect-page-BWSvIJ2d.js → inspect-page-Dh2BRN8h.js} +4 -4
- package/dist/assets/{install-s7InKiDi.js → install-DwGUGZQw.js} +1 -1
- package/dist/assets/integrations-page-DwiPISi_.js +1 -0
- package/dist/assets/{intelligence-layout-B_UDPu0L.js → intelligence-layout-DZ-lWsS-.js} +1 -1
- package/dist/assets/{keyboard-shortcuts-page-E8rGDLiG.js → keyboard-shortcuts-page-CI4UDQMl.js} +1 -1
- package/dist/assets/{library-detail-page-BlrRC_ny.js → library-detail-page-Dijlp-Ed.js} +1 -1
- package/dist/assets/{library-page-Dct5o6_9.js → library-page-CI_i8xZv.js} +1 -1
- package/dist/assets/{list-row-Cw9JYESP.js → list-row-Di0MK3wu.js} +1 -1
- package/dist/assets/local-mode-CgrENuVf.js +39 -0
- package/dist/assets/{login-flow-BtdVqmTm.js → login-flow-Ds9vsrwI.js} +1 -1
- package/dist/assets/login-page-CCwMU8NR.js +1 -0
- package/dist/assets/{logout-page-BCcEjyS2.js → logout-page-DYzv53xW.js} +1 -1
- package/dist/assets/{logs-layout-Btvxnin8.js → logs-layout-BCn0lQCq.js} +1 -1
- package/dist/assets/{memory-router-playground-page-D5ruL9dQ.js → memory-router-playground-page-DgSeE_5U.js} +1 -1
- package/dist/assets/{menu-C_97pis4.js → menu-BLJEjTFD.js} +1 -1
- package/dist/assets/messages-ChEiS3wF.js +13 -0
- package/dist/assets/{metric-card-DqAVWY-G.js → metric-card-B5-OTPcX.js} +1 -1
- package/dist/assets/{mobile-sidebar-drawer-BBHy-x2N.js → mobile-sidebar-drawer-dkZfF4ic.js} +1 -1
- package/dist/assets/{modal-D0Q3UWD0.js → modal-BNAVT2FK.js} +1 -1
- package/dist/assets/mutation-error-Iab5I7oz.js +1 -0
- package/dist/assets/native-biometric-BK6_QtW5.js +6 -0
- package/dist/assets/{native-file-Bm3eyig_.js → native-file-DIJL6af-.js} +2 -2
- package/dist/assets/{notifications-page-cOGpYgqy.js → notifications-page-Dla1bt2V.js} +1 -1
- package/dist/assets/{oauth-complete-page-C2RjDFuA.js → oauth-complete-page-BMqf56bD.js} +1 -1
- package/dist/assets/{oauth-popup-complete-page-Cwy2jqJN.js → oauth-popup-complete-page-CdaOFiQI.js} +1 -1
- package/dist/assets/{page-shell-5T-Jxz7G.js → page-shell-rqT8-trD.js} +1 -1
- package/dist/assets/pairing-page-BDCtiLsq.js +1 -0
- package/dist/assets/{panel-item-nGTDevWP.js → panel-item-Q1g7DFJw.js} +1 -1
- package/dist/assets/{password-reset-page-yn0MrnNq.js → password-reset-page-T_0pamrF.js} +1 -1
- package/dist/assets/platform-detection-Ceodt3Hu.js +1 -0
- package/dist/assets/platform-loopback-page-BnZPdxIk.js +1 -0
- package/dist/assets/{plugin-detail-page-sX6m5HV3.js → plugin-detail-page-3mf9oR80.js} +1 -1
- package/dist/assets/plugins-page-TAy4hev4.js +1 -0
- package/dist/assets/plugins-surface-gCrqfOas.js +1 -0
- package/dist/assets/{popover-CL-JL6vG.js → popover-BUj2v1xo.js} +1 -1
- package/dist/assets/{prechat-qvhqEHmK.js → prechat-RG0Q0UrS.js} +1 -1
- package/dist/assets/prechat-route-CtfsGLw2.js +1 -0
- package/dist/assets/{prefs-OrKWJGM_.js → prefs-ef69V836.js} +1 -1
- package/dist/assets/privacy-page-BB9GR4ZD.js +1 -0
- package/dist/assets/privacy-screen-onaZtGUE.js +1 -0
- package/dist/assets/provider-callback-page-yXBMI0Uv.js +1 -0
- package/dist/assets/provider-key-Bf5qJwbE.js +1 -0
- package/dist/assets/provider-signup-page-8w9h5zSj.js +1 -0
- package/dist/assets/{quick-input-page-DA2vqGas.js → quick-input-page-CyO-UVOQ.js} +1 -1
- package/dist/assets/react-query.gen-BwkZCSTW.js +1 -0
- package/dist/assets/remote-gateway-session-BigLiDPm.js +1 -0
- package/dist/assets/{research-mock-page-DRkJQuq2.js → research-mock-page-COuqgh_8.js} +1 -1
- package/dist/assets/research-onboarding-route-B7TnjNJV.js +61 -0
- package/dist/assets/{resolved-assistants-store-Cp4J43BK.js → resolved-assistants-store-Dqf0LJrA.js} +1 -1
- package/dist/assets/return-to-yMLvlnXN.js +1 -0
- package/dist/assets/{review-terms-screen-Cmcw1D67.js → review-terms-screen-BLPeTbkx.js} +1 -1
- package/dist/assets/{schedules-B7I0imdw.js → schedules-D_sclJNA.js} +1 -1
- package/dist/assets/sdk.gen-zA5ns5LT.js +1 -0
- package/dist/assets/select-assistant-screen-C99Fb0km.js +1 -0
- package/dist/assets/{settings-layout-B9Uu1igg.js → settings-layout-sq8M5TJV.js} +1 -1
- package/dist/assets/share-feedback-modal-sXMDmgKy.js +1 -0
- package/dist/assets/{sidebar-tree-CHyPnNA0.js → sidebar-tree-rpSGyrYj.js} +1 -1
- package/dist/assets/signup-page-BhFDh2Lp.js +1 -0
- package/dist/assets/{signup-shell-DgwKMvn2.js → signup-shell-DMX1tgqB.js} +1 -1
- package/dist/assets/skills-page-QKhhIUlC.js +1 -0
- package/dist/assets/{sound-manager-BnZ7SwXM.js → sound-manager-45n1b-Bl.js} +1 -1
- package/dist/assets/{sounds-page-ZCBq6ru9.js → sounds-page-DBXH5tQz.js} +1 -1
- package/dist/assets/{src-mai-NajT.js → src-B-I7oowl.js} +3 -3
- package/dist/assets/{stat-square-B0S3fO7O.js → stat-square-8mff1dLC.js} +1 -1
- package/dist/assets/subagent-detail-panel-jJiEVAKj.js +4 -0
- package/dist/assets/subagent-store-C0UOU-pG.js +3 -0
- package/dist/assets/{system-events-page-CQUZjHbp.js → system-events-page-BODl2I6C.js} +1 -1
- package/dist/assets/{system-events-redirect-page-B6WgM0Vv.js → system-events-redirect-page-C16Xg1C_.js} +1 -1
- package/dist/assets/{tag-B_-QAvJF.js → tag-CW6WC4fE.js} +1 -1
- package/dist/assets/{tiptap-document-editor-tDTTC-Je.js → tiptap-document-editor-B_8p2exF.js} +2 -2
- package/dist/assets/{toast-2TW5tj1Y.js → toast-sdJJ6aTV.js} +1 -1
- package/dist/assets/tool-detail-panel-C3ycGHP8.js +2 -0
- package/dist/assets/trace-page-C5Oc1vIh.js +1 -0
- package/dist/assets/{upgrade-cancel-page-BVr06o5p.js → upgrade-cancel-page-DsiFRuzo.js} +1 -1
- package/dist/assets/{upgrade-success-page-CIBIIMbB.js → upgrade-success-page-DKb4tC71.js} +1 -1
- package/dist/assets/{usage-page-CcGNq6p_.js → usage-page-BJy1XgXv.js} +1 -1
- package/dist/assets/{use-active-assistant-id-D4UJEQM5.js → use-active-assistant-id-BVzVN4_g.js} +1 -1
- package/dist/assets/use-is-org-ready-NO84DVDo.js +1 -0
- package/dist/assets/use-onboarding-login-ULmWc73o.js +1 -0
- package/dist/assets/{use-reduced-motion-DmsjJfoE.js → use-reduced-motion-BG6r0Z46.js} +1 -1
- package/dist/assets/use-skill-categories-Bgl1CV8z.js +1 -0
- package/dist/assets/{utils-Bg9t-lBx.js → utils-P-AuKiE9.js} +1 -1
- package/dist/assets/viewer-store-BR99G-Ii.js +1 -0
- package/dist/assets/{voice-page-BOFy-jR_.js → voice-page-C8R_9E8j.js} +1 -1
- package/dist/assets/{weather-forecast-display-bZDWJOMu.js → weather-forecast-display-0tn6PGg8.js} +1 -1
- package/dist/assets/{web-CReVlJcu.js → web-CxyEb7Lp.js} +1 -1
- package/dist/assets/{web-BpH9TOnx.js → web-DFw1Yfb1.js} +1 -1
- package/dist/assets/{web-Cd-q_a1I.js → web-DGDlV45i.js} +1 -1
- package/dist/assets/{web-BlDBGu36.js → web-GWxiW7or.js} +1 -1
- package/dist/assets/{web-Cly_79wU.js → web-YggPvEM4.js} +1 -1
- package/dist/assets/{web-CWJUzKI_.js → web-b9SjJqdc.js} +1 -1
- package/dist/assets/{web-CFYymSzw.js → web-lNls6p99.js} +1 -1
- package/dist/assets/{welcome-screen-Cka_lktU.js → welcome-screen-BPSvhAJD.js} +1 -1
- package/dist/assets/workflow-detail-panel-CpusEKvv.js +1 -0
- package/dist/assets/workspace-page-BnQ2Z57D.js +1 -0
- package/dist/index.html +77 -74
- package/package.json +1 -1
- package/dist/assets/account-page-cTyLtFgE.js +0 -1
- package/dist/assets/acp-run-detail-panel-DaNqQ4AU.js +0 -5
- package/dist/assets/advanced-page-CK4tCgvV.js +0 -1
- package/dist/assets/ai-page-Bf5G1nk8.js +0 -1
- package/dist/assets/api-key-screen-BToN0-XM.js +0 -1
- package/dist/assets/assistant-api-D8xSkh-5.js +0 -1
- package/dist/assets/auth-store-B2Zo6DUE.js +0 -7
- package/dist/assets/billing-page-Cjqv3hFX.js +0 -3
- package/dist/assets/build-state-CtsLvNgP.js +0 -1
- package/dist/assets/chat-CdO26JJs.js +0 -1
- package/dist/assets/contacts-page-route-Swz0yPYv.js +0 -9
- package/dist/assets/conversation-store-SjqDbOcn.js +0 -1
- package/dist/assets/debug-page-CVw2bzGN.js +0 -4
- package/dist/assets/detail-shell-CoKg1S7U.js +0 -3
- package/dist/assets/diagnostics-CGIesPpg.js +0 -1
- package/dist/assets/esm-BPR7F84K.js +0 -1
- package/dist/assets/esm-C7SZoG5u.js +0 -2
- package/dist/assets/esm-CMxBpGk-.js +0 -2
- package/dist/assets/esm-XqRGVrcj.js +0 -2
- package/dist/assets/esm-oLFwK0Kw.js +0 -2
- package/dist/assets/feature-flag-catalog-C7oM7PZ_.js +0 -1
- package/dist/assets/funnel-CUPE93jb.js +0 -1
- package/dist/assets/general-page-Cx6tlYeL.js +0 -1
- package/dist/assets/hatching-screen-DbVpuOai.js +0 -1
- package/dist/assets/home-page-route-CweAnlJn.js +0 -1
- package/dist/assets/hosting-screen-DpWTAyj2.js +0 -1
- package/dist/assets/identity-page-route-TiI1OQgN.js +0 -1
- package/dist/assets/index-0XgM92Lz.js +0 -130
- package/dist/assets/index-N8IeZea9.css +0 -2
- package/dist/assets/integrations-page-CMYurvd3.js +0 -1
- package/dist/assets/local-mode-CvrNMtPF.js +0 -39
- package/dist/assets/login-page-sS8t_Aik.js +0 -1
- package/dist/assets/messages-B5v7xWiw.js +0 -13
- package/dist/assets/mutation-error-NiVTbM-q.js +0 -1
- package/dist/assets/pairing-page-DHF2ThH-.js +0 -1
- package/dist/assets/platform-loopback-page-DSx9flbF.js +0 -1
- package/dist/assets/plugins-page-_kqpdU-W.js +0 -1
- package/dist/assets/plugins-surface-KFX25A-q.js +0 -1
- package/dist/assets/prechat-route-D2HszqA0.js +0 -1
- package/dist/assets/privacy-page-BJfuoXgs.js +0 -1
- package/dist/assets/privacy-screen-BGNcisJ2.js +0 -1
- package/dist/assets/provider-callback-page-LZHmOo01.js +0 -1
- package/dist/assets/provider-key-DIchy_Bc.js +0 -1
- package/dist/assets/provider-signup-page-D327vCgu.js +0 -1
- package/dist/assets/react-query.gen-CsMIK93J.js +0 -1
- package/dist/assets/research-onboarding-route-Dk-9KwG_.js +0 -37
- package/dist/assets/return-to-D0TfUwsP.js +0 -1
- package/dist/assets/sdk.gen-BwKkHEki.js +0 -1
- package/dist/assets/select-assistant-screen-oJuFe0vU.js +0 -1
- package/dist/assets/share-feedback-modal-DN1agJEb.js +0 -1
- package/dist/assets/signup-page-BaIcYI50.js +0 -1
- package/dist/assets/skills-page-wOVBvBdB.js +0 -1
- package/dist/assets/subagent-detail-panel-C_GwZcyl.js +0 -4
- package/dist/assets/subagent-store-BANqfUgA.js +0 -3
- package/dist/assets/three-dot-indicator-DAKo-L_x.js +0 -1
- package/dist/assets/tool-detail-panel-DIk8Db76.js +0 -2
- package/dist/assets/trace-page-TdKZ1dXH.js +0 -1
- package/dist/assets/use-is-org-ready-Dj2-PRLz.js +0 -1
- package/dist/assets/use-onboarding-login-CyEAqbC7.js +0 -1
- package/dist/assets/viewer-store-BKkbfdPD.js +0 -1
- package/dist/assets/workflow-detail-panel-C_rq6yGi.js +0 -1
- package/dist/assets/workspace-page-4CJ_pIeB.js +0 -1
- package/dist/skills/meet-join/assets/icon.svg +0 -1
- /package/dist/assets/{app-info-VB6EcPqh.js → app-info-DJQFoVxX.js} +0 -0
- /package/dist/assets/{avatar-bundled-components-DUNo-SZc.js → avatar-bundled-components-w37NPF4o.js} +0 -0
- /package/dist/assets/{avatar-svg-compositor-DMVZdMXC.js → avatar-svg-compositor-CNy1XmWD.js} +0 -0
- /package/dist/assets/{build.umd-BO4u00Aj.js → build.umd-4R02MPXx.js} +0 -0
- /package/dist/assets/{composer-focus-CpeV_gfi.js → composer-focus-n921WsjZ.js} +0 -0
- /package/dist/assets/{conversation-selection-DA_7HozA.js → conversation-selection-CNssqGbG.js} +0 -0
- /package/dist/assets/{definitions-DiTBkL0Z.js → definitions-BughTGuV.js} +0 -0
- /package/dist/assets/{dist-FMUOufe0.js → dist-Ztj3rqLK.js} +0 -0
- /package/dist/assets/{edit-chat-session-B8pCxoj8.js → edit-chat-session-DcCgw5Qy.js} +0 -0
- /package/dist/assets/{effective-timezone-CND2iNaq.js → effective-timezone-B99h9zr7.js} +0 -0
- /package/dist/assets/{emoji-catalog-data-Bg0TbcxL.js → emoji-catalog-data-D8lRMt3A.js} +0 -0
- /package/dist/assets/{environment-store-DX2nQ26G.js → environment-store-CnVyTyZ7.js} +0 -0
- /package/dist/assets/{format-9aopHqZI.js → format-BDkwdD2m.js} +0 -0
- /package/dist/assets/{format-date-C4llqVi6.js → format-date-D4tzd1DT.js} +0 -0
- /package/dist/assets/{format-file-size-CCd1QKOV.js → format-file-size-BflZ4oxc.js} +0 -0
- /package/dist/assets/{haptics-sqdfYVvS.js → haptics-BE_0g4mc.js} +0 -0
- /package/dist/assets/{impersonate-version-flag-v7MjXJjg.js → impersonate-version-flag-DyVWQf97.js} +0 -0
- /package/dist/assets/{lib-BUVy-xYr.js → lib-BNGjysgr.js} +0 -0
- /package/dist/assets/{llm-dimension-lLHLPAPE.js → llm-dimension-8g-Go8uq.js} +0 -0
- /package/dist/assets/{misc-Bm2e0rTa.js → misc-CFzLzLPH.js} +0 -0
- /package/dist/assets/{native-deep-link-DGAUYRAY.js → native-deep-link-C2-dXaz_.js} +0 -0
- /package/dist/assets/{pdf-RkJbZQTD.js → pdf-B-YWzK66.js} +0 -0
- /package/dist/assets/{prechat-names-DqbiM_xi.js → prechat-names-NPlBAwCy.js} +0 -0
- /package/dist/assets/{proxy-i05YF9w2.js → proxy-BgtfAoJj.js} +0 -0
- /package/dist/assets/{public-asset-B78MSgNd.js → public-asset-C2P77n3W.js} +0 -0
- /package/dist/assets/{react-query.gen-DiTBi6eG.js → react-query.gen-gQ1_8EHv.js} +0 -0
- /package/dist/assets/{routes-Cj4wRAOK.js → routes-C6gxiCrz.js} +0 -0
- /package/dist/assets/{semver-ilCx6Qwk.js → semver-0cyB3qXO.js} +0 -0
- /package/dist/assets/{setting-row-DodPe3yk.js → setting-row-BGQgDyhv.js} +0 -0
- /package/dist/assets/{status-badge-pill-Bwe3k-op.js → status-badge-pill-j3ke1d9o.js} +0 -0
- /package/dist/assets/{step-indicator-dots-DjUaEVje.js → step-indicator-dots-Bc6X141I.js} +0 -0
- /package/dist/assets/{typed-storage-CNJeje_7.js → typed-storage-DjORmu8t.js} +0 -0
- /package/dist/assets/{usage-window-CL2KEFPC.js → usage-window-B-YOzKJi.js} +0 -0
- /package/dist/assets/{use-bus-subscription-CNRtVrPC.js → use-bus-subscription-BNaztnO7.js} +0 -0
- /package/dist/assets/{use-is-mobile-BGESxQUL.js → use-is-mobile-jACt_z2d.js} +0 -0
- /package/dist/assets/{workflow-status-PqQ1OqJN.js → workflow-status-ByHycBJ_.js} +0 -0
- /package/dist/assets/{xterm-CRS9jN9Y.js → xterm-B8LaLTHh.js} +0 -0
- /package/dist/assets/{xterm-addon-fit-gN9udZ6n.js → xterm-addon-fit--RE59D-m.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-BG-GkiMq.js";import{t as n}from"./react-DJZBPgpf.js";import{t as r}from"./button-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-BG-GkiMq.js";import{t as n}from"./react-DJZBPgpf.js";import{t as r}from"./button-D-AX8Voo.js";import{d as i}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{n as a}from"./QueryClientProvider-DKhXIxGb.js";import{t as o}from"./useQuery-B45lW1Kk.js";import{t as s}from"./jsx-runtime-CVSDxk6A.js";import{t as c}from"./card-BibIM9x3.js";import"./src-B-I7oowl.js";import{t as l}from"./tag-CW6WC4fE.js";import{t as u}from"./createLucideIcon-BlMXrA59.js";import{t as d}from"./arrow-left-CP-EhDNF.js";import{t as f}from"./brain-Bs6LnfHO.js";import{t as p}from"./external-link-RJkZLlff.js";import{t as m}from"./file-text-ClqzuFsu.js";import{t as h}from"./globe-D3P5sSKJ.js";import{t as g}from"./loader-circle-BFRVtR3K.js";import{Qn as _}from"./sdk.gen-zA5ns5LT.js";import{Xt as v,gt as y,ht as b}from"./react-query.gen-BwkZCSTW.js";import{n as x,r as S,t as C}from"./api-errors-DPruG7q9.js";import{a as w}from"./routes-C6gxiCrz.js";import{Di as T,L as E,Pa as D,R as O,ci as k,di as A,na as j,ui as M}from"./index-FlO-C4WJ.js";import{i as N,n as P,r as F,t as I}from"./file-editor-ZqIEJw6T.js";var L=u(`box`,[[`path`,{d:`M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z`,key:`hh9hay`}],[`path`,{d:`m3.3 7 8.7 5 8.7-5`,key:`g66t2b`}],[`path`,{d:`M12 22V12`,key:`d0xqtd`}]]),R=e(n(),1),z=s();function B({skill:e,className:t,fallback:n=`🧩`}){let[r,i]=(0,R.useState)(!1);return e.icon&&!r?(0,z.jsx)(`img`,{src:`/assistant/skills/${e.id}/${e.icon}`,alt:``,className:`${t} object-contain`,onError:()=>i(!0)}):(0,z.jsx)(`span`,{className:t,children:e.emoji??n})}var V={vellum:{label:`Vellum`,icon:L},clawhub:{label:`Clawhub`,icon:h},skillssh:{label:`skills.sh`,icon:A},custom:{label:`Custom`,icon:k},"assistant-memory":{label:`Assistant's Memory`,icon:f}};function H({origin:e}){let t=e in V?V[e]:{label:e.replace(/-/g,` `),icon:T};return(0,z.jsx)(l,{tone:`neutral`,leftIcon:(0,R.createElement)(t.icon),className:`capitalize`,children:t.label})}function U(e){return e.kind===`installed`||e.kind===`bundled`}function W(e){return e.kind===`catalog`}function G(e){return e.kind===`installed`}function K({assistantId:e,skill:t,onBack:n,onInstall:i,onRemove:a,isInstalling:s=!1,isRemoving:l=!1}){let[u,f]=(0,R.useState)(null),p=W(t),h=G(t),_=o({...y({path:{assistant_id:e,id:t.id}}),select:e=>e??null}),v=(0,R.useMemo)(()=>_.data?.files??[],[_.data]),x=(0,R.useMemo)(()=>v.find(e=>e.name===`SKILL.md`),[v]),S=u??x?.path??null,C=o({...b({path:{assistant_id:e,id:t.id},query:{path:S??``}}),select:e=>e??null,enabled:!!S}),w=v.find(e=>e.path===S);return(0,z.jsxs)(`div`,{className:`flex h-[calc(100vh-14rem)] flex-col`,children:[(0,z.jsxs)(`div`,{className:`mb-4 flex items-start gap-3`,children:[(0,z.jsx)(r,{type:`button`,variant:`ghost`,iconOnly:(0,z.jsx)(d,{"aria-hidden":!0}),"aria-label":`Back to skills`,onClick:n}),(0,z.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-3 sm:flex-row sm:items-center`,children:[(0,z.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-3`,children:[(0,z.jsx)(B,{skill:t,className:`h-8 w-8 text-3xl`}),(0,z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-2 gap-y-1`,children:[(0,z.jsx)(`h2`,{className:`text-title-medium`,style:{color:`var(--content-default)`},children:t.name}),(0,z.jsx)(H,{origin:t.origin})]}),(0,z.jsx)(`p`,{className:`mt-0.5 line-clamp-2 text-body-medium-lighter`,style:{color:`var(--content-secondary)`},children:t.description})]})]}),p?s?(0,z.jsx)(`div`,{className:`flex h-9 items-center px-3`,children:(0,z.jsx)(g,{className:`h-4 w-4 animate-spin`,style:{color:`var(--content-tertiary)`}})}):(0,z.jsx)(r,{type:`button`,onClick:i,disabled:!i,leftIcon:(0,z.jsx)(D,{"aria-hidden":!0}),children:`Install`}):(0,z.jsx)(r,{type:`button`,variant:h?`dangerOutline`:`outlined`,onClick:a,disabled:!h||l||!a,leftIcon:l?(0,z.jsx)(g,{className:`animate-spin`,"aria-hidden":!0}):(0,z.jsx)(M,{"aria-hidden":!0}),children:`Remove`})]})]}),(0,z.jsx)(c.Root,{asChild:!0,noPadding:!0,children:(0,z.jsxs)(`div`,{className:`flex flex-1 flex-col overflow-hidden sm:grid`,style:{gridTemplateColumns:`240px 1fr`},children:[(0,z.jsx)(`div`,{className:`max-h-40 shrink-0 overflow-y-auto border-b p-2 sm:max-h-none sm:border-b-0 sm:border-r`,style:{borderColor:`var(--border-base)`},children:_.isLoading?(0,z.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,z.jsx)(g,{className:`h-4 w-4 animate-spin`,style:{color:`var(--content-tertiary)`}})}):v.length===0?(0,z.jsx)(`p`,{className:`px-3 py-4 text-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`No files available.`}):v.map(e=>{let t=S===e.path,n=(e.mimeType??``).endsWith(`/directory`);return(0,z.jsxs)(`button`,{type:`button`,onClick:()=>f(e.path),className:`flex w-full items-center gap-2 rounded px-2 py-1.5 text-left text-body-medium-lighter transition-colors hover:bg-[var(--surface-hover)]`,style:{color:t?`var(--primary-base)`:`var(--content-default)`,backgroundColor:t?`color-mix(in oklab, var(--primary-base) 10%, transparent)`:void 0},children:[n?(0,z.jsx)(j,{className:`h-4 w-4 shrink-0`,style:{color:`var(--system-mid-strong)`}}):(0,z.jsx)(m,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),(0,z.jsx)(`span`,{className:`truncate`,children:e.name})]},e.path)})}),(0,z.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:C.isLoading?(0,z.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,z.jsx)(g,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})}):w?(0,z.jsx)(q,{assistantId:e,skillId:t.id,fileName:w.name,filePath:w.path,content:C.data?.content??null,isBinary:!!C.data?.isBinary,editable:t.kind===`installed`},`${t.id}/${w.path}`):(0,z.jsx)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Select a file to view its contents.`})})]})})]})}function q({assistantId:e,skillId:n,fileName:o,filePath:s,content:c,isBinary:l,editable:u}){let d=i(),f=a(),[m,h]=(0,R.useState)(!1),[g,_]=(0,R.useState)(``),y=`skills/${n}/${s}`,b=v({onSuccess:()=>{h(!1),_(``),f.invalidateQueries({queryKey:[{_id:`skillsByIdFilesContentGet`}]}),f.invalidateQueries({queryKey:[{_id:`skillsByIdFilesGet`}]}),s===`SKILL.md`&&f.invalidateQueries({queryKey:[{_id:`skillsGet`}]})},onError:e=>{t(e,{context:`skill-file-save`,bestEffort:!0})}}),x=m&&g!==(c??``),S=(0,R.useCallback)(()=>{!x||b.isPending||b.mutate({path:{assistant_id:e},body:{path:y,content:g,encoding:`utf8`}})},[x,b,e,y,g]),C=(0,R.useCallback)(()=>{h(!0),_(c??``),b.reset()},[c,b]),T=(0,R.useCallback)(()=>{h(!1),_(``),b.reset()},[b]);if(l)return(0,z.jsx)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Binary file — no preview available.`});if(c===null)return(0,z.jsxs)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:[`No preview available for `,o,`.`]});let D=u?(0,z.jsx)(r,{variant:`ghost`,size:`regular`,iconOnly:(0,z.jsx)(p,{"aria-hidden":!0}),onClick:()=>d(`${w.workspace}?file=${encodeURIComponent(y)}`),"aria-label":`Open in Workspace`,className:`hover:bg-[var(--surface-base)]`}):void 0;return O(o,void 0)&&!m?(0,z.jsx)(`div`,{className:`relative flex h-full flex-col`,children:(0,z.jsxs)(`div`,{className:`relative flex-1 overflow-auto px-6 py-4`,style:{color:`var(--content-default)`},children:[(0,z.jsx)(I,{content:c,fileName:o,showEdit:u,isEditing:!1,onToggleEdit:C,extraActions:D}),(0,z.jsx)(E,{content:c})]})}):(0,z.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,z.jsxs)(`div`,{className:`relative flex-1 overflow-hidden`,children:[(0,z.jsx)(I,{content:m?g:c,fileName:o,showEdit:u,isEditing:m,onToggleEdit:()=>m?T():C(),extraActions:D}),m?(0,z.jsx)(F,{value:g,onChange:_,onSave:S}):(0,z.jsx)(N,{content:c,readOnly:!u,onStartEdit:C})]}),m&&(0,z.jsx)(P,{isDirty:x,isSaving:b.isPending,error:b.isError?`Save failed`:null,onSave:S,onDiscard:T})]})}async function J(e,t,n){let{data:r,error:i,response:a}=await _({path:{assistant_id:e},body:n?{slug:t,version:n}:{slug:t},throwOnError:!1});if(x(a,i,`Failed to install skill.`),!a.ok)throw new C(a.status,S(i,a,`Failed to install skill.`));return r??{ok:!0}}export{G as a,L as c,U as i,K as n,H as o,W as r,B as s,J as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{r as t,s as n}from"./local-settings-lVNyIOJ_.js";import{t as r}from"./capture-error-BG-GkiMq.js";import{t as i}from"./react-DJZBPgpf.js";import{t as a}from"./button-D-AX8Voo.js";import{d as o,h as s}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{N as c,O as l,S as u,T as d,c as f,n as p}from"./QueryClientProvider-DKhXIxGb.js";import{a as m,c as h,d as g,i as _,l as v,o as y,r as b,s as x,t as S,u as C}from"./useQuery-B45lW1Kk.js";import{t as w}from"./jsx-runtime-CVSDxk6A.js";import{t as T}from"./card-BibIM9x3.js";import{n as E,t as D}from"./panel-item-Q1g7DFJw.js";import{t as O}from"./confirm-dialog-bfBx6UYv.js";import{t as k}from"./notice-CqRgVmeL.js";import{t as A}from"./popover-BUj2v1xo.js";import{t as j}from"./input-D4W4p0pZ.js";import{t as M}from"./toggle-X_kQW5my.js";import{n as N,t as P}from"./list-row-Di0MK3wu.js";import{t as F}from"./modal-BNAVT2FK.js";import{n as I}from"./toast-sdJJ6aTV.js";import{t as L}from"./createLucideIcon-BlMXrA59.js";import{t as ee}from"./check-D6WkI0gF.js";import{t as R}from"./chevron-right-B6vEpVY0.js";import{t as z}from"./circle-alert-DvNg50UK.js";import{t as B}from"./circle-check-DzlJxj_M.js";import{t as V}from"./external-link-RJkZLlff.js";import{t as H}from"./loader-circle-BFRVtR3K.js";import{t as U}from"./log-in-CEw63CGU.js";import{t as W}from"./pencil-B90pDI55.js";import{t as te}from"./refresh-cw-Dui3Ymsb.js";import{t as ne}from"./sparkles-Bla177ar.js";import{t as re}from"./x-DxL-bCuT.js";import{t as G}from"./client.gen-DU1JkKSB.js";import{$ as ie,Gt as ae,Ht as oe,J as se,Q as ce,Ut as le,Wt as ue,X as de,Y as fe,Z as pe}from"./react-query.gen-BwkZCSTW.js";import{r as me}from"./api-errors-DPruG7q9.js";import{C as he}from"./auth-store-DfeW0asJ.js";import{r as ge}from"./api-DnqFanVx.js";import{m as _e}from"./native-biometric-BK6_QtW5.js";import{a as ve}from"./routes-C6gxiCrz.js";import{n as ye}from"./use-is-mobile-jACt_z2d.js";import{t as be}from"./assistant-feature-flag-store-C94SGLWJ.js";import{S as xe,b as K,vt as Se,x as Ce,yt as we}from"./react-query.gen-gQ1_8EHv.js";import{n as Te,t as Ee}from"./browser-DM38C5zq.js";import{Fr as De,Hi as Oe,Jt as ke,Nr as Ae,Oa as q,Oi as je,Qt as Me,Sa as Ne,Si as Pe,Xi as Fe,Xt as Ie,Y as J,Yt as Le,Zt as Re,da as ze,en as Be,gn as Ve,ki as Y,nn as He,tn as Ue,ui as X,x as We}from"./index-FlO-C4WJ.js";import{t as Ge}from"./use-active-assistant-id-BVzVN4_g.js";function Ke(e,t){let n=new Set(t);return e.filter(e=>!n.has(e))}function qe(e,t,n){let r=e.slice(0);return r[t]=n,r}var Je=class extends c{#e;#t;#n;#r;#i;#a;#o;#s;#c;#l=[];constructor(e,t,n){super(),this.#e=e,this.#r=n,this.#n=[],this.#i=[],this.#t=[],this.setQueries(t)}onSubscribe(){this.listeners.size===1&&this.#i.forEach(e=>{e.subscribe(t=>{this.#p(e,t)})})}onUnsubscribe(){this.listeners.size||this.destroy()}destroy(){this.listeners=new Set,this.#i.forEach(e=>{e.destroy()})}setQueries(e,t){this.#n=e,this.#r=t,f.batch(()=>{let e=this.#i,t=this.#f(this.#n);t.forEach(e=>e.observer.setOptions(e.defaultedQueryOptions));let n=t.map(e=>e.observer),r=n.map(e=>e.getCurrentResult()),i=e.length!==n.length,a=n.some((t,n)=>t!==e[n]),o=i||a,s=o?!0:r.some((e,t)=>{let n=this.#t[t];return!n||!l(e,n)});!o&&!s||(o&&(this.#l=t,this.#i=n),this.#t=r,this.hasListeners()&&(o&&(Ke(e,n).forEach(e=>{e.destroy()}),Ke(n,e).forEach(e=>{e.subscribe(t=>{this.#p(e,t)})})),this.#m()))})}getCurrentResult(){return this.#t}getQueries(){return this.#i.map(e=>e.getCurrentQuery())}getObservers(){return this.#i}getOptimisticResult(e,t){let n=this.#f(e),r=n.map(e=>e.observer.getOptimisticResult(e.defaultedQueryOptions)),i=n.map(e=>e.defaultedQueryOptions.queryHash);return[r,e=>this.#d(e??r,t,i),()=>this.#u(r,n)]}#u(e,t){return t.map((n,r)=>{let i=e[r];return n.defaultedQueryOptions.notifyOnChangeProps?i:n.observer.trackResult(i,e=>{t.forEach(t=>{t.observer.trackProp(e)})})})}#d(e,t,n){if(t){let r=this.#c,i=n!==void 0&&r!==void 0&&(r.length!==n.length||n.some((e,t)=>e!==r[t]));return(!this.#a||this.#t!==this.#s||i||t!==this.#o)&&(this.#o=t,this.#s=this.#t,n!==void 0&&(this.#c=n),this.#a=d(this.#a,t(e))),this.#a}return e}#f(e){let t=new Map;this.#i.forEach(e=>{let n=e.options.queryHash;if(!n)return;let r=t.get(n);r?r.push(e):t.set(n,[e])});let n=[];return e.forEach(e=>{let r=this.#e.defaultQueryOptions(e),i=t.get(r.queryHash)?.shift()??new g(this.#e,r);n.push({defaultedQueryOptions:r,observer:i})}),n}#p(e,t){let n=this.#i.indexOf(e);n!==-1&&(this.#t=qe(this.#t,n,t),this.#m())}#m(){if(this.hasListeners()){let e=this.#a,t=this.#u(this.#t,this.#l);e!==this.#d(t,this.#r?.combine)&&f.batch(()=>{this.listeners.forEach(e=>{e(this.#t)})})}}},Z=e(i(),1);function Ye({queries:e,...t},n){let r=p(n),i=C(),a=v(),o=Z.useMemo(()=>e.map(e=>{let t=r.defaultQueryOptions(e);return t._optimisticResults=i?`isRestoring`:`optimistic`,t}),[e,r,i]);o.forEach(e=>{b(e),y(e,a,r.getQueryCache().get(e.queryHash))}),h(a);let[s]=Z.useState(()=>new Je(r,o,t)),[c,l,d]=s.getOptimisticResult(o,t.combine),S=!i&&t.subscribed!==!1;Z.useSyncExternalStore(Z.useCallback(e=>S?s.subscribe(f.batchCalls(e)):u,[s,S]),()=>s.getCurrentResult(),()=>s.getCurrentResult()),Z.useEffect(()=>{s.setQueries(o,t)},[o,t,s]);let w=c.some((e,t)=>m(o[t],e))?c.flatMap((e,t)=>{let n=o[t];return n&&m(n,e)?_(n,new g(r,n),a):[]}):[];if(w.length>0)throw Promise.all(w);let T=c.find((e,t)=>{let n=o[t];return n&&x({result:e,errorResetBoundary:a,throwOnError:n.throwOnError,query:r.getQueryCache().get(n.queryHash),suspense:n.suspense})});if(T?.error)throw T.error;return l(d())}var Xe=L(`cable`,[[`path`,{d:`M17 19a1 1 0 0 1-1-1v-2a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2a1 1 0 0 1-1 1z`,key:`trhst0`}],[`path`,{d:`M17 21v-2`,key:`ds4u3f`}],[`path`,{d:`M19 14V6.5a1 1 0 0 0-7 0v11a1 1 0 0 1-7 0V10`,key:`1mo9zo`}],[`path`,{d:`M21 21v-2`,key:`eo0ou`}],[`path`,{d:`M3 5V3`,key:`1k5hjh`}],[`path`,{d:`M4 10a2 2 0 0 1-2-2V6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2a2 2 0 0 1-2 2z`,key:`1dd30t`}],[`path`,{d:`M7 5V3`,key:`1t1388`}]]),Ze=L(`calendar-plus`,[[`path`,{d:`M16 19h6`,key:`xwg31i`}],[`path`,{d:`M16 2v4`,key:`4m81vk`}],[`path`,{d:`M19 16v6`,key:`tddt3s`}],[`path`,{d:`M21 12.598V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8.5`,key:`1glfrc`}],[`path`,{d:`M3 10h18`,key:`8toen8`}],[`path`,{d:`M8 2v4`,key:`1cmpym`}]]);function Qe({assistantId:e,providerKey:t,displayName:n,managedAvailable:r,connectionsQueryKey:i,allConnections:a}){let o=p(),s=_e(),c=(0,Z.useRef)(null),l=(0,Z.useRef)(null),u=(0,Z.useRef)(null),d=(0,Z.useRef)(null),[f,m]=(0,Z.useState)(!1),h=()=>{l.current=null,m(!1)},g=()=>{c.current&&!c.current.closed&&c.current.close(),c.current=null,u.current&&=(clearInterval(u.current),null),d.current&&=(clearTimeout(d.current),null)},_=(0,Z.useCallback)(e=>{if(e.type!==`vellum:oauth-complete`||!l.current||e.requestId!==l.current.requestId)return;let{oauthStatus:t,oauthCode:r}=e;if(g(),h(),t===`connected`)I.success(`${n} account connected.`),o.invalidateQueries({queryKey:i});else{let e=r?`Error: ${r}`:`Authorization failed`;I.error(`${n} ${e}`)}},[i,n,o]),v=(0,Z.useCallback)(async(e,n)=>{if(!r)return!1;for(let r=0;r<8;r+=1){r>0&&await Ie(750);try{if(o.invalidateQueries({queryKey:i}),Le(await o.fetchQuery({...K({path:{assistant_id:e}}),staleTime:0}),t,n))return!0}catch{}}return!1},[i,r,t,o]);(0,Z.useEffect)(()=>{let e=e=>{let t=l.current;if(!t)return;let n=Re(e,window.location.origin,t.requestId);n&&_(n)},t=e=>{let t=l.current;if(!t)return;let n=Me(e,t.requestId);n&&(_(n),window.localStorage.removeItem(Be(t.requestId)))};return window.addEventListener(`message`,e),window.addEventListener(`storage`,t),()=>{window.removeEventListener(`message`,e),window.removeEventListener(`storage`,t)}},[_]),He((0,Z.useCallback)(e=>{let t=l.current;t&&e.requestId===t.requestId&&_({type:`vellum:oauth-complete`,requestId:e.requestId,oauthStatus:e.oauthStatus,oauthProvider:e.oauthProvider,oauthCode:e.oauthCode})},[_])),(0,Z.useEffect)(()=>Te(()=>{let e=l.current;e&&(async()=>{let t=await v(e.platformAssistantId,e.baselineConnectionSignatures);l.current&&(h(),t&&I.success(`${n} account connected.`))})()}),[v,n]),(0,Z.useEffect)(()=>()=>{u.current&&clearInterval(u.current),d.current&&clearTimeout(d.current),c.current&&!c.current.closed&&c.current.close()},[]);let y=we();return{handleConnect:(i=[])=>{if(!r)return;let f=crypto.randomUUID();m(!0);let p=async r=>{let c;try{c=await he(e)}catch(e){g(),h(),I.error(e instanceof Error?e.message:`Failed to start ${n} authorization.`);return}let u=ke(await o.fetchQuery({...K({path:{assistant_id:c}}),staleTime:0}).catch(()=>c===e?a??[]:[]),t);l.current={requestId:f,provider:t,platformAssistantId:c,baselineConnectionSignatures:u},y.mutate({path:{assistant_id:c,provider:t},body:{requested_scopes:i,redirect_after_connect:`${ve.account.oauth.popupComplete}?requestId=${f}${s?`&native=1`:``}`}},{onSuccess(e){if(s){Ee(e.connect_url);return}r&&!r.closed?r.location.href=e.connect_url:l.current&&(g(),h(),I.error(`${n} connection failed: popup closed.`))},onError(e){g(),h();let t=me(e,void 0,`Failed to start ${n} authorization.`);I.error(t)}})};if(s){p(null);return}let b=window.open(``,`_blank`,`width=500,height=600`);if(b===null){h(),I.error(`Popup blocked. Please enable popups and try again.`);return}c.current=b,u.current=setInterval(()=>{c.current&&c.current.closed&&l.current&&!d.current&&(d.current=setTimeout(async()=>{d.current=null;let e=l.current;if(!e)return;let t=window.localStorage.getItem(Be(e.requestId));if(t){let n=Ue(t);if(n&&n.requestId===e.requestId){_(n),window.localStorage.removeItem(Be(e.requestId));return}}let r=await v(e.platformAssistantId,e.baselineConnectionSignatures);if(l.current){if(r){g(),h(),I.success(`${n} account connected.`);return}g(),h(),I.error(`${n} connection failed: authorization popup closed.`)}},1e3))},100),p(b)},oauthInProgress:f,startOAuthPending:y.isPending}}var Q=w();function $e({displayName:e,providerKey:t,logoUrl:n,connections:r,connectionsLoading:i,startPending:o,oauthInProgress:s,disconnectingId:c,onConnect:l,onDisconnect:u,connectPresets:d=[]}){let f=o||s;return i?(0,Q.jsx)(`div`,{className:`flex items-center justify-center py-10`,children:(0,Q.jsx)(H,{className:`h-5 w-5 animate-spin text-[var(--content-disabled)]`})}):r.length===0?o||s?(0,Q.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-10`,children:[(0,Q.jsx)(J,{providerKey:t,displayName:e,logoUrl:n,size:48}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,Q.jsx)(H,{className:`h-3.5 w-3.5 animate-spin`}),`Waiting for authorization...`]})]}):(0,Q.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-10`,children:[(0,Q.jsx)(J,{providerKey:t,displayName:e,logoUrl:n,size:48}),(0,Q.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-secondary)]`,children:`Connect Account to continue`}),(0,Q.jsxs)(`div`,{className:`flex flex-col items-center gap-2`,children:[(0,Q.jsx)(a,{variant:`primary`,size:`compact`,leftIcon:(0,Q.jsx)(Y,{}),onClick:()=>l(),disabled:f,children:`Connect Account`}),d.map(e=>(0,Q.jsx)(a,{variant:`outlined`,size:`compact`,leftIcon:(0,Q.jsx)(Ze,{}),onClick:()=>l(e.scopes),disabled:f,children:e.label},e.id))]})]}):(0,Q.jsxs)(`div`,{className:`rounded-lg border border-[var(--border-base)]`,children:[(0,Q.jsx)(`ul`,{className:`divide-y divide-[var(--border-base)]`,children:r.map(r=>{let i=c===r.id;return(0,Q.jsxs)(`li`,{className:`flex items-center gap-3 px-4 py-3`,children:[(0,Q.jsx)(J,{providerKey:t,displayName:e,logoUrl:n,size:20}),(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-body-medium-default text-[var(--content-default)]`,children:r.account_label??`${e} Account`}),(0,Q.jsx)(a,{variant:`dangerOutline`,size:`compact`,iconOnly:i?(0,Q.jsx)(H,{className:`animate-spin`}):(0,Q.jsx)(X,{}),onClick:()=>u(r),disabled:i,"aria-label":`Disconnect ${r.account_label??`${e} account`}`})]},r.id)})}),(0,Q.jsx)(`div`,{className:`border-t border-[var(--border-base)] px-4 py-3 dark:border-[var(--border-base)]`,children:f?(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,Q.jsx)(H,{className:`h-3.5 w-3.5 animate-spin`}),`Waiting for authorization...`]}):(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Q.jsx)(a,{variant:`primary`,size:`compact`,leftIcon:(0,Q.jsx)(V,{}),onClick:()=>l(),disabled:f,children:`Connect account`}),d.map(e=>(0,Q.jsx)(a,{variant:`outlined`,size:`compact`,leftIcon:(0,Q.jsx)(Ze,{}),onClick:()=>l(e.scopes),disabled:f,children:e.label},e.id))]})})]})}function et(e){return e.length>16?`${e.slice(0,12)}…${e.slice(-4)}`:e.length>8?`${e.slice(0,8)}…`:e}function tt(e){try{return new Date(e).toLocaleDateString(void 0,{year:`numeric`,month:`short`,day:`numeric`})}catch{return``}}function nt({assistantId:e,providerKey:t,displayName:n,logoUrl:r}){let i=p(),o=S({...de({path:{assistant_id:e},query:{provider_key:t}}),select:e=>e.apps}),s=S({...ce({path:{assistant_id:e,providerKey:t}}),select:e=>e.oauth_callback_url}),c=o.data??[],l=s.data??null,u=Ye({queries:c.map(t=>({...se({path:{assistant_id:e,appId:t.id}}),select:e=>e.connections}))}),d={};c.forEach((e,t)=>{d[e.id]=u[t]?.data??[]});let f=pe({path:{assistant_id:e},query:{provider_key:t}}),m=ue({onSuccess:()=>{i.invalidateQueries({queryKey:f}),x(``),w(``),y(!1),I.success(`${n} OAuth app added.`)},onError:e=>{I.error(e.message||`Failed to create OAuth app`)}}),h=le({onSuccess:()=>{i.invalidateQueries({queryKey:f}),I.success(`OAuth app deleted.`)},onError:e=>{I.error(e.message||`Failed to delete OAuth app`)}}),g=oe({onSuccess:e=>{`auth_url`in e&&(window.location.href=e.auth_url)},onError:e=>{I.error(e.message||`Failed to start OAuth flow`)}}),_=ae(),[v,y]=(0,Z.useState)(!1),[b,x]=(0,Z.useState)(``),[C,w]=(0,Z.useState)(``),[E,D]=(0,Z.useState)(!1),[k,A]=(0,Z.useState)(null),[M,N]=(0,Z.useState)(null),P=m.isPending,F=h.isPending?h.variables?.path?.id??null:null,L=g.isPending?g.variables?.path?.appId??null:null,R=_.isPending?_.variables?.path?.id??null:null,z=()=>{let n=b.trim(),r=C.trim();!n||!r||m.mutate({path:{assistant_id:e},body:{provider_key:t,client_id:n,client_secret:r}})},B=()=>{let t=k;A(null),t&&h.mutate({path:{assistant_id:e,id:t.id}})},U=t=>{g.mutate({path:{assistant_id:e,appId:t.id},body:{callback_transport:`gateway`,scopes:[]}})};return o.isLoading?(0,Q.jsx)(`div`,{className:`flex items-center justify-center py-10`,children:(0,Q.jsx)(H,{className:`h-5 w-5 animate-spin text-[var(--content-disabled)]`})}):(0,Q.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[c.length===0||v?(0,Q.jsx)(T.Root,{children:(0,Q.jsxs)(T.Body,{className:`flex flex-col gap-3`,children:[(0,Q.jsxs)(`div`,{className:`space-y-1`,children:[(0,Q.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:c.length===0?`Add your own ${n} OAuth app`:`Add another ${n} OAuth app`}),(0,Q.jsx)(`p`,{className:`text-body-small-default leading-relaxed text-[var(--content-tertiary)]`,children:`Credentials are stored encrypted on the assistant and are never sent to Vellum.`})]}),l?(0,Q.jsxs)(`div`,{className:`space-y-1`,children:[(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:`Redirect URL`}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(j,{type:`text`,value:l,readOnly:!0,fullWidth:!0}),(0,Q.jsx)(a,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>{navigator.clipboard.writeText(l).then(()=>{D(!0),I.success(`Copied to clipboard!`),setTimeout(()=>D(!1),2e3)})},"aria-label":E?`Copied`:`Copy redirect URL`,iconOnly:E?(0,Q.jsx)(ee,{"aria-hidden":!0}):(0,Q.jsx)(ze,{"aria-hidden":!0})})]}),(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Add this URL to your OAuth app's redirect settings.`})]}):null,(0,Q.jsx)(j,{label:`Client ID`,type:`text`,value:b,onChange:e=>x(e.target.value),placeholder:`Enter your client ID`,fullWidth:!0}),(0,Q.jsx)(j,{label:`Client Secret`,type:`password`,value:C,onChange:e=>w(e.target.value),placeholder:`Enter your client secret`,fullWidth:!0}),(0,Q.jsxs)(`div`,{className:`flex items-center justify-end gap-2 pt-1`,children:[c.length>0?(0,Q.jsx)(a,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>{y(!1),x(``),w(``)},disabled:P,children:`Cancel`}):null,(0,Q.jsx)(a,{type:`button`,size:`compact`,onClick:z,disabled:P||!b.trim()||!C.trim(),leftIcon:P?(0,Q.jsx)(H,{className:`animate-spin`,"aria-hidden":!0}):(0,Q.jsx)(Y,{"aria-hidden":!0}),children:`Add App`})]})]})}):null,c.map(e=>{let i=d[e.id]??[],o=F===e.id,s=L===e.id;return(0,Q.jsx)(T.Root,{children:(0,Q.jsxs)(T.Body,{className:`flex flex-col gap-3`,children:[(0,Q.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[(0,Q.jsxs)(`div`,{className:`min-w-0 space-y-0.5`,children:[(0,Q.jsx)(`p`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:et(e.client_id)}),(0,Q.jsxs)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:[`Added `,tt(e.created_at)]})]}),(0,Q.jsx)(a,{type:`button`,variant:`dangerOutline`,size:`compact`,onClick:()=>A(e),disabled:o,"aria-label":`Delete OAuth app ${et(e.client_id)}`,iconOnly:o?(0,Q.jsx)(H,{className:`animate-spin`,"aria-hidden":!0}):(0,Q.jsx)(X,{"aria-hidden":!0})})]}),i.length>0?(0,Q.jsx)(`ul`,{className:`divide-y divide-[var(--border-base)] overflow-hidden rounded-md border border-[var(--border-base)] dark:divide-[var(--border-base)] dark:border-[var(--border-base)]`,children:i.map(i=>{let o=R===i.id;return(0,Q.jsxs)(`li`,{className:`flex items-center gap-3 px-3 py-2`,children:[(0,Q.jsx)(J,{providerKey:t,displayName:n,logoUrl:r,size:18}),(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-body-medium-lighter text-[var(--content-default)]`,children:i.account_info??`${n} Account`}),(0,Q.jsx)(a,{type:`button`,variant:`dangerOutline`,size:`compact`,onClick:()=>N({appId:e.id,connection:i}),disabled:o,"aria-label":`Disconnect ${i.account_info??`${n} account`}`,iconOnly:o?(0,Q.jsx)(H,{className:`animate-spin`,"aria-hidden":!0}):(0,Q.jsx)(X,{"aria-hidden":!0})})]},i.id)})}):null,(0,Q.jsx)(a,{type:`button`,size:`compact`,onClick:()=>U(e),disabled:s,className:`w-full`,leftIcon:s?(0,Q.jsx)(H,{className:`animate-spin`,"aria-hidden":!0}):(0,Q.jsx)(V,{"aria-hidden":!0}),children:s?`Waiting for authorization...`:`Connect account`})]})},e.id)}),c.length>0&&!v?(0,Q.jsx)(a,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>y(!0),className:`w-full border-dashed`,leftIcon:(0,Q.jsx)(Y,{"aria-hidden":!0}),children:`Add Another App`}):null,(0,Q.jsx)(O,{open:k!==null,title:`Delete OAuth app`,message:k?`Delete OAuth app '${et(k.client_id)}'? This will disconnect all linked accounts.`:``,confirmLabel:`Delete`,destructive:!0,onConfirm:B,onCancel:()=>A(null)}),(0,Q.jsx)(O,{open:M!==null,title:`Disconnect ${n}?`,message:M?`Disconnect ${M.connection.account_info??`${n} Account`}? You can reconnect later.`:``,confirmLabel:`Disconnect`,destructive:!0,onConfirm:()=>{let t=M;N(null),t&&_.mutate({path:{assistant_id:e,id:t.connection.id}},{onSuccess:()=>{let r=fe({path:{assistant_id:e,appId:t.appId}});i.invalidateQueries({queryKey:r}),i.invalidateQueries({queryKey:f}),I.success(`${n} account disconnected.`)},onError:e=>{I.error(e.message||`Failed to disconnect account`)}})},onCancel:()=>N(null)})]})}var rt={};function it(e){return rt[e]??[]}function at({assistantId:e,platformAssistantId:t,providerKey:n,displayName:r,description:i,logoUrl:o,platformGate:s,onClose:c}){let l=p(),u=s===`full`,d=!Ae(),[f,m]=(0,Z.useState)(s===`gated`&&d?`your-own`:`managed`);(0,Z.useEffect)(()=>{!d&&f===`your-own`&&m(`managed`)},[d,f]);let[h,g]=(0,Z.useState)(null),[_,v]=(0,Z.useState)(null),y=Ce({path:{assistant_id:t}}),{data:b,isLoading:x}=S({...K({path:{assistant_id:t}}),enabled:u}),C=(b??[]).filter(e=>e.provider===n&&e.connected),{handleConnect:w,oauthInProgress:T,startOAuthPending:E}=Qe({assistantId:e,providerKey:n,displayName:r,managedAvailable:u,connectionsQueryKey:y,allConnections:b}),D={path:{assistant_id:t}},k=Se({onSuccess(e,t){I.success(`${r} account disconnected.`);let n=t.path.connection_id;xe(l,D,e=>e?.filter(e=>e.id!==n)),l.invalidateQueries({queryKey:y}),g(null)},onError(e){let t=me(e,void 0,`Failed to disconnect ${r} account.`);I.error(t),g(null)}});(0,Z.useEffect)(()=>{let e=e=>{e.key===`Escape`&&c()};document.addEventListener(`keydown`,e);let t=document.body.style.overflow;return document.body.style.overflow=`hidden`,()=>{document.removeEventListener(`keydown`,e),document.body.style.overflow=t}},[c]);let A=e=>{v(e)},j=()=>{let e=_;v(null),e&&(g(e.id),k.mutate({path:{assistant_id:t,connection_id:e.id}}))},M=i?`Configure ${r} OAuth for ${i}`:`Configure ${r} OAuth`;return(0,Q.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center bg-black/40 p-4`,children:[(0,Q.jsxs)(`div`,{role:`dialog`,"aria-modal":`true`,"aria-labelledby":`integration-modal-title`,className:`flex w-full max-w-[520px] flex-col overflow-hidden rounded-xl bg-white shadow-xl dark:bg-[var(--surface-lift)]`,children:[(0,Q.jsxs)(`div`,{className:`flex items-start justify-between gap-3 border-b border-[var(--border-base)] px-5 py-4 dark:border-[var(--border-base)]`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Q.jsx)(J,{providerKey:n,displayName:r,logoUrl:o,size:32}),(0,Q.jsxs)(`div`,{children:[(0,Q.jsxs)(`h2`,{id:`integration-modal-title`,className:`text-title-small text-[var(--content-default)]`,children:[r,` OAuth`]}),(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:M})]})]}),(0,Q.jsx)(a,{variant:`ghost`,size:`compact`,iconOnly:(0,Q.jsx)(re,{}),"aria-label":`Close`,onClick:c})]}),(0,Q.jsxs)(`div`,{className:`space-y-4 px-5 py-4`,children:[s!==`gated`&&d&&(0,Q.jsxs)(`div`,{role:`tablist`,"aria-label":`OAuth mode`,className:`flex w-full rounded-md border border-[var(--border-base)] bg-[var(--surface-base)] p-0.5 dark:border-[var(--border-base)] dark:bg-[var(--surface-base)]/40`,children:[(0,Q.jsx)(ot,{active:f===`managed`,onClick:()=>m(`managed`),children:`Managed`}),(0,Q.jsx)(ot,{active:f===`your-own`,onClick:()=>m(`your-own`),children:`Your Own`})]}),f===`managed`&&s!==`gated`?s===`disabled`?(0,Q.jsx)(We,{children:`Log in to the Vellum platform to manage OAuth connections.`}):(0,Q.jsx)($e,{displayName:r,providerKey:n,logoUrl:o,connections:C,connectionsLoading:x,startPending:E,oauthInProgress:T,disconnectingId:k.isPending?h:null,onConnect:w,onDisconnect:A,connectPresets:it(n)}):d?(0,Q.jsx)(nt,{assistantId:e,providerKey:n,displayName:r,logoUrl:o}):null]}),(0,Q.jsx)(`div`,{className:`flex justify-end border-t border-[var(--border-base)] px-5 py-3 dark:border-[var(--border-base)]`,children:(0,Q.jsx)(a,{variant:`outlined`,size:`compact`,onClick:c,children:`Confirm`})})]}),(0,Q.jsx)(O,{open:_!==null,title:`Disconnect ${r}?`,message:_?`Disconnect ${_.account_label??`${r} Account`}? You can reconnect later.`:``,confirmLabel:`Disconnect`,destructive:!0,onConfirm:j,onCancel:()=>v(null)})]})}function ot({active:e,onClick:t,children:n}){return(0,Q.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":e,onClick:t,className:`flex-1 cursor-pointer rounded-[5px] px-3 py-1.5 text-body-medium-default transition-colors ${e?`bg-white text-[var(--content-default)] shadow-sm dark:bg-[var(--surface-lift)] dark:text-[var(--content-default)]`:`text-[var(--content-secondary)] hover:text-[var(--content-default)] dark:text-[var(--content-disabled)] dark:hover:text-[var(--content-default)]`}`,children:n})}function st({platformAssistantId:e,providerKey:t,displayName:n,description:r,logoUrl:i,connection:o,platformGate:s,onConfigure:c}){let l=p(),u=!!o?.connected,[d,f]=(0,Z.useState)(!1),[m,h]=(0,Z.useState)(!1),g=ye(),_=Ce({path:{assistant_id:e}}),v={path:{assistant_id:e}},y=Se({onSuccess(e,t){I.success(`${n} account disconnected.`);let r=t.path.connection_id;xe(l,v,e=>e?.filter(e=>e.id!==r)),l.invalidateQueries({queryKey:_})},onError(e){let t=me(e,void 0,`Failed to disconnect ${n} account.`);I.error(t)}}),b=()=>{o?.id&&h(!0)};return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(T.Root,{children:(0,Q.jsxs)(T.Body,{padding:`sm`,className:`flex items-center gap-4 px-4`,children:[(0,Q.jsx)(J,{providerKey:t,displayName:n,logoUrl:i,size:32}),(0,Q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Q.jsx)(`p`,{className:`truncate text-title-small text-[var(--content-default)]`,children:n}),r&&(0,Q.jsx)(`p`,{className:`truncate text-body-medium-lighter text-[var(--content-tertiary)]`,children:r})]}),u&&s===`full`?(0,Q.jsx)(`div`,{className:`shrink-0`,children:(0,Q.jsx)(ct,{displayName:n,open:d,onOpenChange:f,onEditConnections:()=>{f(!1),c()},onDisable:()=>{f(!1),b()},disablePending:y.isPending,isMobile:g})}):(0,Q.jsx)(a,{variant:`primary`,onClick:c,className:`shrink-0`,children:`Enable`})]})}),(0,Q.jsx)(O,{open:m,title:`Disconnect ${n}?`,message:`Disconnect your ${n} account? You can reconnect it later.`,confirmLabel:`Disconnect`,destructive:!0,onConfirm:()=>{h(!1),o?.id&&y.mutate({path:{assistant_id:e,connection_id:o.id}})},onCancel:()=>h(!1)})]})}function ct({displayName:e,open:t,onOpenChange:n,onEditConnections:r,onDisable:i,disablePending:o,isMobile:s}){return s?(0,Q.jsxs)(E.Root,{open:t,onOpenChange:n,children:[(0,Q.jsx)(E.Trigger,{asChild:!0,children:(0,Q.jsx)(a,{variant:`outlined`,rightIcon:(0,Q.jsx)(q,{}),"aria-haspopup":`menu`,"aria-expanded":t,children:`Configure`})}),(0,Q.jsxs)(E.Content,{children:[(0,Q.jsx)(E.Header,{children:(0,Q.jsx)(E.Title,{children:e})}),(0,Q.jsxs)(E.Body,{children:[(0,Q.jsx)(D,{icon:W,label:`Edit connections`,onSelect:r}),(0,Q.jsx)(D,{icon:o?H:Ne,label:`Disable`,onSelect:()=>{o||i()}})]})]})]}):(0,Q.jsxs)(A.Root,{open:t,onOpenChange:n,children:[(0,Q.jsx)(A.Trigger,{asChild:!0,children:(0,Q.jsx)(a,{variant:`outlined`,rightIcon:(0,Q.jsx)(q,{}),"aria-haspopup":`menu`,"aria-expanded":t,children:`Configure`})}),(0,Q.jsxs)(A.Content,{align:`end`,sideOffset:4,role:`menu`,className:`w-56 overflow-hidden p-0`,children:[(0,Q.jsx)(a,{type:`button`,role:`menuitem`,variant:`ghost`,onClick:r,className:`w-full justify-start rounded-none`,leftIcon:(0,Q.jsx)(W,{"aria-hidden":!0}),children:`Edit connections`}),(0,Q.jsx)(a,{type:`button`,role:`menuitem`,variant:`dangerGhost`,onClick:i,disabled:o,className:`w-full justify-start rounded-none`,leftIcon:o?(0,Q.jsx)(H,{className:`animate-spin`,"aria-hidden":!0}):(0,Q.jsx)(Ne,{"aria-hidden":!0}),children:`Disable`})]})]})}var lt=[{value:`none`,label:`None`},{value:`oauth`,label:`OAuth`},{value:`bearer`,label:`Bearer Token`},{value:`api-key`,label:`API Key`}],ut=[{value:`sse`,label:`SSE`},{value:`streamable-http`,label:`Streamable HTTP`},{value:`stdio`,label:`Stdio (command)`}];function dt({open:e,onClose:t,onAdd:n,isPending:r}){let[i,o]=(0,Z.useState)(``),[s,c]=(0,Z.useState)(`sse`),[l,u]=(0,Z.useState)(``),[d,f]=(0,Z.useState)(``),[p,m]=(0,Z.useState)(``),[h,g]=(0,Z.useState)(`none`),[_,v]=(0,Z.useState)(``),[y,b]=(0,Z.useState)(`X-API-Key`),[x,S]=(0,Z.useState)(``),C=(0,Z.useCallback)(()=>{o(``),c(`sse`),u(``),f(``),m(``),g(`none`),v(``),b(`X-API-Key`),S(``)},[]),w=(0,Z.useCallback)(()=>{r||(C(),t())},[r,C,t]),T=(0,Z.useCallback)(()=>{let e=i.trim();if(!e)return;let t={name:e,transportType:s};if(s===`stdio`){let e=d.trim();if(!e)return;t.command=e;let n=p.trim();n&&(t.args=n.split(/\s+/))}else{let e=l.trim();if(!e)return;t.url=e,h===`bearer`&&_.trim()?t.headers={Authorization:`Bearer ${_.trim()}`}:h===`api-key`&&y.trim()&&x.trim()?t.headers={[y.trim()]:x.trim()}:h===`oauth`&&(t.autoAuth=!0)}n(t)},[i,s,l,d,p,h,_,y,x,n]),E=s===`stdio`,D=i.trim()&&(E?d.trim():l.trim());return(0,Q.jsx)(F.Root,{open:e,onOpenChange:e=>{e||w()},children:(0,Q.jsxs)(F.Content,{size:`md`,children:[(0,Q.jsxs)(F.Header,{children:[(0,Q.jsx)(F.Title,{icon:Xe,children:`Add MCP Server`}),(0,Q.jsx)(F.Description,{children:`Connect to a Model Context Protocol server to extend available tools.`})]}),(0,Q.jsx)(F.Body,{children:(0,Q.jsxs)(`div`,{className:`space-y-4`,children:[(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-name`,children:`Server name`}),(0,Q.jsx)(j,{id:`mcp-name`,type:`text`,value:i,onChange:e=>o(e.target.value),placeholder:`my-server`,fullWidth:!0,autoFocus:!0})]}),(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-transport`,children:`Transport`}),(0,Q.jsx)(`select`,{id:`mcp-transport`,value:s,onChange:e=>c(e.target.value),className:`w-full rounded-md border border-[var(--border-element)] bg-[var(--surface-lift)] px-3 py-1.5 text-body-medium-default text-[var(--content-default)] outline-none focus:ring-2 focus:ring-[var(--ring)]`,children:ut.map(e=>(0,Q.jsx)(`option`,{value:e.value,children:e.label},e.value))})]}),E?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-command`,children:`Command`}),(0,Q.jsx)(j,{id:`mcp-command`,type:`text`,value:d,onChange:e=>f(e.target.value),placeholder:`npx -y @modelcontextprotocol/server-example`,fullWidth:!0})]}),(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-args`,children:`Arguments (space-separated)`}),(0,Q.jsx)(j,{id:`mcp-args`,type:`text`,value:p,onChange:e=>m(e.target.value),placeholder:`--port 3000`,fullWidth:!0})]})]}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-url`,children:`Server URL`}),(0,Q.jsx)(j,{id:`mcp-url`,type:`url`,value:l,onChange:e=>u(e.target.value),placeholder:`https://example.com/mcp`,fullWidth:!0})]}),(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-auth`,children:`Authentication`}),(0,Q.jsx)(`select`,{id:`mcp-auth`,value:h,onChange:e=>g(e.target.value),className:`w-full rounded-md border border-[var(--border-element)] bg-[var(--surface-lift)] px-3 py-1.5 text-body-medium-default text-[var(--content-default)] outline-none focus:ring-2 focus:ring-[var(--ring)]`,children:lt.map(e=>(0,Q.jsx)(`option`,{value:e.value,children:e.label},e.value))})]}),h===`oauth`?(0,Q.jsx)(`p`,{className:`rounded-md border border-[var(--border-element)] bg-[var(--surface-base)] px-3 py-2 text-body-small-default text-[var(--content-tertiary)]`,children:`OAuth credentials will be configured through a browser-based authorization flow after the server is added.`}):null,h===`bearer`?(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-bearer`,children:`Bearer token`}),(0,Q.jsx)(j,{id:`mcp-bearer`,type:`password`,value:_,onChange:e=>v(e.target.value),placeholder:`tok_...`,fullWidth:!0})]}):null,h===`api-key`?(0,Q.jsxs)(`div`,{className:`flex gap-3`,children:[(0,Q.jsxs)(`div`,{className:`flex-1 space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-apikey-header`,children:`Header name`}),(0,Q.jsx)(j,{id:`mcp-apikey-header`,type:`text`,value:y,onChange:e=>b(e.target.value),placeholder:`X-API-Key`,fullWidth:!0})]}),(0,Q.jsxs)(`div`,{className:`flex-1 space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-apikey-value`,children:`API key`}),(0,Q.jsx)(j,{id:`mcp-apikey-value`,type:`password`,value:x,onChange:e=>S(e.target.value),placeholder:`sk_...`,fullWidth:!0})]})]}):null]})]})}),(0,Q.jsxs)(F.Footer,{children:[(0,Q.jsx)(a,{variant:`ghost`,onClick:w,disabled:r,children:`Cancel`}),(0,Q.jsx)(a,{variant:`primary`,onClick:T,disabled:!D||r,children:r?`Adding...`:`Add Server`})]})]})})}async function ft(e){let{data:t,response:n}=await G.get({url:`/v1/assistants/{assistant_id}/internal/mcp/list`,path:{assistant_id:e}});if(!n?.ok)throw Error(`Failed to fetch MCP servers: ${n?.status}`);return t}async function pt(e){let{data:t,response:n}=await G.get({url:`/v1/assistants/{assistant_id}/internal/mcp/tools-summary`,path:{assistant_id:e}});if(!n?.ok)throw Error(`Failed to fetch MCP tools summary: ${n?.status}`);return t}async function mt(e,t){let{response:n}=await G.post({url:`/v1/assistants/{assistant_id}/internal/mcp/update`,path:{assistant_id:e},body:t});if(!n?.ok)throw Error(`Failed to update MCP server: ${n?.status}`)}async function ht(e,t){let{response:n}=await G.post({url:`/v1/assistants/{assistant_id}/internal/mcp/add`,path:{assistant_id:e},body:t});if(!n?.ok)throw Error(`Failed to add MCP server: ${n?.status}`)}async function gt(e,t){let{response:n}=await G.post({url:`/v1/assistants/{assistant_id}/internal/mcp/remove`,path:{assistant_id:e},body:{name:t}});if(!n?.ok)throw Error(`Failed to remove MCP server: ${n?.status}`)}async function _t(e,t){let{data:n,response:r}=await G.post({url:`/v1/assistants/{assistant_id}/internal/mcp/auth/start`,path:{assistant_id:e},body:{serverId:t}});if(!r?.ok)throw Error(`Failed to start MCP auth: ${r?.status}`);return n}async function vt(e,t){let{data:n,response:r}=await G.get({url:`/v1/assistants/{assistant_id}/internal/mcp/auth/status/${encodeURIComponent(t)}`,path:{assistant_id:e}});if(!r?.ok)throw Error(`Failed to poll MCP auth status: ${r?.status}`);return n}async function yt(e,t){let{response:n}=await G.post({url:`/v1/assistants/{assistant_id}/internal/mcp/auth/revoke`,path:{assistant_id:e},body:{serverId:t}});if(!n?.ok)throw Error(`Failed to revoke OAuth for ${t}: ${n?.status}`)}async function bt(e){let{response:t}=await G.post({url:`/v1/assistants/{assistant_id}/internal/mcp/reload`,path:{assistant_id:e},body:{}});if(!t?.ok)throw Error(`Failed to reload MCP servers: ${t?.status}`)}var xt={connected:{icon:B,label:`Connected`,className:`text-[var(--system-positive-strong)]`},"needs-auth":{icon:Fe,label:`Needs Auth`,className:`text-[var(--system-warning-strong)]`},disabled:{icon:je,label:`Disabled`,className:`text-[var(--content-tertiary)]`}},St={icon:z,label:`Error`,className:`text-[var(--system-negative-strong)]`};function Ct({server:e,toolsSummary:t,onToggleEnabled:n,onRemove:r,onConfigure:i,onAuthenticate:o,onRevokeOAuth:s,isUpdating:c,isAuthenticating:l,isRevoking:u}){let[d,f]=(0,Z.useState)(!1),p=xt[e.status]??St,m=p.icon,h=(0,Z.useCallback)(t=>n(e.id,t),[n,e.id]),g=(0,Z.useCallback)(()=>r(e.id),[r,e.id]),_=(0,Z.useCallback)(()=>i(e.id),[i,e.id]),v=(0,Z.useCallback)(()=>o(e.id),[o,e.id]),y=(0,Z.useCallback)(()=>s(e.id),[s,e.id]),b=(0,Z.useCallback)(()=>f(e=>!e),[]);return(0,Q.jsx)(T.Root,{children:(0,Q.jsxs)(T.Body,{children:[(0,Q.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,Q.jsx)(`div`,{className:`flex min-w-0 flex-1 items-center gap-3`,children:(0,Q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(`span`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:e.id}),(0,Q.jsxs)(`span`,{className:`flex items-center gap-1 text-label-medium-default ${p.className}`,children:[(0,Q.jsx)(m,{className:`h-3.5 w-3.5`}),p.label]}),e.hasOAuth?(0,Q.jsx)(`span`,{className:`rounded-full bg-[var(--surface-lift)] px-2 py-0.5 text-label-small-default text-[var(--content-secondary)]`,children:`OAuth`}):null]}),(0,Q.jsxs)(`div`,{className:`mt-0.5 flex items-center gap-2 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,Q.jsx)(`span`,{children:e.transport.type}),t?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`span`,{"aria-hidden":`true`,children:`·`}),(0,Q.jsxs)(`span`,{children:[t.toolCount,` `,t.toolCount===1?`tool`:`tools`]}),(0,Q.jsx)(`span`,{"aria-hidden":`true`,children:`·`}),(0,Q.jsxs)(`span`,{children:[`~`,t.estimatedTokens.toLocaleString(),` tokens`]})]}):null]})]})}),(0,Q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[c||l?(0,Q.jsx)(H,{className:`h-4 w-4 animate-spin text-[var(--content-tertiary)]`}):null,e.status===`needs-auth`&&e.transport.type!==`stdio`&&!e.hasOAuth?(0,Q.jsx)(a,{variant:`ghost`,size:`compact`,leftIcon:(0,Q.jsx)(U,{}),onClick:v,disabled:l,children:l?`Authenticating...`:`Authenticate`}):null,e.hasOAuth?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(a,{variant:`ghost`,size:`compact`,leftIcon:(0,Q.jsx)(te,{}),onClick:v,disabled:l,tooltip:`Re-authenticate OAuth`,children:`Re-auth`}),(0,Q.jsx)(a,{variant:`dangerGhost`,size:`compact`,leftIcon:(0,Q.jsx)(Oe,{}),onClick:y,disabled:u,tooltip:`Revoke OAuth credentials`,children:u?`Revoking...`:`Revoke`})]}):null,(0,Q.jsx)(M,{checked:e.enabled,onChange:h,disabled:c,"aria-label":`${e.enabled?`Disable`:`Enable`} ${e.id}`}),(0,Q.jsx)(a,{variant:`ghost`,size:`compact`,onClick:_,tooltip:`Configure`,children:`Configure`}),(0,Q.jsx)(a,{variant:`dangerGhost`,size:`compact`,iconOnly:(0,Q.jsx)(X,{}),onClick:g,tooltip:`Remove server`,"aria-label":`Remove ${e.id}`})]})]}),t&&t.tools.length>0?(0,Q.jsxs)(`div`,{className:`mt-3 border-t border-[var(--border-base)] pt-2`,children:[(0,Q.jsxs)(`button`,{type:`button`,onClick:b,className:`flex w-full cursor-pointer items-center gap-1 text-body-small-default text-[var(--content-secondary)] hover:text-[var(--content-default)]`,children:[d?(0,Q.jsx)(q,{className:`h-3.5 w-3.5`}):(0,Q.jsx)(R,{className:`h-3.5 w-3.5`}),t.toolCount,` registered `,t.toolCount===1?`tool`:`tools`]}),d?(0,Q.jsx)(`div`,{className:`mt-2 max-h-60 overflow-y-auto`,children:t.tools.map(e=>(0,Q.jsx)(P,{title:e.name,subtitle:e.description||void 0,trailing:(0,Q.jsxs)(`span`,{className:`whitespace-nowrap text-body-small-default text-[var(--content-secondary)]`,children:[`~`,e.estimatedTokens.toLocaleString(),` tok`]})},e.name))}):null]}):null]})})}var wt=[{value:`none`,label:`None`},{value:`bearer`,label:`Bearer Token`},{value:`api-key`,label:`API Key`}],Tt=[`low`,`medium`,`high`];function Et({server:e,toolsSummary:t,onClose:n,onSave:r,isPending:i}){let[o,s]=(0,Z.useState)(`medium`),[c,l]=(0,Z.useState)(`none`),[u,d]=(0,Z.useState)(``),[f,p]=(0,Z.useState)(`X-API-Key`),[m,h]=(0,Z.useState)(``);(0,Z.useEffect)(()=>{e&&(s(e.defaultRiskLevel),l(e.authType),d(``),p(e.authHeaderName??`X-API-Key`),h(``))},[e]);let g=(0,Z.useCallback)(()=>{if(!e)return;let t=c!==e.authType,n=c===`bearer`&&u.trim()!==``,i=c===`api-key`&&f.trim()!==``&&m.trim()!==``,a=t||n||i,s;s=a?c===`none`?null:c===`bearer`&&u.trim()?{Authorization:`Bearer ${u.trim()}`}:c===`api-key`&&f.trim()&&m.trim()?{[f.trim()]:m.trim()}:void 0:void 0,r(e.id,{name:e.id,defaultRiskLevel:o,...s===void 0?{}:{headers:s}})},[e,o,c,u,f,m,r]),_=(0,Z.useCallback)(()=>{i||n()},[i,n]);return e?(0,Q.jsx)(F.Root,{open:!!e,onOpenChange:e=>{e||_()},children:(0,Q.jsxs)(F.Content,{size:`lg`,children:[(0,Q.jsxs)(F.Header,{children:[(0,Q.jsx)(F.Title,{icon:Xe,children:e.id}),(0,Q.jsxs)(F.Description,{children:[e.transport.type,` transport · `,e.status]})]}),(0,Q.jsx)(F.Body,{children:(0,Q.jsxs)(`div`,{className:`space-y-5`,children:[(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-risk`,children:`Default risk level`}),(0,Q.jsx)(`select`,{id:`mcp-risk`,value:o,onChange:e=>s(e.target.value),className:`w-full rounded-md border border-[var(--border-element)] bg-[var(--surface-lift)] px-3 py-1.5 text-body-medium-default text-[var(--content-default)] outline-none focus:ring-2 focus:ring-[var(--ring)]`,children:Tt.map(e=>(0,Q.jsx)(`option`,{value:e,children:e.charAt(0).toUpperCase()+e.slice(1)},e))})]}),e.transport.type===`stdio`?null:(0,Q.jsxs)(Q.Fragment,{children:[e.hasOAuth?(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 rounded-md border border-[var(--border-element)] bg-[var(--surface-base)] px-3 py-2`,children:[(0,Q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:`Authentication`}),(0,Q.jsx)(`span`,{className:`rounded-full bg-[var(--surface-lift)] px-2 py-0.5 text-label-small-default text-[var(--content-default)]`,children:`OAuth`}),(0,Q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`— managed via OAuth flow`})]}):null,e.hasOAuth?null:(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-detail-auth`,children:`Authentication`}),(0,Q.jsx)(`select`,{id:`mcp-detail-auth`,value:c,onChange:e=>l(e.target.value),className:`w-full rounded-md border border-[var(--border-element)] bg-[var(--surface-lift)] px-3 py-1.5 text-body-medium-default text-[var(--content-default)] outline-none focus:ring-2 focus:ring-[var(--ring)]`,children:wt.map(e=>(0,Q.jsx)(`option`,{value:e.value,children:e.label},e.value))})]}),c===`bearer`&&!e.hasOAuth?(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-detail-bearer`,children:`Bearer token`}),(0,Q.jsx)(j,{id:`mcp-detail-bearer`,type:`password`,value:u,onChange:e=>d(e.target.value),placeholder:e.hasStaticAuth&&e.authType===`bearer`?`•••••••• (leave blank to keep current)`:`tok_...`,fullWidth:!0})]}):null,c===`api-key`&&!e.hasOAuth?(0,Q.jsxs)(`div`,{className:`flex gap-3`,children:[(0,Q.jsxs)(`div`,{className:`flex-1 space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-detail-apikey-header`,children:`Header name`}),(0,Q.jsx)(j,{id:`mcp-detail-apikey-header`,type:`text`,value:f,onChange:e=>p(e.target.value),placeholder:`X-API-Key`,fullWidth:!0})]}),(0,Q.jsxs)(`div`,{className:`flex-1 space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-detail-apikey-value`,children:`API key`}),(0,Q.jsx)(j,{id:`mcp-detail-apikey-value`,type:`password`,value:m,onChange:e=>h(e.target.value),placeholder:e.hasStaticAuth&&e.authType===`api-key`?`•••••••• (leave blank to keep current)`:`sk_...`,fullWidth:!0})]})]}):null]}),t&&t.tools.length>0?(0,Q.jsxs)(`div`,{className:`space-y-2`,children:[(0,Q.jsxs)(`h3`,{className:`text-body-medium-default text-[var(--content-default)]`,children:[`Registered tools (`,t.toolCount,`)`]}),(0,Q.jsxs)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:[`Total estimated token overhead: ~`,t.estimatedTokens.toLocaleString(),` tokens`]}),(0,Q.jsx)(`div`,{className:`max-h-64 overflow-y-auto rounded-lg border border-[var(--border-base)]`,children:(0,Q.jsxs)(`table`,{className:`w-full text-body-small-default`,children:[(0,Q.jsx)(`thead`,{children:(0,Q.jsxs)(`tr`,{className:`border-b border-[var(--border-base)] bg-[var(--surface-base)]`,children:[(0,Q.jsx)(`th`,{className:`px-3 py-2 text-left font-medium text-[var(--content-secondary)]`,children:`Tool`}),(0,Q.jsx)(`th`,{className:`px-3 py-2 text-left font-medium text-[var(--content-secondary)]`,children:`Description`}),(0,Q.jsx)(`th`,{className:`px-3 py-2 text-right font-medium text-[var(--content-secondary)]`,children:`Tokens`})]})}),(0,Q.jsx)(`tbody`,{children:t.tools.map(e=>(0,Q.jsxs)(`tr`,{className:`border-b border-[var(--border-base)] last:border-b-0`,children:[(0,Q.jsx)(`td`,{className:`px-3 py-2 font-medium text-[var(--content-default)]`,children:e.name}),(0,Q.jsx)(`td`,{className:`max-w-xs truncate px-3 py-2 text-[var(--content-tertiary)]`,children:e.description||`—`}),(0,Q.jsxs)(`td`,{className:`px-3 py-2 text-right text-[var(--content-tertiary)]`,children:[`~`,e.estimatedTokens.toLocaleString()]})]},e.name))})]})})]}):null]})}),(0,Q.jsxs)(F.Footer,{children:[(0,Q.jsx)(a,{variant:`ghost`,onClick:_,disabled:i,children:`Cancel`}),(0,Q.jsx)(a,{variant:`primary`,onClick:g,disabled:i,children:i?`Saving...`:`Save`})]})]})}):null}var Dt=`mcp-servers`,Ot=`mcp-tools-summary`,kt=`Help me set up an MCP server to extend you with external tools.`;function At(){let e=Ge(),t=p(),n=o(),r=be.use.mcpAddServer(),i=be.use.hasHydrated(),[s,c]=(0,Z.useState)(!1),[l,u]=(0,Z.useState)(null),[d,f]=(0,Z.useState)(null),[m,h]=(0,Z.useState)(new Set),[g,_]=(0,Z.useState)(!1),[v,y]=(0,Z.useState)(!1),[b,x]=(0,Z.useState)(!1),[C,w]=(0,Z.useState)(!1),[T,E]=(0,Z.useState)(null),[D,k]=(0,Z.useState)(null),{data:A,isLoading:j,isError:M}=S({queryKey:[Dt,e],queryFn:()=>ft(e)}),{data:N}=S({queryKey:[Ot,e],queryFn:()=>pt(e)}),P=(0,Z.useCallback)(()=>{t.invalidateQueries({queryKey:[Dt,e]}),t.invalidateQueries({queryKey:[Ot,e]})},[t,e]),F=(0,Z.useMemo)(()=>{let e=new Map;if(N)for(let t of N.servers)e.set(t.serverId,t);return e},[N]),L=(0,Z.useMemo)(()=>!l||!A?null:A.servers.find(e=>e.id===l)??null,[l,A]),ee=(0,Z.useCallback)(async(t,n)=>{h(e=>new Set(e).add(t));try{await mt(e,{name:t,enabled:n}),P()}catch{I.error(`Failed to ${n?`enable`:`disable`} ${t}`)}finally{h(e=>{let n=new Set(e);return n.delete(t),n})}},[e,P]),R=(0,Z.useCallback)(async()=>{if(d){y(!0);try{await gt(e,d),P(),I.success(`Removed ${d}`),f(null)}catch{I.error(`Failed to remove ${d}`)}finally{y(!1)}}},[d,e,P]),z=(0,Z.useCallback)(async t=>{E(t);let n;try{n=await _t(e,t)}catch{I.error(`Failed to start authentication for ${t}`),E(null);return}try{if(n.already_authenticated){I.success(`${t} is already authenticated`),P();return}window.open(n.auth_url,`_blank`,`noopener,noreferrer`);for(let n=0;n<60;n++){await new Promise(e=>setTimeout(e,3e3));let n=await vt(e,t);if(n.status===`complete`){I.success(`${t} authenticated successfully`),P();return}if(n.status===`error`){I.error(n.error??`Authentication failed for ${t}`);return}}I.error(`Authentication timed out for ${t}`)}catch{I.error(`Authentication polling failed for ${t}`)}finally{E(null),P()}},[e,P]),B=(0,Z.useCallback)(async t=>{k(t);try{await yt(e,t),P(),I.success(`OAuth credentials revoked for ${t}`)}catch{I.error(`Failed to revoke OAuth for ${t}`)}finally{k(null)}},[e,P]),V=(0,Z.useCallback)(async t=>{let n=t.autoAuth?window.open(`about:blank`,`_blank`,`noopener`):null;_(!0);try{await ht(e,t),P(),I.success(`Added ${t.name}`),c(!1)}catch{I.error(`Failed to add ${t.name}`),n?.close(),_(!1);return}if(_(!1),t.autoAuth){E(t.name);try{let r=await _t(e,t.name);if(r.already_authenticated){n?.close(),I.success(`${t.name} is already authenticated`),P();return}n?n.location.href=r.auth_url:window.open(r.auth_url,`_blank`,`noopener,noreferrer`);for(let n=0;n<60;n++){await new Promise(e=>setTimeout(e,3e3));let n=await vt(e,t.name);if(n.status===`complete`){I.success(`${t.name} authenticated successfully`),P();return}if(n.status===`error`){I.error(n.error??`Authentication failed for ${t.name}`);return}}I.error(`Authentication timed out for ${t.name}`)}catch{n?.close(),I.error(`Failed to start authentication for ${t.name}`)}finally{E(null),P()}}},[e,P]),U=(0,Z.useCallback)(async(t,n)=>{x(!0);try{await mt(e,n),P(),I.success(`Updated ${t}`),u(null)}catch{I.error(`Failed to update ${t}`)}finally{x(!1)}},[e,P]),W=(0,Z.useCallback)(async()=>{w(!0);try{await bt(e),P(),I.success(`MCP servers reloaded`)}catch{I.error(`Failed to reload MCP servers`)}finally{w(!1)}},[e,P]),ne=(0,Z.useCallback)(()=>{r?c(!0):Ve(n,{prompt:kt})},[r,n]),re=A?.servers??[];return(0,Q.jsxs)(`div`,{className:`space-y-4`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`h2`,{className:`text-title-small text-[var(--content-default)]`,children:`MCP Servers`}),(0,Q.jsx)(`p`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:`Manage Model Context Protocol server connections and their registered tools.`})]}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(a,{variant:`ghost`,size:`compact`,iconOnly:(0,Q.jsx)(te,{className:C?`animate-spin`:``}),onClick:W,disabled:C,tooltip:`Reload all servers`,"aria-label":`Reload MCP servers`}),r?(0,Q.jsx)(a,{variant:`primary`,size:`compact`,leftIcon:(0,Q.jsx)(Y,{}),onClick:()=>c(!0),children:`Add Server`}):null]})]}),N?(0,Q.jsxs)(`div`,{className:`flex gap-4 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,Q.jsxs)(`span`,{children:[N.totalToolCount,` total `,N.totalToolCount===1?`tool`:`tools`]}),(0,Q.jsxs)(`span`,{children:[`~`,N.totalEstimatedTokens.toLocaleString(),` total tokens`]})]}):null,j?(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 py-6 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,Q.jsx)(H,{className:`h-4 w-4 animate-spin`}),(0,Q.jsx)(`span`,{children:`Loading MCP servers...`})]}):M?(0,Q.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Failed to load MCP servers. Check that an assistant is running.`}):re.length===0?(0,Q.jsxs)(`button`,{type:`button`,onClick:ne,disabled:!i,className:`flex w-full flex-col items-center gap-2 rounded-lg border border-dashed border-[var(--border-element)] px-4 py-12 text-center transition-colors hover:border-[var(--border-active)] hover:bg-[var(--surface-hover)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)] disabled:pointer-events-none`,children:[(0,Q.jsx)(Xe,{className:`h-6 w-6 text-[var(--content-disabled)]`}),(0,Q.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`No MCP Servers`}),(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:r?`Add an MCP server to extend your assistant with external tools.`:`Chat with your assistant to set up an MCP server.`})]}):(0,Q.jsx)(`div`,{className:`space-y-2`,children:re.map(e=>(0,Q.jsx)(Ct,{server:e,toolsSummary:F.get(e.id),onToggleEnabled:ee,onRemove:f,onConfigure:u,onAuthenticate:z,onRevokeOAuth:B,isUpdating:m.has(e.id),isAuthenticating:T===e.id,isRevoking:D===e.id},e.id))}),r?(0,Q.jsx)(dt,{open:s,onClose:()=>c(!1),onAdd:V,isPending:g}):null,(0,Q.jsx)(Et,{server:L,toolsSummary:l?F.get(l):void 0,onClose:()=>u(null),onSave:U,isPending:b}),(0,Q.jsx)(O,{open:!!d,title:`Remove MCP Server`,message:`Are you sure you want to remove "${d}"? This will disconnect all tools provided by this server.`,confirmLabel:`Remove`,destructive:!0,isPending:v,onConfirm:R,onCancel:()=>f(null)})]})}function jt(){return(0,Q.jsx)(At,{})}function Mt(e,t){let[n,r]=(0,Z.useState)({platformAssistantId:null,isLoading:!1,error:null});return(0,Z.useEffect)(()=>{if(!t||!e){r({platformAssistantId:null,isLoading:!1,error:null});return}let n=!0;return r({platformAssistantId:null,isLoading:!0,error:null}),he(e).then(e=>{n&&r({platformAssistantId:e,isLoading:!1,error:null})}).catch(e=>{n&&r({platformAssistantId:null,isLoading:!1,error:e instanceof Error?e:Error(String(e))})}),()=>{n=!1}},[e,t]),n}var Nt=`vellum:integrations:bannerDismissed`,Pt=[{value:`all`,label:`All`},{value:`enabled`,label:`Enabled`},{value:`not-enabled`,label:`Not Enabled`}];function $(e,t){return e?.find(e=>e.provider===t)??null}function Ft(e){return e===`mcp`?`mcp`:`oauth`}function It(){let[e]=s(),i=o(),a=De(),[c,l]=(0,Z.useState)(null),[u,d]=(0,Z.useState)(!0),[f,p]=(0,Z.useState)(``),[m,h]=(0,Z.useState)(`all`),[g,_]=(0,Z.useState)(!1),[v,y]=(0,Z.useState)(!0),[b,x]=(0,Z.useState)(null);(0,Z.useEffect)(()=>{y(t(Nt,`false`)===`true`)},[]);let C=()=>{y(!0),n(Nt,`true`)};(0,Z.useEffect)(()=>{let e=!0;return(async()=>{try{let t=await ge();e&&t.ok&&l(t.data)}catch(e){r(e,{context:`integrations.getAssistant`})}finally{e&&d(!1)}})(),()=>{e=!1}},[]);let{platformAssistantId:w,isLoading:T}=Mt(c?.id,a===`full`),{data:E,isLoading:D,isError:O}=S({...ie({path:{assistant_id:c?.id??``}}),select:e=>e.providers,enabled:!!c}),{data:M,isLoading:N}=S({...K({path:{assistant_id:w??``}}),enabled:!!w&&a===`full`});(0,Z.useEffect)(()=>{let t=e.get(`oauth_status`);if(!t)return;let n=e.get(`oauth_provider`),r=n?n.charAt(0).toUpperCase()+n.slice(1):null;if(t===`connected`)I.success(r?`${r} account connected successfully.`:`Account connected successfully.`);else if(t===`error`){let t=e.get(`oauth_code`)??`unknown`;I.error({denied:`Authorization was denied. Please try again.`,state_invalid:`Authorization state was invalid. Please try again.`,state_expired:`Authorization expired. Please try again.`,exchange_failed:`Failed to complete authorization. Please try again.`,identity_failed:`Failed to verify account identity. Please try again.`}[t]??(r?`Failed to connect ${r}.`:`Failed to connect. Please try again.`))}i(ve.settings.integrations,{replace:!0})},[e,i]);let P=(0,Z.useMemo)(()=>E?.filter(e=>e.supports_managed_mode)??[],[E]),F=(0,Z.useMemo)(()=>{let e=f.trim().toLowerCase(),t=P.filter(t=>{if(t.provider_key===`slack`)return!1;if(!e)return!0;let n=(t.display_name??t.provider_key).toLowerCase(),r=(t.description??``).toLowerCase();return n.includes(e)||r.includes(e)});return m!==`all`&&(t=t.filter(e=>{let t=!!$(M,e.provider_key)?.connected;return m===`enabled`?t:!t})),[...t].sort((e,t)=>{let n=!!$(M,e.provider_key)?.connected;if(n!==!!$(M,t.provider_key)?.connected)return n?-1:1;let r=(e.display_name??e.provider_key).toLowerCase(),i=(t.display_name??t.provider_key).toLowerCase();return r.localeCompare(i)})},[P,M,f,m]),L=u||D||N||T,ee=Pt.find(e=>e.value===m)?.label??`All`,R=(()=>{if(f.trim())return`No integrations matched`;switch(m){case`enabled`:return`No Enabled Integrations`;case`not-enabled`:return`All Integrations Are Enabled`;default:return`No Integrations Available`}})(),z=(()=>{if(f.trim())return`No integrations matched "${f.trim()}"`;switch(m){case`enabled`:return`Connect an integration to get started.`;case`not-enabled`:return`All available integrations have been connected.`;default:return`Check your connection and try again.`}})(),B=(0,Z.useMemo)(()=>b?P.find(e=>e.provider_key===b)??null:null,[P,b]);return(0,Q.jsxs)(`div`,{className:`space-y-4`,children:[!v&&(0,Q.jsxs)(k,{tone:`info`,icon:(0,Q.jsx)(ne,{className:`h-3.5 w-3.5`}),onDismiss:C,children:[(0,Q.jsx)(`span`,{className:`text-body-medium-default`,children:`Tip:`}),` You can enable integrations by mentioning them in chat.`]}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(j,{type:`text`,value:f,onChange:e=>p(e.target.value),placeholder:`Search Integrations`,"aria-label":`Search integrations`,leftIcon:(0,Q.jsx)(Pe,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0,wrapperClassName:`flex-1`}),(0,Q.jsxs)(A.Root,{open:g,onOpenChange:_,children:[(0,Q.jsx)(A.Trigger,{asChild:!0,children:(0,Q.jsxs)(`button`,{type:`button`,"aria-haspopup":`listbox`,"aria-expanded":g,className:`flex w-36 cursor-pointer items-center justify-between gap-2 rounded-md border border-[var(--border-element)] bg-[var(--surface-lift)] px-3 py-1.5 text-body-medium-lighter text-[var(--content-default)] transition-colors hover:bg-[var(--ghost-hover)]`,children:[(0,Q.jsx)(`span`,{children:ee}),(0,Q.jsx)(q,{className:`h-3.5 w-3.5`})]})}),(0,Q.jsx)(A.Content,{align:`end`,sideOffset:4,className:`w-36 overflow-hidden p-0`,children:(0,Q.jsx)(`div`,{role:`listbox`,children:Pt.map(e=>{let t=e.value===m;return(0,Q.jsx)(`button`,{type:`button`,role:`option`,"aria-selected":t,onClick:()=>{h(e.value),_(!1)},className:`flex w-full cursor-pointer items-center px-3 py-1.5 text-left hover:bg-[var(--ghost-hover)] ${t?`text-body-medium-default text-[var(--content-default)]`:`text-body-medium-lighter text-[var(--content-default)]`}`,children:e.label},e.value)})})})]})]}),(0,Q.jsx)(`div`,{children:L?(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 py-6 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,Q.jsx)(H,{className:`h-4 w-4 animate-spin`}),(0,Q.jsx)(`span`,{children:`Loading...`})]}):O?(0,Q.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Failed to load integrations. Please try again.`}):c?F.length===0?(0,Q.jsxs)(`div`,{className:`flex flex-col items-center gap-2 rounded-lg border border-dashed border-[var(--border-element)] px-4 py-12 text-center`,children:[(0,Q.jsx)(Pe,{className:`h-6 w-6 text-[var(--content-disabled)]`}),(0,Q.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:R}),(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:z})]}):(0,Q.jsx)(`div`,{className:`space-y-2`,children:F.map(e=>(0,Q.jsx)(st,{platformAssistantId:w??c.id,providerKey:e.provider_key,displayName:e.display_name??e.provider_key,description:e.description,logoUrl:e.logo_url,connection:$(M,e.provider_key),platformGate:a,onConfigure:()=>x(e.provider_key)},e.provider_key))}):(0,Q.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`No assistant found. Hatch an assistant to connect integrations.`})}),B&&c&&(0,Q.jsx)(at,{assistantId:c.id,platformAssistantId:w??c.id,providerKey:B.provider_key,displayName:B.display_name??B.provider_key,description:B.description,logoUrl:B.logo_url,platformGate:a,onClose:()=>x(null)})]})}function Lt(){let[e,t]=s(),n=Ft(e.get(`tab`));return(0,Q.jsx)(`div`,{className:`space-y-6`,children:(0,Q.jsxs)(N.Root,{value:n,onValueChange:n=>{let r=Ft(n),i=new URLSearchParams(e);r===`mcp`?i.set(`tab`,`mcp`):i.delete(`tab`),t(i,{replace:!0})},children:[(0,Q.jsxs)(N.List,{children:[(0,Q.jsx)(N.Trigger,{value:`oauth`,children:`OAuth`}),(0,Q.jsx)(N.Trigger,{value:`mcp`,children:`MCP`})]}),(0,Q.jsx)(N.Panel,{value:`oauth`,className:`pt-4`,children:(0,Q.jsx)(Z.Suspense,{children:(0,Q.jsx)(It,{})})}),(0,Q.jsx)(N.Panel,{value:`mcp`,className:`pt-4`,children:(0,Q.jsx)(jt,{})})]})})}export{Lt as IntegrationsPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{i as n,n as r,u as i}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as a}from"./jsx-runtime-CVSDxk6A.js";import{t as o}from"./cn-DvW5mxZR.js";import{t as s}from"./typography-BscuIPxA.js";import"./src-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{i as n,n as r,u as i}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as a}from"./jsx-runtime-CVSDxk6A.js";import{t as o}from"./cn-DvW5mxZR.js";import{t as s}from"./typography-BscuIPxA.js";import"./src-B-I7oowl.js";import{a as c}from"./routes-C6gxiCrz.js";import{n as l}from"./use-is-mobile-jACt_z2d.js";import{t as u}from"./assistant-identity-store-cODRsfVo.js";import{En as d}from"./index-FlO-C4WJ.js";import{t as f}from"./page-shell-rqT8-trD.js";import{t as p}from"./plugins-surface-gCrqfOas.js";var m=e(t(),1),h=a(),g=[{label:`Identity`,to:c.identity},{label:`Skills`,to:c.skills},{label:`Workspace`,to:c.workspace},{label:`Contacts`,to:c.contacts.root}],_={label:`Plugins`,to:c.plugins};function v(){let e=u.use.name(),t=p(),{pathname:a}=i(),c=l(),v=d.use.setTopBarCenter(),y=t?[g[0],_,...g.slice(1)]:g;return(0,m.useEffect)(()=>(v(c?(0,h.jsxs)(s,{variant:`body-medium-default`,className:`truncate text-[var(--content-secondary)]`,children:[`About `,e||`Assistant`]}):null),()=>{v(null)}),[c,e,v]),(0,h.jsxs)(f,{children:[(0,h.jsxs)(`h1`,{className:`mb-4 shrink-0 text-title-large text-[var(--content-default)] max-md:hidden`,children:[`About `,e||`Assistant`]}),(0,h.jsx)(`nav`,{className:`mb-4 flex shrink-0 items-center overflow-x-auto border-b border-[var(--border-base)]`,style:{scrollbarWidth:`none`,WebkitOverflowScrolling:`touch`},"aria-label":`About assistant sections`,children:y.map(({label:e,to:t})=>{let n=a===t||a.startsWith(t+`/`);return(0,h.jsx)(r,{to:t,className:o(`relative -mb-px inline-flex cursor-pointer items-center gap-1.5 border-b-2 border-transparent bg-transparent px-2.5 py-[7px]`,`text-body-medium-default whitespace-nowrap`,`text-[var(--content-secondary)] transition-colors`,`outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)] focus-visible:ring-offset-0`,`hover:bg-[var(--surface-hover)] hover:text-[var(--content-default)]`,n&&`border-[var(--border-active)] text-[var(--primary-active)]`,n&&`hover:bg-transparent`),children:e},t)})}),(0,h.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-y-auto`,children:(0,h.jsx)(n,{})})]})}export{v as IntelligenceLayout};
|
package/dist/assets/{keyboard-shortcuts-page-E8rGDLiG.js → keyboard-shortcuts-page-CI4UDQMl.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./button-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./button-D-AX8Voo.js";import{r}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as i}from"./jsx-runtime-CVSDxk6A.js";import{t as a}from"./card-BibIM9x3.js";import{t as o}from"./notice-CqRgVmeL.js";import{t as s}from"./shortcut-keys-vM6sNj7W.js";import{t as c}from"./is-electron-C_ZTVhv8.js";import{t as l}from"./x-DxL-bCuT.js";import{a as u}from"./routes-C6gxiCrz.js";import{Ti as d}from"./index-FlO-C4WJ.js";var f=e(t(),1);async function p(){if(!c())return[];let e=window.vellum;return e?.hotkeys?e.hotkeys.get():[]}async function m(e,t){if(!c())return;let n=window.vellum;n?.hotkeys&&await n.hotkeys.set(e,t)}function h(e){if(!c())return()=>{};let t=window.vellum;return t?.hotkeys?t.hotkeys.onChange(e):()=>{}}var g={ArrowUp:`Up`,ArrowDown:`Down`,ArrowLeft:`Left`,ArrowRight:`Right`,Enter:`Return`,NumpadEnter:`Return`,Space:`Space`,Tab:`Tab`,Escape:`Escape`,Backspace:`Backspace`,Delete:`Delete`,Insert:`Insert`,Home:`Home`,End:`End`,PageUp:`PageUp`,PageDown:`PageDown`,Minus:`-`,Equal:`=`,BracketLeft:`[`,BracketRight:`]`,Backslash:`\\`,Semicolon:`;`,Quote:`'`,Backquote:"`",Comma:`,`,Period:`.`,Slash:`/`},_=new Set([`MetaLeft`,`MetaRight`,`ControlLeft`,`ControlRight`,`AltLeft`,`AltRight`,`ShiftLeft`,`ShiftRight`]),v=e=>{let t=e.code;return _.has(t)?null:/^Key[A-Z]$/.test(t)?t.slice(3):/^Digit[0-9]$/.test(t)?t.slice(5):/^Numpad[0-9]$/.test(t)?`num${t.slice(6)}`:/^F[0-9]{1,2}$/.test(t)?t:g[t]??null},y=e=>{let t=v(e);if(t===null)return null;let n=[];return e.metaKey&&n.push(`CmdOrCtrl`),e.ctrlKey&&n.push(`Control`),e.altKey&&n.push(`Alt`),e.shiftKey&&n.push(`Shift`),[...n,t].join(`+`)},b=(e,t,n)=>n===``?null:e.find(e=>e.key!==t&&e.accelerator===n)??null,x=i(),S=[{scope:`global`,title:`Global shortcuts`,description:`Work anywhere, even when Vellum is in the background.`},{scope:`menu`,title:`App shortcuts`,description:`Work while a Vellum window is focused.`}];function C({hotkey:e,recording:t,conflictLabel:r,onStartRecording:i,onCancelRecording:a,onReset:o,onRemove:c}){let u=e.accelerator===``,f=e.override!==null;return(0,x.jsxs)(`div`,{className:`flex items-center justify-between gap-3 py-2`,children:[(0,x.jsxs)(`div`,{className:`min-w-0`,children:[(0,x.jsx)(`div`,{className:`truncate text-body-medium-lighter text-[var(--content-default)]`,children:e.label}),r!==null&&(0,x.jsxs)(`div`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:[`Already used by `,r]})]}),(0,x.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[t?(0,x.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:`Recording… press a shortcut, or Esc to cancel`}):u?(0,x.jsx)(`span`,{className:`text-body-small-default italic text-[var(--content-disabled)]`,children:`Disabled`}):(0,x.jsx)(s,{accelerator:e.accelerator}),t?(0,x.jsx)(n,{variant:`ghost`,size:`compact`,onClick:a,children:`Cancel`}):(0,x.jsx)(n,{variant:`outlined`,size:`compact`,onClick:i,"aria-label":`Record shortcut for ${e.label}`,children:`Record`}),(0,x.jsx)(n,{variant:`ghost`,size:`compact`,disabled:!f,leftIcon:(0,x.jsx)(d,{className:`h-3.5 w-3.5`}),onClick:o,"aria-label":`Reset ${e.label} to default`}),(0,x.jsx)(n,{variant:`ghost`,size:`compact`,disabled:u,leftIcon:(0,x.jsx)(l,{className:`h-3.5 w-3.5`}),onClick:c,"aria-label":`Remove ${e.label} binding`})]})]})}function w(){let[e,t]=(0,f.useState)([]),[n,i]=(0,f.useState)(null),[s,l]=(0,f.useState)(null),d=(0,f.useCallback)(()=>{p().then(t)},[]);(0,f.useEffect)(()=>(d(),h(t)),[d]);let g=(0,f.useCallback)(()=>{i(null),l(null)},[]);(0,f.useEffect)(()=>{if(n===null)return;let t=t=>{if(t.preventDefault(),t.stopPropagation(),t.code===`Escape`){g();return}let r=y(t);if(r===null)return;let i=b(e,n,r);if(i!==null){l({key:n,label:i.label});return}m(n,r).then(d),g()};return window.addEventListener(`keydown`,t,!0),()=>window.removeEventListener(`keydown`,t,!0)},[n,e,d,g]);let _=(0,f.useCallback)(e=>{l(null),i(e)},[]),v=(0,f.useCallback)(t=>{let n=b(e,t,e.find(e=>e.key===t)?.defaultAccelerator??``);if(n!==null){i(null),l({key:t,label:n.label});return}g(),m(t,null).then(d)},[e,d,g]),w=(0,f.useCallback)(e=>{g(),m(e,``).then(d)},[d,g]),T=(0,f.useMemo)(()=>S.map(t=>({...t,commands:e.filter(e=>e.rebindable&&e.scope===t.scope)})).filter(e=>e.commands.length>0),[e]);return c()?(0,x.jsxs)(`div`,{className:`space-y-4`,children:[(0,x.jsxs)(`div`,{children:[(0,x.jsx)(`h2`,{className:`text-title-medium text-[var(--content-default)]`,children:`Keyboard Shortcuts`}),(0,x.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-secondary)]`,children:`Customize the shortcuts for Vellum's commands.`})]}),s!==null&&(0,x.jsxs)(o,{tone:`warning`,children:[`That shortcut is already used by `,s.label,`.`,` `,n===null?`Remove or change that binding before resetting.`:`Pick a different combination, or press Esc to cancel.`]}),T.map(e=>(0,x.jsxs)(a,{bordered:!0,children:[(0,x.jsxs)(`div`,{className:`mb-2`,children:[(0,x.jsx)(`div`,{className:`text-body-medium-emphasised text-[var(--content-default)]`,children:e.title}),(0,x.jsx)(`div`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:e.description})]}),(0,x.jsx)(`div`,{className:`divide-y divide-[var(--border-base)]`,children:e.commands.map(e=>(0,x.jsx)(C,{hotkey:e,recording:n===e.key,conflictLabel:s!==null&&s.key===e.key?s.label:null,onStartRecording:()=>_(e.key),onCancelRecording:g,onReset:()=>v(e.key),onRemove:()=>w(e.key)},e.key))})]},e.scope))]}):(0,x.jsx)(r,{replace:!0,to:u.settings.general})}export{w as KeyboardShortcutsPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{d as n,p as r}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as i}from"./jsx-runtime-CVSDxk6A.js";import"./src-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{d as n,p as r}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as i}from"./jsx-runtime-CVSDxk6A.js";import"./src-B-I7oowl.js";import{n as a}from"./toast-sdJJ6aTV.js";import{t as o}from"./loader-circle-BFRVtR3K.js";import{n as s}from"./sdk.gen-zA5ns5LT.js";import{a as c}from"./routes-C6gxiCrz.js";import{a as l}from"./viewer-store-BR99G-Ii.js";import{Gt as u,Ot as d,Wt as f,gn as p,r as m}from"./index-FlO-C4WJ.js";import{t as h}from"./deploy-dialogs-BhpmZiBK.js";import{t as g}from"./use-active-assistant-id-BVzVN4_g.js";var _=e(t(),1),v=i();function y(){let{appId:e}=r(),t=g(),i=n(),y=f.use.isDeploying(),[b,x]=(0,_.useState)(null),[S,C]=(0,_.useState)(null),[w,T]=(0,_.useState)(!1),E=(0,_.useRef)(null);(0,_.useEffect)(()=>{if(e)return E.current=e,x(null),C(null),s({path:{assistant_id:t,id:e},throwOnError:!0}).then(({data:n})=>{E.current===e&&(l(t,n.appId,n.html),x({appId:n.appId,dirName:n.dirName,name:n.name,html:n.html}))}).catch(t=>{E.current===e&&C(t instanceof Error?t.message:`Failed to open app`)}),()=>{E.current=null}},[t,e]);let D=(0,_.useCallback)(()=>{i(c.library.root)},[i]),O=m(),k=(0,_.useCallback)(()=>{b&&O(b)},[b,O]),A=(0,_.useCallback)(async()=>{if(!(!b||w)){T(!0);try{await u(t,b.appId,b.name),a.success(`App exported`,{description:`${b.name}.vellum`})}catch(e){a.error(`Failed to share app`,{description:e instanceof Error?e.message:void 0})}finally{T(!1)}}},[t,b,w]),j=(0,_.useCallback)(()=>{b&&f.getState().deployApp(t,b.appId,b.name,b.html)},[t,b]),M=(0,_.useCallback)(e=>{p(i,{prompt:e})},[i]);return e?S?(0,v.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center gap-4`,children:[(0,v.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:S}),(0,v.jsx)(`button`,{type:`button`,onClick:D,className:`text-body-medium-default text-[var(--primary-base)] underline`,children:`Back to Library`})]}):b?(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(d,{appId:b.appId,appName:b.name,html:b.html,assistantId:t,onClose:D,onEdit:k,onShare:A,isSharing:w,onDeploy:j,isDeploying:y,enableFullscreen:!0}),(0,v.jsx)(h,{assistantId:t,onStartConversation:M})]}):(0,v.jsx)(`div`,{className:`flex flex-1 items-center justify-center`,children:(0,v.jsx)(o,{className:`h-6 w-6 animate-spin text-[var(--content-tertiary)]`})}):null}export{y as LibraryDetailPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./button-D7s2Q_uG.js";import{d as r}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{n as i}from"./QueryClientProvider-DKhXIxGb.js";import{t as a}from"./useQuery-B45lW1Kk.js";import{t as o}from"./jsx-runtime-CVSDxk6A.js";import{n as s,t as c}from"./panel-item-nGTDevWP.js";import{t as l}from"./menu-C_97pis4.js";import"./src-mai-NajT.js";import{t as u}from"./confirm-dialog-CfOXCE1N.js";import{t as d}from"./input-C8kfrq9r.js";import{n as f}from"./toast-2TW5tj1Y.js";import{t as p}from"./arrow-up-nBfZxfhi.js";import{t as m}from"./file-text-ClqzuFsu.js";import{t as h}from"./globe-D3P5sSKJ.js";import{s as g,t as _}from"./sdk.gen-BwKkHEki.js";import{C as v,n as y,t as b}from"./react-query.gen-CsMIK93J.js";import{a as x}from"./routes-Cj4wRAOK.js";import{n as S}from"./use-is-mobile-BGESxQUL.js";import{i as C,r as w}from"./viewer-store-BKkbfdPD.js";import{t as T}from"./misc-Bm2e0rTa.js";import{$ as E,Bt as D,Ti as O,Vi as k,dn as A,hi as j,in as M,ni as N,ri as P,ta as F,wi as I,zt as L}from"./index-0XgM92Lz.js";import{t as R}from"./deploy-dialogs-DYPOGbGL.js";import{t as z}from"./use-active-assistant-id-D4UJEQM5.js";import{t as B}from"./page-shell-5T-Jxz7G.js";import{t as V}from"./format-date-C4llqVi6.js";var H=e(t(),1),U=o();function W({app:e,isDeleting:t,onConfirm:n,onCancel:r}){return(0,U.jsx)(u,{open:e!==null,title:`Delete app`,message:e?`"${e.name}" will be permanently removed.`:``,confirmLabel:t?`Deleting…`:`Delete`,destructive:!0,onConfirm:n,onCancel:r})}function G(e){return e===1?`1 word`:`${e} words`}function K({document:e,onOpen:t}){return(0,U.jsxs)(`div`,{className:`group relative flex flex-col gap-2`,children:[(0,U.jsxs)(`button`,{type:`button`,onClick:()=>t(e.surfaceId),className:T(`relative flex w-full cursor-pointer flex-col items-center justify-center gap-2 overflow-hidden rounded-xl border border-[var(--border-base)] bg-[var(--surface-base)]`,`aspect-[16/10]`,`outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`),children:[(0,U.jsx)(m,{size:34,className:`text-[var(--content-tertiary)]`}),(0,U.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:G(e.wordCount)})]}),(0,U.jsxs)(`button`,{type:`button`,onClick:()=>t(e.surfaceId),className:`flex cursor-pointer flex-col gap-0.5 px-0.5 text-left outline-none`,children:[(0,U.jsx)(`span`,{className:`truncate text-body-large-default text-[color:var(--content-emphasised)]`,children:e.title}),(0,U.jsx)(`span`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:V(new Date(e.updatedAt))})]})]})}function q({fileInputRef:e,isImporting:t,onImportBundle:r,onNewConversation:i}){return(0,U.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-4 px-4 py-24`,children:[(0,U.jsx)(`input`,{ref:e,type:`file`,accept:`.vellum`,className:`hidden`,onChange:r}),(0,U.jsx)(`div`,{className:`flex h-16 w-16 items-center justify-center rounded-xl bg-[var(--surface-base)]`,children:(0,U.jsx)(k,{size:32,className:`text-[var(--content-tertiary)]`})}),(0,U.jsx)(`h2`,{className:`text-title-medium text-[var(--content-default)]`,children:`Your library is empty`}),(0,U.jsx)(`p`,{className:`max-w-md text-center text-body-medium-lighter text-[color:var(--content-tertiary)]`,children:`Ask your assistant to build something, or import a shared app`}),(0,U.jsxs)(`div`,{className:`flex flex-col items-center gap-3`,children:[i?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(n,{variant:`primary`,size:`regular`,onClick:i,children:`New Conversation`}),(0,U.jsx)(`span`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:`or`})]}):null,(0,U.jsxs)(n,{variant:`outlined`,size:`regular`,onClick:()=>e.current?.click(),disabled:t,children:[t?(0,U.jsx)(`div`,{className:`h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent`}):(0,U.jsx)(N,{size:14}),(0,U.jsx)(`span`,{className:`ml-1.5`,children:`Import .vellum File`})]})]})]})}function J({app:e,assistantId:t,isPinned:n,onOpen:r,onPin:i,onDelete:a,onDeploy:o,justImported:s,onAnimationEnd:c}){let[l,u]=(0,H.useState)(!1),d=(0,H.useCallback)(()=>C(t,e.id),[t,e.id]),p=(0,H.useCallback)(async()=>{if(!l){u(!0);try{await D(t,e.id,e.name),f.success(`App exported`,{description:`${e.name}.vellum`})}catch(e){f.error(`Failed to share app`,{description:e instanceof Error?e.message:void 0})}finally{u(!1)}}},[t,e.id,e.name,l]),[m,h]=(0,H.useState)(!1),g=S();return(0,U.jsxs)(`div`,{className:T(`group relative flex flex-col gap-2`,s&&`animate-[card-entrance_400ms_ease-out]`),onAnimationEnd:s?c:void 0,children:[(0,U.jsx)(`button`,{type:`button`,onClick:()=>r(e.id),className:T(`relative w-full cursor-pointer overflow-hidden rounded-xl`,`outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`),children:(0,U.jsx)(E,{name:e.name,icon:e.icon,loadHtml:d})}),(0,U.jsx)(`div`,{className:T(`absolute right-2 top-2 z-20 transition-opacity`,`max-md:opacity-100`,`md:group-hover:opacity-100 md:group-focus-within:opacity-100`,m?`opacity-100`:`md:opacity-0`),children:(0,U.jsx)(Y,{appName:e.name,isPinned:n,open:m,onOpenChange:h,onPin:()=>i(e),onDelete:a?()=>a(e):void 0,onShare:p,onDeploy:o,isMobile:g})}),(0,U.jsxs)(`button`,{type:`button`,onClick:()=>r(e.id),className:`flex cursor-pointer flex-col gap-0.5 px-0.5 text-left outline-none`,children:[(0,U.jsx)(`span`,{className:`truncate text-body-large-default text-[color:var(--content-emphasised)]`,children:e.name}),(0,U.jsx)(`span`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:V(new Date(e.createdAt))})]})]})}function Y({appName:e,isPinned:t,open:r,onOpenChange:i,onPin:a,onDelete:o,onShare:u,onDeploy:d,isMobile:f}){return f?(0,U.jsxs)(s.Root,{open:r,onOpenChange:i,children:[(0,U.jsx)(s.Trigger,{asChild:!0,children:(0,U.jsx)(n,{variant:`primary`,size:`compact`,iconOnly:(0,U.jsx)(F,{}),"aria-label":`App actions`,onClick:e=>e.stopPropagation()})}),(0,U.jsxs)(s.Content,{children:[(0,U.jsx)(s.Header,{className:`sr-only`,children:(0,U.jsx)(s.Title,{children:e})}),(0,U.jsxs)(s.Body,{className:`pt-0`,children:[(0,U.jsx)(c,{icon:t?O:I,label:t?`Unpin`:`Pin`,onSelect:()=>{i(!1),a()}}),u?(0,U.jsx)(c,{icon:p,label:(0,U.jsxs)(`span`,{className:`flex flex-col gap-0.5 overflow-visible whitespace-normal`,children:[(0,U.jsx)(`span`,{children:`Share`}),(0,U.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Export as .vellum file`})]}),onSelect:()=>{i(!1),u()}}):null,d?(0,U.jsx)(c,{icon:h,label:(0,U.jsxs)(`span`,{className:`flex flex-col gap-0.5 overflow-visible whitespace-normal`,children:[(0,U.jsx)(`span`,{children:`Deploy to Vercel`}),(0,U.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Publish as a static page`})]}),onSelect:()=>{i(!1),d()}}):null,o?(0,U.jsx)(c,{icon:P,label:`Delete`,onSelect:()=>{i(!1),o()}}):null]})]})]}):(0,U.jsxs)(l.Root,{open:r,onOpenChange:i,children:[(0,U.jsx)(l.Trigger,{asChild:!0,children:(0,U.jsx)(n,{variant:`primary`,size:`compact`,iconOnly:(0,U.jsx)(F,{}),"aria-label":`App actions`,onClick:e=>e.stopPropagation()})}),(0,U.jsxs)(l.Content,{align:`end`,sideOffset:4,children:[(0,U.jsx)(l.Item,{leftIcon:t?(0,U.jsx)(O,{size:14}):(0,U.jsx)(I,{size:14}),onSelect:()=>a(),className:`whitespace-nowrap`,children:t?`Unpin`:`Pin`}),u?(0,U.jsx)(l.Item,{leftIcon:(0,U.jsx)(p,{size:14}),onSelect:()=>u(),className:`whitespace-nowrap`,children:`Share`}):null,d?(0,U.jsx)(l.Item,{leftIcon:(0,U.jsx)(h,{size:14}),onSelect:()=>d(),className:`whitespace-nowrap`,children:`Deploy to Vercel`}):null,o?(0,U.jsx)(l.Item,{leftIcon:(0,U.jsx)(P,{size:14,className:`text-red-600`}),onSelect:()=>o(),className:`whitespace-nowrap text-red-600 data-[highlighted]:text-red-700`,children:`Delete`}):null]})]})}function X({title:e,apps:t,assistantId:n,pinnedAppIds:r,lastImportedAppId:i,onOpen:a,onPin:o,onDelete:s,onDeploy:c,onAnimationEnd:l}){return t.length===0?null:(0,U.jsxs)(`section`,{children:[(0,U.jsx)(`h2`,{className:`mb-4 text-body-small-emphasised text-[color:var(--content-secondary)]`,children:e}),(0,U.jsx)(`div`,{className:`grid grid-cols-[repeat(auto-fill,minmax(max(220px,calc((100%-6rem)/5)),1fr))] gap-6`,children:t.map(e=>(0,U.jsx)(J,{app:e,assistantId:n,isPinned:r.has(e.id),onOpen:a,onPin:o,onDelete:s,justImported:e.id===i,onAnimationEnd:l,onDeploy:c?()=>c(e.id):void 0},e.id))})]})}var Z=(e,t)=>t.updatedAt-e.updatedAt||t.createdAt-e.createdAt;function Q(e){let t=M.use.pinnedAppIds(),{data:n=[],isLoading:r,error:i}=a({...b({path:{assistant_id:e}}),select:e=>e.apps}),{data:o=[],isLoading:s,error:c}=a({...v({path:{assistant_id:e}}),select:e=>e.documents}),l=r||s,u=i&&c?i instanceof Error?i.message:`Failed to load library`:null,[d,f]=(0,H.useState)(``),p=(0,H.useMemo)(()=>{if(!d.trim())return n;let e=d.toLowerCase();return n.filter(t=>t.name.toLowerCase().includes(e)||t.description?.toLowerCase().includes(e))},[n,d]);return{apps:n,documents:o,filteredApps:p,pinnedApps:(0,H.useMemo)(()=>p.filter(e=>t.has(e.id)).sort(Z),[p,t]),recentApps:(0,H.useMemo)(()=>p.filter(e=>!t.has(e.id)).sort(Z),[p,t]),filteredDocuments:(0,H.useMemo)(()=>{if(!d.trim())return o;let e=d.toLowerCase();return o.filter(t=>t.title.toLowerCase().includes(e))},[o,d]),searchText:d,setSearchText:f,loading:l,error:u}}async function $(e,t){let{data:n,error:r,response:i}=await g({path:{assistant_id:e},body:t,bodySerializer:e=>e,headers:{"Content-Type":`application/octet-stream`},throwOnError:!1});if(!i||!i.ok){let e=(r&&typeof r==`object`&&`message`in r?r.message:null)??`Failed to import app.`;throw Error(e)}return n}function ee({assistantId:e,assistantName:t,title:r,onNewConversation:a,onOpenDocument:o,onOpenApp:s}){let c=i(),l=M.use.togglePin(),u=M.use.pinnedAppIds(),p=L.use.isDeploying(),{apps:m,documents:h,filteredApps:g,pinnedApps:v,recentApps:b,filteredDocuments:x,searchText:S,setSearchText:T,loading:E,error:D}=Q(e),[O,k]=(0,H.useState)(null),[A,P]=(0,H.useState)(!1),F=(0,H.useCallback)(async()=>{let t=O;if(!(!t||A)){P(!0);try{await _({path:{assistant_id:e,id:t.id},throwOnError:!0}),w(e,t.id),c.invalidateQueries({queryKey:y({path:{assistant_id:e}})}),u.has(t.id)&&l(t),k(null)}catch(e){f.error(e instanceof Error?e.message:`Failed to delete app`)}finally{P(!1)}}},[O,A,e,u,l,c]),I=(0,H.useCallback)(()=>{A||k(null)},[A]),z=(0,H.useRef)(null),[B,V]=(0,H.useState)(!1),G=(0,H.useCallback)(async t=>{let n=t.target.files?.[0];if(!(!n||B)){V(!0);try{let t=await $(e,n);await c.invalidateQueries({queryKey:y({path:{assistant_id:e}})}),f.success(t.name+` imported`),s(t.appId)}catch(e){f.error(e instanceof Error?e.message:`Failed to import app`)}finally{V(!1),z.current&&(z.current.value=``)}}},[e,B,c,s]),J=(0,H.useCallback)(async t=>{if(p)return;let n=m.find(e=>e.id===t)?.name??`this app`;try{let r=await C(e,t);L.getState().deployApp(e,t,n,r)}catch{L.getState().deployApp(e,t,n,``)}},[e,p,m]),Y=(0,H.useCallback)(e=>l(e),[l]);return E?(0,U.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,U.jsx)(`div`,{className:`h-6 w-6 animate-spin rounded-full border-2 border-[var(--border-base)] border-t-[var(--primary-base)]`,role:`status`,"aria-label":`Loading apps`})}):D?(0,U.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-4 px-4`,children:[(0,U.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:D}),(0,U.jsx)(`button`,{type:`button`,className:`rounded-lg bg-[var(--primary-base)] px-4 py-2 text-body-medium-default text-[var(--content-inset)] transition-colors hover:bg-[var(--primary-hover)]`,onClick:()=>window.location.reload(),children:`Retry`})]}):m.length===0&&h.length===0?(0,U.jsx)(q,{fileInputRef:z,isImporting:B,onImportBundle:G,onNewConversation:a?()=>a():void 0}):(0,U.jsxs)(`div`,{className:`flex h-full flex-col overflow-hidden`,children:[(0,U.jsxs)(`div`,{className:`mb-4 flex shrink-0 items-center justify-between gap-4`,children:[r?(0,U.jsx)(`h1`,{className:`text-title-large text-[var(--content-default)]`,children:r}):(0,U.jsx)(`span`,{}),(0,U.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,U.jsx)(`input`,{ref:z,type:`file`,accept:`.vellum`,className:`hidden`,onChange:G}),(0,U.jsxs)(n,{variant:`outlined`,size:`regular`,onClick:()=>z.current?.click(),disabled:B,children:[B?(0,U.jsx)(`div`,{className:`h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent`}):(0,U.jsx)(N,{size:14}),(0,U.jsx)(`span`,{className:`ml-1.5`,children:`Import`})]})]})]}),(0,U.jsx)(`div`,{className:`mb-6 shrink-0`,children:(0,U.jsx)(d,{fullWidth:!0,type:`text`,placeholder:`Search your library`,value:S,onChange:e=>T(e.target.value),leftIcon:(0,U.jsx)(j,{size:16})})}),(0,U.jsx)(`div`,{className:`flex-1 overflow-y-auto`,children:g.length===0&&x.length===0?(0,U.jsxs)(`div`,{className:`flex flex-col items-center justify-center py-16`,children:[(0,U.jsx)(j,{size:32,className:`mb-4 text-[var(--content-tertiary)]`}),(0,U.jsxs)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:[`No apps or documents matched “`,S,`”`]})]}):(0,U.jsxs)(`div`,{className:`flex flex-col gap-8`,children:[(0,U.jsx)(X,{title:`Pinned`,apps:v,assistantId:e,pinnedAppIds:u,onOpen:s,onPin:Y,onDelete:k,onDeploy:J}),(0,U.jsx)(X,{title:`Recents`,apps:b,assistantId:e,pinnedAppIds:u,onOpen:s,onPin:Y,onDelete:k,onDeploy:J}),x.length>0?(0,U.jsxs)(`section`,{children:[(0,U.jsx)(`h2`,{className:`mb-4 text-body-small-emphasised text-[color:var(--content-secondary)]`,children:`Documents`}),(0,U.jsx)(`div`,{className:`grid grid-cols-[repeat(auto-fill,minmax(max(220px,calc((100%-6rem)/5)),1fr))] gap-6`,children:x.map(e=>(0,U.jsx)(K,{document:e,onOpen:e=>{o&&o(e)}},e.surfaceId))})]}):null]})}),(0,U.jsx)(R,{assistantId:e,assistantName:t,onStartConversation:a}),(0,U.jsx)(W,{app:O,isDeleting:A,onConfirm:F,onCancel:I})]})}function te(){let e=z(),t=r();return(0,U.jsx)(B,{children:(0,U.jsx)(ee,{assistantId:e,title:`Library`,onNewConversation:(0,H.useCallback)(e=>{A(t,{prompt:e})},[t]),onOpenDocument:(0,H.useCallback)(e=>{t(x.document(e))},[t]),onOpenApp:(0,H.useCallback)(e=>{t(x.library.app(e))},[t])})})}export{te as LibraryPage};
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./button-D-AX8Voo.js";import{d as r}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{n as i}from"./QueryClientProvider-DKhXIxGb.js";import{t as a}from"./useQuery-B45lW1Kk.js";import{t as o}from"./jsx-runtime-CVSDxk6A.js";import{n as s,t as c}from"./panel-item-Q1g7DFJw.js";import{t as l}from"./menu-BLJEjTFD.js";import"./src-B-I7oowl.js";import{t as u}from"./confirm-dialog-bfBx6UYv.js";import{t as d}from"./input-D4W4p0pZ.js";import{n as f}from"./toast-sdJJ6aTV.js";import{t as p}from"./arrow-up-nBfZxfhi.js";import{t as m}from"./file-text-ClqzuFsu.js";import{t as h}from"./globe-D3P5sSKJ.js";import{s as g,t as _}from"./sdk.gen-zA5ns5LT.js";import{C as v,n as y,t as b}from"./react-query.gen-BwkZCSTW.js";import{a as x}from"./routes-C6gxiCrz.js";import{n as S}from"./use-is-mobile-jACt_z2d.js";import{i as C,r as w}from"./viewer-store-BR99G-Ii.js";import{t as T}from"./misc-CFzLzLPH.js";import{Gt as E,Ji as D,Mi as O,Si as k,Wt as A,X as j,ca as M,gn as N,ji as P,li as F,ln as I,ui as L}from"./index-FlO-C4WJ.js";import{t as R}from"./deploy-dialogs-BhpmZiBK.js";import{t as z}from"./use-active-assistant-id-BVzVN4_g.js";import{t as B}from"./page-shell-rqT8-trD.js";import{t as V}from"./format-date-D4tzd1DT.js";var H=e(t(),1),U=o();function W({app:e,isDeleting:t,onConfirm:n,onCancel:r}){return(0,U.jsx)(u,{open:e!==null,title:`Delete app`,message:e?`"${e.name}" will be permanently removed.`:``,confirmLabel:t?`Deleting…`:`Delete`,destructive:!0,onConfirm:n,onCancel:r})}function G(e){return e===1?`1 word`:`${e} words`}function K({document:e,onOpen:t}){return(0,U.jsxs)(`div`,{className:`group relative flex flex-col gap-2`,children:[(0,U.jsxs)(`button`,{type:`button`,onClick:()=>t(e.surfaceId),className:T(`relative flex w-full cursor-pointer flex-col items-center justify-center gap-2 overflow-hidden rounded-xl border border-[var(--border-base)] bg-[var(--surface-base)]`,`aspect-[16/10]`,`outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`),children:[(0,U.jsx)(m,{size:34,className:`text-[var(--content-tertiary)]`}),(0,U.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:G(e.wordCount)})]}),(0,U.jsxs)(`button`,{type:`button`,onClick:()=>t(e.surfaceId),className:`flex cursor-pointer flex-col gap-0.5 px-0.5 text-left outline-none`,children:[(0,U.jsx)(`span`,{className:`truncate text-body-large-default text-[color:var(--content-emphasised)]`,children:e.title}),(0,U.jsx)(`span`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:V(new Date(e.updatedAt))})]})]})}function q({fileInputRef:e,isImporting:t,onImportBundle:r,onNewConversation:i}){return(0,U.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-4 px-4 py-24`,children:[(0,U.jsx)(`input`,{ref:e,type:`file`,accept:`.vellum`,className:`hidden`,onChange:r}),(0,U.jsx)(`div`,{className:`flex h-16 w-16 items-center justify-center rounded-xl bg-[var(--surface-base)]`,children:(0,U.jsx)(D,{size:32,className:`text-[var(--content-tertiary)]`})}),(0,U.jsx)(`h2`,{className:`text-title-medium text-[var(--content-default)]`,children:`Your library is empty`}),(0,U.jsx)(`p`,{className:`max-w-md text-center text-body-medium-lighter text-[color:var(--content-tertiary)]`,children:`Ask your assistant to build something, or import a shared app`}),(0,U.jsxs)(`div`,{className:`flex flex-col items-center gap-3`,children:[i?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(n,{variant:`primary`,size:`regular`,onClick:i,children:`New Conversation`}),(0,U.jsx)(`span`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:`or`})]}):null,(0,U.jsxs)(n,{variant:`outlined`,size:`regular`,onClick:()=>e.current?.click(),disabled:t,children:[t?(0,U.jsx)(`div`,{className:`h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent`}):(0,U.jsx)(F,{size:14}),(0,U.jsx)(`span`,{className:`ml-1.5`,children:`Import .vellum File`})]})]})]})}function J({app:e,assistantId:t,isPinned:n,onOpen:r,onPin:i,onDelete:a,onDeploy:o,justImported:s,onAnimationEnd:c}){let[l,u]=(0,H.useState)(!1),d=(0,H.useCallback)(()=>C(t,e.id),[t,e.id]),p=(0,H.useCallback)(async()=>{if(!l){u(!0);try{await E(t,e.id,e.name),f.success(`App exported`,{description:`${e.name}.vellum`})}catch(e){f.error(`Failed to share app`,{description:e instanceof Error?e.message:void 0})}finally{u(!1)}}},[t,e.id,e.name,l]),[m,h]=(0,H.useState)(!1),g=S();return(0,U.jsxs)(`div`,{className:T(`group relative flex flex-col gap-2`,s&&`animate-[card-entrance_400ms_ease-out]`),onAnimationEnd:s?c:void 0,children:[(0,U.jsx)(`button`,{type:`button`,onClick:()=>r(e.id),className:T(`relative w-full cursor-pointer overflow-hidden rounded-xl`,`outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`),children:(0,U.jsx)(j,{name:e.name,icon:e.icon,loadHtml:d})}),(0,U.jsx)(`div`,{className:T(`absolute right-2 top-2 z-20 transition-opacity`,`max-md:opacity-100`,`md:group-hover:opacity-100 md:group-focus-within:opacity-100`,m?`opacity-100`:`md:opacity-0`),children:(0,U.jsx)(Y,{appName:e.name,isPinned:n,open:m,onOpenChange:h,onPin:()=>i(e),onDelete:a?()=>a(e):void 0,onShare:p,onDeploy:o,isMobile:g})}),(0,U.jsxs)(`button`,{type:`button`,onClick:()=>r(e.id),className:`flex cursor-pointer flex-col gap-0.5 px-0.5 text-left outline-none`,children:[(0,U.jsx)(`span`,{className:`truncate text-body-large-default text-[color:var(--content-emphasised)]`,children:e.name}),(0,U.jsx)(`span`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:V(new Date(e.createdAt))})]})]})}function Y({appName:e,isPinned:t,open:r,onOpenChange:i,onPin:a,onDelete:o,onShare:u,onDeploy:d,isMobile:f}){return f?(0,U.jsxs)(s.Root,{open:r,onOpenChange:i,children:[(0,U.jsx)(s.Trigger,{asChild:!0,children:(0,U.jsx)(n,{variant:`primary`,size:`compact`,iconOnly:(0,U.jsx)(M,{}),"aria-label":`App actions`,onClick:e=>e.stopPropagation()})}),(0,U.jsxs)(s.Content,{children:[(0,U.jsx)(s.Header,{className:`sr-only`,children:(0,U.jsx)(s.Title,{children:e})}),(0,U.jsxs)(s.Body,{className:`pt-0`,children:[(0,U.jsx)(c,{icon:t?O:P,label:t?`Unpin`:`Pin`,onSelect:()=>{i(!1),a()}}),u?(0,U.jsx)(c,{icon:p,label:(0,U.jsxs)(`span`,{className:`flex flex-col gap-0.5 overflow-visible whitespace-normal`,children:[(0,U.jsx)(`span`,{children:`Share`}),(0,U.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Export as .vellum file`})]}),onSelect:()=>{i(!1),u()}}):null,d?(0,U.jsx)(c,{icon:h,label:(0,U.jsxs)(`span`,{className:`flex flex-col gap-0.5 overflow-visible whitespace-normal`,children:[(0,U.jsx)(`span`,{children:`Deploy to Vercel`}),(0,U.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Publish as a static page`})]}),onSelect:()=>{i(!1),d()}}):null,o?(0,U.jsx)(c,{icon:L,label:`Delete`,onSelect:()=>{i(!1),o()}}):null]})]})]}):(0,U.jsxs)(l.Root,{open:r,onOpenChange:i,children:[(0,U.jsx)(l.Trigger,{asChild:!0,children:(0,U.jsx)(n,{variant:`primary`,size:`compact`,iconOnly:(0,U.jsx)(M,{}),"aria-label":`App actions`,onClick:e=>e.stopPropagation()})}),(0,U.jsxs)(l.Content,{align:`end`,sideOffset:4,children:[(0,U.jsx)(l.Item,{leftIcon:t?(0,U.jsx)(O,{size:14}):(0,U.jsx)(P,{size:14}),onSelect:()=>a(),className:`whitespace-nowrap`,children:t?`Unpin`:`Pin`}),u?(0,U.jsx)(l.Item,{leftIcon:(0,U.jsx)(p,{size:14}),onSelect:()=>u(),className:`whitespace-nowrap`,children:`Share`}):null,d?(0,U.jsx)(l.Item,{leftIcon:(0,U.jsx)(h,{size:14}),onSelect:()=>d(),className:`whitespace-nowrap`,children:`Deploy to Vercel`}):null,o?(0,U.jsx)(l.Item,{leftIcon:(0,U.jsx)(L,{size:14,className:`text-red-600`}),onSelect:()=>o(),className:`whitespace-nowrap text-red-600 data-[highlighted]:text-red-700`,children:`Delete`}):null]})]})}function X({title:e,apps:t,assistantId:n,pinnedAppIds:r,lastImportedAppId:i,onOpen:a,onPin:o,onDelete:s,onDeploy:c,onAnimationEnd:l}){return t.length===0?null:(0,U.jsxs)(`section`,{children:[(0,U.jsx)(`h2`,{className:`mb-4 text-body-small-emphasised text-[color:var(--content-secondary)]`,children:e}),(0,U.jsx)(`div`,{className:`grid grid-cols-[repeat(auto-fill,minmax(max(220px,calc((100%-6rem)/5)),1fr))] gap-6`,children:t.map(e=>(0,U.jsx)(J,{app:e,assistantId:n,isPinned:r.has(e.id),onOpen:a,onPin:o,onDelete:s,justImported:e.id===i,onAnimationEnd:l,onDeploy:c?()=>c(e.id):void 0},e.id))})]})}var Z=(e,t)=>t.updatedAt-e.updatedAt||t.createdAt-e.createdAt;function Q(e){let t=I.use.pinnedAppIds(),{data:n=[],isLoading:r,error:i}=a({...b({path:{assistant_id:e}}),select:e=>e.apps}),{data:o=[],isLoading:s,error:c}=a({...v({path:{assistant_id:e}}),select:e=>e.documents}),l=r||s,u=i&&c?i instanceof Error?i.message:`Failed to load library`:null,[d,f]=(0,H.useState)(``),p=(0,H.useMemo)(()=>{if(!d.trim())return n;let e=d.toLowerCase();return n.filter(t=>t.name.toLowerCase().includes(e)||t.description?.toLowerCase().includes(e))},[n,d]);return{apps:n,documents:o,filteredApps:p,pinnedApps:(0,H.useMemo)(()=>p.filter(e=>t.has(e.id)).sort(Z),[p,t]),recentApps:(0,H.useMemo)(()=>p.filter(e=>!t.has(e.id)).sort(Z),[p,t]),filteredDocuments:(0,H.useMemo)(()=>{if(!d.trim())return o;let e=d.toLowerCase();return o.filter(t=>t.title.toLowerCase().includes(e))},[o,d]),searchText:d,setSearchText:f,loading:l,error:u}}async function $(e,t){let{data:n,error:r,response:i}=await g({path:{assistant_id:e},body:t,bodySerializer:e=>e,headers:{"Content-Type":`application/octet-stream`},throwOnError:!1});if(!i||!i.ok){let e=(r&&typeof r==`object`&&`message`in r?r.message:null)??`Failed to import app.`;throw Error(e)}return n}function ee({assistantId:e,assistantName:t,title:r,onNewConversation:a,onOpenDocument:o,onOpenApp:s}){let c=i(),l=I.use.togglePin(),u=I.use.pinnedAppIds(),p=A.use.isDeploying(),{apps:m,documents:h,filteredApps:g,pinnedApps:v,recentApps:b,filteredDocuments:x,searchText:S,setSearchText:T,loading:E,error:D}=Q(e),[O,j]=(0,H.useState)(null),[M,N]=(0,H.useState)(!1),P=(0,H.useCallback)(async()=>{let t=O;if(!(!t||M)){N(!0);try{await _({path:{assistant_id:e,id:t.id},throwOnError:!0}),w(e,t.id),c.invalidateQueries({queryKey:y({path:{assistant_id:e}})}),u.has(t.id)&&l(t),j(null)}catch(e){f.error(e instanceof Error?e.message:`Failed to delete app`)}finally{N(!1)}}},[O,M,e,u,l,c]),L=(0,H.useCallback)(()=>{M||j(null)},[M]),z=(0,H.useRef)(null),[B,V]=(0,H.useState)(!1),G=(0,H.useCallback)(async t=>{let n=t.target.files?.[0];if(!(!n||B)){V(!0);try{let t=await $(e,n);await c.invalidateQueries({queryKey:y({path:{assistant_id:e}})}),f.success(t.name+` imported`),s(t.appId)}catch(e){f.error(e instanceof Error?e.message:`Failed to import app`)}finally{V(!1),z.current&&(z.current.value=``)}}},[e,B,c,s]),J=(0,H.useCallback)(async t=>{if(p)return;let n=m.find(e=>e.id===t)?.name??`this app`;try{let r=await C(e,t);A.getState().deployApp(e,t,n,r)}catch{A.getState().deployApp(e,t,n,``)}},[e,p,m]),Y=(0,H.useCallback)(e=>l(e),[l]);return E?(0,U.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,U.jsx)(`div`,{className:`h-6 w-6 animate-spin rounded-full border-2 border-[var(--border-base)] border-t-[var(--primary-base)]`,role:`status`,"aria-label":`Loading apps`})}):D?(0,U.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-4 px-4`,children:[(0,U.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:D}),(0,U.jsx)(`button`,{type:`button`,className:`rounded-lg bg-[var(--primary-base)] px-4 py-2 text-body-medium-default text-[var(--content-inset)] transition-colors hover:bg-[var(--primary-hover)]`,onClick:()=>window.location.reload(),children:`Retry`})]}):m.length===0&&h.length===0?(0,U.jsx)(q,{fileInputRef:z,isImporting:B,onImportBundle:G,onNewConversation:a?()=>a():void 0}):(0,U.jsxs)(`div`,{className:`flex h-full flex-col overflow-hidden`,children:[(0,U.jsxs)(`div`,{className:`mb-4 flex shrink-0 items-center justify-between gap-4`,children:[r?(0,U.jsx)(`h1`,{className:`text-title-large text-[var(--content-default)]`,children:r}):(0,U.jsx)(`span`,{}),(0,U.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,U.jsx)(`input`,{ref:z,type:`file`,accept:`.vellum`,className:`hidden`,onChange:G}),(0,U.jsxs)(n,{variant:`outlined`,size:`regular`,onClick:()=>z.current?.click(),disabled:B,children:[B?(0,U.jsx)(`div`,{className:`h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent`}):(0,U.jsx)(F,{size:14}),(0,U.jsx)(`span`,{className:`ml-1.5`,children:`Import`})]})]})]}),(0,U.jsx)(`div`,{className:`mb-6 shrink-0`,children:(0,U.jsx)(d,{fullWidth:!0,type:`text`,placeholder:`Search your library`,value:S,onChange:e=>T(e.target.value),leftIcon:(0,U.jsx)(k,{size:16})})}),(0,U.jsx)(`div`,{className:`flex-1 overflow-y-auto`,children:g.length===0&&x.length===0?(0,U.jsxs)(`div`,{className:`flex flex-col items-center justify-center py-16`,children:[(0,U.jsx)(k,{size:32,className:`mb-4 text-[var(--content-tertiary)]`}),(0,U.jsxs)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:[`No apps or documents matched “`,S,`”`]})]}):(0,U.jsxs)(`div`,{className:`flex flex-col gap-8`,children:[(0,U.jsx)(X,{title:`Pinned`,apps:v,assistantId:e,pinnedAppIds:u,onOpen:s,onPin:Y,onDelete:j,onDeploy:J}),(0,U.jsx)(X,{title:`Recents`,apps:b,assistantId:e,pinnedAppIds:u,onOpen:s,onPin:Y,onDelete:j,onDeploy:J}),x.length>0?(0,U.jsxs)(`section`,{children:[(0,U.jsx)(`h2`,{className:`mb-4 text-body-small-emphasised text-[color:var(--content-secondary)]`,children:`Documents`}),(0,U.jsx)(`div`,{className:`grid grid-cols-[repeat(auto-fill,minmax(max(220px,calc((100%-6rem)/5)),1fr))] gap-6`,children:x.map(e=>(0,U.jsx)(K,{document:e,onOpen:e=>{o&&o(e)}},e.surfaceId))})]}):null]})}),(0,U.jsx)(R,{assistantId:e,assistantName:t,onStartConversation:a}),(0,U.jsx)(W,{app:O,isDeleting:M,onConfirm:P,onCancel:L})]})}function te(){let e=z(),t=r();return(0,U.jsx)(B,{children:(0,U.jsx)(ee,{assistantId:e,title:`Library`,onNewConversation:(0,H.useCallback)(e=>{N(t,{prompt:e})},[t]),onOpenDocument:(0,H.useCallback)(e=>{t(x.document(e))},[t]),onOpenApp:(0,H.useCallback)(e=>{t(x.library.app(e))},[t])})})}export{te as LibraryPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{C as n,E as r,o as i,y as a}from"./button-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{C as n,E as r,o as i,y as a}from"./button-D-AX8Voo.js";import{t as o}from"./jsx-runtime-CVSDxk6A.js";import{t as s}from"./cn-DvW5mxZR.js";import{a as c,c as l,i as u,o as d,r as f}from"./panel-item-Q1g7DFJw.js";import{n as p,t as m}from"./dist-Ddn3FnfV.js";var h=e(t(),1),g=o(),_=`Tabs`,[v,y]=r(_,[c]),b=c(),[x,S]=v(_),C=h.forwardRef((e,t)=>{let{__scopeTabs:r,value:o,onValueChange:s,defaultValue:c,orientation:l=`horizontal`,dir:u,activationMode:f=`automatic`,...p}=e,m=d(u),[h,v]=i({prop:o,onChange:s,defaultProp:c??``,caller:_});return(0,g.jsx)(x,{scope:r,baseId:a(),value:h,onValueChange:v,orientation:l,dir:m,activationMode:f,children:(0,g.jsx)(n.div,{dir:m,"data-orientation":l,...p,ref:t})})});C.displayName=_;var w=`TabsList`,T=h.forwardRef((e,t)=>{let{__scopeTabs:r,loop:i=!0,...a}=e,o=S(w,r),s=b(r);return(0,g.jsx)(u,{asChild:!0,...s,orientation:o.orientation,dir:o.dir,loop:i,children:(0,g.jsx)(n.div,{role:`tablist`,"aria-orientation":o.orientation,...a,ref:t})})});T.displayName=w;var E=`TabsTrigger`,D=h.forwardRef((e,t)=>{let{__scopeTabs:r,value:i,disabled:a=!1,...o}=e,s=S(E,r),c=b(r),l=A(s.baseId,i),u=j(s.baseId,i),d=i===s.value;return(0,g.jsx)(f,{asChild:!0,...c,focusable:!a,active:d,children:(0,g.jsx)(n.button,{type:`button`,role:`tab`,"aria-selected":d,"aria-controls":u,"data-state":d?`active`:`inactive`,"data-disabled":a?``:void 0,disabled:a,id:l,...o,ref:t,onMouseDown:p(e.onMouseDown,e=>{!a&&e.button===0&&e.ctrlKey===!1?s.onValueChange(i):e.preventDefault()}),onKeyDown:p(e.onKeyDown,e=>{[` `,`Enter`].includes(e.key)&&s.onValueChange(i)}),onFocus:p(e.onFocus,()=>{let e=s.activationMode!==`manual`;!d&&!a&&e&&s.onValueChange(i)})})})});D.displayName=E;var O=`TabsContent`,k=h.forwardRef((e,t)=>{let{__scopeTabs:r,value:i,forceMount:a,children:o,...s}=e,c=S(O,r),l=A(c.baseId,i),u=j(c.baseId,i),d=i===c.value,f=h.useRef(d);return h.useEffect(()=>{let e=requestAnimationFrame(()=>f.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,g.jsx)(m,{present:a||d,children:({present:r})=>(0,g.jsx)(n.div,{"data-state":d?`active`:`inactive`,"data-orientation":c.orientation,role:`tabpanel`,"aria-labelledby":l,hidden:!r,id:u,tabIndex:0,...s,ref:t,style:{...e.style,animationDuration:f.current?`0s`:void 0},children:r&&o})})});k.displayName=O;function A(e,t){return`${e}-trigger-${t}`}function j(e,t){return`${e}-content-${t}`}var M=C,N=T,P=D,F=k;function I({className:e,ref:t,...n}){return(0,g.jsx)(M,{ref:t,"data-slot":`tabs`,className:e,...n})}function L({className:e,ref:t,...n}){return(0,g.jsx)(N,{ref:t,"data-slot":`tabs-list`,className:s(`flex items-center border-b border-[var(--border-base)]`,e),...n})}function R({className:e,ref:t,...n}){return(0,g.jsx)(P,{ref:t,"data-slot":`tabs-trigger`,className:s(`relative -mb-px inline-flex cursor-pointer items-center gap-1.5 border-b-2 border-transparent bg-transparent px-2.5 py-[7px]`,`text-body-medium-default whitespace-nowrap`,`text-[var(--content-tertiary)] transition-colors`,`outline-none keyboard-focus:ring-2 keyboard-focus:ring-[var(--ring)] keyboard-focus:ring-offset-0`,`hover:bg-[var(--surface-hover)] hover:text-[var(--content-default)]`,`data-[state=active]:border-[var(--primary-base)] data-[state=active]:text-[var(--content-default)]`,`data-[state=active]:hover:bg-transparent`,`disabled:cursor-not-allowed disabled:text-[var(--content-disabled)]`,`disabled:hover:bg-transparent disabled:hover:text-[var(--content-disabled)]`,e),...n})}function z({className:e,ref:t,...n}){return(0,g.jsx)(F,{ref:t,"data-slot":`tabs-panel`,className:s(`outline-none keyboard-focus:ring-2 keyboard-focus:ring-[var(--ring)] keyboard-focus:ring-offset-0`,e),...n})}var B={Root:I,List:L,Trigger:R,Panel:z};function V({leading:e,title:t,subtitle:n,trailing:r,showChevron:i,selected:a,disabled:o,onClick:c,href:u,contentAriaLabel:d,className:f,ref:p,...m}){let h=!!(c||u),_=i??h,v=(0,g.jsxs)(g.Fragment,{children:[(0,g.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:[(0,g.jsx)(`span`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:t}),n==null?null:(0,g.jsx)(`span`,{className:`min-w-0 text-label-small-default text-[var(--content-tertiary)]`,children:n})]}),r!=null||_?(0,g.jsxs)(`div`,{className:`flex shrink-0 items-center gap-4`,children:[r,_?(0,g.jsx)(l,{className:`h-4 w-4 text-[var(--content-tertiary)]`}):null]}):null]}),y=`flex min-w-0 flex-1 items-center gap-4 text-left focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`,b;return b=u&&!o?(0,g.jsx)(`a`,{href:u,"aria-label":d,className:s(y,`cursor-pointer`),children:v}):c?(0,g.jsx)(`button`,{type:`button`,onClick:c,disabled:o,"aria-label":d,className:s(y,`cursor-pointer disabled:cursor-not-allowed`),children:v}):(0,g.jsx)(`div`,{className:y,children:v}),(0,g.jsxs)(`div`,{...m,ref:p,"data-slot":`list-row`,className:s(`flex items-center gap-3 rounded-md px-2 py-3 transition-colors`,`[&+&]:border-t [&+&]:border-[var(--border-base)]`,h&&!a&&!o&&`hover:bg-[var(--surface-hover)]`,a&&`bg-[var(--surface-active)]`,o&&`opacity-60`,f),children:[e,b]})}export{B as n,V as t};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import{i as e,r as t,s as n}from"./local-settings-lVNyIOJ_.js";import{n as r,t as i}from"./create-selectors-BE0_e_Ed.js";import{t as a}from"./is-electron-C_ZTVhv8.js";var o=`vellum:selectedAssistantId`;function s(){return t(`vellum:selectedAssistantId`,``)||null}function c(e){n(o,e)}function l(){e(o)}var u=class extends Error{status;constructor(e,t){super(t),this.name=`GatewayTokenError`,this.status=e}};function d(e){return e instanceof u&&e.status===401}var f=`vellum:gw:token`,p=`vellum:gw:expiresAt`,ee=`vellum:gw:tokenSource`,te=`gw:token`,ne=`gw:expiresAt`,re=`gw:tokenSource`,m=null,ie=0,ae=null,h=null,g=0;function oe(){return Z()?!0:fs()&&js()!=null}function se(){return oe()&&_()!==null}function ce(e){return Date.now()/1e3>=e-60}function le(e){if(typeof e==`string`){let t=Date.parse(e);return Number.isFinite(t)?t/1e3:0}return e>0xe8d4a51000?e/1e3:e}function ue(e){h=e.accessToken,g=le(e.accessTokenExpiresAt)}function _(){if(Z())return h&&!ce(g)?h:(h=null,g=0,null);if(m&&!ce(ie))return m;m=null;try{let e=localStorage.getItem(f)??localStorage.getItem(te),t=localStorage.getItem(p)??localStorage.getItem(ne);if(e&&t){let n=Number(t);if(!ce(n))return m=e,ie=n,m}}catch{}return null}async function de(e,t){let n=e??`/auth/token`,r={};t&&(r.Authorization=`Bearer ${t}`);let i=await fetch(n,{method:`POST`,headers:r});if(!i.ok)throw new u(i.status,`Gateway token request failed: ${i.status}`);let{token:a,expiresAt:o}=await i.json();try{localStorage.setItem(f,a),localStorage.setItem(p,String(o)),localStorage.setItem(ee,n)}catch{}return m=a,ie=o,ae=n,a}async function fe(e,t){let n=e??`/auth/token`,r=ae??localStorage.getItem(ee)??localStorage.getItem(re);return r&&r!==n&&me(),_()||de(e,t)}function pe(e){let t=js(e);if(t)return`${t}/auth/token`}function me(){m=null,ie=0,ae=null,h=null,g=0;try{localStorage.removeItem(f),localStorage.removeItem(p),localStorage.removeItem(ee),localStorage.removeItem(te),localStorage.removeItem(ne),localStorage.removeItem(re)}catch{}}var he={url:null,token:null};function ge(e){he=e===null?{url:null,token:null}:{url:e.url,token:e.token}}function _e(){return he.url}function ve(){return he.token}var ye=i(r(e=>({lockfile:null,committed:!1,setLockfile:(t,n=!0)=>e({lockfile:t,committed:n})})));Object.freeze({status:`aborted`});function v(e,t,n){function r(n,r){if(n._zod||Object.defineProperty(n,`_zod`,{value:{def:r,constr:o,traits:new Set},enumerable:!1}),n._zod.traits.has(e))return;n._zod.traits.add(e),t(n,r);let i=o.prototype,a=Object.keys(i);for(let e=0;e<a.length;e++){let t=a[e];t in n||(n[t]=i[t].bind(n))}}let i=n?.Parent??Object;class a extends i{}Object.defineProperty(a,`name`,{value:e});function o(e){var t;let i=n?.Parent?new a:this;r(i,e),(t=i._zod).deferred??(t.deferred=[]);for(let e of i._zod.deferred)e();return i}return Object.defineProperty(o,`init`,{value:r}),Object.defineProperty(o,Symbol.hasInstance,{value:t=>n?.Parent&&t instanceof n.Parent?!0:t?._zod?.traits?.has(e)}),Object.defineProperty(o,`name`,{value:e}),o}var y=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},be=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}},xe={};function b(e){return e&&Object.assign(xe,e),xe}function Se(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 Ce(e,t){return typeof t==`bigint`?t.toString():t}function x(e){return{get value(){{let t=e();return Object.defineProperty(this,`value`,{value:t}),t}throw Error(`cached value already set`)}}}function we(e){return e==null}function Te(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}function Ee(e,t){let n=(e.toString().split(`.`)[1]||``).length,r=t.toString(),i=(r.split(`.`)[1]||``).length;if(i===0&&/\d?e-\d?/.test(r)){let e=r.match(/\d?e-(\d?)/);e?.[1]&&(i=Number.parseInt(e[1]))}let a=n>i?n:i;return Number.parseInt(e.toFixed(a).replace(`.`,``))%Number.parseInt(t.toFixed(a).replace(`.`,``))/10**a}var De=Symbol(`evaluating`);function S(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==De)return r===void 0&&(r=De,r=n()),r},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function C(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function w(...e){let t={};for(let n of e)Object.assign(t,Object.getOwnPropertyDescriptors(n));return Object.defineProperties({},t)}function Oe(e){return JSON.stringify(e)}function ke(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,``).replace(/[\s_-]+/g,`-`).replace(/^-+|-+$/g,``)}var Ae=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function T(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var je=x(()=>{if(typeof navigator<`u`&&navigator?.userAgent?.includes(`Cloudflare`))return!1;try{return Function(``),!0}catch{return!1}});function E(e){if(T(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return!(T(n)===!1||Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)===!1)}function Me(e){return E(e)?{...e}:Array.isArray(e)?[...e]:e}var Ne=new Set([`string`,`number`,`symbol`]);function D(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function O(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function k(e){let t=e;if(!t)return{};if(typeof t==`string`)return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error==`string`?{...t,error:()=>t.error}:t}function Pe(e){return Object.keys(e).filter(t=>e[t]._zod.optin===`optional`&&e[t]._zod.optout===`optional`)}var Fe={safeint:[-(2**53-1),2**53-1],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function Ie(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`);return O(e,w(e._zod.def,{get shape(){let e={};for(let r in t){if(!(r in n.shape))throw Error(`Unrecognized key: "${r}"`);t[r]&&(e[r]=n.shape[r])}return C(this,`shape`,e),e},checks:[]}))}function Le(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`);return O(e,w(e._zod.def,{get shape(){let r={...e._zod.def.shape};for(let e in t){if(!(e in n.shape))throw Error(`Unrecognized key: "${e}"`);t[e]&&delete r[e]}return C(this,`shape`,r),r},checks:[]}))}function Re(e,t){if(!E(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._zod.def.shape;for(let e in t)if(Object.getOwnPropertyDescriptor(n,e)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return O(e,w(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return C(this,`shape`,n),n}}))}function ze(e,t){if(!E(t))throw Error(`Invalid input to safeExtend: expected a plain object`);return O(e,w(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return C(this,`shape`,n),n}}))}function Be(e,t){return O(e,w(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t._zod.def.shape};return C(this,`shape`,n),n},get catchall(){return t._zod.def.catchall},checks:[]}))}function Ve(e,t,n){let r=t._zod.def.checks;if(r&&r.length>0)throw Error(`.partial() cannot be used on object schemas containing refinements`);return O(t,w(t._zod.def,{get shape(){let r=t._zod.def.shape,i={...r};if(n)for(let t in n){if(!(t in r))throw Error(`Unrecognized key: "${t}"`);n[t]&&(i[t]=e?new e({type:`optional`,innerType:r[t]}):r[t])}else for(let t in r)i[t]=e?new e({type:`optional`,innerType:r[t]}):r[t];return C(this,`shape`,i),i},checks:[]}))}function He(e,t,n){return O(t,w(t._zod.def,{get shape(){let r=t._zod.def.shape,i={...r};if(n)for(let t in n){if(!(t in i))throw Error(`Unrecognized key: "${t}"`);n[t]&&(i[t]=new e({type:`nonoptional`,innerType:r[t]}))}else for(let t in r)i[t]=new e({type:`nonoptional`,innerType:r[t]});return C(this,`shape`,i),i}}))}function A(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function j(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function Ue(e){return typeof e==`string`?e:e?.message}function M(e,t,n){let r={...e,path:e.path??[]};return e.message||(r.message=Ue(e.inst?._zod.def?.error?.(e))??Ue(t?.error?.(e))??Ue(n.customError?.(e))??Ue(n.localeError?.(e))??`Invalid input`),delete r.inst,delete r.continue,t?.reportInput||delete r.input,r}function We(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function N(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}var Ge=(e,t)=>{e.name=`$ZodError`,Object.defineProperty(e,`_zod`,{value:e._zod,enumerable:!1}),Object.defineProperty(e,`issues`,{value:t,enumerable:!1}),e.message=JSON.stringify(t,Ce,2),Object.defineProperty(e,`toString`,{value:()=>e.message,enumerable:!1})},Ke=v(`$ZodError`,Ge),qe=v(`$ZodError`,Ge,{Parent:Error});function Je(e,t=e=>e.message){let n={},r=[];for(let i of e.issues)i.path.length>0?(n[i.path[0]]=n[i.path[0]]||[],n[i.path[0]].push(t(i))):r.push(t(i));return{formErrors:r,fieldErrors:n}}function Ye(e,t=e=>e.message){let n={_errors:[]},r=e=>{for(let i of e.issues)if(i.code===`invalid_union`&&i.errors.length)i.errors.map(e=>r({issues:e}));else if(i.code===`invalid_key`)r({issues:i.issues});else if(i.code===`invalid_element`)r({issues:i.issues});else if(i.path.length===0)n._errors.push(t(i));else{let e=n,r=0;for(;r<i.path.length;){let n=i.path[r];r===i.path.length-1?(e[n]=e[n]||{_errors:[]},e[n]._errors.push(t(i))):e[n]=e[n]||{_errors:[]},e=e[n],r++}}};return r(e),n}var Xe=e=>(t,n,r,i)=>{let a=r?Object.assign(r,{async:!1}):{async:!1},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise)throw new y;if(o.issues.length){let t=new(i?.Err??e)(o.issues.map(e=>M(e,a,b())));throw Ae(t,i?.callee),t}return o.value},Ze=e=>async(t,n,r,i)=>{let a=r?Object.assign(r,{async:!0}):{async:!0},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise&&(o=await o),o.issues.length){let t=new(i?.Err??e)(o.issues.map(e=>M(e,a,b())));throw Ae(t,i?.callee),t}return o.value},Qe=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 y;return a.issues.length?{success:!1,error:new(e??Ke)(a.issues.map(e=>M(e,i,b())))}:{success:!0,data:a.value}},$e=Qe(qe),P=e=>async(t,n,r)=>{let i=r?Object.assign(r,{async:!0}):{async:!0},a=t._zod.run({value:n,issues:[]},i);return a instanceof Promise&&(a=await a),a.issues.length?{success:!1,error:new e(a.issues.map(e=>M(e,i,b())))}:{success:!0,data:a.value}},et=P(qe),tt=e=>(t,n,r)=>{let i=r?Object.assign(r,{direction:`backward`}):{direction:`backward`};return Xe(e)(t,n,i)},nt=e=>(t,n,r)=>Xe(e)(t,n,r),rt=e=>async(t,n,r)=>{let i=r?Object.assign(r,{direction:`backward`}):{direction:`backward`};return Ze(e)(t,n,i)},it=e=>async(t,n,r)=>Ze(e)(t,n,r),at=e=>(t,n,r)=>{let i=r?Object.assign(r,{direction:`backward`}):{direction:`backward`};return Qe(e)(t,n,i)},ot=e=>(t,n,r)=>Qe(e)(t,n,r),st=e=>async(t,n,r)=>{let i=r?Object.assign(r,{direction:`backward`}):{direction:`backward`};return P(e)(t,n,i)},ct=e=>async(t,n,r)=>P(e)(t,n,r),lt=/^[cC][^\s-]{8,}$/,ut=/^[0-9a-z]+$/,dt=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,ft=/^[0-9a-vA-V]{20}$/,pt=/^[A-Za-z0-9]{27}$/,mt=/^[a-zA-Z0-9_-]{21}$/,ht=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,gt=/^([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})$/,_t=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)$/,vt=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,yt=`^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`;function bt(){return new RegExp(yt,`u`)}var xt=/^(?:(?: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])$/,St=/^(([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}|:))$/,Ct=/^((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])$/,wt=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Tt=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Et=/^[A-Za-z0-9_-]*$/,Dt=/^\+[1-9]\d{6,14}$/,Ot=`(?:(?:\\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])))`,kt=RegExp(`^${Ot}$`);function At(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}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function jt(e){return RegExp(`^${At(e)}$`)}function Mt(e){let t=At({precision:e.precision}),n=[`Z`];e.local&&n.push(``),e.offset&&n.push(`([+-](?:[01]\\d|2[0-3]):[0-5]\\d)`);let r=`${t}(?:${n.join(`|`)})`;return RegExp(`^${Ot}T(?:${r})$`)}var Nt=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??``}}`:`[\\s\\S]*`;return RegExp(`^${t}$`)},Pt=/^-?\d+$/,Ft=/^-?\d+(?:\.\d+)?$/,It=/^(?:true|false)$/i,Lt=/^null$/i,Rt=/^[^A-Z]*$/,zt=/^[^a-z]*$/,F=v(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),Bt={number:`number`,bigint:`bigint`,object:`date`},Vt=v(`$ZodCheckLessThan`,(e,t)=>{F.init(e,t);let n=Bt[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.maximum:n.exclusiveMaximum)??1/0;t.value<r&&(t.inclusive?n.maximum=t.value:n.exclusiveMaximum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin: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})}}),Ht=v(`$ZodCheckGreaterThan`,(e,t)=>{F.init(e,t);let n=Bt[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.minimum:n.exclusiveMinimum)??-1/0;t.value>r&&(t.inclusive?n.minimum=t.value:n.exclusiveMinimum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin: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})}}),Ut=v(`$ZodCheckMultipleOf`,(e,t)=>{F.init(e,t),e._zod.onattach.push(e=>{var n;(n=e._zod.bag).multipleOf??(n.multipleOf=t.value)}),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`?n.value%t.value===BigInt(0):Ee(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})}}),Wt=v(`$ZodCheckNumberFormat`,(e,t)=>{F.init(e,t),t.format=t.format||`float64`;let n=t.format?.includes(`int`),r=n?`int`:`number`,[i,a]=Fe[t.format];e._zod.onattach.push(e=>{let r=e._zod.bag;r.format=t.format,r.minimum=i,r.maximum=a,n&&(r.pattern=Pt)}),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})}}),Gt=v(`$ZodCheckMaxLength`,(e,t)=>{var n;F.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!we(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.maximum??1/0;t.maximum<n&&(e._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{let r=n.value;if(r.length<=t.maximum)return;let i=We(r);n.issues.push({origin:i,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Kt=v(`$ZodCheckMinLength`,(e,t)=>{var n;F.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!we(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.minimum??-1/0;t.minimum>n&&(e._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{let r=n.value;if(r.length>=t.minimum)return;let i=We(r);n.issues.push({origin:i,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),qt=v(`$ZodCheckLengthEquals`,(e,t)=>{var n;F.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!we(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag;n.minimum=t.length,n.maximum=t.length,n.length=t.length}),e._zod.check=n=>{let r=n.value,i=r.length;if(i===t.length)return;let a=We(r),o=i>t.length;n.issues.push({origin:a,...o?{code:`too_big`,maximum:t.length}:{code:`too_small`,minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),Jt=v(`$ZodCheckStringFormat`,(e,t)=>{var n,r;F.init(e,t),e._zod.onattach.push(e=>{let n=e._zod.bag;n.format=t.format,t.pattern&&(n.patterns??=new Set,n.patterns.add(t.pattern))}),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=()=>{})}),Yt=v(`$ZodCheckRegex`,(e,t)=>{Jt.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})}}),Xt=v(`$ZodCheckLowerCase`,(e,t)=>{t.pattern??=Rt,Jt.init(e,t)}),Zt=v(`$ZodCheckUpperCase`,(e,t)=>{t.pattern??=zt,Jt.init(e,t)}),Qt=v(`$ZodCheckIncludes`,(e,t)=>{F.init(e,t);let n=D(t.includes),r=new RegExp(typeof t.position==`number`?`^.{${t.position}}${n}`:n);t.pattern=r,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(r)}),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})}}),$t=v(`$ZodCheckStartsWith`,(e,t)=>{F.init(e,t);let n=RegExp(`^${D(t.prefix)}.*`);t.pattern??=n,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(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})}}),en=v(`$ZodCheckEndsWith`,(e,t)=>{F.init(e,t);let n=RegExp(`.*${D(t.suffix)}$`);t.pattern??=n,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(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})}}),tn=v(`$ZodCheckOverwrite`,(e,t)=>{F.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}}),nn=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),--this.indent}write(e){if(typeof e==`function`){e(this,{execution:`sync`}),e(this,{execution:`async`});return}let t=e.split(`
|
|
2
|
+
`).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?.args,n=[...(this?.content??[``]).map(e=>` ${e}`)];return new e(...t,n.join(`
|
|
3
|
+
`))}},rn={major:4,minor:3,patch:6},I=v(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=rn;let r=[...e._zod.def.checks??[]];e._zod.traits.has(`$ZodCheck`)&&r.unshift(e);for(let t of r)for(let n of t._zod.onattach)n(e);if(r.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let t=(e,t,n)=>{let r=A(e),i;for(let a of t){if(a._zod.def.when){if(!a._zod.def.when(e))continue}else if(r)continue;let t=e.issues.length,o=a._zod.check(e);if(o instanceof Promise&&n?.async===!1)throw new y;if(i||o instanceof Promise)i=(i??Promise.resolve()).then(async()=>{await o,e.issues.length!==t&&(r||=A(e,t))});else{if(e.issues.length===t)continue;r||=A(e,t)}}return i?i.then(()=>e):e},n=(n,i,a)=>{if(A(n))return n.aborted=!0,n;let o=t(i,r,a);if(o instanceof Promise){if(a.async===!1)throw new y;return o.then(t=>e._zod.parse(t,a))}return e._zod.parse(o,a)};e._zod.run=(i,a)=>{if(a.skipChecks)return e._zod.parse(i,a);if(a.direction===`backward`){let t=e._zod.parse({value:i.value,issues:[]},{...a,skipChecks:!0});return t instanceof Promise?t.then(e=>n(e,i,a)):n(t,i,a)}let o=e._zod.parse(i,a);if(o instanceof Promise){if(a.async===!1)throw new y;return o.then(e=>t(e,r,a))}return t(o,r,a)}}S(e,`~standard`,()=>({validate:t=>{try{let n=$e(e,t);return n.success?{value:n.data}:{issues:n.error?.issues}}catch{return et(e,t).then(e=>e.success?{value:e.data}:{issues:e.error?.issues})}},vendor:`zod`,version:1}))}),an=v(`$ZodString`,(e,t)=>{I.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??Nt(e._zod.bag),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}}),L=v(`$ZodStringFormat`,(e,t)=>{Jt.init(e,t),an.init(e,t)}),on=v(`$ZodGUID`,(e,t)=>{t.pattern??=gt,L.init(e,t)}),sn=v(`$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??=_t(e)}else t.pattern??=_t();L.init(e,t)}),cn=v(`$ZodEmail`,(e,t)=>{t.pattern??=vt,L.init(e,t)}),ln=v(`$ZodURL`,(e,t)=>{L.init(e,t),e._zod.check=n=>{try{let r=n.value.trim(),i=new URL(r);t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(i.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&&(t.protocol.lastIndex=0,t.protocol.test(i.protocol.endsWith(`:`)?i.protocol.slice(0,-1):i.protocol)||n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid protocol`,pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort})),t.normalize?n.value=i.href:n.value=r;return}catch{n.issues.push({code:`invalid_format`,format:`url`,input:n.value,inst:e,continue:!t.abort})}}}),un=v(`$ZodEmoji`,(e,t)=>{t.pattern??=bt(),L.init(e,t)}),dn=v(`$ZodNanoID`,(e,t)=>{t.pattern??=mt,L.init(e,t)}),fn=v(`$ZodCUID`,(e,t)=>{t.pattern??=lt,L.init(e,t)}),pn=v(`$ZodCUID2`,(e,t)=>{t.pattern??=ut,L.init(e,t)}),mn=v(`$ZodULID`,(e,t)=>{t.pattern??=dt,L.init(e,t)}),hn=v(`$ZodXID`,(e,t)=>{t.pattern??=ft,L.init(e,t)}),gn=v(`$ZodKSUID`,(e,t)=>{t.pattern??=pt,L.init(e,t)}),_n=v(`$ZodISODateTime`,(e,t)=>{t.pattern??=Mt(t),L.init(e,t)}),vn=v(`$ZodISODate`,(e,t)=>{t.pattern??=kt,L.init(e,t)}),yn=v(`$ZodISOTime`,(e,t)=>{t.pattern??=jt(t),L.init(e,t)}),bn=v(`$ZodISODuration`,(e,t)=>{t.pattern??=ht,L.init(e,t)}),xn=v(`$ZodIPv4`,(e,t)=>{t.pattern??=xt,L.init(e,t),e._zod.bag.format=`ipv4`}),Sn=v(`$ZodIPv6`,(e,t)=>{t.pattern??=St,L.init(e,t),e._zod.bag.format=`ipv6`,e._zod.check=n=>{try{new URL(`http://[${n.value}]`)}catch{n.issues.push({code:`invalid_format`,format:`ipv6`,input:n.value,inst:e,continue:!t.abort})}}}),Cn=v(`$ZodCIDRv4`,(e,t)=>{t.pattern??=Ct,L.init(e,t)}),wn=v(`$ZodCIDRv6`,(e,t)=>{t.pattern??=wt,L.init(e,t),e._zod.check=n=>{let r=n.value.split(`/`);try{if(r.length!==2)throw Error();let[e,t]=r;if(!t)throw Error();let n=Number(t);if(`${n}`!==t||n<0||n>128)throw Error();new URL(`http://[${e}]`)}catch{n.issues.push({code:`invalid_format`,format:`cidrv6`,input:n.value,inst:e,continue:!t.abort})}}});function Tn(e){if(e===``)return!0;if(e.length%4!=0)return!1;try{return atob(e),!0}catch{return!1}}var En=v(`$ZodBase64`,(e,t)=>{t.pattern??=Tt,L.init(e,t),e._zod.bag.contentEncoding=`base64`,e._zod.check=n=>{Tn(n.value)||n.issues.push({code:`invalid_format`,format:`base64`,input:n.value,inst:e,continue:!t.abort})}});function Dn(e){if(!Et.test(e))return!1;let t=e.replace(/[-_]/g,e=>e===`-`?`+`:`/`);return Tn(t.padEnd(Math.ceil(t.length/4)*4,`=`))}var On=v(`$ZodBase64URL`,(e,t)=>{t.pattern??=Et,L.init(e,t),e._zod.bag.contentEncoding=`base64url`,e._zod.check=n=>{Dn(n.value)||n.issues.push({code:`invalid_format`,format:`base64url`,input:n.value,inst:e,continue:!t.abort})}}),kn=v(`$ZodE164`,(e,t)=>{t.pattern??=Dt,L.init(e,t)});function An(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}}var jn=v(`$ZodJWT`,(e,t)=>{L.init(e,t),e._zod.check=n=>{An(n.value,t.alg)||n.issues.push({code:`invalid_format`,format:`jwt`,input:n.value,inst:e,continue:!t.abort})}}),Mn=v(`$ZodNumber`,(e,t)=>{I.init(e,t),e._zod.pattern=e._zod.bag.pattern??Ft,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:`Infinity`:void 0;return n.issues.push({expected:`number`,code:`invalid_type`,input:i,inst:e,...a?{received:a}:{}}),n}}),Nn=v(`$ZodNumberFormat`,(e,t)=>{Wt.init(e,t),Mn.init(e,t)}),Pn=v(`$ZodBoolean`,(e,t)=>{I.init(e,t),e._zod.pattern=It,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}}),Fn=v(`$ZodNull`,(e,t)=>{I.init(e,t),e._zod.pattern=Lt,e._zod.values=new Set([null]),e._zod.parse=(t,n)=>{let r=t.value;return r===null||t.issues.push({expected:`null`,code:`invalid_type`,input:r,inst:e}),t}}),In=v(`$ZodUnknown`,(e,t)=>{I.init(e,t),e._zod.parse=e=>e}),Ln=v(`$ZodNever`,(e,t)=>{I.init(e,t),e._zod.parse=(t,n)=>(t.issues.push({expected:`never`,code:`invalid_type`,input:t.value,inst:e}),t)});function Rn(e,t,n){e.issues.length&&t.issues.push(...j(n,e.issues)),t.value[n]=e.value}var zn=v(`$ZodArray`,(e,t)=>{I.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!Array.isArray(i))return n.issues.push({expected:`array`,code:`invalid_type`,input:i,inst:e}),n;n.value=Array(i.length);let a=[];for(let e=0;e<i.length;e++){let o=i[e],s=t.element._zod.run({value:o,issues:[]},r);s instanceof Promise?a.push(s.then(t=>Rn(t,n,e))):Rn(s,n,e)}return a.length?Promise.all(a).then(()=>n):n}});function Bn(e,t,n,r,i){if(e.issues.length){if(i&&!(n in r))return;t.issues.push(...j(n,e.issues))}e.value===void 0?n in r&&(t.value[n]=void 0):t.value[n]=e.value}function Vn(e){let t=Object.keys(e.shape);for(let n of t)if(!e.shape?.[n]?._zod?.traits?.has(`$ZodType`))throw Error(`Invalid element at key "${n}": expected a Zod schema`);let n=Pe(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function Hn(e,t,n,r,i,a){let o=[],s=i.keySet,c=i.catchall._zod,l=c.def.type,u=c.optout===`optional`;for(let i in t){if(s.has(i))continue;if(l===`never`){o.push(i);continue}let a=c.run({value:t[i],issues:[]},r);a instanceof Promise?e.push(a.then(e=>Bn(e,n,i,t,u))):Bn(a,n,i,t,u)}return o.length&&n.issues.push({code:`unrecognized_keys`,keys:o,input:t,inst:a}),e.length?Promise.all(e).then(()=>n):n}var Un=v(`$ZodObject`,(e,t)=>{if(I.init(e,t),!Object.getOwnPropertyDescriptor(t,`shape`)?.get){let e=t.shape;Object.defineProperty(t,`shape`,{get:()=>{let n={...e};return Object.defineProperty(t,`shape`,{value:n}),n}})}let n=x(()=>Vn(t));S(e._zod,`propValues`,()=>{let e=t.shape,n={};for(let t in e){let r=e[t]._zod;if(r.values){n[t]??(n[t]=new Set);for(let e of r.values)n[t].add(e)}}return n});let r=T,i=t.catchall,a;e._zod.parse=(t,o)=>{a??=n.value;let s=t.value;if(!r(s))return t.issues.push({expected:`object`,code:`invalid_type`,input:s,inst:e}),t;t.value={};let c=[],l=a.shape;for(let e of a.keys){let n=l[e],r=n._zod.optout===`optional`,i=n._zod.run({value:s[e],issues:[]},o);i instanceof Promise?c.push(i.then(n=>Bn(n,t,e,s,r))):Bn(i,t,e,s,r)}return i?Hn(c,s,t,o,n.value,e):c.length?Promise.all(c).then(()=>t):t}}),Wn=v(`$ZodObjectJIT`,(e,t)=>{Un.init(e,t);let n=e._zod.parse,r=x(()=>Vn(t)),i=e=>{let t=new nn([`shape`,`payload`,`ctx`]),n=r.value,i=e=>{let t=Oe(e);return`shape[${t}]._zod.run({ value: input[${t}], issues: [] }, ctx)`};t.write(`const input = payload.value;`);let a=Object.create(null),o=0;for(let e of n.keys)a[e]=`key_${o++}`;t.write(`const newResult = {};`);for(let r of n.keys){let n=a[r],o=Oe(r),s=e[r]?._zod?.optout===`optional`;t.write(`const ${n} = ${i(r)};`),s?t.write(`
|
|
4
|
+
if (${n}.issues.length) {
|
|
5
|
+
if (${o} in input) {
|
|
6
|
+
payload.issues = payload.issues.concat(${n}.issues.map(iss => ({
|
|
7
|
+
...iss,
|
|
8
|
+
path: iss.path ? [${o}, ...iss.path] : [${o}]
|
|
9
|
+
})));
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
if (${n}.value === undefined) {
|
|
14
|
+
if (${o} in input) {
|
|
15
|
+
newResult[${o}] = undefined;
|
|
16
|
+
}
|
|
17
|
+
} else {
|
|
18
|
+
newResult[${o}] = ${n}.value;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
`):t.write(`
|
|
22
|
+
if (${n}.issues.length) {
|
|
23
|
+
payload.issues = payload.issues.concat(${n}.issues.map(iss => ({
|
|
24
|
+
...iss,
|
|
25
|
+
path: iss.path ? [${o}, ...iss.path] : [${o}]
|
|
26
|
+
})));
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
if (${n}.value === undefined) {
|
|
30
|
+
if (${o} in input) {
|
|
31
|
+
newResult[${o}] = undefined;
|
|
32
|
+
}
|
|
33
|
+
} else {
|
|
34
|
+
newResult[${o}] = ${n}.value;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
`)}t.write(`payload.value = newResult;`),t.write(`return payload;`);let s=t.compile();return(t,n)=>s(e,t,n)},a,o=T,s=!xe.jitless,c=s&&je.value,l=t.catchall,u;e._zod.parse=(d,f)=>{u??=r.value;let p=d.value;return o(p)?s&&c&&f?.async===!1&&f.jitless!==!0?(a||=i(t.shape),d=a(d,f),l?Hn([],p,d,f,u,e):d):n(d,f):(d.issues.push({expected:`object`,code:`invalid_type`,input:p,inst:e}),d)}});function Gn(e,t,n,r){for(let n of e)if(n.issues.length===0)return t.value=n.value,t;let i=e.filter(e=>!A(e));return i.length===1?(t.value=i[0].value,i[0]):(t.issues.push({code:`invalid_union`,input:t.value,inst:n,errors:e.map(e=>e.issues.map(e=>M(e,r,b())))}),t)}var Kn=v(`$ZodUnion`,(e,t)=>{I.init(e,t),S(e._zod,`optin`,()=>t.options.some(e=>e._zod.optin===`optional`)?`optional`:void 0),S(e._zod,`optout`,()=>t.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),S(e._zod,`values`,()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),S(e._zod,`pattern`,()=>{if(t.options.every(e=>e._zod.pattern)){let e=t.options.map(e=>e._zod.pattern);return RegExp(`^(${e.map(e=>Te(e.source)).join(`|`)})$`)}});let n=t.options.length===1,r=t.options[0]._zod.run;e._zod.parse=(i,a)=>{if(n)return r(i,a);let o=!1,s=[];for(let e of t.options){let t=e._zod.run({value:i.value,issues:[]},a);if(t instanceof Promise)s.push(t),o=!0;else{if(t.issues.length===0)return t;s.push(t)}}return o?Promise.all(s).then(t=>Gn(t,i,e,a)):Gn(s,i,e,a)}}),qn=v(`$ZodDiscriminatedUnion`,(e,t)=>{t.inclusive=!1,Kn.init(e,t);let n=e._zod.parse;S(e._zod,`propValues`,()=>{let e={};for(let n of t.options){let r=n._zod.propValues;if(!r||Object.keys(r).length===0)throw Error(`Invalid discriminated union option at index "${t.options.indexOf(n)}"`);for(let[t,n]of Object.entries(r)){e[t]||(e[t]=new Set);for(let r of n)e[t].add(r)}}return e});let r=x(()=>{let e=t.options,n=new Map;for(let r of e){let e=r._zod.propValues?.[t.discriminator];if(!e||e.size===0)throw Error(`Invalid discriminated union option at index "${t.options.indexOf(r)}"`);for(let t of e){if(n.has(t))throw Error(`Duplicate discriminator value "${String(t)}"`);n.set(t,r)}}return n});e._zod.parse=(i,a)=>{let o=i.value;if(!T(o))return i.issues.push({code:`invalid_type`,expected:`object`,input:o,inst:e}),i;let s=r.value.get(o?.[t.discriminator]);return s?s._zod.run(i,a):t.unionFallback?n(i,a):(i.issues.push({code:`invalid_union`,errors:[],note:`No matching discriminator`,discriminator:t.discriminator,input:o,path:[t.discriminator],inst:e}),i)}}),Jn=v(`$ZodIntersection`,(e,t)=>{I.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])=>Xn(e,t,n)):Xn(e,i,a)}});function Yn(e,t){if(e===t||e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(E(e)&&E(t)){let n=Object.keys(t),r=Object.keys(e).filter(e=>n.indexOf(e)!==-1),i={...e,...t};for(let n of r){let r=Yn(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=Yn(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 Xn(e,t,n){let r=new Map,i;for(let n of t.issues)if(n.code===`unrecognized_keys`){i??=n;for(let e of n.keys)r.has(e)||r.set(e,{}),r.get(e).l=!0}else e.issues.push(n);for(let t of n.issues)if(t.code===`unrecognized_keys`)for(let e of t.keys)r.has(e)||r.set(e,{}),r.get(e).r=!0;else e.issues.push(t);let a=[...r].filter(([,e])=>e.l&&e.r).map(([e])=>e);if(a.length&&i&&e.issues.push({...i,keys:a}),A(e))return e;let o=Yn(t.value,n.value);if(!o.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(o.mergeErrorPath)}`);return e.value=o.data,e}var Zn=v(`$ZodRecord`,(e,t)=>{I.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!E(i))return n.issues.push({expected:`record`,code:`invalid_type`,input:i,inst:e}),n;let a=[],o=t.keyType._zod.values;if(o){n.value={};let s=new Set;for(let e of o)if(typeof e==`string`||typeof e==`number`||typeof e==`symbol`){s.add(typeof e==`number`?e.toString():e);let o=t.valueType._zod.run({value:i[e],issues:[]},r);o instanceof Promise?a.push(o.then(t=>{t.issues.length&&n.issues.push(...j(e,t.issues)),n.value[e]=t.value})):(o.issues.length&&n.issues.push(...j(e,o.issues)),n.value[e]=o.value)}let c;for(let e in i)s.has(e)||(c??=[],c.push(e));c&&c.length>0&&n.issues.push({code:`unrecognized_keys`,input:i,inst:e,keys:c})}else{n.value={};for(let o of Reflect.ownKeys(i)){if(o===`__proto__`)continue;let s=t.keyType._zod.run({value:o,issues:[]},r);if(s instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(typeof o==`string`&&Ft.test(o)&&s.issues.length){let e=t.keyType._zod.run({value:Number(o),issues:[]},r);if(e instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);e.issues.length===0&&(s=e)}if(s.issues.length){t.mode===`loose`?n.value[o]=i[o]:n.issues.push({code:`invalid_key`,origin:`record`,issues:s.issues.map(e=>M(e,r,b())),input:o,path:[o],inst:e});continue}let c=t.valueType._zod.run({value:i[o],issues:[]},r);c instanceof Promise?a.push(c.then(e=>{e.issues.length&&n.issues.push(...j(o,e.issues)),n.value[s.value]=e.value})):(c.issues.length&&n.issues.push(...j(o,c.issues)),n.value[s.value]=c.value)}}return a.length?Promise.all(a).then(()=>n):n}}),Qn=v(`$ZodEnum`,(e,t)=>{I.init(e,t);let n=Se(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=RegExp(`^(${n.filter(e=>Ne.has(typeof e)).map(e=>typeof e==`string`?D(e):e.toString()).join(`|`)})$`),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}}),$n=v(`$ZodLiteral`,(e,t)=>{if(I.init(e,t),t.values.length===0)throw Error(`Cannot create literal schema with no valid values`);let n=new Set(t.values);e._zod.values=n,e._zod.pattern=RegExp(`^(${t.values.map(e=>typeof e==`string`?D(e):e?D(e.toString()):String(e)).join(`|`)})$`),e._zod.parse=(r,i)=>{let a=r.value;return n.has(a)||r.issues.push({code:`invalid_value`,values:t.values,input:a,inst:e}),r}}),er=v(`$ZodTransform`,(e,t)=>{I.init(e,t),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new be(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 y;return n.value=i,n}});function tr(e,t){return e.issues.length&&t===void 0?{issues:[],value:void 0}:e}var nr=v(`$ZodOptional`,(e,t)=>{I.init(e,t),e._zod.optin=`optional`,e._zod.optout=`optional`,S(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),S(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${Te(e.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if(t.innerType._zod.optin===`optional`){let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(t=>tr(t,e.value)):tr(r,e.value)}return e.value===void 0?e:t.innerType._zod.run(e,n)}}),rr=v(`$ZodExactOptional`,(e,t)=>{nr.init(e,t),S(e._zod,`values`,()=>t.innerType._zod.values),S(e._zod,`pattern`,()=>t.innerType._zod.pattern),e._zod.parse=(e,n)=>t.innerType._zod.run(e,n)}),ir=v(`$ZodNullable`,(e,t)=>{I.init(e,t),S(e._zod,`optin`,()=>t.innerType._zod.optin),S(e._zod,`optout`,()=>t.innerType._zod.optout),S(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${Te(e.source)}|null)$`):void 0}),S(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(e,n)=>e.value===null?e:t.innerType._zod.run(e,n)}),ar=v(`$ZodDefault`,(e,t)=>{I.init(e,t),e._zod.optin=`optional`,S(e._zod,`values`,()=>t.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=>or(e,t)):or(r,t)}});function or(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var sr=v(`$ZodPrefault`,(e,t)=>{I.init(e,t),e._zod.optin=`optional`,S(e._zod,`values`,()=>t.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))}),cr=v(`$ZodNonOptional`,(e,t)=>{I.init(e,t),S(e._zod,`values`,()=>{let e=t.innerType._zod.values;return e?new Set([...e].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=>lr(t,e)):lr(i,e)}});function lr(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:`invalid_type`,expected:`nonoptional`,input:e.value,inst:t}),e}var ur=v(`$ZodCatch`,(e,t)=>{I.init(e,t),S(e._zod,`optin`,()=>t.innerType._zod.optin),S(e._zod,`optout`,()=>t.innerType._zod.optout),S(e._zod,`values`,()=>t.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(e,n);return r instanceof Promise?r.then(r=>(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>M(e,n,b()))},input:e.value}),e.issues=[]),e)):(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>M(e,n,b()))},input:e.value}),e.issues=[]),e)}}),dr=v(`$ZodPipe`,(e,t)=>{I.init(e,t),S(e._zod,`values`,()=>t.in._zod.values),S(e._zod,`optin`,()=>t.in._zod.optin),S(e._zod,`optout`,()=>t.out._zod.optout),S(e._zod,`propValues`,()=>t.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=>fr(e,t.in,n)):fr(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>fr(e,t.out,n)):fr(r,t.out,n)}});function fr(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},n)}var pr=v(`$ZodReadonly`,(e,t)=>{I.init(e,t),S(e._zod,`propValues`,()=>t.innerType._zod.propValues),S(e._zod,`values`,()=>t.innerType._zod.values),S(e._zod,`optin`,()=>t.innerType?._zod?.optin),S(e._zod,`optout`,()=>t.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(mr):mr(r)}});function mr(e){return e.value=Object.freeze(e.value),e}var hr=v(`$ZodCustom`,(e,t)=>{F.init(e,t),I.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=>gr(t,n,r,e));gr(i,n,r,e)}});function gr(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(N(e))}}var _r,vr=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 yr(){return new vr}(_r=globalThis).__zod_globalRegistry??(_r.__zod_globalRegistry=yr());var R=globalThis.__zod_globalRegistry;function br(e,t){return new e({type:`string`,...k(t)})}function xr(e,t){return new e({type:`string`,coerce:!0,...k(t)})}function Sr(e,t){return new e({type:`string`,format:`email`,check:`string_format`,abort:!1,...k(t)})}function Cr(e,t){return new e({type:`string`,format:`guid`,check:`string_format`,abort:!1,...k(t)})}function wr(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,...k(t)})}function Tr(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v4`,...k(t)})}function Er(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v6`,...k(t)})}function Dr(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v7`,...k(t)})}function Or(e,t){return new e({type:`string`,format:`url`,check:`string_format`,abort:!1,...k(t)})}function kr(e,t){return new e({type:`string`,format:`emoji`,check:`string_format`,abort:!1,...k(t)})}function Ar(e,t){return new e({type:`string`,format:`nanoid`,check:`string_format`,abort:!1,...k(t)})}function jr(e,t){return new e({type:`string`,format:`cuid`,check:`string_format`,abort:!1,...k(t)})}function Mr(e,t){return new e({type:`string`,format:`cuid2`,check:`string_format`,abort:!1,...k(t)})}function Nr(e,t){return new e({type:`string`,format:`ulid`,check:`string_format`,abort:!1,...k(t)})}function Pr(e,t){return new e({type:`string`,format:`xid`,check:`string_format`,abort:!1,...k(t)})}function Fr(e,t){return new e({type:`string`,format:`ksuid`,check:`string_format`,abort:!1,...k(t)})}function Ir(e,t){return new e({type:`string`,format:`ipv4`,check:`string_format`,abort:!1,...k(t)})}function Lr(e,t){return new e({type:`string`,format:`ipv6`,check:`string_format`,abort:!1,...k(t)})}function Rr(e,t){return new e({type:`string`,format:`cidrv4`,check:`string_format`,abort:!1,...k(t)})}function zr(e,t){return new e({type:`string`,format:`cidrv6`,check:`string_format`,abort:!1,...k(t)})}function Br(e,t){return new e({type:`string`,format:`base64`,check:`string_format`,abort:!1,...k(t)})}function Vr(e,t){return new e({type:`string`,format:`base64url`,check:`string_format`,abort:!1,...k(t)})}function Hr(e,t){return new e({type:`string`,format:`e164`,check:`string_format`,abort:!1,...k(t)})}function Ur(e,t){return new e({type:`string`,format:`jwt`,check:`string_format`,abort:!1,...k(t)})}function Wr(e,t){return new e({type:`string`,format:`datetime`,check:`string_format`,offset:!1,local:!1,precision:null,...k(t)})}function Gr(e,t){return new e({type:`string`,format:`date`,check:`string_format`,...k(t)})}function Kr(e,t){return new e({type:`string`,format:`time`,check:`string_format`,precision:null,...k(t)})}function qr(e,t){return new e({type:`string`,format:`duration`,check:`string_format`,...k(t)})}function Jr(e,t){return new e({type:`number`,checks:[],...k(t)})}function Yr(e,t){return new e({type:`number`,coerce:!0,checks:[],...k(t)})}function Xr(e,t){return new e({type:`number`,check:`number_format`,abort:!1,format:`safeint`,...k(t)})}function Zr(e,t){return new e({type:`boolean`,...k(t)})}function Qr(e,t){return new e({type:`null`,...k(t)})}function $r(e){return new e({type:`unknown`})}function ei(e,t){return new e({type:`never`,...k(t)})}function ti(e,t){return new Vt({check:`less_than`,...k(t),value:e,inclusive:!1})}function ni(e,t){return new Vt({check:`less_than`,...k(t),value:e,inclusive:!0})}function ri(e,t){return new Ht({check:`greater_than`,...k(t),value:e,inclusive:!1})}function ii(e,t){return new Ht({check:`greater_than`,...k(t),value:e,inclusive:!0})}function ai(e,t){return new Ut({check:`multiple_of`,...k(t),value:e})}function oi(e,t){return new Gt({check:`max_length`,...k(t),maximum:e})}function z(e,t){return new Kt({check:`min_length`,...k(t),minimum:e})}function si(e,t){return new qt({check:`length_equals`,...k(t),length:e})}function ci(e,t){return new Yt({check:`string_format`,format:`regex`,...k(t),pattern:e})}function li(e){return new Xt({check:`string_format`,format:`lowercase`,...k(e)})}function ui(e){return new Zt({check:`string_format`,format:`uppercase`,...k(e)})}function di(e,t){return new Qt({check:`string_format`,format:`includes`,...k(t),includes:e})}function fi(e,t){return new $t({check:`string_format`,format:`starts_with`,...k(t),prefix:e})}function pi(e,t){return new en({check:`string_format`,format:`ends_with`,...k(t),suffix:e})}function B(e){return new tn({check:`overwrite`,tx:e})}function mi(e){return B(t=>t.normalize(e))}function hi(){return B(e=>e.trim())}function gi(){return B(e=>e.toLowerCase())}function _i(){return B(e=>e.toUpperCase())}function vi(){return B(e=>ke(e))}function yi(e,t,n){return new e({type:`array`,element:t,...k(n)})}function bi(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...k(n)})}function xi(e){let t=Si(n=>(n.addIssue=e=>{if(typeof e==`string`)n.issues.push(N(e,n.value,t._zod.def));else{let r=e;r.fatal&&(r.continue=!1),r.code??=`custom`,r.input??=n.value,r.inst??=t,r.continue??=!t._zod.def.abort,n.issues.push(N(r))}},e(n.value,n)));return t}function Si(e,t){let n=new F({check:`custom`,...k(t)});return n._zod.check=e,n}function Ci(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??R,target:t,unrepresentable:e?.unrepresentable??`throw`,override:e?.override??(()=>{}),io:e?.io??`output`,counter:0,seen:new Map,cycles:e?.cycles??`ref`,reused:e?.reused??`inline`,external:e?.external??void 0}}function V(e,t,n={path:[],schemaPath:[]}){var r;let i=e._zod.def,a=t.seen.get(e);if(a)return a.count++,n.schemaPath.includes(e)&&(a.cycle=n.path),a.schema;let o={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,o);let s=e._zod.toJSONSchema?.();if(s)o.schema=s;else{let r={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,o.schema,r);else{let n=o.schema,a=t.processors[i.type];if(!a)throw Error(`[toJSONSchema]: Non-representable type encountered: ${i.type}`);a(e,t,n,r)}let a=e._zod.parent;a&&(o.ref||=a,V(a,t,r),t.seen.get(a).isParent=!0)}let c=t.metadataRegistry.get(e);return c&&Object.assign(o.schema,c),t.io===`input`&&H(e)&&(delete o.schema.examples,delete o.schema.default),t.io===`input`&&o.schema._prefault&&((r=o.schema).default??(r.default=o.schema._prefault)),delete o.schema._prefault,t.seen.get(e).schema}function wi(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);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}/${a}`}}if(t[1]===n)return{ref:`#`};let i=`#/${r}/`,a=t[1].schema.id??`__schema${e.counter++}`;return{defId:a,ref:i+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>
|
|
38
|
+
|
|
39
|
+
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}if(r.count>1&&e.reused===`ref`){a(n);continue}}}function Ti(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)):Object.assign(i,s),Object.assign(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??[]})};for(let t of[...e.seen.entries()].reverse())r(t[0]);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)}Object.assign(i,n.def??n.schema);let a=e.external?.defs??{};for(let t of e.seen.entries()){let e=t[1];e.def&&e.defId&&(a[e.defId]=e.def)}e.external||Object.keys(a).length>0&&(e.target===`draft-2020-12`?i.$defs=a:i.definitions=a);try{let n=JSON.parse(JSON.stringify(i));return Object.defineProperty(n,`~standard`,{value:{...t[`~standard`],jsonSchema:{input:U(t,`input`,e.processors),output:U(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function H(e,t){let n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);let r=e._zod.def;if(r.type===`transform`)return!0;if(r.type===`array`)return H(r.element,n);if(r.type===`set`)return H(r.valueType,n);if(r.type===`lazy`)return H(r.getter(),n);if(r.type===`promise`||r.type===`optional`||r.type===`nonoptional`||r.type===`nullable`||r.type===`readonly`||r.type===`default`||r.type===`prefault`)return H(r.innerType,n);if(r.type===`intersection`)return H(r.left,n)||H(r.right,n);if(r.type===`record`||r.type===`map`)return H(r.keyType,n)||H(r.valueType,n);if(r.type===`pipe`)return H(r.in,n)||H(r.out,n);if(r.type===`object`){for(let e in r.shape)if(H(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(H(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(H(e,n))return!0;return!!(r.rest&&H(r.rest,n))}return!1}var Ei=(e,t={})=>n=>{let r=Ci({...n,processors:t});return V(e,r),wi(r,e),Ti(r,e)},U=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=Ci({...i??{},target:a,io:t,processors:n});return V(e,o),wi(o,e),Ti(o,e)},Di={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},Oi=(e,t,n,r)=>{let i=n;i.type=`string`;let{minimum:a,maximum:o,format:s,patterns:c,contentEncoding:l}=e._zod.bag;if(typeof a==`number`&&(i.minLength=a),typeof o==`number`&&(i.maxLength=o),s&&(i.format=Di[s]??s,i.format===``&&delete i.format,s===`time`&&delete i.format),l&&(i.contentEncoding=l),c&&c.size>0){let e=[...c];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}))])}},ki=(e,t,n,r)=>{let i=n,{minimum:a,maximum:o,format:s,multipleOf:c,exclusiveMaximum:l,exclusiveMinimum:u}=e._zod.bag;typeof s==`string`&&s.includes(`int`)?i.type=`integer`:i.type=`number`,typeof u==`number`&&(t.target===`draft-04`||t.target===`openapi-3.0`?(i.minimum=u,i.exclusiveMinimum=!0):i.exclusiveMinimum=u),typeof a==`number`&&(i.minimum=a,typeof u==`number`&&t.target!==`draft-04`&&(u>=a?delete i.minimum:delete i.exclusiveMinimum)),typeof l==`number`&&(t.target===`draft-04`||t.target===`openapi-3.0`?(i.maximum=l,i.exclusiveMaximum=!0):i.exclusiveMaximum=l),typeof o==`number`&&(i.maximum=o,typeof l==`number`&&t.target!==`draft-04`&&(l<=o?delete i.maximum:delete i.exclusiveMaximum)),typeof c==`number`&&(i.multipleOf=c)},Ai=(e,t,n,r)=>{n.type=`boolean`},ji=(e,t,n,r)=>{t.target===`openapi-3.0`?(n.type=`string`,n.nullable=!0,n.enum=[null]):n.type=`null`},Mi=(e,t,n,r)=>{n.not={}},Ni=(e,t,n,r)=>{let i=e._zod.def,a=Se(i.entries);a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),n.enum=a},Pi=(e,t,n,r)=>{let i=e._zod.def,a=[];for(let e of i.values)if(e===void 0){if(t.unrepresentable===`throw`)throw Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof e==`bigint`){if(t.unrepresentable===`throw`)throw Error(`BigInt literals cannot be represented in JSON Schema`);a.push(Number(e))}else a.push(e);if(a.length!==0)if(a.length===1){let e=a[0];n.type=e===null?`null`:typeof e,t.target===`draft-04`||t.target===`openapi-3.0`?n.enum=[e]:n.const=e}else a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),a.every(e=>typeof e==`boolean`)&&(n.type=`boolean`),a.every(e=>e===null)&&(n.type=`null`),n.enum=a},Fi=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Custom types cannot be represented in JSON Schema`)},Ii=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Transforms cannot be represented in JSON Schema`)},Li=(e,t,n,r)=>{let i=n,a=e._zod.def,{minimum:o,maximum:s}=e._zod.bag;typeof o==`number`&&(i.minItems=o),typeof s==`number`&&(i.maxItems=s),i.type=`array`,i.items=V(a.element,t,{...r,path:[...r.path,`items`]})},Ri=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`,i.properties={};let o=a.shape;for(let e in o)i.properties[e]=V(o[e],t,{...r,path:[...r.path,`properties`,e]});let s=new Set(Object.keys(o)),c=new Set([...s].filter(e=>{let n=a.shape[e]._zod;return t.io===`input`?n.optin===void 0:n.optout===void 0}));c.size>0&&(i.required=Array.from(c)),a.catchall?._zod.def.type===`never`?i.additionalProperties=!1:a.catchall?a.catchall&&(i.additionalProperties=V(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},zi=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>V(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},Bi=(e,t,n,r)=>{let i=e._zod.def,a=V(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=V(i.right,t,{...r,path:[...r.path,`allOf`,1]}),s=e=>`allOf`in e&&Object.keys(e).length===1;n.allOf=[...s(a)?a.allOf:[a],...s(o)?o.allOf:[o]]},Vi=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`;let o=a.keyType,s=o._zod.bag?.patterns;if(a.mode===`loose`&&s&&s.size>0){let e=V(a.valueType,t,{...r,path:[...r.path,`patternProperties`,`*`]});i.patternProperties={};for(let t of s)i.patternProperties[t.source]=e}else (t.target===`draft-07`||t.target===`draft-2020-12`)&&(i.propertyNames=V(a.keyType,t,{...r,path:[...r.path,`propertyNames`]})),i.additionalProperties=V(a.valueType,t,{...r,path:[...r.path,`additionalProperties`]});let c=o._zod.values;if(c){let e=[...c].filter(e=>typeof e==`string`||typeof e==`number`);e.length>0&&(i.required=e)}},Hi=(e,t,n,r)=>{let i=e._zod.def,a=V(i.innerType,t,r),o=t.seen.get(e);t.target===`openapi-3.0`?(o.ref=i.innerType,n.nullable=!0):n.anyOf=[a,{type:`null`}]},Ui=(e,t,n,r)=>{let i=e._zod.def;V(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Wi=(e,t,n,r)=>{let i=e._zod.def;V(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.default=JSON.parse(JSON.stringify(i.defaultValue))},Gi=(e,t,n,r)=>{let i=e._zod.def;V(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,t.io===`input`&&(n._prefault=JSON.parse(JSON.stringify(i.defaultValue)))},Ki=(e,t,n,r)=>{let i=e._zod.def;V(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{throw Error(`Dynamic catch values are not supported in JSON Schema`)}n.default=o},qi=(e,t,n,r)=>{let i=e._zod.def,a=t.io===`input`?i.in._zod.def.type===`transform`?i.out:i.in:i.out;V(a,t,r);let o=t.seen.get(e);o.ref=a},Ji=(e,t,n,r)=>{let i=e._zod.def;V(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},Yi=(e,t,n,r)=>{let i=e._zod.def;V(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Xi=v(`ZodISODateTime`,(e,t)=>{_n.init(e,t),q.init(e,t)});function Zi(e){return Wr(Xi,e)}var Qi=v(`ZodISODate`,(e,t)=>{vn.init(e,t),q.init(e,t)});function $i(e){return Gr(Qi,e)}var ea=v(`ZodISOTime`,(e,t)=>{yn.init(e,t),q.init(e,t)});function ta(e){return Kr(ea,e)}var na=v(`ZodISODuration`,(e,t)=>{bn.init(e,t),q.init(e,t)});function ra(e){return qr(na,e)}var ia=(e,t)=>{Ke.init(e,t),e.name=`ZodError`,Object.defineProperties(e,{format:{value:t=>Ye(e,t)},flatten:{value:t=>Je(e,t)},addIssue:{value:t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,Ce,2)}},addIssues:{value:t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,Ce,2)}},isEmpty:{get(){return e.issues.length===0}}})};v(`ZodError`,ia);var W=v(`ZodError`,ia,{Parent:Error}),aa=Xe(W),oa=Ze(W),sa=Qe(W),ca=P(W),la=tt(W),ua=nt(W),da=rt(W),fa=it(W),pa=at(W),ma=ot(W),ha=st(W),ga=ct(W),G=v(`ZodType`,(e,t)=>(I.init(e,t),Object.assign(e[`~standard`],{jsonSchema:{input:U(e,`input`),output:U(e,`output`)}}),e.toJSONSchema=Ei(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,`_def`,{value:t}),e.check=(...n)=>e.clone(w(t,{checks:[...t.checks??[],...n.map(e=>typeof e==`function`?{_zod:{check:e,def:{check:`custom`},onattach:[]}}:e)]}),{parent:!0}),e.with=e.check,e.clone=(t,n)=>O(e,t,n),e.brand=()=>e,e.register=((t,n)=>(t.add(e,n),e)),e.parse=(t,n)=>aa(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>sa(e,t,n),e.parseAsync=async(t,n)=>oa(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>ca(e,t,n),e.spa=e.safeParseAsync,e.encode=(t,n)=>la(e,t,n),e.decode=(t,n)=>ua(e,t,n),e.encodeAsync=async(t,n)=>da(e,t,n),e.decodeAsync=async(t,n)=>fa(e,t,n),e.safeEncode=(t,n)=>pa(e,t,n),e.safeDecode=(t,n)=>ma(e,t,n),e.safeEncodeAsync=async(t,n)=>ha(e,t,n),e.safeDecodeAsync=async(t,n)=>ga(e,t,n),e.refine=(t,n)=>e.check(Po(t,n)),e.superRefine=t=>e.check(Fo(t)),e.overwrite=t=>e.check(B(t)),e.optional=()=>go(e),e.exactOptional=()=>vo(e),e.nullable=()=>bo(e),e.nullish=()=>go(bo(e)),e.nonoptional=t=>Eo(e,t),e.array=()=>Za(e),e.or=t=>to([e,t]),e.and=t=>ao(e,t),e.transform=t=>Ao(e,mo(t)),e.default=t=>So(e,t),e.prefault=t=>wo(e,t),e.catch=t=>Oo(e,t),e.pipe=t=>Ao(e,t),e.readonly=()=>Mo(e),e.describe=t=>{let n=e.clone();return R.add(n,{description:t}),n},Object.defineProperty(e,`description`,{get(){return R.get(e)?.description},configurable:!0}),e.meta=(...t)=>{if(t.length===0)return R.get(e);let n=e.clone();return R.add(n,t[0]),n},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=t=>t(e),e)),_a=v(`_ZodString`,(e,t)=>{an.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Oi(e,t,n,r);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,e.regex=(...t)=>e.check(ci(...t)),e.includes=(...t)=>e.check(di(...t)),e.startsWith=(...t)=>e.check(fi(...t)),e.endsWith=(...t)=>e.check(pi(...t)),e.min=(...t)=>e.check(z(...t)),e.max=(...t)=>e.check(oi(...t)),e.length=(...t)=>e.check(si(...t)),e.nonempty=(...t)=>e.check(z(1,...t)),e.lowercase=t=>e.check(li(t)),e.uppercase=t=>e.check(ui(t)),e.trim=()=>e.check(hi()),e.normalize=(...t)=>e.check(mi(...t)),e.toLowerCase=()=>e.check(gi()),e.toUpperCase=()=>e.check(_i()),e.slugify=()=>e.check(vi())}),va=v(`ZodString`,(e,t)=>{an.init(e,t),_a.init(e,t),e.email=t=>e.check(Sr(ya,t)),e.url=t=>e.check(Or(Sa,t)),e.jwt=t=>e.check(Ur(La,t)),e.emoji=t=>e.check(kr(Ca,t)),e.guid=t=>e.check(Cr(ba,t)),e.uuid=t=>e.check(wr(xa,t)),e.uuidv4=t=>e.check(Tr(xa,t)),e.uuidv6=t=>e.check(Er(xa,t)),e.uuidv7=t=>e.check(Dr(xa,t)),e.nanoid=t=>e.check(Ar(wa,t)),e.guid=t=>e.check(Cr(ba,t)),e.cuid=t=>e.check(jr(Ta,t)),e.cuid2=t=>e.check(Mr(Ea,t)),e.ulid=t=>e.check(Nr(Da,t)),e.base64=t=>e.check(Br(Pa,t)),e.base64url=t=>e.check(Vr(Fa,t)),e.xid=t=>e.check(Pr(Oa,t)),e.ksuid=t=>e.check(Fr(ka,t)),e.ipv4=t=>e.check(Ir(Aa,t)),e.ipv6=t=>e.check(Lr(ja,t)),e.cidrv4=t=>e.check(Rr(Ma,t)),e.cidrv6=t=>e.check(zr(Na,t)),e.e164=t=>e.check(Hr(Ia,t)),e.datetime=t=>e.check(Zi(t)),e.date=t=>e.check($i(t)),e.time=t=>e.check(ta(t)),e.duration=t=>e.check(ra(t))});function K(e){return br(va,e)}var q=v(`ZodStringFormat`,(e,t)=>{L.init(e,t),_a.init(e,t)}),ya=v(`ZodEmail`,(e,t)=>{cn.init(e,t),q.init(e,t)}),ba=v(`ZodGUID`,(e,t)=>{on.init(e,t),q.init(e,t)}),xa=v(`ZodUUID`,(e,t)=>{sn.init(e,t),q.init(e,t)}),Sa=v(`ZodURL`,(e,t)=>{ln.init(e,t),q.init(e,t)}),Ca=v(`ZodEmoji`,(e,t)=>{un.init(e,t),q.init(e,t)}),wa=v(`ZodNanoID`,(e,t)=>{dn.init(e,t),q.init(e,t)}),Ta=v(`ZodCUID`,(e,t)=>{fn.init(e,t),q.init(e,t)}),Ea=v(`ZodCUID2`,(e,t)=>{pn.init(e,t),q.init(e,t)}),Da=v(`ZodULID`,(e,t)=>{mn.init(e,t),q.init(e,t)}),Oa=v(`ZodXID`,(e,t)=>{hn.init(e,t),q.init(e,t)}),ka=v(`ZodKSUID`,(e,t)=>{gn.init(e,t),q.init(e,t)}),Aa=v(`ZodIPv4`,(e,t)=>{xn.init(e,t),q.init(e,t)}),ja=v(`ZodIPv6`,(e,t)=>{Sn.init(e,t),q.init(e,t)}),Ma=v(`ZodCIDRv4`,(e,t)=>{Cn.init(e,t),q.init(e,t)}),Na=v(`ZodCIDRv6`,(e,t)=>{wn.init(e,t),q.init(e,t)}),Pa=v(`ZodBase64`,(e,t)=>{En.init(e,t),q.init(e,t)}),Fa=v(`ZodBase64URL`,(e,t)=>{On.init(e,t),q.init(e,t)}),Ia=v(`ZodE164`,(e,t)=>{kn.init(e,t),q.init(e,t)}),La=v(`ZodJWT`,(e,t)=>{jn.init(e,t),q.init(e,t)}),Ra=v(`ZodNumber`,(e,t)=>{Mn.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ki(e,t,n,r),e.gt=(t,n)=>e.check(ri(t,n)),e.gte=(t,n)=>e.check(ii(t,n)),e.min=(t,n)=>e.check(ii(t,n)),e.lt=(t,n)=>e.check(ti(t,n)),e.lte=(t,n)=>e.check(ni(t,n)),e.max=(t,n)=>e.check(ni(t,n)),e.int=t=>e.check(Va(t)),e.safe=t=>e.check(Va(t)),e.positive=t=>e.check(ri(0,t)),e.nonnegative=t=>e.check(ii(0,t)),e.negative=t=>e.check(ti(0,t)),e.nonpositive=t=>e.check(ni(0,t)),e.multipleOf=(t,n)=>e.check(ai(t,n)),e.step=(t,n)=>e.check(ai(t,n)),e.finite=()=>e;let n=e._zod.bag;e.minValue=Math.max(n.minimum??-1/0,n.exclusiveMinimum??-1/0)??null,e.maxValue=Math.min(n.maximum??1/0,n.exclusiveMaximum??1/0)??null,e.isInt=(n.format??``).includes(`int`)||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null});function za(e){return Jr(Ra,e)}var Ba=v(`ZodNumberFormat`,(e,t)=>{Nn.init(e,t),Ra.init(e,t)});function Va(e){return Xr(Ba,e)}var Ha=v(`ZodBoolean`,(e,t)=>{Pn.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ai(e,t,n,r)});function Ua(e){return Zr(Ha,e)}var Wa=v(`ZodNull`,(e,t)=>{Fn.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ji(e,t,n,r)});function Ga(e){return Qr(Wa,e)}var Ka=v(`ZodUnknown`,(e,t)=>{In.init(e,t),G.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function qa(){return $r(Ka)}var Ja=v(`ZodNever`,(e,t)=>{Ln.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Mi(e,t,n,r)});function Ya(e){return ei(Ja,e)}var Xa=v(`ZodArray`,(e,t)=>{zn.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Li(e,t,n,r),e.element=t.element,e.min=(t,n)=>e.check(z(t,n)),e.nonempty=t=>e.check(z(1,t)),e.max=(t,n)=>e.check(oi(t,n)),e.length=(t,n)=>e.check(si(t,n)),e.unwrap=()=>e.element});function Za(e,t){return yi(Xa,e,t)}var Qa=v(`ZodObject`,(e,t)=>{Wn.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ri(e,t,n,r),S(e,`shape`,()=>t.shape),e.keyof=()=>lo(Object.keys(e._zod.def.shape)),e.catchall=t=>e.clone({...e._zod.def,catchall:t}),e.passthrough=()=>e.clone({...e._zod.def,catchall:qa()}),e.loose=()=>e.clone({...e._zod.def,catchall:qa()}),e.strict=()=>e.clone({...e._zod.def,catchall:Ya()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=t=>Re(e,t),e.safeExtend=t=>ze(e,t),e.merge=t=>Be(e,t),e.pick=t=>Ie(e,t),e.omit=t=>Le(e,t),e.partial=(...t)=>Ve(ho,e,t[0]),e.required=(...t)=>He(To,e,t[0])});function $a(e,t){return new Qa({type:`object`,shape:e??{},...k(t)})}var eo=v(`ZodUnion`,(e,t)=>{Kn.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>zi(e,t,n,r),e.options=t.options});function to(e,t){return new eo({type:`union`,options:e,...k(t)})}var no=v(`ZodDiscriminatedUnion`,(e,t)=>{eo.init(e,t),qn.init(e,t)});function ro(e,t,n){return new no({type:`union`,options:t,discriminator:e,...k(n)})}var io=v(`ZodIntersection`,(e,t)=>{Jn.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Bi(e,t,n,r)});function ao(e,t){return new io({type:`intersection`,left:e,right:t})}var oo=v(`ZodRecord`,(e,t)=>{Zn.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Vi(e,t,n,r),e.keyType=t.keyType,e.valueType=t.valueType});function so(e,t,n){return new oo({type:`record`,keyType:e,valueType:t,...k(n)})}var co=v(`ZodEnum`,(e,t)=>{Qn.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ni(e,t,n,r),e.enum=t.entries,e.options=Object.values(t.entries);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 co({...t,checks:[],...k(r),entries:i})},e.exclude=(e,r)=>{let i={...t.entries};for(let t of e)if(n.has(t))delete i[t];else throw Error(`Key ${t} not found in enum`);return new co({...t,checks:[],...k(r),entries:i})}});function lo(e,t){return new co({type:`enum`,entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...k(t)})}var uo=v(`ZodLiteral`,(e,t)=>{$n.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Pi(e,t,n,r),e.values=new Set(t.values),Object.defineProperty(e,`value`,{get(){if(t.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function fo(e,t){return new uo({type:`literal`,values:Array.isArray(e)?e:[e],...k(t)})}var po=v(`ZodTransform`,(e,t)=>{er.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ii(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new be(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(N(r,n.value,t));else{let t=r;t.fatal&&(t.continue=!1),t.code??=`custom`,t.input??=n.value,t.inst??=e,n.issues.push(N(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n)):(n.value=i,n)}});function mo(e){return new po({type:`transform`,transform:e})}var ho=v(`ZodOptional`,(e,t)=>{nr.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Yi(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function go(e){return new ho({type:`optional`,innerType:e})}var _o=v(`ZodExactOptional`,(e,t)=>{rr.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Yi(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function vo(e){return new _o({type:`optional`,innerType:e})}var yo=v(`ZodNullable`,(e,t)=>{ir.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Hi(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function bo(e){return new yo({type:`nullable`,innerType:e})}var xo=v(`ZodDefault`,(e,t)=>{ar.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Wi(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function So(e,t){return new xo({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():Me(t)}})}var Co=v(`ZodPrefault`,(e,t)=>{sr.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Gi(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function wo(e,t){return new Co({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():Me(t)}})}var To=v(`ZodNonOptional`,(e,t)=>{cr.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ui(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Eo(e,t){return new To({type:`nonoptional`,innerType:e,...k(t)})}var Do=v(`ZodCatch`,(e,t)=>{ur.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ki(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function Oo(e,t){return new Do({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:()=>t})}var ko=v(`ZodPipe`,(e,t)=>{dr.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>qi(e,t,n,r),e.in=t.in,e.out=t.out});function Ao(e,t){return new ko({type:`pipe`,in:e,out:t})}var jo=v(`ZodReadonly`,(e,t)=>{pr.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ji(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Mo(e){return new jo({type:`readonly`,innerType:e})}var No=v(`ZodCustom`,(e,t)=>{hr.init(e,t),G.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Fi(e,t,n,r)});function Po(e,t={}){return bi(No,e,t)}function Fo(e){return xi(e)}function Io(e,t){return Ao(mo(e),t)}function Lo(e){return typeof e.cloud==`string`&&e.cloud?e.cloud:typeof e.project==`string`&&e.project?`gcp`:typeof e.sshUser==`string`&&e.sshUser?`custom`:`local`}var Ro=$a({instanceDir:K().optional(),gatewayPort:za(),daemonPort:za(),runtimeVersion:K().optional(),runtimeInstallDir:K().optional()}),zo=$a({assistantId:K(),name:K().optional(),cloud:K().optional(),runtimeUrl:K().optional(),species:K().optional(),hatchedAt:K().optional(),organizationId:K().optional(),platformAssistantId:K().optional(),platformBaseUrl:K().optional(),platformOrganizationId:K().optional(),resources:Ro.optional()});function Bo(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Vo(e){if(!Bo(e)||typeof e.assistantId!=`string`)return null;let t={};for(let[n,r]of Object.entries(zo.shape)){let i=r.safeParse(e[n]);i.success&&i.data!==void 0&&(t[n]=i.data)}return t.cloud=Lo(e),t}function Ho(e){let t=Bo(e)?e:{},n=Array.isArray(t.assistants)?t.assistants:[],r=[];for(let e of n){let t=Vo(e);t&&r.push(t)}return{assistants:r,activeAssistant:typeof t.activeAssistant==`string`?t.activeAssistant:null}}var J=class extends Error{status;constructor(e,t){super(t),this.name=`GuardianTokenError`,this.status=e}};function Uo(e){return e instanceof J&&(e.status===404||e.status===401)}var Y=`The local assistant host isn't available here.`;function Wo(){if(!(typeof window>`u`))return window.__VELLUM_CONFIG__}function Go(){if(a())return!0;let e=Wo();return!(!e||e.mode===`remote-gateway`)}async function X(e,t,n){if(!Go())return{ok:!1,error:n};let r;try{r=await fetch(e,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)})}catch{return{ok:!1,error:n}}return await r.json().catch(()=>null)??{ok:!1,error:n}}async function Ko(e=`vellum`,t){return a()?window.vellum.localMode.hatch(e,t):X(`/assistant/__local/hatch`,{species:e,remote:t},Y)}async function qo(){if(a())return window.vellum.localMode.readLockfile();let e=await fetch(`/assistant/__local/lockfile`);if(!e.ok)throw Error(`lockfile fetch failed: ${e.status}`);return e.json()}async function Jo(e,t){return a()?window.vellum.localMode.saveLockfileAssistant(e,t):X(`/assistant/__local/lockfile`,{assistant:e,activeAssistant:t},Y)}async function Yo(e,t){return a()?window.vellum.localMode.replacePlatformAssistants(e,t):X(`/assistant/__local/lockfile`,{syncPlatform:!0,platformAssistants:e,organizationId:t},Y)}async function Xo(e){return a()?window.vellum.localMode.retire(e):X(`/assistant/__local/retire`,{assistantId:e},Y)}async function Zo(e){if(a()){let t=window.vellum.localMode.sleep;return t?t(e):{ok:!1,error:`Sleep is not supported by this app version`}}return X(`/assistant/__local/sleep`,{assistantId:e},Y)}async function Qo(e,t){if(a()){let n=window.vellum.localMode.wake;return n?n(e,t):{ok:!1,error:`Wake is not supported by this app version`}}return X(`/assistant/__local/wake`,{assistantId:e,repairGuardian:t?.repairGuardian},`Wake failed. Try running vellum wake in your terminal.`)}async function $o(e,t){if(a()){let n=window.vellum.localMode.upgrade;return n?n(e,t):{ok:!1,error:`Update and restart the desktop app to enable local upgrades.`}}let n={assistantId:e,...t?.latest?{latest:!0}:{},...t?.version?{version:t.version}:{},...t?.force?{force:!0}:{}};return(await fetch(`/assistant/__local/upgrade`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(n)})).json()}async function es(e){if(a()){let t=window.vellum.localMode.status;return t?t(e):{ok:!1,status:501,error:`Local assistant status is not supported by this app version`}}if(!Go())return{ok:!1,status:0,error:Y};let t;try{t=await fetch(`/assistant/__local/status/${encodeURIComponent(e)}`)}catch{return{ok:!1,status:0,error:Y}}return await t.json().catch(()=>null)??{ok:!1,status:t.status,error:Y}}async function ts(e){if(a()){let t=await window.vellum.localMode.guardianToken(e);if(!t.ok)throw new J(t.status,t.error);return t.accessToken}let t=await fetch(`/assistant/__local/guardian-token/${encodeURIComponent(e)}`);if(!t.ok){let e=await t.json().catch(()=>({}));throw new J(t.status,e.error??`Guardian token request failed: ${t.status}`)}let{accessToken:n}=await t.json();return n}async function ns(e){return(await X(`/assistant/__local/platform-session`,{token:e},Y)).ok}async function rs(){if(Go())try{await fetch(`/assistant/__local/platform-session`,{method:`DELETE`})}catch{}}var is=()=>ye.getState().lockfile,as=(e,t=!0)=>ye.getState().setLockfile(e,t),os={assistants:[],activeAssistant:null},ss=`vellum:local:lockfile`;function cs(){return window.__VELLUM_CONFIG__?.platformUrl||window.location.origin}function ls(){return window.__VELLUM_CONFIG__??{}}function Z(){return ls().mode===`remote-gateway`}function us(){return{assistants:[{assistantId:`self`,name:`Local Assistant`,cloud:`local`,runtimeUrl:window.location.origin,hatchedAt:`1970-01-01T00:00:00.000Z`,resources:{gatewayPort:0,daemonPort:0}}],activeAssistant:`self`}}var Q=e=>{as(e),n(ss,JSON.stringify(e)),Os()},ds=new Set([`1`,`true`,`yes`]);function fs(){return!ds.has(`false`)}function ps(){let e=ls();return e?.disablePlatform==null?!1:!!e.disablePlatform}async function ms(){if(Z()){let e=us();return Q(e),e}try{let e=await qo();return Q(e),e}catch{return $()}}function $(){if(Z()){let e=us();return as(e),e}let e=is();if(e)return e;let n=t(ss,``);if(n)try{let e=Ho(JSON.parse(n));return as(e),e}catch{}let r={...os};return as(r,!1),r}async function hs(e){let t=await Jo(e,e.assistantId);t.ok&&Q(t.lockfile)}async function gs(e){let t=await Jo({...e},void 0);t.ok&&Q(t.lockfile)}async function _s(e){if(Z())return;let t=$().assistants.find(t=>t.assistantId===e);if(!t)return;let n=await Jo({...t},e);n.ok&&Q(n.lockfile)}async function vs(e,t,n=()=>!0){if(t==null||!n())return;let r=await Yo(e.filter(e=>!e.is_local).map(e=>({assistantId:e.id,...e.name!=null&&{name:e.name},cloud:`vellum`,runtimeUrl:cs(),hatchedAt:e.created,...t!=null&&{organizationId:t}})),t);r.ok&&n()&&Q(r.lockfile)}async function ys(e){let t=await Xo(e);return t.ok&&(l(),me(),ge(null),await ms()),t}function bs(){return $().assistants.length>0}function xs(e){return e.cloud===`local`}function Ss(e){return e.cloud===`vellum`}function Cs(e){let t=$().assistants.find(t=>t.assistantId===e);return!!t&&xs(t)}function ws(){return $().assistants.filter(xs)}function Ts(){return $().assistants.filter(Ss)}function Es(){let e=$(),t=e.assistants.find(t=>t.assistantId===e.activeAssistant);if(t)return t;if(e.assistants.length===1)return e.assistants[0]}function Ds(){let e=s();if(e){let t=$().assistants.find(t=>t.assistantId===e);if(t)return t}return Es()}function Os(){let e=s();e&&($().assistants.some(t=>t.assistantId===e)||l())}function ks(e){return`/assistant/__gateway/${e}`}function As(e){return!!e&&fs()&&!Z()&&xs(e)}function js(e=Ds()){if(!As(e))return;let t=e.resources?.gatewayPort;if(t!=null)return ks(t)}var Ms=class extends Error{constructor(e){super(`Local assistant ${e} has no resolved gateway`),this.name=`UnresolvedLocalGatewayError`}};async function Ns(e){let t=e??Ds(),n=pe(t);if(!n){if(As(t))throw new Ms(t.assistantId);return}await fe(n,t?await ts(t.assistantId):void 0);let r=js(t);r&&ge({url:`${window.location.origin}${r}`,token:_()})}function Ps(e){return e instanceof J?e.status!==403:!0}async function Fs(e){try{await Ns(e);return}catch(t){if(!Ps(t))throw t;let n=(e??Ds())?.assistantId;if(!n||!(await Qo(n)).ok)throw t;await Ns((await ms()).assistants.find(e=>e.assistantId===n)??e)}}export{_e as $,Uo as A,ro as B,gs as C,Ko as D,es as E,va as F,so as G,za as H,lo as I,qa as J,K,Ga as L,$o as M,Qo as N,Go as O,Ra as P,ve as Q,Za as R,vs as S,ts as T,$a as U,fo as V,Io as W,xr as X,Yr as Y,ye as Z,Ns as _,$ as a,oe as at,hs as b,Ds as c,ue as ct,xs as d,s as dt,ge as et,fs as f,c as ft,ms as g,Z as h,js as i,pe as it,Zo as j,ns as k,bs as l,o as lt,ps as m,Es as n,fe as nt,Ts as o,se as ot,Ss as p,to as q,ws as r,_ as rt,cs as s,d as st,Ms as t,me as tt,Cs as u,l as ut,Fs as v,rs as w,_s as x,ys as y,Ua as z};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e}from"./routes-
|
|
1
|
+
import{a as e}from"./routes-C6gxiCrz.js";import{r as t,t as n}from"./build-state-C1h3J6U4.js";var r=`workos`,i=e.account.providerCallback,a=`authIntent`;function o(e,t={}){let n=new URLSearchParams;e&&n.set(`returnTo`,e),t.authIntent&&n.set(a,t.authIntent);let r=n.toString();return r?`${i}?${r}`:i}function s(e){return e.get(a)===`signup`?`signup`:`login`}function c(e){return e.startsWith(`http`)||e.startsWith(`/accounts/`)||e.startsWith(`/v1/`)||e.startsWith(`/_allauth/`)}function l(e,t){return u({returnTo:e,fallback:t,authIntent:`login`})}function u({returnTo:e,fallback:r,authIntent:i}){let a=t(n(),{kind:`post-auth`,authIntent:i,returnTo:e,fallback:r}),o=a.action===`redirect`?a.to:r;return{destination:o,requiresFullPageNavigation:c(o)}}export{u as a,s as i,r as n,l as o,o as r,i as t};
|