@vellumai/web 0.10.8 → 0.10.9-dev.202607152225.ec6fdbf
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-s1Z1HHWx.js → AnimatePresence-TZWSGjkI.js} +1 -1
- package/dist/assets/{BundleConfirmPage-C6bP7QB3.js → BundleConfirmPage-DgcqY17E.js} +1 -1
- package/dist/assets/{Combination-Cd_aWAsj.js → Combination-BJXmG5wD.js} +1 -1
- package/dist/assets/{a2a-invite-B9cylfIO.js → a2a-invite-hUo4WSAL.js} +1 -1
- package/dist/assets/{about-page-XGv9RAQu.js → about-page-BXF1KCN9.js} +1 -1
- package/dist/assets/account-page-BtKfeSgV.js +1 -0
- package/dist/assets/{account-shell-CdhP9l8T.js → account-shell-BVt4WGoT.js} +1 -1
- package/dist/assets/{acp-run-detail-panel-B1-zyOUe.js → acp-run-detail-panel-dcYWtQOo.js} +4 -4
- package/dist/assets/activity-steps-panel-GH3dyhG2.js +1 -0
- package/dist/assets/{add-credits-modal-PP1PX8Qv.js → add-credits-modal-XShL7AQ5.js} +1 -1
- package/dist/assets/ai-page-P438M1mx.js +1 -0
- package/dist/assets/animated-avatar-Y-A_0vmk.js +1 -0
- package/dist/assets/{api-_7pKLlYA.js → api-BsCfy4XV.js} +1 -1
- package/dist/assets/{api-BsQZ81K5.js → api-Dj9Z-j-6.js} +1 -1
- package/dist/assets/{api-key-screen-DTSP_-Da.js → api-key-screen-D5mqS5uB.js} +1 -1
- package/dist/assets/app-types-CTJGOi24.js +1 -0
- package/dist/assets/archive-redirect-page-BzPbcTFb.js +1 -0
- package/dist/assets/arrow-left-C2re-gYj.js +1 -0
- package/dist/assets/{assistant-feature-flag-store-DA8Oj9Mf.js → assistant-feature-flag-store-eHqy0FOb.js} +1 -1
- package/dist/assets/assistant-identity-store-Bc4hbSCe.js +1 -0
- package/dist/assets/assistant-status-panel-Dnnejpmx.js +1 -0
- package/dist/assets/auth-store-Ce9wqr8c.js +2 -0
- package/dist/assets/background-task-detail-panel-Dr2O-AOO.js +1 -0
- package/dist/assets/ban-Ih5bAOHZ.js +1 -0
- package/dist/assets/{bell-BQLonLMp.js → bell-BbESwsZk.js} +1 -1
- package/dist/assets/billing-page-Cuir7xDL.js +3 -0
- package/dist/assets/{bookmark-CNrithFf.js → bookmark-Dzconbsv.js} +1 -1
- package/dist/assets/{bookmarks-page-CjcavZv8.js → bookmarks-page-IeNT-se-.js} +1 -1
- package/dist/assets/{brain-BLDXGaUy.js → brain-CMiHVWFK.js} +1 -1
- package/dist/assets/browser-CUdEL48R.js +2 -0
- package/dist/assets/{bug-BsuQ5ciQ.js → bug-YmXTm_XW.js} +1 -1
- package/dist/assets/{build-state-PUXrUU4W.js → build-state-Cc8lgfTd.js} +1 -1
- package/dist/assets/button-BQVYX8n_.js +1 -0
- package/dist/assets/{calendar-h-mv1itX.js → calendar-D0labpMU.js} +1 -1
- package/dist/assets/card-D8zyWtZh.js +1 -0
- package/dist/assets/channels-page-route-HVoMtCIE.js +9 -0
- package/dist/assets/chat-CPqIbgZQ.js +1 -0
- package/dist/assets/chat-markdown-message-DekUplzJ.js +2 -0
- package/dist/assets/check-wF3S-AV4.js +1 -0
- package/dist/assets/checkbox-m-fy9ift.js +1 -0
- package/dist/assets/{chevron-down-qD-re7AW.js → chevron-down-DpYf9Gwq.js} +1 -1
- package/dist/assets/chevron-left-B_RAz34t.js +1 -0
- package/dist/assets/chevron-right-jRymmL7S.js +1 -0
- package/dist/assets/{chevron-up-3jCod9LW.js → chevron-up-DHI-QRpz.js} +1 -1
- package/dist/assets/{chunk-5KNZJZUH-DdS6bb-3.js → chunk-5KNZJZUH-SU6Q_tDT.js} +1 -1
- package/dist/assets/{circle-alert-zOqdmf25.js → circle-alert-CTnM6GCb.js} +1 -1
- package/dist/assets/circle-check-DqvTjWle.js +1 -0
- package/dist/assets/{client-feature-flag-store-DkJl-g9A.js → client-feature-flag-store-BWSPRAZI.js} +1 -1
- package/dist/assets/{client-identity-CadrtY_b.js → client-identity-C1M6QeKU.js} +1 -1
- package/dist/assets/{clipboard-copy-DF6K1xc6.js → clipboard-copy-DbekAYi3.js} +1 -1
- package/dist/assets/{cloud-off-Db1nySkc.js → cloud-off-Cj66Ozsp.js} +1 -1
- package/dist/assets/code-D1zl7aOd.js +1 -0
- package/dist/assets/{command-palette-6o4m7BM9.js → command-palette-D0KUPO0z.js} +1 -1
- package/dist/assets/{command-palette-window-page-BsJlr5bh.js → command-palette-window-page-C7FWkvBe.js} +1 -1
- package/dist/assets/{community-page-CJA4JfuC.js → community-page-DdajiWNT.js} +1 -1
- package/dist/assets/{confirm-dialog-CSkhRFRk.js → confirm-dialog-kE8y7s20.js} +1 -1
- package/dist/assets/{connect-page-DZgU3jCf.js → connect-page-8DGIdo6r.js} +1 -1
- package/dist/assets/consent-Bg13wifR.js +1 -0
- package/dist/assets/{consent-controls-Cnr1DzCr.js → consent-controls-9HzLiDGE.js} +1 -1
- package/dist/assets/{contacts-gateway-CW5CipBv.js → contacts-gateway-DsqzGIxS.js} +1 -1
- package/dist/assets/contacts-page-route-DKRLyHc9.js +1 -0
- package/dist/assets/{conversation-list-fetchers-DS9vmqfD.js → conversation-list-fetchers-CQ_dcy46.js} +1 -1
- package/dist/assets/{cpu-BJuB2Khn.js → cpu-CEyjQpZz.js} +1 -1
- package/dist/assets/{credential-entry-page-9H2HOu88.js → credential-entry-page-Bz05OQ1l.js} +1 -1
- package/dist/assets/credentials-page-DQUaGcSk.js +1 -0
- package/dist/assets/{credit-card-BuyWdO9t.js → credit-card-BY-vD21O.js} +1 -1
- package/dist/assets/danger-zone-redirect-page-BObfZbXc.js +1 -0
- package/dist/assets/debug-page-CHEFIcwt.js +4 -0
- package/dist/assets/{deploy-dialogs-paL_zcvG.js → deploy-dialogs-CHO7qgXb.js} +1 -1
- package/dist/assets/detail-card-ft5Na6Jw.js +1 -0
- package/dist/assets/{detail-panel-stop-button-y7O3HqJj.js → detail-panel-stop-button-DFd5vXbh.js} +1 -1
- package/dist/assets/developer-page-D5TyzQhJ.js +1 -0
- package/dist/assets/device-settings-BBwtGKJb.js +1 -0
- package/dist/assets/devices-redirect-page-C1LQBzrn.js +1 -0
- package/dist/assets/{diagnostics-COsnZMe5.js → diagnostics-BbfP585e.js} +1 -1
- package/dist/assets/{dictation-overlay-page-BkEBWrWm.js → dictation-overlay-page-DButFzu3.js} +1 -1
- package/dist/assets/{dist-CxHeCOEv.js → dist-Btg1osd6.js} +1 -1
- package/dist/assets/{dist-DqmYHxdg.js → dist-CxzJhU4a.js} +1 -1
- package/dist/assets/dist-Df9Kbc9v.js +1 -0
- package/dist/assets/{dist-HJ505Xnn.js → dist-URk13ITj.js} +1 -1
- package/dist/assets/document-viewer-page-ChwaY2Gu.js +1 -0
- package/dist/assets/{domain-field-C5a2iMot.js → domain-field-DKKi4dF-.js} +1 -1
- package/dist/assets/{download-CAuK-nZ6.js → download-B6XjnEzx.js} +1 -1
- package/dist/assets/dropdown-BxYrCXBS.js +1 -0
- package/dist/assets/edge-swipe-arbiter-store-CdpmheQU.js +1 -0
- package/dist/assets/effective-timezone-D6A5ISj1.js +1 -0
- package/dist/assets/{emails-page-7c9kVi_k.js → emails-page-DsPeayRI.js} +1 -1
- package/dist/assets/esm-BIBV_tQW.js +1 -0
- package/dist/assets/esm-BpVuRCaK.js +2 -0
- package/dist/assets/{esm-CT8NUp3h.js → esm-BtlRHesG.js} +2 -2
- package/dist/assets/esm-C0eM5us1.js +2 -0
- package/dist/assets/esm-Cjx6Josx.js +2 -0
- package/dist/assets/esm-_n61e_LE.js +2 -0
- package/dist/assets/esm-p7tDK3Q-.js +2 -0
- package/dist/assets/{external-link-Dqpx9nRm.js → external-link-Cczz6xJ4.js} +1 -1
- package/dist/assets/eye-C2rSrbD-.js +1 -0
- package/dist/assets/eye-off-BQ9J3pF2.js +1 -0
- package/dist/assets/feature-flag-catalog-CAYgyMOh.js +1 -0
- package/dist/assets/{file-DsyJLS2u.js → file-C8pjlmtk.js} +1 -1
- package/dist/assets/file-editor-BzlaskSf.js +1 -0
- package/dist/assets/file-markdown-wMH_OULm.js +2 -0
- package/dist/assets/{file-text-CYJz-GvF.js → file-text-DA128T4K.js} +1 -1
- package/dist/assets/folder-open-7DKBH5WB.js +1 -0
- package/dist/assets/general-page-DUGHbJWs.js +1 -0
- package/dist/assets/{globe-4qSOWE2N.js → globe-inD5tOKN.js} +1 -1
- package/dist/assets/haptics-CBEu5JKM.js +2 -0
- package/dist/assets/{hard-drive-rDxhoRUm.js → hard-drive-BXh9qCfi.js} +1 -1
- package/dist/assets/hatching-screen-BfL6mMQl.js +1 -0
- package/dist/assets/home-page-route-CRwgwG7m.js +1 -0
- package/dist/assets/{hosting-screen-BZLZular.js → hosting-screen-CiNC7D5K.js} +1 -1
- package/dist/assets/identity-page-route-CWHBHNdp.js +7 -0
- package/dist/assets/index-31nbLUeS.js +209 -0
- package/dist/assets/index-Bp6Atcow.css +2 -0
- package/dist/assets/{info-DsOyuMO9.js → info-DLFMsCl-.js} +1 -1
- package/dist/assets/ingest-B0ofnlye.js +1 -0
- package/dist/assets/input-6HVXMszw.js +1 -0
- package/dist/assets/inspect-page-CU5v4vjm.js +9 -0
- package/dist/assets/integrations-page-Bf9wNW1o.js +1 -0
- package/dist/assets/intelligence-layout-BnPHR15j.js +1 -0
- package/dist/assets/{key-round-CD3JWrs1.js → key-round-BggUE1Ns.js} +1 -1
- package/dist/assets/keyboard-shortcuts-redirect-page-ChK4kTis.js +1 -0
- package/dist/assets/latest-assistant-text-B12Sw3_u.js +24 -0
- package/dist/assets/library-detail-page-DBg_wsW2.js +1 -0
- package/dist/assets/library-page-BLEm33Z3.js +1 -0
- package/dist/assets/{link-2-4bMylQ5v.js → link-2-YnZe-oMg.js} +1 -1
- package/dist/assets/list-row-B9k-FoZv.js +1 -0
- package/dist/assets/loader-circle-C9QrtO3C.js +1 -0
- package/dist/assets/{local-mode-grqHUoNh.js → local-mode-Bskd5bsT.js} +1 -1
- package/dist/assets/{log-in--aqELu3z.js → log-in-Xv-AVlu8.js} +1 -1
- package/dist/assets/{login-flow-B6q00uIW.js → login-flow-CmlnYi0j.js} +1 -1
- package/dist/assets/login-page-CGHvLIez.js +1 -0
- package/dist/assets/{logout-page-BV0URcAd.js → logout-page-DuPCZ90A.js} +1 -1
- package/dist/assets/logs-layout-BRxIej3c.js +1 -0
- package/dist/assets/memory-page-route-pnpeSii_.js +1 -0
- package/dist/assets/{memory-router-playground-page-CQxX6mCn.js → memory-router-playground-page-LGFJw3s7.js} +1 -1
- package/dist/assets/menu-CLA56vz8.js +1 -0
- package/dist/assets/{messages-Bl6a3LUN.js → messages-DBgRkgBa.js} +2 -2
- package/dist/assets/{metric-card-DvXjHVCV.js → metric-card-C3DDH1u1.js} +1 -1
- package/dist/assets/mic-Dmvwrxe8.js +1 -0
- package/dist/assets/{middleware-pbPQ0upo.js → middleware-DL-IveDQ.js} +1 -1
- package/dist/assets/{minimize-2-Clnet2W7.js → minimize-2-B8VHIj-G.js} +1 -1
- package/dist/assets/{misc-BYQPh7vS.js → misc-CS-Pktrv.js} +1 -1
- package/dist/assets/mobile-sidebar-drawer-CfUSy_Ou.js +1 -0
- package/dist/assets/modal-bIQsMU63.js +1 -0
- package/dist/assets/{monitor-DfbL8_59.js → monitor-Cy7Q70-7.js} +1 -1
- package/dist/assets/{moon-B8qiwjrW.js → moon-jDX7sipq.js} +1 -1
- package/dist/assets/mutation-error-CFLGO21o.js +1 -0
- package/dist/assets/native-biometric-BvCjSInu.js +6 -0
- package/dist/assets/{native-file-DI99Emal.js → native-file-C6oXU5FE.js} +2 -2
- package/dist/assets/notice-BiZA71pR.js +1 -0
- package/dist/assets/notifications-page-clztNuMl.js +1 -0
- package/dist/assets/{oauth-complete-page-BlJm9tRJ.js → oauth-complete-page-BK-eCVgQ.js} +1 -1
- package/dist/assets/{oauth-popup-complete-page-BqUopTat.js → oauth-popup-complete-page-Cs2egwq6.js} +1 -1
- package/dist/assets/onboarding-store-tqBxGvkR.js +1 -0
- package/dist/assets/page-shell-BvXbg7Db.js +1 -0
- package/dist/assets/{pairing-page-B5GrCx4C.js → pairing-page-BE4ph4ik.js} +1 -1
- package/dist/assets/panel-item-CfuwAm7q.js +1 -0
- package/dist/assets/password-reset-page-8SeFGA1l.js +1 -0
- package/dist/assets/{pencil-CUIr0IFo.js → pencil-BOTCmXXR.js} +1 -1
- package/dist/assets/personality-page-DncIme1O.js +1 -0
- package/dist/assets/platform-detection-BTuzpl34.js +1 -0
- package/dist/assets/platform-loopback-page-LBbH5z8z.js +1 -0
- package/dist/assets/{plugin-detail-page-Byuqbr1N.js → plugin-detail-page-CiUmOJx4.js} +1 -1
- package/dist/assets/plugins-page-DGpvzJ6A.js +1 -0
- package/dist/assets/plugins-surface-B2vYGNIS.js +1 -0
- package/dist/assets/plus-D54jrPDF.js +1 -0
- package/dist/assets/popover-rW459udD.js +1 -0
- package/dist/assets/prechat-route-Blw5oByr.js +1 -0
- package/dist/assets/prefs-BhGkdtWC.js +1 -0
- package/dist/assets/privacy-page-DtJ7Ta9Q.js +1 -0
- package/dist/assets/privacy-screen-DCmdN-F6.js +1 -0
- package/dist/assets/{usage-window-C6gWu5Qu.js → profile-metadata-CbcuGTHP.js} +1 -1
- package/dist/assets/progress-bar-Wa6qo8OT.js +1 -0
- package/dist/assets/provider-callback-page-DqiHRsf7.js +1 -0
- package/dist/assets/{provider-key-3AHnKoz9.js → provider-key-BIMvWJCe.js} +1 -1
- package/dist/assets/provider-signup-page-D5rIiZ2o.js +1 -0
- package/dist/assets/puzzle-0_oQwgsv.js +1 -0
- package/dist/assets/{quick-input-page-Cv_CzapK.js → quick-input-page-BEwEfXyk.js} +1 -1
- package/dist/assets/react-query.gen-DjmYXavs.js +1 -0
- package/dist/assets/react-query.gen-JxTd3SS8.js +1 -0
- package/dist/assets/{refresh-cw-DevIHL7J.js → refresh-cw-BkscUrbN.js} +1 -1
- package/dist/assets/{remote-gateway-session-CbBWrPZH.js → remote-gateway-session-CBKZhJak.js} +1 -1
- package/dist/assets/{repeat-C8Im6j--.js → repeat-BRYsTqh_.js} +1 -1
- package/dist/assets/research-mock-page-VikWGUam.js +1 -0
- package/dist/assets/research-onboarding-route-BiLio9x3.js +42 -0
- package/dist/assets/{resize-errors-DqIkO0UI.js → resize-errors-yH10K9Qq.js} +1 -1
- package/dist/assets/{resolved-assistants-store-BSZbT8Ju.js → resolved-assistants-store-DAzPZ1eV.js} +1 -1
- package/dist/assets/{return-to-BwxkOGDI.js → return-to-ugSGJ0dm.js} +1 -1
- package/dist/assets/review-terms-screen-DybxZzqn.js +1 -0
- package/dist/assets/risk-b98f7VDW.js +3 -0
- package/dist/assets/routes-Bzvx8bnp.js +1 -0
- package/dist/assets/schedules-oC-weaYP.js +1 -0
- package/dist/assets/{sdk.gen-BwnFjFcp.js → sdk.gen-CFgJ4K6f.js} +1 -1
- package/dist/assets/sdk.gen-Z7XkRg5O.js +1 -0
- package/dist/assets/security-redirect-page-GKy7eRUs.js +1 -0
- package/dist/assets/{select-assistant-screen-Br-PNDO1.js → select-assistant-screen-BFDxdgLn.js} +1 -1
- package/dist/assets/{setting-row-CUka7_L9.js → setting-row-f2idXB8B.js} +1 -1
- package/dist/assets/settings-divider-BPEDTMBU.js +1 -0
- package/dist/assets/settings-layout-BlQX4ZgU.js +1 -0
- package/dist/assets/share-feedback-modal-CsAJJ_oZ.js +1 -0
- package/dist/assets/shield-check-kgUZeU9b.js +1 -0
- package/dist/assets/{sidebar-tree-C1_LiBB9.js → sidebar-tree-Osepkg7m.js} +1 -1
- package/dist/assets/signup-page-CL3T-Z4a.js +1 -0
- package/dist/assets/{signup-shell-DufHA5do.js → signup-shell-C2c8tEWo.js} +1 -1
- package/dist/assets/site-favicon-Bf4BKQG1.js +1 -0
- package/dist/assets/skill-detail-page-B1AuSkFK.js +1 -0
- package/dist/assets/{skill-detail-panel-BGoRUWNU.js → skill-detail-panel-CeOWb3Bf.js} +1 -1
- package/dist/assets/{skills-AtSQBwXr.js → skills-ByKs3Zjf.js} +1 -1
- package/dist/assets/skills-page-HoaDTYTI.js +1 -0
- package/dist/assets/{sound-manager-6UbdgQrj.js → sound-manager-DUFvLLrG.js} +1 -1
- package/dist/assets/sounds-redirect-page-BE1uLXxt.js +1 -0
- package/dist/assets/{sparkles-PGiR5v1g.js → sparkles-BK3KXCjl.js} +1 -1
- package/dist/assets/{src-zsLiFPw3.js → src-A8hMQd90.js} +39 -39
- package/dist/assets/{subagent-detail-panel-BGuVa8-m.js → subagent-detail-panel-DQJPOafB.js} +2 -2
- package/dist/assets/{subagent-store-Bz4irJre.js → subagent-store-UK3sycHi.js} +1 -1
- package/dist/assets/system-events-page-f63DiHJ0.js +1 -0
- package/dist/assets/system-events-redirect-page-BxksRhif.js +1 -0
- package/dist/assets/tag-D0AE0-aA.js +1 -0
- package/dist/assets/theme-preferences-DW9WTu2f.js +1 -0
- package/dist/assets/theme-stage-page-Bo5V4ZDW.js +1 -0
- package/dist/assets/{tiptap-document-editor-C-eOEBR_.js → tiptap-document-editor-ChljO0fw.js} +2 -2
- package/dist/assets/toast-B5Hr1kIL.js +1 -0
- package/dist/assets/toggle-CWrJ2t4S.js +1 -0
- package/dist/assets/{tool-detail-panel-wAuQ7gi8.js → tool-detail-panel-_oXYE81O.js} +2 -2
- package/dist/assets/{triangle-alert-Z0Gq0IuB.js → triangle-alert-CnjNKhNx.js} +1 -1
- package/dist/assets/typography-Cqi8q9o7.js +1 -0
- package/dist/assets/{upgrade-cancel-page-BGgPmDmT.js → upgrade-cancel-page-C4sJ4IHi.js} +1 -1
- package/dist/assets/{upgrade-success-page-TJBopZ0Z.js → upgrade-success-page-v7UtvYeb.js} +1 -1
- package/dist/assets/usage-redirect-page-DlxixrFd.js +1 -0
- package/dist/assets/{use-active-assistant-id-BWXi63qg.js → use-active-assistant-id-KipCgPNT.js} +1 -1
- package/dist/assets/use-assistant-identity-details-BpbmaZva.js +1 -0
- package/dist/assets/{use-edge-swipe-back-B4XlZ1Iu.js → use-edge-swipe-back-DTpbr5KC.js} +1 -1
- package/dist/assets/use-invite-link-dialog-2FBB54DX.js +1 -0
- package/dist/assets/use-is-org-ready-MUDnKy3r.js +1 -0
- package/dist/assets/use-onboarding-login-_LAXettN.js +1 -0
- package/dist/assets/{use-reduced-motion-Cj0Z8KSf.js → use-reduced-motion-BPBlq9_a.js} +1 -1
- package/dist/assets/use-skill-actions-CrU5Sgk_.js +1 -0
- package/dist/assets/use-skill-categories-BhT4D6gt.js +1 -0
- package/dist/assets/{use-skill-detail-files-Dpp521cY.js → use-skill-detail-files-DNY3WFns.js} +1 -1
- package/dist/assets/{user-plus-DMh4_UTz.js → user-plus-KuzSTM_D.js} +1 -1
- package/dist/assets/{utils-xg2dl_KJ.js → utils-CNB1P-cO.js} +1 -1
- package/dist/assets/{viewer-store-B8-Qnbx9.js → viewer-store-CFywMdJp.js} +1 -1
- package/dist/assets/voice-page-otevqz9B.js +1 -0
- package/dist/assets/{weather-forecast-display-Bix8rpji.js → weather-forecast-display-CcKGlN7f.js} +1 -1
- package/dist/assets/{web-RhBklijR.js → web-BPvLuAGE.js} +1 -1
- package/dist/assets/{web-D8PpvYf_.js → web-BUVD1SEs.js} +1 -1
- package/dist/assets/{web-C1L-cpPj.js → web-Bf269a_Y.js} +1 -1
- package/dist/assets/{web-CJiP8Lg6.js → web-CELqsarU.js} +1 -1
- package/dist/assets/{web-O1LOb-o9.js → web-CFPJ_DoC.js} +1 -1
- package/dist/assets/{web-BD2N6zhd.js → web-DFW5YV0h.js} +1 -1
- package/dist/assets/{web-BaubW4Pp.js → web-DyY0a6OS.js} +1 -1
- package/dist/assets/{web-Duw5A2aP.js → web-KeVAvkzP.js} +1 -1
- package/dist/assets/{welcome-screen-CVI4Hjnt.js → welcome-screen-C8axlf6E.js} +1 -1
- package/dist/assets/workflow-detail-panel-DkqCKrOL.js +1 -0
- package/dist/assets/{workflow-store-B7ofewCi.js → workflow-store-k8Si-dKc.js} +1 -1
- package/dist/assets/workspace-page-CS0P8RFO.js +1 -0
- package/dist/assets/x-BYcSiJRX.js +1 -0
- package/dist/index.html +146 -142
- package/dist/skills/chat-complex-documents/assets/icon.svg +26 -0
- package/package.json +1 -1
- package/dist/assets/account-page-Dno1SeJN.js +0 -1
- package/dist/assets/activity-steps-panel-BGyfMCXK.js +0 -1
- package/dist/assets/advanced-page-vCbMVJsK.js +0 -1
- package/dist/assets/ai-page-BIYybKux.js +0 -1
- package/dist/assets/animated-avatar-Cqpzb8O4.js +0 -1
- package/dist/assets/archive-0aqysuyd.js +0 -1
- package/dist/assets/archive-page-RZ2VP63A.js +0 -1
- package/dist/assets/arrow-left-DI9551VI.js +0 -1
- package/dist/assets/assistant-identity-store-CX03CK8q.js +0 -1
- package/dist/assets/assistant-status-panel-BC0RTDls.js +0 -1
- package/dist/assets/auth-store-C09YAZEu.js +0 -2
- package/dist/assets/background-task-detail-panel-BfnsD-3B.js +0 -1
- package/dist/assets/ban-CVKGuUAQ.js +0 -1
- package/dist/assets/billing-page-1z_L2m6q.js +0 -3
- package/dist/assets/browser-C6a_nhhZ.js +0 -2
- package/dist/assets/button-amTXFI-2.js +0 -1
- package/dist/assets/card-Bv5O5juh.js +0 -1
- package/dist/assets/channels-page-route-WjNmd0sS.js +0 -9
- package/dist/assets/chat-B8mgARYR.js +0 -1
- package/dist/assets/chat-markdown-message-BnX6bhgs.js +0 -2
- package/dist/assets/check-DFNrQERi.js +0 -1
- package/dist/assets/checkbox-EdyezNqo.js +0 -1
- package/dist/assets/chevron-left-BMF1xNfR.js +0 -1
- package/dist/assets/chevron-right-DqqmezXC.js +0 -1
- package/dist/assets/circle-check-VSiny8yl.js +0 -1
- package/dist/assets/cn-C36Yvcac.js +0 -1
- package/dist/assets/code-Czx7d7SK.js +0 -1
- package/dist/assets/contacts-page-route-P0neH-PV.js +0 -1
- package/dist/assets/copy-Cn1FKrEp.js +0 -1
- package/dist/assets/credentials-page-MkKE_19-.js +0 -1
- package/dist/assets/danger-zone-redirect-page-BWg7rn8D.js +0 -1
- package/dist/assets/debug-page-B88f4aDU.js +0 -4
- package/dist/assets/detail-card-xKZlkbz5.js +0 -1
- package/dist/assets/developer-page-BFMS6pwU.js +0 -1
- package/dist/assets/devices-page-B3D5iLhD.js +0 -1
- package/dist/assets/dist-BItmZQO6.js +0 -1
- package/dist/assets/document-viewer-page-B631L6-3.js +0 -1
- package/dist/assets/dropdown-ByHOpeOU.js +0 -1
- package/dist/assets/earn-credits-modal-CFla-iKl.js +0 -1
- package/dist/assets/edge-swipe-arbiter-store-BeOhrE7M.js +0 -1
- package/dist/assets/effective-timezone-C4nukIC4.js +0 -1
- package/dist/assets/esm-B54gzHCZ.js +0 -1
- package/dist/assets/esm-Bzs_witt.js +0 -2
- package/dist/assets/esm-C5J59K0j.js +0 -2
- package/dist/assets/esm-DEu9JbAE.js +0 -2
- package/dist/assets/esm-DZkj1VLJ.js +0 -2
- package/dist/assets/esm-DtJz1M8R.js +0 -2
- package/dist/assets/feature-flag-catalog-GgSNKkqP.js +0 -1
- package/dist/assets/file-editor-sT7eHxsw.js +0 -1
- package/dist/assets/file-markdown-Bq97tNxs.js +0 -2
- package/dist/assets/general-page-D-Gr2lkW.js +0 -1
- package/dist/assets/haptics-lMERs7us.js +0 -2
- package/dist/assets/hatching-screen-BlwicgIz.js +0 -1
- package/dist/assets/home-page-route-D24x4A0S.js +0 -1
- package/dist/assets/identity-page-route-BwOJeenx.js +0 -1
- package/dist/assets/index-C9GrLGul.css +0 -2
- package/dist/assets/index-yu6nDHvG.js +0 -113
- package/dist/assets/input-CoUmPnRU.js +0 -1
- package/dist/assets/inspect-page-1RejwSP_.js +0 -9
- package/dist/assets/integrations-page-BV5BiHPD.js +0 -1
- package/dist/assets/intelligence-layout-iQFO8in_.js +0 -1
- package/dist/assets/keyboard-shortcuts-page-jt13JtxS.js +0 -1
- package/dist/assets/library-detail-page-BAGWt1Lw.js +0 -1
- package/dist/assets/library-page-CqeoBhDY.js +0 -1
- package/dist/assets/list-row-D5MFdbkH.js +0 -1
- package/dist/assets/llm-dimension-DyYwG3mU.js +0 -1
- package/dist/assets/loader-circle-Cz7opInR.js +0 -1
- package/dist/assets/login-page-BQVTWuQc.js +0 -1
- package/dist/assets/logs-layout-DO3yfZqD.js +0 -1
- package/dist/assets/menu-Dy5QbnTj.js +0 -1
- package/dist/assets/mobile-sidebar-drawer-Epbt6p-k.js +0 -1
- package/dist/assets/modal-D5nLWNN9.js +0 -1
- package/dist/assets/mutation-error-DYv0eJ_i.js +0 -1
- package/dist/assets/native-biometric-Czaf9IqI.js +0 -6
- package/dist/assets/notice-DkcNAP8O.js +0 -1
- package/dist/assets/notifications-page-CXaZpD3s.js +0 -1
- package/dist/assets/page-shell-BUGBKCmv.js +0 -1
- package/dist/assets/panel-item-CouW2A55.js +0 -1
- package/dist/assets/password-reset-page-BCk9Si73.js +0 -1
- package/dist/assets/platform-detection-BrxvFUiR.js +0 -1
- package/dist/assets/platform-loopback-page-MZdCPXRI.js +0 -1
- package/dist/assets/plugins-page-Ci0CoSAN.js +0 -1
- package/dist/assets/plugins-surface-z3RTZS4H.js +0 -1
- package/dist/assets/plus-DItfr5ux.js +0 -1
- package/dist/assets/popover-CFL4WZTr.js +0 -1
- package/dist/assets/prechat-route-9JFn-w_1.js +0 -1
- package/dist/assets/prefs-B1Y3q3c8.js +0 -1
- package/dist/assets/privacy-page-BTpvj9ZP.js +0 -1
- package/dist/assets/privacy-screen-CUbVcDf_.js +0 -1
- package/dist/assets/progress-bar-Ca8gmE3B.js +0 -1
- package/dist/assets/provider-callback-page-fB2tIyqL.js +0 -1
- package/dist/assets/provider-signup-page-C4Dn-wtJ.js +0 -1
- package/dist/assets/react-query.gen-C6wVk6Rw.js +0 -1
- package/dist/assets/react-query.gen-DPzPS206.js +0 -1
- package/dist/assets/research-mock-page-1T92rXz3.js +0 -1
- package/dist/assets/research-onboarding-route-CmWgwOFk.js +0 -63
- package/dist/assets/review-terms-screen-DrD4vywk.js +0 -1
- package/dist/assets/risk-Dopd25rc.js +0 -3
- package/dist/assets/routes-BbeIx_F9.js +0 -1
- package/dist/assets/save-aD5JFIZf.js +0 -1
- package/dist/assets/schedules-BfKi12EZ.js +0 -1
- package/dist/assets/sdk.gen-CmKfVpgB.js +0 -1
- package/dist/assets/security-page-BYI7twYM.js +0 -1
- package/dist/assets/settings-layout-lddMUg7A.js +0 -1
- package/dist/assets/share-feedback-modal-DSwfhMsV.js +0 -1
- package/dist/assets/shortcut-keys-B2EE-634.js +0 -1
- package/dist/assets/signup-page-D6hAK-Us.js +0 -1
- package/dist/assets/site-favicon-fQHLTT6F.js +0 -1
- package/dist/assets/skill-detail-page-BlfgTyFC.js +0 -1
- package/dist/assets/skill-icon-cNkD2w1X.js +0 -1
- package/dist/assets/skills-page-DeIiyhVc.js +0 -1
- package/dist/assets/sounds-page-BgLLJ-o9.js +0 -1
- package/dist/assets/stat-square-CTHnQ1jc.js +0 -1
- package/dist/assets/system-events-page-C1hXOYmg.js +0 -1
- package/dist/assets/system-events-redirect-page-DbaFKRXH.js +0 -1
- package/dist/assets/tag-CV4v7fRF.js +0 -1
- package/dist/assets/toast-xTp-xwYL.js +0 -1
- package/dist/assets/toggle-CDfguvUz.js +0 -1
- package/dist/assets/typography-D5f7kt80.js +0 -1
- package/dist/assets/usage-page-DLWFk2P0.js +0 -1
- package/dist/assets/use-bus-subscription-C3H3CmM_.js +0 -1
- package/dist/assets/use-invite-link-dialog-BdnW1BHj.js +0 -1
- package/dist/assets/use-is-org-ready-jhEM-4rY.js +0 -1
- package/dist/assets/use-onboarding-login-B-1jrjFL.js +0 -1
- package/dist/assets/use-skill-actions-BpVxiQZY.js +0 -1
- package/dist/assets/use-skill-categories-CCxtjMC_.js +0 -1
- package/dist/assets/voice-page-BoCTB8Jx.js +0 -1
- package/dist/assets/workflow-detail-panel-CwZH3tDl.js +0 -1
- package/dist/assets/workspace-page-CwIsXk1j.js +0 -1
- package/dist/assets/x-CkSVp1Ok.js +0 -1
- /package/dist/assets/{app-info-Clwt3pCt.js → app-info-AJ6nA0RS.js} +0 -0
- /package/dist/assets/{avatar-bundled-components--1Wyhs4r.js → avatar-bundled-components-DgzHRe6Z.js} +0 -0
- /package/dist/assets/{avatar-svg-compositor-CnDf9Ibf.js → avatar-svg-compositor-C_lXkZLZ.js} +0 -0
- /package/dist/assets/{browser-timezone-2SnmKDjM.js → browser-timezone-DjbAts-Z.js} +0 -0
- /package/dist/assets/{build.umd-CxdKgGWo.js → build.umd-CVjrbvyL.js} +0 -0
- /package/dist/assets/{bundle-mjs-BZt35okJ.js → bundle-mjs-CK9sN9wG.js} +0 -0
- /package/dist/assets/{by-tool-use-id-index-BokzI3ZP.js → by-tool-use-id-index-CBaMK-eh.js} +0 -0
- /package/dist/assets/{composer-focus-BZr63Cvs.js → composer-focus-CpeV_gfi.js} +0 -0
- /package/dist/assets/{conversation-selection-BBHkzcfy.js → conversation-selection-DYJPsAjJ.js} +0 -0
- /package/dist/assets/{conversation-store-BljZWolF.js → conversation-store-CnRrUeSu.js} +0 -0
- /package/dist/assets/{createLucideIcon-IRfcSUxS.js → createLucideIcon-Bjb-Kuq7.js} +0 -0
- /package/dist/assets/{definitions-CaYcW4Yq.js → definitions-BaillmRO.js} +0 -0
- /package/dist/assets/{definitions-DScTW2c-.js → definitions-Ce8XXjMI.js} +0 -0
- /package/dist/assets/{dist-DS5iJwBJ2.js → dist-DyRKd0bN2.js} +0 -0
- /package/dist/assets/{domains-D3QF404Q.js → domains-CIIVdIa8.js} +0 -0
- /package/dist/assets/{emoji-catalog-data-D8lRMt3A.js → emoji-catalog-data-BNtUmdK0.js} +0 -0
- /package/dist/assets/{environment-store-C0f32873.js → environment-store-R_3zZFKL.js} +0 -0
- /package/dist/assets/{format-date-CghpPTDc.js → format-date-Cda44k2J.js} +0 -0
- /package/dist/assets/{format-file-size-DzVEncaw.js → format-file-size-BSrdQr7P.js} +0 -0
- /package/dist/assets/{native-deep-link-CJGNy9bj.js → native-deep-link-CbHUZ2h_.js} +0 -0
- /package/dist/assets/{onboarding-step-layout-2XcmxqFN.js → onboarding-step-layout-BfSOxqy3.js} +0 -0
- /package/dist/assets/{optimistic-lifecycle-BvfDBY8o.js → optimistic-lifecycle-CR11Vyrt.js} +0 -0
- /package/dist/assets/{pdf-C3Qukw-J.js → pdf-BjgNZTii.js} +0 -0
- /package/dist/assets/{pointer-Cdz7NGHe.js → pointer-CzC_8USk.js} +0 -0
- /package/dist/assets/{prechat-P1y7ZM6C.js → prechat-Ddpjms85.js} +0 -0
- /package/dist/assets/{prechat-names-clVy5Mee.js → prechat-names-DEWE0LUf.js} +0 -0
- /package/dist/assets/{proxy-o6cPThl2.js → proxy-Cadlowdl.js} +0 -0
- /package/dist/assets/{public-asset-GKv5zCfZ.js → public-asset-Budc22a_.js} +0 -0
- /package/dist/assets/{research-onboarding-persistence-DnuHyFyB.js → research-onboarding-persistence-BmACYjeE.js} +0 -0
- /package/dist/assets/{sdk.gen-BhtkuoSl.js → sdk.gen-C9oZyNeN.js} +0 -0
- /package/dist/assets/{status-badge-pill-0N6rTEBg.js → status-badge-pill-DQHLgr0r.js} +0 -0
- /package/dist/assets/{step-indicator-dots-D03TmFKG.js → step-indicator-dots-iS_Q2OX6.js} +0 -0
- /package/dist/assets/{three-dot-indicator-DNuHHwtA.js → three-dot-indicator-ByrGmGYU.js} +0 -0
- /package/dist/assets/{typed-storage-5IU6qVWg.js → typed-storage-BRvgA7pX.js} +0 -0
- /package/dist/assets/{use-copy-to-clipboard-BCTXSMa-.js → use-copy-to-clipboard-CtO2o7KE.js} +0 -0
- /package/dist/assets/{workflow-status-ZrbiLW5D.js → workflow-status-4RYJ-tdh.js} +0 -0
- /package/dist/assets/{xterm-CBmd_y-b.js → xterm-ChjrCiYv.js} +0 -0
- /package/dist/assets/{xterm-addon-fit-THPW0uy0.js → xterm-addon-fit-D_4nBxep.js} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{r as t,s as n}from"./local-settings-lVNyIOJ_.js";import{m as r}from"./native-biometric-Czaf9IqI.js";import{t as i}from"./capture-error-Dhiismgm.js";import{t as a}from"./react-DJZBPgpf.js";import{t as o}from"./button-amTXFI-2.js";import{d as s,h as c}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{N as l,O as u,S as d,T as f,c as p,n as m}from"./QueryClientProvider-DKhXIxGb.js";import{a as h,c as g,d as _,i as v,l as y,o as b,r as x,s as S,t as C,u as w}from"./useQuery-B45lW1Kk.js";import{t as T}from"./jsx-runtime-CVSDxk6A.js";import{t as E}from"./card-Bv5O5juh.js";import{t as D}from"./createLucideIcon-IRfcSUxS.js";import{t as O}from"./check-DFNrQERi.js";import{t as k}from"./chevron-down-qD-re7AW.js";import{t as A}from"./chevron-right-DqqmezXC.js";import{t as j}from"./circle-alert-zOqdmf25.js";import{t as M}from"./circle-check-VSiny8yl.js";import{t as N}from"./copy-Cn1FKrEp.js";import{t as P}from"./external-link-Dqpx9nRm.js";import{t as F}from"./key-round-CD3JWrs1.js";import{t as I}from"./loader-circle-Cz7opInR.js";import{t as L}from"./log-in--aqELu3z.js";import{t as R}from"./pencil-CUIr0IFo.js";import{t as z}from"./plus-DItfr5ux.js";import{t as ee}from"./refresh-cw-DevIHL7J.js";import{t as te}from"./sparkles-PGiR5v1g.js";import{t as ne}from"./x-CkSVp1Ok.js";import{t as re}from"./notice-DkcNAP8O.js";import{t as B}from"./popover-CFL4WZTr.js";import{t as V}from"./input-CoUmPnRU.js";import{t as ie}from"./toggle-CDfguvUz.js";import{n as H,t as ae}from"./list-row-D5MFdbkH.js";import{t as U}from"./modal-D5nLWNN9.js";import{n as W,t as oe}from"./panel-item-CouW2A55.js";import{n as G}from"./toast-xTp-xwYL.js";import{t as K}from"./confirm-dialog-CSkhRFRk.js";import{Ir as q}from"./sdk.gen-BwnFjFcp.js";import{$ as se,$t as ce,Q as le,Qt as ue,Z as de,en as fe,et as pe,nt as me,tn as he,tt as ge}from"./react-query.gen-C6wVk6Rw.js";import{r as _e}from"./api-errors-CrWDzVca.js";import{C as ve}from"./auth-store-C09YAZEu.js";import{r as ye}from"./api-_7pKLlYA.js";import{c as be}from"./routes-BbeIx_F9.js";import{n as xe,t as Se}from"./browser-C6a_nhhZ.js";import{Ct as Ce,S as we,St as Te,b as J,x as Ee}from"./react-query.gen-DPzPS206.js";import{t as De}from"./assistant-feature-flag-store-DA8Oj9Mf.js";import{Ai as Oe,D as ke,Fi as Ae,Ji as je,Jt as Me,Qt as Ne,Sa as Pe,Ur as Fe,Vr as Ie,Xt as Le,Y,Yt as Re,Zt as ze,_r as Be,en as Ve,nn as He,tn as Ue,vi as X,vr as We}from"./index-yu6nDHvG.js";import{t as Ge}from"./use-active-assistant-id-BWXi63qg.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 l{#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,p.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||!u(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=f(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 _(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)&&p.batch(()=>{this.listeners.forEach(e=>{e(this.#t)})})}}},Z=e(a(),1);function Ye({queries:e,...t},n){let r=m(n),i=w(),a=y(),o=Z.useMemo(()=>e.map(e=>{let t=r.defaultQueryOptions(e);return t._optimisticResults=i?`isRestoring`:`optimistic`,t}),[e,r,i]);o.forEach(e=>{x(e),b(e,a,r.getQueryCache().get(e.queryHash))}),g(a);let[s]=Z.useState(()=>new Je(r,o,t)),[c,l,u]=s.getOptimisticResult(o,t.combine),f=!i&&t.subscribed!==!1;Z.useSyncExternalStore(Z.useCallback(e=>f?s.subscribe(p.batchCalls(e)):d,[s,f]),()=>s.getCurrentResult(),()=>s.getCurrentResult()),Z.useEffect(()=>{s.setQueries(o,t)},[o,t,s]);let C=c.some((e,t)=>h(o[t],e))?c.flatMap((e,t)=>{let n=o[t];return n&&h(n,e)?v(n,new _(r,n),a):[]}):[];if(C.length>0)throw Promise.all(C);let T=c.find((e,t)=>{let n=o[t];return n&&S({result:e,errorResetBoundary:a,throwOnError:n.throwOnError,query:r.getQueryCache().get(n.queryHash),suspense:n.suspense})});if(T?.error)throw T.error;return l(u())}var Xe=D(`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=D(`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:i,connectionsQueryKey:a,allConnections:o}){let s=m(),c=r(),l=(0,Z.useRef)(null),u=(0,Z.useRef)(null),d=(0,Z.useRef)(null),f=(0,Z.useRef)(null),[p,h]=(0,Z.useState)(!1),g=()=>{u.current=null,h(!1)},_=()=>{l.current&&!l.current.closed&&l.current.close(),l.current=null,d.current&&=(clearInterval(d.current),null),f.current&&=(clearTimeout(f.current),null)},v=(0,Z.useCallback)(e=>{if(e.type!==`vellum:oauth-complete`||!u.current||e.requestId!==u.current.requestId)return;let{oauthStatus:t,oauthCode:r}=e;if(_(),g(),t===`connected`)G.success(`${n} account connected.`),s.invalidateQueries({queryKey:a});else{let e=r?`Error: ${r}`:`Authorization failed`;G.error(`${n} ${e}`)}},[a,n,s]),y=(0,Z.useCallback)(async(e,n)=>{if(!i)return!1;for(let r=0;r<8;r+=1){r>0&&await Le(750);try{if(s.invalidateQueries({queryKey:a}),Re(await s.fetchQuery({...J({path:{assistant_id:e}}),staleTime:0}),t,n))return!0}catch{}}return!1},[a,i,t,s]);(0,Z.useEffect)(()=>{let e=e=>{let t=u.current;if(!t)return;let n=ze(e,window.location.origin,t.requestId);n&&v(n)},t=e=>{let t=u.current;if(!t)return;let n=Ne(e,t.requestId);n&&(v(n),window.localStorage.removeItem(Ve(t.requestId)))};return window.addEventListener(`message`,e),window.addEventListener(`storage`,t),()=>{window.removeEventListener(`message`,e),window.removeEventListener(`storage`,t)}},[v]),He((0,Z.useCallback)(e=>{let t=u.current;t&&e.requestId===t.requestId&&v({type:`vellum:oauth-complete`,requestId:e.requestId,oauthStatus:e.oauthStatus,oauthProvider:e.oauthProvider,oauthCode:e.oauthCode})},[v])),(0,Z.useEffect)(()=>xe(()=>{let e=u.current;e&&(async()=>{let t=await y(e.platformAssistantId,e.baselineConnectionSignatures);u.current&&(g(),t&&G.success(`${n} account connected.`))})()}),[y,n]),(0,Z.useEffect)(()=>()=>{d.current&&clearInterval(d.current),f.current&&clearTimeout(f.current),l.current&&!l.current.closed&&l.current.close()},[]);let b=Ce();return{handleConnect:(r=[])=>{if(!i)return;let a=crypto.randomUUID();h(!0);let p=async i=>{let l;try{l=await ve(e)}catch(e){_(),g(),G.error(e instanceof Error?e.message:`Failed to start ${n} authorization.`);return}let d=Me(await s.fetchQuery({...J({path:{assistant_id:l}}),staleTime:0}).catch(()=>l===e?o??[]:[]),t);u.current={requestId:a,provider:t,platformAssistantId:l,baselineConnectionSignatures:d},b.mutate({path:{assistant_id:l,provider:t},body:{requested_scopes:r,redirect_after_connect:`${be.account.oauth.popupComplete}?requestId=${a}${c?`&native=1`:``}`}},{onSuccess(e){if(c){Se(e.connect_url);return}i&&!i.closed?i.location.href=e.connect_url:u.current&&(_(),g(),G.error(`${n} connection failed: popup closed.`))},onError(e){_(),g();let t=_e(e,void 0,`Failed to start ${n} authorization.`);G.error(t)}})};if(c){p(null);return}let m=window.open(``,`_blank`,`width=500,height=600`);if(m===null){g(),G.error(`Popup blocked. Please enable popups and try again.`);return}l.current=m,d.current=setInterval(()=>{l.current&&l.current.closed&&u.current&&!f.current&&(f.current=setTimeout(async()=>{f.current=null;let e=u.current;if(!e)return;let t=window.localStorage.getItem(Ve(e.requestId));if(t){let n=Ue(t);if(n&&n.requestId===e.requestId){v(n),window.localStorage.removeItem(Ve(e.requestId));return}}let r=await y(e.platformAssistantId,e.baselineConnectionSignatures);if(u.current){if(r){_(),g(),G.success(`${n} account connected.`);return}_(),g(),G.error(`${n} connection failed: authorization popup closed.`)}},1e3))},100),p(m)},oauthInProgress:p,startOAuthPending:b.isPending}}var Q=T();function $e({displayName:e,providerKey:t,logoUrl:n,connections:r,connectionsLoading:i,startPending:a,oauthInProgress:s,disconnectingId:c,onConnect:l,onDisconnect:u,connectPresets:d=[]}){let f=a||s;return i?(0,Q.jsx)(`div`,{className:`flex items-center justify-center py-10`,children:(0,Q.jsx)(I,{className:`h-5 w-5 animate-spin text-[var(--content-disabled)]`})}):r.length===0?a||s?(0,Q.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-10`,children:[(0,Q.jsx)(Y,{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)(I,{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)(Y,{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)(o,{variant:`primary`,size:`compact`,leftIcon:(0,Q.jsx)(z,{}),onClick:()=>l(),disabled:f,children:`Connect Account`}),d.map(e=>(0,Q.jsx)(o,{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)(Y,{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)(o,{variant:`dangerOutline`,size:`compact`,iconOnly:i?(0,Q.jsx)(I,{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)(I,{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)(o,{variant:`primary`,size:`compact`,leftIcon:(0,Q.jsx)(P,{}),onClick:()=>l(),disabled:f,children:`Connect account`}),d.map(e=>(0,Q.jsx)(o,{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=m(),a=C({...se({path:{assistant_id:e},query:{provider_key:t}}),select:e=>e.apps}),s=C({...ge({path:{assistant_id:e,providerKey:t}}),select:e=>e.oauth_callback_url}),c=a.data??[],l=s.data??null,u=Ye({queries:c.map(t=>({...de({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}}),p=fe({onSuccess:()=>{i.invalidateQueries({queryKey:f}),x(``),w(``),y(!1),G.success(`${n} OAuth app added.`)},onError:e=>{G.error(e.message||`Failed to create OAuth app`)}}),h=ce({onSuccess:()=>{i.invalidateQueries({queryKey:f}),G.success(`OAuth app deleted.`)},onError:e=>{G.error(e.message||`Failed to delete OAuth app`)}}),g=ue({onSuccess:e=>{`auth_url`in e&&(window.location.href=e.auth_url)},onError:e=>{G.error(e.message||`Failed to start OAuth flow`)}}),_=he(),[v,y]=(0,Z.useState)(!1),[b,x]=(0,Z.useState)(``),[S,w]=(0,Z.useState)(``),[T,D]=(0,Z.useState)(!1),[k,A]=(0,Z.useState)(null),[j,M]=(0,Z.useState)(null),F=p.isPending,L=h.isPending?h.variables?.path?.id??null:null,R=g.isPending?g.variables?.path?.appId??null:null,ee=_.isPending?_.variables?.path?.id??null:null,te=()=>{let n=b.trim(),r=S.trim();!n||!r||p.mutate({path:{assistant_id:e},body:{provider_key:t,client_id:n,client_secret:r}})},ne=()=>{let t=k;A(null),t&&h.mutate({path:{assistant_id:e,id:t.id}})},re=t=>{g.mutate({path:{assistant_id:e,appId:t.id},body:{callback_transport:`gateway`,scopes:[]}})};return a.isLoading?(0,Q.jsx)(`div`,{className:`flex items-center justify-center py-10`,children:(0,Q.jsx)(I,{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)(E.Root,{children:(0,Q.jsxs)(E.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)(V,{type:`text`,value:l,readOnly:!0,fullWidth:!0}),(0,Q.jsx)(o,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>{navigator.clipboard.writeText(l).then(()=>{D(!0),G.success(`Copied to clipboard!`),setTimeout(()=>D(!1),2e3)})},"aria-label":T?`Copied`:`Copy redirect URL`,iconOnly:T?(0,Q.jsx)(O,{"aria-hidden":!0}):(0,Q.jsx)(N,{"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)(V,{label:`Client ID`,type:`text`,value:b,onChange:e=>x(e.target.value),placeholder:`Enter your client ID`,fullWidth:!0}),(0,Q.jsx)(V,{label:`Client Secret`,type:`password`,value:S,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)(o,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>{y(!1),x(``),w(``)},disabled:F,children:`Cancel`}):null,(0,Q.jsx)(o,{type:`button`,size:`compact`,onClick:te,disabled:F||!b.trim()||!S.trim(),leftIcon:F?(0,Q.jsx)(I,{className:`animate-spin`,"aria-hidden":!0}):(0,Q.jsx)(z,{"aria-hidden":!0}),children:`Add App`})]})]})}):null,c.map(e=>{let i=d[e.id]??[],a=L===e.id,s=R===e.id;return(0,Q.jsx)(E.Root,{children:(0,Q.jsxs)(E.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)(o,{type:`button`,variant:`dangerOutline`,size:`compact`,onClick:()=>A(e),disabled:a,"aria-label":`Delete OAuth app ${et(e.client_id)}`,iconOnly:a?(0,Q.jsx)(I,{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 a=ee===i.id;return(0,Q.jsxs)(`li`,{className:`flex items-center gap-3 px-3 py-2`,children:[(0,Q.jsx)(Y,{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)(o,{type:`button`,variant:`dangerOutline`,size:`compact`,onClick:()=>M({appId:e.id,connection:i}),disabled:a,"aria-label":`Disconnect ${i.account_info??`${n} account`}`,iconOnly:a?(0,Q.jsx)(I,{className:`animate-spin`,"aria-hidden":!0}):(0,Q.jsx)(X,{"aria-hidden":!0})})]},i.id)})}):null,(0,Q.jsx)(o,{type:`button`,size:`compact`,onClick:()=>re(e),disabled:s,className:`w-full`,leftIcon:s?(0,Q.jsx)(I,{className:`animate-spin`,"aria-hidden":!0}):(0,Q.jsx)(P,{"aria-hidden":!0}),children:s?`Waiting for authorization...`:`Connect account`})]})},e.id)}),c.length>0&&!v?(0,Q.jsx)(o,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>y(!0),className:`w-full border-dashed`,leftIcon:(0,Q.jsx)(z,{"aria-hidden":!0}),children:`Add Another App`}):null,(0,Q.jsx)(K,{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:ne,onCancel:()=>A(null)}),(0,Q.jsx)(K,{open:j!==null,title:`Disconnect ${n}?`,message:j?`Disconnect ${j.connection.account_info??`${n} Account`}? You can reconnect later.`:``,confirmLabel:`Disconnect`,destructive:!0,onConfirm:()=>{let t=j;M(null),t&&_.mutate({path:{assistant_id:e,id:t.connection.id}},{onSuccess:()=>{let r=le({path:{assistant_id:e,appId:t.appId}});i.invalidateQueries({queryKey:r}),i.invalidateQueries({queryKey:f}),G.success(`${n} account disconnected.`)},onError:e=>{G.error(e.message||`Failed to disconnect account`)}})},onCancel:()=>M(null)})]})}var rt={};function it(e){return rt[e]??[]}function at({assistantId:e,platformAssistantId:t,providerKey:n,displayName:r,description:i,logoUrl:a,platformGate:s,onClose:c}){let l=m(),u=s===`full`,d=!Ie(),[f,p]=(0,Z.useState)(s===`gated`&&d?`your-own`:`managed`);(0,Z.useEffect)(()=>{!d&&f===`your-own`&&p(`managed`)},[d,f]);let[h,g]=(0,Z.useState)(null),[_,v]=(0,Z.useState)(null),y=Ee({path:{assistant_id:t}}),{data:b,isLoading:x}=C({...J({path:{assistant_id:t}}),enabled:u}),S=(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}},O=Te({onSuccess(e,t){G.success(`${r} account disconnected.`);let n=t.path.connection_id;we(l,D,e=>e?.filter(e=>e.id!==n)),l.invalidateQueries({queryKey:y}),g(null)},onError(e){let t=_e(e,void 0,`Failed to disconnect ${r} account.`);G.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 k=e=>{v(e)},A=()=>{let e=_;v(null),e&&(g(e.id),O.mutate({path:{assistant_id:t,connection_id:e.id}}))},j=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)(Y,{providerKey:n,displayName:r,logoUrl:a,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:j})]})]}),(0,Q.jsx)(o,{variant:`ghost`,size:`compact`,iconOnly:(0,Q.jsx)(ne,{}),"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:()=>p(`managed`),children:`Managed`}),(0,Q.jsx)(ot,{active:f===`your-own`,onClick:()=>p(`your-own`),children:`Your Own`})]}),f===`managed`&&s!==`gated`?s===`disabled`?(0,Q.jsx)(ke,{children:`Log in to the Vellum platform to manage OAuth connections.`}):(0,Q.jsx)($e,{displayName:r,providerKey:n,logoUrl:a,connections:S,connectionsLoading:x,startPending:E,oauthInProgress:T,disconnectingId:O.isPending?h:null,onConnect:w,onDisconnect:k,connectPresets:it(n)}):d?(0,Q.jsx)(nt,{assistantId:e,providerKey:n,displayName:r,logoUrl:a}):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)(o,{variant:`outlined`,size:`compact`,onClick:c,children:`Confirm`})})]}),(0,Q.jsx)(K,{open:_!==null,title:`Disconnect ${r}?`,message:_?`Disconnect ${_.account_label??`${r} Account`}? You can reconnect later.`:``,confirmLabel:`Disconnect`,destructive:!0,onConfirm:A,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:a,platformGate:s,onConfigure:c}){let l=m(),u=!!a?.connected,[d,f]=(0,Z.useState)(!1),[p,h]=(0,Z.useState)(!1),g=Be(),_=Ee({path:{assistant_id:e}}),v={path:{assistant_id:e}},y=Te({onSuccess(e,t){G.success(`${n} account disconnected.`);let r=t.path.connection_id;we(l,v,e=>e?.filter(e=>e.id!==r)),l.invalidateQueries({queryKey:_})},onError(e){let t=_e(e,void 0,`Failed to disconnect ${n} account.`);G.error(t)}}),b=()=>{a?.id&&h(!0)};return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(E.Root,{children:(0,Q.jsxs)(E.Body,{padding:`sm`,className:`flex items-center gap-4 px-4`,children:[(0,Q.jsx)(Y,{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)(o,{variant:`primary`,onClick:c,className:`shrink-0`,children:`Enable`})]})}),(0,Q.jsx)(K,{open:p,title:`Disconnect ${n}?`,message:`Disconnect your ${n} account? You can reconnect it later.`,confirmLabel:`Disconnect`,destructive:!0,onConfirm:()=>{h(!1),a?.id&&y.mutate({path:{assistant_id:e,connection_id:a.id}})},onCancel:()=>h(!1)})]})}function ct({displayName:e,open:t,onOpenChange:n,onEditConnections:r,onDisable:i,disablePending:a,isMobile:s}){return s?(0,Q.jsxs)(W.Root,{open:t,onOpenChange:n,children:[(0,Q.jsx)(W.Trigger,{asChild:!0,children:(0,Q.jsx)(o,{variant:`outlined`,rightIcon:(0,Q.jsx)(k,{}),"aria-haspopup":`menu`,"aria-expanded":t,children:`Configure`})}),(0,Q.jsxs)(W.Content,{children:[(0,Q.jsx)(W.Header,{children:(0,Q.jsx)(W.Title,{children:e})}),(0,Q.jsxs)(W.Body,{children:[(0,Q.jsx)(oe,{icon:R,label:`Edit connections`,onSelect:r}),(0,Q.jsx)(oe,{icon:a?I:Pe,label:`Disable`,onSelect:()=>{a||i()}})]})]})]}):(0,Q.jsxs)(B.Root,{open:t,onOpenChange:n,children:[(0,Q.jsx)(B.Trigger,{asChild:!0,children:(0,Q.jsx)(o,{variant:`outlined`,rightIcon:(0,Q.jsx)(k,{}),"aria-haspopup":`menu`,"aria-expanded":t,children:`Configure`})}),(0,Q.jsxs)(B.Content,{align:`end`,sideOffset:4,role:`menu`,className:`w-56 overflow-hidden p-0`,children:[(0,Q.jsx)(o,{type:`button`,role:`menuitem`,variant:`ghost`,onClick:r,className:`w-full justify-start rounded-none`,leftIcon:(0,Q.jsx)(R,{"aria-hidden":!0}),children:`Edit connections`}),(0,Q.jsx)(o,{type:`button`,role:`menuitem`,variant:`dangerGhost`,onClick:i,disabled:a,className:`w-full justify-start rounded-none`,leftIcon:a?(0,Q.jsx)(I,{className:`animate-spin`,"aria-hidden":!0}):(0,Q.jsx)(Pe,{"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,a]=(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)(()=>{a(``),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)(U.Root,{open:e,onOpenChange:e=>{e||w()},children:(0,Q.jsxs)(U.Content,{size:`md`,children:[(0,Q.jsxs)(U.Header,{children:[(0,Q.jsx)(U.Title,{icon:Xe,children:`Add MCP Server`}),(0,Q.jsx)(U.Description,{children:`Connect to a Model Context Protocol server to extend available tools.`})]}),(0,Q.jsx)(U.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)(V,{id:`mcp-name`,type:`text`,value:i,onChange:e=>a(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)(V,{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)(V,{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)(V,{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)(V,{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)(V,{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)(V,{id:`mcp-apikey-value`,type:`password`,value:x,onChange:e=>S(e.target.value),placeholder:`sk_...`,fullWidth:!0})]})]}):null]})]})}),(0,Q.jsxs)(U.Footer,{children:[(0,Q.jsx)(o,{variant:`ghost`,onClick:w,disabled:r,children:`Cancel`}),(0,Q.jsx)(o,{variant:`primary`,onClick:T,disabled:!D||r,children:r?`Adding...`:`Add Server`})]})]})})}async function ft(e){let{data:t,response:n}=await q.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 q.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 q.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 q.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 q.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 q.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 q.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 q.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 q.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:M,label:`Connected`,className:`text-[var(--system-positive-strong)]`},"needs-auth":{icon:F,label:`Needs Auth`,className:`text-[var(--system-warning-strong)]`},disabled:{icon:Ae,label:`Disabled`,className:`text-[var(--content-tertiary)]`}},St={icon:j,label:`Error`,className:`text-[var(--system-negative-strong)]`};function Ct({server:e,toolsSummary:t,onToggleEnabled:n,onRemove:r,onConfigure:i,onAuthenticate:a,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)(()=>a(e.id),[a,e.id]),y=(0,Z.useCallback)(()=>s(e.id),[s,e.id]),b=(0,Z.useCallback)(()=>f(e=>!e),[]);return(0,Q.jsx)(E.Root,{children:(0,Q.jsxs)(E.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)(I,{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)(o,{variant:`ghost`,size:`compact`,leftIcon:(0,Q.jsx)(L,{}),onClick:v,disabled:l,children:l?`Authenticating...`:`Authenticate`}):null,e.hasOAuth?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(o,{variant:`ghost`,size:`compact`,leftIcon:(0,Q.jsx)(ee,{}),onClick:v,disabled:l,tooltip:`Re-authenticate OAuth`,children:`Re-auth`}),(0,Q.jsx)(o,{variant:`dangerGhost`,size:`compact`,leftIcon:(0,Q.jsx)(je,{}),onClick:y,disabled:u,tooltip:`Revoke OAuth credentials`,children:u?`Revoking...`:`Revoke`})]}):null,(0,Q.jsx)(ie,{checked:e.enabled,onChange:h,disabled:c,"aria-label":`${e.enabled?`Disable`:`Enable`} ${e.id}`}),(0,Q.jsx)(o,{variant:`ghost`,size:`compact`,onClick:_,tooltip:`Configure`,children:`Configure`}),(0,Q.jsx)(o,{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)(k,{className:`h-3.5 w-3.5`}):(0,Q.jsx)(A,{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)(ae,{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[a,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()!==``,o=t||n||i,s;s=o?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:a,...s===void 0?{}:{headers:s}})},[e,a,c,u,f,m,r]),_=(0,Z.useCallback)(()=>{i||n()},[i,n]);return e?(0,Q.jsx)(U.Root,{open:!!e,onOpenChange:e=>{e||_()},children:(0,Q.jsxs)(U.Content,{size:`lg`,children:[(0,Q.jsxs)(U.Header,{children:[(0,Q.jsx)(U.Title,{icon:Xe,children:e.id}),(0,Q.jsxs)(U.Description,{children:[e.transport.type,` transport · `,e.status]})]}),(0,Q.jsx)(U.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:a,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)(V,{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)(V,{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)(V,{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)(U.Footer,{children:[(0,Q.jsx)(o,{variant:`ghost`,onClick:_,disabled:i,children:`Cancel`}),(0,Q.jsx)(o,{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=m(),n=s(),r=De.use.mcpAddServer(),i=De.use.hasHydrated(),[a,c]=(0,Z.useState)(!1),[l,u]=(0,Z.useState)(null),[d,f]=(0,Z.useState)(null),[p,h]=(0,Z.useState)(new Set),[g,_]=(0,Z.useState)(!1),[v,y]=(0,Z.useState)(!1),[b,x]=(0,Z.useState)(!1),[S,w]=(0,Z.useState)(!1),[T,E]=(0,Z.useState)(null),[D,O]=(0,Z.useState)(null),{data:k,isLoading:A,isError:j}=C({queryKey:[Dt,e],queryFn:()=>ft(e)}),{data:M}=C({queryKey:[Ot,e],queryFn:()=>pt(e)}),N=(0,Z.useCallback)(()=>{t.invalidateQueries({queryKey:[Dt,e]}),t.invalidateQueries({queryKey:[Ot,e]})},[t,e]),P=(0,Z.useMemo)(()=>{let e=new Map;if(M)for(let t of M.servers)e.set(t.serverId,t);return e},[M]),F=(0,Z.useMemo)(()=>!l||!k?null:k.servers.find(e=>e.id===l)??null,[l,k]),L=(0,Z.useCallback)(async(t,n)=>{h(e=>new Set(e).add(t));try{await mt(e,{name:t,enabled:n}),N()}catch{G.error(`Failed to ${n?`enable`:`disable`} ${t}`)}finally{h(e=>{let n=new Set(e);return n.delete(t),n})}},[e,N]),R=(0,Z.useCallback)(async()=>{if(d){y(!0);try{await gt(e,d),N(),G.success(`Removed ${d}`),f(null)}catch{G.error(`Failed to remove ${d}`)}finally{y(!1)}}},[d,e,N]),te=(0,Z.useCallback)(async t=>{E(t);let n;try{n=await _t(e,t)}catch{G.error(`Failed to start authentication for ${t}`),E(null);return}try{if(n.already_authenticated){G.success(`${t} is already authenticated`),N();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`){G.success(`${t} authenticated successfully`),N();return}if(n.status===`error`){G.error(n.error??`Authentication failed for ${t}`);return}}G.error(`Authentication timed out for ${t}`)}catch{G.error(`Authentication polling failed for ${t}`)}finally{E(null),N()}},[e,N]),ne=(0,Z.useCallback)(async t=>{O(t);try{await yt(e,t),N(),G.success(`OAuth credentials revoked for ${t}`)}catch{G.error(`Failed to revoke OAuth for ${t}`)}finally{O(null)}},[e,N]),re=(0,Z.useCallback)(async t=>{let n=t.autoAuth?window.open(`about:blank`,`_blank`,`noopener`):null;_(!0);try{await ht(e,t),N(),G.success(`Added ${t.name}`),c(!1)}catch{G.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(),G.success(`${t.name} is already authenticated`),N();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`){G.success(`${t.name} authenticated successfully`),N();return}if(n.status===`error`){G.error(n.error??`Authentication failed for ${t.name}`);return}}G.error(`Authentication timed out for ${t.name}`)}catch{n?.close(),G.error(`Failed to start authentication for ${t.name}`)}finally{E(null),N()}}},[e,N]),B=(0,Z.useCallback)(async(t,n)=>{x(!0);try{await mt(e,n),N(),G.success(`Updated ${t}`),u(null)}catch{G.error(`Failed to update ${t}`)}finally{x(!1)}},[e,N]),V=(0,Z.useCallback)(async()=>{w(!0);try{await bt(e),N(),G.success(`MCP servers reloaded`)}catch{G.error(`Failed to reload MCP servers`)}finally{w(!1)}},[e,N]),ie=(0,Z.useCallback)(()=>{r?c(!0):We(n,{prompt:kt})},[r,n]),H=k?.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)(o,{variant:`ghost`,size:`compact`,iconOnly:(0,Q.jsx)(ee,{className:S?`animate-spin`:``}),onClick:V,disabled:S,tooltip:`Reload all servers`,"aria-label":`Reload MCP servers`}),r?(0,Q.jsx)(o,{variant:`primary`,size:`compact`,leftIcon:(0,Q.jsx)(z,{}),onClick:()=>c(!0),children:`Add Server`}):null]})]}),M?(0,Q.jsxs)(`div`,{className:`flex gap-4 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,Q.jsxs)(`span`,{children:[M.totalToolCount,` total `,M.totalToolCount===1?`tool`:`tools`]}),(0,Q.jsxs)(`span`,{children:[`~`,M.totalEstimatedTokens.toLocaleString(),` total tokens`]})]}):null,A?(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 py-6 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,Q.jsx)(I,{className:`h-4 w-4 animate-spin`}),(0,Q.jsx)(`span`,{children:`Loading MCP servers...`})]}):j?(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.`}):H.length===0?(0,Q.jsxs)(`button`,{type:`button`,onClick:ie,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:H.map(e=>(0,Q.jsx)(Ct,{server:e,toolsSummary:P.get(e.id),onToggleEnabled:L,onRemove:f,onConfigure:u,onAuthenticate:te,onRevokeOAuth:ne,isUpdating:p.has(e.id),isAuthenticating:T===e.id,isRevoking:D===e.id},e.id))}),r?(0,Q.jsx)(dt,{open:a,onClose:()=>c(!1),onAdd:re,isPending:g}):null,(0,Q.jsx)(Et,{server:F,toolsSummary:l?P.get(l):void 0,onClose:()=>u(null),onSave:B,isPending:b}),(0,Q.jsx)(K,{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}),ve(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]=c(),r=s(),a=Fe(),[o,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 S=()=>{y(!0),n(Nt,`true`)};(0,Z.useEffect)(()=>{let e=!0;return(async()=>{try{let t=await ye();e&&t.ok&&l(t.data)}catch(e){i(e,{context:`integrations.getAssistant`})}finally{e&&d(!1)}})(),()=>{e=!1}},[]);let{platformAssistantId:w,isLoading:T}=Mt(o?.id,a===`full`),{data:E,isLoading:D,isError:O}=C({...me({path:{assistant_id:o?.id??``}}),select:e=>e.providers,enabled:!!o}),{data:A,isLoading:j}=C({...J({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`),i=n?n.charAt(0).toUpperCase()+n.slice(1):null;if(t===`connected`)G.success(i?`${i} account connected successfully.`:`Account connected successfully.`);else if(t===`error`){let t=e.get(`oauth_code`)??`unknown`;G.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]??(i?`Failed to connect ${i}.`:`Failed to connect. Please try again.`))}r(be.settings.integrations,{replace:!0})},[e,r]);let M=(0,Z.useMemo)(()=>E?.filter(e=>e.supports_managed_mode)??[],[E]),N=(0,Z.useMemo)(()=>{let e=f.trim().toLowerCase(),t=M.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=!!$(A,e.provider_key)?.connected;return m===`enabled`?t:!t})),[...t].sort((e,t)=>{let n=!!$(A,e.provider_key)?.connected;if(n!==!!$(A,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)})},[M,A,f,m]),P=u||D||j||T,F=Pt.find(e=>e.value===m)?.label??`All`,L=(()=>{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`}})(),R=(()=>{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.`}})(),z=(0,Z.useMemo)(()=>b?M.find(e=>e.provider_key===b)??null:null,[M,b]);return(0,Q.jsxs)(`div`,{className:`space-y-4`,children:[!v&&(0,Q.jsxs)(re,{tone:`info`,icon:(0,Q.jsx)(te,{className:`h-3.5 w-3.5`}),onDismiss:S,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)(V,{type:`text`,value:f,onChange:e=>p(e.target.value),placeholder:`Search Integrations`,"aria-label":`Search integrations`,leftIcon:(0,Q.jsx)(Oe,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0,wrapperClassName:`flex-1`}),(0,Q.jsxs)(B.Root,{open:g,onOpenChange:_,children:[(0,Q.jsx)(B.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:F}),(0,Q.jsx)(k,{className:`h-3.5 w-3.5`})]})}),(0,Q.jsx)(B.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:P?(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 py-6 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,Q.jsx)(I,{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.`}):o?N.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)(Oe,{className:`h-6 w-6 text-[var(--content-disabled)]`}),(0,Q.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:L}),(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:R})]}):(0,Q.jsx)(`div`,{className:`space-y-2`,children:N.map(e=>(0,Q.jsx)(st,{platformAssistantId:w??o.id,providerKey:e.provider_key,displayName:e.display_name??e.provider_key,description:e.description,logoUrl:e.logo_url,connection:$(A,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.`})}),z&&o&&(0,Q.jsx)(at,{assistantId:o.id,platformAssistantId:w??o.id,providerKey:z.provider_key,displayName:z.display_name??z.provider_key,description:z.description,logoUrl:z.logo_url,platformGate:a,onClose:()=>x(null)})]})}function Lt(){let[e,t]=c(),n=Ft(e.get(`tab`));return(0,Q.jsx)(`div`,{className:`space-y-6`,children:(0,Q.jsxs)(H.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)(H.List,{children:[(0,Q.jsx)(H.Trigger,{value:`oauth`,children:`OAuth`}),(0,Q.jsx)(H.Trigger,{value:`mcp`,children:`MCP`})]}),(0,Q.jsx)(H.Panel,{value:`oauth`,className:`pt-4`,children:(0,Q.jsx)(Z.Suspense,{children:(0,Q.jsx)(It,{})})}),(0,Q.jsx)(H.Panel,{value:`mcp`,className:`pt-4`,children:(0,Q.jsx)(jt,{})})]})})}export{Lt as IntegrationsPage};
|
|
@@ -1 +0,0 @@
|
|
|
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-C36Yvcac.js";import{t as s}from"./typography-D5f7kt80.js";import"./src-zsLiFPw3.js";import{t as c}from"./assistant-identity-store-CX03CK8q.js";import{c as l}from"./routes-BbeIx_F9.js";import{t as u}from"./assistant-feature-flag-store-DA8Oj9Mf.js";import{_r as d,kn as f}from"./index-yu6nDHvG.js";import{t as p}from"./page-shell-BUGBKCmv.js";import{t as m}from"./plugins-surface-z3RTZS4H.js";var h=e(t(),1),g=a(),_=[{label:`Identity`,to:l.identity},{label:`Skills`,to:l.skills.root},{label:`Workspace`,to:l.workspace},{label:`Contacts`,to:l.contacts.root}],v={label:`Plugins`,to:l.plugins},y={label:`Channels`,to:l.channels};function b(){let e=c.use.name(),t=m(),a=u.use.channelTrustFloors(),{pathname:l}=i(),b=d(),x=f.use.setTopBarCenter(),S=t?[_[0],v,..._.slice(1)]:_,C=a?[...S,y]:S;return(0,h.useEffect)(()=>(x(b?(0,g.jsxs)(s,{variant:`body-medium-default`,className:`truncate text-[var(--content-secondary)]`,children:[`About `,e||`Assistant`]}):null),()=>{x(null)}),[b,e,x]),(0,g.jsxs)(p,{children:[(0,g.jsxs)(`h1`,{className:`mb-4 shrink-0 text-title-large text-[var(--content-default)] max-md:hidden`,children:[`About `,e||`Assistant`]}),(0,g.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:C.map(({label:e,to:t})=>{let n=l===t||l.startsWith(t+`/`);return(0,g.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,g.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-y-auto`,children:(0,g.jsx)(n,{})})]})}export{b as IntelligenceLayout};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./button-amTXFI-2.js";import{r}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as i}from"./jsx-runtime-CVSDxk6A.js";import{t as a}from"./card-Bv5O5juh.js";import{t as o}from"./x-CkSVp1Ok.js";import{t as s}from"./notice-DkcNAP8O.js";import{t as c}from"./shortcut-keys-B2EE-634.js";import{t as l}from"./is-electron-y5bNUVyG.js";import{c as u}from"./routes-BbeIx_F9.js";import{Mi as d}from"./index-yu6nDHvG.js";var f=e(t(),1);async function p(){if(!l())return[];let e=window.vellum;return e?.hotkeys?e.hotkeys.get():[]}async function m(e,t){if(!l())return;let n=window.vellum;n?.hotkeys&&await n.hotkeys.set(e,t)}function h(e){if(!l())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:s,onRemove:l}){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)(c,{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:s,"aria-label":`Reset ${e.label} to default`}),(0,x.jsx)(n,{variant:`ghost`,size:`compact`,disabled:u,leftIcon:(0,x.jsx)(o,{className:`h-3.5 w-3.5`}),onClick:l,"aria-label":`Remove ${e.label} binding`})]})]})}function w(){let[e,t]=(0,f.useState)([]),[n,i]=(0,f.useState)(null),[o,c]=(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),c(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){c({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=>{c(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),c({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 l()?(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.`})]}),o!==null&&(0,x.jsxs)(s,{tone:`warning`,children:[`That shortcut is already used by `,o.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:o!==null&&o.key===e.key?o.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 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{d as n,p 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"./loader-circle-Cz7opInR.js";import"./src-zsLiFPw3.js";import{n as s}from"./toast-xTp-xwYL.js";import{n as c}from"./sdk.gen-BwnFjFcp.js";import{c as l}from"./routes-BbeIx_F9.js";import{o as u}from"./viewer-store-B8-Qnbx9.js";import{Et as d,Ut as f,Wt as p,_r as m,r as h,vr as g}from"./index-yu6nDHvG.js";import{t as _}from"./use-active-assistant-id-BWXi63qg.js";import{t as v}from"./deploy-dialogs-paL_zcvG.js";import{t as y}from"./use-edge-swipe-back-B4XlZ1Iu.js";var b=e(t(),1),x=a();function S({enabled:e}){return e?(0,x.jsx)(`div`,{"aria-hidden":!0,className:`absolute inset-y-0 left-0 z-10`,style:{width:20}}):null}function C(){let{appId:e}=r(),t=_(),a=n(),{pathname:C}=i(),w=m(),T=f.use.isDeploying(),E=(0,b.useRef)(null),[D,O]=(0,b.useState)(null),[k,A]=(0,b.useState)(null),[j,M]=(0,b.useState)(!1),N=(0,b.useRef)(null);(0,b.useEffect)(()=>{if(e)return N.current=e,O(null),A(null),c({path:{assistant_id:t,id:e},throwOnError:!0}).then(({data:n})=>{N.current===e&&(u(t,n.appId,n.html),O({appId:n.appId,dirName:n.dirName,name:n.name,html:n.html}))}).catch(t=>{N.current===e&&A(t instanceof Error?t.message:`Failed to open app`)}),()=>{N.current=null}},[t,e]);let P=(0,b.useCallback)(()=>{a(l.library.root)},[a]);y({containerRef:E,onBack:P,enabled:w,navKey:C});let F=h(),I=(0,b.useCallback)(()=>{D&&F(D)},[D,F]),L=(0,b.useCallback)(async()=>{if(!(!D||j)){M(!0);try{await p(t,D.appId,D.name),s.success(`App exported`,{description:`${D.name}.vellum`})}catch(e){s.error(`Failed to share app`,{description:e instanceof Error?e.message:void 0})}finally{M(!1)}}},[t,D,j]),R=(0,b.useCallback)(()=>{D&&f.getState().deployApp(t,D.appId,D.name,D.html)},[t,D]),z=(0,b.useCallback)(e=>{g(a,{prompt:e})},[a]);return e?k?(0,x.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center gap-4`,children:[(0,x.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:k}),(0,x.jsx)(`button`,{type:`button`,onClick:P,className:`text-body-medium-default text-[var(--primary-base)] underline`,children:`Back to Library`})]}):D?(0,x.jsxs)(x.Fragment,{children:[(0,x.jsxs)(`div`,{ref:E,className:`relative flex min-h-0 flex-1 flex-col`,children:[(0,x.jsx)(S,{enabled:w}),(0,x.jsx)(d,{appId:D.appId,appName:D.name,html:D.html,assistantId:t,onClose:P,onEdit:I,onShare:L,isSharing:j,onDeploy:R,isDeploying:T,enableFullscreen:!0})]}),(0,x.jsx)(v,{assistantId:t,onStartConversation:z})]}):(0,x.jsx)(`div`,{className:`flex flex-1 items-center justify-center`,children:(0,x.jsx)(o,{className:`h-6 w-6 animate-spin text-[var(--content-tertiary)]`})}):null}export{C as LibraryDetailPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./button-amTXFI-2.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{t as s}from"./menu-Dy5QbnTj.js";import{t as c}from"./file-text-CYJz-GvF.js";import{t as l}from"./globe-4qSOWE2N.js";import"./src-zsLiFPw3.js";import{t as u}from"./input-CoUmPnRU.js";import{n as d,t as f}from"./panel-item-CouW2A55.js";import{n as p}from"./toast-xTp-xwYL.js";import{s as m}from"./sdk.gen-BwnFjFcp.js";import{E as h,n as g,t as _}from"./react-query.gen-C6wVk6Rw.js";import{c as v}from"./routes-BbeIx_F9.js";import{a as y}from"./viewer-store-B8-Qnbx9.js";import{t as b}from"./misc-BYQPh7vS.js";import{Ai as x,Ct as S,Li as C,Ri as w,St as T,Ut as E,Wt as D,X as O,_i as k,_r as A,dn as j,ea as M,fa as N,ka as P,vi as F,vr as I}from"./index-yu6nDHvG.js";import{t as L}from"./use-active-assistant-id-BWXi63qg.js";import{t as R}from"./deploy-dialogs-paL_zcvG.js";import{t as z}from"./page-shell-BUGBKCmv.js";import{t as B}from"./format-date-CghpPTDc.js";var V=e(t(),1),H=o();function U(e){return e===1?`1 word`:`${e} words`}function W({document:e,onOpen:t}){return(0,H.jsxs)(`div`,{className:`group relative flex flex-col gap-2`,children:[(0,H.jsxs)(`button`,{type:`button`,onClick:()=>t(e.surfaceId),className:b(`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,H.jsx)(c,{size:34,className:`text-[var(--content-tertiary)]`}),(0,H.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:U(e.wordCount)})]}),(0,H.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,H.jsx)(`span`,{className:`truncate text-body-large-default text-[color:var(--content-emphasised)]`,children:e.title}),(0,H.jsx)(`span`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:B(new Date(e.updatedAt))})]})]})}function G({fileInputRef:e,isImporting:t,onImportBundle:r,onNewConversation:i}){return(0,H.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-4 px-4 py-24`,children:[(0,H.jsx)(`input`,{ref:e,type:`file`,accept:`.vellum`,className:`hidden`,onChange:r}),(0,H.jsx)(`div`,{className:`flex h-16 w-16 items-center justify-center rounded-xl bg-[var(--surface-base)]`,children:(0,H.jsx)(M,{size:32,className:`text-[var(--content-tertiary)]`})}),(0,H.jsx)(`h2`,{className:`text-title-medium text-[var(--content-default)]`,children:`Your library is empty`}),(0,H.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,H.jsxs)(`div`,{className:`flex flex-col items-center gap-3`,children:[i?(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(n,{variant:`primary`,size:`regular`,onClick:i,children:`New Conversation`}),(0,H.jsx)(`span`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:`or`})]}):null,(0,H.jsxs)(n,{variant:`outlined`,size:`regular`,onClick:()=>e.current?.click(),disabled:t,children:[t?(0,H.jsx)(`div`,{className:`h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent`}):(0,H.jsx)(k,{size:14}),(0,H.jsx)(`span`,{className:`ml-1.5`,children:`Import .vellum File`})]})]})]})}function K({app:e,assistantId:t,isPinned:n,onOpen:r,onPin:i,onDelete:a,onDeploy:o,justImported:s,onAnimationEnd:c}){let[l,u]=(0,V.useState)(!1),d=(0,V.useCallback)(()=>y(t,e.id),[t,e.id]),f=(0,V.useCallback)(async()=>{if(!l){u(!0);try{await D(t,e.id,e.name),p.success(`App exported`,{description:`${e.name}.vellum`})}catch(e){p.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,V.useState)(!1),g=A();return(0,H.jsxs)(`div`,{className:b(`group relative flex flex-col gap-2`,s&&`animate-[card-entrance_400ms_ease-out]`),onAnimationEnd:s?c:void 0,children:[(0,H.jsx)(`button`,{type:`button`,onClick:()=>r(e.id),className:b(`relative w-full cursor-pointer overflow-hidden rounded-xl`,`outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`),children:(0,H.jsx)(O,{name:e.name,icon:e.icon,loadHtml:d})}),(0,H.jsx)(`div`,{className:b(`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,H.jsx)(q,{appName:e.name,isPinned:n,open:m,onOpenChange:h,onPin:()=>i(e),onDelete:a?()=>a(e):void 0,onShare:f,onDeploy:o,isMobile:g})}),(0,H.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,H.jsx)(`span`,{className:`truncate text-body-large-default text-[color:var(--content-emphasised)]`,children:e.name}),(0,H.jsx)(`span`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:B(new Date(e.createdAt))})]})]})}function q({appName:e,isPinned:t,open:r,onOpenChange:i,onPin:a,onDelete:o,onShare:c,onDeploy:u,isMobile:p}){return p?(0,H.jsxs)(d.Root,{open:r,onOpenChange:i,children:[(0,H.jsx)(d.Trigger,{asChild:!0,children:(0,H.jsx)(n,{variant:`primary`,size:`compact`,iconOnly:(0,H.jsx)(N,{}),"aria-label":`App actions`,onClick:e=>e.stopPropagation()})}),(0,H.jsxs)(d.Content,{children:[(0,H.jsx)(d.Header,{className:`sr-only`,children:(0,H.jsx)(d.Title,{children:e})}),(0,H.jsxs)(d.Body,{className:`pt-0`,children:[(0,H.jsx)(f,{icon:t?w:C,label:t?`Unpin`:`Pin`,onSelect:()=>{i(!1),a()}}),c?(0,H.jsx)(f,{icon:P,label:(0,H.jsxs)(`span`,{className:`flex flex-col gap-0.5 overflow-visible whitespace-normal`,children:[(0,H.jsx)(`span`,{children:`Share`}),(0,H.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Export as .vellum file`})]}),onSelect:()=>{i(!1),c()}}):null,u?(0,H.jsx)(f,{icon:l,label:(0,H.jsxs)(`span`,{className:`flex flex-col gap-0.5 overflow-visible whitespace-normal`,children:[(0,H.jsx)(`span`,{children:`Deploy to Vercel`}),(0,H.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Publish as a static page`})]}),onSelect:()=>{i(!1),u()}}):null,o?(0,H.jsx)(f,{icon:F,label:`Delete`,onSelect:()=>{i(!1),o()}}):null]})]})]}):(0,H.jsxs)(s.Root,{open:r,onOpenChange:i,children:[(0,H.jsx)(s.Trigger,{asChild:!0,children:(0,H.jsx)(n,{variant:`primary`,size:`compact`,iconOnly:(0,H.jsx)(N,{}),"aria-label":`App actions`,onClick:e=>e.stopPropagation()})}),(0,H.jsxs)(s.Content,{align:`end`,sideOffset:4,children:[(0,H.jsx)(s.Item,{leftIcon:t?(0,H.jsx)(w,{size:14}):(0,H.jsx)(C,{size:14}),onSelect:()=>a(),className:`whitespace-nowrap`,children:t?`Unpin`:`Pin`}),c?(0,H.jsx)(s.Item,{leftIcon:(0,H.jsx)(P,{size:14}),onSelect:()=>c(),className:`whitespace-nowrap`,children:`Share`}):null,u?(0,H.jsx)(s.Item,{leftIcon:(0,H.jsx)(l,{size:14}),onSelect:()=>u(),className:`whitespace-nowrap`,children:`Deploy to Vercel`}):null,o?(0,H.jsx)(s.Item,{leftIcon:(0,H.jsx)(F,{size:14,className:`text-red-600`}),onSelect:()=>o(),className:`whitespace-nowrap text-red-600 data-[highlighted]:text-red-700`,children:`Delete`}):null]})]})}function J({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,H.jsxs)(`section`,{children:[(0,H.jsx)(`h2`,{className:`mb-4 text-body-small-emphasised text-[color:var(--content-secondary)]`,children:e}),(0,H.jsx)(`div`,{className:`grid grid-cols-[repeat(auto-fill,minmax(max(220px,calc((100%-6rem)/5)),1fr))] gap-6`,children:t.map(e=>(0,H.jsx)(K,{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 Y=(e,t)=>t.updatedAt-e.updatedAt||t.createdAt-e.createdAt;function X(e){let t=j.use.pinnedAppIds(),{data:n=[],isLoading:r,error:i}=a({..._({path:{assistant_id:e}}),select:e=>e.apps}),{data:o=[],isLoading:s,error:c}=a({...h({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,V.useState)(``),p=(0,V.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,V.useMemo)(()=>p.filter(e=>t.has(e.id)).sort(Y),[p,t]),recentApps:(0,V.useMemo)(()=>p.filter(e=>!t.has(e.id)).sort(Y),[p,t]),filteredDocuments:(0,V.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 Z(e,t){let{data:n,error:r,response:i}=await m({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 Q({assistantId:e,assistantName:t,title:r,onNewConversation:a,onOpenDocument:o,onOpenApp:s}){let c=i(),l=j.use.togglePin(),d=j.use.pinnedAppIds(),f=E.use.isDeploying(),{apps:m,documents:h,filteredApps:_,pinnedApps:v,recentApps:b,filteredDocuments:C,searchText:w,setSearchText:D,loading:O,error:A}=X(e),{pendingDelete:M,isDeleting:N,requestDelete:P,confirmDelete:F,cancelDelete:I}=T(e),L=(0,V.useRef)(null),[z,B]=(0,V.useState)(!1),U=(0,V.useCallback)(async t=>{let n=t.target.files?.[0];if(!(!n||z)){B(!0);try{let t=await Z(e,n);await c.invalidateQueries({queryKey:g({path:{assistant_id:e}})}),p.success(t.name+` imported`),s(t.appId)}catch(e){p.error(e instanceof Error?e.message:`Failed to import app`)}finally{B(!1),L.current&&(L.current.value=``)}}},[e,z,c,s]),K=(0,V.useCallback)(async t=>{if(f)return;let n=m.find(e=>e.id===t)?.name??`this app`;try{let r=await y(e,t);E.getState().deployApp(e,t,n,r)}catch{E.getState().deployApp(e,t,n,``)}},[e,f,m]),q=(0,V.useCallback)(e=>l(e),[l]);return O?(0,H.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,H.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`})}):A?(0,H.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-4 px-4`,children:[(0,H.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:A}),(0,H.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,H.jsx)(G,{fileInputRef:L,isImporting:z,onImportBundle:U,onNewConversation:a?()=>a():void 0}):(0,H.jsxs)(`div`,{className:`flex h-full flex-col overflow-hidden`,children:[(0,H.jsxs)(`div`,{className:`mb-4 flex shrink-0 items-center justify-between gap-4`,children:[r?(0,H.jsx)(`h1`,{className:`text-title-large text-[var(--content-default)]`,children:r}):(0,H.jsx)(`span`,{}),(0,H.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,H.jsx)(`input`,{ref:L,type:`file`,accept:`.vellum`,className:`hidden`,onChange:U}),(0,H.jsxs)(n,{variant:`outlined`,size:`regular`,onClick:()=>L.current?.click(),disabled:z,children:[z?(0,H.jsx)(`div`,{className:`h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent`}):(0,H.jsx)(k,{size:14}),(0,H.jsx)(`span`,{className:`ml-1.5`,children:`Import`})]})]})]}),(0,H.jsx)(`div`,{className:`mb-6 shrink-0`,children:(0,H.jsx)(u,{fullWidth:!0,type:`text`,placeholder:`Search your library`,value:w,onChange:e=>D(e.target.value),leftIcon:(0,H.jsx)(x,{size:16})})}),(0,H.jsx)(`div`,{className:`flex-1 overflow-y-auto`,children:_.length===0&&C.length===0?(0,H.jsxs)(`div`,{className:`flex flex-col items-center justify-center py-16`,children:[(0,H.jsx)(x,{size:32,className:`mb-4 text-[var(--content-tertiary)]`}),(0,H.jsxs)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:[`No apps or documents matched “`,w,`”`]})]}):(0,H.jsxs)(`div`,{className:`flex flex-col gap-8`,children:[(0,H.jsx)(J,{title:`Pinned`,apps:v,assistantId:e,pinnedAppIds:d,onOpen:s,onPin:q,onDelete:P,onDeploy:K}),(0,H.jsx)(J,{title:`Recents`,apps:b,assistantId:e,pinnedAppIds:d,onOpen:s,onPin:q,onDelete:P,onDeploy:K}),C.length>0?(0,H.jsxs)(`section`,{children:[(0,H.jsx)(`h2`,{className:`mb-4 text-body-small-emphasised text-[color:var(--content-secondary)]`,children:`Documents`}),(0,H.jsx)(`div`,{className:`grid grid-cols-[repeat(auto-fill,minmax(max(220px,calc((100%-6rem)/5)),1fr))] gap-6`,children:C.map(e=>(0,H.jsx)(W,{document:e,onOpen:e=>{o&&o(e)}},e.surfaceId))})]}):null]})}),(0,H.jsx)(R,{assistantId:e,assistantName:t,onStartConversation:a}),(0,H.jsx)(S,{app:M,isDeleting:N,onConfirm:F,onCancel:I})]})}function $(){let e=L(),t=r();return(0,H.jsx)(z,{children:(0,H.jsx)(Q,{assistantId:e,title:`Library`,onNewConversation:(0,V.useCallback)(e=>{I(t,{prompt:e})},[t]),onOpenDocument:(0,V.useCallback)(e=>{t(v.document(e))},[t]),onOpenApp:(0,V.useCallback)(e=>{t(v.library.app(e))},[t])})})}export{$ as LibraryPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./jsx-runtime-CVSDxk6A.js";import{a as r,t as i}from"./cn-C36Yvcac.js";import{t as a}from"./chevron-right-DqqmezXC.js";import{a as o,i as s,n as c,o as l,r as u,s as d,t as f}from"./dist-BItmZQO6.js";var p=e(t(),1),m=n();function h(e){let t=e+`CollectionProvider`,[n,i]=d(t),[a,o]=n(t,{collectionRef:{current:null},itemMap:new Map}),s=e=>{let{scope:t,children:n}=e,r=p.useRef(null),i=p.useRef(new Map).current;return(0,m.jsx)(a,{scope:t,itemMap:i,collectionRef:r,children:n})};s.displayName=t;let l=e+`CollectionSlot`,u=c(l),f=p.forwardRef((e,t)=>{let{scope:n,children:i}=e;return(0,m.jsx)(u,{ref:r(t,o(l,n).collectionRef),children:i})});f.displayName=l;let h=e+`CollectionItemSlot`,g=`data-radix-collection-item`,_=c(h),v=p.forwardRef((e,t)=>{let{scope:n,children:i,...a}=e,s=p.useRef(null),c=r(t,s),l=o(h,n);return p.useEffect(()=>(l.itemMap.set(s,{ref:s,...a}),()=>void l.itemMap.delete(s))),(0,m.jsx)(_,{[g]:``,ref:c,children:i})});v.displayName=h;function y(t){let n=o(e+`CollectionConsumer`,t);return p.useCallback(()=>{let e=n.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${g}]`));return Array.from(n.itemMap.values()).sort((e,n)=>t.indexOf(e.ref.current)-t.indexOf(n.ref.current))},[n.collectionRef,n.itemMap])}return[{Provider:s,Slot:f,ItemSlot:v},y,i]}var g=p.useId||(()=>void 0),_=0;function v(e){let[t,n]=p.useState(g());return o(()=>{e||n(e=>e??String(_++))},[e]),e||(t?`radix-${t}`:``)}function y(e){let t=p.useRef(e);return p.useEffect(()=>{t.current=e}),p.useMemo(()=>(...e)=>t.current?.(...e),[])}var b=p.createContext(void 0);function x(e){let t=p.useContext(b);return e||t||`ltr`}var S=`rovingFocusGroup.onEntryFocus`,ee={bubbles:!1,cancelable:!0},C=`RovingFocusGroup`,[w,T,E]=h(C),[D,O]=d(C,[E]),[k,A]=D(C),j=p.forwardRef((e,t)=>(0,m.jsx)(w.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,m.jsx)(w.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,m.jsx)(M,{...e,ref:t})})}));j.displayName=C;var M=p.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,orientation:i,loop:a=!1,dir:o,currentTabStopId:c,defaultCurrentTabStopId:u,onCurrentTabStopIdChange:d,onEntryFocus:h,preventScrollOnEntryFocus:g=!1,..._}=e,v=p.useRef(null),b=r(t,v),w=x(o),[E,D]=s({prop:c,defaultProp:u??null,onChange:d,caller:C}),[O,A]=p.useState(!1),j=y(h),M=T(n),N=p.useRef(!1),[P,F]=p.useState(0);return p.useEffect(()=>{let e=v.current;if(e)return e.addEventListener(S,j),()=>e.removeEventListener(S,j)},[j]),(0,m.jsx)(k,{scope:n,orientation:i,dir:w,loop:a,currentTabStopId:E,onItemFocus:p.useCallback(e=>D(e),[D]),onItemShiftTab:p.useCallback(()=>A(!0),[]),onFocusableItemAdd:p.useCallback(()=>F(e=>e+1),[]),onFocusableItemRemove:p.useCallback(()=>F(e=>e-1),[]),children:(0,m.jsx)(f.div,{tabIndex:O||P===0?-1:0,"data-orientation":i,..._,ref:b,style:{outline:`none`,...e.style},onMouseDown:l(e.onMouseDown,()=>{N.current=!0}),onFocus:l(e.onFocus,e=>{let t=!N.current;if(e.target===e.currentTarget&&t&&!O){let t=new CustomEvent(S,ee);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=M().filter(e=>e.focusable);I([e.find(e=>e.active),e.find(e=>e.id===E),...e].filter(Boolean).map(e=>e.ref.current),g)}}N.current=!1}),onBlur:l(e.onBlur,()=>A(!1))})})}),N=`RovingFocusGroupItem`,P=p.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,focusable:r=!0,active:i=!1,tabStopId:a,children:o,...s}=e,c=v(),u=a||c,d=A(N,n),h=d.currentTabStopId===u,g=T(n),{onFocusableItemAdd:_,onFocusableItemRemove:y,currentTabStopId:b}=d;return p.useEffect(()=>{if(r)return _(),()=>y()},[r,_,y]),(0,m.jsx)(w.ItemSlot,{scope:n,id:u,focusable:r,active:i,children:(0,m.jsx)(f.span,{tabIndex:h?0:-1,"data-orientation":d.orientation,...s,ref:t,onMouseDown:l(e.onMouseDown,e=>{r?d.onItemFocus(u):e.preventDefault()}),onFocus:l(e.onFocus,()=>d.onItemFocus(u)),onKeyDown:l(e.onKeyDown,e=>{if(e.key===`Tab`&&e.shiftKey){d.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let t=ne(e,d.orientation,d.dir);if(t!==void 0){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let n=g().filter(e=>e.focusable).map(e=>e.ref.current);if(t===`last`)n.reverse();else if(t===`prev`||t===`next`){t===`prev`&&n.reverse();let r=n.indexOf(e.currentTarget);n=d.loop?L(n,r+1):n.slice(r+1)}setTimeout(()=>I(n))}}),children:typeof o==`function`?o({isCurrentTabStop:h,hasTabStop:b!=null}):o})})});P.displayName=N;var F={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function te(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}function ne(e,t,n){let r=te(e.key,n);if(!(t===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(r))&&!(t===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(r)))return F[r]}function I(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function L(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var R=j,z=P,B=`Tabs`,[V,re]=d(B,[O]),H=O(),[ie,U]=V(B),W=p.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,onValueChange:i,defaultValue:a,orientation:o=`horizontal`,dir:c,activationMode:l=`automatic`,...u}=e,d=x(c),[p,h]=s({prop:r,onChange:i,defaultProp:a??``,caller:B});return(0,m.jsx)(ie,{scope:n,baseId:v(),value:p,onValueChange:h,orientation:o,dir:d,activationMode:l,children:(0,m.jsx)(f.div,{dir:d,"data-orientation":o,...u,ref:t})})});W.displayName=B;var G=`TabsList`,K=p.forwardRef((e,t)=>{let{__scopeTabs:n,loop:r=!0,...i}=e,a=U(G,n),o=H(n);return(0,m.jsx)(R,{asChild:!0,...o,orientation:a.orientation,dir:a.dir,loop:r,children:(0,m.jsx)(f.div,{role:`tablist`,"aria-orientation":a.orientation,...i,ref:t})})});K.displayName=G;var q=`TabsTrigger`,J=p.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,disabled:i=!1,...a}=e,o=U(q,n),s=H(n),c=Z(o.baseId,r),u=Q(o.baseId,r),d=r===o.value;return(0,m.jsx)(z,{asChild:!0,...s,focusable:!i,active:d,children:(0,m.jsx)(f.button,{type:`button`,role:`tab`,"aria-selected":d,"aria-controls":u,"data-state":d?`active`:`inactive`,"data-disabled":i?``:void 0,disabled:i,id:c,...a,ref:t,onMouseDown:l(e.onMouseDown,e=>{!i&&e.button===0&&e.ctrlKey===!1?o.onValueChange(r):e.preventDefault()}),onKeyDown:l(e.onKeyDown,e=>{[` `,`Enter`].includes(e.key)&&o.onValueChange(r)}),onFocus:l(e.onFocus,()=>{let e=o.activationMode!==`manual`;!d&&!i&&e&&o.onValueChange(r)})})})});J.displayName=q;var Y=`TabsContent`,X=p.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,forceMount:i,children:a,...o}=e,s=U(Y,n),c=Z(s.baseId,r),l=Q(s.baseId,r),d=r===s.value,h=p.useRef(d);return p.useEffect(()=>{let e=requestAnimationFrame(()=>h.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,m.jsx)(u,{present:i||d,children:({present:n})=>(0,m.jsx)(f.div,{"data-state":d?`active`:`inactive`,"data-orientation":s.orientation,role:`tabpanel`,"aria-labelledby":c,hidden:!n,id:l,tabIndex:0,...o,ref:t,style:{...e.style,animationDuration:h.current?`0s`:void 0},children:n&&a})})});X.displayName=Y;function Z(e,t){return`${e}-trigger-${t}`}function Q(e,t){return`${e}-content-${t}`}var ae=W,oe=K,se=J,ce=X;function le({className:e,ref:t,...n}){return(0,m.jsx)(ae,{ref:t,"data-slot":`tabs`,className:e,...n})}function $({className:e,ref:t,...n}){return(0,m.jsx)(oe,{ref:t,"data-slot":`tabs-list`,className:i(`flex items-center border-b border-[var(--border-base)]`,e),...n})}function ue({className:e,ref:t,...n}){return(0,m.jsx)(se,{ref:t,"data-slot":`tabs-trigger`,className:i(`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 de({className:e,ref:t,...n}){return(0,m.jsx)(ce,{ref:t,"data-slot":`tabs-panel`,className:i(`outline-none keyboard-focus:ring-2 keyboard-focus:ring-[var(--ring)] keyboard-focus:ring-offset-0`,e),...n})}var fe={Root:le,List:$,Trigger:ue,Panel:de};function pe({leading:e,title:t,subtitle:n,trailing:r,showChevron:o,selected:s,disabled:c,onClick:l,href:u,contentAriaLabel:d,className:f,ref:p,...h}){let g=!!(l||u),_=o??g,v=(0,m.jsxs)(m.Fragment,{children:[(0,m.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:[(0,m.jsx)(`span`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:t}),n==null?null:(0,m.jsx)(`span`,{className:`min-w-0 text-label-small-default text-[var(--content-tertiary)]`,children:n})]}),r!=null||_?(0,m.jsxs)(`div`,{className:`flex shrink-0 items-center gap-4`,children:[r,_?(0,m.jsx)(a,{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&&!c?(0,m.jsx)(`a`,{href:u,"aria-label":d,className:i(y,`cursor-pointer`),children:v}):l?(0,m.jsx)(`button`,{type:`button`,onClick:l,disabled:c,"aria-label":d,className:i(y,`cursor-pointer disabled:cursor-not-allowed`),children:v}):(0,m.jsx)(`div`,{className:y,children:v}),(0,m.jsxs)(`div`,{...h,ref:p,"data-slot":`list-row`,className:i(`flex items-center gap-3 rounded-md px-2 py-3 transition-colors`,`[&+&]:border-t [&+&]:border-[var(--border-base)]`,g&&!s&&!c&&`hover:bg-[var(--surface-hover)]`,s&&`bg-[var(--surface-active)]`,c&&`opacity-60`,f),children:[e,b]})}export{h as a,v as i,fe as n,x as r,pe as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e=`model`,t={model:`Model`,task:`Action`,profile:`Profile`},n=[{value:`model`,label:t.model},{value:`task`,label:t.task},{value:`profile`,label:t.profile}];function r(e){return e===`model`||e===`task`||e===`profile`}function i(e){switch(e){case`model`:return`model`;case`task`:return`call_site`;case`profile`:return`inference_profile`}}function a(e){switch(e){case`model`:return`model`;case`task`:return`llm_call_site`;case`profile`:return`inference_profile`}}export{a,r as i,n,i as o,t as r,e as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./createLucideIcon-IRfcSUxS.js";var t=e(`loader-circle`,[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{f as t,m as n,p as r}from"./native-biometric-Czaf9IqI.js";import{t as i}from"./react-DJZBPgpf.js";import{t as a}from"./button-amTXFI-2.js";import{h as o,t as s}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as c}from"./jsx-runtime-CVSDxk6A.js";import{t as l}from"./cn-C36Yvcac.js";import"./src-zsLiFPw3.js";import{c as u}from"./routes-BbeIx_F9.js";import{n as d,r as f}from"./login-flow-B6q00uIW.js";import{t as p}from"./public-asset-GKv5zCfZ.js";var m=e(i(),1),h=c();function g({children:e}){return(0,h.jsxs)(`div`,{className:`fixed inset-0 z-50 flex flex-col items-center justify-center bg-[var(--surface-base)] text-[var(--content-default)]`,children:[(0,h.jsx)(`img`,{src:p(`/vellum-logo.svg`),alt:`Vellum`,width:220,height:66,className:`block dark:hidden`}),(0,h.jsx)(`img`,{src:p(`/vellum-logo-white.svg`),alt:`Vellum`,width:220,height:66,className:`hidden dark:block`}),e,(0,h.jsx)(`div`,{"aria-hidden":!0,className:`pointer-events-none absolute left-1/2 w-full max-w-[900px] -translate-x-1/2`,style:{bottom:0},children:(0,h.jsx)(`img`,{src:p(`/login-background-characters.svg`),alt:``,width:880,height:182,className:`h-auto w-full`})})]})}function _(){return(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(`div`,{className:`pointer-events-none absolute top-[120px] left-1/2 z-0 -translate-x-1/2`,children:(0,h.jsx)(`img`,{src:p(`/vellum-logo-white.svg`),alt:`Vellum`,width:92,height:28})}),(0,h.jsx)(`div`,{"aria-hidden":!0,className:`pointer-events-none absolute right-0 bottom-0 left-1/2 z-0 w-full max-w-[1100px] -translate-x-1/2`,children:(0,h.jsx)(`img`,{src:p(`/login-background-characters.svg`),alt:``,width:880,height:182,className:`h-auto w-full`})})]})}var v=`flex w-full max-w-[448px] flex-col gap-6 rounded-lg border border-[var(--border-disabled)] bg-[var(--surface-lift)] p-6`;function y({children:e}){return(0,h.jsx)(`div`,{className:v,children:e})}function b({children:e}){return(0,h.jsx)(`h1`,{className:`text-title-large text-center text-[var(--content-emphasised)]`,children:e})}function x({children:e,className:t}){return(0,h.jsx)(`p`,{className:l(`text-body-small-default text-center text-[var(--system-negative-strong)]`,t),children:e})}function S({children:e}){return(0,h.jsx)(`div`,{className:`dark`,children:(0,h.jsxs)(`div`,{className:`relative min-h-screen overflow-x-hidden bg-[var(--surface-base)] text-[var(--content-default)]`,children:[(0,h.jsx)(_,{}),(0,h.jsx)(`div`,{className:`relative z-10 flex min-h-screen flex-col items-center justify-center px-4`,children:e})]})})}var C={signup_closed:`Sign-ups are currently closed. Visit vellum.ai/community to request access.`};function w({returnTo:e}){let[t,n]=(0,m.useState)(null),[i,o]=(0,m.useState)(!1),s=async()=>{n(null),o(!0);try{await r({returnTo:e??null})}catch(e){let t=e&&typeof e==`object`&&`code`in e?e.code:void 0;if(t===`USER_CANCELLED`){o(!1);return}if(t===`AUTH_ERROR`){let t=e&&typeof e==`object`&&`data`in e&&e.data&&typeof e.data==`object`&&`authError`in e.data&&typeof e.data.authError==`string`?e.data.authError:void 0;n((t&&C[t])??`Something went wrong. Please try again.`)}else console.error(`[native-auth] auth flow failed:`,e),n(`Something went wrong. Please try again.`);o(!1)}};return(0,h.jsx)(g,{children:(0,h.jsxs)(`div`,{className:`z-10 mt-8 flex w-full max-w-[320px] flex-col items-center gap-3`,children:[t&&(0,h.jsx)(x,{className:`max-w-[280px]`,children:t}),(0,h.jsx)(a,{type:`button`,variant:`primary`,fullWidth:!0,onClick:()=>{s()},disabled:i,className:`max-w-[300px]`,children:`Sign in`})]})})}function T({returnTo:e}){let[n,r]=(0,m.useState)(null),[i,o]=(0,m.useState)(!1),c=f(e),l=e?`${u.account.signup}?returnTo=${encodeURIComponent(e)}`:u.account.signup,p=async()=>{r(null),o(!0);try{await t(d,c,{returnTo:e})}catch(e){console.error(`[web-login] auth flow failed:`,e),r(`Something went wrong. Please try again.`),o(!1)}};return(0,h.jsx)(S,{children:(0,h.jsxs)(y,{children:[(0,h.jsx)(b,{children:`Sign in to Vellum`}),n&&(0,h.jsx)(x,{children:n}),(0,h.jsx)(`div`,{className:`flex flex-col items-center gap-3`,children:(0,h.jsx)(a,{type:`button`,variant:`primary`,fullWidth:!0,onClick:()=>void p(),disabled:i,className:`max-w-[300px]`,children:`Continue`})}),(0,h.jsxs)(`p`,{className:`text-body-small-default flex justify-center gap-1`,children:[(0,h.jsx)(`span`,{className:`text-[var(--content-secondary)]`,children:`Don't have an account?`}),(0,h.jsx)(s,{to:l,className:`font-medium text-[var(--content-emphasised)] hover:underline`,children:`Sign up`})]})]})})}function E(){let[e]=o(),t=n(),r=e.get(`returnTo`);return t?(0,h.jsx)(w,{returnTo:r}):(0,h.jsx)(T,{returnTo:r})}export{E as LoginPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{i as n,u as r}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as i}from"./jsx-runtime-CVSDxk6A.js";import{t as a}from"./createLucideIcon-IRfcSUxS.js";import{c as o}from"./routes-BbeIx_F9.js";import{Da as s,Ur as c,qi as l}from"./index-yu6nDHvG.js";import{n as u,t as d}from"./sidebar-tree-C1_LiBB9.js";var f=a(`monitor-cog`,[[`path`,{d:`M12 17v4`,key:`1riwvh`}],[`path`,{d:`m14.305 7.53.923-.382`,key:`1mlnsw`}],[`path`,{d:`m15.228 4.852-.923-.383`,key:`82mpwg`}],[`path`,{d:`m16.852 3.228-.383-.924`,key:`ln4sir`}],[`path`,{d:`m16.852 8.772-.383.923`,key:`1dejw0`}],[`path`,{d:`m19.148 3.228.383-.924`,key:`192kgf`}],[`path`,{d:`m19.53 9.696-.382-.924`,key:`fiavlr`}],[`path`,{d:`m20.772 4.852.924-.383`,key:`1j8mgp`}],[`path`,{d:`m20.772 7.148.924.383`,key:`zix9be`}],[`path`,{d:`M22 13v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7`,key:`1tnzv8`}],[`path`,{d:`M8 21h8`,key:`1ev6f3`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}]]),p=e(t(),1),m=[{id:`usage`,label:`Usage`,href:o.logs.usage,icon:s},{id:`emails`,label:`Emails`,href:o.logs.emails,icon:l},{id:`system-events`,label:`System Events`,href:o.logs.systemEvents,icon:f}],h=i();function g(){let e=c({platformHostedOnly:!0}),t=c(),{pathname:i}=r(),a=(0,p.useMemo)(()=>m.filter(n=>!(n.id===`system-events`&&e===`gated`||n.id===`emails`&&t===`gated`)),[e,t]),s=(0,p.useMemo)(()=>{let e=m.find(e=>i===e.href||i.startsWith(e.href+`/`));return e?e.label:i===o.logs.root?m[0]?.label??`Logs & Usage`:`Logs & Usage`},[i]);return(0,h.jsx)(u,{backHref:o.assistant,sidebar:(0,h.jsx)(d,{items:a,indexPath:o.logs.root}),title:s,menuRoute:o.logs.root,children:(0,h.jsx)(n,{})})}export{g as LogsLayout};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{A as n,D as r,M as i,N as a,O as o,T as s,a as c,c as l,d as u,f as d,j as f,k as p,l as m,o as h,p as g,s as _,u as v,w as y}from"./button-amTXFI-2.js";import{t as b}from"./jsx-runtime-CVSDxk6A.js";import{t as x}from"./cn-C36Yvcac.js";import{t as S}from"./createLucideIcon-IRfcSUxS.js";import{t as C}from"./check-DFNrQERi.js";import{t as w}from"./chevron-right-DqqmezXC.js";import{i as ee,n as T,r as te,t as ne}from"./Combination-Cd_aWAsj.js";import{n as E,t as D}from"./dist-HJ505Xnn.js";var re=S(`circle`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]),O=e(t(),1),k=b(),A=`rovingFocusGroup.onEntryFocus`,j={bubbles:!1,cancelable:!0},M=`RovingFocusGroup`,[N,P,F]=E(M),[ie,I]=f(M,[F]),[ae,L]=ie(M),oe=O.forwardRef((e,t)=>(0,k.jsx)(N.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,k.jsx)(N.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,k.jsx)(se,{...e,ref:t})})}));oe.displayName=M;var se=O.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,orientation:s,loop:c=!1,dir:l,currentTabStopId:u,defaultCurrentTabStopId:d,onCurrentTabStopIdChange:f,onEntryFocus:p,preventScrollOnEntryFocus:m=!1,...g}=e,_=O.useRef(null),v=i(t,_),y=D(l),[b,x]=h({prop:u,defaultProp:d??null,onChange:f,caller:M}),[S,C]=O.useState(!1),w=r(p),ee=P(n),T=O.useRef(!1),[te,ne]=O.useState(0);return O.useEffect(()=>{let e=_.current;if(e)return e.addEventListener(A,w),()=>e.removeEventListener(A,w)},[w]),(0,k.jsx)(ae,{scope:n,orientation:s,dir:y,loop:c,currentTabStopId:b,onItemFocus:O.useCallback(e=>x(e),[x]),onItemShiftTab:O.useCallback(()=>C(!0),[]),onFocusableItemAdd:O.useCallback(()=>ne(e=>e+1),[]),onFocusableItemRemove:O.useCallback(()=>ne(e=>e-1),[]),children:(0,k.jsx)(o.div,{tabIndex:S||te===0?-1:0,"data-orientation":s,...g,ref:v,style:{outline:`none`,...e.style},onMouseDown:a(e.onMouseDown,()=>{T.current=!0}),onFocus:a(e.onFocus,e=>{let t=!T.current;if(e.target===e.currentTarget&&t&&!S){let t=new CustomEvent(A,j);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=ee().filter(e=>e.focusable);pe([e.find(e=>e.active),e.find(e=>e.id===b),...e].filter(Boolean).map(e=>e.ref.current),m)}}T.current=!1}),onBlur:a(e.onBlur,()=>C(!1))})})}),ce=`RovingFocusGroupItem`,le=O.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,focusable:r=!0,active:i=!1,tabStopId:s,children:c,...l}=e,u=y(),d=s||u,f=L(ce,n),p=f.currentTabStopId===d,m=P(n),{onFocusableItemAdd:h,onFocusableItemRemove:g,currentTabStopId:_}=f;return O.useEffect(()=>{if(r)return h(),()=>g()},[r,h,g]),(0,k.jsx)(N.ItemSlot,{scope:n,id:d,focusable:r,active:i,children:(0,k.jsx)(o.span,{tabIndex:p?0:-1,"data-orientation":f.orientation,...l,ref:t,onMouseDown:a(e.onMouseDown,e=>{r?f.onItemFocus(d):e.preventDefault()}),onFocus:a(e.onFocus,()=>f.onItemFocus(d)),onKeyDown:a(e.onKeyDown,e=>{if(e.key===`Tab`&&e.shiftKey){f.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let t=fe(e,f.orientation,f.dir);if(t!==void 0){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let n=m().filter(e=>e.focusable).map(e=>e.ref.current);if(t===`last`)n.reverse();else if(t===`prev`||t===`next`){t===`prev`&&n.reverse();let r=n.indexOf(e.currentTarget);n=f.loop?me(n,r+1):n.slice(r+1)}setTimeout(()=>pe(n))}}),children:typeof c==`function`?c({isCurrentTabStop:p,hasTabStop:_!=null}):c})})});le.displayName=ce;var ue={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function de(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}function fe(e,t,n){let r=de(e.key,n);if(!(t===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(r))&&!(t===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(r)))return ue[r]}function pe(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function me(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var he=oe,ge=le,_e=[`Enter`,` `],ve=[`ArrowDown`,`PageUp`,`Home`],ye=[`ArrowUp`,`PageDown`,`End`],be=[...ve,...ye],xe={ltr:[..._e,`ArrowRight`],rtl:[..._e,`ArrowLeft`]},Se={ltr:[`ArrowLeft`],rtl:[`ArrowRight`]},R=`Menu`,[z,Ce,we]=E(R),[B,Te]=f(R,[we,g,I]),V=g(),Ee=I(),[De,H]=B(R),[Oe,U]=B(R),ke=e=>{let{__scopeMenu:t,open:n=!1,children:i,dir:a,onOpenChange:o,modal:s=!0}=e,c=V(t),[l,u]=O.useState(null),f=O.useRef(!1),p=r(o),m=D(a);return O.useEffect(()=>{let e=()=>{f.current=!0,document.addEventListener(`pointerdown`,t,{capture:!0,once:!0}),document.addEventListener(`pointermove`,t,{capture:!0,once:!0})},t=()=>f.current=!1;return document.addEventListener(`keydown`,e,{capture:!0}),()=>{document.removeEventListener(`keydown`,e,{capture:!0}),document.removeEventListener(`pointerdown`,t,{capture:!0}),document.removeEventListener(`pointermove`,t,{capture:!0})}},[]),O.useEffect(()=>{if(!n)return;let e=()=>p(!1);return window.addEventListener(`blur`,e),()=>window.removeEventListener(`blur`,e)},[n,p]),(0,k.jsx)(d,{...c,children:(0,k.jsx)(De,{scope:t,open:n,onOpenChange:p,content:l,onContentChange:u,children:(0,k.jsx)(Oe,{scope:t,onClose:O.useCallback(()=>p(!1),[p]),isUsingKeyboardRef:f,dir:m,modal:s,children:i})})})};ke.displayName=R;var Ae=`MenuAnchor`,je=O.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,i=V(n);return(0,k.jsx)(m,{...i,...r,ref:t})});je.displayName=Ae;var Me=`MenuPortal`,[Ne,Pe]=B(Me,{forceMount:void 0}),Fe=e=>{let{__scopeMenu:t,forceMount:n,children:r,container:i}=e,a=H(Me,t);return(0,k.jsx)(Ne,{scope:t,forceMount:n,children:(0,k.jsx)(_,{present:n||a.open,children:(0,k.jsx)(l,{asChild:!0,container:i,children:r})})})};Fe.displayName=Me;var W=`MenuContent`,[Ie,Le]=B(W),Re=O.forwardRef((e,t)=>{let n=Pe(W,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,a=H(W,e.__scopeMenu),o=U(W,e.__scopeMenu);return(0,k.jsx)(z.Provider,{scope:e.__scopeMenu,children:(0,k.jsx)(_,{present:r||a.open,children:(0,k.jsx)(z.Slot,{scope:e.__scopeMenu,children:o.modal?(0,k.jsx)(ze,{...i,ref:t}):(0,k.jsx)(Be,{...i,ref:t})})})})}),ze=O.forwardRef((e,t)=>{let n=H(W,e.__scopeMenu),r=O.useRef(null),o=i(t,r);return O.useEffect(()=>{let e=r.current;if(e)return T(e)},[]),(0,k.jsx)(He,{...e,ref:o,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:a(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),Be=O.forwardRef((e,t)=>{let n=H(W,e.__scopeMenu);return(0,k.jsx)(He,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),Ve=n(`MenuContent.ScrollLock`),He=O.forwardRef((e,t)=>{let{__scopeMenu:n,loop:r=!1,trapFocus:o,onOpenAutoFocus:c,onCloseAutoFocus:l,disableOutsidePointerEvents:d,onEntryFocus:f,onEscapeKeyDown:p,onPointerDownOutside:m,onFocusOutside:h,onInteractOutside:g,onDismiss:_,disableOutsideScroll:v,...y}=e,b=H(W,n),x=U(W,n),S=V(n),C=Ee(n),w=Ce(n),[T,E]=O.useState(null),D=O.useRef(null),re=i(t,D,b.onContentChange),A=O.useRef(0),j=O.useRef(``),M=O.useRef(0),N=O.useRef(null),P=O.useRef(`right`),F=O.useRef(0),ie=v?ne:O.Fragment,I=v?{as:Ve,allowPinchZoom:!0}:void 0,ae=e=>{let t=j.current+e,n=w().filter(e=>!e.disabled),r=document.activeElement,i=n.find(e=>e.ref.current===r)?.textValue,a=xt(n.map(e=>e.textValue),t,i),o=n.find(e=>e.textValue===a)?.ref.current;(function e(t){j.current=t,window.clearTimeout(A.current),t!==``&&(A.current=window.setTimeout(()=>e(``),1e3))})(t),o&&setTimeout(()=>o.focus())};O.useEffect(()=>()=>window.clearTimeout(A.current),[]),ee();let L=O.useCallback(e=>P.current===N.current?.side&&Ct(e,N.current?.area),[]);return(0,k.jsx)(Ie,{scope:n,searchRef:j,onItemEnter:O.useCallback(e=>{L(e)&&e.preventDefault()},[L]),onItemLeave:O.useCallback(e=>{L(e)||(D.current?.focus(),E(null))},[L]),onTriggerLeave:O.useCallback(e=>{L(e)&&e.preventDefault()},[L]),pointerGraceTimerRef:M,onPointerGraceIntentChange:O.useCallback(e=>{N.current=e},[]),children:(0,k.jsx)(ie,{...I,children:(0,k.jsx)(te,{asChild:!0,trapped:o,onMountAutoFocus:a(c,e=>{e.preventDefault(),D.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:l,children:(0,k.jsx)(s,{asChild:!0,disableOutsidePointerEvents:d,onEscapeKeyDown:p,onPointerDownOutside:m,onFocusOutside:h,onInteractOutside:g,onDismiss:_,children:(0,k.jsx)(he,{asChild:!0,...C,dir:x.dir,orientation:`vertical`,loop:r,currentTabStopId:T,onCurrentTabStopIdChange:E,onEntryFocus:a(f,e=>{x.isUsingKeyboardRef.current||e.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,k.jsx)(u,{role:`menu`,"aria-orientation":`vertical`,"data-state":_t(b.open),"data-radix-menu-content":``,dir:x.dir,...S,...y,ref:re,style:{outline:`none`,...y.style},onKeyDown:a(y.onKeyDown,e=>{let t=e.target.closest(`[data-radix-menu-content]`)===e.currentTarget,n=e.ctrlKey||e.altKey||e.metaKey,r=e.key.length===1;t&&(e.key===`Tab`&&e.preventDefault(),!n&&r&&ae(e.key));let i=D.current;if(e.target!==i||!be.includes(e.key))return;e.preventDefault();let a=w().filter(e=>!e.disabled).map(e=>e.ref.current);ye.includes(e.key)&&a.reverse(),yt(a)}),onBlur:a(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(A.current),j.current=``)}),onPointerMove:a(e.onPointerMove,X(e=>{let t=e.target,n=F.current!==e.clientX;e.currentTarget.contains(t)&&n&&(P.current=e.clientX>F.current?`right`:`left`,F.current=e.clientX)}))})})})})})})});Re.displayName=W;var Ue=`MenuGroup`,We=O.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,k.jsx)(o.div,{role:`group`,...r,ref:t})});We.displayName=Ue;var Ge=`MenuLabel`,Ke=O.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,k.jsx)(o.div,{...r,ref:t})});Ke.displayName=Ge;var G=`MenuItem`,qe=`menu.itemSelect`,K=O.forwardRef((e,t)=>{let{disabled:n=!1,onSelect:r,...o}=e,s=O.useRef(null),c=U(G,e.__scopeMenu),l=Le(G,e.__scopeMenu),u=i(t,s),d=O.useRef(!1),f=()=>{let e=s.current;if(!n&&e){let t=new CustomEvent(qe,{bubbles:!0,cancelable:!0});e.addEventListener(qe,e=>r?.(e),{once:!0}),p(e,t),t.defaultPrevented?d.current=!1:c.onClose()}};return(0,k.jsx)(Je,{...o,ref:u,disabled:n,onClick:a(e.onClick,f),onPointerDown:t=>{e.onPointerDown?.(t),d.current=!0},onPointerUp:a(e.onPointerUp,e=>{d.current||e.currentTarget?.click()}),onKeyDown:a(e.onKeyDown,e=>{let t=l.searchRef.current!==``;n||t&&e.key===` `||_e.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})});K.displayName=G;var Je=O.forwardRef((e,t)=>{let{__scopeMenu:n,disabled:r=!1,textValue:s,...c}=e,l=Le(G,n),u=Ee(n),d=O.useRef(null),f=i(t,d),[p,m]=O.useState(!1),[h,g]=O.useState(``);return O.useEffect(()=>{let e=d.current;e&&g((e.textContent??``).trim())},[c.children]),(0,k.jsx)(z.ItemSlot,{scope:n,disabled:r,textValue:s??h,children:(0,k.jsx)(ge,{asChild:!0,...u,focusable:!r,children:(0,k.jsx)(o.div,{role:`menuitem`,"data-highlighted":p?``:void 0,"aria-disabled":r||void 0,"data-disabled":r?``:void 0,...c,ref:f,onPointerMove:a(e.onPointerMove,X(e=>{r?l.onItemLeave(e):(l.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:a(e.onPointerLeave,X(e=>l.onItemLeave(e))),onFocus:a(e.onFocus,()=>m(!0)),onBlur:a(e.onBlur,()=>m(!1))})})})}),Ye=`MenuCheckboxItem`,Xe=O.forwardRef((e,t)=>{let{checked:n=!1,onCheckedChange:r,...i}=e;return(0,k.jsx)(rt,{scope:e.__scopeMenu,checked:n,children:(0,k.jsx)(K,{role:`menuitemcheckbox`,"aria-checked":Y(n)?`mixed`:n,...i,ref:t,"data-state":vt(n),onSelect:a(i.onSelect,()=>r?.(Y(n)?!0:!n),{checkForDefaultPrevented:!1})})})});Xe.displayName=Ye;var Ze=`MenuRadioGroup`,[Qe,$e]=B(Ze,{value:void 0,onValueChange:()=>{}}),et=O.forwardRef((e,t)=>{let{value:n,onValueChange:i,...a}=e,o=r(i);return(0,k.jsx)(Qe,{scope:e.__scopeMenu,value:n,onValueChange:o,children:(0,k.jsx)(We,{...a,ref:t})})});et.displayName=Ze;var tt=`MenuRadioItem`,nt=O.forwardRef((e,t)=>{let{value:n,...r}=e,i=$e(tt,e.__scopeMenu),o=n===i.value;return(0,k.jsx)(rt,{scope:e.__scopeMenu,checked:o,children:(0,k.jsx)(K,{role:`menuitemradio`,"aria-checked":o,...r,ref:t,"data-state":vt(o),onSelect:a(r.onSelect,()=>i.onValueChange?.(n),{checkForDefaultPrevented:!1})})})});nt.displayName=tt;var q=`MenuItemIndicator`,[rt,it]=B(q,{checked:!1}),at=O.forwardRef((e,t)=>{let{__scopeMenu:n,forceMount:r,...i}=e,a=it(q,n);return(0,k.jsx)(_,{present:r||Y(a.checked)||a.checked===!0,children:(0,k.jsx)(o.span,{...i,ref:t,"data-state":vt(a.checked)})})});at.displayName=q;var ot=`MenuSeparator`,st=O.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,k.jsx)(o.div,{role:`separator`,"aria-orientation":`horizontal`,...r,ref:t})});st.displayName=ot;var ct=`MenuArrow`,lt=O.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,i=V(n);return(0,k.jsx)(v,{...i,...r,ref:t})});lt.displayName=ct;var ut=`MenuSub`,[dt,ft]=B(ut),pt=e=>{let{__scopeMenu:t,children:n,open:i=!1,onOpenChange:a}=e,o=H(ut,t),s=V(t),[c,l]=O.useState(null),[u,f]=O.useState(null),p=r(a);return O.useEffect(()=>(o.open===!1&&p(!1),()=>p(!1)),[o.open,p]),(0,k.jsx)(d,{...s,children:(0,k.jsx)(De,{scope:t,open:i,onOpenChange:p,content:u,onContentChange:f,children:(0,k.jsx)(dt,{scope:t,contentId:y(),triggerId:y(),trigger:c,onTriggerChange:l,children:n})})})};pt.displayName=ut;var J=`MenuSubTrigger`,mt=O.forwardRef((e,t)=>{let n=H(J,e.__scopeMenu),r=U(J,e.__scopeMenu),o=ft(J,e.__scopeMenu),s=Le(J,e.__scopeMenu),c=O.useRef(null),{pointerGraceTimerRef:l,onPointerGraceIntentChange:u}=s,d={__scopeMenu:e.__scopeMenu},f=O.useCallback(()=>{c.current&&window.clearTimeout(c.current),c.current=null},[]);O.useEffect(()=>f,[f]),O.useEffect(()=>{let e=l.current;return()=>{window.clearTimeout(e),u(null)}},[l,u]);let p=i(t,o.onTriggerChange);return(0,k.jsx)(je,{asChild:!0,...d,children:(0,k.jsx)(Je,{id:o.triggerId,"aria-haspopup":`menu`,"aria-expanded":n.open,"aria-controls":n.open?o.contentId:void 0,"data-state":_t(n.open),...e,ref:p,onClick:t=>{e.onClick?.(t),!(e.disabled||t.defaultPrevented)&&(t.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:a(e.onPointerMove,X(t=>{s.onItemEnter(t),!t.defaultPrevented&&!e.disabled&&!n.open&&!c.current&&(s.onPointerGraceIntentChange(null),c.current=window.setTimeout(()=>{n.onOpenChange(!0),f()},100))})),onPointerLeave:a(e.onPointerLeave,X(e=>{f();let t=n.content?.getBoundingClientRect();if(t){let r=n.content?.dataset.side,i=r===`right`,a=i?-5:5,o=t[i?`left`:`right`],c=t[i?`right`:`left`];s.onPointerGraceIntentChange({area:[{x:e.clientX+a,y:e.clientY},{x:o,y:t.top},{x:c,y:t.top},{x:c,y:t.bottom},{x:o,y:t.bottom}],side:r}),window.clearTimeout(l.current),l.current=window.setTimeout(()=>s.onPointerGraceIntentChange(null),300)}else{if(s.onTriggerLeave(e),e.defaultPrevented)return;s.onPointerGraceIntentChange(null)}})),onKeyDown:a(e.onKeyDown,t=>{let i=s.searchRef.current!==``;e.disabled||i&&t.key===` `||xe[r.dir].includes(t.key)&&(n.onOpenChange(!0),n.content?.focus(),t.preventDefault())})})})});mt.displayName=J;var ht=`MenuSubContent`,gt=O.forwardRef((e,t)=>{let n=Pe(W,e.__scopeMenu),{forceMount:r=n.forceMount,align:o=`start`,...s}=e,c=H(W,e.__scopeMenu),l=U(W,e.__scopeMenu),u=ft(ht,e.__scopeMenu),d=O.useRef(null),f=i(t,d);return(0,k.jsx)(z.Provider,{scope:e.__scopeMenu,children:(0,k.jsx)(_,{present:r||c.open,children:(0,k.jsx)(z.Slot,{scope:e.__scopeMenu,children:(0,k.jsx)(He,{id:u.contentId,"aria-labelledby":u.triggerId,...s,ref:f,align:o,side:l.dir===`rtl`?`left`:`right`,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:e=>{l.isUsingKeyboardRef.current&&d.current?.focus(),e.preventDefault()},onCloseAutoFocus:e=>e.preventDefault(),onFocusOutside:a(e.onFocusOutside,e=>{e.target!==u.trigger&&c.onOpenChange(!1)}),onEscapeKeyDown:a(e.onEscapeKeyDown,e=>{l.onClose(),e.preventDefault()}),onKeyDown:a(e.onKeyDown,e=>{let t=e.currentTarget.contains(e.target),n=Se[l.dir].includes(e.key);t&&n&&(c.onOpenChange(!1),u.trigger?.focus(),e.preventDefault())})})})})})});gt.displayName=ht;function _t(e){return e?`open`:`closed`}function Y(e){return e===`indeterminate`}function vt(e){return Y(e)?`indeterminate`:e?`checked`:`unchecked`}function yt(e){let t=document.activeElement;for(let n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function bt(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function xt(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=bt(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}function St(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e],s=t[a],c=o.x,l=o.y,u=s.x,d=s.y;l>r!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}function Ct(e,t){return t?St({x:e.clientX,y:e.clientY},t):!1}function X(e){return t=>t.pointerType===`mouse`?e(t):void 0}var wt=ke,Tt=je,Et=Fe,Dt=Re,Ot=We,kt=Ke,At=K,jt=Xe,Mt=et,Nt=nt,Pt=at,Ft=st,It=lt,Lt=pt,Rt=mt,zt=gt,Z=`DropdownMenu`,[Bt,Vt]=f(Z,[Te]),Q=Te(),[Ht,Ut]=Bt(Z),Wt=e=>{let{__scopeDropdownMenu:t,children:n,dir:r,open:i,defaultOpen:a,onOpenChange:o,modal:s=!0}=e,c=Q(t),l=O.useRef(null),[u,d]=h({prop:i,defaultProp:a??!1,onChange:o,caller:Z});return(0,k.jsx)(Ht,{scope:t,triggerId:y(),triggerRef:l,contentId:y(),open:u,onOpenChange:d,onOpenToggle:O.useCallback(()=>d(e=>!e),[d]),modal:s,children:(0,k.jsx)(wt,{...c,open:u,onOpenChange:d,dir:r,modal:s,children:n})})};Wt.displayName=Z;var Gt=`DropdownMenuTrigger`,Kt=O.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,disabled:r=!1,...s}=e,c=Ut(Gt,n),l=Q(n),u=i(t,c.triggerRef);return(0,k.jsx)(Tt,{asChild:!0,...l,children:(0,k.jsx)(o.button,{type:`button`,id:c.triggerId,"aria-haspopup":`menu`,"aria-expanded":c.open,"aria-controls":c.open?c.contentId:void 0,"data-state":c.open?`open`:`closed`,"data-disabled":r?``:void 0,disabled:r,...s,ref:u,onPointerDown:a(e.onPointerDown,e=>{!r&&e.button===0&&e.ctrlKey===!1&&(c.onOpenToggle(),c.open||e.preventDefault())}),onKeyDown:a(e.onKeyDown,e=>{r||([`Enter`,` `].includes(e.key)&&c.onOpenToggle(),e.key===`ArrowDown`&&c.onOpenChange(!0),[`Enter`,` `,`ArrowDown`].includes(e.key)&&e.preventDefault())})})})});Kt.displayName=Gt;var qt=`DropdownMenuPortal`,Jt=e=>{let{__scopeDropdownMenu:t,...n}=e,r=Q(t);return(0,k.jsx)(Et,{...r,...n})};Jt.displayName=qt;var Yt=`DropdownMenuContent`,Xt=O.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Ut(Yt,n),o=Q(n),s=O.useRef(!1);return(0,k.jsx)(Dt,{id:i.contentId,"aria-labelledby":i.triggerId,...o,...r,ref:t,onCloseAutoFocus:a(e.onCloseAutoFocus,e=>{s.current||i.triggerRef.current?.focus(),s.current=!1,e.preventDefault()}),onInteractOutside:a(e.onInteractOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0,r=t.button===2||n;(!i.modal||r)&&(s.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-dropdown-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-dropdown-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-dropdown-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-dropdown-menu-trigger-height":`var(--radix-popper-anchor-height)`}})});Xt.displayName=Yt;var Zt=`DropdownMenuGroup`,Qt=O.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Q(n);return(0,k.jsx)(Ot,{...i,...r,ref:t})});Qt.displayName=Zt;var $t=`DropdownMenuLabel`,en=O.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Q(n);return(0,k.jsx)(kt,{...i,...r,ref:t})});en.displayName=$t;var tn=`DropdownMenuItem`,nn=O.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Q(n);return(0,k.jsx)(At,{...i,...r,ref:t})});nn.displayName=tn;var rn=`DropdownMenuCheckboxItem`,an=O.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Q(n);return(0,k.jsx)(jt,{...i,...r,ref:t})});an.displayName=rn;var on=`DropdownMenuRadioGroup`,sn=O.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Q(n);return(0,k.jsx)(Mt,{...i,...r,ref:t})});sn.displayName=on;var cn=`DropdownMenuRadioItem`,ln=O.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Q(n);return(0,k.jsx)(Nt,{...i,...r,ref:t})});ln.displayName=cn;var un=`DropdownMenuItemIndicator`,dn=O.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Q(n);return(0,k.jsx)(Pt,{...i,...r,ref:t})});dn.displayName=un;var fn=`DropdownMenuSeparator`,pn=O.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Q(n);return(0,k.jsx)(Ft,{...i,...r,ref:t})});pn.displayName=fn;var mn=`DropdownMenuArrow`,hn=O.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Q(n);return(0,k.jsx)(It,{...i,...r,ref:t})});hn.displayName=mn;var gn=e=>{let{__scopeDropdownMenu:t,children:n,open:r,onOpenChange:i,defaultOpen:a}=e,o=Q(t),[s,c]=h({prop:r,defaultProp:a??!1,onChange:i,caller:`DropdownMenuSub`});return(0,k.jsx)(Lt,{...o,open:s,onOpenChange:c,children:n})},_n=`DropdownMenuSubTrigger`,vn=O.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Q(n);return(0,k.jsx)(Rt,{...i,...r,ref:t})});vn.displayName=_n;var yn=`DropdownMenuSubContent`,bn=O.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Q(n);return(0,k.jsx)(zt,{...i,...r,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-dropdown-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-dropdown-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-dropdown-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-dropdown-menu-trigger-height":`var(--radix-popper-anchor-height)`}})});bn.displayName=yn;var xn=Wt,Sn=Kt,Cn=Jt,wn=Xt,Tn=en,En=nn,Dn=an,On=sn,kn=ln,An=dn,jn=pn,Mn=gn,Nn=vn,Pn=bn,$=[`relative flex cursor-pointer select-none items-center gap-2`,`rounded-md px-2 py-1.5 text-body-medium-default outline-none`,`text-[var(--content-secondary)]`,`data-[highlighted]:bg-[var(--surface-hover)]`,`data-[highlighted]:text-[var(--content-emphasised)]`,`data-[disabled]:cursor-not-allowed data-[disabled]:text-[var(--content-disabled)]`,`data-[disabled]:data-[highlighted]:bg-transparent`,`transition-colors`].join(` `),Fn=[`z-50 min-w-[10rem] overflow-hidden rounded-lg bg-[var(--surface-lift)] p-2 shadow-[var(--shadow-popover)]`,`data-[state=open]:animate-in data-[state=closed]:animate-out`,`data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0`,`data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95`].join(` `),In=xn;function Ln({asChild:e=!0,...t}){return(0,k.jsx)(Sn,{"data-slot":`menu-trigger`,asChild:e,...t})}function Rn({className:e,sideOffset:t=6,collisionPadding:n=8,onPointerDownOutside:r,onCloseAutoFocus:i,ref:a,...o}){let s=c(),l=(0,O.useRef)(!1);return(0,k.jsx)(Cn,{container:s??void 0,children:(0,k.jsx)(wn,{ref:a,"data-slot":`menu-content`,sideOffset:t,collisionPadding:n,onPointerDownOutside:e=>{l.current=!0,r?.(e)},onCloseAutoFocus:e=>{l.current&&=(e.preventDefault(),!1),i?.(e)},className:x(Fn,e),...o})})}function zn({className:e,children:t,leftIcon:n,shortcut:r,ref:i,...a}){return(0,k.jsxs)(En,{ref:i,"data-slot":`menu-item`,className:x($,e),...a,children:[n?(0,k.jsx)(`span`,{className:`flex h-4 w-4 shrink-0 items-center justify-center text-[var(--content-tertiary)]`,"aria-hidden":!0,children:n}):null,(0,k.jsx)(`span`,{className:`flex-1 truncate`,children:t}),r?(0,k.jsx)(`span`,{className:`ml-auto pl-4 text-body-small-default tracking-wide text-[var(--content-tertiary)]`,children:r}):null]})}function Bn({className:e,children:t,checked:n,shortcut:r,ref:i,...a}){return(0,k.jsxs)(Dn,{ref:i,checked:n,"data-slot":`menu-checkbox-item`,className:x($,`pl-7`,e),...a,children:[(0,k.jsx)(`span`,{className:`absolute left-1.5 flex h-4 w-4 items-center justify-center`,children:(0,k.jsx)(An,{children:(0,k.jsx)(C,{className:`h-3.5 w-3.5 text-[var(--content-default)]`,"aria-hidden":!0})})}),(0,k.jsx)(`span`,{className:`flex-1 truncate`,children:t}),r?(0,k.jsx)(`span`,{className:`ml-auto pl-4 text-body-small-default tracking-wide text-[var(--content-tertiary)]`,children:r}):null]})}function Vn({ref:e,...t}){return(0,k.jsx)(On,{ref:e,"data-slot":`menu-radio-group`,...t})}function Hn({className:e,children:t,shortcut:n,ref:r,...i}){return(0,k.jsxs)(kn,{ref:r,"data-slot":`menu-radio-item`,className:x($,`pl-7`,e),...i,children:[(0,k.jsx)(`span`,{className:`absolute left-1.5 flex h-4 w-4 items-center justify-center`,children:(0,k.jsx)(An,{children:(0,k.jsx)(re,{className:`h-2 w-2 fill-current text-[var(--content-default)]`,"aria-hidden":!0})})}),(0,k.jsx)(`span`,{className:`flex-1 truncate`,children:t}),n?(0,k.jsx)(`span`,{className:`ml-auto pl-4 text-body-small-default tracking-wide text-[var(--content-tertiary)]`,children:n}):null]})}function Un({className:e,ref:t,...n}){return(0,k.jsx)(jn,{ref:t,"data-slot":`menu-separator`,className:x(`my-1 h-px bg-[var(--border-base)]`,e),...n})}function Wn({className:e,ref:t,...n}){return(0,k.jsx)(Tn,{ref:t,"data-slot":`menu-label`,className:x(`px-2 py-1.5 text-body-small-default uppercase tracking-wide`,`text-[var(--content-tertiary)]`,e),...n})}var Gn=Mn;function Kn({className:e,children:t,leftIcon:n,ref:r,...i}){return(0,k.jsxs)(Nn,{ref:r,"data-slot":`menu-sub-trigger`,className:x($,`data-[state=open]:bg-[var(--surface-hover)]`,`data-[state=open]:text-[var(--content-emphasised)]`,e),...i,children:[n?(0,k.jsx)(`span`,{className:`flex h-4 w-4 shrink-0 items-center justify-center text-[var(--content-tertiary)]`,"aria-hidden":!0,children:n}):null,(0,k.jsx)(`span`,{className:`flex-1 truncate`,children:t}),(0,k.jsx)(w,{className:`ml-auto h-3.5 w-3.5 text-[var(--content-tertiary)]`,"aria-hidden":!0})]})}function qn({className:e,ref:t,...n}){let r=c();return(0,k.jsx)(Cn,{container:r??void 0,children:(0,k.jsx)(Pn,{ref:t,"data-slot":`menu-sub-content`,className:x(Fn,e),...n})})}var Jn={Root:In,Trigger:Ln,Content:Rn,Item:zn,CheckboxItem:Bn,RadioGroup:Vn,RadioItem:Hn,Separator:Un,Label:Wn,Sub:Gn,SubTrigger:Kn,SubContent:qn};export{I as C,he as S,Lt as _,It as a,Te as b,Ot as c,kt as d,Et as f,Ft as g,wt as h,Tt as i,At as l,Nt as m,Fn as n,jt as o,Mt as p,$ as r,Dt as s,Jn as t,Pt as u,zt as v,re as w,ge as x,Rt as y};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./button-amTXFI-2.js";import{t as r}from"./jsx-runtime-CVSDxk6A.js";import{t as i}from"./x-CkSVp1Ok.js";import"./src-zsLiFPw3.js";import{Ki as a}from"./index-yu6nDHvG.js";var o=e(t(),1),s=r(),c=`(min-width: 640px)`,l=[`a[href]`,`button:not([disabled])`,`input:not([disabled])`,`select:not([disabled])`,`textarea:not([disabled])`,`[tabindex]:not([tabindex="-1"])`].join(`,`);function u({open:e,onClose:t,children:r,title:a}){let u=(0,o.useRef)(null),d=(0,o.useRef)(null),f=(0,o.useRef)(t);return(0,o.useEffect)(()=>{f.current=t}),(0,o.useEffect)(()=>{if(!e)return;d.current?.focus();let t=document.body.style.overflow;document.body.style.overflow=`hidden`;let n=window.matchMedia(c),r=e=>{e.matches&&f.current()};n.addEventListener(`change`,r);let i=e=>{if(e.key===`Escape`){f.current();return}if(e.key!==`Tab`||!u.current)return;let t=u.current.querySelectorAll(l),n=t[0],r=t[t.length-1];if(!n||!r){e.preventDefault();return}let i=document.activeElement,a=u.current.contains(i);e.shiftKey?(!a||i===n)&&(e.preventDefault(),r.focus()):(!a||i===r)&&(e.preventDefault(),n.focus())};return document.addEventListener(`keydown`,i),()=>{document.removeEventListener(`keydown`,i),n.removeEventListener(`change`,r),document.body.style.overflow=t}},[e]),e?(0,s.jsxs)(`div`,{ref:u,className:`fixed inset-0 sm:hidden`,style:{zIndex:40},role:`dialog`,"aria-modal":`true`,"aria-label":a,children:[(0,s.jsx)(`button`,{type:`button`,"aria-label":`Close sidebar`,className:`absolute inset-0 h-full w-full cursor-default`,style:{background:`rgba(0, 0, 0, 0.4)`,zIndex:40},onClick:t}),(0,s.jsxs)(`aside`,{className:`relative flex h-full w-[80vw] max-w-xs flex-col shadow-xl`,style:{background:`var(--surface-lift)`,borderRight:`1px solid var(--border-base)`,zIndex:50,paddingTop:`var(--safe-area-inset-top, env(safe-area-inset-top, 0px))`,paddingBottom:`var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px))`,paddingLeft:`var(--safe-area-inset-left, env(safe-area-inset-left, 0px))`},children:[(0,s.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between border-b px-4 py-3`,style:{borderColor:`var(--border-base)`},children:[(0,s.jsx)(`span`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:a}),(0,s.jsx)(n,{ref:d,type:`button`,variant:`ghost`,size:`compact`,iconOnly:(0,s.jsx)(i,{"aria-hidden":!0}),onClick:t,"aria-label":`Close`,tintColor:`var(--content-tertiary)`})]}),(0,s.jsx)(`div`,{className:`flex-1 overflow-y-auto p-4`,children:r})]})]}):null}function d({onClick:e}){return(0,s.jsx)(n,{type:`button`,variant:`ghost`,iconOnly:(0,s.jsx)(a,{"aria-hidden":!0}),onClick:e,"aria-label":`Open sidebar`,tintColor:`var(--content-secondary)`,className:`sm:hidden`})}export{d as n,u as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{a as n}from"./button-amTXFI-2.js";import{t as r}from"./jsx-runtime-CVSDxk6A.js";import{t as i}from"./cn-C36Yvcac.js";import{t as a}from"./x-CkSVp1Ok.js";import{a as o,c as s,i as c,n as l,o as u,r as d,s as f,t as p}from"./dist-DqmYHxdg.js";var m=e(t(),1),h=r(),g=(0,m.createContext)({}),_={sm:`max-w-[400px]`,md:`max-w-[560px]`,lg:`max-w-[800px]`,xl:`max-w-[1100px]`};function v({onOpenChange:e,...t}){return(0,h.jsx)(g,{value:{onOpenChange:e},children:(0,h.jsx)(p,{onOpenChange:e,...t})})}function y(e){return(0,h.jsx)(s,{"data-slot":`modal-trigger`,...e})}function b({size:e=`md`,hideCloseButton:t=!1,overlayClassName:r,dismissOnOverlayClick:s=!0,className:c,children:f,ref:p,...v}){let y=n(),{onOpenChange:b}=(0,m.useContext)(g);return(0,h.jsx)(u,{container:y??void 0,children:(0,h.jsx)(o,{"data-slot":`modal-overlay`,className:i(`fixed inset-0 z-50 flex items-center justify-center bg-black/50 p-4`,r),onClick:e=>{s&&e.target===e.currentTarget&&b?.(!1)},children:(0,h.jsxs)(d,{ref:p,"data-slot":`modal-content`,className:i(`relative flex max-h-[calc(100vh-2rem)] w-full flex-col rounded-xl border shadow-xl`,_[e],`bg-[var(--surface-lift)] border-[var(--border-base)]`,`focus:outline-none`,c),...v,children:[f,t?null:(0,h.jsx)(l,{asChild:!0,children:(0,h.jsx)(`button`,{type:`button`,"aria-label":`Close`,className:`absolute top-3 right-3 flex h-6 w-6 cursor-pointer items-center justify-center rounded bg-transparent text-[var(--content-secondary)] transition-colors hover:text-[var(--content-default)]`,children:(0,h.jsx)(a,{className:`h-4 w-4`})})})]})})})}function x({icon:e,className:t,children:n,ref:r,...a}){return(0,h.jsxs)(f,{ref:r,"data-slot":`modal-title`,className:i(`flex items-center gap-3 text-title-medium text-[var(--content-default)]`,t),...a,children:[e?(0,h.jsx)(`span`,{"aria-hidden":`true`,className:`flex h-10 w-10 shrink-0 items-center justify-center rounded-full`,style:{backgroundColor:`color-mix(in oklab, var(--primary-base) 16%, transparent)`},children:(0,h.jsx)(e,{className:`h-5 w-5 text-[var(--primary-base)]`})}):null,(0,h.jsx)(`span`,{className:`min-w-0 truncate`,children:n})]})}function S({className:e,children:t,ref:n,...r}){return(0,h.jsx)(c,{ref:n,"data-slot":`modal-description`,className:i(`mt-1 whitespace-pre-line text-body-medium-lighter text-[var(--content-secondary)]`,e),...r,children:t})}function C(e){return(0,h.jsx)(l,{"data-slot":`modal-close`,...e})}function w({className:e,children:t,...n}){return(0,h.jsx)(`div`,{"data-slot":`modal-header`,className:i(`flex flex-col gap-1 p-4 pr-10`,e),...n,children:t})}function T({className:e,children:t,...n}){return(0,h.jsx)(`div`,{"data-slot":`modal-body`,className:i(`flex-1 overflow-y-auto px-4 pb-4 text-[var(--content-default)]`,e),...n,children:t})}function E({className:e,children:t,...n}){return(0,h.jsx)(`div`,{"data-slot":`modal-footer`,className:i(`flex justify-end gap-2 px-4 py-4`,e),...n,children:t})}var D={Root:v,Trigger:y,Content:b,Title:x,Description:S,Close:C,Header:w,Body:T,Footer:E};export{D as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./toast-xTp-xwYL.js";function t(t){return n=>{e.error(n instanceof Error?n.message:t)}}export{t};
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{a as t,c as n,s as r}from"./local-settings-lVNyIOJ_.js";import{t as i}from"./react-DJZBPgpf.js";import{ct as a,p as o}from"./local-mode-grqHUoNh.js";import{t as s}from"./is-electron-y5bNUVyG.js";import{i as c,t as l}from"./dist-DS5iJwBJ2.js";import{t as u}from"./return-to-BwxkOGDI.js";import{c as d}from"./routes-BbeIx_F9.js";var f={theme:{key:`device:theme`,legacy:`vellum_theme`},shareAnalytics:{key:`device:share_analytics`,legacy:`vellum_share_analytics`},shareDiagnostics:{key:`device:share_diagnostics`,legacy:`vellum_share_diagnostics`},diagnosticsReporting:{key:`device:diagnostics_reporting`},biometricEnabled:{key:`device:biometric_enabled`,legacy:`vellum_biometric_enabled`},llmLogRetention:{key:`device:llm_log_retention`,legacy:`vellum_llm_log_retention`},timezone:{key:`device:timezone`,legacy:`vellum_timezone`},mediaEmbedsEnabled:{key:`device:media_embeds_enabled`,legacy:`vellum_media_embeds_enabled`},mediaEmbedDomains:{key:`device:media_embed_domains`,legacy:`vellum_media_embed_domains`},dockBadgesEnabled:{key:`device:dock_badges_enabled`,legacy:`vellum_dock_badges_enabled`},lastUserId:{key:`device:last_user_id`,legacy:`onboarding.lastUserId`}};function p(e){return f[e].key}function m(e){return e.legacy==null?null:localStorage.getItem(e.legacy)}function h(e,t){if(typeof window>`u`)return t;let n=f[e];try{return localStorage.getItem(n.key)??m(n)??t}catch{return t}}function ee(e,t){r(f[e].key,t)}function g(e,t){if(typeof window>`u`)return t;let n=f[e];try{let e=localStorage.getItem(n.key)??m(n);if(e===`true`)return!0;if(e===`false`)return!1}catch{}return t}function _(e,n){t(f[e].key,n)}function te(e,t){return n(f[e].key,t)}function ne(){if(!(typeof window>`u`))try{for(let e of Object.values(f)){if(e.legacy==null)continue;let t=localStorage.getItem(e.legacy);t!==null&&(localStorage.getItem(e.key)===null&&r(e.key,t),localStorage.getItem(e.key)!==null&&localStorage.removeItem(e.legacy))}}catch{}}var re={bodySerializer:e=>JSON.stringify(e,(e,t)=>typeof t==`bigint`?t.toString():t)};Object.entries({$body_:`body`,$headers_:`headers`,$path_:`path`,$query_:`query`});function ie({onRequest:e,onSseError:t,onSseEvent:n,responseTransformer:r,responseValidator:i,sseDefaultRetryDelay:a,sseMaxRetryAttempts:o,sseMaxRetryDelay:s,sseSleepFn:c,url:l,...u}){let d,f=c??(e=>new Promise(t=>setTimeout(t,e)));return{stream:async function*(){let c=a??3e3,p=0,m=u.signal??new AbortController().signal;for(;!m.aborted;){p++;let a=u.headers instanceof Headers?u.headers:new Headers(u.headers);d!==void 0&&a.set(`Last-Event-ID`,d);try{let t={redirect:`follow`,...u,body:u.serializedBody,headers:a,signal:m},o=new Request(l,t);e&&(o=await e(l,t));let s=await(u.fetch??globalThis.fetch)(o);if(!s.ok)throw Error(`SSE failed: ${s.status} ${s.statusText}`);if(!s.body)throw Error(`No body in SSE response`);let f=s.body.pipeThrough(new TextDecoderStream).getReader(),p=``,h=()=>{try{f.cancel()}catch{}};m.addEventListener(`abort`,h);try{for(;;){let{done:e,value:t}=await f.read();if(e)break;p+=t,p=p.replace(/\r\n?/g,`
|
|
2
|
-
`);let a=p.split(`
|
|
3
|
-
|
|
4
|
-
`);p=a.pop()??``;for(let e of a){let t=e.split(`
|
|
5
|
-
`),a=[],o;for(let e of t)if(e.startsWith(`data:`))a.push(e.replace(/^data:\s*/,``));else if(e.startsWith(`event:`))o=e.replace(/^event:\s*/,``);else if(e.startsWith(`id:`))d=e.replace(/^id:\s*/,``);else if(e.startsWith(`retry:`)){let t=Number.parseInt(e.replace(/^retry:\s*/,``),10);Number.isNaN(t)||(c=t)}let s,l=!1;if(a.length){let e=a.join(`
|
|
6
|
-
`);try{s=JSON.parse(e),l=!0}catch{s=e}}l&&(i&&await i(s),r&&(s=await r(s))),n?.({data:s,event:o,id:d,retry:c}),a.length&&(yield s)}}}finally{m.removeEventListener(`abort`,h),f.releaseLock()}break}catch(e){if(t?.(e),o!==void 0&&p>=o)break;await f(Math.min(c*2**(p-1),s??3e4))}}}()}}var ae=e=>{switch(e){case`label`:return`.`;case`matrix`:return`;`;case`simple`:return`,`;default:return`&`}},v=e=>{switch(e){case`form`:return`,`;case`pipeDelimited`:return`|`;case`spaceDelimited`:return`%20`;default:return`,`}},oe=e=>{switch(e){case`label`:return`.`;case`matrix`:return`;`;case`simple`:return`,`;default:return`&`}},y=({allowReserved:e,explode:t,name:n,style:r,value:i})=>{if(!t){let t=(e?i:i.map(e=>encodeURIComponent(e))).join(v(r));switch(r){case`label`:return`.${t}`;case`matrix`:return`;${n}=${t}`;case`simple`:return t;default:return`${n}=${t}`}}let a=ae(r),o=i.map(t=>r===`label`||r===`simple`?e?t:encodeURIComponent(t):b({allowReserved:e,name:n,value:t})).join(a);return r===`label`||r===`matrix`?a+o:o},b=({allowReserved:e,name:t,value:n})=>{if(n==null)return``;if(typeof n==`object`)throw Error("Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.");return`${t}=${e?n:encodeURIComponent(n)}`},x=({allowReserved:e,explode:t,name:n,style:r,value:i,valueOnly:a})=>{if(i instanceof Date)return a?i.toISOString():`${n}=${i.toISOString()}`;if(r!==`deepObject`&&!t){let t=[];Object.entries(i).forEach(([n,r])=>{t=[...t,n,e?r:encodeURIComponent(r)]});let a=t.join(`,`);switch(r){case`form`:return`${n}=${a}`;case`label`:return`.${a}`;case`matrix`:return`;${n}=${a}`;default:return a}}let o=oe(r),s=Object.entries(i).map(([t,i])=>b({allowReserved:e,name:r===`deepObject`?`${n}[${t}]`:t,value:i})).join(o);return r===`label`||r===`matrix`?o+s:s},se=/\{[^{}]+\}/g,ce=({path:e,url:t})=>{let n=t,r=t.match(se);if(r)for(let t of r){let r=!1,i=t.substring(1,t.length-1),a=`simple`;i.endsWith(`*`)&&(r=!0,i=i.substring(0,i.length-1)),i.startsWith(`.`)?(i=i.substring(1),a=`label`):i.startsWith(`;`)&&(i=i.substring(1),a=`matrix`);let o=e[i];if(o==null)continue;if(Array.isArray(o)){n=n.replace(t,y({explode:r,name:i,style:a,value:o}));continue}if(typeof o==`object`){n=n.replace(t,x({explode:r,name:i,style:a,value:o,valueOnly:!0}));continue}if(a===`matrix`){n=n.replace(t,`;${b({name:i,value:o})}`);continue}let s=encodeURIComponent(a===`label`?`.${o}`:o);n=n.replace(t,s)}return n},le=({baseUrl:e,path:t,query:n,querySerializer:r,url:i})=>{let a=i.startsWith(`/`)?i:`/${i}`,o=(e??``)+a;t&&(o=ce({path:t,url:o}));let s=n?r(n):``;return s.startsWith(`?`)&&(s=s.substring(1)),s&&(o+=`?${s}`),o};function S(e){let t=e.body!==void 0;if(t&&e.bodySerializer)return`serializedBody`in e?e.serializedBody!==void 0&&e.serializedBody!==``?e.serializedBody:null:e.body===``?null:e.body;if(t)return e.body}var ue=async(e,t)=>{let n=typeof t==`function`?await t(e):t;if(n)return e.scheme===`bearer`?`Bearer ${n}`:e.scheme===`basic`?`Basic ${btoa(n)}`:n},C=({parameters:e={},...t}={})=>n=>{let r=[];if(n&&typeof n==`object`)for(let i in n){let a=n[i];if(a==null)continue;let o=e[i]||t;if(Array.isArray(a)){let e=y({allowReserved:o.allowReserved,explode:!0,name:i,style:`form`,value:a,...o.array});e&&r.push(e)}else if(typeof a==`object`){let e=x({allowReserved:o.allowReserved,explode:!0,name:i,style:`deepObject`,value:a,...o.object});e&&r.push(e)}else{let e=b({allowReserved:o.allowReserved,name:i,value:a});e&&r.push(e)}}return r.join(`&`)},de=e=>{if(!e)return`stream`;let t=e.split(`;`)[0]?.trim();if(t){if(t.startsWith(`application/json`)||t.endsWith(`+json`))return`json`;if(t===`multipart/form-data`)return`formData`;if([`application/`,`audio/`,`image/`,`video/`].some(e=>t.startsWith(e)))return`blob`;if(t.startsWith(`text/`))return`text`}},fe=(e,t)=>t?!!(e.headers.has(t)||e.query?.[t]||e.headers.get(`Cookie`)?.includes(`${t}=`)):!1,pe=async({security:e,...t})=>{for(let n of e){if(fe(t,n.name))continue;let e=await ue(n,t.auth);if(!e)continue;let r=n.name??`Authorization`;switch(n.in){case`query`:t.query||={},t.query[r]=e;break;case`cookie`:t.headers.append(`Cookie`,`${r}=${e}`);break;default:t.headers.set(r,e);break}}},w=e=>le({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer==`function`?e.querySerializer:C(e.querySerializer),url:e.url}),T=(e,t)=>{let n={...e,...t};return n.baseUrl?.endsWith(`/`)&&(n.baseUrl=n.baseUrl.substring(0,n.baseUrl.length-1)),n.headers=E(e.headers,t.headers),n},me=e=>{let t=[];return e.forEach((e,n)=>{t.push([n,e])}),t},E=(...e)=>{let t=new Headers;for(let n of e){if(!n)continue;let e=n instanceof Headers?me(n):Object.entries(n);for(let[n,r]of e)if(r===null)t.delete(n);else if(Array.isArray(r))for(let e of r)t.append(n,e);else r!==void 0&&t.set(n,typeof r==`object`?JSON.stringify(r):r)}return t},D=class{fns=[];clear(){this.fns=[]}eject(e){let t=this.getInterceptorIndex(e);this.fns[t]&&(this.fns[t]=null)}exists(e){let t=this.getInterceptorIndex(e);return!!this.fns[t]}getInterceptorIndex(e){return typeof e==`number`?this.fns[e]?e:-1:this.fns.indexOf(e)}update(e,t){let n=this.getInterceptorIndex(e);return this.fns[n]?(this.fns[n]=t,e):!1}use(e){return this.fns.push(e),this.fns.length-1}},he=()=>({error:new D,request:new D,response:new D}),ge=C({allowReserved:!1,array:{explode:!0,style:`form`},object:{explode:!0,style:`deepObject`}}),_e={"Content-Type":`application/json`},O=(e={})=>({...re,headers:_e,parseAs:`auto`,querySerializer:ge,...e}),k=((e={})=>{let t=T(O(),e),n=()=>({...t}),r=e=>(t=T(t,e),n()),i=he(),a=async e=>{let n={...t,...e,fetch:e.fetch??t.fetch??globalThis.fetch,headers:E(t.headers,e.headers),serializedBody:void 0};n.security&&await pe({...n,security:n.security}),n.requestValidator&&await n.requestValidator(n),n.body!==void 0&&n.bodySerializer&&(n.serializedBody=n.bodySerializer(n.body)),(n.body===void 0||n.serializedBody===``)&&n.headers.delete(`Content-Type`);let r=n;return{opts:r,url:w(r)}},o=async e=>{let n=e.throwOnError??t.throwOnError,r=e.responseStyle??t.responseStyle,o,s;try{let{opts:t,url:n}=await a(e),r={redirect:`follow`,...t,body:S(t)};o=new Request(n,r);for(let e of i.request.fns)e&&(o=await e(o,t));let c=t.fetch;s=await c(o);for(let e of i.response.fns)e&&(s=await e(s,o,t));let l={request:o,response:s};if(s.ok){let e=(t.parseAs===`auto`?de(s.headers.get(`Content-Type`)):t.parseAs)??`json`;if(s.status===204||s.headers.get(`Content-Length`)===`0`){let n;switch(e){case`arrayBuffer`:case`blob`:case`text`:n=await s[e]();break;case`formData`:n=new FormData;break;case`stream`:n=s.body;break;default:n={};break}return t.responseStyle===`data`?n:{data:n,...l}}let n;switch(e){case`arrayBuffer`:case`blob`:case`formData`:case`text`:n=await s[e]();break;case`json`:{let e=await s.text();n=e?JSON.parse(e):{};break}case`stream`:return t.responseStyle===`data`?s.body:{data:s.body,...l}}return e===`json`&&(t.responseValidator&&await t.responseValidator(n),t.responseTransformer&&(n=await t.responseTransformer(n))),t.responseStyle===`data`?n:{data:n,...l}}let u=await s.text(),d;try{d=JSON.parse(u)}catch{}throw d??u}catch(t){let a=t;for(let t of i.error.fns)t&&(a=await t(a,s,o,e));if(a||={},n)throw a;return r===`data`?void 0:{error:a,request:o,response:s}}},s=e=>t=>o({...t,method:e}),c=e=>async t=>{let{opts:n,url:r}=await a(t);return ie({...n,body:n.body,method:e,onRequest:async(e,t)=>{let r=new Request(e,t);for(let e of i.request.fns)e&&(r=await e(r,n));return r},serializedBody:S(n),url:r})};return{buildUrl:e=>w({...t,...e}),connect:s(`CONNECT`),delete:s(`DELETE`),get:s(`GET`),getConfig:n,head:s(`HEAD`),interceptors:i,options:s(`OPTIONS`),patch:s(`PATCH`),post:s(`POST`),put:s(`PUT`),request:o,setConfig:r,sse:{connect:c(`CONNECT`),delete:c(`DELETE`),get:c(`GET`),head:c(`HEAD`),options:c(`OPTIONS`),patch:c(`PATCH`),post:c(`POST`),put:c(`PUT`),trace:c(`TRACE`)},trace:s(`TRACE`)}})(O()),ve=e=>(e.client??k).get({url:`/_allauth/{client}/v1/auth/provider/signup`,...e}),ye=e=>(e.client??k).post({url:`/_allauth/{client}/v1/auth/provider/signup`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),be=e=>(e.client??k).delete({url:`/_allauth/{client}/v1/auth/session`,...e}),A=e=>(e.client??k).get({url:`/_allauth/{client}/v1/auth/session`,...e}),j=()=>s()?`app`:`browser`;function xe(e){return!e.ok&&e.status===409}function M(e,t){let n=e;if(n&&Array.isArray(n.errors))return{ok:!1,status:t,errors:n.errors};let r=n?.data;return r&&Array.isArray(r.flows)?{ok:!1,status:t,errors:[],flows:r.flows}:{ok:!1,status:t,errors:[]}}async function N(){let{data:e,error:t,response:n}=await A({path:{client:j()}});return e?{ok:!0,data:e.data}:M(t,n?.status)}async function Se(){let{data:e,error:t,response:n}=await be({path:{client:j()}});return e?{ok:!0,data:e}:n?.status===401?{ok:!0,data:{}}:M(t,n?.status)}async function Ce(){let{data:e,error:t,response:n}=await ve({path:{client:j()}});return e?{ok:!0,data:e.data}:M(t,n?.status)}async function we({email:e,username:t}){let{data:n,error:r,response:i}=await ye({path:{client:j()},body:{email:e,username:t}});return n?{ok:!0,data:n.data}:M(r,i?.status)}var P;function Te(){return s()?(P===void 0&&(P=window.vellum?.auth?.getSessionToken?.()??null),P):null}function Ee(e){P=e}var F=`__Secure-csrftoken`;function I(){return document.cookie.split(`; `).findLast(e=>e.startsWith(`${F}=`))?.split(`=`).slice(1).join(`=`)}function De(){document.cookie.split(`; `).filter(e=>e.startsWith(`${F}=`)).length>1&&(document.cookie=`${F}=; path=/; max-age=0; secure`)}var L=null;async function R(){s()||a()||(De(),!I()&&(L||=(async()=>{for(let e=0;e<2;e++)try{if(await A({path:{client:`browser`}}),I())return}catch{console.warn(`CSRF cookie bootstrap failed (attempt ${e+1}/2)`),e===0&&await new Promise(e=>setTimeout(e,500))}})().finally(()=>{L=null}),await L))}var Oe=`/_allauth/browser/v1/auth/provider/redirect`;function ke(e,t,n,r={}){let i={provider:e,callback_url:new URL(t,n).href,process:`login`};return r.intent&&(i.intent=r.intent),r.loginHint&&(i.login_hint=r.loginHint),i}function Ae(e){if(!e)throw Error(`Unable to start provider redirect: CSRF token is missing. The session may not be initialized. Please refresh the page and try again.`)}async function je(e,t,n={}){await R();let r=I();Ae(r);let i=window.location.origin,a=document.createElement(`form`);a.method=`POST`,a.action=`${i}${Oe}`;let o=ke(e,t,i,n);o.csrfmiddlewaretoken=r;for(let[e,t]of Object.entries(o)){let n=document.createElement(`input`);n.type=`hidden`,n.name=e,n.value=t,a.appendChild(n)}document.body.appendChild(a),a.submit()}function z(e,t){return e?{kind:`authenticated`}:t.some(e=>e.id===`provider_signup`&&e.is_pending)?{kind:`provider_signup`}:{kind:`error`,message:`Unexpected authentication state.`}}var Me=`https://www.vellum.ai`,Ne=`vellum:loopback:state`,Pe=`vellum:loopback:returnTo`;function B(){let e=window.__VELLUM_CONFIG__;return e?.webUrl?{webUrl:e.webUrl}:{webUrl:Me}}function Fe(){let e=new Uint8Array(32);return crypto.getRandomValues(e),Array.from(e,e=>e.toString(16).padStart(2,`0`)).join(``)}function Ie(){return B().webUrl===window.location.origin}async function Le(e,t){let{webUrl:n}=B(),r=Fe(),i=window.location.port||`3000`;sessionStorage.setItem(Ne,r),e&&sessionStorage.setItem(Pe,e);let a=`/accounts/cli/callback?port=${i}&state=${r}`,o=`${n}/account/${t?.intent===`signup`?`signup`:`login`}?returnTo=${encodeURIComponent(a)}`;window.location.href=o}async function V(e){s()&&await window.vellum?.menu.setPlatformSession(e)}var Re=e(i(),1),ze=c(`NativeAuth`),H=d.assistant,U=!1;function Be(){return U}function Ve(){return`${window.location.protocol}//${window.location.host}`}function W(){return typeof window<`u`&&l.isNativePlatform()}var He=()=>()=>{};function Ue(){return(0,Re.useSyncExternalStore)(He,W,()=>!1)}async function G(e){let t=e?.baseURL??Ve(),{sessionToken:n}=await ze.startAuth({baseURL:t,...e?.loginHint?{loginHint:e.loginHint}:{},...e?.intent?{intent:e.intent}:{}});q(n),W()&&await K(),$()&&await Z(n);let r=u(e?.returnTo??null,H);window.location.href=r}async function K(){for(let e=0;e<6;e++){try{let e=await N();if(e.ok&&e.data.user)return}catch{}await new Promise(t=>setTimeout(t,50*(e+1)))}}function q(e){let t=`path=/; domain=.vellum.ai; secure; samesite=lax; max-age=1209600`;document.cookie=`sessionid=${e}; ${t}`,document.cookie=`__Secure-sessionid=${e}; ${t}`}function We(){if(typeof document>`u`)return null;let e=document.cookie.split(`; `);for(let t of[`__Secure-sessionid`,`sessionid`]){let n=e.find(e=>e.startsWith(`${t}=`));if(n){let e=n.slice(t.length+1);if(e)return e}}return null}async function Ge(e,t,n={}){if(W()){try{await G({returnTo:n.intent===`signup`?d.onboarding.privacy:n.returnTo??null,loginHint:n.loginHint,intent:n.intent})}catch(e){if(e?.code===`USER_CANCELLED`)return;throw e}return}if(s()&&window.vellum?.auth?.startOAuth){U=!0;try{let e=await window.vellum.auth.startOAuth({loginHint:n.loginHint,intent:n.intent});if(e?.sessionToken){Ee(e.sessionToken),await V(!0);let t=u(n.intent===`signup`?d.onboarding.privacy:n.returnTo??null,H);window.location.href=t}}finally{U=!1}return}if(o()&&!Ie()){await Le(n.returnTo??void 0,{intent:n.intent});return}await je(e,t,n)}var J=c(`NativeBiometric`),Y=`vellum.ai`;async function X(){if(!W())return!1;try{let{available:e}=await J.isAvailable();return e}catch{return!1}}async function Z(e){if(!await X())return!1;try{return await J.storeToken({token:e,server:Y}),!0}catch(e){return console.error(`[native-biometric] failed to store token:`,e),!1}}var Q=null;async function Ke(){return W()?Q||(Q=(async()=>{try{let{token:e}=await J.retrieveToken({server:Y,reason:`Sign in to Vellum`});return e}catch{return null}finally{Q=null}})(),Q):null}async function qe(){if(W())try{await J.deleteToken({server:Y})}catch{}}function $(){return g(`biometricEnabled`,!0)}function Je(e){_(`biometricEnabled`,e)}async function Ye(){if(!W())return`Biometrics`;try{let{biometryType:e}=await J.isAvailable();switch(e){case`faceId`:return`Face ID`;case`touchId`:return`Touch ID`;case`opticId`:return`Optic ID`;default:return`Biometrics`}}catch{return`Biometrics`}}export{ne as A,xe as C,p as D,k as E,ee as M,te as N,g as O,N as S,we as T,z as _,Ke as a,Te as b,We as c,Be as d,Ge as f,V as g,K as h,$ as i,_ as j,h as k,q as l,Ue as m,Ye as n,Je as o,G as p,X as r,Z as s,qe as t,W as u,R as v,Se as w,Ce as x,I as y};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./jsx-runtime-CVSDxk6A.js";import{t}from"./cn-C36Yvcac.js";import{t as n}from"./typography-D5f7kt80.js";import{t as r}from"./circle-alert-zOqdmf25.js";import{t as i}from"./circle-check-VSiny8yl.js";import{t as a}from"./info-DsOyuMO9.js";import{t as o}from"./triangle-alert-Z0Gq0IuB.js";import{t as s}from"./x-CkSVp1Ok.js";var c=e(),l={info:{container:`bg-[var(--surface-overlay)] border-[var(--border-element)]`,icon:`text-[color:var(--content-secondary)]`,DefaultIcon:a},success:{container:`bg-[var(--system-positive-weak)] border-[color-mix(in_srgb,var(--system-positive-strong)_25%,transparent)]`,icon:`text-[color:var(--system-positive-strong)]`,DefaultIcon:i},warning:{container:`bg-[var(--system-mid-weak)] border-[color-mix(in_srgb,var(--system-mid-strong)_30%,transparent)]`,icon:`text-[color:var(--system-mid-strong)]`,DefaultIcon:r},error:{container:`bg-[var(--system-negative-weak)] border-[color-mix(in_srgb,var(--system-negative-strong)_25%,transparent)]`,icon:`text-[color:var(--system-negative-strong)]`,DefaultIcon:o},neutral:{container:`bg-[var(--surface-overlay)] border-[var(--border-base)]`,icon:`text-[color:var(--content-secondary)]`,DefaultIcon:null}};function u({tone:e=`info`,title:r,children:i,icon:a,onDismiss:o,actions:u,className:d,ref:f,...p}){let m=l[e],h=e===`error`?`alert`:`status`,g=a===void 0?m.DefaultIcon?(0,c.jsx)(m.DefaultIcon,{className:`h-4 w-4`,"aria-hidden":`true`}):null:a;return(0,c.jsxs)(`div`,{...p,ref:f,role:h,"data-slot":`notice`,className:t(`relative flex w-full gap-3 rounded-lg border p-3`,r?`items-start`:`items-center`,`text-[color:var(--content-default)]`,m.container,d),children:[g?(0,c.jsx)(`span`,{className:t(`flex shrink-0 items-center justify-center`,r&&`mt-0.5`,m.icon),children:g}):null,(0,c.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-1`,children:[r?(0,c.jsx)(n,{variant:`body-medium-default`,as:`p`,className:`text-[color:var(--content-emphasised)]`,children:r}):null,i?(0,c.jsx)(n,{variant:`body-medium-lighter`,as:`div`,className:`text-[color:var(--content-secondary)]`,children:i}):null]}),u?(0,c.jsx)(`div`,{className:`flex shrink-0 flex-wrap items-center gap-2`,children:u}):null,o?(0,c.jsx)(`button`,{type:`button`,onClick:o,"aria-label":`Dismiss`,className:t(`shrink-0 cursor-pointer rounded bg-transparent p-0.5`,`text-[color:var(--content-secondary)] opacity-70 transition-opacity`,`hover:opacity-100 keyboard-focus:outline-none keyboard-focus:ring-2`,`keyboard-focus:ring-[var(--ring)]`),children:(0,c.jsx)(s,{className:`h-3.5 w-3.5`,strokeWidth:2,"aria-hidden":`true`})}):null]})}export{u as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{r as n}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{n as r}from"./QueryClientProvider-DKhXIxGb.js";import{t as i}from"./useQuery-B45lW1Kk.js";import{t as a}from"./useMutation-Lj4VunQV.js";import{t as o}from"./jsx-runtime-CVSDxk6A.js";import{t as s}from"./createLucideIcon-IRfcSUxS.js";import{t as c}from"./bell-BQLonLMp.js";import{t as l}from"./check-DFNrQERi.js";import{t as u}from"./menu-Dy5QbnTj.js";import{t as d}from"./loader-circle-Cz7opInR.js";import{t as f}from"./moon-B8qiwjrW.js";import{t as p}from"./triangle-alert-Z0Gq0IuB.js";import{t as m}from"./notice-DkcNAP8O.js";import{t as h}from"./popover-CFL4WZTr.js";import{t as g}from"./input-CoUmPnRU.js";import{n as _,t as v}from"./panel-item-CouW2A55.js";import{n as y}from"./toast-xTp-xwYL.js";import{c as b}from"./routes-BbeIx_F9.js";import{_t as x,ft as S,gt as C,ht as w,mt as T,pt as E,vt as D}from"./react-query.gen-DPzPS206.js";import{D as O,Hr as k,Ur as A,Vr as j,_r as M}from"./index-yu6nDHvG.js";import{t as N}from"./mutation-error-DYv0eJ_i.js";import{r as P}from"./format-date-CghpPTDc.js";var F=s(`bell-off`,[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`,key:`vwvbt9`}],[`path`,{d:`M17 17H4a1 1 0 0 1-.74-1.673C4.59 13.956 6 12.499 6 8a6 6 0 0 1 .258-1.742`,key:`178tsu`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}],[`path`,{d:`M8.668 3.01A6 6 0 0 1 18 8c0 2.687.77 4.653 1.707 6.05`,key:`1hqiys`}]]),I=s(`check-check`,[[`path`,{d:`M18 6 7 17l-5-5`,key:`116fxf`}],[`path`,{d:`m22 10-7.5 7.5L13 16`,key:`ke71qq`}]]),L=e(t(),1);function R(e){e.invalidateQueries({queryKey:T()}),e.invalidateQueries({queryKey:D()})}function z(e){return e.snoozed_until?new Date(e.snoozed_until)>new Date:!1}var B=[{label:`1 hour`,hours:1},{label:`4 hours`,hours:4},{label:`24 hours`,hours:24},{label:`1 week`,hours:168}],V=o();function H({notificationId:e,currentlySnoozed:t,children:n}){let i=r(),o=a(x()),s=M(),[c,l]=(0,L.useState)(!1),d=()=>R(i),f=t=>{let n=new Date(new Date().getTime()+t*60*60*1e3).toISOString();o.mutate({path:{id:e},body:{snoozed_until:n}},{onSuccess:d,onError:N(`Failed to snooze notification`)})},p=()=>{o.mutate({path:{id:e},body:{snoozed_until:null}},{onSuccess:d,onError:N(`Failed to clear snooze`)})};return s?(0,V.jsxs)(_.Root,{open:c,onOpenChange:l,children:[(0,V.jsx)(_.Trigger,{asChild:!0,children:n}),(0,V.jsxs)(_.Content,{children:[(0,V.jsx)(_.Header,{children:(0,V.jsx)(_.Title,{children:`Snooze until…`})}),(0,V.jsxs)(_.Body,{children:[B.map(({label:e,hours:t})=>(0,V.jsx)(v,{label:e,onSelect:()=>{o.isPending||(l(!1),f(t))}},e)),t&&(0,V.jsx)(v,{label:`Clear snooze`,onSelect:()=>{o.isPending||(l(!1),p())}})]})]})]}):(0,V.jsxs)(u.Root,{open:c,onOpenChange:l,children:[(0,V.jsx)(u.Trigger,{children:n}),(0,V.jsxs)(u.Content,{align:`start`,className:`min-w-[12rem]`,children:[(0,V.jsx)(u.Label,{children:`Snooze until…`}),B.map(({label:e,hours:t})=>(0,V.jsx)(u.Item,{disabled:o.isPending,onSelect:()=>f(t),children:e},e)),t&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(u.Separator,{}),(0,V.jsx)(u.Item,{disabled:o.isPending,onSelect:()=>p(),children:`Clear snooze`})]})]})]})}function U({existingRules:e,onClose:t,onPauseCreated:n,onPauseDeleted:i,hideTitle:o=!1}){let s=r(),c=a(w()),l=a(C()),[u,f]=(0,L.useState)(``),p=()=>R(s),m=()=>{let e=new Date(new Date().getTime()+365*24*60*60*1e3).toISOString();c.mutate({body:{notification_type:`alert`,dedupe_key_prefix:``,reason:u.trim()||`User requested pause`,expires_at:e}},{onSuccess:e=>{n(e),p(),t()},onError:N(`Failed to pause alerts`)})},h=e=>{l.mutate({path:{rule_id:e}},{onSuccess:()=>{i(e),p(),t()},onError:N(`Failed to resume alerts`)})},_=c.isPending||l.isPending;return(0,V.jsxs)(`div`,{children:[!o&&(0,V.jsx)(`p`,{className:`mb-2 text-body-medium-default text-[var(--content-default)]`,children:`Pause alerts`}),e.length>0?(0,V.jsxs)(`div`,{className:`space-y-2`,children:[(0,V.jsx)(`p`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:`Active pause rules:`}),e.map(e=>(0,V.jsxs)(`div`,{className:`flex items-center justify-between rounded-md border border-[var(--border-base)] bg-[var(--surface-base)] px-2 py-2`,children:[(0,V.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,V.jsx)(`p`,{className:`truncate text-body-small-default text-[var(--content-default)]`,children:e.reason||`All alerts paused`}),e.expires_at&&(0,V.jsxs)(`p`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:[`Expires `,P(e.expires_at)]})]}),(0,V.jsx)(`button`,{type:`button`,onClick:()=>h(e.id),disabled:_,className:`ml-2 shrink-0 cursor-pointer rounded px-2 py-1 text-body-small-default text-[var(--system-negative-strong)] transition-opacity hover:opacity-80 disabled:cursor-not-allowed disabled:opacity-50`,children:`Resume`})]},e.id))]}):(0,V.jsxs)(`div`,{className:`space-y-2`,children:[(0,V.jsx)(`p`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:`Temporarily mute all alert notifications.`}),(0,V.jsx)(g,{type:`text`,value:u,onChange:e=>f(e.target.value),placeholder:`Reason (optional)`}),(0,V.jsx)(`button`,{type:`button`,onClick:()=>m(),disabled:_,className:`w-full cursor-pointer rounded-md bg-[var(--primary-base)] px-3 py-1.5 text-body-medium-default text-[var(--content-inset)] transition-opacity hover:opacity-90 disabled:cursor-not-allowed disabled:opacity-50`,children:c.isPending?(0,V.jsxs)(`span`,{className:`flex items-center justify-center gap-2`,children:[(0,V.jsx)(d,{className:`h-3 w-3 animate-spin`}),`Pausing…`]}):`Pause all alerts`})]})]})}function W({notification:e,onAck:t,isAcking:n}){let r=e.notification_type===`alert`,i=z(e),a=!e.is_read;return(0,V.jsxs)(`div`,{className:`relative rounded-lg border border-[var(--border-base)] p-4`,style:{background:e.is_resolved?`var(--surface-base)`:`var(--surface-lift)`,opacity:e.is_resolved?.75:1},children:[(0,V.jsx)(`div`,{className:`flex items-start gap-3`,children:(0,V.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col items-start gap-1`,children:[(0,V.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[a&&!e.is_resolved&&(0,V.jsx)(`span`,{"aria-hidden":!0,className:`h-2 w-2 shrink-0 rounded-full bg-[var(--primary-base)]`}),r&&(0,V.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[color-mix(in_oklab,var(--system-negative-strong)_14%,transparent)] px-2 py-0.5 text-body-small-default text-[var(--system-negative-strong)]`,children:[(0,V.jsx)(p,{className:`h-3 w-3`}),`Alert`]}),i&&(0,V.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[var(--surface-base)] px-2 py-0.5 text-body-small-default text-[var(--content-secondary)]`,children:[(0,V.jsx)(f,{className:`h-3 w-3`}),`Snoozed`]}),e.is_resolved&&(0,V.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[color-mix(in_oklab,var(--system-positive-strong)_14%,transparent)] px-2 py-0.5 text-body-small-default text-[var(--system-positive-strong)]`,children:[(0,V.jsx)(l,{className:`h-3 w-3`}),`Resolved`]})]}),(0,V.jsx)(`h3`,{className:`text-body-medium-default leading-tight`,style:{color:e.is_resolved?`var(--content-secondary)`:`var(--content-default)`},children:e.title}),e.body&&(0,V.jsx)(`p`,{className:`text-body-small-default leading-relaxed text-[var(--content-secondary)]`,children:e.body})]})}),(0,V.jsxs)(`div`,{className:`mt-3 flex items-center gap-3 text-body-small-default text-[var(--content-secondary)]`,children:[(0,V.jsxs)(`span`,{children:[`Last seen `,P(e.last_seen_at)]}),e.occurrence_count>1&&(0,V.jsxs)(`span`,{children:[`· `,e.occurrence_count,`× occurrences`]})]}),!e.is_resolved&&(0,V.jsxs)(`div`,{className:`mt-3 flex items-center gap-2 border-t border-[var(--border-base)] pt-3`,children:[(0,V.jsxs)(`button`,{type:`button`,onClick:()=>t(e.id,a),disabled:n,className:`flex cursor-pointer items-center gap-1.5 rounded-md px-3 py-1.5 text-body-small-default transition-opacity hover:opacity-80 disabled:cursor-not-allowed disabled:opacity-50`,style:{background:a?`var(--primary-base)`:`var(--surface-base)`,color:a?`var(--content-inset)`:`var(--content-secondary)`},children:[n?(0,V.jsx)(d,{className:`h-3 w-3 animate-spin`}):(0,V.jsx)(l,{className:`h-3 w-3`}),a?`Mark as read`:`Mark as unread`]}),(0,V.jsx)(H,{notificationId:e.id,currentlySnoozed:i,children:(0,V.jsxs)(`button`,{type:`button`,className:`flex cursor-pointer items-center gap-1.5 rounded-md border border-[var(--border-base)] bg-[var(--surface-base)] px-3 py-1.5 text-body-small-default text-[var(--content-secondary)] transition-opacity hover:opacity-80`,children:[(0,V.jsx)(f,{className:`h-3 w-3`}),i?`Change snooze`:`Snooze`]})})]})]})}function G(){let e=A({platformHostedOnly:!0}),t=j(),o=k(),s=r(),l=M(),[u,f]=(0,L.useState)(`open`),[p,g]=(0,L.useState)(!1),[v,x]=(0,L.useState)([]),{data:C,isLoading:w,isError:T,refetch:D}=i({...E({query:{status:u}}),enabled:e===`full`&&t}),N=e===`full`&&o||(t?w:!1);(0,L.useEffect)(()=>{!t&&p&&g(!1)},[t,p]);let P=t?T:!1,z=t?C?.results??[]:[],B=z.filter(e=>!e.is_read&&!e.is_resolved),H=a(S()),[G,K]=(0,L.useState)(new Set),[q,J]=(0,L.useState)(!1),Y=(0,L.useCallback)(()=>R(s),[s]),X=async(e,t)=>{K(t=>new Set(t).add(e));try{await H.mutateAsync({path:{id:e},body:{acknowledged:t}}),Y()}catch(e){y.error(e instanceof Error?e.message:`Failed to update notification`)}finally{K(t=>{let n=new Set(t);return n.delete(e),n})}},Z=async()=>{if(!(B.length===0||q)){J(!0);try{await Promise.allSettled(B.map(e=>H.mutateAsync({path:{id:e.id},body:{acknowledged:!0}})))}finally{Y(),J(!1)}}},Q=(0,V.jsxs)(`button`,{type:`button`,className:`flex cursor-pointer items-center gap-1.5 rounded-md border border-[var(--border-base)] bg-[var(--surface-base)] px-3 py-1.5 text-body-small-default text-[var(--content-secondary)] transition-opacity hover:opacity-80`,title:`Pause alerts`,children:[(0,V.jsx)(F,{className:`h-3.5 w-3.5`}),`Pause alerts`]}),$=(0,V.jsx)(U,{existingRules:v,onClose:()=>g(!1),onPauseCreated:e=>x(t=>[...t,e]),onPauseDeleted:e=>x(t=>t.filter(t=>t.id!==e))});return e===`gated`?(0,V.jsx)(n,{replace:!0,to:b.settings.general}):e===`disabled`?(0,V.jsxs)(`div`,{className:`space-y-4`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,V.jsx)(c,{className:`h-5 w-5 text-[var(--content-secondary)]`}),(0,V.jsxs)(`div`,{className:`flex-1`,children:[(0,V.jsx)(`h2`,{className:`text-title-medium text-[var(--content-default)]`,children:`Notifications`}),(0,V.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-secondary)]`,children:`Platform alerts and status notifications`})]})]}),(0,V.jsx)(O,{children:`Log in to the Vellum platform to view notifications.`})]}):(0,V.jsxs)(`div`,{className:`space-y-4`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,V.jsx)(c,{className:`h-5 w-5 text-[var(--content-secondary)]`}),(0,V.jsxs)(`div`,{className:`flex-1`,children:[(0,V.jsx)(`h2`,{className:`text-title-medium text-[var(--content-default)]`,children:`Notifications`}),(0,V.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-secondary)]`,children:`Platform alerts and status notifications`})]}),t&&(l?(0,V.jsxs)(_.Root,{open:p,onOpenChange:g,children:[(0,V.jsx)(_.Trigger,{asChild:!0,children:Q}),(0,V.jsxs)(_.Content,{children:[(0,V.jsx)(_.Header,{children:(0,V.jsx)(_.Title,{children:`Pause alerts`})}),(0,V.jsx)(_.Body,{children:(0,V.jsx)(U,{existingRules:v,onClose:()=>g(!1),onPauseCreated:e=>x(t=>[...t,e]),onPauseDeleted:e=>x(t=>t.filter(t=>t.id!==e)),hideTitle:!0})})]})]}):(0,V.jsxs)(h.Root,{open:p,onOpenChange:g,children:[(0,V.jsx)(h.Trigger,{asChild:!0,children:Q}),(0,V.jsx)(h.Content,{align:`end`,className:`w-72`,children:$})]}))]}),(0,V.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,V.jsx)(`div`,{className:`flex gap-1 rounded-md border border-[var(--border-base)] bg-[var(--surface-base)] p-1`,children:[`open`,`resolved`].map(e=>{let t=u===e;return(0,V.jsx)(`button`,{type:`button`,onClick:()=>f(e),className:`cursor-pointer rounded px-3 py-1 text-body-small-default capitalize transition-colors`,style:{background:t?`var(--surface-lift)`:`transparent`,color:t?`var(--content-default)`:`var(--content-secondary)`,boxShadow:t?`0 1px 2px rgba(0,0,0,0.08)`:void 0},children:e},e)})}),u===`open`&&B.length>1&&(0,V.jsxs)(`button`,{type:`button`,onClick:()=>void Z(),disabled:q,className:`ml-auto flex cursor-pointer items-center gap-1.5 rounded-md border border-[var(--border-base)] bg-transparent px-3 py-1.5 text-body-small-default text-[var(--content-secondary)] transition-opacity hover:opacity-80 disabled:cursor-not-allowed disabled:opacity-50`,children:[q?(0,V.jsx)(d,{className:`h-3 w-3 animate-spin`}):(0,V.jsx)(I,{className:`h-3 w-3`}),`Mark all as read (`,B.length,`)`]})]}),N?(0,V.jsxs)(`div`,{className:`flex items-center gap-2 py-6 text-body-medium-lighter text-[var(--content-secondary)]`,children:[(0,V.jsx)(d,{className:`h-4 w-4 animate-spin`}),`Loading notifications…`]}):P?(0,V.jsxs)(m,{tone:`error`,children:[`Failed to load notifications.`,` `,(0,V.jsx)(`button`,{type:`button`,onClick:()=>void D(),className:`cursor-pointer underline hover:no-underline`,children:`Retry`})]}):z.length===0?(0,V.jsxs)(`div`,{className:`flex flex-col items-center justify-center gap-2 py-12 text-center`,children:[(0,V.jsx)(`div`,{className:`flex h-12 w-12 items-center justify-center rounded-full bg-[var(--surface-base)]`,children:(0,V.jsx)(c,{className:`h-5 w-5 text-[var(--content-secondary)]`})}),(0,V.jsxs)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:[`No `,u,` notifications`]}),(0,V.jsx)(`p`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:u===`open`?`You're all caught up!`:`Nothing to show here.`})]}):(0,V.jsx)(`div`,{className:`space-y-3`,children:z.map(e=>(0,V.jsx)(W,{notification:e,onAck:(e,t)=>void X(e,t),isAcking:G.has(e.id)},e.id))})]})}export{G as NotificationsPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./jsx-runtime-CVSDxk6A.js";import{t}from"./cn-C36Yvcac.js";import"./src-zsLiFPw3.js";var n=e();function r({children:e,className:r}){return(0,n.jsx)(`div`,{className:t(`flex min-h-0 flex-1 flex-col rounded-lg border border-[var(--border-base)] bg-[var(--surface-overlay)] px-6 py-5`,r),children:e})}export{r as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{a as n}from"./button-amTXFI-2.js";import{t as r}from"./jsx-runtime-CVSDxk6A.js";import{n as i,t as a}from"./cn-C36Yvcac.js";import{a as o,c as s,i as c,n as l,o as u,r as d,s as f,t as p}from"./dist-DqmYHxdg.js";var m=e(t(),1),h=r(),g=(0,m.createContext)({});function _({onOpenChange:e,...t}){return(0,h.jsx)(g,{value:{onOpenChange:e},children:(0,h.jsx)(p,{onOpenChange:e,...t})})}function v(e){return(0,h.jsx)(s,{"data-slot":`bottom-sheet-trigger`,...e})}function y({overlayClassName:e,className:t,children:r,ref:i,...s}){let c=n(),{onOpenChange:l}=(0,m.useContext)(g);return(0,h.jsxs)(u,{container:c??void 0,children:[(0,h.jsx)(o,{"data-slot":`bottom-sheet-overlay`,className:a(`fixed inset-0 z-50 bg-black/50`,e),onClick:()=>l?.(!1)}),(0,h.jsx)(d,{ref:i,"data-slot":`bottom-sheet-content`,className:a(`fixed inset-x-0 bottom-0 z-50 flex w-full flex-col rounded-t-[24px] border-t bg-[var(--surface-lift)] border-[var(--border-base)] shadow-xl focus:outline-none`,`min-h-[min(280px,45dvh)] max-h-[50dvh]`,`data-[state=open]:animate-[bottomSheetIn_180ms_ease-out]`,t),...s,children:(0,h.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col px-4 pt-4 pb-[calc(16px+var(--safe-area-inset-bottom,env(safe-area-inset-bottom,0px)))]`,children:r})})]})}function b({icon:e,className:t,children:n,ref:r,...i}){return(0,h.jsxs)(f,{ref:r,"data-slot":`bottom-sheet-title`,className:a(`flex items-center gap-3 text-title-medium text-[var(--content-default)]`,t),...i,children:[e?(0,h.jsx)(`span`,{"aria-hidden":`true`,className:`flex h-10 w-10 shrink-0 items-center justify-center rounded-full`,style:{backgroundColor:`color-mix(in oklab, var(--primary-base) 16%, transparent)`},children:(0,h.jsx)(e,{className:`h-5 w-5 text-[var(--primary-base)]`})}):null,(0,h.jsx)(`span`,{className:`min-w-0 truncate`,children:n})]})}function x({className:e,children:t,ref:n,...r}){return(0,h.jsx)(c,{ref:n,"data-slot":`bottom-sheet-description`,className:a(`mt-1 whitespace-pre-line text-body-medium-lighter text-[var(--content-secondary)]`,e),...r,children:t})}function S(e){return(0,h.jsx)(l,{"data-slot":`bottom-sheet-close`,...e})}function C({className:e,children:t,...n}){return(0,h.jsx)(`div`,{"data-slot":`bottom-sheet-header`,className:a(`flex flex-col gap-1`,e),...n,children:t})}function w({className:e,children:t,...n}){return(0,h.jsx)(`div`,{"data-slot":`bottom-sheet-body`,className:a(`flex-1 overflow-y-auto pt-4 text-[var(--content-default)]`,e),...n,children:t})}function T({className:e,children:t,...n}){return(0,h.jsx)(`div`,{"data-slot":`bottom-sheet-footer`,className:a(`flex justify-end gap-2 pt-4`,e),...n,children:t})}var E={Root:_,Trigger:v,Content:y,Title:b,Description:x,Close:S,Header:C,Body:w,Footer:T},D=50,O=2e3,k=.8;function A({children:e,className:t}){let n=(0,m.useRef)(null),r=(0,m.useRef)(null),[i,o]=(0,m.useState)(0);(0,m.useEffect)(()=>{let e=n.current,t=r.current;if(!e||!t)return;let i=()=>{let n=t.scrollWidth-e.clientWidth;o(n>0?n:0)};i();let a=new ResizeObserver(i);return a.observe(e),a.observe(t),()=>a.disconnect()},[e]);let s=i>0,c=Math.max(O,Math.round(i*2/D*1e3)),l=Math.round(c/k);return(0,h.jsxs)(`span`,{"data-slot":`marquee-text`,ref:n,className:a(`relative min-w-0 flex-1 overflow-hidden`,t),children:[(0,h.jsx)(`span`,{className:`block truncate motion-safe:group-hover:invisible`,children:e}),(0,h.jsx)(`span`,{ref:r,"aria-hidden":!0,className:a(`absolute top-0 left-0 invisible block whitespace-nowrap`,`motion-safe:group-hover:visible`,s&&`motion-safe:group-hover:animate-panelitem-marquee`),style:s?{"--panelitem-marquee-distance":`${i}px`,"--panelitem-marquee-duration":`${l}ms`}:void 0,children:e})]})}var j=[`group relative`,`flex h-8 max-md:h-auto w-full items-center justify-between`,`rounded-[6px] p-[8px] max-md:py-3 gap-[4px]`,`text-left text-body-medium-lighter max-md:text-body-large-default`,`transition-colors`,`bg-transparent`,`text-[var(--content-secondary)]`,`outline-none`].join(` `),M=[`hover:bg-[var(--surface-hover)]`,`keyboard-focus:ring-2 keyboard-focus:ring-[var(--ring)]`,`cursor-pointer select-none`].join(` `),N=[`aria-[current=page]:bg-[var(--surface-active)]`,`aria-[current=page]:text-[var(--content-emphasised)]`].join(` `),P=[`aria-[current=page]:bg-[color-mix(in_oklab,var(--primary-base)_10%,transparent)]`,`aria-[current=page]:text-[var(--primary-base)]`,`aria-[current=page]:font-medium`].join(` `),F=`flex min-w-0 flex-1 items-center gap-[8px]`,I=[`shrink-0`,`text-[var(--content-tertiary)]`,`group-hover:text-[var(--content-secondary)]`].join(` `),L=`group-aria-[current=page]:text-[var(--content-default)]`,R=`group-aria-[current=page]:text-[var(--primary-base)]`,z=`min-w-0 flex-1 truncate`,B=`shrink-0 text-[var(--content-tertiary)]`,V=`flex items-center gap-2 shrink-0`,H=[`inline-flex items-center justify-center shrink-0`,`text-label-small-default leading-none`,`text-[var(--content-tertiary)]`,`rounded-[4px] bg-[var(--surface-base)] px-[4px] py-[2px]`,`group-hover:bg-transparent group-hover:rounded-none`,`group-hover:px-0 group-hover:py-0`,`group-aria-[current=page]:bg-transparent group-aria-[current=page]:rounded-none`,`group-aria-[current=page]:px-0 group-aria-[current=page]:py-0`].join(` `),U=[`flex items-center shrink-0`,`opacity-0 transition-opacity`,`group-hover:opacity-100`,`group-focus-within:opacity-100`,`has-[[aria-expanded=true]]:opacity-100`,`group-aria-[current=page]:opacity-100`,`pointer-coarse:opacity-100`].join(` `);function W({icon:e,leadingSlot:t,label:n,expandChevron:r,badge:o,trailingAction:s,active:c=!1,activeVariant:l=`default`,disabled:u=!1,onSelect:d,href:f,marqueeOnHover:p=!1,className:m,"aria-label":g,asChild:_=!1,children:v,ref:y,...b}){let x=c?`page`:void 0,S=g??(typeof n==`string`?n:void 0),C=(0,h.jsxs)(h.Fragment,{children:[(0,h.jsxs)(`span`,{className:F,children:[t===void 0?e?(0,h.jsx)(e,{size:14,"aria-hidden":!0,className:a(`max-md:size-4`,I,l===`branded`?R:L)}):null:t,p?(0,h.jsx)(A,{children:n}):(0,h.jsx)(`span`,{className:z,children:n}),r?(0,h.jsx)(r,{size:12,"aria-hidden":!0,className:B}):null]}),(0,h.jsxs)(`span`,{className:V,children:[o==null?null:(0,h.jsx)(`span`,{className:H,children:o}),s?(0,h.jsx)(`span`,{className:U,onClick:e=>{e.stopPropagation(),e.preventDefault()},children:s}):null]})]}),w=a(j,(_||!!f||!!d)&&M,l===`branded`?P:N,m);if(_)return(0,h.jsx)(i,{"data-slot":`panel-item`,ref:y,className:w,"aria-current":x,"aria-label":S,...b,children:v});if(f){let{onClick:e,...t}=b;return(0,h.jsx)(`a`,{...t,"data-slot":`panel-item`,ref:y,href:f,className:w,"aria-current":x,"aria-label":S,onClick:t=>{e?.(t),t.defaultPrevented||d?.()},children:C})}if(d){let{onClick:e,onKeyDown:t,...n}=b,r=t=>{if(u){t.preventDefault();return}e?.(t),t.defaultPrevented||d()},i=e=>{u||(t?.(e),!e.defaultPrevented&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),d()))};return(0,h.jsx)(`div`,{...n,"data-slot":`panel-item`,ref:y,role:`button`,tabIndex:u?-1:0,"aria-disabled":u||void 0,className:w,"aria-current":x,"aria-label":S,onClick:r,onKeyDown:i,children:C})}return(0,h.jsx)(`div`,{"data-slot":`panel-item`,ref:y,className:w,"aria-current":x,"aria-label":S,...b,children:C})}export{E as n,W as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as e}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t}from"./jsx-runtime-CVSDxk6A.js";import{c as n}from"./routes-BbeIx_F9.js";var r=t();function i(){return(0,r.jsx)(e,{to:n.account.login,replace:!0})}export{i as PasswordResetPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{u as t}from"./native-biometric-Czaf9IqI.js";import{t as n}from"./react-DJZBPgpf.js";import{t as r}from"./is-electron-y5bNUVyG.js";import{t as i}from"./dist-DS5iJwBJ2.js";var a=e(n(),1);function o(){if(typeof navigator>`u`)return!1;let e=navigator.userAgent;if(/iPhone|iPod/.test(e)||/iPad/.test(e))return!0;let t=navigator.userAgentData;return(t?.platform?t.platform.toLowerCase().includes(`mac`):navigator.platform.toLowerCase().includes(`mac`))&&navigator.maxTouchPoints>1}function s(){if(typeof navigator>`u`)return!1;let e=navigator.userAgent;return/Safari/.test(e)&&!/CriOS|FxiOS|EdgiOS|OPiOS|Chrome|Chromium/.test(e)}function c(){if(typeof navigator>`u`||o())return!1;let e=navigator.userAgentData;return e?.platform?e.platform.toLowerCase().includes(`mac`):navigator.platform.toLowerCase().includes(`mac`)}function l(){return typeof navigator>`u`?!1:/Android/i.test(navigator.userAgent)}function u(){return r()?`macos`:t()?i.getPlatform()===`android`?`android`:`ios`:o()?`ios`:l()?`android`:`web`}function d(){return t()&&i.getPlatform()===`ios`}function f(e){if(!e||e.length===0)return null;for(let{family:t,pattern:n}of[{family:`edge`,pattern:/microsoft edge/i},{family:`chrome`,pattern:/google chrome|chromium/i}]){let r=e.find(e=>n.test(e.brand));if(r){let e=r.version.match(/^\d+/)?.[0];return{family:t,...e?{version:e}:{}}}}return null}function p(e){for(let{family:t,pattern:n}of[{family:`edge`,pattern:/(?:Edg|EdgiOS|EdgA)\/(\d+)/},{family:`chrome`,pattern:/(?:Chrome|CriOS|Chromium)\/(\d+)/},{family:`firefox`,pattern:/(?:Firefox|FxiOS)\/(\d+)/},{family:`safari`,pattern:/Version\/(\d+).*Safari\//}]){let r=e.match(n);if(r)return{family:t,version:r[1]}}return null}function m(){if(typeof navigator>`u`)return{};let e=navigator.userAgentData;return f(e?.brands)??p(navigator.userAgent)??{}}var h=()=>()=>{};function g(){return(0,a.useSyncExternalStore)(h,()=>o()&&!t()&&!s(),()=>!1)}function _(){return(0,a.useSyncExternalStore)(h,()=>c()&&!t()&&!r(),()=>!1)}export{g as a,d as i,u as n,_ as o,c as r,m as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{g as t}from"./native-biometric-Czaf9IqI.js";import{t as n}from"./react-DJZBPgpf.js";import{d as r,h as i}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as a}from"./jsx-runtime-CVSDxk6A.js";import{j as o,w as s}from"./local-mode-grqHUoNh.js";import{D as c,n as l}from"./auth-store-C09YAZEu.js";import{c as u}from"./api-_7pKLlYA.js";import{c as d}from"./routes-BbeIx_F9.js";var f=e(n(),1),p=a(),m=`vellum:loopback:state`,h=`vellum:loopback:returnTo`;function g(){let[e]=i(),n=r(),[a,g]=(0,f.useState)(null);return(0,f.useEffect)(()=>{let r=e.get(`state`),i=e.get(`session_token`),a=sessionStorage.getItem(m),f=sessionStorage.getItem(h)||d.assistant;if(sessionStorage.removeItem(m),sessionStorage.removeItem(h),!r||r!==a){g(`Login failed: state mismatch. Please try again.`);return}if(!i){g(`Login failed: no session token received. Please try again.`);return}if(!/^[a-zA-Z0-9]+$/.test(i)){g(`Login failed: invalid session token.`);return}(async()=>{if(!await o(i)){g(`Login failed: couldn't reach the local Vellum server to store the session. Please try again.`);return}await l.getState().initSession(),await t(!0);try{let e=await u();if(e.ok&&e.data.length>0){await s(e.data,c.getState().currentOrganizationId??void 0),n(d.assistant,{replace:!0});return}}catch{}n(f,{replace:!0})})()},[e,n]),a?(0,p.jsx)(`div`,{className:`flex min-h-screen items-center justify-center bg-[var(--surface-base)] text-[var(--content-default)]`,children:(0,p.jsxs)(`div`,{className:`max-w-md text-center`,children:[(0,p.jsx)(`p`,{className:`text-body-medium-default`,children:a}),(0,p.jsx)(`button`,{type:`button`,className:`mt-4 rounded-lg border border-[var(--border-disabled)] px-4 py-2 text-sm hover:bg-[var(--surface-lift)]`,onClick:()=>void n(d.welcome),children:`Back to Welcome`})]})}):(0,p.jsx)(`div`,{className:`flex min-h-screen items-center justify-center bg-[var(--surface-base)] text-[var(--content-default)]`,children:(0,p.jsx)(`p`,{className:`text-body-medium-default`,children:`Completing login...`})})}export{g as PlatformLoopbackPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{a as t,t as n}from"./local-settings-lVNyIOJ_.js";import{t as r}from"./react-DJZBPgpf.js";import{F as i,t as a}from"./button-amTXFI-2.js";import{h as o,r as s}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{n as c}from"./QueryClientProvider-DKhXIxGb.js";import{t as l}from"./useQuery-B45lW1Kk.js";import{t as u}from"./useMutation-Lj4VunQV.js";import{t as d}from"./jsx-runtime-CVSDxk6A.js";import{t as f}from"./card-Bv5O5juh.js";import{t as p}from"./createLucideIcon-IRfcSUxS.js";import{t as m}from"./arrow-left-DI9551VI.js";import{t as h}from"./check-DFNrQERi.js";import{t as g}from"./cloud-off-Db1nySkc.js";import{t as _}from"./download-CAuK-nZ6.js";import{t as v}from"./external-link-Dqpx9nRm.js";import{i as y,n as b,r as x,t as S}from"./use-skill-categories-CCxtjMC_.js";import{t as C}from"./globe-4qSOWE2N.js";import{t as w}from"./hard-drive-rDxhoRUm.js";import{t as T}from"./loader-circle-Cz7opInR.js";import{t as E}from"./sparkles-PGiR5v1g.js";import{t as D}from"./triangle-alert-Z0Gq0IuB.js";import{t as ee}from"./x-CkSVp1Ok.js";import"./src-zsLiFPw3.js";import{t as O}from"./tag-CV4v7fRF.js";import{t as k}from"./popover-CFL4WZTr.js";import{t as A}from"./input-CoUmPnRU.js";import{t as j}from"./toggle-CDfguvUz.js";import{n as M,t as N}from"./panel-item-CouW2A55.js";import{n as P}from"./toast-xTp-xwYL.js";import{t as F}from"./confirm-dialog-CSkhRFRk.js";import{t as I}from"./file-markdown-Bq97tNxs.js";import{Fn as te,Mn as L,Nn as ne,Rn as re}from"./sdk.gen-BwnFjFcp.js";import{at as ie,ct as ae,in as oe,nn as se,rn as ce,rt as le,st as R}from"./react-query.gen-C6wVk6Rw.js";import{t as ue}from"./assistant-identity-store-CX03CK8q.js";import{n as de}from"./utils-xg2dl_KJ.js";import{c as fe}from"./routes-BbeIx_F9.js";import{t as z}from"./misc-BYQPh7vS.js";import{Ai as pe,Ea as B,Fi as me,Ma as V,Pi as H,Ta as U,_r as he,ea as W,pr as ge,vi as G,xt as _e}from"./index-yu6nDHvG.js";import{t as ve}from"./use-active-assistant-id-BWXi63qg.js";import{t as ye}from"./plugins-surface-z3RTZS4H.js";var K=p(`power-off`,[[`path`,{d:`M18.36 6.64A9 9 0 0 1 20.77 15`,key:`dxknvb`}],[`path`,{d:`M6.16 6.16a9 9 0 1 0 12.68 12.68`,key:`1x7qb5`}],[`path`,{d:`M12 2v4`,key:`3427ic`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]),q=e(r(),1),J=d(),be={sm:`h-7 w-7`,md:`h-8 w-8 text-3xl`};function Y({external:e=!1,icon:t,iconSrc:n,size:r=`sm`,className:i}){let[a,o]=(0,q.useState)(!1);(0,q.useEffect)(()=>{o(!1)},[n]);let s=t||(e?`📦`:`🧩`),c=!!n&&!a;return(0,J.jsx)(`span`,{className:z(`flex shrink-0 items-center justify-center`,be[r],i),children:c?(0,J.jsx)(`img`,{src:n,alt:``,"aria-hidden":!0,loading:`lazy`,className:`h-full w-full object-contain`,onError:()=>o(!0)}):s})}var xe=e=>`Remove "${e}" from this assistant?`,Se=e=>`"${e}" has local edits that will be overwritten by the upgrade. Continue?`,Ce=`Upgrade anyway`,we=`Failed to install plugin. Please try again.`,Te=`Failed to remove plugin. Please try again.`,Ee=`Failed to upgrade plugin. Please try again.`,De=`Failed to update plugin. Please try again.`;function Oe(e,t){let n=e.map(e=>({name:e.name,description:e.description??void 0,status:`installed`,external:void 0,version:e.version??void 0,path:e.path,issues:e.issues,enabled:e.enabled,icon:e.icon,hasIcon:e.hasIcon,iconVersion:e.iconVersion})),r=new Set(n.map(e=>e.name)),i=t.filter(e=>!r.has(e.name)).map(e=>({name:e.name,description:e.description,status:`available`,external:!0,path:e.path}));return[...n,...i]}function ke(e,t){let n=t.trim().toLowerCase();return n?[e.name,e.description].some(e=>e?.toLowerCase().includes(n)):!0}function Ae(e){return[...e].sort((e,t)=>{let n=e.status===`installed`;return n===(t.status===`installed`)?e.name.localeCompare(t.name,void 0,{sensitivity:`base`}):n?-1:1})}function je(e,t){switch(t){case`all`:return e;case`available`:return e.filter(e=>e.status===`available`);case`installed`:return e.filter(e=>e.status===`installed`);case`active`:return e.filter(e=>e.status===`installed`&&e.enabled!==!1);case`off`:return e.filter(e=>e.status===`installed`&&e.enabled===!1)}}function X(e){return e?e.slice(0,7):`unknown`}function Z({plugin:e,surfaces:t=null,className:n}){let r=[{label:`Source`,value:e.source?.kind===`github`?e.source.repo:`Local`,href:(e.source?.kind===`github`?`https://github.com/${e.source.repo}`:null)??void 0}];return e.homepage&&r.push({label:`Homepage`,value:e.homepage,href:e.homepage}),e.license&&r.push({label:`License`,value:e.license}),t&&(t.skills.length>0&&r.push({label:`Skills`,value:String(t.skills.length)}),t.hooks.length>0&&r.push({label:`Hooks`,value:String(t.hooks.length)}),t.tools.length>0&&r.push({label:`Tools`,value:String(t.tools.length)})),(0,J.jsx)(`dl`,{className:z(`mb-5 grid gap-x-6 gap-y-2 border-b pb-5 sm:grid-cols-[max-content_1fr]`,n),style:{borderColor:`var(--border-base)`},children:r.map(e=>(0,J.jsxs)(`div`,{className:`contents`,children:[(0,J.jsx)(`dt`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:e.label}),(0,J.jsx)(`dd`,{className:`min-w-0 truncate text-body-small-default`,style:{color:`var(--content-secondary)`},children:e.href?(0,J.jsxs)(`a`,{href:e.href,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-1 underline`,style:{color:`var(--primary-base, #60a5fa)`},children:[e.value,(0,J.jsx)(v,{className:`h-3 w-3`,"aria-hidden":!0})]}):e.value})]},e.label))})}function Q({plugin:e,drift:t,onInstall:n,onRemove:r,onUpgrade:i,isInstalling:o,isRemoving:s,isUpgrading:c,hasLocalEdits:l,enabled:u,onToggle:d,isToggling:f}){let[p,m]=(0,q.useState)(!1),[h,g]=(0,q.useState)(!1),v=e.installed??!1,y=e.artifact??null,b=t?.status===`update-available`,x=b?`Upgrade ${X(t?.local?.commit??null)} → ${X(t?.remote?.commit??null)}`:void 0;return(0,J.jsxs)(J.Fragment,{children:[v?(0,J.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 md:flex-nowrap md:shrink-0`,children:[u!==void 0&&d?(0,J.jsx)(j,{label:`Auto-include in chat`,checked:u,onChange:()=>d(),disabled:f}):null,y?(0,J.jsx)(a,{asChild:!0,leftIcon:(0,J.jsx)(_,{"aria-hidden":!0}),children:(0,J.jsx)(`a`,{href:y.url,download:!0,children:y.label??`Download`})}):null,b?(0,J.jsx)(a,{type:`button`,onClick:()=>{if(l){g(!0);return}i()},disabled:c,title:x,leftIcon:c?(0,J.jsx)(T,{className:`animate-spin`,"aria-hidden":!0}):(0,J.jsx)(B,{"aria-hidden":!0}),children:`Upgrade`}):null,(0,J.jsx)(a,{type:`button`,variant:`dangerOutline`,onClick:()=>m(!0),disabled:s,leftIcon:s?(0,J.jsx)(T,{className:`animate-spin`,"aria-hidden":!0}):(0,J.jsx)(G,{"aria-hidden":!0}),children:`Remove`})]}):(0,J.jsx)(a,{type:`button`,onClick:n,disabled:o,leftIcon:o?(0,J.jsx)(T,{className:`animate-spin`,"aria-hidden":!0}):(0,J.jsx)(V,{"aria-hidden":!0}),children:`Install`}),(0,J.jsx)(F,{open:p,title:`Remove plugin`,message:xe(e.name),confirmLabel:`Remove`,destructive:!0,onConfirm:()=>{m(!1),r()},onCancel:()=>m(!1)}),(0,J.jsx)(F,{open:h,title:`Upgrade plugin`,message:Se(e.name),confirmLabel:Ce,destructive:!0,onConfirm:()=>{g(!1),i()},onCancel:()=>g(!1)})]})}function Me(){return(0,J.jsx)(`div`,{className:`flex items-center justify-center py-12`,children:(0,J.jsx)(T,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})})}function Ne(){return(0,J.jsxs)(`div`,{className:`flex flex-col items-center justify-center gap-2 py-12 text-center`,style:{color:`var(--content-tertiary)`},children:[(0,J.jsx)(D,{className:`h-6 w-6`,"aria-hidden":!0}),(0,J.jsx)(`p`,{className:`text-body-medium-default`,children:`We couldn't load this plugin.`}),(0,J.jsx)(`p`,{className:`text-body-small-default`,children:`It may not exist, or your assistant may be on an older build.`})]})}function Pe({isInstallError:e,isRemoveError:t,isUpgradeError:n}){let r=e?we:t?Te:n?Ee:null;return r?(0,J.jsxs)(`div`,{className:`mb-3 flex items-center gap-2 rounded px-3 py-2 text-body-small-default`,style:{backgroundColor:`var(--surface-secondary)`,color:`var(--content-warning, var(--content-tertiary))`},role:`alert`,children:[(0,J.jsx)(D,{className:`h-4 w-4 shrink-0`,"aria-hidden":!0}),r]}):null}function Fe({external:e,className:t}){let n=e?{label:`External`,icon:C}:{label:`Local`,icon:w};return(0,J.jsx)(O,{tone:`neutral`,leftIcon:(0,q.createElement)(n.icon),className:t,children:n.label})}function Ie({onClick:e,isUpgrading:t=!1}={}){let n=(0,J.jsx)(O,{tone:`warning`,leftIcon:(0,q.createElement)(t?T:B,{className:t?`animate-spin`:void 0}),className:`shrink-0`,children:`Update available`});return e?(0,J.jsx)(`button`,{type:`button`,onClick:t=>{t.stopPropagation(),e()},disabled:t,"aria-label":`Upgrade plugin`,className:`shrink-0 rounded-[6px] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)] disabled:cursor-not-allowed`,children:n}):n}var Le=300*1e3;function Re({assistantId:e,name:t,enabled:n=!0}){return l({...ie({path:{assistant_id:e,name:t}}),enabled:!!e&&!!t&&n,staleTime:Le,retry:!1})}function ze(e){let t=e?.local?.localChanges;return!!t&&t?.clean===!1}function Be(e,t,n){let r=c(),i=n?.onRemoved,a=l({...le({path:{assistant_id:e,name:t}}),enabled:!!e&&!!t}),o=Re({assistantId:e,name:t,enabled:a.data?.installed??!1}).data,s=(0,q.useCallback)(()=>ge(r,e,t),[e,t,r]),u=oe({onSuccess:()=>{s(),P.success(`Installed ${t||`plugin`}`)}}),d=se({onSuccess:()=>{s(),i?.()}}),f=ce({onSuccess:e=>{s(),P.success(e.outcome===`already-up-to-date`?`${t||`Plugin`} is already up to date`:`Upgraded ${t||`plugin`} to ${X(e.toCommit)}`)}});return{plugin:a.data??null,drift:o,isLoading:a.isLoading,isError:a.isError,install:()=>{u.mutate({path:{assistant_id:e},body:{name:t}})},remove:()=>{d.mutate({path:{assistant_id:e,name:t}})},upgrade:()=>{f.mutate({path:{assistant_id:e,name:t},body:{}})},isInstalling:u.isPending,isRemoving:d.isPending,isUpgrading:f.isPending,isInstallError:u.isError,isRemoveError:d.isError,isUpgradeError:f.isError,hasLocalEdits:ze(o)}}var Ve=`0.10.5`;function He(){return de(Ve)}function Ue(e,t,n,r){let i=He(),{data:a}=l({queryKey:[`pluginIcon`,e,t,r],queryFn:async()=>{let{data:n,error:r}=await te({path:{assistant_id:e,name:t},parseAs:`blob`,throwOnError:!1});if(r||!(n instanceof Blob))throw Error(`Failed to load plugin icon`);return n},enabled:!!(i&&n&&r),staleTime:1/0,retry:!1}),[o,s]=(0,q.useState)(void 0);return(0,q.useEffect)(()=>{if(!a){s(void 0);return}let e=URL.createObjectURL(a);return s(e),()=>{URL.revokeObjectURL(e)}},[a]),o}function We(e){let t=c(),n={queryKey:R({path:{assistant_id:e}})},r=(e,r)=>{t.setQueriesData(n,t=>t&&{...t,plugins:t.plugins.map(t=>t.name===e?{...t,enabled:r}:t)})},i=u({mutationFn:async({name:t,nextEnabled:n})=>{let r=await(n?ne({path:{assistant_id:e,name:t},throwOnError:!1}):L({path:{assistant_id:e,name:t},throwOnError:!1})),i=r.response?.status;if(r.response?.ok||i===409)return r;throw Error(`Plugin toggle failed (${i??`network error`})`)},onMutate:async({name:e,nextEnabled:i})=>{await t.cancelQueries(n),r(e,i)},onError:(e,{name:t,nextEnabled:n})=>{r(t,!n),P.error(De)},onSettled:(n,r,i)=>{ge(t,e,i.name)}});return{toggle:(e,t)=>{i.mutate({name:e,nextEnabled:t})},togglingName:i.isPending?i.variables?.name??null:null}}function Ge({assistantId:e,name:t,onBack:n,externalHint:r,enabled:i}){let{plugin:o,drift:s,isLoading:c,isError:l,install:u,remove:d,upgrade:p,isInstalling:h,isRemoving:g,isUpgrading:_,isInstallError:v,isRemoveError:y,isUpgradeError:b,hasLocalEdits:x}=Be(e,t,{onRemoved:n}),{toggle:S,togglingName:C}=We(e),w=Ue(e,t,o?.hasIcon,o?.iconVersion);return(0,J.jsxs)(`div`,{className:`flex h-full min-h-0 flex-1 flex-col`,children:[(0,J.jsxs)(`div`,{className:`mb-4 flex items-start gap-3`,children:[(0,J.jsx)(a,{type:`button`,variant:`ghost`,iconOnly:(0,J.jsx)(m,{"aria-hidden":!0}),"aria-label":`Back to plugins`,onClick:n}),(0,J.jsx)(Ke,{name:t,plugin:o,externalHint:r,iconSrc:w,drift:s,onInstall:u,onRemove:d,onUpgrade:p,isInstalling:h,isRemoving:g,isUpgrading:_,hasLocalEdits:x,enabled:i,onToggle:()=>S(t,!i),isToggling:C===t})]}),(v||y||b)&&(0,J.jsx)(Pe,{isInstallError:v,isRemoveError:y,isUpgradeError:b}),(0,J.jsx)(f.Root,{asChild:!0,children:(0,J.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-6 py-5`,children:c?(0,J.jsx)(Me,{}):l||!o?(0,J.jsx)(Ne,{}):(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(Z,{plugin:o,surfaces:s?.surfaces??null}),o.readme?(0,J.jsx)(I,{content:o.readme}):(0,J.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`This plugin doesn't ship a README.`})]})})})]})}function Ke({name:e,plugin:t,externalHint:n,iconSrc:r,drift:i,onInstall:a,onRemove:o,onUpgrade:s,isInstalling:c,isRemoving:l,isUpgrading:u,hasLocalEdits:d,enabled:f,onToggle:p,isToggling:m}){let h=t?.source?.kind===`github`,g=t?h:n,_=i?.status===`update-available`;return(0,J.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-3 sm:flex-row sm:items-center`,children:[(0,J.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-start gap-3`,children:[g===void 0?(0,J.jsx)(`span`,{"aria-hidden":!0,className:`h-8 w-8 shrink-0`}):(0,J.jsx)(Y,{external:g,icon:t?.icon??void 0,iconSrc:r,size:`md`}),(0,J.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,J.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-2 gap-y-1`,children:[(0,J.jsx)(`h2`,{className:`text-title-medium`,style:{color:`var(--content-default)`},children:t?.name??e}),t?.version?(0,J.jsxs)(`span`,{className:`shrink-0 text-body-small-default`,style:{color:`var(--content-tertiary)`},children:[`v`,t.version]}):null,t?(0,J.jsx)(Fe,{external:h}):null,_?(0,J.jsx)(Ie,{}):null]}),t?.description?(0,J.jsx)(`p`,{className:`mt-0.5 line-clamp-2 text-body-medium-lighter`,style:{color:`var(--content-secondary)`},children:t.description}):null]})]}),t?(0,J.jsx)(Q,{plugin:t,drift:i,onInstall:a,onRemove:o,onUpgrade:s,isInstalling:c,isRemoving:l,isUpgrading:u,hasLocalEdits:d,enabled:f,onToggle:p,isToggling:m}):null]})}var qe=e(i(),1);function Je({assistantId:e,name:t,onBack:n,externalHint:r,enabled:i}){let{plugin:o,drift:s,isLoading:c,isError:l,install:u,remove:d,upgrade:p,isInstalling:h,isRemoving:g,isUpgrading:_,isInstallError:v,isRemoveError:y,isUpgradeError:b,hasLocalEdits:x}=Be(e,t,{onRemoved:n}),{toggle:S,togglingName:C}=We(e),[w,T]=(0,q.useState)(null);(0,q.useEffect)(()=>{T(document.getElementById(`viewport-overlays`))},[]);let E=o?.source?.kind===`github`,D=o?E:r,ee=s?.status===`update-available`,O=o?.name??t,k=Ue(e,t,o?.hasIcon,o?.iconVersion),A=(0,J.jsxs)(`div`,{className:`fixed inset-0 z-40 flex flex-col overflow-hidden bg-[var(--surface-overlay)]`,style:{paddingTop:`calc(8px + var(--safe-area-inset-top, env(safe-area-inset-top, 0px)))`,paddingBottom:`calc(8px + var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px)))`,paddingLeft:`calc(12px + var(--safe-area-inset-left, env(safe-area-inset-left, 0px)))`,paddingRight:`calc(12px + var(--safe-area-inset-right, env(safe-area-inset-right, 0px)))`},children:[(0,J.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,J.jsx)(a,{variant:`ghost`,iconOnly:(0,J.jsx)(m,{"aria-hidden":!0}),expandOnMobile:!0,"aria-label":`Back to plugins`,onClick:n,className:`max-md:bg-[var(--surface-active)]`}),(0,J.jsx)(`span`,{className:`min-w-0 flex-1 truncate px-2 text-center text-body-medium-default`,style:{color:`var(--content-secondary)`},children:O}),(0,J.jsx)(`span`,{"aria-hidden":!0,className:`h-8 w-8 shrink-0 touch-mobile:h-10 touch-mobile:w-10`})]}),(0,J.jsxs)(`div`,{className:`mt-4 flex flex-col gap-2`,children:[(0,J.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,J.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[D===void 0?(0,J.jsx)(`span`,{"aria-hidden":!0,className:`h-8 w-8 shrink-0`}):(0,J.jsx)(Y,{external:D,icon:o?.icon??void 0,iconSrc:k,size:`md`}),(0,J.jsx)(`h2`,{className:`min-w-0 truncate text-title-medium`,style:{color:`var(--content-emphasised)`},children:O})]}),(0,J.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1.5`,children:[ee?(0,J.jsx)(Ie,{}):null,o?(0,J.jsx)(Fe,{external:E}):null]})]}),o?.description?(0,J.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:o.description}):null]}),o?(0,J.jsx)(`div`,{className:`mt-3 flex flex-wrap items-center gap-2`,children:(0,J.jsx)(Q,{plugin:o,drift:s,enabled:i,onToggle:()=>S(t,!i),isToggling:C===t,onInstall:u,onRemove:d,onUpgrade:p,isInstalling:h,isRemoving:g,isUpgrading:_,hasLocalEdits:x})}):null,(v||y||b)&&(0,J.jsx)(`div`,{className:`mt-3`,children:(0,J.jsx)(Pe,{isInstallError:v,isRemoveError:y,isUpgradeError:b})}),(0,J.jsx)(f.Root,{asChild:!0,noPadding:!0,children:(0,J.jsx)(`div`,{className:`mt-6 flex min-h-0 flex-1 flex-col overflow-hidden rounded-2xl border bg-[var(--surface-lift)]`,style:{borderColor:`var(--border-hover)`},children:(0,J.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-4 py-4`,children:c?(0,J.jsx)(Me,{}):l||!o?(0,J.jsx)(Ne,{}):(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(Z,{plugin:o,surfaces:s?.surfaces??null}),o.readme?(0,J.jsx)(I,{content:o.readme}):(0,J.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`This plugin doesn't ship a README.`})]})})})})]});return w?(0,qe.createPortal)(A,w):A}var Ye={value:`all`,label:`All`,icon:W},Xe={value:`available`,label:`Available`,icon:V};function Ze(e){return e?[Ye,{value:`active`,label:`Active`,icon:me},{value:`off`,label:`Off`,icon:K},Xe]:[Ye,{value:`installed`,label:`Installed`,icon:U},Xe]}function Qe({search:e,onSearchChange:t,filter:n,onFilterChange:r,isSearching:i=!1,categories:a,category:o,onCategoryChange:s,counts:c,totalCount:l,showCounts:u,pluginToggleSupported:d}){return(0,J.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,J.jsx)(A,{type:`search`,value:e,onChange:e=>{t(e.target.value)},placeholder:`Search plugins`,"aria-label":`Search plugins`,leftIcon:(0,J.jsx)(pe,{className:`h-4 w-4`,"aria-hidden":!0}),rightIcon:i?(0,J.jsx)(T,{className:`h-4 w-4 animate-spin`,"aria-hidden":!0}):void 0,fullWidth:!0,wrapperClassName:`flex-1`}),(0,J.jsx)($e,{filter:n,onFilterChange:r,categories:a,category:o,onCategoryChange:s,counts:c,totalCount:l,showCounts:u,pluginToggleSupported:d})]})}function $e(e){let t=he(),[n,r]=(0,q.useState)(!1),i=(0,J.jsx)(a,{type:`button`,variant:`outlined`,iconOnly:(0,J.jsx)(y,{"aria-hidden":!0}),"aria-label":`Filter plugins`,"aria-haspopup":t?`dialog`:`listbox`,"aria-expanded":n,tintColor:`var(--primary-base)`});return t?(0,J.jsx)(et,{...e,open:n,onOpenChange:r,trigger:i}):(0,J.jsxs)(k.Root,{open:n,onOpenChange:r,children:[(0,J.jsx)(k.Trigger,{asChild:!0,children:i}),(0,J.jsx)(k.Content,{align:`end`,sideOffset:4,className:`w-44 overflow-hidden p-0`,children:(0,J.jsx)(`ul`,{role:`listbox`,children:(0,J.jsx)(rt,{label:`Status`,options:Ze(e.pluginToggleSupported),selected:e.filter,onSelect:t=>{e.onFilterChange(t),r(!1)}})})})]})}function et({filter:e,onFilterChange:t,categories:n,category:r,onCategoryChange:i,counts:o,totalCount:s,showCounts:c,pluginToggleSupported:l,open:u,onOpenChange:d,trigger:f}){let p=[...n].sort((e,t)=>e.label.localeCompare(t.label));return(0,J.jsxs)(M.Root,{open:u,onOpenChange:d,children:[(0,J.jsx)(M.Trigger,{asChild:!0,children:f}),(0,J.jsxs)(M.Content,{className:`max-h-[85dvh]`,"aria-describedby":void 0,children:[(0,J.jsx)(`div`,{"aria-hidden":!0,className:`mx-auto mb-3 h-1 w-9 shrink-0 rounded-full bg-[var(--border-element)]`}),(0,J.jsx)(M.Header,{children:(0,J.jsx)(M.Title,{children:`Filters`})}),(0,J.jsxs)(M.Body,{className:`flex flex-col gap-3 pt-2`,children:[(0,J.jsx)(tt,{label:`Status`,children:Ze(l).map(n=>(0,J.jsx)(nt,{icon:n.icon,label:n.label,active:e===n.value,onSelect:()=>t(n.value)},n.value))}),n.length>0&&(0,J.jsxs)(tt,{label:`Categories`,children:[(0,J.jsx)(nt,{icon:W,label:`All`,active:r===null,badge:c?s:void 0,onSelect:()=>i(null)}),p.map(e=>(0,J.jsx)(nt,{icon:x(e.icon)??W,label:e.label,active:r===e.slug,badge:c?o[e.slug]??0:void 0,onSelect:()=>i(e.slug)},e.slug))]})]}),(0,J.jsx)(M.Footer,{children:(0,J.jsx)(a,{type:`button`,variant:`primary`,fullWidth:!0,onClick:()=>d(!1),children:`Done`})})]})]})}function tt({label:e,children:t}){return(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`div`,{className:`px-2 pb-1 text-body-small-default uppercase tracking-wide`,style:{color:`var(--content-tertiary)`},children:e}),t]})}function nt({icon:e,label:t,active:n,badge:r,onSelect:i}){return(0,J.jsx)(N,{icon:e,label:t,active:n,activeVariant:`branded`,badge:r,trailingAction:n&&r==null?(0,J.jsx)(h,{className:`h-4 w-4 text-[var(--primary-base)]`,"aria-hidden":!0}):void 0,onSelect:i})}function rt({label:e,options:t,selected:n,onSelect:r}){return(0,J.jsxs)(`li`,{children:[(0,J.jsx)(`div`,{className:`px-3 pb-1 pt-2 text-body-small-default uppercase tracking-wide`,style:{color:`var(--content-tertiary)`},children:e}),(0,J.jsx)(`ul`,{children:t.map(e=>{let t=e.icon,i=n===e.value;return(0,J.jsx)(`li`,{children:(0,J.jsxs)(`button`,{type:`button`,onClick:()=>r(e.value),role:`option`,"aria-selected":i,className:`flex w-full items-center gap-2 px-3 py-1.5 text-left text-body-medium-lighter transition-colors hover:bg-[var(--surface-hover)]`,style:{color:i?`var(--primary-base)`:`var(--content-default)`},children:[(0,J.jsx)(t,{className:`h-4 w-4`,"aria-hidden":!0}),(0,J.jsx)(`span`,{className:`flex-1`,children:e.label}),i&&(0,J.jsx)(U,{className:`h-3.5 w-3.5`,"aria-hidden":!0})]})},e.value)})})]})}function it({assistantId:e,item:t,drift:n,onSelect:r,onInstall:i,onRemove:o,onUpgrade:s,isInstalling:c=!1,isRemoving:l=!1,isUpgrading:u=!1}){let d=t.status===`available`,p=n?.status===`update-available`,m=t.enabled!==void 0,h=t.enabled===!1,g=Ue(e,t.name,t.hasIcon,t.iconVersion);return(0,J.jsx)(f.Root,{asChild:!0,children:(0,J.jsxs)(`div`,{role:`button`,tabIndex:0,onClick:r,onKeyDown:e=>{e.target===e.currentTarget&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),r())},className:`flex cursor-pointer items-center gap-3 px-3 py-2 text-left transition-colors hover:bg-[var(--surface-hover)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`,children:[(0,J.jsx)(Y,{size:`sm`,external:t.external,icon:t.icon,iconSrc:g,className:h?`opacity-50`:void 0}),(0,J.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,J.jsx)(`span`,{className:`truncate text-body-medium-default`,style:{color:h?`var(--content-tertiary)`:`var(--content-emphasised)`},children:t.name}),t.version?(0,J.jsxs)(`span`,{className:`shrink-0 text-body-small-default`,style:{color:`var(--content-tertiary)`},children:[`v`,t.version]}):null,p?(0,J.jsx)(Ie,{onClick:s,isUpgrading:u}):null]}),(0,J.jsx)(`p`,{className:`mt-1 truncate text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:t.description??`No description provided.`}),t.issues&&t.issues.length>0?(0,J.jsxs)(`p`,{className:`mt-1 truncate text-body-small-default`,style:{color:`var(--content-warning, var(--content-tertiary))`},title:t.issues.join(`; `),children:[t.issues[0],t.issues.length>1?` (+${t.issues.length-1} more)`:``]}):null]}),d?c?(0,J.jsx)(a,{type:`button`,iconOnly:(0,J.jsx)(T,{className:`animate-spin`,"aria-hidden":!0}),disabled:!0,"aria-label":`Installing`,expandOnMobile:!1}):(0,J.jsx)(a,{type:`button`,iconOnly:(0,J.jsx)(V,{"aria-hidden":!0}),onClick:e=>{e.stopPropagation(),i?.()},disabled:!i,"aria-label":`Install plugin`,expandOnMobile:!1}):(0,J.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[m?(0,J.jsx)(O,{tone:t.enabled?`positive`:`neutral`,children:t.enabled?`Enabled`:`Disabled`}):null,(0,J.jsx)(a,{type:`button`,variant:`dangerOutline`,iconOnly:l?(0,J.jsx)(T,{className:`animate-spin`,"aria-hidden":!0}):(0,J.jsx)(G,{"aria-hidden":!0}),onClick:e=>{e.stopPropagation(),o?.()},disabled:l||u||!o,"aria-label":`Remove plugin`,expandOnMobile:!1})]})]})})}var at=300*1e3,$=[],ot=[];async function st(e,t,n){let r=await re({path:{assistant_id:e},query:{q:void 0,category:t},signal:n,throwOnError:!1});if(r.response?.status===404)return{plugins:[]};if(!r.response?.ok)throw Error(`Failed to load plugins`);return r.data??{plugins:[]}}function ct(e,t){let[n,r]=(0,q.useState)({assistantId:e,latched:!1}),i=n.assistantId===e?n.latched:!1;return n.assistantId!==e&&r({assistantId:e,latched:!1}),(0,q.useEffect)(()=>{t&&r(t=>t.assistantId===e&&t.latched?t:{assistantId:e,latched:!0})},[e,t]),i||t}function lt(e,t=null){let n=t??void 0,r=l({queryKey:R({path:{assistant_id:e},query:{q:void 0,category:n}}),queryFn:({signal:t})=>st(e,n,t),enabled:!!e,staleTime:at}),i=l({..._e(e),enabled:!!e&&t!==null}),a=l({...ae({path:{assistant_id:e},query:{q:void 0}}),enabled:!!e,staleTime:at}),o=(0,q.useMemo)(()=>{let e=t===null?r.data?.plugins:i.data?.plugins??r.data?.plugins;return new Set((e??$).map(e=>e.name))},[t,i.data?.plugins,r.data?.plugins]),s=(0,q.useMemo)(()=>{let e=r.data?.plugins??$,n=a.data?.matches??ot;return Ae(Oe(e,(t===null?n:n.filter(e=>(e.category??`system`)===t)).filter(e=>!o.has(e.name))))},[r.data?.plugins,a.data?.matches,t,o]),u=t===null?r.data:i.data,d=ct(e,u?.categoryCounts!==void 0),f=ct(e,(u?.plugins??$).some(e=>e.enabled!==void 0)),p=c(),m=(0,q.useRef)(null);return(0,q.useEffect)(()=>{if(m.current===e||!a.isSuccess)return;let t=u?.plugins;if(!t?.length)return;let n=new Map((a.data?.matches??ot).map(e=>[e.name,e.category]));t.some(e=>{let t=n.get(e.name);return t!=null&&t!==`system`&&(e.category??`system`)===`system`})&&(m.current=e,p.invalidateQueries({queryKey:R({path:{assistant_id:e},query:{q:void 0}})}))},[e,a.isSuccess,a.data?.matches,u?.plugins,p]),{items:s,isLoading:r.isLoading,catalogLoading:a.isLoading,isError:r.isError,isFetching:r.isFetching||a.isFetching,catalogError:a.isError,categorySupported:d,pluginToggleSupported:f,installedCategoryCounts:u?.categoryCounts,installedPlugins:u?.plugins??$,installedTotal:u?.totalCount,catalogMatches:a.data?.matches??ot,unfilteredInstalledNames:o}}var ut=`vellum:plugins:tipDismissed`;function dt({assistantId:e}){let r=c(),i=he(),[a,s]=o(),l=a.get(`plugin`),[u,d]=(0,q.useState)(``),[f,p]=(0,q.useState)(`all`),[m,h]=(0,q.useState)(null),[g,_]=(0,q.useState)(null),[v,y]=(0,q.useState)(null),[x,C]=(0,q.useState)(null),[w,T]=(0,q.useState)(null),[E,D]=(0,q.useState)(null),[ee,O]=(0,q.useState)(()=>n(ut,!1)),[k,A]=(0,q.useState)(e);e!==k&&(A(e),h(null));let j=e===k?m:null,{data:M=[]}=S(e),{items:N,isLoading:I,catalogLoading:te,isError:L,isFetching:ne,catalogError:re,categorySupported:ie,pluginToggleSupported:ae,installedCategoryCounts:le,installedPlugins:R,installedTotal:ue,catalogMatches:de,unfilteredInstalledNames:fe}=lt(e,j),z=(ae?[`all`,`active`,`off`,`available`]:[`all`,`installed`,`available`]).includes(f)?f:`all`,{counts:pe,totalCount:B}=ft(le,R,ue,de,fe,z),me=ie&&M.length>0,V=(0,q.useCallback)(t=>ge(r,e,t),[e,r]),H=oe({onMutate:e=>_(e.body.name),onSuccess:(e,t)=>P.success(`Installed ${t.body.name}`),onError:()=>P.error(we),onSettled:(e,t,n)=>{_(null),V(n.body.name)}}),U=se({onMutate:e=>y(e.path.name),onSuccess:(e,t)=>P.success(`Removed ${t.path.name}`),onError:()=>P.error(Te),onSettled:(e,t,n)=>{y(null),V(n.path.name)}}),W=ce({onMutate:e=>C(e.path.name),onSuccess:(e,t)=>P.success(e.outcome===`already-up-to-date`?`${t.path.name} is already up to date`:`Upgraded ${t.path.name} to ${X(e.toCommit)}`),onError:()=>P.error(Ee),onSettled:(e,t,n)=>{C(null),V(n.path.name)}}),G=(0,q.useCallback)(e=>s(t=>{let n=new URLSearchParams(t);return n.set(`plugin`,e.name),n}),[s]),_e=(0,q.useCallback)(()=>s(e=>{let t=new URLSearchParams(e);return t.delete(`plugin`),t},{replace:!0}),[s]),ve=(0,q.useCallback)(t=>{H.mutate({path:{assistant_id:e},body:{name:t.name}})},[e,H]),ye=(0,q.useCallback)(()=>{w&&(U.mutate({path:{assistant_id:e,name:w.name}}),T(null))},[e,w,U]),K=(0,q.useCallback)(t=>{W.mutate({path:{assistant_id:e,name:t},body:{}})},[e,W]),be=(0,q.useCallback)(()=>{E&&(K(E.name),D(null))},[E,K]),Y=(0,q.useCallback)((e,t)=>{if(ze(t)){D(e);return}K(e.name)},[K]),De=(0,q.useCallback)(()=>{O(!0),t(ut,!0)},[]),Oe=(0,q.useMemo)(()=>je(N,z).filter(e=>ke(e,u)),[N,z,u]),Ae=ne&&!I,Z=u.trim().length>0;if(l){let t=N.find(e=>e.name===l),n={assistantId:e,name:l,externalHint:t?.external,enabled:t?.enabled,onBack:_e};return i?(0,J.jsx)(Je,{...n}):(0,J.jsx)(Ge,{...n})}let Q=(0,J.jsx)(`div`,{className:`min-w-0 flex-1 overflow-y-auto`,children:I?(0,J.jsx)(gt,{}):L?(0,J.jsx)(_t,{}):Oe.length===0?te&&(z===`all`||z===`available`)?(0,J.jsx)(gt,{}):(0,J.jsx)(vt,{filter:z,category:j}):(0,J.jsx)(`ul`,{className:`flex flex-col gap-2`,children:Oe.map(t=>(0,J.jsx)(`li`,{children:t.status===`installed`?(0,J.jsx)(pt,{assistantId:e,item:t,onSelect:()=>G(t),onRemove:()=>T(t),onUpgrade:e=>Y(t,e),isRemoving:v===t.name,isUpgrading:x===t.name}):(0,J.jsx)(it,{assistantId:e,item:t,onSelect:()=>G(t),onInstall:()=>ve(t),isInstalling:g===t.name})},t.name))})});return(0,J.jsxs)(`div`,{className:`flex h-full min-h-0 flex-1 flex-col gap-4`,children:[!ee&&(0,J.jsx)(mt,{onDismiss:De}),(0,J.jsx)(Qe,{search:u,onSearchChange:d,filter:z,onFilterChange:p,isSearching:Ae,categories:me?M:[],category:j,onCategoryChange:h,counts:pe,totalCount:B,showCounts:!Z,pluginToggleSupported:ae}),re&&!I&&!L?(0,J.jsx)(ht,{}):null,me?(0,J.jsxs)(`div`,{className:`flex min-h-0 flex-1 gap-6`,children:[(0,J.jsx)(`aside`,{className:`hidden w-56 shrink-0 overflow-y-auto md:block`,children:(0,J.jsx)(b,{ariaLabel:`Plugin categories`,selected:j,onSelect:h,counts:pe,totalCount:B,showCounts:!Z,categories:M})}),Q]}):Q,(0,J.jsx)(F,{open:w!==null,title:`Remove plugin`,message:w?xe(w.name):``,confirmLabel:`Remove`,destructive:!0,onConfirm:ye,onCancel:()=>T(null)}),(0,J.jsx)(F,{open:E!==null,title:`Upgrade plugin`,message:E?Se(E.name):``,confirmLabel:Ce,destructive:!0,onConfirm:be,onCancel:()=>D(null)})]})}function ft(e,t,n,r,i,a){return(0,q.useMemo)(()=>{let o={},s=a!==`available`,c=a===`all`||a===`available`,l=a===`active`||a===`off`,u=l?t.filter(e=>a===`off`?e.enabled===!1:e.enabled!==!1):t;if(s)if(!l&&e&&Object.keys(e).length>0)Object.assign(o,e);else for(let e of u){let t=e.category??`system`;o[t]=(o[t]??0)+1}let d=0;if(c)for(let e of r){if(i.has(e.name))continue;let t=e.category??`system`;o[t]=(o[t]??0)+1,d+=1}let f=l?u.length:n??t.length;return{counts:o,totalCount:(s?f:0)+d}},[e,t,n,r,i,a])}function pt({assistantId:e,item:t,onSelect:n,onRemove:r,onUpgrade:i,isRemoving:a,isUpgrading:o}){let s=Re({assistantId:e,name:t.name}).data;return(0,J.jsx)(it,{assistantId:e,item:t,drift:s,onSelect:n,onRemove:r,onUpgrade:()=>i(s),isRemoving:a,isUpgrading:o})}function mt({onDismiss:e}){return(0,J.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg px-4 py-2.5 text-body-small-default`,style:{backgroundColor:`var(--surface-base)`,color:`var(--content-secondary)`},children:[(0,J.jsx)(E,{className:`h-4 w-4 shrink-0`,style:{color:`var(--primary-base)`}}),(0,J.jsx)(`p`,{className:`flex-1`,children:`Browse the catalog below to install plugins that extend your assistant.`}),(0,J.jsx)(a,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:(0,J.jsx)(ee,{"aria-hidden":!0}),onClick:e,"aria-label":`Dismiss tip`,tintColor:`var(--content-tertiary)`,expandOnMobile:!1})]})}function ht(){return(0,J.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg px-4 py-2.5 text-body-small-default`,style:{backgroundColor:`var(--surface-base)`,color:`var(--content-secondary)`},children:[(0,J.jsx)(g,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`},"aria-hidden":!0}),(0,J.jsx)(`p`,{className:`flex-1`,children:`Catalog browsing is temporarily unavailable. Installed plugins are still listed below.`})]})}function gt(){return(0,J.jsx)(`div`,{className:`flex items-center justify-center py-16`,children:(0,J.jsx)(T,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})})}function _t(){return(0,J.jsx)(f.Root,{children:(0,J.jsxs)(f.Body,{className:`flex flex-col items-center justify-center py-16 text-center`,children:[(0,J.jsx)(D,{className:`mb-3 h-8 w-8`,style:{color:`var(--system-danger)`},"aria-hidden":!0}),(0,J.jsx)(`h3`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:`Failed to load plugins`}),(0,J.jsx)(`p`,{className:`mt-1 max-w-sm text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Something went wrong. Try refreshing the page.`})]})})}function vt({filter:e,category:t}){let{title:n,subtitle:r,Icon:i}=yt(e,t);return(0,J.jsx)(f.Root,{children:(0,J.jsxs)(f.Body,{className:`flex flex-col items-center justify-center py-16 text-center`,children:[(0,J.jsx)(i,{className:`mb-3 h-8 w-8`,style:{color:`var(--content-tertiary)`},"aria-hidden":!0}),(0,J.jsx)(`h3`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:n}),(0,J.jsx)(`p`,{className:`mt-1 max-w-sm text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:r})]})})}function yt(e,t){if(t)return{title:`No plugins in this category`,subtitle:`Try selecting a different category or clearing the filter.`,Icon:W};switch(e){case`installed`:return{title:`No Plugins Installed`,subtitle:`Browse the catalog to install plugins that extend your assistant.`,Icon:H};case`active`:return{title:`No Active Plugins`,subtitle:`Install a plugin from the catalog, or turn on an installed one.`,Icon:H};case`off`:return{title:`No Plugins Turned Off`,subtitle:`Installed plugins you turn off will appear here.`,Icon:H};case`available`:return{title:`No Plugins Available`,subtitle:`Every catalog plugin is already installed.`,Icon:U};default:return{title:`No Plugins Found`,subtitle:`Browse the catalog to install plugins that extend your assistant.`,Icon:H}}}function bt(){let e=ue.use.version(),t=ye(),n=ve();return e===null?null:t?(0,J.jsx)(dt,{assistantId:n}):(0,J.jsx)(s,{to:fe.identity,replace:!0})}export{bt as PluginsPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./utils-xg2dl_KJ.js";var t=`0.10.3`;function n(){return e(t)}export{n as t};
|