@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,t}from"./chunk-jRWAZmH_.js";import{t as n}from"./react-DJZBPgpf.js";import{t as r}from"./jsx-runtime-CVSDxk6A.js";import{n as i,r as a,t as o}from"./cn-C36Yvcac.js";import{n as s}from"./bundle-mjs-BZt35okJ.js";var c=t((e=>{var t=n();function r(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function i(){}var a={d:{f:i,r:function(){throw Error(r(522))},D:i,C:i,L:i,m:i,X:i,S:i,M:i},p:0,findDOMNode:null},o=Symbol.for(`react.portal`);function s(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:o,key:r==null?null:``+r,children:e,containerInfo:t,implementation:n}}var c=t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function l(e,t){if(e===`font`)return``;if(typeof t==`string`)return t===`use-credentials`?t:``}e.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=a,e.createPortal=function(e,t){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(r(299));return s(e,t,null,n)},e.flushSync=function(e){var t=c.T,n=a.p;try{if(c.T=null,a.p=2,e)return e()}finally{c.T=t,a.p=n,a.d.f()}},e.preconnect=function(e,t){typeof e==`string`&&(t?(t=t.crossOrigin,t=typeof t==`string`?t===`use-credentials`?t:``:void 0):t=null,a.d.C(e,t))},e.prefetchDNS=function(e){typeof e==`string`&&a.d.D(e)},e.preinit=function(e,t){if(typeof e==`string`&&t&&typeof t.as==`string`){var n=t.as,r=l(n,t.crossOrigin),i=typeof t.integrity==`string`?t.integrity:void 0,o=typeof t.fetchPriority==`string`?t.fetchPriority:void 0;n===`style`?a.d.S(e,typeof t.precedence==`string`?t.precedence:void 0,{crossOrigin:r,integrity:i,fetchPriority:o}):n===`script`&&a.d.X(e,{crossOrigin:r,integrity:i,fetchPriority:o,nonce:typeof t.nonce==`string`?t.nonce:void 0})}},e.preinitModule=function(e,t){if(typeof e==`string`)if(typeof t==`object`&&t){if(t.as==null||t.as===`script`){var n=l(t.as,t.crossOrigin);a.d.M(e,{crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0})}}else t??a.d.M(e)},e.preload=function(e,t){if(typeof e==`string`&&typeof t==`object`&&t&&typeof t.as==`string`){var n=t.as,r=l(n,t.crossOrigin);a.d.L(e,n,{crossOrigin:r,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0,type:typeof t.type==`string`?t.type:void 0,fetchPriority:typeof t.fetchPriority==`string`?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy==`string`?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet==`string`?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes==`string`?t.imageSizes:void 0,media:typeof t.media==`string`?t.media:void 0})}},e.preloadModule=function(e,t){if(typeof e==`string`)if(t){var n=l(t.as,t.crossOrigin);a.d.m(e,{as:typeof t.as==`string`&&t.as!==`script`?t.as:void 0,crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0})}else a.d.m(e)},e.requestFormReset=function(e){a.d.r(e)},e.unstable_batchedUpdates=function(e,t){return e(t)},e.useFormState=function(e,t,n){return c.H.useFormState(e,t,n)},e.useFormStatus=function(){return c.H.useHostTransitionStatus()},e.version=`19.2.6`})),l=t(((e,t)=>{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=c()})),u=e=>typeof e==`boolean`?`${e}`:e===0?`0`:e,d=s,f=(e,t)=>n=>{if(t?.variants==null)return d(e,n?.class,n?.className);let{variants:r,defaultVariants:i}=t,a=Object.keys(r).map(e=>{let t=n?.[e],a=i?.[e];if(t===null)return null;let o=u(t)||u(a);return r[e][o]}),o=n&&Object.entries(n).reduce((e,t)=>{let[n,r]=t;return r===void 0||(e[n]=r),e},{});return d(e,a,t?.compoundVariants?.reduce((e,t)=>{let{class:n,className:r,...a}=t;return Object.entries(a).every(e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...i,...o}[t]):{...i,...o}[t]===n})?[...e,n,r]:e},[]),n?.class,n?.className)},p=e(n(),1);typeof window<`u`&&window.document&&window.document.createElement;function m(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),n===!1||!r.defaultPrevented)return t?.(r)}}function h(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function g(...e){return t=>{let n=!1,r=e.map(e=>{let r=h(e,t);return!n&&typeof r==`function`&&(n=!0),r});if(n)return()=>{for(let t=0;t<r.length;t++){let n=r[t];typeof n==`function`?n():h(e[t],null)}}}}function _(...e){return p.useCallback(g(...e),e)}var v=r();function y(e,t=[]){let n=[];function r(t,r){let i=p.createContext(r);i.displayName=t+`Context`;let a=n.length;n=[...n,r];let o=t=>{let{scope:n,children:r,...o}=t,s=n?.[e]?.[a]||i,c=p.useMemo(()=>o,Object.values(o));return(0,v.jsx)(s.Provider,{value:c,children:r})};o.displayName=t+`Provider`;function s(n,o){let s=o?.[e]?.[a]||i,c=p.useContext(s);if(c)return c;if(r!==void 0)return r;throw Error(`\`${n}\` must be used within \`${t}\``)}return[o,s]}let i=()=>{let t=n.map(e=>p.createContext(e));return function(n){let r=n?.[e]||t;return p.useMemo(()=>({[`__scope${e}`]:{...n,[e]:r}}),[n,r])}};return i.scopeName=e,[r,b(i,...t)]}function b(...e){let t=e[0];if(e.length===1)return t;let n=()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let r=n.reduce((t,{useScope:n,scopeName:r})=>{let i=n(e)[`__scope${r}`];return{...t,...i}},{});return p.useMemo(()=>({[`__scope${t.scopeName}`]:r}),[r])}};return n.scopeName=t.scopeName,n}var x=e(l(),1);function S(e){let t=p.forwardRef((t,n)=>{let{children:r,...i}=t,a=null,o=!1,s=[];A(r)&&typeof P==`function`&&(r=P(r._payload)),p.Children.forEach(r,e=>{if(O(e)){o=!0;let t=e,n=`child`in t.props?t.props.child:t.props.children;A(n)&&typeof P==`function`&&(n=P(n._payload)),a=T(t,n),s.push(a?.props?.children)}else s.push(e)}),a?a=p.cloneElement(a,void 0,s):!o&&p.Children.count(r)===1&&p.isValidElement(r)&&(a=r);let c=a?D(a):void 0,l=_(n,c);if(!a){if(r||r===0)throw Error(o?N(e):M(e));return r}let u=E(i,a.props??{});return a.type!==p.Fragment&&(u.ref=n?l:c),p.cloneElement(a,u)});return t.displayName=`${e}.Slot`,t}var C=Symbol.for(`radix.slottable`);function w(e){let t=e=>`child`in e?e.children(e.child):e.children;return t.displayName=`${e}.Slottable`,t.__radixId=C,t}var T=(e,t)=>{if(`child`in e.props){let t=e.props.child;return p.isValidElement(t)?p.cloneElement(t,void 0,e.props.children(t.props.children)):null}return p.isValidElement(t)?t:null};function E(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function D(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function O(e){return p.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===C}var k=Symbol.for(`react.lazy`);function A(e){return typeof e==`object`&&!!e&&`$$typeof`in e&&e.$$typeof===k&&`_payload`in e&&j(e._payload)}function j(e){return typeof e==`object`&&!!e&&`then`in e}var M=e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,N=e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,P=p.use,F=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=S(`Primitive.${t}`),r=p.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,v.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function I(e,t){e&&x.flushSync(()=>e.dispatchEvent(t))}function ee(e){let t=p.useRef(e);return p.useEffect(()=>{t.current=e}),p.useMemo(()=>((...e)=>t.current?.(...e)),[])}var L=globalThis?.document?p.useLayoutEffect:()=>{},te=p.useEffectEvent,R=p.useInsertionEffect;function ne(e){if(typeof te==`function`)return te(e);let t=p.useRef(()=>{throw Error(`Cannot call an event handler while rendering.`)});return typeof R==`function`?R(()=>{t.current=e}):L(()=>{t.current=e}),p.useMemo(()=>((...e)=>t.current?.(...e)),[])}var re=`DismissableLayer`,ie=`dismissableLayer.update`,ae=`dismissableLayer.pointerDownOutside`,oe=`dismissableLayer.focusOutside`,se,ce=p.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),le=p.forwardRef((e,t)=>{let{disableOutsidePointerEvents:n=!1,deferPointerDownOutside:r=!1,onEscapeKeyDown:i,onPointerDownOutside:a,onFocusOutside:o,onInteractOutside:s,onDismiss:c,...l}=e,u=p.useContext(ce),[d,f]=p.useState(null),h=d?.ownerDocument??globalThis?.document,[,g]=p.useState({}),y=_(t,f),b=Array.from(u.layers),[x]=[...u.layersWithOutsidePointerEventsDisabled].slice(-1),S=b.indexOf(x),C=d?b.indexOf(d):-1,w=u.layersWithOutsidePointerEventsDisabled.size>0,T=C>=S,E=p.useRef(!1),D=pe(e=>{let t=e.target;if(!(t instanceof Node))return;let n=[...u.branches].some(e=>e.contains(t));!T||n||(a?.(e),s?.(e),e.defaultPrevented||c?.())},{ownerDocument:h,deferPointerDownOutside:r,isDeferredPointerDownOutsideRef:E,dismissableSurfaces:u.dismissableSurfaces}),O=me(e=>{if(r&&E.current)return;let t=e.target;[...u.branches].some(e=>e.contains(t))||(o?.(e),s?.(e),e.defaultPrevented||c?.())},h),k=d?C===b.length-1:!1,A=ne(e=>{e.key===`Escape`&&(i?.(e),!e.defaultPrevented&&c&&(e.preventDefault(),c()))});return p.useEffect(()=>{if(k)return h.addEventListener(`keydown`,A,{capture:!0}),()=>h.removeEventListener(`keydown`,A,{capture:!0})},[h,k]),p.useEffect(()=>{if(d)return n&&(u.layersWithOutsidePointerEventsDisabled.size===0&&(se=h.body.style.pointerEvents,h.body.style.pointerEvents=`none`),u.layersWithOutsidePointerEventsDisabled.add(d)),u.layers.add(d),he(),()=>{n&&(u.layersWithOutsidePointerEventsDisabled.delete(d),u.layersWithOutsidePointerEventsDisabled.size===0&&(h.body.style.pointerEvents=se))}},[d,h,n,u]),p.useEffect(()=>()=>{d&&(u.layers.delete(d),u.layersWithOutsidePointerEventsDisabled.delete(d),he())},[d,u]),p.useEffect(()=>{let e=()=>g({});return document.addEventListener(ie,e),()=>document.removeEventListener(ie,e)},[]),(0,v.jsx)(F.div,{...l,ref:y,style:{pointerEvents:w?T?`auto`:`none`:void 0,...e.style},onFocusCapture:m(e.onFocusCapture,O.onFocusCapture),onBlurCapture:m(e.onBlurCapture,O.onBlurCapture),onPointerDownCapture:m(e.onPointerDownCapture,D.onPointerDownCapture)})});le.displayName=re;var ue=`DismissableLayerBranch`,de=p.forwardRef((e,t)=>{let n=p.useContext(ce),r=p.useRef(null),i=_(t,r);return p.useEffect(()=>{let e=r.current;if(e)return n.branches.add(e),()=>{n.branches.delete(e)}},[n.branches]),(0,v.jsx)(F.div,{...e,ref:i})});de.displayName=ue;function fe(){let e=p.useContext(ce),[t,n]=p.useState(null);return p.useEffect(()=>{if(t)return e.dismissableSurfaces.add(t),()=>{e.dismissableSurfaces.delete(t)}},[t,e.dismissableSurfaces]),n}function pe(e,t){let{ownerDocument:n=globalThis?.document,deferPointerDownOutside:r=!1,isDeferredPointerDownOutsideRef:i,dismissableSurfaces:a}=t,o=ee(e),s=p.useRef(!1),c=p.useRef(!1),l=p.useRef(new Map),u=p.useRef(()=>{});return p.useEffect(()=>{function e(){c.current=!1,i.current=!1,l.current.clear()}function t(){return Array.from(l.current.values()).some(Boolean)}function d(e){if(!c.current)return;let t=e.target;t instanceof Node&&[...a].some(e=>e.contains(t))||l.current.set(e.type,!0),e.type===`click`&&window.setTimeout(()=>{c.current&&u.current()},0)}function f(e){c.current&&l.current.set(e.type,!1)}let p=a=>{if(a.target&&!s.current){let s=function(){n.removeEventListener(`click`,u.current);let r=t();e(),r||ge(ae,o,d,{discrete:!0})},d={originalEvent:a};c.current=!0,i.current=r&&a.button===0,l.current.clear(),!r||a.button!==0?s():(n.removeEventListener(`click`,u.current),u.current=s,n.addEventListener(`click`,u.current,{once:!0}))}else n.removeEventListener(`click`,u.current),e();s.current=!1},m=[`pointerup`,`mousedown`,`mouseup`,`touchstart`,`touchend`,`click`];for(let e of m)n.addEventListener(e,d,!0),n.addEventListener(e,f);let h=window.setTimeout(()=>{n.addEventListener(`pointerdown`,p)},0);return()=>{window.clearTimeout(h),n.removeEventListener(`pointerdown`,p),n.removeEventListener(`click`,u.current);for(let e of m)n.removeEventListener(e,d,!0),n.removeEventListener(e,f)}},[n,o,r,i,a]),{onPointerDownCapture:()=>s.current=!0}}function me(e,t=globalThis?.document){let n=ee(e),r=p.useRef(!1);return p.useEffect(()=>{let e=e=>{e.target&&!r.current&&ge(oe,n,{originalEvent:e},{discrete:!1})};return t.addEventListener(`focusin`,e),()=>t.removeEventListener(`focusin`,e)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function he(){let e=new CustomEvent(ie);document.dispatchEvent(e)}function ge(e,t,n,{discrete:r}){let i=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&i.addEventListener(e,t,{once:!0}),r?I(i,a):i.dispatchEvent(a)}var _e=p.useId||(()=>void 0),ve=0;function ye(e){let[t,n]=p.useState(_e());return L(()=>{e||n(e=>e??String(ve++))},[e]),e||(t?`radix-${t}`:``)}var be=[`top`,`right`,`bottom`,`left`],xe=[`start`,`end`],Se=be.reduce((e,t)=>e.concat(t,t+`-`+xe[0],t+`-`+xe[1]),[]),z=Math.min,B=Math.max,Ce=Math.round,we=Math.floor,V=e=>({x:e,y:e}),Te={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function Ee(e,t,n){return B(e,z(t,n))}function H(e,t){return typeof e==`function`?e(t):e}function U(e){return e.split(`-`)[0]}function W(e){return e.split(`-`)[1]}function De(e){return e===`x`?`y`:`x`}function Oe(e){return e===`y`?`height`:`width`}function G(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function ke(e){return De(G(e))}function Ae(e,t,n){n===void 0&&(n=!1);let r=W(e),i=ke(e),a=Oe(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=ze(o)),[o,ze(o)]}function je(e){let t=ze(e);return[Me(e),t,Me(t)]}function Me(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var Ne=[`left`,`right`],Pe=[`right`,`left`],Fe=[`top`,`bottom`],Ie=[`bottom`,`top`];function Le(e,t,n){switch(e){case`top`:case`bottom`:return n?t?Pe:Ne:t?Ne:Pe;case`left`:case`right`:return t?Fe:Ie;default:return[]}}function Re(e,t,n,r){let i=W(e),a=Le(U(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(Me)))),a}function ze(e){let t=U(e);return Te[t]+e.slice(t.length)}function Be(e){return{top:0,right:0,bottom:0,left:0,...e}}function Ve(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:Be(e)}function He(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function Ue(e,t,n){let{reference:r,floating:i}=e,a=G(t),o=ke(t),s=Oe(o),c=U(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}switch(W(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1);break}return p}async function We(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=H(t,e),p=Ve(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=He(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=He(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var Ge=50,Ke=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:We},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=Ue(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<Ge&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=Ue(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},qe=e=>({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=H(e,t)||{};if(l==null)return{};let d=Ve(u),f={x:n,y:r},p=ke(i),m=Oe(p),h=await o.getDimensions(l),g=p===`y`,_=g?`top`:`left`,v=g?`bottom`:`right`,y=g?`clientHeight`:`clientWidth`,b=a.reference[m]+a.reference[p]-f[p]-a.floating[m],x=f[p]-a.reference[p],S=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),C=S?S[y]:0;(!C||!await(o.isElement==null?void 0:o.isElement(S)))&&(C=s.floating[y]||a.floating[m]);let w=b/2-x/2,T=C/2-h[m]/2-1,E=z(d[_],T),D=z(d[v],T),O=E,k=C-h[m]-D,A=C/2-h[m]/2+w,j=Ee(O,A,k),M=!c.arrow&&W(i)!=null&&A!==j&&a.reference[m]/2-(A<O?E:D)-h[m]/2<0,N=M?A<O?A-O:A-k:0;return{[p]:f[p]+N,data:{[p]:j,centerOffset:A-j-N,...M&&{alignmentOffset:N}},reset:M}}});function Je(e,t,n){return(e?[...n.filter(t=>W(t)===e),...n.filter(t=>W(t)!==e)]:n.filter(e=>U(e)===e)).filter(n=>e?W(n)===e||(t?Me(n)!==n:!1):!0)}var Ye=function(e){return e===void 0&&(e={}),{name:`autoPlacement`,options:e,async fn(t){let{rects:n,middlewareData:r,placement:i,platform:a,elements:o}=t,{crossAxis:s=!1,alignment:c,allowedPlacements:l=Se,autoAlignment:u=!0,...d}=H(e,t),f=c!==void 0||l===Se?Je(c||null,u,l):l,p=await a.detectOverflow(t,d),m=r.autoPlacement?.index||0,h=f[m];if(h==null)return{};let g=Ae(h,n,await(a.isRTL==null?void 0:a.isRTL(o.floating)));if(i!==h)return{reset:{placement:f[0]}};let _=[p[U(h)],p[g[0]],p[g[1]]],v=[...r.autoPlacement?.overflows||[],{placement:h,overflows:_}],y=f[m+1];if(y)return{data:{index:m+1,overflows:v},reset:{placement:y}};let b=v.map(e=>{let t=W(e.placement);return[e.placement,t&&s?e.overflows.slice(0,2).reduce((e,t)=>e+t,0):e.overflows[0],e.overflows]}).sort((e,t)=>e[1]-t[1]),x=b.filter(e=>e[2].slice(0,W(e[0])?2:3).every(e=>e<=0))[0]?.[0]||b[0][0];return x===i?{}:{data:{index:m+1,overflows:v},reset:{placement:x}}}}},Xe=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=H(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=U(r),_=G(o),v=U(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[ze(o)]:je(o)),x=p!==`none`;!d&&x&&b.push(...Re(o,m,p,y));let S=[o,...b],C=await s.detectOverflow(t,h),w=[],T=i.flip?.overflows||[];if(l&&w.push(C[g]),u){let e=Ae(r,a,y);w.push(C[e[0]],C[e[1]])}if(T=[...T,{placement:r,overflows:w}],!w.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(!(u===`alignment`&&_!==G(t))||T.every(e=>G(e.placement)===_?e.overflows[0]>0:!0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=G(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o;break}if(r!==n)return{reset:{placement:n}}}return{}}}};function Ze(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function Qe(e){return be.some(t=>e[t]>=0)}var $e=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=H(e,t);switch(i){case`referenceHidden`:{let e=Ze(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:Qe(e)}}}case`escaped`:{let e=Ze(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:Qe(e)}}}default:return{}}}}};function et(e){let t=z(...e.map(e=>e.left)),n=z(...e.map(e=>e.top)),r=B(...e.map(e=>e.right)),i=B(...e.map(e=>e.bottom));return{x:t,y:n,width:r-t,height:i-n}}function tt(e){let t=e.slice().sort((e,t)=>e.y-t.y),n=[],r=null;for(let e=0;e<t.length;e++){let i=t[e];!r||i.y-r.y>r.height/2?n.push([i]):n[n.length-1].push(i),r=i}return n.map(e=>He(et(e)))}var nt=function(e){return e===void 0&&(e={}),{name:`inline`,options:e,async fn(t){let{placement:n,elements:r,rects:i,platform:a,strategy:o}=t,{padding:s=2,x:c,y:l}=H(e,t),u=Array.from(await(a.getClientRects==null?void 0:a.getClientRects(r.reference))||[]),d=tt(u),f=He(et(u)),p=Ve(s);function m(){if(d.length===2&&d[0].left>d[1].right&&c!=null&&l!=null)return d.find(e=>c>e.left-p.left&&c<e.right+p.right&&l>e.top-p.top&&l<e.bottom+p.bottom)||f;if(d.length>=2){if(G(n)===`y`){let e=d[0],t=d[d.length-1],r=U(n)===`top`,i=e.top,a=t.bottom,o=r?e.left:t.left,s=r?e.right:t.right;return{top:i,bottom:a,left:o,right:s,width:s-o,height:a-i,x:o,y:i}}let e=U(n)===`left`,t=B(...d.map(e=>e.right)),r=z(...d.map(e=>e.left)),i=d.filter(n=>e?n.left===r:n.right===t),a=i[0].top,o=i[i.length-1].bottom,s=r,c=t;return{top:a,bottom:o,left:s,right:c,width:c-s,height:o-a,x:s,y:a}}return f}let h=await a.getElementRects({reference:{getBoundingClientRect:m},floating:r.floating,strategy:o});return i.reference.x!==h.reference.x||i.reference.y!==h.reference.y||i.reference.width!==h.reference.width||i.reference.height!==h.reference.height?{reset:{rects:h}}:{}}}},rt=new Set([`left`,`top`]);async function it(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=U(n),s=W(n),c=G(n)===`y`,l=rt.has(o)?-1:1,u=a&&c?-1:1,d=H(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var at=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await it(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},ot=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=H(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=G(U(i)),p=De(f),m=u[p],h=u[f];if(o){let e=p===`y`?`top`:`left`,t=p===`y`?`bottom`:`right`,n=m+d[e],r=m-d[t];m=Ee(n,m,r)}if(s){let e=f===`y`?`top`:`left`,t=f===`y`?`bottom`:`right`,n=h+d[e],r=h-d[t];h=Ee(n,h,r)}let g=c.fn({...t,[p]:m,[f]:h});return{...g,data:{x:g.x-n,y:g.y-r,enabled:{[p]:o,[f]:s}}}}}},st=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:i,rects:a,middlewareData:o}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=H(e,t),u={x:n,y:r},d=G(i),f=De(d),p=u[f],m=u[d],h=H(s,t),g=typeof h==`number`?{mainAxis:h,crossAxis:0}:{mainAxis:0,crossAxis:0,...h};if(c){let e=f===`y`?`height`:`width`,t=a.reference[f]-a.floating[e]+g.mainAxis,n=a.reference[f]+a.reference[e]-g.mainAxis;p<t?p=t:p>n&&(p=n)}if(l){let e=f===`y`?`width`:`height`,t=rt.has(U(i)),n=a.reference[d]-a.floating[e]+(t&&o.offset?.[d]||0)+(t?0:g.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:o.offset?.[d]||0)-(t?g.crossAxis:0);m<n?m=n:m>r&&(m=r)}return{[f]:p,[d]:m}}}},ct=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){var n,r;let{placement:i,rects:a,platform:o,elements:s}=t,{apply:c=()=>{},...l}=H(e,t),u=await o.detectOverflow(t,l),d=U(i),f=W(i),p=G(i)===`y`,{width:m,height:h}=a.floating,g,_;d===`top`||d===`bottom`?(g=d,_=f===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?`start`:`end`)?`left`:`right`):(_=d,g=f===`end`?`top`:`bottom`);let v=h-u.top-u.bottom,y=m-u.left-u.right,b=z(h-u[g],v),x=z(m-u[_],y),S=!t.middlewareData.shift,C=b,w=x;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(w=y),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(C=v),S&&!f){let e=B(u.left,0),t=B(u.right,0),n=B(u.top,0),r=B(u.bottom,0);p?w=m-2*(e!==0||t!==0?e+t:B(u.left,u.right)):C=h-2*(n!==0||r!==0?n+r:B(u.top,u.bottom))}await c({...t,availableWidth:w,availableHeight:C});let T=await o.getDimensions(s.floating);return m!==T.width||h!==T.height?{reset:{rects:!0}}:{}}}};function lt(){return typeof window<`u`}function ut(e){return dt(e)?(e.nodeName||``).toLowerCase():`#document`}function K(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function q(e){return((dt(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function dt(e){return lt()?e instanceof Node||e instanceof K(e).Node:!1}function J(e){return lt()?e instanceof Element||e instanceof K(e).Element:!1}function Y(e){return lt()?e instanceof HTMLElement||e instanceof K(e).HTMLElement:!1}function ft(e){return!lt()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof K(e).ShadowRoot}function pt(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=Z(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function mt(e){return/^(table|td|th)$/.test(ut(e))}function ht(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var gt=/transform|translate|scale|rotate|perspective|filter/,_t=/paint|layout|strict|content/,X=e=>!!e&&e!==`none`,vt;function yt(e){let t=J(e)?Z(e):e;return X(t.transform)||X(t.translate)||X(t.scale)||X(t.rotate)||X(t.perspective)||!xt()&&(X(t.backdropFilter)||X(t.filter))||gt.test(t.willChange||``)||_t.test(t.contain||``)}function bt(e){let t=Q(e);for(;Y(t)&&!St(t);){if(yt(t))return t;if(ht(t))return null;t=Q(t)}return null}function xt(){return vt??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),vt}function St(e){return/^(html|body|#document)$/.test(ut(e))}function Z(e){return K(e).getComputedStyle(e)}function Ct(e){return J(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Q(e){if(ut(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||ft(e)&&e.host||q(e);return ft(t)?t.host:t}function wt(e){let t=Q(e);return St(t)?e.ownerDocument?e.ownerDocument.body:e.body:Y(t)&&pt(t)?t:wt(t)}function Tt(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=wt(e),i=r===e.ownerDocument?.body,a=K(r);if(i){let e=Et(a);return t.concat(a,a.visualViewport||[],pt(r)?r:[],e&&n?Tt(e):[])}else return t.concat(r,Tt(r,[],n))}function Et(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Dt(e){let t=Z(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=Y(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=Ce(n)!==a||Ce(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function Ot(e){return J(e)?e:e.contextElement}function kt(e){let t=Ot(e);if(!Y(t))return V(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=Dt(t),o=(a?Ce(n.width):n.width)/r,s=(a?Ce(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var At=V(0);function jt(e){let t=K(e);return!xt()||!t.visualViewport?At:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Mt(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==K(e)?!1:t}function $(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=Ot(e),o=V(1);t&&(r?J(r)&&(o=kt(r)):o=kt(e));let s=Mt(a,n,r)?jt(a):V(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a){let e=K(a),t=r&&J(r)?K(r):r,n=e,i=Et(n);for(;i&&r&&t!==n;){let e=kt(i),t=i.getBoundingClientRect(),r=Z(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=K(i),i=Et(n)}}return He({width:u,height:d,x:c,y:l})}function Nt(e,t){let n=Ct(e).scrollLeft;return t?t.left+n:$(q(e)).left+n}function Pt(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-Nt(e,n),y:n.top+t.scrollTop}}function Ft(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=q(r),s=t?ht(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=V(1),u=V(0),d=Y(r);if((d||!d&&!a)&&((ut(r)!==`body`||pt(o))&&(c=Ct(r)),d)){let e=$(r);l=kt(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?Pt(o,c):V(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function It(e){return Array.from(e.getClientRects())}function Lt(e){let t=q(e),n=Ct(e),r=e.ownerDocument.body,i=B(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=B(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+Nt(e),s=-n.scrollTop;return Z(r).direction===`rtl`&&(o+=B(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}var Rt=25;function zt(e,t){let n=K(e),r=q(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=xt();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=Nt(r);if(l<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(r.clientWidth-t.clientWidth-i);o<=Rt&&(a-=o)}else l<=Rt&&(a+=l);return{width:a,height:o,x:s,y:c}}function Bt(e,t){let n=$(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=Y(e)?kt(e):V(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function Vt(e,t,n){let r;if(t===`viewport`)r=zt(e,n);else if(t===`document`)r=Lt(q(e));else if(J(t))r=Bt(t,n);else{let n=jt(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return He(r)}function Ht(e,t){let n=Q(e);return n===t||!J(n)||St(n)?!1:Z(n).position===`fixed`||Ht(n,t)}function Ut(e,t){let n=t.get(e);if(n)return n;let r=Tt(e,[],!1).filter(e=>J(e)&&ut(e)!==`body`),i=null,a=Z(e).position===`fixed`,o=a?Q(e):e;for(;J(o)&&!St(o);){let t=Z(o),n=yt(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&(i.position===`absolute`||i.position===`fixed`)||pt(o)&&!n&&Ht(e,o))?r=r.filter(e=>e!==o):i=t,o=Q(o)}return t.set(e,r),r}function Wt(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?ht(t)?[]:Ut(t,this._c):[].concat(n),r],o=Vt(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=Vt(t,a[e],i);s=B(n.top,s),c=z(n.right,c),l=z(n.bottom,l),u=B(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function Gt(e){let{width:t,height:n}=Dt(e);return{width:t,height:n}}function Kt(e,t,n){let r=Y(t),i=q(t),a=n===`fixed`,o=$(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=V(0);function l(){c.x=Nt(i)}if(r||!r&&!a)if((ut(t)!==`body`||pt(i))&&(s=Ct(t)),r){let e=$(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}else i&&l();a&&!r&&i&&l();let u=i&&!r&&!a?Pt(i,s):V(0);return{x:o.left+s.scrollLeft-c.x-u.x,y:o.top+s.scrollTop-c.y-u.y,width:o.width,height:o.height}}function qt(e){return Z(e).position===`static`}function Jt(e,t){if(!Y(e)||Z(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return q(e)===n&&(n=n.ownerDocument.body),n}function Yt(e,t){let n=K(e);if(ht(e))return n;if(!Y(e)){let t=Q(e);for(;t&&!St(t);){if(J(t)&&!qt(t))return t;t=Q(t)}return n}let r=Jt(e,t);for(;r&&mt(r)&&qt(r);)r=Jt(r,t);return r&&St(r)&&qt(r)&&!yt(r)?n:r||bt(e)||n}var Xt=async function(e){let t=this.getOffsetParent||Yt,n=this.getDimensions,r=await n(e.floating);return{reference:Kt(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function Zt(e){return Z(e).direction===`rtl`}var Qt={convertOffsetParentRelativeRectToViewportRelativeRect:Ft,getDocumentElement:q,getClippingRect:Wt,getOffsetParent:Yt,getElementRects:Xt,getClientRects:It,getDimensions:Gt,getScale:kt,isElement:J,isRTL:Zt};function $t(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function en(e,t){let n=null,r,i=q(e);function a(){var e;clearTimeout(r),(e=n)==null||e.disconnect(),n=null}function o(s,c){s===void 0&&(s=!1),c===void 0&&(c=1),a();let l=e.getBoundingClientRect(),{left:u,top:d,width:f,height:p}=l;if(s||t(),!f||!p)return;let m=we(d),h=we(i.clientWidth-(u+f)),g=we(i.clientHeight-(d+p)),_=we(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:B(0,z(1,c))||1},y=!0;function b(t){let n=t[0].intersectionRatio;if(n!==c){if(!y)return o();n?o(!1,n):r=setTimeout(()=>{o(!1,1e-7)},1e3)}n===1&&!$t(l,e.getBoundingClientRect())&&o(),y=!1}try{n=new IntersectionObserver(b,{...v,root:i.ownerDocument})}catch{n=new IntersectionObserver(b,v)}n.observe(e)}return o(!0),a}function tn(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=Ot(e),u=i||a?[...l?Tt(l):[],...t?Tt(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?en(l,n):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?$(e):null;c&&g();function g(){let t=$(e);h&&!$t(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var nn=at,rn=Ye,an=ot,on=Xe,sn=ct,cn=$e,ln=qe,un=nt,dn=st,fn=(e,t,n)=>{let r=new Map,i={platform:Qt,...n},a={...i.platform,_c:r};return Ke(e,t,{...i,platform:a})},pn=typeof document<`u`?p.useLayoutEffect:function(){};function mn(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e==`function`&&e.toString()===t.toString())return!0;let n,r,i;if(e&&t&&typeof e==`object`){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!mn(e[r],t[r]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){let n=i[r];if(!(n===`_owner`&&e.$$typeof)&&!mn(e[n],t[n]))return!1}return!0}return e!==e&&t!==t}function hn(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function gn(e,t){let n=hn(e);return Math.round(t*n)/n}function _n(e){let t=p.useRef(e);return pn(()=>{t.current=e}),t}function vn(e){e===void 0&&(e={});let{placement:t=`bottom`,strategy:n=`absolute`,middleware:r=[],platform:i,elements:{reference:a,floating:o}={},transform:s=!0,whileElementsMounted:c,open:l}=e,[u,d]=p.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[f,m]=p.useState(r);mn(f,r)||m(r);let[h,g]=p.useState(null),[_,v]=p.useState(null),y=p.useCallback(e=>{e!==w.current&&(w.current=e,g(e))},[]),b=p.useCallback(e=>{e!==T.current&&(T.current=e,v(e))},[]),S=a||h,C=o||_,w=p.useRef(null),T=p.useRef(null),E=p.useRef(u),D=c!=null,O=_n(c),k=_n(i),A=_n(l),j=p.useCallback(()=>{if(!w.current||!T.current)return;let e={placement:t,strategy:n,middleware:f};k.current&&(e.platform=k.current),fn(w.current,T.current,e).then(e=>{let t={...e,isPositioned:A.current!==!1};M.current&&!mn(E.current,t)&&(E.current=t,x.flushSync(()=>{d(t)}))})},[f,t,n,k,A]);pn(()=>{l===!1&&E.current.isPositioned&&(E.current.isPositioned=!1,d(e=>({...e,isPositioned:!1})))},[l]);let M=p.useRef(!1);pn(()=>(M.current=!0,()=>{M.current=!1}),[]),pn(()=>{if(S&&(w.current=S),C&&(T.current=C),S&&C){if(O.current)return O.current(S,C,j);j()}},[S,C,j,O,D]);let N=p.useMemo(()=>({reference:w,floating:T,setReference:y,setFloating:b}),[y,b]),P=p.useMemo(()=>({reference:S,floating:C}),[S,C]),F=p.useMemo(()=>{let e={position:n,left:0,top:0};if(!P.floating)return e;let t=gn(P.floating,u.x),r=gn(P.floating,u.y);return s?{...e,transform:`translate(`+t+`px, `+r+`px)`,...hn(P.floating)>=1.5&&{willChange:`transform`}}:{position:n,left:t,top:r}},[n,s,P.floating,u.x,u.y]);return p.useMemo(()=>({...u,update:j,refs:N,elements:P,floatingStyles:F}),[u,j,N,P,F])}var yn=e=>{function t(e){return{}.hasOwnProperty.call(e,`current`)}return{name:`arrow`,options:e,fn(n){let{element:r,padding:i}=typeof e==`function`?e(n):e;return r&&t(r)?r.current==null?{}:ln({element:r.current,padding:i}).fn(n):r?ln({element:r,padding:i}).fn(n):{}}}},bn=(e,t)=>{let n=nn(e);return{name:n.name,fn:n.fn,options:[e,t]}},xn=(e,t)=>{let n=an(e);return{name:n.name,fn:n.fn,options:[e,t]}},Sn=(e,t)=>({fn:dn(e).fn,options:[e,t]}),Cn=(e,t)=>{let n=on(e);return{name:n.name,fn:n.fn,options:[e,t]}},wn=(e,t)=>{let n=sn(e);return{name:n.name,fn:n.fn,options:[e,t]}},Tn=(e,t)=>{let n=cn(e);return{name:n.name,fn:n.fn,options:[e,t]}},En=(e,t)=>{let n=yn(e);return{name:n.name,fn:n.fn,options:[e,t]}},Dn=`Arrow`,On=p.forwardRef((e,t)=>{let{children:n,width:r=10,height:i=5,...a}=e;return(0,v.jsx)(F.svg,{...a,ref:t,width:r,height:i,viewBox:`0 0 30 10`,preserveAspectRatio:`none`,children:e.asChild?n:(0,v.jsx)(`polygon`,{points:`0,0 30,0 15,10`})})});On.displayName=Dn;var kn=On;function An(e){let[t,n]=p.useState(void 0);return L(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{if(!Array.isArray(t)||!t.length)return;let r=t[0],i,a;if(`borderBoxSize`in r){let e=r.borderBoxSize,t=Array.isArray(e)?e[0]:e;i=t.inlineSize,a=t.blockSize}else i=e.offsetWidth,a=e.offsetHeight;n({width:i,height:a})});return t.observe(e,{box:`border-box`}),()=>t.unobserve(e)}else n(void 0)},[e]),t}var jn=`Popper`,[Mn,Nn]=y(jn),[Pn,Fn]=Mn(jn),In=e=>{let{__scopePopper:t,children:n}=e,[r,i]=p.useState(null),[a,o]=p.useState(void 0);return(0,v.jsx)(Pn,{scope:t,anchor:r,onAnchorChange:i,placementState:a,setPlacementState:o,children:n})};In.displayName=jn;var Ln=`PopperAnchor`,Rn=p.forwardRef((e,t)=>{let{__scopePopper:n,virtualRef:r,...i}=e,a=Fn(Ln,n),o=p.useRef(null),s=a.onAnchorChange,c=_(t,p.useCallback(e=>{o.current=e,e&&s(e)},[s])),l=p.useRef(null);p.useEffect(()=>{if(!r)return;let e=l.current;l.current=r.current,e!==l.current&&s(l.current)});let u=a.placementState&&Jn(a.placementState),d=u?.[0],f=u?.[1];return r?null:(0,v.jsx)(F.div,{"data-radix-popper-side":d,"data-radix-popper-align":f,...i,ref:c})});Rn.displayName=Ln;var zn=`PopperContent`,[Bn,Vn]=Mn(zn),Hn=p.forwardRef((e,t)=>{let{__scopePopper:n,side:r=`bottom`,sideOffset:i=0,align:a=`center`,alignOffset:o=0,arrowPadding:s=0,avoidCollisions:c=!0,collisionBoundary:l=[],collisionPadding:u=0,sticky:d=`partial`,hideWhenDetached:f=!1,updatePositionStrategy:m=`optimized`,onPlaced:h,...g}=e,y=Fn(zn,n),[b,x]=p.useState(null),S=_(t,x),[C,w]=p.useState(null),T=An(C),E=T?.width??0,D=T?.height??0,O=r+(a===`center`?``:`-`+a),k=typeof u==`number`?u:{top:0,right:0,bottom:0,left:0,...u},A=Array.isArray(l)?l:[l],j=A.length>0,M={padding:k,boundary:A.filter(Kn),altBoundary:j},{refs:N,floatingStyles:P,placement:I,isPositioned:te,middlewareData:R}=vn({strategy:`fixed`,placement:O,whileElementsMounted:(...e)=>tn(...e,{animationFrame:m===`always`}),elements:{reference:y.anchor},middleware:[bn({mainAxis:i+D,alignmentAxis:o}),c&&xn({mainAxis:!0,crossAxis:!1,limiter:d===`partial`?Sn():void 0,...M}),c&&Cn({...M}),wn({...M,apply:({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{let{width:i,height:a}=t.reference,o=e.floating.style;o.setProperty(`--radix-popper-available-width`,`${n}px`),o.setProperty(`--radix-popper-available-height`,`${r}px`),o.setProperty(`--radix-popper-anchor-width`,`${i}px`),o.setProperty(`--radix-popper-anchor-height`,`${a}px`)}}),C&&En({element:C,padding:s}),qn({arrowWidth:E,arrowHeight:D}),f&&Tn({strategy:`referenceHidden`,...M,boundary:j?M.boundary:void 0})]}),ne=y.setPlacementState;L(()=>(ne(I),()=>{ne(void 0)}),[I,ne]);let[re,ie]=Jn(I),ae=ee(h);L(()=>{te&&ae?.()},[te,ae]);let oe=R.arrow?.x,se=R.arrow?.y,ce=R.arrow?.centerOffset!==0,[le,ue]=p.useState();return L(()=>{b&&ue(window.getComputedStyle(b).zIndex)},[b]),(0,v.jsx)(`div`,{ref:N.setFloating,"data-radix-popper-content-wrapper":``,style:{...P,transform:te?P.transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:le,"--radix-popper-transform-origin":[R.transformOrigin?.x,R.transformOrigin?.y].join(` `),...R.hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}},dir:e.dir,children:(0,v.jsx)(Bn,{scope:n,placedSide:re,placedAlign:ie,onArrowChange:w,arrowX:oe,arrowY:se,shouldHideArrow:ce,children:(0,v.jsx)(F.div,{"data-side":re,"data-align":ie,...g,ref:S,style:{...g.style,animation:te?void 0:`none`}})})})});Hn.displayName=zn;var Un=`PopperArrow`,Wn={top:`bottom`,right:`left`,bottom:`top`,left:`right`},Gn=p.forwardRef(function(e,t){let{__scopePopper:n,...r}=e,i=Vn(Un,n),a=Wn[i.placedSide];return(0,v.jsx)(`span`,{ref:i.onArrowChange,style:{position:`absolute`,left:i.arrowX,top:i.arrowY,[a]:0,transformOrigin:{top:``,right:`0 0`,bottom:`center 0`,left:`100% 0`}[i.placedSide],transform:{top:`translateY(100%)`,right:`translateY(50%) rotate(90deg) translateX(-50%)`,bottom:`rotate(180deg)`,left:`translateY(50%) rotate(-90deg) translateX(50%)`}[i.placedSide],visibility:i.shouldHideArrow?`hidden`:void 0},children:(0,v.jsx)(kn,{...r,ref:t,style:{...r.style,display:`block`}})})});Gn.displayName=Un;function Kn(e){return e!==null}var qn=e=>({name:`transformOrigin`,options:e,fn(t){let{placement:n,rects:r,middlewareData:i}=t,a=i.arrow?.centerOffset!==0,o=a?0:e.arrowWidth,s=a?0:e.arrowHeight,[c,l]=Jn(n),u={start:`0%`,center:`50%`,end:`100%`}[l],d=(i.arrow?.x??0)+o/2,f=(i.arrow?.y??0)+s/2,p=``,m=``;return c===`bottom`?(p=a?u:`${d}px`,m=`${-s}px`):c===`top`?(p=a?u:`${d}px`,m=`${r.floating.height+s}px`):c===`right`?(p=`${-s}px`,m=a?u:`${f}px`):c===`left`&&(p=`${r.floating.width+s}px`,m=a?u:`${f}px`),{data:{x:p,y:m}}}});function Jn(e){let[t,n=`center`]=e.split(`-`);return[t,n]}var Yn=In,Xn=Rn,Zn=Hn,Qn=Gn,$n=`Portal`,er=p.forwardRef((e,t)=>{let{container:n,...r}=e,[i,a]=p.useState(!1);L(()=>a(!0),[]);let o=n||i&&globalThis?.document?.body;return o?x.createPortal((0,v.jsx)(F.div,{...r,ref:t}),o):null});er.displayName=$n;function tr(e,t){return p.useReducer((e,n)=>t[e][n]??e,e)}var nr=e=>{let{present:t,children:n}=e,r=rr(t),i=typeof n==`function`?n({present:r.isPresent}):p.Children.only(n),a=ar(r.ref,sr(i));return typeof n==`function`||r.isPresent?p.cloneElement(i,{ref:a}):null};nr.displayName=`Presence`;function rr(e){let[t,n]=p.useState(),r=p.useRef(null),i=p.useRef(e),a=p.useRef(`none`),[o,s]=tr(e?`mounted`:`unmounted`,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}});return p.useEffect(()=>{let e=or(r.current);a.current=o===`mounted`?e:`none`},[o]),L(()=>{let t=r.current,n=i.current;if(n!==e){let r=a.current,o=or(t);e?s(`MOUNT`):o===`none`||t?.display===`none`?s(`UNMOUNT`):s(n&&r!==o?`ANIMATION_OUT`:`UNMOUNT`),i.current=e}},[e,s]),L(()=>{if(t){let e,n=t.ownerDocument.defaultView??window,o=a=>{let o=or(r.current).includes(CSS.escape(a.animationName));if(a.target===t&&o&&(s(`ANIMATION_END`),!i.current)){let r=t.style.animationFillMode;t.style.animationFillMode=`forwards`,e=n.setTimeout(()=>{t.style.animationFillMode===`forwards`&&(t.style.animationFillMode=r)})}},c=e=>{e.target===t&&(a.current=or(r.current))};return t.addEventListener(`animationstart`,c),t.addEventListener(`animationcancel`,o),t.addEventListener(`animationend`,o),()=>{n.clearTimeout(e),t.removeEventListener(`animationstart`,c),t.removeEventListener(`animationcancel`,o),t.removeEventListener(`animationend`,o)}}else s(`ANIMATION_END`)},[t,s]),{isPresent:[`mounted`,`unmountSuspended`].includes(o),ref:p.useCallback(e=>{r.current=e?getComputedStyle(e):null,n(e)},[])}}function ir(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function ar(...e){let t=p.useRef(e);return t.current=e,p.useCallback(e=>{let n=t.current,r=!1,i=n.map(t=>{let n=ir(t,e);return!r&&typeof n==`function`&&(r=!0),n});if(r)return()=>{for(let e=0;e<i.length;e++){let t=i[e];typeof t==`function`?t():ir(n[e],null)}}},[])}function or(e){return e?.animationName||`none`}function sr(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var cr=p.useInsertionEffect||L;function lr({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){let[i,a,o]=ur({defaultProp:t,onChange:n}),s=e!==void 0,c=s?e:i;{let t=p.useRef(e!==void 0);p.useEffect(()=>{let e=t.current;e!==s&&console.warn(`${r} is changing from ${e?`controlled`:`uncontrolled`} to ${s?`controlled`:`uncontrolled`}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),t.current=s},[s,r])}return[c,p.useCallback(t=>{if(s){let n=dr(t)?t(e):t;n!==e&&o.current?.(n)}else a(t)},[s,e,a,o])]}function ur({defaultProp:e,onChange:t}){let[n,r]=p.useState(e),i=p.useRef(n),a=p.useRef(t);return cr(()=>{a.current=t},[t]),p.useEffect(()=>{i.current!==n&&(a.current?.(n),i.current=n)},[n,i]),[n,r,a]}function dr(e){return typeof e==`function`}var fr=Object.freeze({position:`absolute`,border:0,width:1,height:1,padding:0,margin:-1,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,wordWrap:`normal`}),pr=`VisuallyHidden`,mr=p.forwardRef((e,t)=>(0,v.jsx)(F.span,{...e,ref:t,style:{...fr,...e.style}}));mr.displayName=pr;var hr=mr,[gr,_r]=y(`Tooltip`,[Nn]),vr=Nn(),yr=`TooltipProvider`,br=700,xr=`tooltip.open`,[Sr,Cr]=gr(yr),wr=e=>{let{__scopeTooltip:t,delayDuration:n=br,skipDelayDuration:r=300,disableHoverableContent:i=!1,children:a}=e,o=p.useRef(!0),s=p.useRef(!1),c=p.useRef(0);return p.useEffect(()=>{let e=c.current;return()=>window.clearTimeout(e)},[]),(0,v.jsx)(Sr,{scope:t,isOpenDelayedRef:o,delayDuration:n,onOpen:p.useCallback(()=>{r<=0||(window.clearTimeout(c.current),o.current=!1)},[r]),onClose:p.useCallback(()=>{r<=0||(window.clearTimeout(c.current),c.current=window.setTimeout(()=>o.current=!0,r))},[r]),isPointerInTransitRef:s,onPointerInTransitChange:p.useCallback(e=>{s.current=e},[]),disableHoverableContent:i,children:a})};wr.displayName=yr;var Tr=`Tooltip`,[Er,Dr]=gr(Tr),Or=e=>{let{__scopeTooltip:t,children:n,open:r,defaultOpen:i,onOpenChange:a,disableHoverableContent:o,delayDuration:s}=e,c=Cr(Tr,e.__scopeTooltip),l=vr(t),[u,d]=p.useState(null),f=ye(),m=p.useRef(0),h=o??c.disableHoverableContent,g=s??c.delayDuration,_=p.useRef(!1),[y,b]=lr({prop:r,defaultProp:i??!1,onChange:e=>{e?(c.onOpen(),document.dispatchEvent(new CustomEvent(xr))):c.onClose(),a?.(e)},caller:Tr}),x=p.useMemo(()=>y?_.current?`delayed-open`:`instant-open`:`closed`,[y]),S=p.useCallback(()=>{window.clearTimeout(m.current),m.current=0,_.current=!1,b(!0)},[b]),C=p.useCallback(()=>{window.clearTimeout(m.current),m.current=0,b(!1)},[b]),w=p.useCallback(()=>{window.clearTimeout(m.current),m.current=window.setTimeout(()=>{_.current=!0,b(!0),m.current=0},g)},[g,b]);return p.useEffect(()=>()=>{m.current&&=(window.clearTimeout(m.current),0)},[]),(0,v.jsx)(Yn,{...l,children:(0,v.jsx)(Er,{scope:t,contentId:f,open:y,stateAttribute:x,trigger:u,onTriggerChange:d,onTriggerEnter:p.useCallback(()=>{c.isOpenDelayedRef.current?w():S()},[c.isOpenDelayedRef,w,S]),onTriggerLeave:p.useCallback(()=>{h?C():(window.clearTimeout(m.current),m.current=0)},[C,h]),onOpen:S,onClose:C,disableHoverableContent:h,children:n})})};Or.displayName=Tr;var kr=`TooltipTrigger`,Ar=p.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,i=Dr(kr,n),a=Cr(kr,n),o=vr(n),s=_(t,p.useRef(null),i.onTriggerChange),c=p.useRef(!1),l=p.useRef(!1),u=p.useCallback(()=>c.current=!1,[]);return p.useEffect(()=>()=>document.removeEventListener(`pointerup`,u),[u]),(0,v.jsx)(Xn,{asChild:!0,...o,children:(0,v.jsx)(F.button,{"aria-describedby":i.open?i.contentId:void 0,"data-state":i.stateAttribute,...r,ref:s,onPointerMove:m(e.onPointerMove,e=>{e.pointerType!==`touch`&&!l.current&&!a.isPointerInTransitRef.current&&(i.onTriggerEnter(),l.current=!0)}),onPointerLeave:m(e.onPointerLeave,()=>{i.onTriggerLeave(),l.current=!1}),onPointerDown:m(e.onPointerDown,()=>{i.open&&i.onClose(),c.current=!0,document.addEventListener(`pointerup`,u,{once:!0})}),onFocus:m(e.onFocus,()=>{c.current||i.onOpen()}),onBlur:m(e.onBlur,i.onClose),onClick:m(e.onClick,i.onClose)})})});Ar.displayName=kr;var jr=`TooltipPortal`,[Mr,Nr]=gr(jr,{forceMount:void 0}),Pr=e=>{let{__scopeTooltip:t,forceMount:n,children:r,container:i}=e,a=Dr(jr,t);return(0,v.jsx)(Mr,{scope:t,forceMount:n,children:(0,v.jsx)(nr,{present:n||a.open,children:(0,v.jsx)(er,{asChild:!0,container:i,children:r})})})};Pr.displayName=jr;var Fr=`TooltipContent`,Ir=p.forwardRef((e,t)=>{let n=Nr(Fr,e.__scopeTooltip),{forceMount:r=n.forceMount,side:i=`top`,...a}=e,o=Dr(Fr,e.__scopeTooltip);return(0,v.jsx)(nr,{present:r||o.open,children:o.disableHoverableContent?(0,v.jsx)(Vr,{side:i,...a,ref:t}):(0,v.jsx)(Lr,{side:i,...a,ref:t})})}),Lr=p.forwardRef((e,t)=>{let n=Dr(Fr,e.__scopeTooltip),r=Cr(Fr,e.__scopeTooltip),i=p.useRef(null),a=_(t,i),[o,s]=p.useState(null),{trigger:c,onClose:l}=n,u=i.current,{onPointerInTransitChange:d}=r,f=p.useCallback(()=>{s(null),d(!1)},[d]),m=p.useCallback((e,t)=>{let n=e.currentTarget,r={x:e.clientX,y:e.clientY},i=Gr(r,Wr(r,n.getBoundingClientRect())),a=Kr(t.getBoundingClientRect());s(Jr([...i,...a])),d(!0)},[d]);return p.useEffect(()=>()=>f(),[f]),p.useEffect(()=>{if(c&&u){let e=e=>m(e,u),t=e=>m(e,c);return c.addEventListener(`pointerleave`,e),u.addEventListener(`pointerleave`,t),()=>{c.removeEventListener(`pointerleave`,e),u.removeEventListener(`pointerleave`,t)}}},[c,u,m,f]),p.useEffect(()=>{if(o){let e=e=>{let t=e.target,n={x:e.clientX,y:e.clientY},r=c?.contains(t)||u?.contains(t),i=!qr(n,o);r?f():i&&(f(),l())};return document.addEventListener(`pointermove`,e),()=>document.removeEventListener(`pointermove`,e)}},[c,u,o,l,f]),(0,v.jsx)(Vr,{...e,ref:a})}),[Rr,zr]=gr(Tr,{isInside:!1}),Br=w(`TooltipContent`),Vr=p.forwardRef((e,t)=>{let{__scopeTooltip:n,children:r,"aria-label":i,onEscapeKeyDown:a,onPointerDownOutside:o,...s}=e,c=Dr(Fr,n),l=vr(n),{onClose:u}=c;return p.useEffect(()=>(document.addEventListener(xr,u),()=>document.removeEventListener(xr,u)),[u]),p.useEffect(()=>{if(c.trigger){let e=e=>{e.target instanceof Node&&e.target.contains(c.trigger)&&u()};return window.addEventListener(`scroll`,e,{capture:!0}),()=>window.removeEventListener(`scroll`,e,{capture:!0})}},[c.trigger,u]),(0,v.jsx)(le,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:a,onPointerDownOutside:o,onFocusOutside:e=>e.preventDefault(),onDismiss:u,children:(0,v.jsxs)(Zn,{"data-state":c.stateAttribute,...l,...s,ref:t,style:{...s.style,"--radix-tooltip-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-tooltip-content-available-width":`var(--radix-popper-available-width)`,"--radix-tooltip-content-available-height":`var(--radix-popper-available-height)`,"--radix-tooltip-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-tooltip-trigger-height":`var(--radix-popper-anchor-height)`},children:[(0,v.jsx)(Br,{children:r}),(0,v.jsx)(Rr,{scope:n,isInside:!0,children:(0,v.jsx)(hr,{id:c.contentId,role:`tooltip`,children:i||r})})]})})});Ir.displayName=Fr;var Hr=`TooltipArrow`,Ur=p.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,i=vr(n);return zr(Hr,n).isInside?null:(0,v.jsx)(Qn,{...i,...r,ref:t})});Ur.displayName=Hr;function Wr(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,i,a)){case a:return`left`;case i:return`right`;case n:return`top`;case r:return`bottom`;default:throw Error(`unreachable`)}}function Gr(e,t,n=5){let r=[];switch(t){case`top`:r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case`bottom`:r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case`left`:r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case`right`:r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function Kr(e){let{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}function qr(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 Jr(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:+(e.y>t.y)),Yr(t)}function Yr(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n<e.length;n++){let r=e[n];for(;t.length>=2;){let e=t[t.length-1],n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n[n.length-1],t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var Xr=wr,Zr=Or,Qr=Ar,$r=Pr,ei=Ir,ti=(0,p.createContext)(null);function ni({container:e,children:t}){return(0,v.jsx)(ti,{value:e,children:t})}function ri(){return(0,p.useContext)(ti)}function ii(e){return(0,v.jsx)(Xr,{"data-slot":`tooltip-provider`,...e})}var ai=Zr;function oi(e){return(0,v.jsx)(Qr,{"data-slot":`tooltip-trigger`,...e})}function si({className:e,children:t,sideOffset:n=6,ref:r,...i}){let a=ri();return(0,v.jsx)($r,{container:a??void 0,children:(0,v.jsx)(ei,{ref:r,"data-slot":`tooltip-content`,sideOffset:n,className:o(`z-50 rounded-md bg-[var(--primary-base)] px-2 py-1 shadow-[var(--shadow-popover)]`,`text-body-small-default text-[color:var(--content-inset)]`,`data-[state=delayed-open]:animate-[popoverIn_120ms_ease-out]`,`data-[state=instant-open]:animate-[popoverIn_60ms_ease-out]`,e),...i,children:t})})}function ci({content:e,children:t,side:n,align:r,delayDuration:i}){return(0,v.jsx)(Xr,{delayDuration:200,skipDelayDuration:300,children:(0,v.jsxs)(ai,{delayDuration:i,children:[(0,v.jsx)(oi,{asChild:!0,children:t}),(0,v.jsx)(si,{side:n,align:r,children:e})]})})}ci.Root=ai,ci.Trigger=oi,ci.Content=si;var li=f([`relative inline-flex items-center justify-center gap-1.5 cursor-pointer`,`select-none whitespace-nowrap transition-[background-color,color,border-color,transform,box-shadow]`,`duration-150 ease-out outline-none border`,`keyboard-focus:ring-2 keyboard-focus:ring-[var(--ring)] keyboard-focus:ring-offset-0`,`active:scale-[0.97]`,`disabled:cursor-not-allowed disabled:active:scale-100`,`aria-disabled:cursor-not-allowed aria-disabled:pointer-events-none aria-disabled:opacity-60 aria-disabled:active:scale-100`,`text-[color:var(--vbtn-fg)]`].join(` `),{variants:{variant:{primary:[`[--vbtn-fg:var(--content-inset)]`,`bg-[var(--primary-base)]`,`hover:bg-[var(--primary-hover)]`,`active:bg-[var(--primary-active)]`,`border-transparent`,`disabled:bg-[var(--primary-disabled)]`,`disabled:[--vbtn-fg:var(--content-disabled)]`].join(` `),danger:[`[--vbtn-fg:var(--aux-white)]`,`bg-[var(--system-negative-strong)]`,`hover:bg-[var(--system-negative-hover)]`,`active:bg-[var(--system-negative-hover)]`,`border-transparent`,`disabled:bg-[var(--primary-disabled)]`,`disabled:[--vbtn-fg:var(--content-disabled)]`].join(` `),dangerOutline:[`[--vbtn-fg:var(--system-negative-strong)]`,`bg-transparent`,`border-[var(--system-negative-strong)]`,`hover:[--vbtn-fg:var(--system-negative-hover)]`,`hover:border-[var(--system-negative-hover)]`,`active:border-[var(--system-negative-hover)]`,`disabled:border-[var(--primary-disabled)]`,`disabled:[--vbtn-fg:var(--content-disabled)]`].join(` `),dangerGhost:[`[--vbtn-fg:var(--system-negative-strong)]`,`bg-transparent border-transparent`,`hover:[--vbtn-fg:var(--system-negative-hover)]`,`hover:bg-[var(--system-negative-weak)]`,`active:bg-[var(--system-negative-weak)] active:scale-100`,`disabled:[--vbtn-fg:var(--content-disabled)]`].join(` `),outlined:[`[--vbtn-fg:var(--primary-base)]`,`bg-transparent`,`border-[var(--border-element)]`,`hover:[--vbtn-fg:var(--primary-active)]`,`hover:bg-[color-mix(in_srgb,var(--primary-second-hover)_15%,transparent)]`,`active:bg-[color-mix(in_srgb,var(--primary-second-hover)_20%,transparent)]`,`disabled:border-[var(--primary-disabled)]`,`disabled:[--vbtn-fg:var(--content-disabled)]`,`disabled:bg-transparent`].join(` `),ghost:[`[--vbtn-fg:var(--content-default)]`,`bg-transparent border-transparent`,`hover:[--vbtn-fg:var(--primary-active)]`,`hover:bg-[color-mix(in_srgb,var(--primary-second-hover)_15%,transparent)]`,`active:bg-[color-mix(in_srgb,var(--primary-second-hover)_20%,transparent)] active:scale-100`,`disabled:[--vbtn-fg:var(--content-disabled)]`].join(` `),link:[`[--vbtn-fg:var(--content-link)]`,`inline bg-transparent border-transparent`,`hover:underline`,`active:scale-100`,`disabled:[--vbtn-fg:var(--content-disabled)]`].join(` `)},size:{regular:`h-8 px-2.5 text-body-medium-default rounded-md`,compact:`h-6 px-2 text-label-medium-default rounded-md`},iconOnly:{true:`p-0`,false:``},fullWidth:{true:`w-full`,false:``},active:{true:``,false:``},expandOnMobile:{true:``,false:``}},compoundVariants:[{iconOnly:!0,size:`regular`,class:`h-8 w-8`},{iconOnly:!0,size:`compact`,class:`h-6 w-6`},{iconOnly:!0,size:`regular`,expandOnMobile:!0,class:`touch-mobile:h-10 touch-mobile:w-10`},{iconOnly:!0,size:`compact`,expandOnMobile:!0,class:`touch-mobile:h-10 touch-mobile:w-10`},{variant:`ghost`,active:!0,class:[`bg-[var(--surface-lift)]`,`hover:bg-[var(--surface-active)]`,`active:bg-[var(--surface-active)]`,`[--vbtn-fg:var(--primary-active)]`,`disabled:bg-[var(--border-disabled)]`].join(` `)},{variant:`outlined`,active:!0,class:[`border-[var(--primary-base)]`,`bg-[var(--surface-lift)]`,`hover:bg-[var(--surface-active)]`,`active:bg-[var(--surface-active)]`,`[--vbtn-fg:var(--primary-active)]`].join(` `)},{variant:`outlined`,iconOnly:!0,class:[`hover:bg-[var(--surface-base)]`,`active:bg-[var(--surface-active)]`].join(` `)},{variant:`ghost`,iconOnly:!0,active:!1,class:`[--vbtn-fg:var(--content-tertiary)] hover:[--vbtn-fg:var(--primary-active)]`},{variant:`outlined`,iconOnly:!0,active:!1,class:`[--vbtn-fg:var(--content-tertiary)] hover:[--vbtn-fg:var(--primary-active)]`},{variant:`ghost`,iconOnly:!0,expandOnMobile:!0,class:[`touch-mobile:bg-[var(--surface-lift)]`,`touch-mobile:rounded-full`,`touch-mobile:[--vbtn-fg:var(--content-default)]`,`touch-mobile:hover:bg-[var(--surface-active)]`,`touch-mobile:active:bg-[var(--surface-active)]`].join(` `)},{variant:`link`,class:`h-auto p-0 rounded-none text-[length:inherit] leading-[inherit]`}],defaultVariants:{variant:`primary`,size:`regular`,iconOnly:!1,fullWidth:!1,active:!1,expandOnMobile:!0}});function ui(e){return e===`compact`?10:14}function di({ref:e,variant:t=`primary`,size:n=`regular`,leftIcon:r,rightIcon:s,iconOnly:c,fullWidth:l=!1,active:u=!1,expandOnMobile:d=!0,iconOnlyGlyphClassName:f,tintColor:m,tooltip:h,tooltipSide:g,asChild:_=!1,className:y,style:b,type:x,children:S,title:C,disabled:w,onClick:T,...E}){let D=c!=null&&c!==!1,O=w===!0,k=_&&O,A=ui(n),j={width:A,height:A,flexShrink:0,display:`inline-flex`,alignItems:`center`,justifyContent:`center`},M=o(`inline-flex items-center justify-center shrink-0 size-3.5 [&_svg]:size-3.5`,d&&`touch-mobile:size-4 touch-mobile:[&_svg]:size-4`,f),N=_?i:`button`,P={...m&&!O?{"--vbtn-fg":m}:null,...b},F=e=>{e.preventDefault(),e.stopPropagation()},I=(0,v.jsx)(N,{...E,ref:e,type:_?void 0:x??`button`,disabled:_?void 0:w,"aria-disabled":k?!0:E[`aria-disabled`],"data-disabled":k?``:void 0,"data-slot":`button`,tabIndex:k?-1:E.tabIndex,onClick:k?F:T,title:C,className:o(li({variant:t,size:n,iconOnly:D,fullWidth:l,active:u,expandOnMobile:d}),y),style:P,children:D?_&&(0,p.isValidElement)(S)?(0,p.cloneElement)(S,void 0,(0,v.jsx)(`span`,{"aria-hidden":`true`,className:M,children:c})):(0,v.jsx)(`span`,{"aria-hidden":`true`,className:M,children:c}):r==null&&s==null?S:(0,v.jsxs)(v.Fragment,{children:[r==null?null:(0,v.jsx)(`span`,{"aria-hidden":`true`,style:j,children:r}),(0,v.jsx)(a,{children:S}),s==null?null:(0,v.jsx)(`span`,{"aria-hidden":`true`,style:j,children:s})]})});return h?(0,v.jsx)(ci,{content:h,side:g,children:I}):I}export{S as A,sn as C,ee as D,fe as E,l as F,_ as M,m as N,F as O,f as P,an as S,le as T,fn as _,ri as a,un as b,er as c,Zn as d,Yn as f,rn as g,ln as h,ni as i,y as j,I as k,Xn as l,An as m,ci as n,lr as o,Nn as p,ii as r,nr as s,di as t,Qn as u,on as v,ye as w,nn as x,cn as y};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./jsx-runtime-CVSDxk6A.js";import{n as t,t as n}from"./cn-C36Yvcac.js";import{t as r}from"./typography-D5f7kt80.js";var i=e(),a={sm:`p-3`,md:`p-4`,lg:`p-6`},o=[`bg-[var(--surface-lift)]`,`text-[color:var(--content-default)]`,`rounded-xl`].join(` `);function s({padding:e,bordered:t,elevated:r,hasSections:i,noPadding:s,clipContents:c}){return n(o,t?`border border-[var(--border-base)]`:`border border-transparent`,r?`shadow-sm`:null,c?`overflow-hidden`:null,!i&&!s?a[e]:null)}function c(e){let t=!1,n=Array.isArray(e)?e:[e];for(let e of n)if(typeof e==`object`&&e&&`type`in e&&(e.type===u||e.type===d||e.type===f)){t=!0;break}return t}function l({padding:e=`md`,bordered:r=!0,elevated:a=!1,noPadding:o=!1,clipContents:l=!1,asChild:u=!1,className:d,children:f,ref:p,...m}){let h=u?t:`div`,g=c(f);return(0,i.jsx)(h,{...m,ref:p,"data-slot":`card`,className:n(s({padding:e,bordered:r,elevated:a,hasSections:g,noPadding:o,clipContents:l}),d),children:f})}function u({padding:e=`md`,className:t,children:o,ref:s,...c}){return(0,i.jsx)(r,{...c,ref:s,variant:`title-small`,as:`div`,"data-slot":`card-header`,className:n(a[e],`border-b border-[var(--border-base)]`,`text-[color:var(--content-default)]`,t),children:o})}function d({padding:e=`md`,className:t,children:r,ref:o,...s}){return(0,i.jsx)(`div`,{...s,ref:o,"data-slot":`card-body`,className:n(a[e],t),children:r})}function f({padding:e=`md`,className:t,children:r,ref:o,...s}){return(0,i.jsx)(`div`,{...s,ref:o,"data-slot":`card-footer`,className:n(a[e],`border-t border-[var(--border-base)]`,t),children:r})}function p({children:e,padding:t=`md`,noPadding:n=!1,ref:r,...a}){return(0,i.jsx)(l,{ref:r,padding:t,noPadding:n,...a,children:n?e:(0,i.jsx)(d,{padding:t,children:e})})}var m=p;m.Root=l,m.Header=u,m.Body=d,m.Footer=f;export{m as t};
|
|
@@ -1,9 +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,h as i,t as a}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{n as o}from"./QueryClientProvider-DKhXIxGb.js";import{t as s}from"./useQuery-B45lW1Kk.js";import{t as c}from"./useMutation-Lj4VunQV.js";import{t as l}from"./jsx-runtime-CVSDxk6A.js";import{t as u}from"./cn-C36Yvcac.js";import{t as d}from"./typography-D5f7kt80.js";import{t as f}from"./card-Bv5O5juh.js";import{t as p}from"./chevron-down-qD-re7AW.js";import{t as m}from"./notice-DkcNAP8O.js";import{A as h,k as g,n as _,r as v}from"./src-zsLiFPw3.js";import{t as y}from"./tag-CV4v7fRF.js";import{t as b}from"./input-CoUmPnRU.js";import{t as x}from"./list-row-D5MFdbkH.js";import{n as S}from"./stat-square-CTHnQ1jc.js";import{t as C}from"./panel-item-CouW2A55.js";import{t as w}from"./confirm-dialog-CSkhRFRk.js";import{t as T}from"./dropdown-ByHOpeOU.js";import{n as E,t as D}from"./create-selectors-8NePGNlX.js";import{t as O}from"./assistant-identity-store-CX03CK8q.js";import{n as k}from"./utils-xg2dl_KJ.js";import{c as A}from"./routes-BbeIx_F9.js";import{i as j,o as M,r as N}from"./sdk.gen-BhtkuoSl.js";import{t as P}from"./assistant-feature-flag-store-DA8Oj9Mf.js";import{t as F}from"./public-asset-GKv5zCfZ.js";import{Ai as I,Nt as ee,Ta as L,Yi as te,aa as R,b as z,d as ne,ir as re,l as ie,ln as B,rr as ae,un as V,vr as oe,x as se,y as ce}from"./index-yu6nDHvG.js";import{t as le}from"./use-active-assistant-id-BWXi63qg.js";import{a as ue,c as de,d as H,l as fe,n as pe,o as me,t as he,u as ge}from"./use-invite-link-dialog-BdnW1BHj.js";import{t as _e}from"./detail-card-xKZlkbz5.js";import{n as ve,t as ye}from"./mobile-sidebar-drawer-Epbt6p-k.js";import{t as U}from"./mutation-error-DYv0eJ_i.js";var W=e(t(),1),G=l();function K({icon:e,title:t,description:n,action:r,className:i}){return(0,G.jsxs)(`div`,{className:u(`flex flex-col items-center justify-center gap-3 px-4 py-12 text-center`,i),children:[e?(0,G.jsx)(`div`,{className:`flex h-12 w-12 items-center justify-center rounded-xl bg-[var(--surface-sunken)] text-[var(--content-tertiary)]`,children:e}):null,(0,G.jsx)(`h3`,{className:`text-title-small text-[var(--content-default)]`,children:t}),n?(0,G.jsx)(`p`,{className:`max-w-md text-body-medium-lighter text-[color:var(--content-tertiary)]`,children:n}):null,r?(0,G.jsx)(`div`,{className:`mt-1`,children:r}):null]})}var q=D(E()(e=>({selectedAdapter:`slack`,selectAdapter:t=>e({selectedAdapter:t})})));function J({channels:e,selectedKey:t,onSelect:n}){return(0,G.jsx)(f.Root,{className:`flex h-full flex-col overflow-hidden`,children:(0,G.jsxs)(f.Body,{className:`flex min-h-0 min-w-0 flex-1 flex-col gap-4`,children:[(0,G.jsx)(`h2`,{className:`text-title-medium`,style:{color:`var(--content-default)`},children:`Channels`}),(0,G.jsx)(`div`,{className:`flex flex-col gap-1`,children:e.map(e=>(0,G.jsx)(be,{channel:e,selected:e.key===t,onClick:()=>n(e.key)},e.key))})]})})}function be({channel:e,selected:t,onClick:n}){let r=e.status===`ready`,i=V(e.key),a=r?`Connected`:`Not connected`;return(0,G.jsx)(C,{asChild:!0,active:t,label:`${i}, ${a}`,children:(0,G.jsxs)(`button`,{type:`button`,onClick:n,className:`flex h-auto w-full items-center gap-2 rounded-[6px] px-[8px] py-2 text-left`,children:[(0,G.jsx)(B,{channelId:e.key,className:`h-4 w-4 shrink-0 text-[color:var(--content-secondary)]`}),(0,G.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-body-medium-default`,children:i}),(0,G.jsx)(`span`,{className:`flex shrink-0 items-center`,children:(0,G.jsx)(y,{tone:r?`positive`:`neutral`,children:a})})]})})}function xe({children:e}){return(0,G.jsxs)(f.Root,{children:[(0,G.jsx)(f.Header,{children:(0,G.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,G.jsx)(`img`,{src:F(`/images/integrations/slack.svg`),alt:``,className:`size-8 rounded-lg bg-[var(--surface-sunken)] p-1`}),(0,G.jsx)(d,{as:`span`,variant:`body-medium-default`,children:`Slack setup`})]})}),(0,G.jsx)(f.Body,{children:e})]})}var Y=ce.map(e=>e.riskThreshold),X={none:{label:z(`none`).label,sublabel:`ask before every action`,tone:`negative`},low:{label:z(`low`).label,sublabel:`low-risk actions, ask for the rest`,tone:`warning`},medium:{label:z(`medium`).label,sublabel:`beyond its workspace too`,tone:`info`},high:{label:z(`high`).label,sublabel:`acts freely`,tone:`positive`}},Z=[`trusted_contact`,`unverified_contact`,`unknown`];function Se(e,t){let n={};for(let r of e){if(r.selector.scope!==`channel`||r.selector.adapter!==t)continue;let e=r.selector.channelExternalId;e&&(r.contactType===`trusted_contact`||!(e in n))&&(n[e]=r.threshold)}return n}function Ce(e){return{tier:e??null,overridden:e!==void 0}}function we({channelName:e,settings:t,defaultTier:r,loading:i=!1,error:a=!1,onTierChange:o,onReset:s}){let c=i||a,l=Y.map(e=>({value:e,label:X[e].label,sublabel:X[e].sublabel,disabled:c}));return(0,G.jsxs)(`div`,{className:`flex flex-col gap-3 px-2 pt-1 pb-4`,children:[t.overridden?(0,G.jsx)(m,{tone:`warning`,title:`Custom access.`,className:`border-dashed`,actions:(0,G.jsx)(n,{type:`button`,variant:`outlined`,onClick:s,disabled:c,children:`Reset to default`}),children:`This channel isn’t following your global Assistant Access setting.`}):null,(0,G.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,G.jsx)(d,{as:`span`,variant:`body-small-emphasised`,className:`text-[color:var(--content-secondary)]`,children:`Assistant Access`}),i?(0,G.jsx)(d,{as:`span`,variant:`body-small-default`,className:`text-[color:var(--content-tertiary)]`,children:`Loading…`}):a?(0,G.jsx)(d,{as:`span`,variant:`body-small-default`,className:`text-[color:var(--content-negative)]`,children:`Couldn’t load — try reopening this page`}):t.overridden?(0,G.jsx)(y,{tone:`warning`,children:`overridden`}):(0,G.jsx)(d,{as:`span`,variant:`body-small-default`,className:`text-[color:var(--content-tertiary)]`,children:`default`})]}),(0,G.jsx)(S,{items:l,value:t.tier??r,onChange:o,ariaLabel:`Assistant Access in ${e}`})]})}var Te={positive:`var(--system-positive-strong)`,negative:`var(--system-negative-strong)`,warning:`var(--system-mid-strong)`,info:`var(--system-info-strong)`,neutral:`var(--content-secondary)`};function Ee(e,t){switch(e){case`none`:return(0,G.jsxs)(G.Fragment,{children:[t,` replies in this channel, but asks you before taking any action.`]});case`low`:return(0,G.jsxs)(G.Fragment,{children:[t,` replies and runs safe, read-only actions on its own, like web searches and reading files in its workspace. Anything that writes, sends, or spends asks you first.`]});case`medium`:return(0,G.jsxs)(G.Fragment,{children:[t,` also handles medium-risk requests on its own, like network requests that use your connected accounts. Anything that writes, sends, or spends still asks you first.`]});case`high`:return(0,G.jsxs)(G.Fragment,{children:[t,` answers any request on its own without asking. Tools that take action — writing, sending, spending — still come to you first.`]})}}function De({assistantName:e}){return(0,G.jsxs)(f.Root,{children:[(0,G.jsx)(f.Header,{children:`Assistant Access levels`}),(0,G.jsx)(f.Body,{className:`grid gap-4 sm:grid-cols-2`,children:Y.map(t=>{let n=X[t];return(0,G.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,G.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,G.jsx)(`span`,{"aria-hidden":`true`,className:`h-1.5 w-1.5 rounded-full`,style:{backgroundColor:Te[n.tone]}}),(0,G.jsx)(d,{as:`span`,variant:`body-small-emphasised`,children:n.label})]}),(0,G.jsx)(d,{as:`p`,variant:`body-small-default`,className:`text-[color:var(--content-tertiary)]`,children:Ee(t,e)})]},t)})}),(0,G.jsx)(f.Footer,{children:(0,G.jsxs)(d,{as:`p`,variant:`body-small-default`,className:`text-[color:var(--content-tertiary)]`,children:[`Your`,` `,(0,G.jsx)(a,{to:A.settings.privacy,className:`text-[var(--content-link)] underline hover:text-[var(--content-link-hover)]`,children:`Trust Rules`}),` `,`fine-tune these levels: a rule raises or lowers how risky a specific action is treated, which changes when it asks first.`]})})]})}function Q(e){return e.type===`dm`?`dm`:e.isPrivate?`private`:`public`}function Oe(e){return e.filter(e=>Q(e)!==`dm`)}function ke(e,t,n){let r=t.trim().toLowerCase();return e.filter(e=>(n===null||Q(e)===n)&&(r===``||e.name.toLowerCase().includes(r))).sort((e,t)=>e.name.localeCompare(t.name))}function Ae(e){let t={public:0,private:0,dm:0};for(let n of e)t[Q(n)]+=1;return t}function je(e){return e.memberCount==null?null:e.memberCount===1?`1 member`:`${e.memberCount} members`}var Me=[{value:null,label:`All`},{value:`public`,label:`Public`},{value:`private`,label:`Private`}],Ne={public:R,private:te},Pe=100,Fe=new Set;function Ie({assistantDisplayName:e,slackHandle:t,channels:r,loading:i=!1,error:a=!1,tierOverrides:o,defaultTier:s=null,accessControlsSupported:c=!0,tierOverridesLoading:l=!1,tierOverridesError:p=!1,pendingChannelIds:m=Fe,onTierChange:h,onTierReset:g}){let[y,x]=(0,W.useState)(``),[S,C]=(0,W.useState)(null),[w,T]=(0,W.useState)(new Set),[E,D]=(0,W.useState)(!1),O=e=>{T(t=>{if(E){let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n}return t.has(e)?new Set:new Set([e])})},k=()=>{E?(D(!1),T(new Set)):(D(!0),T(new Set(A.map(e=>e.id))))},A=(0,W.useMemo)(()=>Oe(r??[]),[r]),j=(0,W.useMemo)(()=>ke(A,y,S),[A,y,S]),M=(0,W.useMemo)(()=>Ae(A),[A]),N=t??`@${e}`,P=(0,G.jsxs)(G.Fragment,{children:[`To add `,e,` to a channel, type`,` `,(0,G.jsxs)(`code`,{className:`text-[color:var(--content-secondary)]`,children:[`/invite `,N]}),` `,`inside that Slack channel.`]});return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)(f.Root,{children:[(0,G.jsx)(f.Header,{children:(0,G.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[`Where `,e,` is present`,(0,G.jsx)(d,{as:`p`,variant:`body-small-default`,className:`text-[color:var(--content-tertiary)]`,children:P})]})}),(0,G.jsx)(f.Body,{className:`flex flex-col gap-3`,children:i?(0,G.jsx)(d,{as:`span`,variant:`body-small-default`,className:`text-[color:var(--content-tertiary)]`,children:`Loading…`}):a?(0,G.jsx)(d,{as:`span`,variant:`body-small-default`,className:`text-[color:var(--content-negative)]`,children:`Couldn’t load channels. Try reopening this page.`}):A.length===0?(0,G.jsx)(K,{icon:(0,G.jsx)(R,{className:`h-6 w-6`}),title:`No channels yet`}):(0,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3`,children:[(0,G.jsx)(`div`,{className:`min-w-56 flex-1`,children:(0,G.jsx)(b,{type:`search`,value:y,onChange:e=>x(e.target.value),placeholder:`Search channels`,"aria-label":`Search channels`,leftIcon:(0,G.jsx)(I,{className:`h-4 w-4`}),fullWidth:!0})}),(0,G.jsx)(`div`,{className:`flex items-center gap-2`,role:`group`,"aria-label":`Filter channels by type`,children:Me.map(({value:e,label:t})=>{let n=S===e,r=e===null?A.length:M[e];return(0,G.jsxs)(`button`,{type:`button`,"aria-pressed":n,onClick:()=>C(e),className:u(`inline-flex h-6 items-center rounded-full px-2.5 text-body-small-emphasised leading-none transition-colors`,n?`bg-[var(--content-default)] text-[var(--surface-base)]`:`bg-[var(--tag-bg-neutral)] text-[color:var(--content-secondary)] hover:text-[color:var(--content-default)]`),children:[t,` `,r]},e??`all`)})}),(0,G.jsx)(n,{type:`button`,variant:`outlined`,onClick:k,children:E?`Collapse all`:`Expand all`})]}),j.length===0?(0,G.jsx)(d,{as:`span`,variant:`body-small-default`,className:`py-4 text-center text-[color:var(--content-tertiary)]`,children:`No channels match.`}):(0,G.jsx)(_.Root,{type:`multiple`,value:[...w],children:j.length>Pe?(0,G.jsx)(`div`,{className:`h-96`,children:(0,G.jsx)(v,{items:j,computeItemKey:(e,t)=>t.id,itemContent:(e,t)=>(0,G.jsx)($,{channel:t,open:w.has(t.id),onToggle:()=>O(t.id),pending:m.has(t.id),overridesLoading:l,overridesError:p,defaultTier:s,accessControls:c,tierOverride:o?.[t.id],onTierChange:e=>h?.(t.id,e),onReset:()=>g?.(t.id)}),className:`h-full`})}):j.map(e=>(0,G.jsx)($,{channel:e,open:w.has(e.id),onToggle:()=>O(e.id),pending:m.has(e.id),overridesLoading:l,overridesError:p,defaultTier:s,accessControls:c,tierOverride:o?.[e.id],onTierChange:t=>h?.(e.id,t),onReset:()=>g?.(e.id)},e.id))})]})}),!i&&!a&&A.length>0?(0,G.jsx)(f.Footer,{children:(0,G.jsxs)(d,{as:`p`,variant:`body-small-default`,className:`text-[color:var(--content-tertiary)]`,children:[`Only showing channels `,e,` is in. To remove`,` `,e,` from a channel, use`,` `,(0,G.jsxs)(`code`,{className:`text-[color:var(--content-secondary)]`,children:[`/remove `,N]}),` `,`in that Slack channel.`]})}):null]}),c&&!i&&!a&&A.length>0?(0,G.jsx)(De,{assistantName:e}):null]})}function $({channel:e,open:t,pending:n,overridesLoading:r,overridesError:i,defaultTier:a,accessControls:o,tierOverride:s,onToggle:c,onTierChange:l,onReset:d}){let f=Q(e);if(f===`dm`)return null;let m=Ne[f],h=je(e),g=Ce(s),v=g.tier===null?null:X[g.tier],b=a===null?null:X[a];return o?(0,G.jsxs)(_.Item,{value:e.id,className:`[&+&]:border-t [&+&]:border-[var(--border-base)]`,children:[(0,G.jsx)(x,{leading:(0,G.jsx)(m,{className:`h-4 w-4 text-[var(--content-tertiary)]`}),title:e.name,onClick:c,contentAriaLabel:`${e.name} — ${t?`collapse`:`expand`} channel settings`,showChevron:!1,selected:t,trailing:(0,G.jsxs)(G.Fragment,{children:[n?(0,G.jsx)(`span`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:`Saving…`}):h==null?null:(0,G.jsx)(`span`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:h}),v===null?(0,G.jsx)(y,{children:b===null?`Default`:`${b.label} • default`}):(0,G.jsxs)(y,{tone:v.tone,children:[v.label,` • custom`]}),(0,G.jsx)(p,{"aria-hidden":`true`,className:u(`h-4 w-4 text-[var(--content-tertiary)] transition-transform`,t&&`rotate-180`)})]})}),(0,G.jsx)(_.Content,{children:(0,G.jsx)(we,{channelName:e.name,settings:g,defaultTier:a,loading:r,error:i,onTierChange:l,onReset:d})})]}):(0,G.jsx)(x,{leading:(0,G.jsx)(m,{className:`h-4 w-4 text-[var(--content-tertiary)]`}),title:e.name,trailing:h==null?void 0:(0,G.jsx)(`span`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:h})})}var Le=`0.10.7`;function Re(){return k(Le)}function ze(e,t,n){return Z.map(r=>({selector:{scope:`channel`,adapter:e,channelExternalId:t},contactType:r,threshold:n}))}function Be(e,t,n){return e.selector.scope===`channel`&&e.selector.adapter===t&&e.selector.channelExternalId===n}function Ve({assistantId:e,adapter:t}){let n=o(),r=P.use.channelTrustFloors(),i=Re(),a=r&&i&&!!e,l=(0,W.useMemo)(()=>({path:{assistant_id:e}}),[e]),u=(0,W.useMemo)(()=>re(l),[l]),d=s({...ae(l),enabled:a,select:e=>Se(e.cells,t)}),f=s({queryKey:[`channel-permission-resolve`,e,t],queryFn:async()=>{let{data:e}=await M({...l,body:{adapter:t,contactType:`trusted_contact`},throwOnError:!0});return e.resolved?.threshold??null},enabled:a,retry:!1,staleTime:3e4}),p=(e,r)=>{let i=n.getQueryData(u),a=Date.now();return n.setQueryData(u,n=>({cells:[...(n?.cells??[]).filter(n=>!Be(n,t,e)),...r.map(e=>({...e,updatedAt:a}))]})),{previous:i}},m=c({mutationFn:async({channelExternalId:e,tier:n})=>{await Promise.all(ze(t,e,n).map(e=>j({...l,body:e,throwOnError:!0})))},onMutate:({channelExternalId:e,tier:n})=>p(e,ze(t,e,n)),onError:(e,t,r)=>{n.setQueryData(u,r?.previous),U(`Failed to save channel settings`)(e)},onSettled:()=>n.invalidateQueries({queryKey:u})}),h=c({mutationFn:async({channelExternalId:e})=>{await Promise.all(Z.map(n=>N({...l,body:{selector:{scope:`channel`,adapter:t,channelExternalId:e},contactType:n},throwOnError:!0})))},onMutate:({channelExternalId:e})=>p(e,[]),onError:(e,t,r)=>{n.setQueryData(u,r?.previous),U(`Failed to reset channel settings`)(e)},onSettled:()=>n.invalidateQueries({queryKey:u})}),g=(0,W.useMemo)(()=>{let e=new Set;return m.isPending&&m.variables&&e.add(m.variables.channelExternalId),h.isPending&&h.variables&&e.add(h.variables.channelExternalId),e},[m.isPending,m.variables,h.isPending,h.variables]);return a?{supported:!0,tierOverrides:d.data,defaultCellTier:f.data,pendingChannelIds:g,isLoading:d.isPending,isError:d.isError,onTierChange:(e,t)=>m.mutate({channelExternalId:e,tier:t}),onTierReset:e=>{d.data?.[e]!==void 0&&h.mutate({channelExternalId:e})}}:{supported:!1,tierOverrides:void 0,defaultCellTier:void 0,pendingChannelIds:new Set,isLoading:!1,isError:!1,onTierChange:void 0,onTierReset:void 0}}function He({assistantId:e,assistantDisplayName:t,slackHandle:n}){let r=s({...ie(e),enabled:!!e,select:e=>e.channels}),i=Ve({assistantId:e,adapter:`slack`}),a=s({queryKey:[`thresholds`,e],queryFn:()=>se(e),enabled:i.supported&&!!e,staleTime:3e4}).data?.interactive??null,o=i.defaultCellTier===void 0?null:i.defaultCellTier??a;return(0,G.jsx)(Ie,{assistantDisplayName:t,slackHandle:n,accessControlsSupported:i.supported,defaultTier:o,channels:r.data,loading:r.isPending,error:r.isError,tierOverrides:i.tierOverrides,tierOverridesLoading:i.isLoading,tierOverridesError:i.isError,pendingChannelIds:i.pendingChannelIds,onTierChange:i.onTierChange,onTierReset:i.onTierReset})}function Ue({slackHandle:e,disconnectPending:t=!1,onDisconnect:r,children:i}){return(0,G.jsxs)(f.Root,{children:[(0,G.jsx)(f.Header,{children:(0,G.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,G.jsx)(`img`,{src:F(`/images/integrations/slack.svg`),alt:``,className:`size-8 rounded-lg bg-[var(--surface-sunken)] p-1`}),e?(0,G.jsx)(d,{as:`span`,variant:`body-medium-default`,children:e}):null,(0,G.jsx)(y,{tone:`positive`,leftIcon:(0,G.jsx)(L,{}),children:`Connected`}),(0,G.jsx)(`div`,{className:`ml-auto`,children:(0,G.jsx)(n,{type:`button`,variant:`ghost`,onClick:r,disabled:!r||t,children:t?`Disconnecting…`:`Disconnect`})})]})}),(0,G.jsx)(f.Body,{children:i})]})}function We({threadMode:e,threadModePending:t=!1,onThreadModeChange:n}){return(0,G.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,G.jsx)(d,{as:`span`,variant:`body-small-emphasised`,className:`text-[color:var(--content-secondary)]`,children:`Thread Behavior`}),(0,G.jsxs)(h,{value:e??`mention_then_thread`,onValueChange:e=>n?.(e),disabled:t||!n,"aria-label":`Slack thread behavior`,children:[(0,G.jsx)(g,{value:`mention_only`,label:`Mentions only`,helperText:`Bot only responds when @mentioned.`}),(0,G.jsx)(g,{value:`mention_then_thread`,label:`Follow threads after first mention`,helperText:`After an @mention in a thread, bot listens to all subsequent replies.`})]})]})}var Ge={no_one:{title:`Block all messages?`,message:`Setting this channel to “No one” hard-denies every inbound message — including messages from you.
|
|
2
|
-
|
|
3
|
-
You can reverse this at any time.`,confirmLabel:`Block all`,destructive:!0},any_contact:{title:`Allow any contact?`,message:`“Any contact” admits every matched contact in this channel — including pending, unverified ones — not just your verified contacts.
|
|
4
|
-
|
|
5
|
-
Best for channels consisting of only people you already trust.`,confirmLabel:`Allow any contact`},strangers:{title:`Allow strangers?`,message:`Are you sure you want to allow strangers to contact your assistant through this channel?
|
|
6
|
-
|
|
7
|
-
Doing so could cost you money and open you up to security and privacy vulnerabilities.
|
|
8
|
-
|
|
9
|
-
Enable with extreme caution.`,confirmLabel:`Allow strangers`,destructive:!0}},Ke={slack:{label:`Slack`,disconnectMessage:`This clears the stored Slack bot and app tokens for this assistant. You can reconnect later.`,hasTrustFloorControl:!1},telegram:{label:`Telegram`,disconnectMessage:`This clears the stored Telegram bot token for this assistant. You can reconnect later.`,hasTrustFloorControl:!0,disconnectedPitch:e=>`Connect a Telegram bot so ${e} can send and receive messages on Telegram.`},phone:{label:`Phone Calling`,disconnectMessage:`This clears the stored Twilio credentials for this assistant. You can reconnect later.`,hasTrustFloorControl:!0,disconnectedPitch:e=>`Connect your Twilio account so ${e} can make and answer phone calls.`}};function qe({assistantId:e,assistantName:t,channels:n,pendingChannelKey:r=null,slackThreadMode:i,slackThreadModePending:a=!1,channelPolicies:o,policySavingKey:s=null,policiesLoading:c=!1,policiesError:l=!1,onChannelPolicyChange:u,onSetup:d,onDisconnect:f,onSaveTelegramToken:p,onSaveSlackConfig:m,slackSaveStatus:h,slackSaveError:g,onSlackThreadModeChange:_,onSaveTwilioCredentials:v,initialChannel:y=null}){let b=q.use.selectedAdapter(),x=q.use.selectAdapter(),[S,C]=(0,W.useState)(null),[T,E]=(0,W.useState)(null),[D,O]=(0,W.useState)(!1),[k]=(0,W.useState)(y);(0,W.useEffect)(()=>{k&&x(k)},[k,x]);let A=H(t),j=S?Ke[S]:null,M=T?Ge[T.policy]:null,N=(e,t)=>{if(Ge[t]){E({channelKey:e,policy:t});return}u?.(e,t)},P=e=>{x(e),O(!1)},F=n.find(e=>e.key===b)??n[0];if(!F)return null;let I=(0,G.jsx)(Je,{channel:F,assistantId:e,assistantName:t,assistantDisplayName:A,pending:r===F.key,initialManualEntry:k===F.key,onSetup:d?()=>d(F.key):void 0,onDisconnect:f?()=>C(F.key):void 0,onSaveTelegramToken:p,onSaveSlackConfig:m,slackSaveStatus:h,slackSaveError:g,slackThreadMode:i,slackThreadModePending:a,onSlackThreadModeChange:_,onSaveTwilioCredentials:v,policy:o?.[F.key],policySaving:s===F.key,policyLoading:c,policyError:l,onPolicyChange:u?e=>N(F.key,e):void 0},F.key);return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-4 overflow-hidden sm:flex-row sm:gap-6`,children:[(0,G.jsx)(`div`,{className:`flex items-center sm:hidden`,children:(0,G.jsx)(ve,{onClick:()=>O(!0)})}),(0,G.jsx)(ye,{open:D,onClose:()=>O(!1),title:`Channels`,children:(0,G.jsx)(J,{channels:n,selectedKey:F.key,onSelect:P})}),(0,G.jsx)(`aside`,{className:`hidden min-h-0 w-[320px] shrink-0 overflow-y-auto self-stretch sm:block`,children:(0,G.jsx)(J,{channels:n,selectedKey:F.key,onSelect:P})}),(0,G.jsx)(`section`,{className:`min-h-0 min-w-0 flex-1 overflow-y-auto`,children:F.key===`slack`?I:(0,G.jsx)(_e,{children:I})})]}),(0,G.jsx)(w,{open:S!==null,title:`Disconnect ${j?.label??``}?`,message:j?.disconnectMessage??``,confirmLabel:`Disconnect`,destructive:!0,onConfirm:()=>{S&&f&&f(S),C(null)},onCancel:()=>C(null)}),(0,G.jsx)(w,{open:T!==null,title:M?.title??``,message:M?.message??``,confirmLabel:M?.confirmLabel??`Confirm`,destructive:M?.destructive??!1,onConfirm:()=>{T&&u?.(T.channelKey,T.policy),E(null)},onCancel:()=>E(null)})]})}function Je({channel:e,assistantId:t,assistantName:r,assistantDisplayName:i,pending:a,initialManualEntry:o=!1,onSetup:s,onDisconnect:c,onSaveTelegramToken:l,onSaveSlackConfig:u,slackSaveStatus:d,slackSaveError:f,slackThreadMode:p,slackThreadModePending:m=!1,onSlackThreadModeChange:h,onSaveTwilioCredentials:g,policy:_,policySaving:v=!1,policyLoading:b=!1,policyError:x=!1,onPolicyChange:S}){let C=Ke[e.key],w=e.status===`ready`,[T,E]=(0,W.useState)(o),D=w||T;return(0,G.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[e.key!==`slack`&&w?(0,G.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,G.jsx)(y,{tone:`positive`,leftIcon:(0,G.jsx)(L,{}),children:`Connected`}),e.address?(0,G.jsx)(`span`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:e.address}):null,(0,G.jsx)(`div`,{className:`ml-auto`,children:(0,G.jsx)(n,{type:`button`,variant:`danger`,onClick:c,disabled:!c||a,children:a?`Disconnecting…`:`Disconnect`})})]}):e.key!==`slack`&&!T?(0,G.jsx)(K,{icon:(0,G.jsx)(B,{channelId:e.key,className:`h-6 w-6`}),title:`${V(e.key)} isn't connected`,description:C.disconnectedPitch?.(i),action:(0,G.jsxs)(`div`,{className:`flex flex-col items-center gap-1`,children:[(0,G.jsx)(n,{type:`button`,variant:`outlined`,onClick:s,disabled:!s||a,children:a?`Opening…`:`Set up`}),(0,G.jsx)(n,{type:`button`,variant:`link`,onClick:()=>E(!0),children:`or connect manually`})]})}):null,w&&C.hasTrustFloorControl&&S?(0,G.jsx)(Ye,{assistantDisplayName:i,policy:_,saving:v,loading:b,error:x,onChange:S}):null,e.key===`telegram`&&D?(0,G.jsx)(Xe,{onSave:l}):null,e.key===`slack`?w?(0,G.jsx)(Ue,{slackHandle:e.address,disconnectPending:a,onDisconnect:c,children:(0,G.jsx)(We,{threadMode:p,threadModePending:m,onThreadModeChange:h})}):(0,G.jsx)(xe,{children:(0,G.jsx)(ne,{assistantName:r,onSave:u,saveStatus:d,saveError:f})}):null,e.key===`slack`&&w?(0,G.jsx)(He,{assistantId:t,assistantDisplayName:i,slackHandle:e.address}):null,e.key===`phone`&&D?(0,G.jsx)(Ze,{onSave:g}):null]})}function Ye({assistantDisplayName:e,policy:t,saving:n=!1,loading:r=!1,error:i=!1,onChange:a}){let o=t??`trusted_contacts`,s=ge(e),c=de.map(e=>({value:e,label:fe[e],tooltip:s[e]}));return(0,G.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,G.jsxs)(d,{as:`span`,variant:`body-small-emphasised`,className:`text-[color:var(--content-secondary)]`,children:[`Who can message `,e]}),r?(0,G.jsx)(d,{as:`span`,variant:`body-small-default`,className:`text-[color:var(--content-tertiary)]`,children:`Loading…`}):i?(0,G.jsx)(d,{as:`span`,variant:`body-small-default`,className:`text-[color:var(--content-negative)]`,children:`Couldn’t load this setting. Try reopening this page.`}):(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{style:{maxWidth:280},children:(0,G.jsx)(T,{value:o,onChange:a,options:c,disabled:n,"aria-label":`Who can message ${e}`})}),(0,G.jsx)(d,{as:`span`,variant:`body-small-default`,className:`text-[color:var(--content-tertiary)]`,children:s[o]}),o===`trusted_contacts`?(0,G.jsxs)(m,{tone:`info`,className:`max-w-lg`,children:[`People you haven’t verified yet — even teammates in the same channel — can’t get through: `,e,` lets them know they need to be verified and notifies you. You can verify people ahead of time in Contacts.`]}):null]})]})}function Xe({onSave:e}){let[t,r]=(0,W.useState)(``),[i,a]=(0,W.useState)(!1),[o,s]=(0,W.useState)(null),c=t.trim().length>0&&!i;return(0,G.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,G.jsx)(b,{label:`Bot Token`,type:`password`,value:t,onChange:e=>r(e.target.value),placeholder:`Paste your Telegram bot token`,disabled:i,fullWidth:!0}),o?(0,G.jsx)(`p`,{className:`text-label-small`,style:{color:`var(--content-negative)`},children:o}):null,(0,G.jsx)(`div`,{children:(0,G.jsx)(n,{type:`button`,onClick:async()=>{if(!(!e||!c)){a(!0),s(null);try{await e(t.trim()),r(``)}catch(e){s(e instanceof Error?e.message:`Failed to save`)}finally{a(!1)}}},disabled:!c,children:i?`Saving…`:`Save`})})]})}function Ze({onSave:e}){let[t,r]=(0,W.useState)(``),[i,a]=(0,W.useState)(``),[o,s]=(0,W.useState)(!1),[c,l]=(0,W.useState)(null),u=t.trim().length>0&&i.trim().length>0&&!o;return(0,G.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,G.jsx)(b,{label:`Account SID`,type:`text`,value:t,onChange:e=>r(e.target.value),placeholder:`ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`,disabled:o,fullWidth:!0}),(0,G.jsx)(b,{label:`Auth Token`,type:`password`,value:i,onChange:e=>a(e.target.value),placeholder:`Twilio auth token`,disabled:o,fullWidth:!0}),c?(0,G.jsx)(`p`,{className:`text-label-small`,style:{color:`var(--content-negative)`},children:c}):null,(0,G.jsx)(`div`,{children:(0,G.jsx)(n,{type:`button`,onClick:async()=>{if(!(!e||!u)){s(!0),l(null);try{await e(t.trim(),i.trim()),r(``),a(``)}catch(e){l(e instanceof Error?e.message:`Failed to save`)}finally{s(!1)}}},disabled:!u,children:o?`Saving…`:`Save`})})]})}function Qe(){let[e,t]=i(),n=e.get(`setup`),r=n&&ee(n)?n:null;return(0,W.useEffect)(()=>{r&&t(e=>(e.delete(`setup`),e),{replace:!0})},[r,t]),r}function $e({assistantId:e,onStartSetupConversation:t}){let n=P.use.a2aChannel(),r=O.use.name(),i=Qe(),a=he(e);return(0,G.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-6 overflow-hidden`,children:[(0,G.jsx)(qe,{assistantId:e,assistantName:H(r),initialChannel:i,...pe({assistantId:e,onStartSetupConversation:t})}),n?(0,G.jsx)(ue,{onClick:a.open}):null,(0,G.jsx)(me,{open:a.isOpen,assistantId:e,onClose:a.close})]})}function et(){let e=r(),t=le();return(0,G.jsx)($e,{assistantId:t,onStartSetupConversation:t=>{oe(e,{prompt:t})}},t)}export{et as ChannelsPageRoute};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
function e(e){return e.previewStartedAt??e.startedAt??void 0}function t(e){return!e.isError&&e.result===void 0&&e.completedAt==null}function n(e){return!e.isError&&!t(e)}function r(e){return e?.webUrl??e?.appUrl}var i=[`choice`,`oauth_connect`,`form`,`confirmation`,`file_upload`,`task_preferences`];function a(e){return e.completed?!1:Array.isArray(e.actions)&&e.actions.length>0||i.includes(e.surfaceType)}var o=new Set([`ui_show`,`ui_update`,`app_open`,`app_create`,`app_update`,`app_refresh`]);function s(e,t){if(e.toolCallId){let r=t?.find(t=>t.id===e.toolCallId);return r?n(r):!0}let r;for(let e of t??[])o.has(e.name)&&(r=e);return r?n(r):!0}function c(e){if(e.surfaceType===`dynamic_page`){let t=e.data;return t?.appId||t?.preview?`inline`:e.display}return`inline`}function l(e,t){if(!e.toolCalls?.length)return e;let n=!1,r=new Map,i=e.toolCalls.map(e=>{let i=t(e);return i!==e&&(n=!0),r.set(i.id,i),i});if(!n)return e;let a=e.contentBlocks?.map(e=>{if(e.type!==`tool_use`)return e;let t=e.toolCall.id;if(t===void 0)return e;let n=r.get(t);return n===void 0||n===e.toolCall?e:{...e,toolCall:n}});return{...e,toolCalls:i,contentBlocks:a}}var u={rate_limit_exceeded:`Too many requests. Please wait a moment and try again.`,invalid_api_key:`The API key for this provider is invalid or expired. Check your API key in Settings → Models & Services.`},d=new Set([`conversation_list_invalidated`,`conversation_title_updated`,`notification_intent`,`navigate_settings`,`identity_changed`,`avatar_updated`,`sync_changed`,`disk_pressure_status_changed`,`home_feed_updated`,`relationship_state_updated`,`contact_request`,`subagent_spawned`,`subagent_status_changed`,`subagent_event`,`acp_session_spawned`,`acp_session_update`,`acp_session_usage`,`acp_session_completed`,`acp_session_error`,`background_tool_started`,`background_tool_completed`]);function f(e){return!d.has(e.type)}function p(e){let t=-1;for(let n=e.length-1;n>=0;n--){let r=e[n];if(r.role===`assistant`)return t>n;r.role===`user`&&r.queueStatus!==`queued`&&(t=n)}return t!==-1}function m(e){for(let t of e)if(t.surfaces){for(let e of t.surfaces)if(a(e))return!0}return!1}function h(e){return!!e?.some(e=>e.role===`assistant`)}function g({previousConversationId:e,nextConversationId:t,onboardingDraftConversationId:n,autoGreetPending:r,assistantMessagePresent:i}){return e==null||t==null||e===t?!1:!(r&&!i&&e===n)}var _={"not-allowed":`Microphone access was blocked.`,"service-not-allowed":`Microphone access was blocked.`,"not-allowed-permanent":`Microphone access is blocked. Allow microphone access in system or browser settings, then try again.`,"audio-capture":`No microphone detected. Connect a microphone and try again.`,network:`Speech recognition couldn’t reach its service. Check your network and try again.`,aborted:`Recording was interrupted. Try again.`,"stt-not-configured":`Speech-to-text isn’t set up for this assistant. Open Settings → Voice to choose a provider.`,"stt-audio-rejected":`We couldn’t transcribe that recording. Try recording again or speaking more clearly.`,"stt-rate-limited":`Too many transcription requests. Please wait a moment and try again.`,"stt-auth-failed":`The speech-to-text provider rejected the assistant’s credentials. Update the API key in Settings → Voice.`,"stt-provider-error":`The speech-to-text provider is having trouble right now. Try again in a moment.`,"stt-unavailable":`Speech-to-text is temporarily unavailable. Try again in a moment.`,"stt-timeout":`Transcription took too long. Try a shorter recording.`,"native-stt-no-transcript":`macOS dictation didn’t return a transcript. Make sure Dictation is turned on in System Settings → Keyboard → Dictation, then try again.`,"dictation-automation-denied":`Dictation needs Automation permission to paste into other apps.`,"dictation-paste-blocked":`This app doesn't accept dictation; copy and paste manually.`};function v(e){return _[e]??`Voice input failed (${e}). Try again or type your message.`}var y=new Set([`not-allowed`,`service-not-allowed`]);function b(e){return e!==null&&y.has(e)}function x(e){return e===`not-allowed-permanent`}function S(e){return e===`dictation-automation-denied`}var C=new Set([`heartbeat`,`task`,`auto-analysis`]);function w(e){return e.source!==void 0&&C.has(e.source)}function T(e,t,n,r){let i=e[t],a=i.toolCalls[n],o=[...e];return o[t]=l(i,e=>e.id===a.id?{...e,pendingConfirmation:r}:e),{updatedMessages:o,attachedToolCallId:a.id}}function E(e,n){let{toolUseId:r,...i}=n,a=i;if(r)for(let t=e.length-1;t>=0;t--){let n=e[t];if(!n?.toolCalls?.length)continue;let i=n.toolCalls.findIndex(e=>e.id===r);if(i!==-1)return T(e,t,i,a)}for(let n=e.length-1;n>=0;n--){let r=e[n];if(!(r?.role!==`assistant`||!r.toolCalls?.length)){for(let i=r.toolCalls.length-1;i>=0;i--){let o=r.toolCalls[i];if(o&&t(o))return T(e,n,i,a)}break}}return{updatedMessages:e,attachedToolCallId:void 0}}function D(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n?.toolCalls?.length)for(let e=n.toolCalls.length-1;e>=0;e--){let t=n.toolCalls[e];if(t?.pendingConfirmation)return{...t.pendingConfirmation,toolUseId:t.id}}}return null}function O(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n?.toolCalls?.length)for(let e=n.toolCalls.length-1;e>=0;e--){let t=n.toolCalls[e];if(t?.pendingQuestion)return{requestId:t.pendingQuestion.requestId,entries:t.pendingQuestion.entries,toolUseId:t.id}}}return null}function k(e,t){if(!e)return t;for(let t of[`command`,`cmd`,`path`,`file`,`url`]){let n=e[t];if(typeof n==`string`&&n.trim())return n.trim()}for(let t of Object.values(e))if(typeof t==`string`&&t.trim())return t.trim();try{let t=JSON.stringify(e);return t.length>120?t.slice(0,117)+`...`:t}catch{return t}}function A(e){return{toolName:e.name,riskLevel:e.riskLevel,riskReason:e.riskReason,input:e.input??{},allowlistOptions:e.riskAllowlistOptions??[],scopeOptions:e.scopeOptions??[],directoryScopeOptions:e.riskDirectoryScopeOptions??[],matchedTrustRuleId:e.matchedTrustRuleId}}var j=60,M=24,N=6e4;function P(e){let t=Math.floor((Date.now()-e)/N);if(t<1)return`just now`;if(t<j)return`${t}m ago`;let n=Math.floor(t/j);return n<M?`${n}h ago`:`${Math.floor(n/M)}d ago`}export{r as C,s as S,e as T,A as _,O as a,c as b,m as c,f as d,b as f,w as g,g as h,D as i,h as l,S as m,E as n,P as o,x as p,k as r,v as s,u as t,p as u,l as v,t as w,a as x,i as y};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/native-file-DI99Emal.js","assets/chunk-jRWAZmH_.js","assets/preload-helper-BewR0kVT.js","assets/dist-DS5iJwBJ2.js","assets/pdf-C3Qukw-J.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-Dhiismgm.js";import{t as n}from"./react-DJZBPgpf.js";import{F as r,t as i}from"./button-amTXFI-2.js";import{t as a}from"./preload-helper-BewR0kVT.js";import{t as o}from"./useQuery-B45lW1Kk.js";import{t as s}from"./jsx-runtime-CVSDxk6A.js";import{t as c}from"./typography-D5f7kt80.js";import{t as l}from"./chevron-left-BMF1xNfR.js";import{t as u}from"./chevron-right-DqqmezXC.js";import{t as d}from"./download-CAuK-nZ6.js";import{t as f}from"./file-DsyJLS2u.js";import{t as p}from"./loader-circle-Cz7opInR.js";import{t as m}from"./x-CkSVp1Ok.js";import{a as h,m as g}from"./src-zsLiFPw3.js";import{n as _,t as v}from"./file-markdown-Bq97tNxs.js";import{l as y}from"./sdk.gen-BwnFjFcp.js";import{t as b}from"./dist-DS5iJwBJ2.js";import{t as x}from"./browser-C6a_nhhZ.js";import{t as S}from"./haptics-lMERs7us.js";import{t as C}from"./edge-swipe-arbiter-store-BeOhrE7M.js";var w=e(n(),1),ee=e(r(),1),T=s(),E=`width=500,height=600`;function D(e){if(!e)return null;let t;try{let n=typeof window>`u`?`http://localhost`:window.location.origin;t=new URL(e,n)}catch{return null}return t.protocol!==`https:`&&t.protocol!==`http:`?null:t}function O(e){let t=D(e);if(!t)return!1;let n=t.pathname.toLowerCase();return t.searchParams.get(`response_type`)===`code`&&t.searchParams.has(`client_id`)&&t.searchParams.has(`redirect_uri`)||t.searchParams.has(`client_id`)&&t.searchParams.has(`redirect_uri`)&&/oauth|authorize|auth/.test(n)}function k(e){if(typeof window>`u`)return null;let t=D(e);return!t||t.origin!==window.location.origin?null:`${t.pathname}${t.search}${t.hash}`}function A(e){return D(e)?.href??null}function j(e){if(!O(e))return!1;if(b.isNativePlatform()){let t=A(e);return t?(x(t),!0):!1}let t=window.open(e,`_blank`,E);return t===null?!1:(t.focus(),!0)}function M(e){return j(e)}function N(e){if(j(e))return!0;let t=window.open(e,`_blank`);return t===null?!1:(t.focus(),!0)}function P(e,t){let n=k(e);if(n)return t.push(n),{kind:`routed`};let r=A(e);return r?t.isNative?(x(r),{kind:`opened`}):N(r)?{kind:`opened`}:{kind:`blocked`,url:r}:{kind:`invalid`}}async function F(e,t){if(!t||t.startsWith(`rehydrated:`))return null;try{let{data:n,error:r}=await y({path:{assistant_id:e,id:t},parseAs:`blob`,throwOnError:!1});return!r&&n instanceof Blob?n:null}catch{return null}}async function I(e,t){let{saveFile:n}=await a(async()=>{let{saveFile:e}=await import(`./native-file-DI99Emal.js`).then(e=>e.t);return{saveFile:e}},__vite__mapDeps([0,1,2,3]));if(t){let r=await F(t,e.id);if(r){await n(r,e.filename);return}}e.previewUrl&&await n(e.previewUrl,e.filename)}function L(e){if(!Number.isFinite(e)||e<=0)return`0 B`;let t=[`B`,`KB`,`MB`,`GB`],n=e,r=0;for(;n>=1024&&r<t.length-1;)n/=1024,r+=1;return`${n>=10||r===0?Math.round(n).toString():n.toFixed(1)} ${t[r]}`}function R(e,t){let n=(e||``).toLowerCase(),r=t.split(`.`).pop()?.toLowerCase()??``;return n.startsWith(`image/`)?`image`:n.startsWith(`video/`)?`video`:n.startsWith(`audio/`)?`audio`:n===`application/pdf`||r===`pdf`?`pdf`:n===`application/zip`||n===`application/x-tar`||n===`application/gzip`||[`zip`,`tar`,`gz`,`tgz`,`rar`,`7z`].includes(r)?`archive`:n===`text/csv`||n===`application/vnd.ms-excel`||n===`application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`||[`csv`,`xlsx`,`xls`,`numbers`].includes(r)?`spreadsheet`:`ts.tsx.js.jsx.py.rb.go.rs.java.kt.swift.c.cc.cpp.h.hpp.sh.bash.zsh.html.css.scss.json.yaml.yml.toml.xml`.split(`.`).includes(r)?`code`:n===`application/msword`||n===`application/vnd.openxmlformats-officedocument.wordprocessingml.document`||[`doc`,`docx`,`pages`].includes(r)?`document`:n.startsWith(`text/`)||[`txt`,`md`,`rtf`].includes(r)?`text`:`file`}function z(e){let t=e.replace(/\s/g,``),n=t.endsWith(`==`)?2:+!!t.endsWith(`=`);return Math.max(0,Math.floor(t.length*3/4)-n)}function B(e){let t=e.match(/;base64,(.*)$/);if(!t?.[1])return null;let n=atob(t[1]),r=new Uint8Array(n.length);for(let e=0;e<n.length;e++)r[e]=n.charCodeAt(e);return r}function V(e,t=28){if(e.length<=t)return e;let n=Math.max(4,Math.floor((t-1)/2));return`${e.slice(0,n)}…${e.slice(e.length-n)}`}var H=1.5,te=20,ne=!1;async function U(){let e=await a(()=>import(`./pdf-C3Qukw-J.js`),__vite__mapDeps([4,2]));return ne||=(e.GlobalWorkerOptions.workerSrc=`https://cdn.jsdelivr.net/npm/pdfjs-dist@${e.version}/legacy/build/pdf.worker.min.mjs`,!0),e}function re({url:e,className:t}){let n=(0,w.useRef)(null),[r,i]=(0,w.useState)(null),[a,o]=(0,w.useState)(0),[s,c]=(0,w.useState)(!0),[l,u]=(0,w.useState)(null),d=(0,w.useRef)(new Map),f=(0,w.useRef)(new Set);(0,w.useEffect)(()=>{let t=!1;async function n(){c(!0),u(null),i(null),o(0),f.current.clear();try{let n=await U(),r;if(e.startsWith(`data:`)){let t=B(e);r=t?{data:t}:e}else r=e;let a=await n.getDocument(r).promise;if(t){a.destroy();return}i(a),o(Math.min(a.numPages,te))}catch{t||u(`Failed to load PDF.`)}finally{t||c(!1)}}return n(),()=>{t=!0}},[e]),(0,w.useEffect)(()=>()=>{r&&r.destroy()},[r]);let m=(0,w.useCallback)(async e=>{if(!r||f.current.has(e))return;let t=d.current.get(e);if(t){f.current.add(e);try{let n=await r.getPage(e),i=n.getViewport({scale:H});t.width=i.width,t.height=i.height,await n.render({canvas:t,viewport:i}).promise}catch{f.current.delete(e)}}},[r]);(0,w.useEffect)(()=>{if(!r||a===0)return;let e=new IntersectionObserver(e=>{for(let t of e){if(!t.isIntersecting)continue;let e=Number(t.target.dataset.page);e&&m(e)}},{root:n.current,rootMargin:`200px`});return d.current.forEach(t=>e.observe(t)),()=>e.disconnect()},[r,a,m]);let h=(0,w.useCallback)(e=>t=>{t?d.current.set(e,t):d.current.delete(e)},[]);return s?(0,T.jsx)(`div`,{className:`flex items-center justify-center py-24`,children:(0,T.jsx)(p,{className:`h-8 w-8 animate-spin text-white/70`})}):l?(0,T.jsx)(`div`,{className:`w-full max-w-sm rounded-lg border border-white/15 bg-white/[0.08] p-8 text-center`,children:(0,T.jsx)(`p`,{className:`text-body-medium-lighter text-white/80`,children:l})}):(0,T.jsx)(`div`,{ref:n,className:`flex max-h-[80vh] flex-col items-center gap-2 overflow-y-auto rounded ${t??``}`,children:Array.from({length:a},(e,t)=>(0,T.jsx)(`canvas`,{ref:h(t+1),"data-page":t+1,className:`w-[90vw] max-w-[800px]`,style:{height:`auto`}},t+1))})}function W({message:e,filename:t,onDownload:n,downloadDisabled:r=!1}){return(0,T.jsxs)(`div`,{className:`w-full max-w-sm rounded-lg border border-white/15 bg-white/[0.08] p-8 text-center`,children:[(0,T.jsx)(`p`,{className:`text-body-medium-lighter text-white/80`,children:e}),(0,T.jsx)(i,{variant:`ghost`,leftIcon:(0,T.jsx)(d,{}),onClick:n,disabled:r,"aria-label":`Download ${t}`,className:`mt-4 text-white/70 hover:bg-white/10 hover:text-white max-md:bg-transparent`,tintColor:`currentColor`,children:`Download`})]})}var G=class extends Error{};async function K(e,t,n){if(t>204800)throw new G;if(e.startsWith(`data:`)){let t=B(e);if(!t)throw Error(`Malformed data URI`);return new TextDecoder().decode(t)}let r=await fetch(e,{signal:n});if(!r.ok)throw Error(`Failed to load file: ${r.status}`);let i=await r.blob();if(i.size>204800)throw new G;return i.text()}function ie({url:e,filename:n,mimeType:r,sizeBytes:i}){let[o,s]=(0,w.useState)({status:`loading`});return(0,w.useEffect)(()=>{let n=new AbortController;return s({status:`loading`}),K(e,i,n.signal).then(e=>{n.signal.aborted||s({status:`ready`,text:e})}).catch(e=>{if(n.signal.aborted)return;let r=e instanceof G;r||t(e,{context:`attachment-text-preview`,bestEffort:!0}),s({status:`error`,tooLarge:r})}),()=>n.abort()},[e,i]),o.status===`loading`?(0,T.jsx)(`div`,{className:`flex items-center justify-center py-24`,children:(0,T.jsx)(p,{className:`h-8 w-8 animate-spin text-white/70`})}):o.status===`error`?(0,T.jsx)(W,{message:o.tooLarge?`File too large to preview inline.`:`Failed to load preview.`,filename:n,onDownload:async()=>{let{saveFile:t}=await a(async()=>{let{saveFile:e}=await import(`./native-file-DI99Emal.js`).then(e=>e.t);return{saveFile:e}},__vite__mapDeps([0,1,2,3]));await t(e,n)}}):(0,T.jsx)(`div`,{className:`max-h-[80vh] w-[min(90vw,800px)] overflow-auto rounded-lg p-6`,style:{backgroundColor:`var(--surface-overlay)`,color:`var(--content-default)`},children:(0,T.jsx)(q,{text:o.text,filename:n,mimeType:r})})}function q({text:e,filename:t,mimeType:n}){return _(t,n)?(0,T.jsx)(v,{content:e}):(0,T.jsx)(`pre`,{className:`whitespace-pre-wrap break-words font-mono text-body-small-default`,children:e})}var J=60,Y=.8,X=8,Z=.35;function ae({enabled:e,onPrev:t,onNext:n}){let[r,i]=(0,w.useState)(0),[a,o]=(0,w.useState)(!1),s=(0,w.useRef)(null),c=(0,w.useCallback)(()=>{s.current=null,i(0),o(!1)},[]);return{dragOffset:r,isDragging:a,onTouchStart:(0,w.useCallback)(t=>{if(!e)return;if(t.touches.length!==1){c();return}let n=t.touches[0];s.current={touchId:n.identifier,startX:n.clientX,startY:n.clientY,axis:`undecided`,lastDx:0}},[e,c]),onTouchMove:(0,w.useCallback)(e=>{let t=s.current;if(!t)return;if(e.touches.length!==1){c();return}let n=e.touches[0];if(n.identifier!==t.touchId)return;let r=n.clientX-t.startX,a=n.clientY-t.startY;if(t.lastDx=r,t.axis===`undecided`){if(Math.abs(r)<X&&Math.abs(a)<X)return;if(Math.abs(a)>Math.abs(r)*Y){s.current=null;return}t.axis=`horizontal`,o(!0)}if(t.axis!==`horizontal`)return;if(Math.abs(r)<J&&Math.abs(a)>Math.abs(r)*Y){c();return}let l=Math.sign(r),u=Math.abs(r);i(l*(u<=J?u:J+(u-J)*Z))},[c]),onTouchEnd:(0,w.useCallback)(e=>{let r=s.current;if(!r||r.axis!==`horizontal`){c();return}if(e.touches.length>0){c();return}let i=Array.from(e.changedTouches).find(e=>e.identifier===r.touchId),a=i?i.clientX-r.startX:r.lastDx;a<=-J?(S.light(),n()):a>=J&&(S.light(),t()),c()},[n,t,c]),onTouchCancel:c}}var oe=new Set([`ts`,`tsx`,`js`,`jsx`,`py`,`json`,`md`,`sh`,`bash`,`html`,`css`,`yaml`,`yml`,`txt`]),se=new Set([`application/json`,`application/javascript`,`application/xml`]),ce=e=>{let t=e.lastIndexOf(`.`);return t===-1||t===e.length-1?``:e.slice(t+1).toLowerCase()},Q=({open:e,onClose:t,attachment:n,assistantId:r,siblingAttachments:s,onNavigate:h})=>{let g=(0,w.useRef)(null);(0,w.useEffect)(()=>{e&&g.current?.focus()},[e]);let _=C.use.registerBackOwner(),v=C.use.unregisterBackOwner();(0,w.useEffect)(()=>{if(e)return _(),()=>v()},[e,_,v]);let y=!n.previewUrl&&n.id.startsWith(`rehydrated:`),b=e&&!n.previewUrl&&!!r&&!!n.id&&!y,{data:x,isError:S}=o({queryKey:[`attachmentContent`,r,n.id],queryFn:async()=>{let e=await F(r,n.id);if(!e)throw Error(`Failed to load file`);return e},enabled:b,staleTime:1/0,retry:!1}),[E,D]=(0,w.useState)(null);(0,w.useEffect)(()=>{if(!x){D(null);return}let e=URL.createObjectURL(x);return D(e),()=>{URL.revokeObjectURL(e),D(null)}},[x]);let O=n.previewUrl??E,[k,A]=(0,w.useState)(null),j=b&&!E&&!S,M=y?`Preview unavailable — file content was not preserved in chat history.`:S?`Failed to load preview.`:null,N=(0,w.useMemo)(()=>!s||s.length<=1?-1:s.findIndex(e=>e.id===n.id),[s,n.id]),P=N!==-1&&s!=null&&s.length>1,I=(0,w.useCallback)(()=>{!P||!s||!h||h(s[(N-1+s.length)%s.length])},[P,s,N,h]),R=(0,w.useCallback)(()=>{!P||!s||!h||h(s[(N+1)%s.length])},[P,s,N,h]),{dragOffset:z,isDragging:B,onTouchStart:V,onTouchMove:H,onTouchEnd:te,onTouchCancel:ne}=ae({enabled:P,onPrev:I,onNext:R}),U=(0,w.useCallback)(e=>{e.key===`Escape`?(e.preventDefault(),t()):e.key===`ArrowLeft`&&P?(e.preventDefault(),I()):e.key===`ArrowRight`&&P&&(e.preventDefault(),R())},[t,I,R,P]),G=(0,w.useCallback)(e=>{e.target===g.current&&t()},[t]),K=(0,w.useCallback)(async()=>{if(!O)return;let{saveFile:e}=await a(async()=>{let{saveFile:e}=await import(`./native-file-DI99Emal.js`).then(e=>e.t);return{saveFile:e}},__vite__mapDeps([0,1,2,3]));await e(O,n.filename)},[O,n.filename]);if(!e)return null;let q=n.mimeType.toLowerCase(),J=q.startsWith(`image/`),Y=q.startsWith(`video/`),X=q===`application/pdf`||q===`application/octet-stream`&&n.filename.toLowerCase().endsWith(`.pdf`),Z=ce(n.filename),Q=q.startsWith(`text/`)||se.has(q)||oe.has(Z);return(0,ee.createPortal)((0,T.jsxs)(`div`,{ref:g,role:`dialog`,"aria-modal":`true`,"aria-label":`Preview of ${n.filename}`,tabIndex:-1,className:`fixed inset-0 z-50 flex flex-col items-center justify-center bg-black/80 outline-none [-webkit-app-region:no-drag]`,style:{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))`,paddingRight:`var(--safe-area-inset-right, env(safe-area-inset-right, 0px))`},onKeyDown:U,onClick:G,children:[(0,T.jsxs)(`div`,{className:`absolute inset-x-0 top-0 z-10 flex items-center gap-3 px-4`,style:{paddingTop:`calc(var(--safe-area-inset-top, env(safe-area-inset-top, 0px)) + 1rem)`},children:[(0,T.jsx)(c,{variant:`body-small-default`,className:`w-11 shrink-0 truncate text-white/50`,children:L(n.sizeBytes)}),(0,T.jsx)(c,{as:`div`,variant:`body-medium-lighter`,className:`min-w-0 flex-1 truncate text-center text-white/90`,children:n.filename}),(0,T.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[(0,T.jsx)(i,{variant:`ghost`,iconOnly:(0,T.jsx)(d,{}),expandOnMobile:!1,onClick:K,disabled:!O,"aria-label":`Download ${n.filename}`,className:`h-11 w-11 rounded-full bg-white/10 text-white/70 hover:bg-white/20 hover:text-white`,tintColor:`currentColor`}),(0,T.jsx)(i,{variant:`ghost`,iconOnly:(0,T.jsx)(m,{}),expandOnMobile:!1,onClick:t,"aria-label":`Close preview`,className:`h-11 w-11 rounded-full bg-white/10 text-white/70 hover:bg-white/20 hover:text-white`,tintColor:`currentColor`})]})]}),P&&(0,T.jsxs)(`div`,{className:`pointer-events-none absolute inset-x-0 top-1/2 z-10 flex -translate-y-1/2 items-center justify-between px-4`,children:[(0,T.jsx)(i,{variant:`ghost`,iconOnly:(0,T.jsx)(l,{}),expandOnMobile:!1,onClick:I,"aria-label":`Previous attachment`,className:`pointer-events-auto h-11 w-11 rounded-full bg-white/10 text-white/70 hover:bg-white/20 hover:text-white`,tintColor:`currentColor`}),(0,T.jsx)(i,{variant:`ghost`,iconOnly:(0,T.jsx)(u,{}),expandOnMobile:!1,onClick:R,"aria-label":`Next attachment`,className:`pointer-events-auto h-11 w-11 rounded-full bg-white/10 text-white/70 hover:bg-white/20 hover:text-white`,tintColor:`currentColor`})]}),(0,T.jsx)(`div`,{className:`flex items-center justify-center`,style:{transform:`translateX(${z}px)`,transition:B?`none`:`transform 200ms ease-out`,touchAction:`pan-y`},onClick:e=>e.stopPropagation(),onTouchStart:V,onTouchMove:H,onTouchEnd:te,onTouchCancel:ne,children:j?(0,T.jsx)(`div`,{className:`flex items-center justify-center py-24`,children:(0,T.jsx)(p,{className:`h-8 w-8 animate-spin text-white/70`})}):M?(0,T.jsx)(W,{message:M,filename:n.filename,onDownload:K,downloadDisabled:!O}):X&&O?(0,T.jsx)(re,{url:O}):J&&O&&k!==O?(0,T.jsx)(`img`,{src:O,alt:n.filename,onError:()=>A(O),className:`max-h-[80vh] max-w-[90vw] rounded object-contain`}):Y&&O?(0,T.jsx)(`video`,{"data-testid":`video-preview`,src:O,poster:n.thumbnailUrl??void 0,controls:!0,className:`max-h-[80vh] max-w-[90vw] rounded`}):Q&&O?(0,T.jsx)(ie,{url:O,filename:n.filename,mimeType:n.mimeType,sizeBytes:n.sizeBytes}):(0,T.jsxs)(`div`,{className:`flex w-full max-w-sm flex-col items-center rounded-lg border border-white/15 bg-white/[0.08] p-8 text-center`,children:[(0,T.jsx)(f,{className:`h-16 w-16 text-white/60`}),(0,T.jsx)(`p`,{className:`mt-4 text-body-medium-default text-white/90`,children:n.filename}),(0,T.jsx)(`p`,{className:`mt-1 text-body-small-default text-white/60`,children:L(n.sizeBytes)}),(0,T.jsx)(i,{variant:`ghost`,leftIcon:(0,T.jsx)(d,{}),onClick:K,disabled:!O,"aria-label":`Download ${n.filename}`,className:`mt-4 text-white/70 hover:bg-white/10 hover:text-white max-md:bg-transparent`,tintColor:`currentColor`,children:`Download`})]})}),P&&(0,T.jsx)(`div`,{className:`absolute inset-x-0 bottom-0 z-10 flex justify-center`,style:{paddingBottom:`calc(var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px)) + 2rem)`},onClick:e=>e.stopPropagation(),children:(0,T.jsxs)(c,{variant:`body-small-default`,className:`text-white/50`,children:[N+1,` / `,s.length]})})]}),document.body)};function le(e,t){let[n,r]=(0,w.useState)(null),i=(0,w.useCallback)(e=>r(e),[]),a=(0,w.useCallback)(()=>r(null),[]),o=(0,w.useCallback)(e=>r(e),[]);return{openPreview:i,previewModal:n?(0,T.jsx)(Q,{open:!0,onClose:a,attachment:n,assistantId:e,siblingAttachments:t,onNavigate:o}):null}}function $(e){return e!=null&&(e.startsWith(`vellum://workspace/`)||e.startsWith(`vellum://host/`))}function ue(e){return e.startsWith(`vellum://workspace/`)||e.startsWith(`vellum://host/`)?e:g(e)}function de({href:e,children:t}){return(0,T.jsx)(`a`,{href:e,target:`_blank`,rel:O(e)?void 0:`noopener noreferrer`,onClick:t=>{M(e)&&t.preventDefault()},className:`text-[var(--system-positive-strong)] underline hover:opacity-80`,children:t})}var fe=`my-2 max-w-full max-h-[400px] rounded-lg border border-[var(--border-default)] object-contain`;function pe({alt:e}){return(0,T.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded bg-[var(--surface-sunken)] px-1.5 py-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:[`Image failed to load`,e?` (${e})`:``]})}function me({src:e,alt:t}){let[n,r]=(0,w.useState)(!1);return n?(0,T.jsx)(pe,{alt:t}):(0,T.jsx)(`img`,{src:e,alt:t,onError:()=>r(!0),className:fe})}function he(e){try{return decodeURIComponent(e)}catch{return e}}function ge({src:e,alt:n,attachments:r,assistantId:i,onOpenPreview:a}){let[o,s]=(0,w.useState)(null),[c,l]=(0,w.useState)(!1),u=he(e.split(`/`).pop()??``),d=r?.find(e=>e.filename===u);if((0,w.useEffect)(()=>{if(!d||!i||d.id.startsWith(`rehydrated:`))return;let e=!1;return(async()=>{try{let{data:t,error:n}=await y({path:{assistant_id:i,id:d.id},parseAs:`blob`,throwOnError:!1});if(e)return;if(n||!(t instanceof Blob)){l(!0);return}s(URL.createObjectURL(t))}catch(n){e||(l(!0),t(n,{context:`WorkspaceInlineImage`,bestEffort:!0}))}})(),()=>{e=!0,s(e=>(e&&URL.revokeObjectURL(e),null))}},[d,i]),c||!d&&!o)return(0,T.jsx)(pe,{alt:n||u});if(!o)return(0,T.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded bg-[var(--surface-sunken)] px-1.5 py-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:[`Loading image…`,n?` (${n})`:``]});let f=(0,T.jsx)(`img`,{src:o,alt:n,className:fe});return!d||!a?f:(0,T.jsx)(`button`,{type:`button`,onClick:()=>a(d),className:`cursor-zoom-in appearance-none border-0 bg-transparent p-0`,"aria-label":n?`Expand image: ${n}`:`Expand image`,children:f})}var _e=(0,w.memo)(function({content:e,className:t,hardLineBreaks:n,onVellumLinkClick:r,attachments:i,assistantId:a}){let{openPreview:o,previewModal:s}=le(a,i);return(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(h,{content:e,className:t,hardLineBreaks:n,linkComponent:(0,w.useCallback)(({href:e,children:t})=>r&&$(e)?(0,T.jsx)(`a`,{href:e,onClick:t=>{t.preventDefault(),e&&r(e,t.currentTarget.textContent??``)},className:`text-[var(--system-positive-strong)] underline hover:opacity-80 cursor-pointer`,children:t}):(0,T.jsx)(de,{href:e,children:t}),[r]),imageComponent:(0,w.useMemo)(()=>({src:e,alt:t})=>$(e)?(0,T.jsx)(ge,{src:e,alt:t,attachments:i,assistantId:a,onOpenPreview:o}):(0,T.jsx)(me,{src:e,alt:t}),[i,a,o]),urlTransform:ue}),s]})});export{z as a,I as c,N as d,R as i,F as l,le as n,L as o,Q as r,V as s,_e as t,P as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./createLucideIcon-IRfcSUxS.js";var t=e(`check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]);export{t};
|
|
@@ -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"./typography-D5f7kt80.js";import{t as o}from"./createLucideIcon-IRfcSUxS.js";import{t as s}from"./check-DFNrQERi.js";import{a as c,i as l,o as u,r as d,s as f,t as p}from"./dist-BItmZQO6.js";var m=o(`minus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}]]),h=e(t(),1);function g(e){let t=h.useRef({value:e,previous:e});return h.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}function _(e){let[t,n]=h.useState(void 0);return c(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{if(!Array.isArray(t)||!t.length)return;let r=t[0],i,a;if(`borderBoxSize`in r){let e=r.borderBoxSize,t=Array.isArray(e)?e[0]:e;i=t.inlineSize,a=t.blockSize}else i=e.offsetWidth,a=e.offsetHeight;n({width:i,height:a})});return t.observe(e,{box:`border-box`}),()=>t.unobserve(e)}else n(void 0)},[e]),t}var v=n(),y=`Checkbox`,[b,x]=f(y),[S,C]=b(y);function w(e){let{__scopeCheckbox:t,checked:n,children:r,defaultChecked:i,disabled:a,form:o,name:s,onCheckedChange:c,required:u,value:d=`on`,internal_do_not_use_render:f}=e,[p,m]=l({prop:n,defaultProp:i??!1,onChange:c,caller:y}),[g,_]=h.useState(null),[b,x]=h.useState(null),C=h.useRef(!1),w=g?!!o||!!g.closest(`form`):!0,T={checked:p,disabled:a,setChecked:m,control:g,setControl:_,name:s,form:o,value:d,hasConsumerStoppedPropagationRef:C,required:u,defaultChecked:N(i)?!1:i,isFormControl:w,bubbleInput:b,setBubbleInput:x};return(0,v.jsx)(S,{scope:t,...T,children:M(f)?f(T):r})}var T=`CheckboxTrigger`,E=h.forwardRef(({__scopeCheckbox:e,onKeyDown:t,onClick:n,...i},a)=>{let{control:o,value:s,disabled:c,checked:l,required:d,setControl:f,setChecked:m,hasConsumerStoppedPropagationRef:g,isFormControl:_,bubbleInput:y}=C(T,e),b=r(a,f),x=h.useRef(l);return h.useEffect(()=>{let e=o?.form;if(e){let t=()=>m(x.current);return e.addEventListener(`reset`,t),()=>e.removeEventListener(`reset`,t)}},[o,m]),(0,v.jsx)(p.button,{type:`button`,role:`checkbox`,"aria-checked":N(l)?`mixed`:l,"aria-required":d,"data-state":P(l),"data-disabled":c?``:void 0,disabled:c,value:s,...i,ref:b,onKeyDown:u(t,e=>{e.key===`Enter`&&e.preventDefault()}),onClick:u(n,e=>{m(e=>N(e)?!0:!e),y&&_&&(g.current=e.isPropagationStopped(),g.current||e.stopPropagation())})})});E.displayName=T;var D=h.forwardRef((e,t)=>{let{__scopeCheckbox:n,name:r,checked:i,defaultChecked:a,required:o,disabled:s,value:c,onCheckedChange:l,form:u,...d}=e;return(0,v.jsx)(w,{__scopeCheckbox:n,checked:i,defaultChecked:a,disabled:s,required:o,onCheckedChange:l,name:r,form:u,value:c,internal_do_not_use_render:({isFormControl:e})=>(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(E,{...d,ref:t,__scopeCheckbox:n}),e&&(0,v.jsx)(j,{__scopeCheckbox:n})]})})});D.displayName=y;var O=`CheckboxIndicator`,k=h.forwardRef((e,t)=>{let{__scopeCheckbox:n,forceMount:r,...i}=e,a=C(O,n);return(0,v.jsx)(d,{present:r||N(a.checked)||a.checked===!0,children:(0,v.jsx)(p.span,{"data-state":P(a.checked),"data-disabled":a.disabled?``:void 0,...i,ref:t,style:{pointerEvents:`none`,...e.style}})})});k.displayName=O;var A=`CheckboxBubbleInput`,j=h.forwardRef(({__scopeCheckbox:e,...t},n)=>{let{control:i,hasConsumerStoppedPropagationRef:a,checked:o,defaultChecked:s,required:c,disabled:l,name:u,value:d,form:f,bubbleInput:m,setBubbleInput:y}=C(A,e),b=r(n,y),x=g(o),S=_(i);h.useEffect(()=>{let e=m;if(!e)return;let t=window.HTMLInputElement.prototype,n=Object.getOwnPropertyDescriptor(t,`checked`).set,r=!a.current;if(x!==o&&n){let t=new Event(`click`,{bubbles:r});e.indeterminate=N(o),n.call(e,N(o)?!1:o),e.dispatchEvent(t)}},[m,x,o,a]);let w=h.useRef(N(o)?!1:o);return(0,v.jsx)(p.input,{type:`checkbox`,"aria-hidden":!0,defaultChecked:s??w.current,required:c,disabled:l,name:u,value:d,form:f,...t,tabIndex:-1,ref:b,style:{...t.style,...S,position:`absolute`,pointerEvents:`none`,opacity:0,margin:0,transform:`translateX(-100%)`}})});j.displayName=A;function M(e){return typeof e==`function`}function N(e){return e===`indeterminate`}function P(e){return N(e)?`indeterminate`:e?`checked`:`unchecked`}function F({checked:e,onCheckedChange:t,label:n,helperText:r,disabled:o=!1,id:c,name:l,className:u,ref:d,"aria-label":f,...p}){let g=(0,h.useId)(),_=c??g,y=n?`${_}-label`:void 0,b=r?`${_}-helper`:void 0,x=e===`indeterminate`,S=i(`inline-flex h-4 w-4 shrink-0 items-center justify-center rounded-[4px]`,`border transition-colors outline-none cursor-pointer`,`keyboard-focus:ring-2 keyboard-focus:ring-[var(--ring)] keyboard-focus:ring-offset-0`,`bg-[var(--surface-lift)] border-[var(--border-base)]`,`data-[state=checked]:bg-[var(--system-positive-strong)] data-[state=checked]:border-transparent`,`data-[state=indeterminate]:bg-[var(--system-positive-strong)] data-[state=indeterminate]:border-transparent`,`disabled:cursor-not-allowed disabled:bg-[var(--surface-overlay)]`,`disabled:data-[state=checked]:bg-[var(--surface-overlay)]`,`disabled:data-[state=indeterminate]:bg-[var(--surface-overlay)]`,`disabled:border-[var(--border-base)]`),C=i(`h-3 w-3`,o?`text-[color:var(--content-disabled)]`:`text-[color:var(--aux-white)]`),w=(0,v.jsx)(D,{...p,ref:d,id:_,name:l,checked:e,disabled:o,onCheckedChange:t,"aria-label":n?void 0:f,"aria-labelledby":n?y:void 0,"aria-describedby":b,"data-slot":`checkbox`,className:S,children:(0,v.jsx)(k,{forceMount:!0,className:`flex items-center justify-center`,children:x?(0,v.jsx)(m,{className:C,strokeWidth:3,"aria-hidden":`true`}):e===!0?(0,v.jsx)(s,{className:C,strokeWidth:3,"aria-hidden":`true`}):null})});return!n&&!r?(0,v.jsx)(`span`,{"data-slot":`checkbox`,className:u,children:w}):(0,v.jsxs)(`div`,{"data-slot":`checkbox`,className:i(`flex gap-2.5`,r?`items-start`:`items-center`,u),children:[w,(0,v.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-0.5`,children:[n?(0,v.jsx)(a,{as:`label`,variant:`body-medium-default`,id:y,htmlFor:_,className:i(`cursor-pointer select-none`,o?`cursor-not-allowed text-[color:var(--content-disabled)]`:`text-[color:var(--content-default)]`),children:n}):null,r?(0,v.jsx)(`span`,{id:b,className:`text-body-small-default text-[color:var(--content-secondary)]`,children:r}):null]})]})}export{F as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./createLucideIcon-IRfcSUxS.js";var t=e(`chevron-left`,[[`path`,{d:`m15 18-6-6 6-6`,key:`1wnfg3`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./createLucideIcon-IRfcSUxS.js";var t=e(`chevron-right`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./createLucideIcon-IRfcSUxS.js";var t=e(`circle-check`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]);export{t};
|
|
@@ -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{n as r,t as i}from"./bundle-mjs-BZt35okJ.js";var a=e(t(),1);function o(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function s(...e){return t=>{let n=!1,r=e.map(e=>{let r=o(e,t);return!n&&typeof r==`function`&&(n=!0),r});if(n)return()=>{for(let t=0;t<r.length;t++){let n=r[t];typeof n==`function`?n():o(e[t],null)}}}}function c(...e){return a.useCallback(s(...e),e)}var l=n(),u=Symbol.for(`react.lazy`),d=a.use;function f(e){return typeof e==`object`&&!!e&&`then`in e}function p(e){return typeof e==`object`&&!!e&&`$$typeof`in e&&e.$$typeof===u&&`_payload`in e&&f(e._payload)}function m(e){let t=g(e),n=a.forwardRef((e,n)=>{let{children:r,...i}=e;p(r)&&typeof d==`function`&&(r=d(r._payload));let o=a.Children.toArray(r),s=o.find(b);if(s){let e=s.props.children,r=o.map(t=>t===s?a.Children.count(e)>1?a.Children.only(null):a.isValidElement(e)?e.props.children:null:t);return(0,l.jsx)(t,{...i,ref:n,children:a.isValidElement(e)?a.cloneElement(e,void 0,r):null})}return(0,l.jsx)(t,{...i,ref:n,children:r})});return n.displayName=`${e}.Slot`,n}var h=m(`Slot`);function g(e){let t=a.forwardRef((e,t)=>{let{children:n,...r}=e;if(p(n)&&typeof d==`function`&&(n=d(n._payload)),a.isValidElement(n)){let e=S(n),i=x(r,n.props);return n.type!==a.Fragment&&(i.ref=t?s(t,e):e),a.cloneElement(n,i)}return a.Children.count(n)>1?a.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var _=Symbol(`radix.slottable`);function v(e){let t=({children:e})=>(0,l.jsx)(l.Fragment,{children:e});return t.displayName=`${e}.Slottable`,t.__radixId=_,t}var y=v(`Slottable`);function b(e){return a.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===_}function x(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function S(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var C=i({extend:{classGroups:{"font-size":[{text:[`title-large`,`title-medium`,`title-small`,`body-large-default`,`body-large-lighter`,`body-medium-default`,`body-medium-lighter`,`body-small-default`,`body-small-emphasised`,`label-medium-default`,`label-small-default`,`chat`]}]}}});function w(...e){return C(r(e))}export{c as a,s as i,h as n,y as r,w as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./createLucideIcon-IRfcSUxS.js";var t=e(`code`,[[`path`,{d:`m16 18 6-6-6-6`,key:`eg8j8`}],[`path`,{d:`m8 6-6 6 6 6`,key:`ppft3o`}]]);export{t};
|
|
@@ -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,h as i,r as a,t as o}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{n as s}from"./QueryClientProvider-DKhXIxGb.js";import{t as c}from"./useQuery-B45lW1Kk.js";import{t as l}from"./useMutation-Lj4VunQV.js";import{t as u}from"./jsx-runtime-CVSDxk6A.js";import{t as d}from"./typography-D5f7kt80.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"./link-2-4bMylQ5v.js";import{t as g}from"./loader-circle-Cz7opInR.js";import{t as _}from"./pencil-CUIr0IFo.js";import{t as v}from"./plus-DItfr5ux.js";import{t as y}from"./user-plus-DMh4_UTz.js";import{t as b}from"./tag-CV4v7fRF.js";import{t as x}from"./input-CoUmPnRU.js";import{t as S}from"./modal-D5nLWNN9.js";import{t as C}from"./panel-item-CouW2A55.js";import{n as w}from"./toast-xTp-xwYL.js";import{t as T}from"./confirm-dialog-CSkhRFRk.js";import{C as E}from"./sdk.gen-BwnFjFcp.js";import{Ht as ee,S as D,Vt as te,a as O,b as ne,x as k}from"./react-query.gen-C6wVk6Rw.js";import{t as re}from"./assistant-identity-store-CX03CK8q.js";import{c as ie}from"./routes-BbeIx_F9.js";import{t as ae}from"./assistant-feature-flag-store-DA8Oj9Mf.js";import{Aa as oe,Ai as A,Nt as se,Oa as j,Ta as M,Ui as ce,aa as N,c as le,ki as P,ln as F,qi as I,tr as L,un as R,vr as z,zi as B}from"./index-yu6nDHvG.js";import{t as V}from"./use-active-assistant-id-BWXi63qg.js";import{a as H,d as ue,i as U,n as de,o as fe,r as pe,t as me}from"./use-invite-link-dialog-BdnW1BHj.js";import{t as W}from"./detail-card-xKZlkbz5.js";import{n as he,t as ge}from"./mobile-sidebar-drawer-Epbt6p-k.js";import{t as G}from"./mutation-error-DYv0eJ_i.js";import{a as _e,i as ve,n as ye,t as be}from"./contacts-gateway-CW5CipBv.js";var xe=p(`circle-question-mark`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`,key:`1u773s`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),Se=p(`ellipsis-vertical`,[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`12`,cy:`5`,r:`1`,key:`gxeob9`}],[`circle`,{cx:`12`,cy:`19`,r:`1`,key:`lyex9k`}]]),Ce=p(`git-merge`,[[`circle`,{cx:`18`,cy:`18`,r:`3`,key:`1xkwt0`}],[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`path`,{d:`M6 21V9a9 9 0 0 0 9 9`,key:`7kw0sc`}]]),K=e(t(),1),q=new Set([`slack`]);function J(e){return e.status===`verified`||e.status===`active`&&e.verifiedAt!=null}var Y=u();function X({channels:e,pendingChannelKey:t=null,onConnect:n,onDisconnect:r}){let[i,a]=(0,K.useState)(null);return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`div`,{className:`flex flex-col`,children:e.map((e,i)=>(0,Y.jsxs)(`div`,{children:[i>0?(0,Y.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}):null,(0,Y.jsx)(Z,{channel:e,pending:t===e.key,onConnect:n?()=>n(e.key):void 0,onDisconnect:r?()=>a(e.key):void 0})]},e.key))}),(0,Y.jsx)(T,{open:i!==null,title:`Disconnect ${i?R(i):``}?`,message:`This clears the stored credentials for this channel. You can reconnect later.`,confirmLabel:`Disconnect`,destructive:!0,onConfirm:()=>{i&&r&&r(i),a(null)},onCancel:()=>a(null)})]})}function Z({channel:e,pending:t,onConnect:r,onDisconnect:i}){let a=e.status===`ready`;return(0,Y.jsxs)(`div`,{className:`flex items-center gap-3 py-4`,children:[(0,Y.jsx)(F,{channelId:e.key,className:`h-4 w-4 shrink-0 text-[color:var(--content-secondary)]`}),(0,Y.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:R(e.key)}),a&&e.address?(0,Y.jsx)(`span`,{className:`truncate text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:e.address}):null,(0,Y.jsx)(`div`,{className:`ml-auto flex shrink-0 items-center gap-2`,children:a?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`span`,{className:`inline-flex items-center gap-1 h-8 px-2.5 rounded-md whitespace-nowrap select-none text-body-small-emphasised leading-none bg-[var(--content-default)] text-[var(--surface-base)]`,children:[(0,Y.jsx)(M,{className:`h-3 w-3`}),`Connected`]}),(0,Y.jsx)(n,{variant:`danger`,onClick:i,disabled:!i||t,children:t?`Disconnecting…`:`Disconnect`})]}):(0,Y.jsx)(n,{variant:`outlined`,onClick:r,disabled:!r||t,children:`Connect`})})]})}function Q({role:e,contactType:t}){let{label:n,tone:r}=we(e,t);return(0,Y.jsx)(b,{tone:r,children:n})}function we(e,t){switch(e){case`guardian`:return{label:`Guardian`,tone:`positive`};case`assistant`:return{label:`Assistant`,tone:`negative`};default:return t===`assistant`?{label:`Assistant`,tone:`negative`}:{label:`Human`,tone:`warning`}}}function Te({assistantName:e,...t}){let n=ue(e);return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,Y.jsx)(W,{title:`${n} (Your Assistant)`,accessory:(0,Y.jsx)(Q,{role:`assistant`}),compactAccessory:!0}),(0,Y.jsx)(W,{title:`Channels`,subtitle:`Where ${n} can be reached.`,children:(0,Y.jsx)(X,{...t})})]})}function Ee({provenance:e}){return e.source===`global-default`?(0,Y.jsx)(b,{children:`Global default`}):(0,Y.jsxs)(b,{children:[`Default from`,(0,Y.jsx)(n,{asChild:!0,variant:`link`,size:`compact`,className:`h-auto px-0`,children:(0,Y.jsxs)(o,{to:`${ie.channels}?setup=${e.channel}`,children:[`Channels → `,R(e.channel)]})})]})}var $=new Set([`telegram`,`phone`,`vellum`,`whatsapp`,`slack`,`email`,`platform`,`a2a`]);function De(e){return $.has(e)}function Oe(e,t){return e.id===`a2a`?t&&t.status!==`revoked`?{kind:`connected`}:{kind:`setup`}:t!=null&&J(t)?{kind:`verified`}:t?.status===`blocked`?{kind:`none`}:t&&t.status!==`revoked`?{kind:`unverified`}:{kind:`setup`}}function ke(e,t,n){let r=[],i=new Set;if(e)for(let t of e)t.id===`a2a`&&!n||(r.push(t),i.add(t.id));for(let e of t)e.status===`revoked`||i.has(e.type)||e.type===`a2a`&&!n||De(e.type)&&(r.push({id:e.type,label:e.type.charAt(0).toUpperCase()+e.type.slice(1),subtitle:``,icon:`help-circle`,supportsVerification:!1,setupMessages:{guardian:``,contact:``}}),i.add(e.type));return r}function Ae({name:e,className:t,style:n}){switch(e){case`bot`:return(0,Y.jsx)(j,{className:t,style:n});case`hash`:return(0,Y.jsx)(N,{className:t,style:n});case`send`:return(0,Y.jsx)(P,{className:t,style:n});case`phone`:return(0,Y.jsx)(B,{className:t,style:n});case`mail`:return(0,Y.jsx)(I,{className:t,style:n});case`message-square`:return(0,Y.jsx)(ce,{className:t,style:n});default:return(0,Y.jsx)(xe,{className:t,style:n})}}function je({contactChannels:e,availableChannels:t,a2aEnabled:n,channelProvenance:r,setupLabel:i=`Invite`,verifyLoading:a,verifySubject:o=`self`,onSetupChannel:s,onVerifyChannel:c,onRevokeChannel:l,onLinkAccount:u}){let[d,f]=(0,K.useState)(null),[p,m]=(0,K.useState)(null),h=new Map;for(let t of e)t.status!==`revoked`&&(h.has(t.type)||h.set(t.type,t));return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`div`,{className:`flex flex-col`,children:ke(t,e,n).map((e,t)=>{let n=h.get(e.id);return(0,Y.jsxs)(`div`,{children:[t>0&&(0,Y.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}),(0,Y.jsx)(Me,{info:e,existing:n,provenance:n&&se(e.id)?r?.[e.id]:void 0,setupLabel:i,verifyLoading:a,onSetup:s?()=>s(e.id):void 0,onVerify:c&&e.supportsVerification?()=>f(e):void 0,onRevoke:l&&n?()=>m({channelId:n.id,channel:e}):void 0,onLinkAccount:u&&q.has(e.id)?()=>u(e.id):void 0})]},e.id)})}),d&&(0,Y.jsx)(T,{open:!0,title:`Verify ${d.label}`,message:o===`contact`?`This will mark this contact's ${d.label} channel as verified. Your assistant will recognize them when they reach out from it.`:`This will mark your ${d.label} channel as verified. Your assistant will recognize you when you reach out from it.`,confirmLabel:`Verify`,onConfirm:()=>{d&&(c?.(d.id),f(null))},onCancel:()=>f(null)}),p&&(0,Y.jsx)(T,{open:!0,title:`Revoke ${p.channel.label}`,message:`This will disconnect the verified channel. The contact will need to re-verify to use this channel again.`,confirmLabel:`Revoke`,destructive:!0,onConfirm:()=>{l?.(p.channelId,p.channel.id),m(null)},onCancel:()=>m(null)})]})}function Me({info:e,existing:t,provenance:r,setupLabel:i,verifyLoading:a,onSetup:o,onVerify:s,onRevoke:c,onLinkAccount:l}){let u=Oe(e,t);return(0,Y.jsxs)(`div`,{className:`flex items-center gap-3 py-4`,children:[(0,Y.jsx)(Ae,{name:e.icon,className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),(0,Y.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:e.label}),t?.address?(0,Y.jsx)(`span`,{className:`truncate text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:t.address}):null,(0,Y.jsxs)(`div`,{className:`ml-auto flex shrink-0 items-center gap-2`,children:[r?(0,Y.jsx)(Ee,{provenance:r}):null,u.kind===`connected`?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`span`,{className:`inline-flex items-center gap-1 h-8 px-2.5 rounded-md whitespace-nowrap select-none text-body-small-emphasised leading-none bg-[var(--content-default)] text-[var(--surface-base)]`,children:[(0,Y.jsx)(M,{className:`h-3 w-3`}),`Connected`]}),c?(0,Y.jsx)(n,{variant:`danger`,onClick:c,children:`Revoke`}):null]}):u.kind===`verified`?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`span`,{className:`inline-flex items-center gap-1 h-8 px-2.5 rounded-md whitespace-nowrap select-none text-body-small-emphasised leading-none bg-[var(--content-default)] text-[var(--surface-base)]`,children:[(0,Y.jsx)(M,{className:`h-3 w-3`}),`Verified`]}),c?(0,Y.jsx)(n,{variant:`danger`,onClick:c,children:`Revoke`}):null]}):u.kind===`unverified`?(0,Y.jsx)(n,{variant:`outlined`,onClick:s,disabled:!s||a,children:a?`Verifying…`:`Verify`}):u.kind===`setup`?e.id===`a2a`?null:(0,Y.jsxs)(Y.Fragment,{children:[l?(0,Y.jsxs)(n,{onClick:l,children:[(0,Y.jsx)(h,{className:`h-3.5 w-3.5`}),`Link account`]}):null,(0,Y.jsx)(n,{variant:`outlined`,onClick:o,disabled:!o,children:i})]}):null]})]})}function Ne(e){return(0,Y.jsx)(Pe,{...e},e.contact.id)}function Pe({contact:e,savePending:t,deletePending:r,verifyPending:i,mergePending:a=!1,canMerge:o=!1,availableChannels:s,a2aEnabled:c,channelProvenance:l,onSave:u,onDelete:d,onMerge:f,onSetupChannel:p,onVerifyChannel:m,onRevokeChannel:h,onLinkAccount:g}){let _=e.displayName===`New Contact`,[v,y]=(0,K.useState)(_?``:e.displayName),[b,S]=(0,K.useState)(e.notes??``),[C,w]=(0,K.useState)(!1),E=v.trim(),ee=b.trim(),D=_?``:e.displayName,te=e.notes??``,O=E!==D||ee!==te,ne=E.length>0&&O&&!t&&!r,k=_&&e.channels.length===0&&e.interactionCount===0,re=E||e.displayName,ie=`${e.interactionCount} interaction${e.interactionCount===1?``:`s`}`;return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,Y.jsx)(W,{title:re,accessory:(0,Y.jsx)(Q,{role:e.role,contactType:e.contactType}),compactAccessory:!0,subtitle:ie,children:(0,Y.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,Y.jsx)(x,{label:`Name`,type:`text`,value:v,onChange:e=>y(e.target.value),placeholder:`Give this human a name`,autoFocus:_,disabled:t||r,fullWidth:!0}),(0,Y.jsx)(x,{label:`Notes`,type:`text`,value:b,onChange:e=>S(e.target.value),placeholder:`Optional notes about the human which AI will take into account`,disabled:t||r,fullWidth:!0}),(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Y.jsx)(n,{type:`button`,onClick:()=>u({displayName:E,notes:ee}),disabled:!ne,children:t?`Saving…`:`Save`}),f?(0,Y.jsx)(n,{type:`button`,variant:`outlined`,onClick:f,disabled:!o||k||O||a||t||r,title:o?k?`Save this contact before merging`:O?`Save your changes before merging`:void 0:`No other contacts available to merge`,children:a?`Merging…`:`Merge…`}):null,(0,Y.jsx)(n,{type:`button`,variant:`danger`,onClick:()=>{k?d():w(!0)},disabled:r,children:r?`Deleting…`:`Delete Contact`})]})]})}),(0,Y.jsx)(W,{title:`Linked accounts`,subtitle:`Where the assistant recognizes this contact. Link accounts you know, invite the ones you don't.`,children:(0,Y.jsx)(je,{contactChannels:e.channels,availableChannels:s,a2aEnabled:c,channelProvenance:l,verifyLoading:i,verifySubject:`contact`,onSetupChannel:p,onVerifyChannel:m,onRevokeChannel:h,onLinkAccount:g})}),(0,Y.jsx)(T,{open:C,title:`Delete ${e.displayName}?`,message:`This will permanently delete this contact and all their channels. This action cannot be undone.`,confirmLabel:`Delete`,destructive:!0,onConfirm:()=>{w(!1),d()},onCancel:()=>w(!1)})]})}function Fe(e){return(0,Y.jsx)(Ie,{...e},`${e.survivor.id}:${e.open?`open`:`closed`}`)}function Ie({open:e,survivor:t,candidates:r,pending:i,errorMessage:a,onMerge:o,onClose:s}){let[c,l]=(0,K.useState)(``),[u,f]=(0,K.useState)(null);(0,K.useEffect)(()=>{u&&!r.some(e=>e.id===u)&&f(null)},[r,u]);let p=(0,K.useMemo)(()=>{let e=c.trim().toLowerCase();return e?r.filter(t=>t.displayName.toLowerCase().includes(e)):r},[r,c]),h=u?r.find(e=>e.id===u)??null:null,g=Ve(t);return(0,Y.jsx)(S.Root,{open:e,onOpenChange:e=>{!e&&!i&&s()},children:(0,Y.jsxs)(S.Content,{size:`md`,children:[(0,Y.jsxs)(S.Header,{children:[(0,Y.jsx)(S.Title,{icon:Ce,children:h?`Merge "${h.displayName}" into ${g}?`:`Merge another contact into ${g}`}),(0,Y.jsx)(S.Description,{children:h?`Channels and notes from the merged contact will move over. The merged contact will be deleted.`:`The contact you pick will be deleted. Its channels and notes will be added to this one.`})]}),(0,Y.jsxs)(S.Body,{className:`flex flex-col gap-3`,children:[h?(0,Y.jsx)(ze,{survivor:t,donor:h}):r.length===0?(0,Y.jsx)(Be,{}):(0,Y.jsx)(Le,{search:c,onSearch:l,candidates:p,onPick:f}),a?(0,Y.jsx)(d,{as:`p`,variant:`body-small-default`,className:`text-(--system-negative-strong)`,role:`alert`,children:a}):null]}),(0,Y.jsx)(S.Footer,{children:h?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(n,{variant:`outlined`,onClick:()=>f(null),disabled:i,leftIcon:(0,Y.jsx)(m,{"aria-hidden":!0}),children:`Back`}),(0,Y.jsx)(n,{variant:`danger`,onClick:()=>o(h.id),disabled:i,children:i?`Merging…`:`Merge`})]}):(0,Y.jsx)(n,{variant:`outlined`,onClick:s,disabled:i,children:`Cancel`})})]})})}function Le({search:e,onSearch:t,candidates:n,onPick:r}){return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(x,{type:`text`,value:e,onChange:e=>t(e.target.value),placeholder:`Search contacts`,leftIcon:(0,Y.jsx)(A,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0}),(0,Y.jsx)(`div`,{className:`flex max-h-[320px] min-h-[120px] flex-col gap-1 overflow-y-auto`,role:`listbox`,"aria-label":`Select a contact to merge`,children:n.length===0?(0,Y.jsx)(d,{as:`p`,variant:`body-small-default`,className:`px-3 py-4 text-center text-(--content-tertiary)`,children:`No matching contacts`}):n.map(e=>(0,Y.jsx)(Re,{contact:e,onPick:()=>r(e.id)},e.id))})]})}function Re({contact:e,onPick:t}){let n=Ge(e).join(` | `)||void 0;return(0,Y.jsx)(C,{asChild:!0,label:``,children:(0,Y.jsx)(`button`,{type:`button`,onClick:t,role:`option`,"aria-selected":`false`,className:`flex h-auto w-full items-center gap-2 rounded-[6px] px-[8px] py-2 text-left`,children:(0,Y.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,Y.jsx)(`span`,{className:`truncate text-body-medium-default`,children:e.displayName}),n?(0,Y.jsx)(`span`,{className:`truncate text-body-small-default text-(--content-tertiary)`,children:n}):null]})})})}function ze({survivor:e,donor:t}){let n=Ve(e),{moved:r,duplicates:i}=We(e,t);return(0,Y.jsxs)(`ul`,{className:`flex flex-col gap-2 text-body-medium-lighter text-(--content-secondary)`,children:[(0,Y.jsxs)(`li`,{children:[(0,Y.jsxs)(`span`,{className:`text-(--content-default)`,children:[`“`,t.displayName,`”`]}),` `,`will be deleted.`]}),(0,Y.jsx)(`li`,{children:r.length===0?`No new channels will move to ${n}.`:`${r.length} channel${r.length===1?``:`s`} will move to ${n}: ${r.map(e=>Ue(e.type)).join(`, `)}.`}),i.length>0?(0,Y.jsxs)(`li`,{className:`text-(--content-tertiary)`,children:[i.length,` duplicate channel`,i.length===1?``:`s`,` already on `,n,` `,`(skipped).`]}):null,t.notes?(0,Y.jsx)(`li`,{children:`Notes from the merged contact will be appended.`}):null,(0,Y.jsx)(`li`,{className:`text-(--content-tertiary)`,children:`This cannot be undone.`})]})}function Be(){return(0,Y.jsx)(d,{as:`p`,variant:`body-medium-lighter`,className:`px-3 py-6 text-center text-(--content-tertiary)`,children:`No other contacts available to merge.`})}function Ve(e){return e.role===`guardian`?!e.displayName||e.displayName.startsWith(`vellum-principal-`)?`you`:`${e.displayName} (you)`:e.displayName||`this contact`}var He={slack:`Slack`,telegram:`Telegram`,phone:`Phone`,email:`Email`,whatsapp:`WhatsApp`};function Ue(e){return He[e.toLowerCase()]??e}function We(e,t){let n=[],r=[];for(let i of t.channels)i.status!==`revoked`&&(e.channels.some(e=>e.type===i.type&&e.address.toLowerCase()===i.address.toLowerCase())?r.push(i):n.push(i));return{moved:n,duplicates:r}}function Ge(e){let t=new Set,n=[];for(let r of e.channels){if(r.status===`revoked`)continue;let e=r.type.toLowerCase();t.has(e)||(t.add(e),n.push(He[e]??r.type))}return n}function Ke({loading:e,guardian:t,assistantName:r,regularContacts:i,selection:a,onSelect:o,onAddContact:s,addingContact:c=!1}){let[l,u]=(0,K.useState)(``),d=l.trim()?i.filter(e=>e.displayName.toLowerCase().includes(l.trim().toLowerCase())):i;return(0,Y.jsx)(f.Root,{className:`flex h-full flex-col overflow-hidden`,children:(0,Y.jsxs)(f.Body,{className:`flex min-h-0 min-w-0 flex-1 flex-col gap-4`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Y.jsx)(`h2`,{className:`text-title-medium`,style:{color:`var(--content-default)`},children:`Entries`}),(0,Y.jsx)(n,{type:`button`,variant:`ghost`,iconOnly:c?(0,Y.jsx)(g,{className:`animate-spin`,"aria-hidden":!0}):(0,Y.jsx)(v,{"aria-hidden":!0}),onClick:s,disabled:c,"aria-label":`Add contact`,tintColor:`var(--content-secondary)`})]}),(0,Y.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[t?(0,Y.jsx)(qe,{name:t.displayName?`${t.displayName} (You)`:`You`,role:t.role,channelTypes:t.channelTypes,selected:a?.kind===`contact`&&a.contactId===t.id,onClick:()=>o({kind:`contact`,contactId:t.id}),trailingIcon:`pencil`}):null,(0,Y.jsx)(qe,{name:r?.trim()||`Your Assistant`,role:`assistant`,selected:a?.kind===`assistant`,onClick:()=>o({kind:`assistant`}),trailingIcon:`more`})]}),(0,Y.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}),i.length>0?(0,Y.jsx)(x,{type:`text`,value:l,onChange:e=>u(e.target.value),placeholder:`Search Contacts`,leftIcon:(0,Y.jsx)(A,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0}):null,i.length>0?(0,Y.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto flex flex-col gap-1`,children:[d.map(e=>(0,Y.jsx)(qe,{name:e.displayName,role:e.role,contactType:e.contactType,channelTypes:e.channelTypes,verified:e.verified,selected:a?.kind===`contact`&&a.contactId===e.id,onClick:()=>o({kind:`contact`,contactId:e.id}),trailingIcon:`more`},e.id)),d.length===0?(0,Y.jsx)(`p`,{className:`px-3 py-4 text-center text-body-small-default`,style:{color:`var(--content-tertiary)`},children:`No matching contacts`}):null]}):e?null:(0,Y.jsx)(n,{type:`button`,variant:`ghost`,onClick:s,disabled:c,tintColor:`var(--primary-base)`,leftIcon:c?(0,Y.jsx)(g,{className:`animate-spin`,"aria-hidden":!0}):(0,Y.jsx)(y,{"aria-hidden":!0}),children:`Add Contact`})]})})}function qe({name:e,role:t,contactType:n,channelTypes:r,selected:i,onClick:a,trailingIcon:o,verified:s}){let c=r&&r.length>0?r.join(` | `):void 0;return(0,Y.jsx)(C,{asChild:!0,active:i,label:``,trailingAction:o===`pencil`?(0,Y.jsx)(_,{className:`h-3.5 w-3.5`,"aria-hidden":!0}):o===`more`?(0,Y.jsx)(Se,{className:`h-3.5 w-3.5`,"aria-hidden":!0}):void 0,children:(0,Y.jsxs)(`button`,{type:`button`,onClick:a,className:`flex h-auto w-full items-center gap-2 rounded-[6px] px-[8px] py-2 text-left`,children:[(0,Y.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,Y.jsx)(`span`,{className:`truncate text-body-medium-default`,children:e}),c?(0,Y.jsx)(`span`,{className:`truncate text-body-small-default`,style:{color:`var(--content-tertiary)`},children:c}):null]}),(0,Y.jsxs)(`span`,{className:`flex shrink-0 items-center gap-1`,children:[s===void 0?null:(0,Y.jsx)(b,{tone:s?`positive`:`neutral`,children:s?`Verified`:`Unverified`}),(0,Y.jsx)(Q,{role:t,contactType:n})]})]})})}function Je(e){return(0,Y.jsx)(Ye,{...e},e.contact.id)}function Ye({contact:e,savePending:t,verifyPending:r,mergePending:i=!1,canMerge:a=!1,availableChannels:o,a2aEnabled:s,onSave:c,onMerge:l,onSetupChannel:u,onVerifyChannel:d,onRevokeChannel:f,onGenerateInviteLink:p}){let m=e.displayName.startsWith(`vellum-principal-`),h=m?``:e.displayName,[g,_]=(0,K.useState)(h),[v,y]=(0,K.useState)(e.notes??``),b=g.trim(),S=v.trim(),C=b!==h.trim()||S!==(e.notes??``).trim(),w=C&&!t,T=`${e.interactionCount} interaction${e.interactionCount===1?``:`s`}`;return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,Y.jsx)(W,{title:m?`You`:`${e.displayName} (You)`,accessory:(0,Y.jsx)(Q,{role:`guardian`}),compactAccessory:!0,subtitle:T,children:(0,Y.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,Y.jsx)(x,{label:`Name`,type:`text`,value:g,onChange:e=>_(e.target.value),placeholder:`Your name`,disabled:t,fullWidth:!0}),(0,Y.jsx)(x,{label:`Notes`,type:`text`,value:v,onChange:e=>y(e.target.value),placeholder:`Notes about yourself which AI will take into account`,disabled:t,fullWidth:!0}),(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Y.jsx)(n,{variant:`primary`,onClick:()=>c({displayName:b||e.displayName,notes:S}),disabled:!w,children:t?`Saving…`:`Save`}),l?(0,Y.jsx)(n,{variant:`outlined`,onClick:l,disabled:!a||C||i||t,title:a?C?`Save your changes before merging`:void 0:`No other contacts available to merge`,children:i?`Merging…`:`Merge…`}):null]})]})}),(0,Y.jsx)(W,{title:`Channels`,subtitle:`Once verified, your assistant will recognize you when you message from these channels.`,children:(0,Y.jsx)(je,{contactChannels:e.channels,availableChannels:o,a2aEnabled:s,setupLabel:`Verify me`,verifyLoading:r,onSetupChannel:u,onVerifyChannel:d,onRevokeChannel:f})}),p?(0,Y.jsx)(H,{onClick:p}):null]})}function Xe(e,t){let n=t.trim().toLowerCase().replace(/^@/,``);return n===``?e:e.filter(e=>e.displayName.toLowerCase().includes(n)||e.username.toLowerCase().includes(n))}function Ze(e){let t=e.trim().split(/\s+/).filter(Boolean);return`${t[0]?.[0]??`?`}${t.length>1?t[t.length-1]?.[0]??``:``}`.toUpperCase()}function Qe({open:e,channelLabel:t,contactName:r,accounts:i,loading:a,errorMessage:o,pendingAccountId:s,onPick:c,onClose:l,onInviteInstead:u}){let[d,f]=(0,K.useState)(``);(0,K.useEffect)(()=>{e&&f(``)},[e]);let p=(0,K.useMemo)(()=>Xe(i??[],d),[i,d]),m=s!=null;return(0,Y.jsx)(S.Root,{open:e,onOpenChange:e=>!e&&l(),children:(0,Y.jsxs)(S.Content,{size:`sm`,children:[(0,Y.jsxs)(S.Header,{children:[(0,Y.jsxs)(S.Title,{children:[`Link `,t,` account`]}),(0,Y.jsxs)(S.Description,{children:[`Search your `,t,` workspace and pick`,` `,(0,Y.jsx)(`span`,{className:`text-[color:var(--content-default)]`,children:r}),`’s account.`]})]}),(0,Y.jsxs)(S.Body,{className:`flex flex-col gap-3`,children:[(0,Y.jsx)(x,{type:`search`,value:d,onChange:e=>f(e.target.value),placeholder:`Search by name or @handle`,"aria-label":`Search ${t} workspace accounts`,leftIcon:(0,Y.jsx)(A,{className:`h-4 w-4`}),fullWidth:!0}),o?(0,Y.jsx)(`p`,{className:`text-body-small-default text-[color:var(--content-negative)]`,children:o}):null,(0,Y.jsx)(`div`,{className:`max-h-80 overflow-y-auto`,children:a?(0,Y.jsx)(`p`,{className:`py-4 text-center text-body-small-default text-[color:var(--content-tertiary)]`,children:`Loading workspace members…`}):p.length===0?(0,Y.jsx)(`p`,{className:`py-4 text-center text-body-small-default text-[color:var(--content-tertiary)]`,children:(i?.length??0)===0?`No workspace members found.`:`No members match.`}):(0,Y.jsx)(`ul`,{className:`flex flex-col`,children:p.map(e=>(0,Y.jsx)(`li`,{children:(0,Y.jsxs)(`button`,{type:`button`,onClick:()=>c(e),disabled:m,className:`flex w-full cursor-pointer items-center gap-3 rounded-md px-2 py-2 text-left transition-colors hover:bg-[var(--surface-overlay)] disabled:cursor-not-allowed disabled:opacity-60`,children:[e.imageUrl?(0,Y.jsx)(`img`,{src:e.imageUrl,alt:``,className:`h-8 w-8 shrink-0 rounded-full`}):(0,Y.jsx)(`span`,{"aria-hidden":`true`,className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-full bg-[var(--tag-bg-neutral)] text-body-small-emphasised text-[color:var(--content-secondary)]`,children:Ze(e.displayName)}),(0,Y.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[(0,Y.jsx)(`span`,{className:`truncate text-body-medium-default text-[color:var(--content-default)]`,children:e.displayName}),(0,Y.jsxs)(`span`,{className:`truncate text-body-small-default text-[color:var(--content-tertiary)]`,children:[`@`,e.username]})]}),s===e.id?(0,Y.jsx)(`span`,{className:`ml-auto shrink-0 text-body-small-default text-[color:var(--content-tertiary)]`,children:`Linking…`}):null]})},e.id))})})]}),(0,Y.jsxs)(S.Footer,{className:`items-center justify-between gap-3 border-t border-[var(--border-base)]`,children:[(0,Y.jsxs)(`p`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:[`Picking marks this account as`,` `,(0,Y.jsx)(`span`,{className:`text-[color:var(--content-secondary)]`,children:`guardian-linked`}),` `,`— you vouch for the identity, no handshake needed.`]}),u?(0,Y.jsxs)(n,{variant:`link`,className:`shrink-0`,onClick:u,disabled:m,children:[`Or send an invite instead`,(0,Y.jsx)(oe,{className:`h-3.5 w-3.5`})]}):null]})]})})}function $e(e){let t={};for(let n of e)se(n.channelType)&&(t[n.channelType]=n.policy===`trusted_contacts`?{source:`global-default`}:{source:`channel-default`,channel:n.channelType});return t}function et(e){return $e(U(e))}function tt(e){let t=ae.use.channelTrustFloors(),n=pe(),r=t&&n,i=c({...L({path:{assistant_id:e}}),enabled:r,select:et});return r?i.data:void 0}function nt({assistantId:e,channelType:t,contact:n,onLinked:r}){let[i,a]=(0,K.useState)(!1),o=l({mutationFn:n=>ye(e,n.contact,{type:t,address:n.account.id}),onSuccess:(e,t)=>{a(!1),w.success(`Linked as @${t.account.username}`),r()}}),s=(0,K.useCallback)(()=>{o.reset(),a(!0)},[o]),c=(0,K.useCallback)(()=>{o.isPending||(o.reset(),a(!1))},[o]),u=(0,K.useCallback)(e=>{!n||o.isPending||o.mutate({contact:n,account:e})},[n,o]);return{channelType:t,dialogOpen:i,open:s,close:c,linkErrorMessage:o.error instanceof Error?o.error.message:o.error?`Failed to link account`:null,pendingAccountId:o.isPending?o.variables.account.id:null,pick:u}}var rt=[{id:`slack`,label:`Slack`,subtitle:`Message your assistant from Slack`,icon:`hash`,supportsVerification:!0,setupMessages:{guardian:`I'd like to verify my identity as your guardian on Slack. Can you help me set that up?`,contact:`I'd like to verify a contact's Slack identity. Can you walk me through it?`}},{id:`telegram`,label:`Telegram`,subtitle:`Message your assistant from Telegram`,icon:`send`,supportsVerification:!0,setupMessages:{guardian:`I'd like to verify my identity as your guardian on Telegram. Can you help me set that up?`,contact:`I'd like to verify a contact's Telegram identity. Can you walk me through it?`}},{id:`phone`,label:`Phone Calling`,subtitle:`Call or text your assistant via phone`,icon:`phone`,supportsVerification:!0,setupMessages:{guardian:`I'd like to verify my identity as your guardian for phone calls. Can you help me set that up?`,contact:`I'd like to verify a contact's phone number. Can you help me set that up?`}}],it=[];function at({assistantId:e,onStartSetupConversation:t}){let n=ae.use.a2aChannel(),r=re.use.name(),o=s(),[u]=i(),d=u.get(`setup`),f=d&&se(d)?d:null,[p,m]=(0,K.useState)({kind:`assistant`}),h=me(e),[g,_]=(0,K.useState)(!1),[v,y]=(0,K.useState)(!1),b=ue(r),x=(0,K.useMemo)(()=>({path:{assistant_id:e}}),[e]),S=k(x),C=c({...ne(x),enabled:!!e,select:e=>e.contacts}),T=de({assistantId:e,onStartSetupConversation:t}),oe=tt(e),A=c({...O({path:{assistant_id:e}}),enabled:!!e,queryFn:async({signal:t})=>{let{data:n,error:r,response:i}=await E({path:{assistant_id:e},signal:t,throwOnError:!1});if(!i||i.status===404)return{channels:rt};if(!i.ok)throw r??Error(`Failed to fetch channel availability`);return n},select:e=>e.channels}).data??it,j=C.data,M=(0,K.useMemo)(()=>j?.find(e=>e.role===`guardian`)??null,[j]),ce=(0,K.useMemo)(()=>j?.filter(e=>e.role!==`guardian`)??[],[j]),N=(0,K.useMemo)(()=>p.kind===`contact`?j?.find(e=>e.id===p.contactId)??null:null,[j,p]),P=(0,K.useMemo)(()=>!j||!N?[]:j.filter(e=>e.id!==N.id&&e.role!==`guardian`),[j,N]),F=P.length>0,I=(0,K.useRef)(!!f);(0,K.useEffect)(()=>{I.current||M&&(I.current=!0,m({kind:`contact`,contactId:M.id}))},[M]);let L=(0,K.useCallback)(()=>o.invalidateQueries({queryKey:S}),[o,S]),R=l({mutationFn:()=>ve(e,{displayName:`New Contact`}),onMutate:async()=>{await o.cancelQueries({queryKey:S})},onSuccess:e=>{D(o,x,t=>t?{...t,contacts:[...t.contacts,e]}:void 0),m({kind:`contact`,contactId:e.id})},onError:G(`Failed to create contact`),onSettled:()=>L()}),z=l({mutationFn:t=>be(e,t),onSuccess:(e,t)=>{D(o,x,e=>e?{...e,contacts:e.contacts.filter(e=>e.id!==t)}:void 0),m({kind:`assistant`})},onError:G(`Failed to delete contact`),onSettled:()=>L()}),B=l({mutationFn:({contactId:t,patch:n})=>ve(e,{id:t,displayName:n.displayName,notes:n.notes}),onSuccess:e=>{D(o,x,t=>t?{...t,contacts:t.contacts.map(t=>t.id===e.id?e:t)}:void 0)},onError:G(`Failed to save contact`),onSettled:()=>L()}),V=ee({onMutate:async()=>{await o.cancelQueries({queryKey:S})},onSuccess:(e,t)=>{let n=e.contact,r=t.body.mergeId;n&&(D(o,x,e=>e?{...e,contacts:e.contacts.filter(e=>e.id!==r).map(e=>e.id===n.id?n:e)}:void 0),m({kind:`contact`,contactId:n.id})),y(!1),w.success(`Contacts merged`)},onSettled:()=>L()}),H=(0,K.useCallback)(e=>{m(e),_(!1),y(!1),V.reset()},[V]),U=(0,K.useCallback)(()=>{V.reset(),y(!0)},[V]),pe=(0,K.useCallback)(()=>{V.isPending||(y(!1),V.reset())},[V]),W=te({onSuccess:()=>L()}),ye=(0,K.useCallback)((t,n)=>{W.mutate({path:{assistant_id:e,contactChannelId:t},body:{status:`revoked`}})},[W,e]),xe=(0,K.useCallback)(()=>{R.isPending||R.mutate()},[R]),Se=(0,K.useCallback)(e=>{if(!t)return;let n=A.find(t=>t.id===e)?.setupMessages.contact;n&&t(n)},[A,t]),Ce=(0,K.useCallback)(e=>{if(!t)return;let n=A.find(t=>t.id===e)?.setupMessages.guardian;n&&t(n)},[A,t]),q=l({mutationFn:t=>_e(e,t.channelId),onSuccess:()=>L(),onError:G(`Failed to verify channel`)}),J=(0,K.useCallback)(e=>{if(!N)return;let t=N.channels.find(t=>t.type===e&&t.status!==`revoked`);t&&q.mutate({channelId:t.id})},[N,q]),X=nt({assistantId:e,channelType:`slack`,contact:N?{id:N.id,displayName:N.displayName}:null,onLinked:L}),Z=c({...le(e),enabled:!!e&&X.dialogOpen,select:e=>e.users}),Q=T.channels.some(e=>e.key===`slack`&&e.status===`ready`),we=(0,K.useCallback)(e=>{e===X.channelType&&X.open()},[X]),Ee=z.isPending?z.variables:null,$=(0,K.useMemo)(()=>N?B.isPending&&B.variables?.contactId===N.id?{...N,displayName:B.variables.patch.displayName,notes:B.variables.patch.notes}:N:null,[N,B.isPending,B.variables]);if(f)return(0,Y.jsx)(a,{to:`${ie.channels}?setup=${f}`,replace:!0});let De={loading:C.isLoading,assistantName:b,guardian:M?{id:M.id,displayName:M.displayName.startsWith(`vellum-principal-`)?``:M.displayName,role:M.role,channelTypes:lt(M.channels,n)}:null,regularContacts:ce.filter(e=>e.id!==Ee).map(e=>({id:e.id,displayName:e.displayName,role:e.role,contactType:e.contactType,channelTypes:lt(e.channels,n),verified:ct(e.channels)})),selection:p,onAddContact:xe,addingContact:R.isPending};return(0,Y.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-4 overflow-hidden sm:flex-row sm:gap-6`,children:[(0,Y.jsx)(`div`,{className:`flex items-center sm:hidden`,children:(0,Y.jsx)(he,{onClick:()=>_(!0)})}),(0,Y.jsx)(ge,{open:g,onClose:()=>_(!1),title:`Contacts`,children:(0,Y.jsx)(Ke,{...De,onSelect:H})}),(0,Y.jsx)(`aside`,{className:`hidden min-h-0 w-[320px] shrink-0 overflow-y-auto self-stretch sm:block`,children:(0,Y.jsx)(Ke,{...De,onSelect:H})}),(0,Y.jsx)(`section`,{className:`min-h-0 min-w-0 flex-1 overflow-y-auto`,children:p.kind===`assistant`||p.kind===`contact`&&p.contactId===Ee?(0,Y.jsx)(Te,{assistantName:b,channels:T.channels,pendingChannelKey:T.pendingChannelKey,onConnect:T.onSetup,onDisconnect:T.onDisconnect}):$?$.role===`guardian`?(0,Y.jsx)(Je,{contact:$,savePending:B.isPending,verifyPending:q.isPending,mergePending:V.isPending,canMerge:F,availableChannels:A,a2aEnabled:n,onSave:e=>{B.mutate({contactId:$.id,patch:e})},onMerge:U,onSetupChannel:t?Ce:void 0,onVerifyChannel:J,onRevokeChannel:ye,onGenerateInviteLink:n?h.open:void 0}):(0,Y.jsx)(Ne,{contact:$,savePending:B.isPending,deletePending:z.isPending,verifyPending:q.isPending,mergePending:V.isPending,canMerge:F,availableChannels:A,a2aEnabled:n,channelProvenance:oe,onSave:e=>{B.mutate({contactId:$.id,patch:e})},onDelete:()=>{z.mutate($.id)},onMerge:U,onSetupChannel:t?Se:void 0,onVerifyChannel:J,onRevokeChannel:ye,onLinkAccount:Q?we:void 0}):(0,Y.jsx)(ot,{})}),N?(0,Y.jsx)(Fe,{open:v,survivor:N,candidates:P,pending:V.isPending,errorMessage:V.error instanceof Error?V.error.message:V.error?`Failed to merge contacts`:null,onMerge:t=>V.mutate({path:{assistant_id:e},body:{keepId:N.id,mergeId:t}}),onClose:pe}):null,(0,Y.jsx)(Qe,{open:X.dialogOpen,channelLabel:`Slack`,contactName:N?.displayName??``,accounts:Z.data,loading:Z.isLoading,errorMessage:Z.isError?`Couldn’t load the workspace roster. Check the Slack connection and try again.`:X.linkErrorMessage,pendingAccountId:X.pendingAccountId,onPick:X.pick,onClose:X.close,onInviteInstead:t?()=>{X.close(),Se(X.channelType)}:void 0}),(0,Y.jsx)(fe,{open:h.isOpen,assistantId:e,onClose:h.close})]})}function ot(){return(0,Y.jsx)(`div`,{className:`flex h-full items-center justify-center py-16`,children:(0,Y.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Select a contact`})})}var st={slack:`Slack`,telegram:`Telegram`,phone:`Phone`,email:`Email`,whatsapp:`WhatsApp`,a2a:`A2A`};function ct(e){return e.some(e=>e.status!==`revoked`&&(e.type===`a2a`||J(e)))}function lt(e,t){let n=new Set,r=[];for(let i of e){if(i.status===`revoked`)continue;let e=i.type.toLowerCase();n.has(e)||e===`a2a`&&!t||(n.add(e),r.push(st[e]??i.type))}return r}function ut(){let e=r(),t=V();return(0,Y.jsx)(at,{assistantId:t,onStartSetupConversation:t=>{z(e,{prompt:t})}},t)}export{ut as ContactsPageRoute};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./createLucideIcon-IRfcSUxS.js";var t=e(`copy`,[[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`,key:`17jyea`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`,key:`zix9uf`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{r as t}from"./capture-error-Dhiismgm.js";import{t as n}from"./react-DJZBPgpf.js";import{t as r}from"./button-amTXFI-2.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"./card-Bv5O5juh.js";import{t as c}from"./copy-Cn1FKrEp.js";import{t as l}from"./key-round-CD3JWrs1.js";import{t as u}from"./link-2-4bMylQ5v.js";import{t as d}from"./loader-circle-Cz7opInR.js";import{t as f}from"./plus-DItfr5ux.js";import{t as p}from"./input-CoUmPnRU.js";import{t as m}from"./modal-D5nLWNN9.js";import{n as h}from"./toast-xTp-xwYL.js";import{t as g}from"./confirm-dialog-CSkhRFRk.js";import{Ir as _,lt as ee}from"./sdk.gen-BwnFjFcp.js";import{Ut as v,Wt as y}from"./react-query.gen-C6wVk6Rw.js";import{t as b}from"./use-is-org-ready-jhEM-4rY.js";import{t as x}from"./assistant-feature-flag-store-DA8Oj9Mf.js";import{t as S,vi as C}from"./index-yu6nDHvG.js";import{t as w}from"./use-active-assistant-id-BWXi63qg.js";var T=e(n(),1);function E(e){return e>0xe8d4a51000?e:e*1e3}async function D(e,t){let{data:n,response:r}=await _.post({url:`/v1/assistants/{assistant_id}/credential-requests`,path:{assistant_id:e},body:t});if(!r?.ok)throw Error(`Failed to create credential request: ${r?.status}`);return n}var O=o();function k(e){return[`credentials-list`,e]}function te(e){if(!e)return``;try{return new Date(e).toLocaleDateString(void 0,{year:`numeric`,month:`short`,day:`numeric`})}catch{return``}}function A(){let e=x.use.credentialsSettings(),t=x.use.hasHydrated();return t&&!e?(0,O.jsx)(S,{}):t?(0,O.jsx)(j,{}):null}function j(){let e=w(),n=i(),o=b(),_=x.use.credentialRequests(),S=k(e),A=a({queryKey:S,queryFn:async()=>{let{data:t}=await ee({path:{assistant_id:e},body:{},throwOnError:!0});return{credentials:t.credentials,managedCredentials:t.managedCredentials}},enabled:o,retry:t}),j=A.data?.credentials??[],M=A.data?.managedCredentials??[],N=y({onSuccess:()=>{n.invalidateQueries({queryKey:S}),h.success(`Credential saved.`)},onError:e=>{h.error(e.message||`Failed to save credential`)}}),P=v({onError:e=>{h.error(e.message||`Failed to delete credential`)}}),[F,I]=(0,T.useState)(!1),[L,R]=(0,T.useState)(``),[z,B]=(0,T.useState)(``),[V,H]=(0,T.useState)(``),[U,W]=(0,T.useState)(``),[G,K]=(0,T.useState)(null),[q,J]=(0,T.useState)(null),[Y,X]=(0,T.useState)(null),Z=N.isPending,Q=P.isPending?`${P.variables?.body?.service}:${P.variables?.body?.field}`:null,$=()=>{I(!1),R(``),B(``),H(``),W(``)},ne=()=>{let t=L.trim(),n=z.trim();!t||!n||!V.trim()||N.mutate({path:{assistant_id:e},body:{service:t,field:n,value:V,label:U.trim()||void 0}},{onSuccess:$})},re=()=>{let t=G;K(null),t&&P.mutate({path:{assistant_id:e},body:{service:t.service,field:t.field}},{onSuccess:()=>{n.invalidateQueries({queryKey:S}),h.success(`Deleted ${t.service}:${t.field}.`)}})},ie=async t=>{let n=`${t.service}:${t.field}`;X(n);try{let r=await D(e,{service:t.service,field:t.field,label:t.alias??void 0});r.ok&&r.url?J({name:n,url:r.url,expiresAt:r.expiresAt??null}):h.error(r.error||`Failed to generate a one-time link`)}catch(e){h.error(e instanceof Error?e.message:`Failed to generate a one-time link`)}finally{X(null)}},ae=()=>{let e=q?.url;e&&navigator.clipboard.writeText(e).then(()=>h.success(`Link copied to clipboard.`),()=>h.error(`Couldn't copy the link — select it and copy manually.`))};if(A.isLoading)return(0,O.jsx)(`div`,{className:`flex items-center justify-center py-10`,children:(0,O.jsx)(d,{className:`h-5 w-5 animate-spin text-[var(--content-disabled)]`})});let oe=F||j.length===0;return(0,O.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,O.jsx)(`p`,{className:`text-body-small-default leading-relaxed text-[var(--content-tertiary)]`,children:`Credentials are stored encrypted in your assistant's credential vault. Values are write-only — they can be replaced or deleted, but not viewed here.`}),j.length>0?(0,O.jsx)(s.Root,{children:(0,O.jsx)(s.Body,{className:`flex flex-col divide-y divide-[var(--border-default)]`,children:j.map(e=>{let t=`${e.service}:${e.field}`;return(0,O.jsxs)(`div`,{className:`flex items-center gap-3 py-3 first:pt-0 last:pb-0`,children:[(0,O.jsx)(l,{className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)]`,"aria-hidden":!0}),(0,O.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,O.jsx)(`p`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:e.alias||t}),(0,O.jsxs)(`p`,{className:`truncate font-mono text-body-small-default text-[var(--content-tertiary)]`,children:[e.alias?`${t} · `:``,e.scrubbedValue,e.createdAt?` · added ${te(e.createdAt)}`:``]})]}),_?(0,O.jsx)(r,{type:`button`,variant:`ghost`,size:`compact`,onClick:()=>void ie(e),disabled:Y===t,"aria-label":`Generate one-time link for ${t}`,title:`Generate one-time link`,iconOnly:Y===t?(0,O.jsx)(d,{className:`animate-spin`,"aria-hidden":!0}):(0,O.jsx)(u,{"aria-hidden":!0})}):null,(0,O.jsx)(r,{type:`button`,variant:`ghost`,size:`compact`,onClick:()=>K(e),disabled:Q===t,"aria-label":`Delete ${t}`,iconOnly:Q===t?(0,O.jsx)(d,{className:`animate-spin`,"aria-hidden":!0}):(0,O.jsx)(C,{"aria-hidden":!0})})]},e.credentialId??t)})})}):null,oe?(0,O.jsx)(s.Root,{children:(0,O.jsxs)(s.Body,{className:`flex flex-col gap-3`,children:[(0,O.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:j.length===0?`Add a credential`:`Add another credential`}),(0,O.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row`,children:[(0,O.jsx)(p,{label:`Service`,type:`text`,value:L,onChange:e=>R(e.target.value),placeholder:`e.g. github`,fullWidth:!0}),(0,O.jsx)(p,{label:`Field`,type:`text`,value:z,onChange:e=>B(e.target.value),placeholder:`e.g. api_token`,fullWidth:!0})]}),(0,O.jsx)(p,{label:`Value`,type:`password`,value:V,onChange:e=>H(e.target.value),placeholder:`Enter the secret value`,fullWidth:!0}),(0,O.jsx)(p,{label:`Label (optional)`,type:`text`,value:U,onChange:e=>W(e.target.value),placeholder:`e.g. GitHub personal access token`,fullWidth:!0}),(0,O.jsxs)(`div`,{className:`flex items-center justify-end gap-2 pt-1`,children:[j.length>0?(0,O.jsx)(r,{type:`button`,variant:`outlined`,size:`compact`,onClick:$,disabled:Z,children:`Cancel`}):null,(0,O.jsx)(r,{type:`button`,size:`compact`,onClick:ne,disabled:Z||!L.trim()||!z.trim()||!V.trim(),leftIcon:Z?(0,O.jsx)(d,{className:`animate-spin`,"aria-hidden":!0}):void 0,children:`Save Credential`})]})]})}):(0,O.jsx)(r,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>I(!0),className:`w-full border-dashed`,leftIcon:(0,O.jsx)(f,{"aria-hidden":!0}),children:`Add Credential`}),M.length>0?(0,O.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,O.jsx)(`p`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:`Managed by Vellum`}),(0,O.jsx)(s.Root,{children:(0,O.jsx)(s.Body,{className:`flex flex-col divide-y divide-[var(--border-default)]`,children:M.map(e=>(0,O.jsxs)(`div`,{className:`flex items-center gap-3 py-3 first:pt-0 last:pb-0`,children:[(0,O.jsx)(l,{className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)]`,"aria-hidden":!0}),(0,O.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,O.jsx)(`p`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:e.provider}),(0,O.jsxs)(`p`,{className:`truncate text-body-small-default text-[var(--content-tertiary)]`,children:[e.accountInfo??e.handle,` ·`,` `,e.status]})]})]},e.handle))})})]}):null,(0,O.jsx)(g,{open:G!==null,title:`Delete credential`,message:G?`Delete ${G.service}:${G.field}? Tools and integrations using it will lose access.`:``,confirmLabel:`Delete`,destructive:!0,onConfirm:re,onCancel:()=>K(null)}),(0,O.jsx)(m.Root,{open:q!==null,onOpenChange:e=>{e||J(null)},children:(0,O.jsxs)(m.Content,{size:`sm`,children:[(0,O.jsxs)(m.Header,{children:[(0,O.jsx)(m.Title,{icon:u,children:`One-time credential link`}),(0,O.jsx)(m.Description,{children:q?`Send this link to whoever should provide ${q.name}. It works exactly once${q.expiresAt===null?``:` and expires ${new Date(E(q.expiresAt)).toLocaleString()}`}. Anyone with the link can set this credential, so share it over a trusted channel.`:``})]}),(0,O.jsx)(m.Body,{children:(0,O.jsx)(p,{label:`Link`,type:`text`,readOnly:!0,value:q?.url??``,onFocus:e=>e.currentTarget.select(),fullWidth:!0})}),(0,O.jsx)(m.Footer,{children:(0,O.jsx)(r,{type:`button`,size:`compact`,onClick:ae,leftIcon:(0,O.jsx)(c,{"aria-hidden":!0}),children:`Copy link`})})]})})]})}export{A as CredentialsPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{d as n}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{c as r}from"./routes-BbeIx_F9.js";var i=e(t(),1);function a(){let e=n();return(0,i.useEffect)(()=>{e(r.settings.general,{replace:!0})},[e]),null}export{a as DangerZoneRedirectPage};
|