@vellumai/web 0.10.9-dev.202607162126.2d253b7 → 0.10.9-staging.2
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-DqW6iWlh.js → AnimatePresence-TZWSGjkI.js} +1 -1
- package/dist/assets/{BundleConfirmPage-CQYO7UBl.js → BundleConfirmPage-DwVI7U0b.js} +1 -1
- package/dist/assets/{Combination-BJXmG5wD.js → Combination-Cd_aWAsj.js} +1 -1
- package/dist/assets/{a2a-invite-BgcNY6-0.js → a2a-invite-CwD3hY_-.js} +1 -1
- package/dist/assets/{about-page-XGv9RAQu.js → about-page-vayMMPxH.js} +1 -1
- package/dist/assets/{account-page-Dvn91k1X.js → account-page-uVMhWTmh.js} +1 -1
- package/dist/assets/{account-shell-CMUnYZ1B.js → account-shell-DaECsri2.js} +1 -1
- package/dist/assets/{acp-run-detail-panel-Z31n86e4.js → acp-run-detail-panel-DKXp8jTf.js} +4 -4
- package/dist/assets/activity-steps-panel-Bq9yj1qu.js +1 -0
- package/dist/assets/{add-credits-modal-ByK3VreF.js → add-credits-modal-DjQdNLWh.js} +1 -1
- package/dist/assets/advanced-page-CQPwr2B4.js +1 -0
- package/dist/assets/ai-page-CO4dBJpg.js +1 -0
- package/dist/assets/animated-avatar-DMwzREGQ.js +1 -0
- package/dist/assets/api-DHuLwcqq.js +1 -0
- package/dist/assets/{api-DZe5KrFW.js → api-Dfrm6N2I.js} +1 -1
- package/dist/assets/{api-key-screen-E0VRb6_J.js → api-key-screen-DhFeDT-n.js} +1 -1
- package/dist/assets/archive-0aqysuyd.js +1 -0
- package/dist/assets/archive-page-BLEqhIZ8.js +1 -0
- package/dist/assets/arrow-left-DI9551VI.js +1 -0
- package/dist/assets/{assistant-feature-flag-store-Em1V67lp.js → assistant-feature-flag-store-BA3GR2m5.js} +1 -1
- package/dist/assets/assistant-identity-store-CX03CK8q.js +1 -0
- package/dist/assets/assistant-status-panel-CW7lTRBE.js +1 -0
- package/dist/assets/auth-store-65JKPW7C.js +2 -0
- package/dist/assets/background-task-detail-panel-ChfmmS5C.js +1 -0
- package/dist/assets/ban-CVKGuUAQ.js +1 -0
- package/dist/assets/{bell-V9BYKY__.js → bell-BQLonLMp.js} +1 -1
- package/dist/assets/billing-page-CaP8_CF9.js +3 -0
- package/dist/assets/{bookmark-CjHh36q4.js → bookmark-CNrithFf.js} +1 -1
- package/dist/assets/{bookmarks-page-qBq2E1Nq.js → bookmarks-page-BdcnBpJK.js} +1 -1
- package/dist/assets/{brain-Ci5ws6Wl.js → brain-BLDXGaUy.js} +1 -1
- package/dist/assets/browser-Cnr7iqbJ.js +2 -0
- package/dist/assets/{bug-BMI_6ziD.js → bug-BsuQ5ciQ.js} +1 -1
- package/dist/assets/{build-state-CpukAixd.js → build-state-D-aPe0DY.js} +1 -1
- package/dist/assets/button-amTXFI-2.js +1 -0
- package/dist/assets/calendar-h-mv1itX.js +1 -0
- package/dist/assets/card-Bv5O5juh.js +1 -0
- package/dist/assets/channels-page-route-DKkdGS4b.js +9 -0
- package/dist/assets/chat-0L0NBUcq.js +1 -0
- package/dist/assets/chat-markdown-message-Cp8stHaU.js +2 -0
- package/dist/assets/check-DFNrQERi.js +1 -0
- package/dist/assets/checkbox-EdyezNqo.js +1 -0
- package/dist/assets/{chevron-down-DwIPfcCg.js → chevron-down-qD-re7AW.js} +1 -1
- package/dist/assets/chevron-left-BMF1xNfR.js +1 -0
- package/dist/assets/chevron-right-DqqmezXC.js +1 -0
- package/dist/assets/{chevron-up-B8xt61zY.js → chevron-up-3jCod9LW.js} +1 -1
- package/dist/assets/{chunk-5KNZJZUH-SU6Q_tDT.js → chunk-5KNZJZUH-DdS6bb-3.js} +1 -1
- package/dist/assets/{circle-alert-_RJjkRGu.js → circle-alert-zOqdmf25.js} +1 -1
- package/dist/assets/circle-check-VSiny8yl.js +1 -0
- package/dist/assets/{client-feature-flag-store-DHTSpK-i.js → client-feature-flag-store-Ri-a_LuI.js} +1 -1
- package/dist/assets/{client-identity-QIUgW_5B.js → client-identity-DfC94VQ4.js} +1 -1
- package/dist/assets/{clipboard-copy-sWUyFbCT.js → clipboard-copy-DF6K1xc6.js} +1 -1
- package/dist/assets/{cloud-off-Cj66Ozsp.js → cloud-off-Db1nySkc.js} +1 -1
- package/dist/assets/cn-C36Yvcac.js +1 -0
- package/dist/assets/code-Czx7d7SK.js +1 -0
- package/dist/assets/{command-palette-Dyuq3z8h.js → command-palette-Bu2Qjyle.js} +1 -1
- package/dist/assets/{command-palette-window-page-CTWIp-eS.js → command-palette-window-page-CtQ40jMw.js} +1 -1
- package/dist/assets/community-page-DL_oR63v.js +1 -0
- package/dist/assets/composer-focus-8EISjLd_.js +1 -0
- package/dist/assets/{confirm-dialog-kE8y7s20.js → confirm-dialog-CSkhRFRk.js} +1 -1
- package/dist/assets/{connect-page-B_EAqO2L.js → connect-page-BCb6nr8x.js} +1 -1
- package/dist/assets/{consent-controls-BKoyAFQL.js → consent-controls-udcijSAB.js} +1 -1
- package/dist/assets/constants-BQVXM0At.js +1 -0
- package/dist/assets/{contacts-gateway-MdTfmafh.js → contacts-gateway-DfyjoqNo.js} +1 -1
- package/dist/assets/contacts-page-route-CicU-jSI.js +1 -0
- package/dist/assets/conversation-list-fetchers-_PUdRqRZ.js +1 -0
- package/dist/assets/conversation-selection-CfSCgJxD.js +1 -0
- package/dist/assets/copy-Cn1FKrEp.js +1 -0
- package/dist/assets/{cpu-CEyjQpZz.js → cpu-BJuB2Khn.js} +1 -1
- package/dist/assets/{credential-entry-page-DFpp1yyh.js → credential-entry-page-CRTZY2VD.js} +1 -1
- package/dist/assets/credentials-page-DDM2V8iZ.js +1 -0
- package/dist/assets/{credit-card-BY-vD21O.js → credit-card-BuyWdO9t.js} +1 -1
- package/dist/assets/danger-zone-redirect-page-BpM01x_c.js +1 -0
- package/dist/assets/debug-page-BGhdwv9M.js +4 -0
- package/dist/assets/{deploy-dialogs-VIsg83qz.js → deploy-dialogs-C6pCnoVj.js} +1 -1
- package/dist/assets/detail-card-GPqFZVmX.js +1 -0
- package/dist/assets/{detail-panel-stop-button-Dt2UIyNB.js → detail-panel-stop-button-H9sXvWGa.js} +1 -1
- package/dist/assets/developer-page-DZdwzLQu.js +1 -0
- package/dist/assets/{device-settings-DXp9L4iB.js → device-settings-BBwtGKJb.js} +1 -1
- package/dist/assets/devices-page-ChwagiFL.js +1 -0
- package/dist/assets/{diagnostics-7I2vE_qb.js → diagnostics-CUmYxbmM.js} +1 -1
- package/dist/assets/{dictation-overlay-page-DSLUFhF9.js → dictation-overlay-page-BmLNyGeD.js} +1 -1
- package/dist/assets/dist-BItmZQO6.js +1 -0
- package/dist/assets/{dist-Btg1osd6.js → dist-CxHeCOEv.js} +1 -1
- package/dist/assets/{dist-CxzJhU4a.js → dist-DqmYHxdg.js} +1 -1
- package/dist/assets/{dist-URk13ITj.js → dist-HJ505Xnn.js} +1 -1
- package/dist/assets/document-viewer-page-B-ShLH6Y.js +1 -0
- package/dist/assets/{domain-field-DKKi4dF-.js → domain-field-C5a2iMot.js} +1 -1
- package/dist/assets/{download-B6XjnEzx.js → download-CAuK-nZ6.js} +1 -1
- package/dist/assets/dropdown-ByHOpeOU.js +1 -0
- package/dist/assets/earn-credits-modal-BILKTI_F.js +1 -0
- package/dist/assets/effective-timezone-DYvVVpXt.js +1 -0
- package/dist/assets/emails-page-D_ZdkIHT.js +1 -0
- package/dist/assets/esm-BC-IlNg6.js +2 -0
- package/dist/assets/esm-BVzHqFEK.js +2 -0
- package/dist/assets/esm-CE4Ehw9K.js +2 -0
- package/dist/assets/esm-D4S5VlIC.js +2 -0
- package/dist/assets/esm-Ddwl5DWt.js +2 -0
- package/dist/assets/esm-ZgeaRH-O.js +2 -0
- package/dist/assets/esm-wMYgN14J.js +1 -0
- package/dist/assets/{external-link-Cczz6xJ4.js → external-link-Dqpx9nRm.js} +1 -1
- package/dist/assets/feature-flag-catalog-DjfXrBPD.js +1 -0
- package/dist/assets/{file-C8pjlmtk.js → file-DsyJLS2u.js} +1 -1
- package/dist/assets/file-editor-CgjwckHX.js +1 -0
- package/dist/assets/file-markdown-ZKvQUuGy.js +2 -0
- package/dist/assets/{file-text-DA128T4K.js → file-text-CYJz-GvF.js} +1 -1
- package/dist/assets/format-date-cTplgJ8P.js +1 -0
- package/dist/assets/general-page-61s8VehJ.js +1 -0
- package/dist/assets/{globe-inD5tOKN.js → globe-4qSOWE2N.js} +1 -1
- package/dist/assets/{haptics-DcKMA71D.js → haptics-BOswdY5A.js} +2 -2
- package/dist/assets/{hard-drive-BXh9qCfi.js → hard-drive-rDxhoRUm.js} +1 -1
- package/dist/assets/hatching-screen-DiUygZtk.js +1 -0
- package/dist/assets/home-page-route-1hEkRjdv.js +1 -0
- package/dist/assets/{hosting-screen-sIKnFlur.js → hosting-screen-nru73FGU.js} +1 -1
- package/dist/assets/identity-page-route-CbHcVb6m.js +1 -0
- package/dist/assets/impersonate-version-flag-BhxfH6iZ.js +1 -0
- package/dist/assets/index-B4Qq7TL7.js +209 -0
- package/dist/assets/index-CCPsEVwr.css +2 -0
- package/dist/assets/{info-DLFMsCl-.js → info-DsOyuMO9.js} +1 -1
- package/dist/assets/input-CoUmPnRU.js +1 -0
- package/dist/assets/{inspect-page-BuyIWBj-.js → inspect-page-DoA1sfxg.js} +4 -4
- package/dist/assets/integrations-page-vFP_lh3w.js +1 -0
- package/dist/assets/intelligence-layout-oIGPC8W1.js +1 -0
- package/dist/assets/{key-round-BggUE1Ns.js → key-round-CD3JWrs1.js} +1 -1
- package/dist/assets/keyboard-shortcuts-page-BzeIMUpj.js +1 -0
- package/dist/assets/library-detail-page-D0Dv3ZLJ.js +1 -0
- package/dist/assets/library-page-D7I-sk41.js +1 -0
- package/dist/assets/{link-2-YnZe-oMg.js → link-2-4bMylQ5v.js} +1 -1
- package/dist/assets/list-row-D5MFdbkH.js +1 -0
- package/dist/assets/llm-dimension-Tz2Fx8qB.js +1 -0
- package/dist/assets/loader-circle-Cz7opInR.js +1 -0
- package/dist/assets/{local-mode-BPFvxPXz.js → local-mode-Bskd5bsT.js} +2 -2
- package/dist/assets/local-settings-lVNyIOJ_.js +1 -0
- package/dist/assets/{log-in-Xv-AVlu8.js → log-in--aqELu3z.js} +1 -1
- package/dist/assets/{login-flow-Btlym91C.js → login-flow-DYLpX6IU.js} +1 -1
- package/dist/assets/login-page-UotBWZu9.js +1 -0
- package/dist/assets/{logout-page-BxeOwXvN.js → logout-page-xucijGcq.js} +1 -1
- package/dist/assets/logs-layout-JUd7Ag6q.js +1 -0
- package/dist/assets/memory-page-route-DqM6EMFu.js +1 -0
- package/dist/assets/{memory-router-playground-page-kmzI1jaf.js → memory-router-playground-page-DikxzmKT.js} +1 -1
- package/dist/assets/menu-Dy5QbnTj.js +1 -0
- package/dist/assets/messages-B2CZAuPN.js +13 -0
- package/dist/assets/{metric-card-BL3uTxnv.js → metric-card-cvhtzRdM.js} +1 -1
- package/dist/assets/middleware-pbPQ0upo.js +1 -0
- package/dist/assets/{minimize-2-B8VHIj-G.js → minimize-2-Clnet2W7.js} +1 -1
- package/dist/assets/{misc-D0u5tzSd.js → misc-DnHIYCE9.js} +1 -1
- package/dist/assets/{mobile-sidebar-drawer-D_oNDC56.js → mobile-sidebar-drawer-BaL8el3Y.js} +1 -1
- package/dist/assets/modal-D5nLWNN9.js +1 -0
- package/dist/assets/{monitor-Cy7Q70-7.js → monitor-DfbL8_59.js} +1 -1
- package/dist/assets/{moon-jDX7sipq.js → moon-B8qiwjrW.js} +1 -1
- package/dist/assets/mutation-error-Bk_4pjgm.js +1 -0
- package/dist/assets/{native-biometric-D5yxuTSN.js → native-biometric-B2cBAQ1U.js} +1 -1
- package/dist/assets/native-file-BZDk5eyB.js +2 -0
- package/dist/assets/notice-DkcNAP8O.js +1 -0
- package/dist/assets/notifications-page-BISnBOYH.js +1 -0
- package/dist/assets/{oauth-complete-page-rHhstJnQ.js → oauth-complete-page-SfFEsa_M.js} +1 -1
- package/dist/assets/{oauth-popup-complete-page-Ad6o_mHW.js → oauth-popup-complete-page-D4Xoa-Gr.js} +1 -1
- package/dist/assets/page-shell-1qU5DIUF.js +1 -0
- package/dist/assets/{pairing-page-gVKFhrvD.js → pairing-page-B5xnM6XX.js} +1 -1
- package/dist/assets/panel-item-CouW2A55.js +1 -0
- package/dist/assets/password-reset-page-NF13YMiM.js +1 -0
- package/dist/assets/{pencil-BOTCmXXR.js → pencil-CUIr0IFo.js} +1 -1
- package/dist/assets/platform-detection-DGxL0AsS.js +1 -0
- package/dist/assets/{platform-loopback-page-CdI4JgOZ.js → platform-loopback-page-_IbNDHN2.js} +1 -1
- package/dist/assets/{plugin-detail-page-Dhg5mNZ7.js → plugin-detail-page-_iCqtxl9.js} +1 -1
- package/dist/assets/plugins-page-DHiFqgxf.js +1 -0
- package/dist/assets/plugins-surface-B3Ro34dC.js +1 -0
- package/dist/assets/plus-DItfr5ux.js +1 -0
- package/dist/assets/popover-CFL4WZTr.js +1 -0
- package/dist/assets/prechat-BBwYr5Qb.js +1 -0
- package/dist/assets/prechat-names-Cjl3JzzN.js +1 -0
- package/dist/assets/prechat-route-BwML3ZL1.js +1 -0
- package/dist/assets/prefs-DNYLVDvB.js +1 -0
- package/dist/assets/privacy-page-DhxWA9mA.js +1 -0
- package/dist/assets/privacy-screen-DRGDGj0W.js +1 -0
- package/dist/assets/progress-bar-Ca8gmE3B.js +1 -0
- package/dist/assets/{provider-callback-page-Cqt0UHpc.js → provider-callback-page-BoO2JgZt.js} +1 -1
- package/dist/assets/{provider-key-DqjTE9QV.js → provider-key-B-hx1r3c.js} +1 -1
- package/dist/assets/{provider-signup-page-C-pmI_mG.js → provider-signup-page-DLVKMYZh.js} +1 -1
- package/dist/assets/{quick-input-page-DIFKuIc3.js → quick-input-page-7z8Ti2GI.js} +1 -1
- package/dist/assets/{react-query.gen-B-P32qsC.js → react-query.gen-DV9K_z-o.js} +1 -1
- package/dist/assets/react-query.gen-LsPzqPq6.js +1 -0
- package/dist/assets/{refresh-cw-BkscUrbN.js → refresh-cw-DevIHL7J.js} +1 -1
- package/dist/assets/{remote-gateway-session-CT3EVXMA.js → remote-gateway-session-CBKZhJak.js} +1 -1
- package/dist/assets/{repeat-BRYsTqh_.js → repeat-C8Im6j--.js} +1 -1
- package/dist/assets/research-mock-page-CoMthbl4.js +1 -0
- package/dist/assets/research-onboarding-route-CeTflgoE.js +63 -0
- package/dist/assets/{resize-errors-yH10K9Qq.js → resize-errors-DqIkO0UI.js} +1 -1
- package/dist/assets/{resolved-assistants-store-CVjq_nhD.js → resolved-assistants-store-DAzPZ1eV.js} +1 -1
- package/dist/assets/review-terms-screen-DAZ66rIh.js +1 -0
- package/dist/assets/{risk-BtPQZGh-.js → risk-BQ3NV8r8.js} +1 -1
- package/dist/assets/routes-BXlWEOF0.js +1 -0
- package/dist/assets/save-aD5JFIZf.js +1 -0
- package/dist/assets/schedules-Dz6392n3.js +1 -0
- package/dist/assets/{sdk.gen-Z7XkRg5O.js → sdk.gen-9Cdt87h5.js} +1 -1
- package/dist/assets/{sdk.gen-C9GJEKYV.js → sdk.gen-CFgJ4K6f.js} +1 -1
- package/dist/assets/security-page-BS1WxY0d.js +1 -0
- package/dist/assets/select-assistant-screen-z3B8ngdP.js +1 -0
- package/dist/assets/{setting-row-BrTO4FAb.js → setting-row-imtQqr9o.js} +1 -1
- package/dist/assets/settings-layout-DFzwR63d.js +1 -0
- package/dist/assets/share-feedback-modal-DH2dhWbo.js +1 -0
- package/dist/assets/shortcut-keys-B2EE-634.js +1 -0
- package/dist/assets/{sidebar-tree-C_TcfNts.js → sidebar-tree-DWJkYLPh.js} +1 -1
- package/dist/assets/{signup-page-CrZg16Yg.js → signup-page-D2LQXMnG.js} +1 -1
- package/dist/assets/{signup-shell-CXHoTWnE.js → signup-shell-DCGARCES.js} +1 -1
- package/dist/assets/{site-favicon-CEvSq5Ys.js → site-favicon-DsYdnaxV.js} +1 -1
- package/dist/assets/skill-detail-page-CcZFUjdw.js +1 -0
- package/dist/assets/{skill-detail-panel-B1mM9MZQ.js → skill-detail-panel-B4WEYtK9.js} +1 -1
- package/dist/assets/skill-icon-CgzIQCTT.js +1 -0
- package/dist/assets/{skills-DB0adgHl.js → skills-D0rhLW1_.js} +1 -1
- package/dist/assets/skills-page-Di8dGQGo.js +1 -0
- package/dist/assets/sound-manager-CRFoAxE4.js +1 -0
- package/dist/assets/sounds-page-CF3gwgc9.js +1 -0
- package/dist/assets/{sparkles-BK3KXCjl.js → sparkles-PGiR5v1g.js} +1 -1
- package/dist/assets/{src-clcV9W6_.js → src-DZbMXyC2.js} +39 -39
- package/dist/assets/stat-square-CTHnQ1jc.js +1 -0
- package/dist/assets/step-indicator-dots-B-KCGh9e.js +1 -0
- package/dist/assets/subagent-detail-panel-BqYWP0b9.js +4 -0
- package/dist/assets/{subagent-store-CaWptCjh.js → subagent-store-B4PMGakL.js} +1 -1
- package/dist/assets/system-events-page-DdvtYv0_.js +1 -0
- package/dist/assets/system-events-redirect-page-HeBGwZCZ.js +1 -0
- package/dist/assets/tag-CV4v7fRF.js +1 -0
- package/dist/assets/{theme-preferences-D58K1K0j.js → theme-preferences-D1vs2UH8.js} +1 -1
- package/dist/assets/{theme-stage-page-Xj_RDfrS.js → theme-stage-page-8v_hsKXd.js} +1 -1
- package/dist/assets/{tiptap-document-editor-C0g4DNLq.js → tiptap-document-editor-1QvKHdlQ.js} +2 -2
- package/dist/assets/toast-xTp-xwYL.js +1 -0
- package/dist/assets/toggle-CDfguvUz.js +1 -0
- package/dist/assets/{tool-detail-panel-CKKbVoIf.js → tool-detail-panel-DarSpKEx.js} +1 -1
- package/dist/assets/{triangle-alert-CnjNKhNx.js → triangle-alert-Z0Gq0IuB.js} +1 -1
- package/dist/assets/typed-storage-BRvgA7pX.js +1 -0
- package/dist/assets/typography-D5f7kt80.js +1 -0
- package/dist/assets/{upgrade-cancel-page-Chq89ltm.js → upgrade-cancel-page-wop4boqC.js} +1 -1
- package/dist/assets/{upgrade-success-page-uZXxxn_J.js → upgrade-success-page-DWPEHzlo.js} +1 -1
- package/dist/assets/usage-page-CB5oigmL.js +1 -0
- package/dist/assets/{profile-metadata-VB4MBtgt.js → usage-window-CCdJWJ0U.js} +1 -1
- package/dist/assets/{use-active-assistant-id-DpxCpOc4.js → use-active-assistant-id-CGeH4Gl6.js} +1 -1
- package/dist/assets/use-bus-subscription-Cslzk2dW.js +1 -0
- package/dist/assets/{use-edge-swipe-back-D56kIRTP.js → use-edge-swipe-back-R9ItWgTp.js} +1 -1
- package/dist/assets/use-invite-link-dialog-_LChrtmw.js +1 -0
- package/dist/assets/use-is-org-ready-1Xighdsa.js +1 -0
- package/dist/assets/{use-onboarding-login-B24xPYHP.js → use-onboarding-login-BHrngniO.js} +1 -1
- package/dist/assets/{use-reduced-motion-ztQz2c8x.js → use-reduced-motion-BPBlq9_a.js} +1 -1
- package/dist/assets/use-skill-actions-mJaMNpfO.js +1 -0
- package/dist/assets/use-skill-categories-Bit2V2fA.js +1 -0
- package/dist/assets/{use-skill-detail-files-8u7UCzno.js → use-skill-detail-files-DDUUobr0.js} +1 -1
- package/dist/assets/{user-plus-KuzSTM_D.js → user-plus-DMh4_UTz.js} +1 -1
- package/dist/assets/utils-xg2dl_KJ.js +1 -0
- package/dist/assets/{viewer-store-3OqDWGlU.js → viewer-store-90zmUKZ4.js} +1 -1
- package/dist/assets/voice-page-Dfl4T4_g.js +1 -0
- package/dist/assets/weather-forecast-display-DOXofTcV.js +1 -0
- package/dist/assets/web-6YTn0Mpt.js +1 -0
- package/dist/assets/web-B6BDTvZe.js +1 -0
- package/dist/assets/web-BEtTYpif.js +1 -0
- package/dist/assets/web-BrbVmY32.js +1 -0
- package/dist/assets/web-C3rsbCeg.js +1 -0
- package/dist/assets/web-CBHy41qN.js +1 -0
- package/dist/assets/web-CIdUPUaN.js +1 -0
- package/dist/assets/web-DGaEiOw7.js +1 -0
- package/dist/assets/{welcome-screen-Crxq3jKT.js → welcome-screen-kc41a0yS.js} +1 -1
- package/dist/assets/workflow-detail-panel-Dctg7w-3.js +1 -0
- package/dist/assets/workflow-store-CDrDxW5J.js +1 -0
- package/dist/assets/workspace-page-BWn-Je40.js +1 -0
- package/dist/assets/x-CkSVp1Ok.js +1 -0
- package/dist/index.html +142 -140
- package/package.json +1 -1
- package/dist/assets/activity-steps-panel-4k-GWBPN.js +0 -1
- package/dist/assets/ai-page-DQC2nlRD.js +0 -1
- package/dist/assets/animated-avatar-g_UuqPoB.js +0 -1
- package/dist/assets/api-VMxx8fMz.js +0 -1
- package/dist/assets/app-types-XM5qKBD0.js +0 -1
- package/dist/assets/archive-redirect-page-CzfenZ5a.js +0 -1
- package/dist/assets/arrow-left-C2re-gYj.js +0 -1
- package/dist/assets/assistant-identity-store-CgJwLRMd.js +0 -1
- package/dist/assets/assistant-status-panel-6Llvpw1M.js +0 -1
- package/dist/assets/auth-store-Vekcn1rg.js +0 -2
- package/dist/assets/background-task-detail-panel-BD0_vWCR.js +0 -1
- package/dist/assets/ban-Bvfp1f1I.js +0 -1
- package/dist/assets/billing-page-D8e1Y-L4.js +0 -3
- package/dist/assets/browser-804KO6w7.js +0 -2
- package/dist/assets/button-BQVYX8n_.js +0 -1
- package/dist/assets/card-D8zyWtZh.js +0 -1
- package/dist/assets/channels-page-route-D8JLt4Hr.js +0 -9
- package/dist/assets/chat-DAoOaufm.js +0 -1
- package/dist/assets/chat-markdown-message-BEx5IwnO.js +0 -2
- package/dist/assets/check-CkQjevXL.js +0 -1
- package/dist/assets/checkbox-DpJ6rimy.js +0 -1
- package/dist/assets/chevron-left-mpHv5ahd.js +0 -1
- package/dist/assets/chevron-right-DDgSinGu.js +0 -1
- package/dist/assets/circle-check-DWe3QGcN.js +0 -1
- package/dist/assets/clock-YYSFOsux.js +0 -1
- package/dist/assets/code-D1zl7aOd.js +0 -1
- package/dist/assets/community-page-C8WmDVET.js +0 -1
- package/dist/assets/consent-C8XzlZzW.js +0 -1
- package/dist/assets/contacts-page-route-BH-d1Gx7.js +0 -1
- package/dist/assets/conversation-list-fetchers-CRj2YEra.js +0 -1
- package/dist/assets/credentials-page-FvDtHanb.js +0 -1
- package/dist/assets/danger-zone-redirect-page-D5PMgW3x.js +0 -1
- package/dist/assets/debug-page-D4Sca6Rg.js +0 -4
- package/dist/assets/detail-card-DKCRsPCl.js +0 -1
- package/dist/assets/developer-page-cnI-eUjv.js +0 -1
- package/dist/assets/devices-redirect-page-CULscA9R.js +0 -1
- package/dist/assets/dist-Df9Kbc9v.js +0 -1
- package/dist/assets/document-viewer-page-CqZ1exEy.js +0 -1
- package/dist/assets/dropdown-CuE5AuVj.js +0 -1
- package/dist/assets/effective-timezone-Cp9o8K5B.js +0 -1
- package/dist/assets/emails-page-BWgk2Z-k.js +0 -1
- package/dist/assets/esm-Bg_CV71l.js +0 -2
- package/dist/assets/esm-C-NQQXQk.js +0 -1
- package/dist/assets/esm-CfdeJFC3.js +0 -2
- package/dist/assets/esm-D6qOHXq4.js +0 -2
- package/dist/assets/esm-DhG5lsUR.js +0 -2
- package/dist/assets/esm-Dr3kF6_n.js +0 -2
- package/dist/assets/esm-M2XAj3Ql.js +0 -2
- package/dist/assets/eye-C2rSrbD-.js +0 -1
- package/dist/assets/eye-off-BQ9J3pF2.js +0 -1
- package/dist/assets/feature-flag-catalog-8sgxMZlC.js +0 -1
- package/dist/assets/file-editor-zaQWhFtF.js +0 -1
- package/dist/assets/file-markdown-CRSoMt9c.js +0 -2
- package/dist/assets/folder-open-7DKBH5WB.js +0 -1
- package/dist/assets/general-page-CXZbi2Zb.js +0 -1
- package/dist/assets/hatching-screen-8QQ5Mr8W.js +0 -1
- package/dist/assets/home-page-route-e6YKZPOA.js +0 -1
- package/dist/assets/identity-page-route-Dg5W344E.js +0 -7
- package/dist/assets/impersonate-version-flag-DRJTfKcP.js +0 -1
- package/dist/assets/index-CFQIPKjY.js +0 -211
- package/dist/assets/index-CJ9siVL4.css +0 -2
- package/dist/assets/ingest-DflLdJTp.js +0 -1
- package/dist/assets/input-6HVXMszw.js +0 -1
- package/dist/assets/integrations-page-Bbrw2Uh7.js +0 -1
- package/dist/assets/intelligence-layout-BsK19MtR.js +0 -1
- package/dist/assets/keyboard-shortcuts-redirect-page-DrBxlgF7.js +0 -1
- package/dist/assets/latest-assistant-text-Qj7hDn1c.js +0 -24
- package/dist/assets/library-detail-page-D-3NxcfG.js +0 -1
- package/dist/assets/library-page-DJL8fVvG.js +0 -1
- package/dist/assets/list-row-spYsDF9a.js +0 -1
- package/dist/assets/loader-circle-C9QrtO3C.js +0 -1
- package/dist/assets/local-settings-C-dW2vkq.js +0 -1
- package/dist/assets/login-page-JVOSAvMk.js +0 -1
- package/dist/assets/logs-layout-ezxror9r.js +0 -1
- package/dist/assets/memory-page-route-BjJp6GG6.js +0 -1
- package/dist/assets/menu-B672pBEP.js +0 -1
- package/dist/assets/messages-DWh9qzBE.js +0 -13
- package/dist/assets/mic-Dmvwrxe8.js +0 -1
- package/dist/assets/modal-bIQsMU63.js +0 -1
- package/dist/assets/mutation-error-BSB3r4np.js +0 -1
- package/dist/assets/native-file-CHp_Tbhe.js +0 -2
- package/dist/assets/notice-B8UI-BOp.js +0 -1
- package/dist/assets/notifications-page-DzLRSw-u.js +0 -1
- package/dist/assets/onboarding-store-Bxw_JVDh.js +0 -1
- package/dist/assets/page-empty-state-CgRBJsiJ.js +0 -1
- package/dist/assets/page-shell-lgSjRrZ-.js +0 -1
- package/dist/assets/panel-item-CegzTp_l.js +0 -1
- package/dist/assets/password-reset-page-CNCeaWWO.js +0 -1
- package/dist/assets/personality-page-CXeTTR9o.js +0 -1
- package/dist/assets/platform-detection-l1iKz8jP.js +0 -1
- package/dist/assets/plugins-page-DuMlB4ii.js +0 -1
- package/dist/assets/plugins-surface-DXytDI7x.js +0 -1
- package/dist/assets/plus-D54jrPDF.js +0 -1
- package/dist/assets/popover-rW459udD.js +0 -1
- package/dist/assets/prechat-jJWDBLel.js +0 -1
- package/dist/assets/prefs-Od3axSSC.js +0 -1
- package/dist/assets/privacy-page-pCFzcJzc.js +0 -1
- package/dist/assets/privacy-screen-6ZLxuz0S.js +0 -1
- package/dist/assets/progress-bar-Wa6qo8OT.js +0 -1
- package/dist/assets/provider-catalogs-mEOdGGoF.js +0 -1
- package/dist/assets/puzzle-0_oQwgsv.js +0 -1
- package/dist/assets/react-query.gen-CWfp8GEM.js +0 -1
- package/dist/assets/research-mock-page-bxXiu2Bj.js +0 -1
- package/dist/assets/research-onboarding-route-Dc93dQDk.js +0 -43
- package/dist/assets/review-terms-screen-CIWKcVhq.js +0 -1
- package/dist/assets/routes-GPGveWZ8.js +0 -1
- package/dist/assets/schedules-CTsHce7J.js +0 -1
- package/dist/assets/schedules-page-DtTKGidy.js +0 -1
- package/dist/assets/security-redirect-page-BjDQGfTt.js +0 -1
- package/dist/assets/select-assistant-screen-hWhI5kZ_.js +0 -1
- package/dist/assets/settings-divider-CCCamAH8.js +0 -1
- package/dist/assets/settings-layout-CMEu1Mzb.js +0 -1
- package/dist/assets/settings-wSv59mkN.js +0 -1
- package/dist/assets/share-feedback-modal-CamJi5dX.js +0 -1
- package/dist/assets/shield-check-kgUZeU9b.js +0 -1
- package/dist/assets/skill-detail-page-DK14Cp9u.js +0 -1
- package/dist/assets/skills-page-CyL4OD_Q.js +0 -1
- package/dist/assets/sounds-redirect-page-SALIbUWr.js +0 -1
- package/dist/assets/start-screen-CZ7j59Pl.js +0 -1
- package/dist/assets/subagent-detail-panel-CTJjZGP8.js +0 -4
- package/dist/assets/system-events-page-DtaGaAoh.js +0 -1
- package/dist/assets/system-events-redirect-page-DCoGGk63.js +0 -1
- package/dist/assets/tag-D0AE0-aA.js +0 -1
- package/dist/assets/toast-CZmbu5xl.js +0 -1
- package/dist/assets/toggle-CWrJ2t4S.js +0 -1
- package/dist/assets/typed-storage-D_VAgmkX.js +0 -1
- package/dist/assets/typography-Cqi8q9o7.js +0 -1
- package/dist/assets/usage-redirect-page-BRSD2lQL.js +0 -1
- package/dist/assets/use-assistant-identity-details-BDGF_Qun.js +0 -1
- package/dist/assets/use-invite-link-dialog-l_72sgiY.js +0 -1
- package/dist/assets/use-is-org-ready-CZIgoXmP.js +0 -1
- package/dist/assets/use-skill-actions-D1b_YIKn.js +0 -1
- package/dist/assets/use-skill-categories-Bpashk58.js +0 -1
- package/dist/assets/utils-DvUW9GK8.js +0 -1
- package/dist/assets/voice-page-BHZza2d9.js +0 -1
- package/dist/assets/weather-forecast-display-Cmq5dnFc.js +0 -1
- package/dist/assets/web-2Lv7tn-v.js +0 -1
- package/dist/assets/web-BMkUTu6e.js +0 -1
- package/dist/assets/web-BRNP0DmG.js +0 -1
- package/dist/assets/web-D9chpugB.js +0 -1
- package/dist/assets/web-DJgVPE0A.js +0 -1
- package/dist/assets/web-DL2EEVnA.js +0 -1
- package/dist/assets/web-DbZvx-GY.js +0 -1
- package/dist/assets/web-DguPzvKS.js +0 -1
- package/dist/assets/workflow-detail-panel-Bf0TdDD-.js +0 -1
- package/dist/assets/workspace-page-DQ5QNkGq.js +0 -1
- package/dist/assets/x-BYcSiJRX.js +0 -1
- /package/dist/assets/{app-info-Clwt3pCt.js → app-info-BxdEjcok.js} +0 -0
- /package/dist/assets/{avatar-bundled-components-ELDcio1Z.js → avatar-bundled-components-CMIiT9CS.js} +0 -0
- /package/dist/assets/{avatar-svg-compositor-D7Dy9s1k.js → avatar-svg-compositor-DQyPgWSC.js} +0 -0
- /package/dist/assets/{browser-timezone-viO2H3SD.js → browser-timezone-B2VEIYkv.js} +0 -0
- /package/dist/assets/{build.umd-D88jX3tx.js → build.umd-t16r8k1T.js} +0 -0
- /package/dist/assets/{bundle-mjs-CK9sN9wG.js → bundle-mjs-BZt35okJ.js} +0 -0
- /package/dist/assets/{conversation-store-CnRrUeSu.js → conversation-store-CynXqAcO.js} +0 -0
- /package/dist/assets/{createLucideIcon-Bjb-Kuq7.js → createLucideIcon-IRfcSUxS.js} +0 -0
- /package/dist/assets/{definitions-RERkHOnv.js → definitions-CK0CSdwt.js} +0 -0
- /package/dist/assets/{definitions-EvNC1i1H.js → definitions-Dj7uajgZ.js} +0 -0
- /package/dist/assets/{dist-DyRKd0bN2.js → dist-RkT480s0.js} +0 -0
- /package/dist/assets/{edge-swipe-arbiter-store-a9LiewmS.js → edge-swipe-arbiter-store-VEaUoy3F.js} +0 -0
- /package/dist/assets/{emoji-catalog-data-D8lRMt3A.js → emoji-catalog-data-Cp4IpzLe.js} +0 -0
- /package/dist/assets/{environment-store-BX22hkIL.js → environment-store-Bxe2pTvW.js} +0 -0
- /package/dist/assets/{format-file-size-DOE-vGl6.js → format-file-size-BLrV7wUA.js} +0 -0
- /package/dist/assets/{native-deep-link-CbHUZ2h_.js → native-deep-link-CPCbJkSt.js} +0 -0
- /package/dist/assets/{onboarding-step-layout-zvLUIT7j.js → onboarding-step-layout-Cup_f9lB.js} +0 -0
- /package/dist/assets/{optimistic-lifecycle-DTggtDfs.js → optimistic-lifecycle-C4YFdBr3.js} +0 -0
- /package/dist/assets/{pdf-OTWpgOp2.js → pdf-jCZ1S_t-.js} +0 -0
- /package/dist/assets/{pointer-DcD0Nt7Z.js → pointer-qy7F2Zff.js} +0 -0
- /package/dist/assets/{proxy-B6mdWM9d.js → proxy-Cadlowdl.js} +0 -0
- /package/dist/assets/{research-onboarding-persistence-C4LT0Ekr.js → research-onboarding-persistence-D_h0dT1o.js} +0 -0
- /package/dist/assets/{sdk.gen-8pCB8ehU.js → sdk.gen-CenbOmmb.js} +0 -0
- /package/dist/assets/{status-badge-pill-0N6rTEBg.js → status-badge-pill-B_ninpnM.js} +0 -0
- /package/dist/assets/{three-dot-indicator-DNuHHwtA.js → three-dot-indicator-BuZzHFUJ.js} +0 -0
- /package/dist/assets/{use-copy-to-clipboard-BCTXSMa-.js → use-copy-to-clipboard-Ap1ESW2j.js} +0 -0
- /package/dist/assets/{xterm-fGXm5t6D.js → xterm-CJZcgQLM.js} +0 -0
- /package/dist/assets/{xterm-addon-fit-DNV09uVI.js → xterm-addon-fit-BmGG02AS.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,t as a}from"./bundle-mjs-CK9sN9wG.js";var o=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`})),s=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=o()})),c=e(n(),1);function l(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function u(...e){return t=>{let n=!1,r=e.map(e=>{let r=l(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():l(e[t],null)}}}}function d(...e){return c.useCallback(u(...e),e)}var f=r(),p=Symbol.for(`react.lazy`),m=c.use;function h(e){return typeof e==`object`&&!!e&&`then`in e}function g(e){return typeof e==`object`&&!!e&&`$$typeof`in e&&e.$$typeof===p&&`_payload`in e&&h(e._payload)}function _(e){let t=y(e),n=c.forwardRef((e,n)=>{let{children:r,...i}=e;g(r)&&typeof m==`function`&&(r=m(r._payload));let a=c.Children.toArray(r),o=a.find(C);if(o){let e=o.props.children,r=a.map(t=>t===o?c.Children.count(e)>1?c.Children.only(null):c.isValidElement(e)?e.props.children:null:t);return(0,f.jsx)(t,{...i,ref:n,children:c.isValidElement(e)?c.cloneElement(e,void 0,r):null})}return(0,f.jsx)(t,{...i,ref:n,children:r})});return n.displayName=`${e}.Slot`,n}var v=_(`Slot`);function y(e){let t=c.forwardRef((e,t)=>{let{children:n,...r}=e;if(g(n)&&typeof m==`function`&&(n=m(n._payload)),c.isValidElement(n)){let e=T(n),i=w(r,n.props);return n.type!==c.Fragment&&(i.ref=t?u(t,e):e),c.cloneElement(n,i)}return c.Children.count(n)>1?c.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var b=Symbol(`radix.slottable`);function x(e){let t=({children:e})=>(0,f.jsx)(f.Fragment,{children:e});return t.displayName=`${e}.Slottable`,t.__radixId=b,t}var S=x(`Slottable`);function C(e){return c.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===b}function w(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 T(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 E=e=>typeof e==`boolean`?`${e}`:e===0?`0`:e,D=i,O=(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=E(t)||E(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)},k=a({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 A(...e){return k(i(e))}typeof window<`u`&&window.document&&window.document.createElement;function j(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),n===!1||!r.defaultPrevented)return t?.(r)}}function M(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function N(...e){return t=>{let n=!1,r=e.map(e=>{let r=M(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():M(e[t],null)}}}}function P(...e){return c.useCallback(N(...e),e)}function ee(e,t=[]){let n=[];function r(t,r){let i=c.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,l=c.useMemo(()=>o,Object.values(o));return(0,f.jsx)(s.Provider,{value:l,children:r})};o.displayName=t+`Provider`;function s(n,o){let s=o?.[e]?.[a]||i,l=c.useContext(s);if(l)return l;if(r!==void 0)return r;throw Error(`\`${n}\` must be used within \`${t}\``)}return[o,s]}let i=()=>{let t=n.map(e=>c.createContext(e));return function(n){let r=n?.[e]||t;return c.useMemo(()=>({[`__scope${e}`]:{...n,[e]:r}}),[n,r])}};return i.scopeName=e,[r,F(i,...t)]}function F(...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 c.useMemo(()=>({[`__scope${t.scopeName}`]:r}),[r])}};return n.scopeName=t.scopeName,n}var I=e(s(),1);function te(e){let t=c.forwardRef((t,n)=>{let{children:r,...i}=t,a=null,o=!1,s=[];le(r)&&typeof pe==`function`&&(r=pe(r._payload)),c.Children.forEach(r,e=>{if(se(e)){o=!0;let t=e,n=`child`in t.props?t.props.child:t.props.children;le(n)&&typeof pe==`function`&&(n=pe(n._payload)),a=ie(t,n),s.push(a?.props?.children)}else s.push(e)}),a?a=c.cloneElement(a,void 0,s):!o&&c.Children.count(r)===1&&c.isValidElement(r)&&(a=r);let l=a?oe(a):void 0,u=P(n,l);if(!a){if(r||r===0)throw Error(o?fe(e):de(e));return r}let d=ae(i,a.props??{});return a.type!==c.Fragment&&(d.ref=n?u:l),c.cloneElement(a,d)});return t.displayName=`${e}.Slot`,t}var ne=Symbol.for(`radix.slottable`);function re(e){let t=e=>`child`in e?e.children(e.child):e.children;return t.displayName=`${e}.Slottable`,t.__radixId=ne,t}var ie=(e,t)=>{if(`child`in e.props){let t=e.props.child;return c.isValidElement(t)?c.cloneElement(t,void 0,e.props.children(t.props.children)):null}return c.isValidElement(t)?t:null};function ae(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 oe(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 se(e){return c.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===ne}var ce=Symbol.for(`react.lazy`);function le(e){return typeof e==`object`&&!!e&&`$$typeof`in e&&e.$$typeof===ce&&`_payload`in e&&ue(e._payload)}function ue(e){return typeof e==`object`&&!!e&&`then`in e}var de=e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,fe=e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,pe=c.use,L=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=te(`Primitive.${t}`),r=c.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,f.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function me(e,t){e&&I.flushSync(()=>e.dispatchEvent(t))}function he(e){let t=c.useRef(e);return c.useEffect(()=>{t.current=e}),c.useMemo(()=>((...e)=>t.current?.(...e)),[])}var R=globalThis?.document?c.useLayoutEffect:()=>{},ge=c.useEffectEvent,_e=c.useInsertionEffect;function ve(e){if(typeof ge==`function`)return ge(e);let t=c.useRef(()=>{throw Error(`Cannot call an event handler while rendering.`)});return typeof _e==`function`?_e(()=>{t.current=e}):R(()=>{t.current=e}),c.useMemo(()=>((...e)=>t.current?.(...e)),[])}var ye=`DismissableLayer`,be=`dismissableLayer.update`,xe=`dismissableLayer.pointerDownOutside`,Se=`dismissableLayer.focusOutside`,Ce,we=c.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),Te=c.forwardRef((e,t)=>{let{disableOutsidePointerEvents:n=!1,deferPointerDownOutside:r=!1,onEscapeKeyDown:i,onPointerDownOutside:a,onFocusOutside:o,onInteractOutside:s,onDismiss:l,...u}=e,d=c.useContext(we),[p,m]=c.useState(null),h=p?.ownerDocument??globalThis?.document,[,g]=c.useState({}),_=P(t,m),v=Array.from(d.layers),[y]=[...d.layersWithOutsidePointerEventsDisabled].slice(-1),b=v.indexOf(y),x=p?v.indexOf(p):-1,S=d.layersWithOutsidePointerEventsDisabled.size>0,C=x>=b,w=c.useRef(!1),T=ke(e=>{let t=e.target;if(!(t instanceof Node))return;let n=[...d.branches].some(e=>e.contains(t));!C||n||(a?.(e),s?.(e),e.defaultPrevented||l?.())},{ownerDocument:h,deferPointerDownOutside:r,isDeferredPointerDownOutsideRef:w,dismissableSurfaces:d.dismissableSurfaces}),E=Ae(e=>{if(r&&w.current)return;let t=e.target;[...d.branches].some(e=>e.contains(t))||(o?.(e),s?.(e),e.defaultPrevented||l?.())},h),D=p?x===v.length-1:!1,O=ve(e=>{e.key===`Escape`&&(i?.(e),!e.defaultPrevented&&l&&(e.preventDefault(),l()))});return c.useEffect(()=>{if(D)return h.addEventListener(`keydown`,O,{capture:!0}),()=>h.removeEventListener(`keydown`,O,{capture:!0})},[h,D]),c.useEffect(()=>{if(p)return n&&(d.layersWithOutsidePointerEventsDisabled.size===0&&(Ce=h.body.style.pointerEvents,h.body.style.pointerEvents=`none`),d.layersWithOutsidePointerEventsDisabled.add(p)),d.layers.add(p),je(),()=>{n&&(d.layersWithOutsidePointerEventsDisabled.delete(p),d.layersWithOutsidePointerEventsDisabled.size===0&&(h.body.style.pointerEvents=Ce))}},[p,h,n,d]),c.useEffect(()=>()=>{p&&(d.layers.delete(p),d.layersWithOutsidePointerEventsDisabled.delete(p),je())},[p,d]),c.useEffect(()=>{let e=()=>g({});return document.addEventListener(be,e),()=>document.removeEventListener(be,e)},[]),(0,f.jsx)(L.div,{...u,ref:_,style:{pointerEvents:S?C?`auto`:`none`:void 0,...e.style},onFocusCapture:j(e.onFocusCapture,E.onFocusCapture),onBlurCapture:j(e.onBlurCapture,E.onBlurCapture),onPointerDownCapture:j(e.onPointerDownCapture,T.onPointerDownCapture)})});Te.displayName=ye;var Ee=`DismissableLayerBranch`,De=c.forwardRef((e,t)=>{let n=c.useContext(we),r=c.useRef(null),i=P(t,r);return c.useEffect(()=>{let e=r.current;if(e)return n.branches.add(e),()=>{n.branches.delete(e)}},[n.branches]),(0,f.jsx)(L.div,{...e,ref:i})});De.displayName=Ee;function Oe(){let e=c.useContext(we),[t,n]=c.useState(null);return c.useEffect(()=>{if(t)return e.dismissableSurfaces.add(t),()=>{e.dismissableSurfaces.delete(t)}},[t,e.dismissableSurfaces]),n}function ke(e,t){let{ownerDocument:n=globalThis?.document,deferPointerDownOutside:r=!1,isDeferredPointerDownOutsideRef:i,dismissableSurfaces:a}=t,o=he(e),s=c.useRef(!1),l=c.useRef(!1),u=c.useRef(new Map),d=c.useRef(()=>{});return c.useEffect(()=>{function e(){l.current=!1,i.current=!1,u.current.clear()}function t(){return Array.from(u.current.values()).some(Boolean)}function c(e){if(!l.current)return;let t=e.target;t instanceof Node&&[...a].some(e=>e.contains(t))||u.current.set(e.type,!0),e.type===`click`&&window.setTimeout(()=>{l.current&&d.current()},0)}function f(e){l.current&&u.current.set(e.type,!1)}let p=a=>{if(a.target&&!s.current){let s=function(){n.removeEventListener(`click`,d.current);let r=t();e(),r||Me(xe,o,c,{discrete:!0})},c={originalEvent:a};l.current=!0,i.current=r&&a.button===0,u.current.clear(),!r||a.button!==0?s():(n.removeEventListener(`click`,d.current),d.current=s,n.addEventListener(`click`,d.current,{once:!0}))}else n.removeEventListener(`click`,d.current),e();s.current=!1},m=[`pointerup`,`mousedown`,`mouseup`,`touchstart`,`touchend`,`click`];for(let e of m)n.addEventListener(e,c,!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`,d.current);for(let e of m)n.removeEventListener(e,c,!0),n.removeEventListener(e,f)}},[n,o,r,i,a]),{onPointerDownCapture:()=>s.current=!0}}function Ae(e,t=globalThis?.document){let n=he(e),r=c.useRef(!1);return c.useEffect(()=>{let e=e=>{e.target&&!r.current&&Me(Se,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 je(){let e=new CustomEvent(be);document.dispatchEvent(e)}function Me(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?me(i,a):i.dispatchEvent(a)}var Ne=c.useId||(()=>void 0),Pe=0;function Fe(e){let[t,n]=c.useState(Ne());return R(()=>{e||n(e=>e??String(Pe++))},[e]),e||(t?`radix-${t}`:``)}var Ie=[`top`,`right`,`bottom`,`left`],Le=[`start`,`end`],Re=Ie.reduce((e,t)=>e.concat(t,t+`-`+Le[0],t+`-`+Le[1]),[]),z=Math.min,B=Math.max,ze=Math.round,Be=Math.floor,V=e=>({x:e,y:e}),Ve={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function He(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 Ue(e){return e===`x`?`y`:`x`}function We(e){return e===`y`?`height`:`width`}function G(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function Ge(e){return Ue(G(e))}function Ke(e,t,n){n===void 0&&(n=!1);let r=W(e),i=Ge(e),a=We(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=tt(o)),[o,tt(o)]}function qe(e){let t=tt(e);return[Je(e),t,Je(t)]}function Je(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var Ye=[`left`,`right`],Xe=[`right`,`left`],Ze=[`top`,`bottom`],Qe=[`bottom`,`top`];function $e(e,t,n){switch(e){case`top`:case`bottom`:return n?t?Xe:Ye:t?Ye:Xe;case`left`:case`right`:return t?Ze:Qe;default:return[]}}function et(e,t,n,r){let i=W(e),a=$e(U(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(Je)))),a}function tt(e){let t=U(e);return Ve[t]+e.slice(t.length)}function nt(e){return{top:0,right:0,bottom:0,left:0,...e}}function rt(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:nt(e)}function it(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 at(e,t,n){let{reference:r,floating:i}=e,a=G(t),o=Ge(t),s=We(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 ot(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=rt(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=it(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=it(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 st=50,ct=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:ot},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=at(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<st&&(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}=at(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},lt=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=rt(u),f={x:n,y:r},p=Ge(i),m=We(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=He(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 ut(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?Je(n)!==n:!1):!0)}var dt=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=Re,autoAlignment:u=!0,...d}=H(e,t),f=c!==void 0||l===Re?ut(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=Ke(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}}}}},ft=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?[tt(o)]:qe(o)),x=p!==`none`;!d&&x&&b.push(...et(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=Ke(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 pt(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function mt(e){return Ie.some(t=>e[t]>=0)}var ht=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=pt(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:mt(e)}}}case`escaped`:{let e=pt(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:mt(e)}}}default:return{}}}}};function gt(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 _t(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=>it(gt(e)))}var vt=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=_t(u),f=it(gt(u)),p=rt(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}}:{}}}},yt=new Set([`left`,`top`]);async function bt(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=yt.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 xt=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 bt(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}}}}},St=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=Ue(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=He(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=He(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}}}}}},Ct=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=Ue(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=yt.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}}}},wt=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 Tt(){return typeof window<`u`}function Et(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 Tt()?e instanceof Node||e instanceof K(e).Node:!1}function J(e){return Tt()?e instanceof Element||e instanceof K(e).Element:!1}function Y(e){return Tt()?e instanceof HTMLElement||e instanceof K(e).HTMLElement:!1}function Ot(e){return!Tt()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof K(e).ShadowRoot}function kt(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 At(e){return/^(table|td|th)$/.test(Et(e))}function jt(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var Mt=/transform|translate|scale|rotate|perspective|filter/,Nt=/paint|layout|strict|content/,X=e=>!!e&&e!==`none`,Pt;function Ft(e){let t=J(e)?Z(e):e;return X(t.transform)||X(t.translate)||X(t.scale)||X(t.rotate)||X(t.perspective)||!Lt()&&(X(t.backdropFilter)||X(t.filter))||Mt.test(t.willChange||``)||Nt.test(t.contain||``)}function It(e){let t=Q(e);for(;Y(t)&&!Rt(t);){if(Ft(t))return t;if(jt(t))return null;t=Q(t)}return null}function Lt(){return Pt??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),Pt}function Rt(e){return/^(html|body|#document)$/.test(Et(e))}function Z(e){return K(e).getComputedStyle(e)}function zt(e){return J(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Q(e){if(Et(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||Ot(e)&&e.host||q(e);return Ot(t)?t.host:t}function Bt(e){let t=Q(e);return Rt(t)?e.ownerDocument?e.ownerDocument.body:e.body:Y(t)&&kt(t)?t:Bt(t)}function Vt(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=Bt(e),i=r===e.ownerDocument?.body,a=K(r);if(i){let e=Ht(a);return t.concat(a,a.visualViewport||[],kt(r)?r:[],e&&n?Vt(e):[])}else return t.concat(r,Vt(r,[],n))}function Ht(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Ut(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=ze(n)!==a||ze(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function Wt(e){return J(e)?e:e.contextElement}function Gt(e){let t=Wt(e);if(!Y(t))return V(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=Ut(t),o=(a?ze(n.width):n.width)/r,s=(a?ze(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var Kt=V(0);function qt(e){let t=K(e);return!Lt()||!t.visualViewport?Kt:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Jt(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=Wt(e),o=V(1);t&&(r?J(r)&&(o=Gt(r)):o=Gt(e));let s=Jt(a,n,r)?qt(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=Ht(n);for(;i&&r&&t!==n;){let e=Gt(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=Ht(n)}}return it({width:u,height:d,x:c,y:l})}function Yt(e,t){let n=zt(e).scrollLeft;return t?t.left+n:$(q(e)).left+n}function Xt(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-Yt(e,n),y:n.top+t.scrollTop}}function Zt(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=q(r),s=t?jt(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)&&((Et(r)!==`body`||kt(o))&&(c=zt(r)),d)){let e=$(r);l=Gt(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?Xt(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 Qt(e){return Array.from(e.getClientRects())}function $t(e){let t=q(e),n=zt(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+Yt(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 en=25;function tn(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=Lt();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=Yt(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<=en&&(a-=o)}else l<=en&&(a+=l);return{width:a,height:o,x:s,y:c}}function nn(e,t){let n=$(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=Y(e)?Gt(e):V(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function rn(e,t,n){let r;if(t===`viewport`)r=tn(e,n);else if(t===`document`)r=$t(q(e));else if(J(t))r=nn(t,n);else{let n=qt(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return it(r)}function an(e,t){let n=Q(e);return n===t||!J(n)||Rt(n)?!1:Z(n).position===`fixed`||an(n,t)}function on(e,t){let n=t.get(e);if(n)return n;let r=Vt(e,[],!1).filter(e=>J(e)&&Et(e)!==`body`),i=null,a=Z(e).position===`fixed`,o=a?Q(e):e;for(;J(o)&&!Rt(o);){let t=Z(o),n=Ft(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&(i.position===`absolute`||i.position===`fixed`)||kt(o)&&!n&&an(e,o))?r=r.filter(e=>e!==o):i=t,o=Q(o)}return t.set(e,r),r}function sn(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?jt(t)?[]:on(t,this._c):[].concat(n),r],o=rn(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=rn(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 cn(e){let{width:t,height:n}=Ut(e);return{width:t,height:n}}function ln(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=Yt(i)}if(r||!r&&!a)if((Et(t)!==`body`||kt(i))&&(s=zt(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?Xt(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 un(e){return Z(e).position===`static`}function dn(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 fn(e,t){let n=K(e);if(jt(e))return n;if(!Y(e)){let t=Q(e);for(;t&&!Rt(t);){if(J(t)&&!un(t))return t;t=Q(t)}return n}let r=dn(e,t);for(;r&&At(r)&&un(r);)r=dn(r,t);return r&&Rt(r)&&un(r)&&!Ft(r)?n:r||It(e)||n}var pn=async function(e){let t=this.getOffsetParent||fn,n=this.getDimensions,r=await n(e.floating);return{reference:ln(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function mn(e){return Z(e).direction===`rtl`}var hn={convertOffsetParentRelativeRectToViewportRelativeRect:Zt,getDocumentElement:q,getClippingRect:sn,getOffsetParent:fn,getElementRects:pn,getClientRects:Qt,getDimensions:cn,getScale:Gt,isElement:J,isRTL:mn};function gn(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function _n(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=Be(d),h=Be(i.clientWidth-(u+f)),g=Be(i.clientHeight-(d+p)),_=Be(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&&!gn(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 vn(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=Wt(e),u=i||a?[...l?Vt(l):[],...t?Vt(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?_n(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&&!gn(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 yn=xt,bn=dt,xn=St,Sn=ft,Cn=wt,wn=ht,Tn=lt,En=vt,Dn=Ct,On=(e,t,n)=>{let r=new Map,i={platform:hn,...n},a={...i.platform,_c:r};return ct(e,t,{...i,platform:a})},kn=typeof document<`u`?c.useLayoutEffect:function(){};function An(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(!An(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)&&!An(e[n],t[n]))return!1}return!0}return e!==e&&t!==t}function jn(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Mn(e,t){let n=jn(e);return Math.round(t*n)/n}function Nn(e){let t=c.useRef(e);return kn(()=>{t.current=e}),t}function Pn(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:l,open:u}=e,[d,f]=c.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[p,m]=c.useState(r);An(p,r)||m(r);let[h,g]=c.useState(null),[_,v]=c.useState(null),y=c.useCallback(e=>{e!==C.current&&(C.current=e,g(e))},[]),b=c.useCallback(e=>{e!==w.current&&(w.current=e,v(e))},[]),x=a||h,S=o||_,C=c.useRef(null),w=c.useRef(null),T=c.useRef(d),E=l!=null,D=Nn(l),O=Nn(i),k=Nn(u),A=c.useCallback(()=>{if(!C.current||!w.current)return;let e={placement:t,strategy:n,middleware:p};O.current&&(e.platform=O.current),On(C.current,w.current,e).then(e=>{let t={...e,isPositioned:k.current!==!1};j.current&&!An(T.current,t)&&(T.current=t,I.flushSync(()=>{f(t)}))})},[p,t,n,O,k]);kn(()=>{u===!1&&T.current.isPositioned&&(T.current.isPositioned=!1,f(e=>({...e,isPositioned:!1})))},[u]);let j=c.useRef(!1);kn(()=>(j.current=!0,()=>{j.current=!1}),[]),kn(()=>{if(x&&(C.current=x),S&&(w.current=S),x&&S){if(D.current)return D.current(x,S,A);A()}},[x,S,A,D,E]);let M=c.useMemo(()=>({reference:C,floating:w,setReference:y,setFloating:b}),[y,b]),N=c.useMemo(()=>({reference:x,floating:S}),[x,S]),P=c.useMemo(()=>{let e={position:n,left:0,top:0};if(!N.floating)return e;let t=Mn(N.floating,d.x),r=Mn(N.floating,d.y);return s?{...e,transform:`translate(`+t+`px, `+r+`px)`,...jn(N.floating)>=1.5&&{willChange:`transform`}}:{position:n,left:t,top:r}},[n,s,N.floating,d.x,d.y]);return c.useMemo(()=>({...d,update:A,refs:M,elements:N,floatingStyles:P}),[d,A,M,N,P])}var Fn=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?{}:Tn({element:r.current,padding:i}).fn(n):r?Tn({element:r,padding:i}).fn(n):{}}}},In=(e,t)=>{let n=yn(e);return{name:n.name,fn:n.fn,options:[e,t]}},Ln=(e,t)=>{let n=xn(e);return{name:n.name,fn:n.fn,options:[e,t]}},Rn=(e,t)=>({fn:Dn(e).fn,options:[e,t]}),zn=(e,t)=>{let n=Sn(e);return{name:n.name,fn:n.fn,options:[e,t]}},Bn=(e,t)=>{let n=Cn(e);return{name:n.name,fn:n.fn,options:[e,t]}},Vn=(e,t)=>{let n=wn(e);return{name:n.name,fn:n.fn,options:[e,t]}},Hn=(e,t)=>{let n=Fn(e);return{name:n.name,fn:n.fn,options:[e,t]}},Un=`Arrow`,Wn=c.forwardRef((e,t)=>{let{children:n,width:r=10,height:i=5,...a}=e;return(0,f.jsx)(L.svg,{...a,ref:t,width:r,height:i,viewBox:`0 0 30 10`,preserveAspectRatio:`none`,children:e.asChild?n:(0,f.jsx)(`polygon`,{points:`0,0 30,0 15,10`})})});Wn.displayName=Un;var Gn=Wn;function Kn(e){let[t,n]=c.useState(void 0);return R(()=>{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 qn=`Popper`,[Jn,Yn]=ee(qn),[Xn,Zn]=Jn(qn),Qn=e=>{let{__scopePopper:t,children:n}=e,[r,i]=c.useState(null),[a,o]=c.useState(void 0);return(0,f.jsx)(Xn,{scope:t,anchor:r,onAnchorChange:i,placementState:a,setPlacementState:o,children:n})};Qn.displayName=qn;var $n=`PopperAnchor`,er=c.forwardRef((e,t)=>{let{__scopePopper:n,virtualRef:r,...i}=e,a=Zn($n,n),o=c.useRef(null),s=a.onAnchorChange,l=P(t,c.useCallback(e=>{o.current=e,e&&s(e)},[s])),u=c.useRef(null);c.useEffect(()=>{if(!r)return;let e=u.current;u.current=r.current,e!==u.current&&s(u.current)});let d=a.placementState&&ur(a.placementState),p=d?.[0],m=d?.[1];return r?null:(0,f.jsx)(L.div,{"data-radix-popper-side":p,"data-radix-popper-align":m,...i,ref:l})});er.displayName=$n;var tr=`PopperContent`,[nr,rr]=Jn(tr),ir=c.forwardRef((e,t)=>{let{__scopePopper:n,side:r=`bottom`,sideOffset:i=0,align:a=`center`,alignOffset:o=0,arrowPadding:s=0,avoidCollisions:l=!0,collisionBoundary:u=[],collisionPadding:d=0,sticky:p=`partial`,hideWhenDetached:m=!1,updatePositionStrategy:h=`optimized`,onPlaced:g,..._}=e,v=Zn(tr,n),[y,b]=c.useState(null),x=P(t,b),[S,C]=c.useState(null),w=Kn(S),T=w?.width??0,E=w?.height??0,D=r+(a===`center`?``:`-`+a),O=typeof d==`number`?d:{top:0,right:0,bottom:0,left:0,...d},k=Array.isArray(u)?u:[u],A=k.length>0,j={padding:O,boundary:k.filter(cr),altBoundary:A},{refs:M,floatingStyles:N,placement:ee,isPositioned:F,middlewareData:I}=Pn({strategy:`fixed`,placement:D,whileElementsMounted:(...e)=>vn(...e,{animationFrame:h===`always`}),elements:{reference:v.anchor},middleware:[In({mainAxis:i+E,alignmentAxis:o}),l&&Ln({mainAxis:!0,crossAxis:!1,limiter:p===`partial`?Rn():void 0,...j}),l&&zn({...j}),Bn({...j,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`)}}),S&&Hn({element:S,padding:s}),lr({arrowWidth:T,arrowHeight:E}),m&&Vn({strategy:`referenceHidden`,...j,boundary:A?j.boundary:void 0})]}),te=v.setPlacementState;R(()=>(te(ee),()=>{te(void 0)}),[ee,te]);let[ne,re]=ur(ee),ie=he(g);R(()=>{F&&ie?.()},[F,ie]);let ae=I.arrow?.x,oe=I.arrow?.y,se=I.arrow?.centerOffset!==0,[ce,le]=c.useState();return R(()=>{y&&le(window.getComputedStyle(y).zIndex)},[y]),(0,f.jsx)(`div`,{ref:M.setFloating,"data-radix-popper-content-wrapper":``,style:{...N,transform:F?N.transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:ce,"--radix-popper-transform-origin":[I.transformOrigin?.x,I.transformOrigin?.y].join(` `),...I.hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}},dir:e.dir,children:(0,f.jsx)(nr,{scope:n,placedSide:ne,placedAlign:re,onArrowChange:C,arrowX:ae,arrowY:oe,shouldHideArrow:se,children:(0,f.jsx)(L.div,{"data-side":ne,"data-align":re,..._,ref:x,style:{..._.style,animation:F?void 0:`none`}})})})});ir.displayName=tr;var ar=`PopperArrow`,or={top:`bottom`,right:`left`,bottom:`top`,left:`right`},sr=c.forwardRef(function(e,t){let{__scopePopper:n,...r}=e,i=rr(ar,n),a=or[i.placedSide];return(0,f.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,f.jsx)(Gn,{...r,ref:t,style:{...r.style,display:`block`}})})});sr.displayName=ar;function cr(e){return e!==null}var lr=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]=ur(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 ur(e){let[t,n=`center`]=e.split(`-`);return[t,n]}var dr=Qn,fr=er,pr=ir,mr=sr,hr=`Portal`,gr=c.forwardRef((e,t)=>{let{container:n,...r}=e,[i,a]=c.useState(!1);R(()=>a(!0),[]);let o=n||i&&globalThis?.document?.body;return o?I.createPortal((0,f.jsx)(L.div,{...r,ref:t}),o):null});gr.displayName=hr;function _r(e,t){return c.useReducer((e,n)=>t[e][n]??e,e)}var vr=e=>{let{present:t,children:n}=e,r=yr(t),i=typeof n==`function`?n({present:r.isPresent}):c.Children.only(n),a=xr(r.ref,Cr(i));return typeof n==`function`||r.isPresent?c.cloneElement(i,{ref:a}):null};vr.displayName=`Presence`;function yr(e){let[t,n]=c.useState(),r=c.useRef(null),i=c.useRef(e),a=c.useRef(`none`),[o,s]=_r(e?`mounted`:`unmounted`,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}});return c.useEffect(()=>{let e=Sr(r.current);a.current=o===`mounted`?e:`none`},[o]),R(()=>{let t=r.current,n=i.current;if(n!==e){let r=a.current,o=Sr(t);e?s(`MOUNT`):o===`none`||t?.display===`none`?s(`UNMOUNT`):s(n&&r!==o?`ANIMATION_OUT`:`UNMOUNT`),i.current=e}},[e,s]),R(()=>{if(t){let e,n=t.ownerDocument.defaultView??window,o=a=>{let o=Sr(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=Sr(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:c.useCallback(e=>{r.current=e?getComputedStyle(e):null,n(e)},[])}}function br(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function xr(...e){let t=c.useRef(e);return t.current=e,c.useCallback(e=>{let n=t.current,r=!1,i=n.map(t=>{let n=br(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():br(n[e],null)}}},[])}function Sr(e){return e?.animationName||`none`}function Cr(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 wr=c.useInsertionEffect||R;function Tr({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){let[i,a,o]=Er({defaultProp:t,onChange:n}),s=e!==void 0,l=s?e:i;{let t=c.useRef(e!==void 0);c.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[l,c.useCallback(t=>{if(s){let n=Dr(t)?t(e):t;n!==e&&o.current?.(n)}else a(t)},[s,e,a,o])]}function Er({defaultProp:e,onChange:t}){let[n,r]=c.useState(e),i=c.useRef(n),a=c.useRef(t);return wr(()=>{a.current=t},[t]),c.useEffect(()=>{i.current!==n&&(a.current?.(n),i.current=n)},[n,i]),[n,r,a]}function Dr(e){return typeof e==`function`}var Or=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`}),kr=`VisuallyHidden`,Ar=c.forwardRef((e,t)=>(0,f.jsx)(L.span,{...e,ref:t,style:{...Or,...e.style}}));Ar.displayName=kr;var jr=Ar,[Mr,Nr]=ee(`Tooltip`,[Yn]),Pr=Yn(),Fr=`TooltipProvider`,Ir=700,Lr=`tooltip.open`,[Rr,zr]=Mr(Fr),Br=e=>{let{__scopeTooltip:t,delayDuration:n=Ir,skipDelayDuration:r=300,disableHoverableContent:i=!1,children:a}=e,o=c.useRef(!0),s=c.useRef(!1),l=c.useRef(0);return c.useEffect(()=>{let e=l.current;return()=>window.clearTimeout(e)},[]),(0,f.jsx)(Rr,{scope:t,isOpenDelayedRef:o,delayDuration:n,onOpen:c.useCallback(()=>{r<=0||(window.clearTimeout(l.current),o.current=!1)},[r]),onClose:c.useCallback(()=>{r<=0||(window.clearTimeout(l.current),l.current=window.setTimeout(()=>o.current=!0,r))},[r]),isPointerInTransitRef:s,onPointerInTransitChange:c.useCallback(e=>{s.current=e},[]),disableHoverableContent:i,children:a})};Br.displayName=Fr;var Vr=`Tooltip`,[Hr,Ur]=Mr(Vr),Wr=e=>{let{__scopeTooltip:t,children:n,open:r,defaultOpen:i,onOpenChange:a,disableHoverableContent:o,delayDuration:s}=e,l=zr(Vr,e.__scopeTooltip),u=Pr(t),[d,p]=c.useState(null),m=Fe(),h=c.useRef(0),g=o??l.disableHoverableContent,_=s??l.delayDuration,v=c.useRef(!1),[y,b]=Tr({prop:r,defaultProp:i??!1,onChange:e=>{e?(l.onOpen(),document.dispatchEvent(new CustomEvent(Lr))):l.onClose(),a?.(e)},caller:Vr}),x=c.useMemo(()=>y?v.current?`delayed-open`:`instant-open`:`closed`,[y]),S=c.useCallback(()=>{window.clearTimeout(h.current),h.current=0,v.current=!1,b(!0)},[b]),C=c.useCallback(()=>{window.clearTimeout(h.current),h.current=0,b(!1)},[b]),w=c.useCallback(()=>{window.clearTimeout(h.current),h.current=window.setTimeout(()=>{v.current=!0,b(!0),h.current=0},_)},[_,b]);return c.useEffect(()=>()=>{h.current&&=(window.clearTimeout(h.current),0)},[]),(0,f.jsx)(dr,{...u,children:(0,f.jsx)(Hr,{scope:t,contentId:m,open:y,stateAttribute:x,trigger:d,onTriggerChange:p,onTriggerEnter:c.useCallback(()=>{l.isOpenDelayedRef.current?w():S()},[l.isOpenDelayedRef,w,S]),onTriggerLeave:c.useCallback(()=>{g?C():(window.clearTimeout(h.current),h.current=0)},[C,g]),onOpen:S,onClose:C,disableHoverableContent:g,children:n})})};Wr.displayName=Vr;var Gr=`TooltipTrigger`,Kr=c.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,i=Ur(Gr,n),a=zr(Gr,n),o=Pr(n),s=P(t,c.useRef(null),i.onTriggerChange),l=c.useRef(!1),u=c.useRef(!1),d=c.useCallback(()=>l.current=!1,[]);return c.useEffect(()=>()=>document.removeEventListener(`pointerup`,d),[d]),(0,f.jsx)(fr,{asChild:!0,...o,children:(0,f.jsx)(L.button,{"aria-describedby":i.open?i.contentId:void 0,"data-state":i.stateAttribute,...r,ref:s,onPointerMove:j(e.onPointerMove,e=>{e.pointerType!==`touch`&&!u.current&&!a.isPointerInTransitRef.current&&(i.onTriggerEnter(),u.current=!0)}),onPointerLeave:j(e.onPointerLeave,()=>{i.onTriggerLeave(),u.current=!1}),onPointerDown:j(e.onPointerDown,()=>{i.open&&i.onClose(),l.current=!0,document.addEventListener(`pointerup`,d,{once:!0})}),onFocus:j(e.onFocus,()=>{l.current||i.onOpen()}),onBlur:j(e.onBlur,i.onClose),onClick:j(e.onClick,i.onClose)})})});Kr.displayName=Gr;var qr=`TooltipPortal`,[Jr,Yr]=Mr(qr,{forceMount:void 0}),Xr=e=>{let{__scopeTooltip:t,forceMount:n,children:r,container:i}=e,a=Ur(qr,t);return(0,f.jsx)(Jr,{scope:t,forceMount:n,children:(0,f.jsx)(vr,{present:n||a.open,children:(0,f.jsx)(gr,{asChild:!0,container:i,children:r})})})};Xr.displayName=qr;var Zr=`TooltipContent`,Qr=c.forwardRef((e,t)=>{let n=Yr(Zr,e.__scopeTooltip),{forceMount:r=n.forceMount,side:i=`top`,...a}=e,o=Ur(Zr,e.__scopeTooltip);return(0,f.jsx)(vr,{present:r||o.open,children:o.disableHoverableContent?(0,f.jsx)(ri,{side:i,...a,ref:t}):(0,f.jsx)($r,{side:i,...a,ref:t})})}),$r=c.forwardRef((e,t)=>{let n=Ur(Zr,e.__scopeTooltip),r=zr(Zr,e.__scopeTooltip),i=c.useRef(null),a=P(t,i),[o,s]=c.useState(null),{trigger:l,onClose:u}=n,d=i.current,{onPointerInTransitChange:p}=r,m=c.useCallback(()=>{s(null),p(!1)},[p]),h=c.useCallback((e,t)=>{let n=e.currentTarget,r={x:e.clientX,y:e.clientY},i=si(r,oi(r,n.getBoundingClientRect())),a=ci(t.getBoundingClientRect());s(ui([...i,...a])),p(!0)},[p]);return c.useEffect(()=>()=>m(),[m]),c.useEffect(()=>{if(l&&d){let e=e=>h(e,d),t=e=>h(e,l);return l.addEventListener(`pointerleave`,e),d.addEventListener(`pointerleave`,t),()=>{l.removeEventListener(`pointerleave`,e),d.removeEventListener(`pointerleave`,t)}}},[l,d,h,m]),c.useEffect(()=>{if(o){let e=e=>{let t=e.target,n={x:e.clientX,y:e.clientY},r=l?.contains(t)||d?.contains(t),i=!li(n,o);r?m():i&&(m(),u())};return document.addEventListener(`pointermove`,e),()=>document.removeEventListener(`pointermove`,e)}},[l,d,o,u,m]),(0,f.jsx)(ri,{...e,ref:a})}),[ei,ti]=Mr(Vr,{isInside:!1}),ni=re(`TooltipContent`),ri=c.forwardRef((e,t)=>{let{__scopeTooltip:n,children:r,"aria-label":i,onEscapeKeyDown:a,onPointerDownOutside:o,...s}=e,l=Ur(Zr,n),u=Pr(n),{onClose:d}=l;return c.useEffect(()=>(document.addEventListener(Lr,d),()=>document.removeEventListener(Lr,d)),[d]),c.useEffect(()=>{if(l.trigger){let e=e=>{e.target instanceof Node&&e.target.contains(l.trigger)&&d()};return window.addEventListener(`scroll`,e,{capture:!0}),()=>window.removeEventListener(`scroll`,e,{capture:!0})}},[l.trigger,d]),(0,f.jsx)(Te,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:a,onPointerDownOutside:o,onFocusOutside:e=>e.preventDefault(),onDismiss:d,children:(0,f.jsxs)(pr,{"data-state":l.stateAttribute,...u,...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,f.jsx)(ni,{children:r}),(0,f.jsx)(ei,{scope:n,isInside:!0,children:(0,f.jsx)(jr,{id:l.contentId,role:`tooltip`,children:i||r})})]})})});Qr.displayName=Zr;var ii=`TooltipArrow`,ai=c.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,i=Pr(n);return ti(ii,n).isInside?null:(0,f.jsx)(mr,{...i,...r,ref:t})});ai.displayName=ii;function oi(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 si(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 ci(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 li(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 ui(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)),di(t)}function di(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 fi=Br,pi=Wr,mi=Kr,hi=Xr,gi=Qr,_i=(0,c.createContext)(null);function vi({container:e,children:t}){return(0,f.jsx)(_i,{value:e,children:t})}function yi(){return(0,c.useContext)(_i)}function bi(e){return(0,f.jsx)(fi,{"data-slot":`tooltip-provider`,...e})}var xi=pi;function Si(e){return(0,f.jsx)(mi,{"data-slot":`tooltip-trigger`,...e})}function Ci({className:e,children:t,sideOffset:n=6,ref:r,...i}){let a=yi();return(0,f.jsx)(hi,{container:a??void 0,children:(0,f.jsx)(gi,{ref:r,"data-slot":`tooltip-content`,sideOffset:n,className:A(`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 wi({content:e,children:t,side:n,align:r,delayDuration:i}){return(0,f.jsx)(fi,{delayDuration:200,skipDelayDuration:300,children:(0,f.jsxs)(xi,{delayDuration:i,children:[(0,f.jsx)(Si,{asChild:!0,children:t}),(0,f.jsx)(Ci,{side:n,align:r,children:e})]})})}wi.Root=xi,wi.Trigger=Si,wi.Content=Ci;var Ti=O([`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 Ei(e){return e===`compact`?10:14}function Di({ref:e,variant:t=`primary`,size:n=`regular`,leftIcon:r,rightIcon:i,iconOnly:a,fullWidth:o=!1,active:s=!1,expandOnMobile:l=!0,iconOnlyGlyphClassName:u,tintColor:d,tooltip:p,tooltipSide:m,asChild:h=!1,className:g,style:_,type:y,children:b,title:x,disabled:C,onClick:w,...T}){let E=a!=null&&a!==!1,D=C===!0,O=h&&D,k=Ei(n),j={width:k,height:k,flexShrink:0,display:`inline-flex`,alignItems:`center`,justifyContent:`center`},M=A(`inline-flex items-center justify-center shrink-0 size-3.5 [&_svg]:size-3.5`,l&&`touch-mobile:size-4 touch-mobile:[&_svg]:size-4`,u),N=h?v:`button`,P={...d&&!D?{"--vbtn-fg":d}:null,..._},ee=e=>{e.preventDefault(),e.stopPropagation()},F=(0,f.jsx)(N,{...T,ref:e,type:h?void 0:y??`button`,disabled:h?void 0:C,"aria-disabled":O?!0:T[`aria-disabled`],"data-disabled":O?``:void 0,"data-slot":`button`,tabIndex:O?-1:T.tabIndex,onClick:O?ee:w,title:x,className:A(Ti({variant:t,size:n,iconOnly:E,fullWidth:o,active:s,expandOnMobile:l}),g),style:P,children:E?h&&(0,c.isValidElement)(b)?(0,c.cloneElement)(b,void 0,(0,f.jsx)(`span`,{"aria-hidden":`true`,className:M,children:a})):(0,f.jsx)(`span`,{"aria-hidden":`true`,className:M,children:a}):r==null&&i==null?b:(0,f.jsxs)(f.Fragment,{children:[r==null?null:(0,f.jsx)(`span`,{"aria-hidden":`true`,style:j,children:r}),(0,f.jsx)(S,{children:b}),i==null?null:(0,f.jsx)(`span`,{"aria-hidden":`true`,style:j,children:i})]})});return p?(0,f.jsx)(wi,{content:p,side:m,children:F}):F}export{te as A,Cn as C,he as D,Oe as E,O as F,v as I,u as L,P as M,j as N,L as O,A as P,d as R,xn as S,Te as T,On as _,yi as a,En as b,gr as c,pr as d,dr as f,bn as g,Tn as h,vi as i,ee as j,me as k,fr as l,Kn as m,wi as n,Tr as o,Yn as p,bi as r,vr as s,Di as t,mr as u,Sn as v,Fe as w,yn as x,wn as y,s as z};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{I as e,P as t}from"./button-BQVYX8n_.js";import{t as n}from"./jsx-runtime-CVSDxk6A.js";import{t as r}from"./typography-Cqi8q9o7.js";var i=n(),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:n,elevated:r,hasSections:i,noPadding:s,clipContents:c}){return t(o,n?`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:n=`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?e:`div`,g=c(f);return(0,i.jsx)(h,{...m,ref:p,"data-slot":`card`,className:t(s({padding:n,bordered:r,elevated:a,hasSections:g,noPadding:o,clipContents:l}),d),children:f})}function u({padding:e=`md`,className:n,children:o,ref:s,...c}){return(0,i.jsx)(r,{...c,ref:s,variant:`title-small`,as:`div`,"data-slot":`card-header`,className:t(a[e],`border-b border-[var(--border-base)]`,`text-[color:var(--content-default)]`,n),children:o})}function d({padding:e=`md`,className:n,children:r,ref:o,...s}){return(0,i.jsx)(`div`,{...s,ref:o,"data-slot":`card-body`,className:t(a[e],n),children:r})}function f({padding:e=`md`,className:n,children:r,ref:o,...s}){return(0,i.jsx)(`div`,{...s,ref:o,"data-slot":`card-footer`,className:t(a[e],`border-t border-[var(--border-base)]`,n),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{P as n,t as r}from"./button-BQVYX8n_.js";import{m as i,t as a,u as o}from"./chunk-5KNZJZUH-SU6Q_tDT.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-Cqi8q9o7.js";import{t as f}from"./card-D8zyWtZh.js";import{t as p}from"./chevron-down-DwIPfcCg.js";import{t as m}from"./list-row-spYsDF9a.js";import{t as h}from"./notice-B8UI-BOp.js";import{M as g,N as _,a as v,i as y,j as b}from"./src-clcV9W6_.js";import{t as x}from"./tag-D0AE0-aA.js";import{t as S}from"./input-6HVXMszw.js";import{t as C}from"./panel-item-CegzTp_l.js";import{t as w}from"./confirm-dialog-kE8y7s20.js";import{t as T}from"./dropdown-CuE5AuVj.js";import{n as E,t as D}from"./create-selectors-8NePGNlX.js";import{t as O}from"./assistant-identity-store-CgJwLRMd.js";import{r as k}from"./utils-DvUW9GK8.js";import{c as A}from"./routes-GPGveWZ8.js";import{i as j,o as M,r as N}from"./sdk.gen-8pCB8ehU.js";import{t as P}from"./assistant-feature-flag-store-Em1V67lp.js";import{t as F}from"./public-asset-WikBpVQd.js";import{Bt as I,D as ee,F as L,I as te,Ir as ne,La as R,P as re,T as ie,Yi as ae,bn as z,br as oe,fa as se,xa as B,xn as V,xr as ce}from"./index-CFQIPKjY.js";import{t as le}from"./use-active-assistant-id-DpxCpOc4.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-l_72sgiY.js";import{t as _e}from"./detail-card-DKCRsPCl.js";import{n as ve,t as ye}from"./mobile-sidebar-drawer-D_oNDC56.js";import{t as U}from"./mutation-error-BSB3r4np.js";var W=e(t(),1),G=u();function K({icon:e,title:t,description:r,action:i,className:a}){return(0,G.jsxs)(`div`,{className:n(`flex flex-col items-center justify-center gap-3 px-4 py-12 text-center`,a),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}),r?(0,G.jsx)(`p`,{className:`max-w-md text-body-medium-lighter text-[color:var(--content-tertiary)]`,children:r}):null,i?(0,G.jsx)(`div`,{className:`mt-1`,children:i}):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)(z,{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)(x,{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=re.map(e=>e.riskThreshold),X={none:{label:L(`none`).label,sublabel:`ask before every action`,tone:`negative`},low:{label:L(`low`).label,sublabel:`low-risk actions, ask for the rest`,tone:`warning`},medium:{label:L(`medium`).label,sublabel:`beyond its workspace too`,tone:`info`},high:{label:L(`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:n,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)(h,{tone:`warning`,title:`Custom access.`,className:`border-dashed`,actions:(0,G.jsx)(r,{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)(x,{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)(b,{items:l,value:t.tier??n,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:B,private:se},Pe=100,Fe=new Set;function Ie({assistantDisplayName:e,slackHandle:t,channels:i,loading:a=!1,error:o=!1,tierOverrides:s,defaultTier:c=null,accessControlsSupported:l=!0,tierOverridesLoading:u=!1,tierOverridesError:p=!1,pendingChannelIds:m=Fe,onTierChange:h,onTierReset:g}){let[_,b]=(0,W.useState)(``),[x,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(i??[]),[i]),j=(0,W.useMemo)(()=>ke(A,_,x),[A,_,x]),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:a?(0,G.jsx)(d,{as:`span`,variant:`body-small-default`,className:`text-[color:var(--content-tertiary)]`,children:`Loading…`}):o?(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)(B,{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)(S,{type:`search`,value:_,onChange:e=>b(e.target.value),placeholder:`Search channels`,"aria-label":`Search channels`,leftIcon:(0,G.jsx)(ae,{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 r=x===e,i=e===null?A.length:M[e];return(0,G.jsxs)(`button`,{type:`button`,"aria-pressed":r,onClick:()=>C(e),className:n(`inline-flex h-6 items-center rounded-full px-2.5 text-body-small-emphasised leading-none transition-colors`,r?`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,` `,i]},e??`all`)})}),(0,G.jsx)(r,{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)(y.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:u,overridesError:p,defaultTier:c,accessControls:l,tierOverride:s?.[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:u,overridesError:p,defaultTier:c,accessControls:l,tierOverride:s?.[e.id],onTierChange:t=>h?.(e.id,t),onReset:()=>g?.(e.id)},e.id))})]})}),!a&&!o&&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]}),l&&!a&&!o&&A.length>0?(0,G.jsx)(De,{assistantName:e}):null]})}function $({channel:e,open:t,pending:r,overridesLoading:i,overridesError:a,defaultTier:o,accessControls:s,tierOverride:c,onToggle:l,onTierChange:u,onReset:d}){let f=Q(e);if(f===`dm`)return null;let h=Ne[f],g=je(e),_=Ce(c),v=_.tier===null?null:X[_.tier],b=o===null?null:X[o];return s?(0,G.jsxs)(y.Item,{value:e.id,className:`[&+&]:border-t [&+&]:border-[var(--border-base)]`,children:[(0,G.jsx)(m,{leading:(0,G.jsx)(h,{className:`h-4 w-4 text-[var(--content-tertiary)]`}),title:e.name,onClick:l,contentAriaLabel:`${e.name} — ${t?`collapse`:`expand`} channel settings`,showChevron:!1,selected:t,trailing:(0,G.jsxs)(G.Fragment,{children:[r?(0,G.jsx)(`span`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:`Saving…`}):g==null?null:(0,G.jsx)(`span`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:g}),v===null?(0,G.jsx)(x,{children:b===null?`Default`:`${b.label} • default`}):(0,G.jsxs)(x,{tone:v.tone,children:[v.label,` • custom`]}),(0,G.jsx)(p,{"aria-hidden":`true`,className:n(`h-4 w-4 text-[var(--content-tertiary)] transition-transform`,t&&`rotate-180`)})]})}),(0,G.jsx)(y.Content,{children:(0,G.jsx)(we,{channelName:e.name,settings:_,defaultTier:o,loading:i,error:a,onTierChange:u,onReset:d})})]}):(0,G.jsx)(m,{leading:(0,G.jsx)(h,{className:`h-4 w-4 text-[var(--content-tertiary)]`}),title:e.name,trailing:g==null?void 0:(0,G.jsx)(`span`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:g})})}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=s(),r=P.use.channelTrustFloors(),i=Re(),a=r&&i&&!!e,o=(0,W.useMemo)(()=>({path:{assistant_id:e}}),[e]),u=(0,W.useMemo)(()=>ce(o),[o]),d=c({...oe(o),enabled:a,select:e=>Se(e.cells,t)}),f=c({queryKey:[`channel-permission-resolve`,e,t],queryFn:async()=>{let{data:e}=await M({...o,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=l({mutationFn:async({channelExternalId:e,tier:n})=>{await Promise.all(ze(t,e,n).map(e=>j({...o,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=l({mutationFn:async({channelExternalId:e})=>{await Promise.all(Z.map(n=>N({...o,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=c({...ie(e),enabled:!!e,select:e=>e.channels}),i=Ve({assistantId:e,adapter:`slack`}),a=c({queryKey:[`thresholds`,e],queryFn:()=>te(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:n,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)(x,{tone:`positive`,leftIcon:(0,G.jsx)(R,{}),children:`Connected`}),(0,G.jsx)(`div`,{className:`ml-auto`,children:(0,G.jsx)(r,{type:`button`,variant:`ghost`,onClick:n,disabled:!n||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)(_,{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:n,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:y=!1,policyError:b=!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)(x,{tone:`positive`,leftIcon:(0,G.jsx)(R,{}),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)(r,{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)(z,{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)(r,{type:`button`,variant:`outlined`,onClick:s,disabled:!s||a,children:a?`Opening…`:`Set up`}),(0,G.jsx)(r,{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:y,error:b,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)(ee,{assistantName:n,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)(h,{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,n]=(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)(S,{label:`Bot Token`,type:`password`,value:t,onChange:e=>n(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)(r,{type:`button`,onClick:async()=>{if(!(!e||!c)){a(!0),s(null);try{await e(t.trim()),n(``)}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,n]=(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)(S,{label:`Account SID`,type:`text`,value:t,onChange:e=>n(e.target.value),placeholder:`ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`,disabled:o,fullWidth:!0}),(0,G.jsx)(S,{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)(r,{type:`button`,onClick:async()=>{if(!(!e||!u)){s(!0),l(null);try{await e(t.trim(),i.trim()),n(``),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&&I(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=o(),t=le();return(0,G.jsx)($e,{assistantId:t,onStartSetupConversation:t=>{ne(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`,`open_conversation`,`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-CHp_Tbhe.js","assets/chunk-jRWAZmH_.js","assets/preload-helper-BewR0kVT.js","assets/dist-DyRKd0bN2.js","assets/pdf-OTWpgOp2.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{t as r,z as i}from"./button-BQVYX8n_.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-Cqi8q9o7.js";import{t as l}from"./check-CkQjevXL.js";import{t as u}from"./chevron-left-mpHv5ahd.js";import{t as d}from"./chevron-right-DDgSinGu.js";import{o as f}from"./list-row-spYsDF9a.js";import{t as p}from"./download-B6XjnEzx.js";import{t as m}from"./eye-off-BQ9J3pF2.js";import{t as h}from"./eye-C2rSrbD-.js";import{t as g}from"./file-C8pjlmtk.js";import{t as _}from"./key-round-BggUE1Ns.js";import{t as v}from"./loader-circle-C9QrtO3C.js";import{t as y}from"./x-BYcSiJRX.js";import{g as b,s as x}from"./src-clcV9W6_.js";import{n as S}from"./toast-CZmbu5xl.js";import{n as C,t as w}from"./file-markdown-CRSoMt9c.js";import{n as T}from"./resolved-assistants-store-CVjq_nhD.js";import{l as E,ut as ee}from"./sdk.gen-C9GJEKYV.js";import{t as D}from"./dist-DyRKd0bN2.js";import{t as O}from"./browser-804KO6w7.js";import{t as k}from"./haptics-DcKMA71D.js";import{t as te}from"./edge-swipe-arbiter-store-a9LiewmS.js";var A=e(n(),1),ne=e(i(),1),j=s(),M=`width=500,height=600`;function N(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 P(e){let t=N(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 re(e){if(typeof window>`u`)return null;let t=N(e);return!t||t.origin!==window.location.origin?null:`${t.pathname}${t.search}${t.hash}`}function F(e){return N(e)?.href??null}function I(e){if(!P(e))return!1;if(D.isNativePlatform()){let t=F(e);return t?(O(t),!0):!1}let t=window.open(e,`_blank`,M);return t===null?!1:(t.focus(),!0)}function L(e){return I(e)}function R(e){if(I(e))return!0;let t=window.open(e,`_blank`);return t===null?!1:(t.focus(),!0)}function ie(e,t){let n=re(e);if(n)return t.push(n),{kind:`routed`};let r=F(e);return r?t.isNative?(O(r),{kind:`opened`}):R(r)?{kind:`opened`}:{kind:`blocked`,url:r}:{kind:`invalid`}}async function z(e,t){if(!t||t.startsWith(`rehydrated:`))return null;try{let{data:n,error:r}=await E({path:{assistant_id:e,id:t},parseAs:`blob`,throwOnError:!1});return!r&&n instanceof Blob?n:null}catch{return null}}async function ae(e,t){let{saveFile:n}=await a(async()=>{let{saveFile:e}=await import(`./native-file-CHp_Tbhe.js`).then(e=>e.t);return{saveFile:e}},__vite__mapDeps([0,1,2,3]));if(t){let r=await z(t,e.id);if(r){await n(r,e.filename);return}}e.previewUrl&&await n(e.previewUrl,e.filename)}function B(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 oe(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 V(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 H(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 U(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 W=1.5,G=20,K=!1;async function q(){let e=await a(()=>import(`./pdf-OTWpgOp2.js`),__vite__mapDeps([4,2]));return K||=(e.GlobalWorkerOptions.workerSrc=`https://cdn.jsdelivr.net/npm/pdfjs-dist@${e.version}/legacy/build/pdf.worker.min.mjs`,!0),e}function se({url:e,className:t}){let n=(0,A.useRef)(null),[r,i]=(0,A.useState)(null),[a,o]=(0,A.useState)(0),[s,c]=(0,A.useState)(!0),[l,u]=(0,A.useState)(null),d=(0,A.useRef)(new Map),f=(0,A.useRef)(new Set);(0,A.useEffect)(()=>{let t=!1;async function n(){c(!0),u(null),i(null),o(0),f.current.clear();try{let n=await q(),r;if(e.startsWith(`data:`)){let t=H(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,G))}catch{t||u(`Failed to load PDF.`)}finally{t||c(!1)}}return n(),()=>{t=!0}},[e]),(0,A.useEffect)(()=>()=>{r&&r.destroy()},[r]);let p=(0,A.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:W});t.width=i.width,t.height=i.height,await n.render({canvas:t,viewport:i}).promise}catch{f.current.delete(e)}}},[r]);(0,A.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&&p(e)}},{root:n.current,rootMargin:`200px`});return d.current.forEach(t=>e.observe(t)),()=>e.disconnect()},[r,a,p]);let m=(0,A.useCallback)(e=>t=>{t?d.current.set(e,t):d.current.delete(e)},[]);return s?(0,j.jsx)(`div`,{className:`flex items-center justify-center py-24`,children:(0,j.jsx)(v,{className:`h-8 w-8 animate-spin text-white/70`})}):l?(0,j.jsx)(`div`,{className:`w-full max-w-sm rounded-lg border border-white/15 bg-white/[0.08] p-8 text-center`,children:(0,j.jsx)(`p`,{className:`text-body-medium-lighter text-white/80`,children:l})}):(0,j.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,j.jsx)(`canvas`,{ref:m(t+1),"data-page":t+1,className:`w-[90vw] max-w-[800px]`,style:{height:`auto`}},t+1))})}function ce({message:e,filename:t,onDownload:n,downloadDisabled:i=!1}){return(0,j.jsxs)(`div`,{className:`w-full max-w-sm rounded-lg border border-white/15 bg-white/[0.08] p-8 text-center`,children:[(0,j.jsx)(`p`,{className:`text-body-medium-lighter text-white/80`,children:e}),(0,j.jsx)(r,{variant:`ghost`,leftIcon:(0,j.jsx)(p,{}),onClick:n,disabled:i,"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 J=class extends Error{};async function le(e,t,n){if(t>204800)throw new J;if(e.startsWith(`data:`)){let t=H(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 J;return i.text()}function ue({url:e,filename:n,mimeType:r,sizeBytes:i}){let[o,s]=(0,A.useState)({status:`loading`});return(0,A.useEffect)(()=>{let n=new AbortController;return s({status:`loading`}),le(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 J;r||t(e,{context:`attachment-text-preview`,bestEffort:!0}),s({status:`error`,tooLarge:r})}),()=>n.abort()},[e,i]),o.status===`loading`?(0,j.jsx)(`div`,{className:`flex items-center justify-center py-24`,children:(0,j.jsx)(v,{className:`h-8 w-8 animate-spin text-white/70`})}):o.status===`error`?(0,j.jsx)(ce,{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-CHp_Tbhe.js`).then(e=>e.t);return{saveFile:e}},__vite__mapDeps([0,1,2,3]));await t(e,n)}}):(0,j.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,j.jsx)(de,{text:o.text,filename:n,mimeType:r})})}function de({text:e,filename:t,mimeType:n}){return C(t,n)?(0,j.jsx)(w,{content:e}):(0,j.jsx)(`pre`,{className:`whitespace-pre-wrap break-words font-mono text-body-small-default`,children:e})}var Y=60,fe=.8,pe=8,me=.35;function he({enabled:e,onPrev:t,onNext:n}){let[r,i]=(0,A.useState)(0),[a,o]=(0,A.useState)(!1),s=(0,A.useRef)(null),c=(0,A.useCallback)(()=>{s.current=null,i(0),o(!1)},[]);return{dragOffset:r,isDragging:a,onTouchStart:(0,A.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,A.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)<pe&&Math.abs(a)<pe)return;if(Math.abs(a)>Math.abs(r)*fe){s.current=null;return}t.axis=`horizontal`,o(!0)}if(t.axis!==`horizontal`)return;if(Math.abs(r)<Y&&Math.abs(a)>Math.abs(r)*fe){c();return}let l=Math.sign(r),u=Math.abs(r);i(l*(u<=Y?u:Y+(u-Y)*me))},[c]),onTouchEnd:(0,A.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<=-Y?(k.light(),n()):a>=Y&&(k.light(),t()),c()},[n,t,c]),onTouchCancel:c}}var ge=new Set([`ts`,`tsx`,`js`,`jsx`,`py`,`json`,`md`,`sh`,`bash`,`html`,`css`,`yaml`,`yml`,`txt`]),_e=new Set([`application/json`,`application/javascript`,`application/xml`]),ve=e=>{let t=e.lastIndexOf(`.`);return t===-1||t===e.length-1?``:e.slice(t+1).toLowerCase()},ye=({open:e,onClose:t,attachment:n,assistantId:i,siblingAttachments:s,onNavigate:l})=>{let f=(0,A.useRef)(null);(0,A.useEffect)(()=>{e&&f.current?.focus()},[e]);let m=te.use.registerBackOwner(),h=te.use.unregisterBackOwner();(0,A.useEffect)(()=>{if(e)return m(),()=>h()},[e,m,h]);let _=!n.previewUrl&&n.id.startsWith(`rehydrated:`),b=e&&!n.previewUrl&&!!i&&!!n.id&&!_,{data:x,isError:S}=o({queryKey:[`attachmentContent`,i,n.id],queryFn:async()=>{let e=await z(i,n.id);if(!e)throw Error(`Failed to load file`);return e},enabled:b,staleTime:1/0,retry:!1}),[C,w]=(0,A.useState)(null);(0,A.useEffect)(()=>{if(!x){w(null);return}let e=URL.createObjectURL(x);return w(e),()=>{URL.revokeObjectURL(e),w(null)}},[x]);let T=n.previewUrl??C,[E,ee]=(0,A.useState)(null),D=b&&!C&&!S,O=_?`Preview unavailable — file content was not preserved in chat history.`:S?`Failed to load preview.`:null,k=(0,A.useMemo)(()=>!s||s.length<=1?-1:s.findIndex(e=>e.id===n.id),[s,n.id]),M=k!==-1&&s!=null&&s.length>1,N=(0,A.useCallback)(()=>{!M||!s||!l||l(s[(k-1+s.length)%s.length])},[M,s,k,l]),P=(0,A.useCallback)(()=>{!M||!s||!l||l(s[(k+1)%s.length])},[M,s,k,l]),{dragOffset:re,isDragging:F,onTouchStart:I,onTouchMove:L,onTouchEnd:R,onTouchCancel:ie}=he({enabled:M,onPrev:N,onNext:P}),ae=(0,A.useCallback)(e=>{e.key===`Escape`?(e.preventDefault(),t()):e.key===`ArrowLeft`&&M?(e.preventDefault(),N()):e.key===`ArrowRight`&&M&&(e.preventDefault(),P())},[t,N,P,M]),oe=(0,A.useCallback)(e=>{e.target===f.current&&t()},[t]),V=(0,A.useCallback)(async()=>{if(!T)return;let{saveFile:e}=await a(async()=>{let{saveFile:e}=await import(`./native-file-CHp_Tbhe.js`).then(e=>e.t);return{saveFile:e}},__vite__mapDeps([0,1,2,3]));await e(T,n.filename)},[T,n.filename]);if(!e)return null;let H=n.mimeType.toLowerCase(),U=H.startsWith(`image/`),W=H.startsWith(`video/`),G=H===`application/pdf`||H===`application/octet-stream`&&n.filename.toLowerCase().endsWith(`.pdf`),K=ve(n.filename),q=H.startsWith(`text/`)||_e.has(H)||ge.has(K);return(0,ne.createPortal)((0,j.jsxs)(`div`,{ref:f,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:ae,onClick:oe,children:[(0,j.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,j.jsx)(c,{variant:`body-small-default`,className:`w-11 shrink-0 truncate text-white/50`,children:B(n.sizeBytes)}),(0,j.jsx)(c,{as:`div`,variant:`body-medium-lighter`,className:`min-w-0 flex-1 truncate text-center text-white/90`,children:n.filename}),(0,j.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[(0,j.jsx)(r,{variant:`ghost`,iconOnly:(0,j.jsx)(p,{}),expandOnMobile:!1,onClick:V,disabled:!T,"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,j.jsx)(r,{variant:`ghost`,iconOnly:(0,j.jsx)(y,{}),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`})]})]}),M&&(0,j.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,j.jsx)(r,{variant:`ghost`,iconOnly:(0,j.jsx)(u,{}),expandOnMobile:!1,onClick:N,"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,j.jsx)(r,{variant:`ghost`,iconOnly:(0,j.jsx)(d,{}),expandOnMobile:!1,onClick:P,"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,j.jsx)(`div`,{className:`flex items-center justify-center`,style:{transform:`translateX(${re}px)`,transition:F?`none`:`transform 200ms ease-out`,touchAction:`pan-y`},onClick:e=>e.stopPropagation(),onTouchStart:I,onTouchMove:L,onTouchEnd:R,onTouchCancel:ie,children:D?(0,j.jsx)(`div`,{className:`flex items-center justify-center py-24`,children:(0,j.jsx)(v,{className:`h-8 w-8 animate-spin text-white/70`})}):O?(0,j.jsx)(ce,{message:O,filename:n.filename,onDownload:V,downloadDisabled:!T}):G&&T?(0,j.jsx)(se,{url:T}):U&&T&&E!==T?(0,j.jsx)(`img`,{src:T,alt:n.filename,onError:()=>ee(T),className:`max-h-[80vh] max-w-[90vw] rounded object-contain`}):W&&T?(0,j.jsx)(`video`,{"data-testid":`video-preview`,src:T,poster:n.thumbnailUrl??void 0,controls:!0,className:`max-h-[80vh] max-w-[90vw] rounded`}):q&&T?(0,j.jsx)(ue,{url:T,filename:n.filename,mimeType:n.mimeType,sizeBytes:n.sizeBytes}):(0,j.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,j.jsx)(g,{className:`h-16 w-16 text-white/60`}),(0,j.jsx)(`p`,{className:`mt-4 text-body-medium-default text-white/90`,children:n.filename}),(0,j.jsx)(`p`,{className:`mt-1 text-body-small-default text-white/60`,children:B(n.sizeBytes)}),(0,j.jsx)(r,{variant:`ghost`,leftIcon:(0,j.jsx)(p,{}),onClick:V,disabled:!T,"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`})]})}),M&&(0,j.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,j.jsxs)(c,{variant:`body-small-default`,className:`text-white/50`,children:[k+1,` / `,s.length]})})]}),document.body)};function be(e,t){let[n,r]=(0,A.useState)(null),i=(0,A.useCallback)(e=>r(e),[]),a=(0,A.useCallback)(()=>r(null),[]),o=(0,A.useCallback)(e=>r(e),[]);return{openPreview:i,previewModal:n?(0,j.jsx)(ye,{open:!0,onClose:a,attachment:n,assistantId:e,siblingAttachments:t,onNavigate:o}):null}}var xe=1500,X=`inline-flex max-w-full min-w-0 items-center gap-1.5 rounded-lg bg-[var(--surface-overlay)] px-2 py-1 align-middle text-[0.85em] leading-tight text-[var(--content-secondary)]`,Z=`shrink-0 rounded-sm p-0.5 text-[var(--content-tertiary)] transition-colors hover:text-[var(--content-secondary)] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[var(--border-focus)]`;function Se({type:e,service:t,field:n,assistantId:r,neutralized:i}){let a=T.use.activeAssistantId(),o=r===void 0?a:r,[s,c]=(0,A.useState)(null),[u,d]=(0,A.useState)(!1),[p,g]=(0,A.useState)(!1),y=(0,A.useRef)(null),b=(0,A.useRef)(0),x=e??`Secret`,C=t!==void 0&&n!==void 0&&o!=null,w=C?`${t}:${n}`:x,E=(0,A.useCallback)(()=>{b.current++,c(null),d(!1),g(!1),y.current&&=(clearTimeout(y.current),null)},[]),D=(0,A.useCallback)(async()=>{if(!C)return;let e=++b.current;d(!0);try{let{data:r}=await ee({path:{assistant_id:o},body:{service:t,field:n},throwOnError:!0});b.current===e&&c(r.value)}catch{b.current===e&&S.error(`Couldn't reveal ${w}.`)}finally{b.current===e&&d(!1)}},[C,o,t,n,w]),O=(0,A.useCallback)(()=>{s!=null&&navigator.clipboard.writeText(s).then(()=>{g(!0),y.current&&clearTimeout(y.current),y.current=setTimeout(()=>g(!1),xe)},()=>S.error(`Couldn't copy — reveal and copy manually.`))},[s]);if(i)return(0,j.jsxs)(`span`,{className:X,title:`Redaction marker — not verified by the assistant`,children:[(0,j.jsx)(_,{className:`h-3.5 w-3.5 shrink-0`,"aria-hidden":!0}),(0,j.jsx)(`span`,{className:`truncate`,children:`Redacted`})]});if(!C)return(0,j.jsxs)(`span`,{className:X,title:`Redacted — this value is not linked to a stored credential`,children:[(0,j.jsx)(_,{className:`h-3.5 w-3.5 shrink-0`,"aria-hidden":!0}),(0,j.jsx)(`span`,{className:`truncate`,children:x})]});let k=s!==null;return(0,j.jsxs)(`span`,{className:X,children:[(0,j.jsx)(_,{className:`h-3.5 w-3.5 shrink-0`,"aria-hidden":!0}),k?(0,j.jsx)(`span`,{className:`min-w-0 truncate font-mono text-[var(--content-default)]`,children:s}):(0,j.jsx)(`button`,{type:`button`,onClick:()=>void D(),disabled:u,"aria-label":`Reveal value for ${w}`,title:`${x} · click to reveal`,className:`min-w-0 select-none truncate rounded-sm text-left blur-[3px] transition-[filter] hover:blur-[2px] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[var(--border-focus)]`,children:w}),u?(0,j.jsx)(v,{className:`h-3.5 w-3.5 shrink-0 animate-spin`,"aria-hidden":!0}):k?(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(`button`,{type:`button`,onClick:O,"aria-label":`Copy value for ${w}`,title:`Copy value`,className:Z,children:p?(0,j.jsx)(l,{className:`h-3.5 w-3.5`,"aria-hidden":!0}):(0,j.jsx)(f,{className:`h-3.5 w-3.5`,"aria-hidden":!0})}),(0,j.jsx)(`button`,{type:`button`,onClick:E,"aria-label":`Hide value for ${w}`,title:`Hide value`,className:Z,children:(0,j.jsx)(m,{className:`h-3.5 w-3.5`,"aria-hidden":!0})})]}):(0,j.jsx)(`button`,{type:`button`,onClick:()=>void D(),disabled:u,"aria-label":`Reveal value for ${w}`,title:`Click to reveal`,className:Z,children:(0,j.jsx)(h,{className:`h-3.5 w-3.5`,"aria-hidden":!0})})]})}var Ce=`redacted`;function we(e){try{return decodeURIComponent(e)}catch{return}}function Te(){return RegExp(`〔${Ce}:([^:\u3014\u3015]+?)(?::([A-Za-z0-9_.%-]+):([A-Za-z0-9_.%-]+))?〕`,`g`)}function Ee(){return RegExp(`〔\\u2060${Ce}:([^:\\u3014\\u3015]+?)(?::([A-Za-z0-9_.%-]+):([A-Za-z0-9_.%-]+))?〕`,`g`)}function De(e){let[,t,n,r]=e;if(n!==void 0&&r!==void 0){let e=we(n),i=we(r);if(e!==void 0&&i!==void 0)return{type:t,service:e,field:i}}return{type:t}}var Q=`redacted-credential`,Oe=new Set([`pre`,`code`,`style`,`script`,`a`]);function ke(e){return e.type===`element`}function Ae(e){let t=[],n=Te(),r;for(;(r=n.exec(e))!==null;){let e=De(r);t.push({index:r.index,length:r[0].length,element:{type:`element`,tagName:Q,properties:{type:e.type,...e.service!==void 0&&e.field!==void 0?{service:e.service,field:e.field}:{}},children:[]}})}let i=Ee();for(;(r=i.exec(e))!==null;)t.push({index:r.index,length:r[0].length,element:{type:`element`,tagName:Q,properties:{neutralized:!0},children:[]}});if(t.length===0)return;t.sort((e,t)=>e.index-t.index);let a=[],o=0;for(let n of t)n.index>o&&a.push({type:`text`,value:e.slice(o,n.index)}),a.push(n.element),o=n.index+n.length;return o<e.length&&a.push({type:`text`,value:e.slice(o)}),a}function je(e){if(ke(e)&&Oe.has(e.tagName))return;let t=e.children;if(t)for(let e=t.length-1;e>=0;e--){let n=t[e];if(n.type!==`text`){je(n);continue}let r=n.value;if(!r.includes(`〔`))continue;let i=Ae(r);i&&t.splice(e,1,...i)}}function Me(){return e=>{je(e)}}var Ne=new Set([`pre`,`code`,`style`,`script`]),Pe=5,$=.4,Fe=`stream-word-fade`;function Ie(e){return e.type===`element`}function Le(e){if(Ie(e)&&Ne.has(e.tagName))return;let t=e.children;if(t)for(let e=t.length-1;e>=0;e--){let n=t[e];if(n.type!==`text`){Le(n);continue}let r=n.value.match(/\S+|\s+/g);if(!r||r.length===1&&/^\s+$/.test(r[0]))continue;let i=r.map(e=>/^\s+$/.test(e)?{type:`text`,value:e}:{type:`element`,tagName:`span`,properties:{className:[Fe]},children:[{type:`text`,value:e}]});t.splice(e,1,...i)}}function Re(e,t){if(Ie(e)){let n=e.properties?.className;if(Array.isArray(n)&&n.includes(Fe)){t.push(e);return}}if(e.children)for(let n of e.children)Re(n,t)}function ze(e){let t=e?.caughtUp??!1;return e=>{if(Le(e),t)return;let n=[];Re(e,n);let r=Math.min(Pe,n.length);for(let e=0;e<r;e++){let t=n[n.length-1-e],r=($+(1-$)*((e+1)/(Pe+1))).toFixed(3);t.properties={...t.properties,style:`opacity:${r}`}}}}function Be(e){return e!=null&&(e.startsWith(`vellum://workspace/`)||e.startsWith(`vellum://host/`))}function Ve(e){return e.startsWith(`vellum://workspace/`)||e.startsWith(`vellum://host/`)?e:b(e)}function He({href:e,children:t}){return(0,j.jsx)(`a`,{href:e,target:`_blank`,rel:P(e)?void 0:`noopener noreferrer`,onClick:t=>{L(e)&&t.preventDefault()},className:`text-[var(--system-positive-strong)] underline hover:opacity-80`,children:t})}var Ue=`my-2 max-w-full max-h-[400px] rounded-lg border border-[var(--border-default)] object-contain`;function We({alt:e}){return(0,j.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 Ge({src:e,alt:t}){let[n,r]=(0,A.useState)(!1);return n?(0,j.jsx)(We,{alt:t}):(0,j.jsx)(`img`,{src:e,alt:t,onError:()=>r(!0),className:Ue})}function Ke(e){try{return decodeURIComponent(e)}catch{return e}}function qe({src:e,alt:n,attachments:r,assistantId:i,onOpenPreview:a}){let[o,s]=(0,A.useState)(null),[c,l]=(0,A.useState)(!1),u=Ke(e.split(`/`).pop()??``),d=r?.find(e=>e.filename===u);if((0,A.useEffect)(()=>{if(!d||!i||d.id.startsWith(`rehydrated:`))return;let e=!1;return(async()=>{try{let{data:t,error:n}=await E({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,j.jsx)(We,{alt:n||u});if(!o)return(0,j.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,j.jsx)(`img`,{src:o,alt:n,className:Ue});return!d||!a?f:(0,j.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 Je=(0,A.memo)(function({content:e,className:t,hardLineBreaks:n,onVellumLinkClick:r,attachments:i,assistantId:a,streamWordFade:o,redactedCredentialChips:s}){let{openPreview:c,previewModal:l}=be(a,i),u=(0,A.useCallback)(({href:e,children:t})=>r&&Be(e)?(0,j.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,j.jsx)(He,{href:e,children:t}),[r]),d=(0,A.useMemo)(()=>[...s?[Me]:[],...o?[[ze,{caughtUp:o===`caughtUp`}]]:[]],[s,o]),f=(0,A.useMemo)(()=>({src:e,alt:t})=>Be(e)?(0,j.jsx)(qe,{src:e,alt:t,attachments:i,assistantId:a,onOpenPreview:c}):(0,j.jsx)(Ge,{src:e,alt:t}),[i,a,c]),p=(0,A.useMemo)(()=>({[Q]:e=>(0,j.jsx)(Se,{...e,assistantId:a},`${a??``}\u0000${e.service??``}\u0000${e.field??``}`)}),[a]);return(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(x,{content:e,className:t,hardLineBreaks:n,linkComponent:u,imageComponent:f,urlTransform:Ve,extraRehypePlugins:d,extraComponents:s?p:void 0}),l]})});export{V as a,ae as c,R as d,oe as i,z as l,be as n,B as o,ye as r,U as s,Je as t,ie as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./createLucideIcon-Bjb-Kuq7.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{P as n,R as r}from"./button-BQVYX8n_.js";import{t as i}from"./jsx-runtime-CVSDxk6A.js";import{t as a}from"./typography-Cqi8q9o7.js";import{t as o}from"./createLucideIcon-Bjb-Kuq7.js";import{t as s}from"./check-CkQjevXL.js";import{a as c,i as l,o as u,r as d,s as f,t as p}from"./dist-Df9Kbc9v.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=i(),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:r,helperText:i,disabled:o=!1,id:c,name:l,className:u,ref:d,"aria-label":f,...p}){let g=(0,h.useId)(),_=c??g,y=r?`${_}-label`:void 0,b=i?`${_}-helper`:void 0,x=e===`indeterminate`,S=n(`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=n(`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":r?void 0:f,"aria-labelledby":r?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!r&&!i?(0,v.jsx)(`span`,{"data-slot":`checkbox`,className:u,children:w}):(0,v.jsxs)(`div`,{"data-slot":`checkbox`,className:n(`flex gap-2.5`,i?`items-start`:`items-center`,u),children:[w,(0,v.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-0.5`,children:[r?(0,v.jsx)(a,{as:`label`,variant:`body-medium-default`,id:y,htmlFor:_,className:n(`cursor-pointer select-none`,o?`cursor-not-allowed text-[color:var(--content-disabled)]`:`text-[color:var(--content-default)]`),children:r}):null,i?(0,v.jsx)(`span`,{id:b,className:`text-body-small-default text-[color:var(--content-secondary)]`,children:i}):null]})]})}export{F as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./createLucideIcon-Bjb-Kuq7.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-Bjb-Kuq7.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-Bjb-Kuq7.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{t as e}from"./createLucideIcon-Bjb-Kuq7.js";var t=e(`clock`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 6v6l4 2`,key:`mmk7yg`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./createLucideIcon-Bjb-Kuq7.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{t as e}from"./button-BQVYX8n_.js";import{t}from"./jsx-runtime-CVSDxk6A.js";import{t as n}from"./card-D8zyWtZh.js";import{t as r}from"./createLucideIcon-Bjb-Kuq7.js";import{t as i}from"./bug-BMI_6ziD.js";import{t as a}from"./external-link-Cczz6xJ4.js";import{t as o}from"./globe-inD5tOKN.js";import{t as s}from"./sparkles-BK3KXCjl.js";import{t as c}from"./tag-D0AE0-aA.js";import{$i as l,A as u,Hi as d,Ii as f,O as p,Va as m,ba as h,bt as g,k as _,v}from"./index-CFQIPKjY.js";var y=r(`git-pull-request`,[[`circle`,{cx:`18`,cy:`18`,r:`3`,key:`1xkwt0`}],[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`path`,{d:`M13 6h3a2 2 0 0 1 2 2v7`,key:`1yeb86`}],[`line`,{x1:`6`,x2:`6`,y1:`9`,y2:`21`,key:`rroup`}]]),b=t();function x({size:e=24,className:t,style:n}){return(0,b.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,width:e,height:e,fill:`currentColor`,className:t,style:n,"aria-hidden":!0,children:(0,b.jsx)(`path`,{d:`M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12`})})}function S({size:e=24,className:t,style:n}){return(0,b.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,width:e,height:e,fill:`currentColor`,className:t,style:n,"aria-hidden":!0,children:(0,b.jsx)(`path`,{d:`M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z`})})}function C({size:e=24,className:t,style:n}){return(0,b.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,width:e,height:e,fill:`currentColor`,className:t,style:n,"aria-hidden":!0,children:(0,b.jsx)(`path`,{d:`M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814ZM9.545 15.568V8.432L15.818 12l-6.273 3.568Z`})})}function w(){return(0,b.jsx)(n,{padding:`lg`,className:`bg-[var(--surface-lift)]`,children:(0,b.jsxs)(`div`,{className:`relative`,children:[(0,b.jsx)(`div`,{className:`pointer-events-none absolute -right-16 -top-16 h-64 w-64 rounded-full opacity-30 blur-3xl`,style:{background:`radial-gradient(circle, var(--system-mid-weak) 0%, transparent 70%)`},"aria-hidden":!0}),(0,b.jsxs)(`div`,{className:`relative flex flex-col items-start gap-3`,children:[(0,b.jsxs)(c,{tone:`neutral`,children:[(0,b.jsx)(l,{className:`h-3.5 w-3.5`}),`Community`]}),(0,b.jsx)(`h1`,{className:`text-[28px] font-semibold leading-tight tracking-tight text-[var(--content-emphasised)]`,children:`Build with us, in the open.`}),(0,b.jsx)(`p`,{className:`max-w-xl text-body-medium-default text-[color:var(--content-tertiary)]`,children:`Vellum is built in the open with a growing community of developers, designers, and tinkerers. Here's how to get involved.`})]})]})})}function T({icon:e,text:t}){return(0,b.jsxs)(`li`,{className:`flex items-center gap-3`,children:[(0,b.jsx)(`span`,{className:`flex size-7 shrink-0 items-center justify-center rounded-md bg-[var(--surface-base)]`,children:(0,b.jsx)(e,{size:14,className:`text-[var(--content-secondary)]`,"aria-hidden":!0})}),(0,b.jsx)(`span`,{className:`text-body-medium-lighter text-[color:var(--content-secondary)]`,children:t})]})}function E({accentColor:t,iconColor:r=`var(--aux-white)`,label:i,icon:a,title:o,subtitle:s,benefits:c,primaryAction:l,secondaryAction:u}){return(0,b.jsx)(n,{padding:`lg`,className:`flex-1`,children:(0,b.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,b.jsxs)(`div`,{className:`flex items-start justify-between`,children:[(0,b.jsx)(`span`,{className:`flex size-10 items-center justify-center rounded-lg`,style:{backgroundColor:t,color:r},children:a}),(0,b.jsx)(`span`,{className:`text-label-medium-default uppercase tracking-wider text-[color:var(--content-tertiary)]`,children:i})]}),(0,b.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,b.jsx)(`h2`,{className:`text-title-medium text-[var(--content-emphasised)]`,children:o}),(0,b.jsx)(`p`,{className:`text-body-medium-lighter text-[color:var(--content-tertiary)]`,children:s})]}),(0,b.jsx)(`ul`,{className:`flex flex-col gap-3`,children:c.map(({icon:e,text:t})=>(0,b.jsx)(T,{icon:e,text:t},t))}),(0,b.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,b.jsxs)(e,{onClick:l.onClick,children:[l.icon,l.label]}),u&&(0,b.jsxs)(e,{variant:`ghost`,onClick:()=>window.open(u.href,`_blank`,`noopener,noreferrer`),children:[u.label,(0,b.jsx)(m,{className:`h-3.5 w-3.5`})]})]})]})})}function D({icon:e,iconBg:t,iconColor:r=`white`,title:i,description:o,href:s}){return(0,b.jsx)(`a`,{href:s,target:`_blank`,rel:`noopener noreferrer`,className:`flex flex-1 cursor-pointer`,children:(0,b.jsx)(n,{className:`flex-1 transition-shadow hover:shadow-md`,padding:`lg`,children:(0,b.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,b.jsxs)(`div`,{className:`flex items-start justify-between`,children:[(0,b.jsx)(`span`,{className:`flex size-10 items-center justify-center rounded-lg`,style:{backgroundColor:t,color:r},children:e}),(0,b.jsx)(a,{size:14,className:`text-[var(--content-tertiary)]`,"aria-hidden":!0})]}),(0,b.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,b.jsx)(`span`,{className:`text-title-medium text-[var(--content-emphasised)]`,children:i}),(0,b.jsx)(`p`,{className:`text-body-medium-lighter text-[color:var(--content-tertiary)]`,children:o})]})]})})})}function O(){let{handleStar:e}=u();return(0,b.jsxs)(`div`,{className:`space-y-6`,children:[(0,b.jsx)(w,{}),(0,b.jsxs)(`div`,{className:`grid grid-cols-1 gap-4 md:grid-cols-2`,children:[(0,b.jsx)(E,{accentColor:`var(--content-emphasised)`,iconColor:`var(--surface-base)`,label:`Open Source`,icon:(0,b.jsx)(x,{size:20}),title:`Vellum is open source`,subtitle:`Read the source, star the repo, and contribute fixes and features on GitHub.`,benefits:[{icon:d,text:`Star the repo to follow updates`},{icon:i,text:`Open issues and report bugs`},{icon:y,text:`Contribute fixes and new features`}],primaryAction:{label:`Star on GitHub`,icon:(0,b.jsx)(d,{size:16}),onClick:e},secondaryAction:{label:`View source`,href:_}}),(0,b.jsx)(E,{accentColor:`#5865F2`,label:`Discord`,icon:(0,b.jsx)(g,{size:20}),title:`Join our community`,subtitle:`Talk to the team, share feedback, request features, and get answers faster.`,benefits:[{icon:h,text:`Talk directly with the team`},{icon:s,text:`Share feedback and request features`},{icon:f,text:`Get answers faster from the community`}],primaryAction:{label:`Join Discord`,icon:(0,b.jsx)(g,{size:16,style:{color:`currentColor`}}),onClick:p}})]}),(0,b.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,b.jsx)(`h2`,{className:`text-label-medium-default uppercase tracking-wider text-[color:var(--content-tertiary)]`,children:`More from Vellum`}),(0,b.jsxs)(`div`,{className:`grid grid-cols-1 gap-4 md:grid-cols-3`,children:[(0,b.jsx)(D,{icon:(0,b.jsx)(o,{size:20}),iconBg:`#22c55e`,title:`Community Hub`,description:`Showcases, guides, and projects shared by the community.`,href:v}),(0,b.jsx)(D,{icon:(0,b.jsx)(S,{size:20}),iconBg:`var(--content-default)`,iconColor:`var(--surface-base)`,title:`Follow on X`,description:`Product updates, releases, and behind-the-scenes.`,href:`https://x.com/vellum_ai`}),(0,b.jsx)(D,{icon:(0,b.jsx)(C,{size:20}),iconBg:`#ef4444`,title:`YouTube channel`,description:`Walkthroughs, tutorials, and product deep-dives.`,href:`https://www.youtube.com/@Vellum_AI`})]})]})]})}export{O as CommunityPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./onboarding-store-Bxw_JVDh.js";function t(){let{shareAnalytics:t,serverAnalyticsEffective:n,pendingAnalyticsOptIn:r}=e.getState();return t===!1?!1:r?!0:n??!0}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-BQVYX8n_.js";import{m as r,n as i,t as a,u as o}from"./chunk-5KNZJZUH-SU6Q_tDT.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-Cqi8q9o7.js";import{t as f}from"./card-D8zyWtZh.js";import{t as p}from"./createLucideIcon-Bjb-Kuq7.js";import{t as m}from"./arrow-left-C2re-gYj.js";import{t as h}from"./link-2-YnZe-oMg.js";import{t as g}from"./loader-circle-C9QrtO3C.js";import{t as _}from"./pencil-BOTCmXXR.js";import{t as v}from"./plus-D54jrPDF.js";import{t as y}from"./user-plus-KuzSTM_D.js";import{t as b}from"./tag-D0AE0-aA.js";import{t as x}from"./input-6HVXMszw.js";import{t as S}from"./modal-bIQsMU63.js";import{t as C}from"./panel-item-CegzTp_l.js";import{n as w}from"./toast-CZmbu5xl.js";import{t as T}from"./confirm-dialog-kE8y7s20.js";import{C as E}from"./sdk.gen-C9GJEKYV.js";import{Ht as ee,S as D,Vt as te,a as O,b as ne,x as k}from"./react-query.gen-CWfp8GEM.js";import{t as re}from"./assistant-identity-store-CgJwLRMd.js";import{c as ie}from"./routes-GPGveWZ8.js";import{t as ae}from"./assistant-feature-flag-store-Em1V67lp.js";import{Bt as oe,Ha as se,Ir as A,Ji as j,La as M,Yi as N,aa as P,bn as F,la as I,na as L,vr as R,w as ce,xa as z,xn as B,za as V}from"./index-CFQIPKjY.js";import{t as H}from"./use-active-assistant-id-DpxCpOc4.js";import{a as U,d as le,i as ue,n as de,o as fe,r as pe,t as me}from"./use-invite-link-dialog-l_72sgiY.js";import{t as W}from"./detail-card-DKCRsPCl.js";import{n as he,t as ge}from"./mobile-sidebar-drawer-D_oNDC56.js";import{t as G}from"./mutation-error-BSB3r4np.js";import{a as _e,i as ve,n as ye,t as be}from"./contacts-gateway-MdTfmafh.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?B(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:B(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=le(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)(a,{to:`${ie.channels}?setup=${e.channel}`,children:[`Channels → `,B(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)(V,{className:t,style:n});case`hash`:return(0,Y.jsx)(z,{className:t,style:n});case`send`:return(0,Y.jsx)(j,{className:t,style:n});case`phone`:return(0,Y.jsx)(L,{className:t,style:n});case`mail`:return(0,Y.jsx)(I,{className:t,style:n});case`message-square`:return(0,Y.jsx)(P,{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&&oe(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)(N,{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)(N,{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)(U,{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)(N,{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)(se,{className:`h-3.5 w-3.5`})]}):null]})]})})}function $e(e){let t={};for(let n of e)oe(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(ue(e))}function tt(e){let t=ae.use.channelTrustFloors(),n=pe(),r=t&&n,i=c({...R({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(),a=re.use.name(),o=s(),[u]=r(),d=u.get(`setup`),f=d&&oe(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=le(a),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}),se=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]),N=(0,K.useMemo)(()=>j?.filter(e=>e.role!==`guardian`)??[],[j]),P=(0,K.useMemo)(()=>p.kind===`contact`?j?.find(e=>e.id===p.contactId)??null:null,[j,p]),F=(0,K.useMemo)(()=>!j||!P?[]:j.filter(e=>e.id!==P.id&&e.role!==`guardian`),[j,P]),I=F.length>0,L=(0,K.useRef)(!!f);(0,K.useEffect)(()=>{L.current||M&&(L.current=!0,m({kind:`contact`,contactId:M.id}))},[M]);let R=(0,K.useCallback)(()=>o.invalidateQueries({queryKey:S}),[o,S]),z=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:()=>R()}),B=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:()=>R()}),V=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:()=>R()}),H=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:()=>R()}),U=(0,K.useCallback)(e=>{m(e),_(!1),y(!1),H.reset()},[H]),ue=(0,K.useCallback)(()=>{H.reset(),y(!0)},[H]),pe=(0,K.useCallback)(()=>{H.isPending||(y(!1),H.reset())},[H]),W=te({onSuccess:()=>R()}),ye=(0,K.useCallback)((t,n)=>{W.mutate({path:{assistant_id:e,contactChannelId:t},body:{status:`revoked`}})},[W,e]),xe=(0,K.useCallback)(()=>{z.isPending||z.mutate()},[z]),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:()=>R(),onError:G(`Failed to verify channel`)}),J=(0,K.useCallback)(e=>{if(!P)return;let t=P.channels.find(t=>t.type===e&&t.status!==`revoked`);t&&q.mutate({channelId:t.id})},[P,q]),X=nt({assistantId:e,channelType:`slack`,contact:P?{id:P.id,displayName:P.displayName}:null,onLinked:R}),Z=c({...ce(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=B.isPending?B.variables:null,$=(0,K.useMemo)(()=>P?V.isPending&&V.variables?.contactId===P.id?{...P,displayName:V.variables.patch.displayName,notes:V.variables.patch.notes}:P:null,[P,V.isPending,V.variables]);if(f)return(0,Y.jsx)(i,{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:N.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:z.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:U})}),(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:U})}),(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:V.isPending,verifyPending:q.isPending,mergePending:H.isPending,canMerge:I,availableChannels:A,a2aEnabled:n,onSave:e=>{V.mutate({contactId:$.id,patch:e})},onMerge:ue,onSetupChannel:t?Ce:void 0,onVerifyChannel:J,onRevokeChannel:ye,onGenerateInviteLink:n?h.open:void 0}):(0,Y.jsx)(Ne,{contact:$,savePending:V.isPending,deletePending:B.isPending,verifyPending:q.isPending,mergePending:H.isPending,canMerge:I,availableChannels:A,a2aEnabled:n,channelProvenance:se,onSave:e=>{V.mutate({contactId:$.id,patch:e})},onDelete:()=>{B.mutate($.id)},onMerge:ue,onSetupChannel:t?Se:void 0,onVerifyChannel:J,onRevokeChannel:ye,onLinkAccount:Q?we:void 0}):(0,Y.jsx)(ot,{})}),P?(0,Y.jsx)(Fe,{open:v,survivor:P,candidates:F,pending:H.isPending,errorMessage:H.error instanceof Error?H.error.message:H.error?`Failed to merge contacts`:null,onMerge:t=>H.mutate({path:{assistant_id:e},body:{keepId:P.id,mergeId:t}}),onClose:pe}):null,(0,Y.jsx)(Qe,{open:X.dialogOpen,channelLabel:`Slack`,contactName:P?.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=o(),t=H();return(0,Y.jsx)(at,{assistantId:t,onStartSetupConversation:t=>{A(e,{prompt:t})}},t)}export{ut as ContactsPageRoute};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./queryOptions-BtNi-_9H.js";import{Q as t}from"./sdk.gen-C9GJEKYV.js";import{n,r,t as i}from"./api-errors-CrWDzVca.js";function a(e){return e.surfacedAt==null?e.conversationType===`background`||e.conversationType===`scheduled`||e.groupId===`system:background`||e.groupId===`system:scheduled`:!1}function o(e){return e.conversationType===`scheduled`||e.groupId===`system:scheduled`}function s(e){return!e.hasUnseenLatestAssistantMessage&&!a(e)&&e.conversationId!=null&&e.latestAssistantMessageAt!=null}function c(e){return e.hasUnseenLatestAssistantMessage===!0&&!a(e)&&e.conversationId!=null}function l(e){return e.hasUnseenLatestAssistantMessage===!0&&!a(e)&&e.archivedAt==null}function u(e){return typeof e==`number`&&Number.isFinite(e)?e:void 0}function d(e){return typeof e==`string`?e:void 0}function f(e){if(e)return{sourceChannel:e.sourceChannel,externalChatId:e.externalChatId,externalThreadId:e.externalThreadId,externalChatName:e.externalChatName,externalUserId:d(e.externalUserId),displayName:d(e.displayName),username:d(e.username),slackChannel:e.slackChannel?{channelId:e.slackChannel.channelId,name:e.slackChannel.name,link:e.slackChannel.link?.webUrl?{webUrl:e.slackChannel.link.webUrl}:void 0}:void 0,slackThread:e.slackThread?{channelId:e.slackThread.channelId,threadTs:e.slackThread.threadTs,link:e.slackThread.link?.appUrl||e.slackThread.link?.webUrl?{appUrl:e.slackThread.link.appUrl,webUrl:e.slackThread.link.webUrl}:void 0}:void 0}}function p(e){let t=e.assistantAttention,n=e.channelBinding?.sourceChannel??d(e.conversationOriginChannel);return{conversationId:e.id,title:e.title,createdAt:u(e.createdAt),lastMessageAt:u(e.lastMessageAt??e.updatedAt),hasUnseenLatestAssistantMessage:t?.hasUnseenLatestAssistantMessage,latestAssistantMessageAt:u(t?.latestAssistantMessageAt),lastSeenAssistantMessageAt:u(t?.lastSeenAssistantMessageAt),archivedAt:e.archivedAt,surfacedAt:u(e.surfacedAt),groupId:d(e.groupId),source:e.source,isPinned:e.isPinned,conversationType:e.conversationType,scheduleJobId:e.scheduleJobId,displayOrder:u(e.displayOrder),channelBinding:f(e.channelBinding),originChannel:n,isProcessing:e.isProcessing}}function m(e){return p(e)}var h=`conversation-list`;function g(e){return[h,e??``]}function _(e){return[h,e??``,`foreground`]}function v(e){return[h,e??``,`archived`]}function y(e){return[h,e??``,`background`]}function b(e){return[h,e??``,`scheduled`]}function x(e){return[h,e??``,`channel`]}function S(e){return(t,n)=>(n[e]??0)-(t[e]??0)}var C=50,w=200;async function T(e,a,o={}){let{conversationType:s,archiveStatus:c,originChannel:l}=o,{data:u,error:d,response:f}=await t({path:{assistant_id:e},query:{limit:C,offset:a,...s?{conversationType:s}:{},...c?{archiveStatus:c}:{},...l?{originChannel:l}:{}},throwOnError:!1});if(n(f,d,`Failed to list conversations.`),!f.ok){let e=r(d,f,`Failed to list conversations.`);throw new i(f.status,e)}return{conversations:(u?.conversations??[]).map(p),hasMore:u?.hasMore??!1}}async function E(e,t={}){let n=[],r=new Set;for(let i=0;i<w;i++){let{conversations:a,hasMore:o}=await T(e,i*C,t);for(let e of a)r.has(e.conversationId)||(r.add(e.conversationId),n.push(e));if(!o||a.length===0)break}return n}async function D(e,t=`active`,n=`lastMessageAt`){let r=t===`active`?{}:{archiveStatus:t},i={...r,conversationType:`background`},[a,o]=await Promise.allSettled([E(e,r),E(e,i)]);if(a.status===`rejected`)throw a.reason;if(o.status===`rejected`)throw o.reason;let s=a.value,c=o.value,l=new Set,u=[];for(let e of[...s,...c])l.has(e.conversationId)||(l.add(e.conversationId),u.push(e));return u.sort(S(n)),u}async function O(e){return[...await E(e)].sort(S(`lastMessageAt`))}async function k(e){let{conversations:t}=await T(e,0);return t.length>0}async function A(e){return(await E(e,{conversationType:`background`})).filter(e=>!o(e)).sort(S(`lastMessageAt`))}async function j(e){return[...await E(e,{conversationType:`scheduled`})].sort(S(`lastMessageAt`))}async function M(e){return D(e,`archived`,`archivedAt`)}async function N(e){let t=await T(e,0);return{...t,conversations:[...t.conversations].sort(S(`lastMessageAt`))}}async function P(e){let t=await T(e,0,{conversationType:`background`});return{...t,conversations:t.conversations.filter(e=>!o(e)).sort(S(`lastMessageAt`))}}async function F(e){let t=await T(e,0,{conversationType:`scheduled`});return{...t,conversations:[...t.conversations].sort(S(`lastMessageAt`))}}var I=3e4;function L(t){return e({queryKey:_(t),queryFn:()=>O(t),staleTime:I})}function R(t){return e({queryKey:y(t),queryFn:()=>A(t),staleTime:I})}function z(t){return e({queryKey:b(t),queryFn:()=>j(t),staleTime:I})}function B(t){return e({queryKey:v(t),queryFn:()=>M(t),staleTime:I})}export{s as _,L as a,o as b,k as c,F as d,x as f,c as g,m as h,y as i,P as l,b as m,v as n,g as o,z as p,R as r,_ as s,B as t,N as u,l as v,a as y};
|
|
@@ -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-BQVYX8n_.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-D8zyWtZh.js";import{t as c}from"./check-CkQjevXL.js";import{t as l}from"./chevron-down-DwIPfcCg.js";import{o as u}from"./list-row-spYsDF9a.js";import{t as d}from"./eye-off-BQ9J3pF2.js";import{t as f}from"./eye-C2rSrbD-.js";import{t as p}from"./key-round-BggUE1Ns.js";import{t as m}from"./link-2-YnZe-oMg.js";import{t as h}from"./loader-circle-C9QrtO3C.js";import{t as g}from"./plus-D54jrPDF.js";import{j as _}from"./src-clcV9W6_.js";import{t as v}from"./tag-D0AE0-aA.js";import{t as y}from"./popover-rW459udD.js";import{t as b}from"./input-6HVXMszw.js";import{t as x}from"./modal-bIQsMU63.js";import{n as S,t as C}from"./panel-item-CegzTp_l.js";import{n as w}from"./toast-CZmbu5xl.js";import{t as ee}from"./confirm-dialog-kE8y7s20.js";import{Rr as T,lt as te,ut as E}from"./sdk.gen-C9GJEKYV.js";import{Ut as ne,Wt as re}from"./react-query.gen-CWfp8GEM.js";import{t as ie}from"./use-is-org-ready-CZIgoXmP.js";import{t as D}from"./assistant-feature-flag-store-Em1V67lp.js";import{Fr as O,Yi as ae,t as k,zi as A}from"./index-CFQIPKjY.js";import{t as oe}from"./use-active-assistant-id-DpxCpOc4.js";import{t as se}from"./detail-card-DKCRsPCl.js";var j=e(n(),1),M=o(),N=1500;function P(e){if(!e)return``;try{return new Date(e).toLocaleDateString(void 0,{year:`numeric`,month:`short`,day:`numeric`})}catch{return``}}function ce({credential:e,assistantId:t,canGenerateLink:n,generatingLink:r,deleting:i,onGenerateLink:a,onDelete:o}){let c=`${e.service}:${e.field}`,[l,u]=(0,j.useState)(!1),d=[e.alias?c:null,e.createdAt?`added ${P(e.createdAt)}`:null].filter(e=>!!e);return(0,M.jsx)(s.Root,{children:(0,M.jsxs)(s.Body,{padding:`sm`,className:`flex items-center gap-4 px-4`,children:[(0,M.jsx)(p,{className:`h-5 w-5 shrink-0 text-[var(--content-secondary)]`,"aria-hidden":!0}),(0,M.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,M.jsx)(`p`,{className:`truncate text-title-small text-[var(--content-default)]`,children:e.alias||c}),(0,M.jsx)(`div`,{className:`mt-0.5 flex min-w-0 items-center`,children:(0,M.jsx)(F,{assistantId:t,credential:e})}),d.length>0&&(0,M.jsx)(`p`,{className:`mt-0.5 truncate font-mono text-body-medium-lighter text-[var(--content-tertiary)]`,children:d.join(` · `)})]}),(0,M.jsx)(`div`,{className:`shrink-0`,children:(0,M.jsx)(I,{name:c,open:l,onOpenChange:u,canGenerateLink:n,generatingLink:r,deleting:i,onGenerateLink:()=>{u(!1),a()},onDelete:()=>{u(!1),o()}})})]})})}function F({assistantId:e,credential:t}){let[n,r]=(0,j.useState)(null),[i,a]=(0,j.useState)(!1),[o,s]=(0,j.useState)(!1),l=(0,j.useRef)(null),p=(0,j.useRef)(0),m=`${t.service}:${t.field}`,g=(0,j.useCallback)(()=>{p.current++,r(null),a(!1),s(!1),l.current&&=(clearTimeout(l.current),null)},[]);(0,j.useEffect)(()=>{g()},[t.updatedAt,g]);let _=(0,j.useCallback)(async()=>{let n=++p.current;a(!0);try{let{data:i}=await E({path:{assistant_id:e},body:{service:t.service,field:t.field},throwOnError:!0});p.current===n&&r(i.value)}catch{p.current===n&&w.error(`Couldn't reveal ${m}.`)}finally{p.current===n&&a(!1)}},[e,t.service,t.field,m]),v=(0,j.useCallback)(()=>{n!=null&&navigator.clipboard.writeText(n).then(()=>{s(!0),l.current&&clearTimeout(l.current),l.current=setTimeout(()=>s(!1),N)},()=>w.error(`Couldn't copy — reveal and copy manually.`))},[n]),y=n!==null;return t.hasSecret?(0,M.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-1.5 align-middle font-mono text-body-medium-lighter`,children:[(0,M.jsx)(`button`,{type:`button`,onClick:()=>y?g():void _(),disabled:i,"aria-label":y?`Hide value for ${m}`:`Reveal value for ${m}`,title:y?`Hide value`:`Click to reveal`,"data-private":!0,className:`min-w-0 truncate rounded-sm text-left transition-[filter,color] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[var(--border-focus)] ${y?`text-[var(--content-secondary)]`:`select-none text-[var(--content-tertiary)] blur-[3px] hover:blur-[2px]`}`,children:y?n:t.scrubbedValue}),i?(0,M.jsx)(h,{className:`h-3.5 w-3.5 shrink-0 animate-spin`,"aria-hidden":!0}):y?(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(`button`,{type:`button`,onClick:v,"aria-label":`Copy value for ${m}`,title:`Copy value`,className:`shrink-0 rounded-sm p-0.5 text-[var(--content-tertiary)] transition-colors hover:text-[var(--content-secondary)] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[var(--border-focus)]`,children:o?(0,M.jsx)(c,{className:`h-3.5 w-3.5`,"aria-hidden":!0}):(0,M.jsx)(u,{className:`h-3.5 w-3.5`,"aria-hidden":!0})}),(0,M.jsx)(`button`,{type:`button`,onClick:g,"aria-label":`Hide value for ${m}`,title:`Hide value`,className:`shrink-0 rounded-sm p-0.5 text-[var(--content-tertiary)] transition-colors hover:text-[var(--content-secondary)] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[var(--border-focus)]`,children:(0,M.jsx)(d,{className:`h-3.5 w-3.5`,"aria-hidden":!0})})]}):(0,M.jsx)(`button`,{type:`button`,onClick:()=>void _(),"aria-label":`Reveal value for ${m}`,title:`Click to reveal`,className:`shrink-0 rounded-sm p-0.5 text-[var(--content-tertiary)] transition-colors hover:text-[var(--content-secondary)] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[var(--border-focus)]`,children:(0,M.jsx)(f,{className:`h-3.5 w-3.5`,"aria-hidden":!0})})]}):(0,M.jsx)(`span`,{className:`min-w-0 truncate font-mono text-body-medium-lighter text-[var(--content-tertiary)]`,children:t.scrubbedValue})}function I({name:e,open:t,onOpenChange:n,canGenerateLink:i,generatingLink:a,deleting:o,onGenerateLink:s,onDelete:c}){let u=O(),d=a||o,f=(0,M.jsx)(r,{variant:`outlined`,rightIcon:(0,M.jsx)(l,{}),"aria-haspopup":`menu`,"aria-expanded":t,"aria-label":`Configure ${e}`,leftIcon:d?(0,M.jsx)(h,{className:`animate-spin`,"aria-hidden":!0}):void 0,children:`Configure`});return u?(0,M.jsxs)(S.Root,{open:t,onOpenChange:n,children:[(0,M.jsx)(S.Trigger,{asChild:!0,children:f}),(0,M.jsxs)(S.Content,{children:[(0,M.jsx)(S.Header,{children:(0,M.jsx)(S.Title,{children:e})}),(0,M.jsxs)(S.Body,{children:[i&&(0,M.jsx)(C,{icon:a?h:m,label:`Generate link`,onSelect:()=>{d||s()}}),(0,M.jsx)(C,{icon:o?h:A,label:`Delete`,onSelect:()=>{d||c()}})]})]})]}):(0,M.jsxs)(y.Root,{open:t,onOpenChange:n,children:[(0,M.jsx)(y.Trigger,{asChild:!0,children:f}),(0,M.jsxs)(y.Content,{align:`end`,sideOffset:4,role:`menu`,className:`w-56 overflow-hidden p-0`,children:[i&&(0,M.jsx)(r,{type:`button`,role:`menuitem`,variant:`ghost`,onClick:s,disabled:d,className:`w-full justify-start rounded-none`,leftIcon:a?(0,M.jsx)(h,{className:`animate-spin`,"aria-hidden":!0}):(0,M.jsx)(m,{"aria-hidden":!0}),children:`Generate link`}),(0,M.jsx)(r,{type:`button`,role:`menuitem`,variant:`dangerGhost`,onClick:c,disabled:d,className:`w-full justify-start rounded-none`,leftIcon:o?(0,M.jsx)(h,{className:`animate-spin`,"aria-hidden":!0}):(0,M.jsx)(A,{"aria-hidden":!0}),children:`Delete`})]})]})}function le(e){return e>0xe8d4a51000?e:e*1e3}async function ue(e,t){let{data:n,response:r}=await T.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}function de(e){return[`credentials-list`,e]}var L=6;function R(){let e=D.use.credentialsSettings(),t=D.use.hasHydrated();return t&&!e?(0,M.jsx)(k,{}):t?(0,M.jsx)(z,{}):null}function z(){let e=oe(),n=i(),o=ie(),c=D.use.credentialRequests(),l=de(e),d=a({queryKey:l,queryFn:async()=>{let{data:t}=await te({path:{assistant_id:e},body:{},throwOnError:!0});return{credentials:t.credentials,managedCredentials:t.managedCredentials}},enabled:o,retry:t}),f=(0,j.useMemo)(()=>d.data?.credentials??[],[d.data]),y=(0,j.useMemo)(()=>d.data?.managedCredentials??[],[d.data]),S=re({onSuccess:()=>{n.invalidateQueries({queryKey:l}),w.success(`Credential saved.`)},onError:e=>{w.error(e.message||`Failed to save credential`)}}),C=ne({onError:e=>{w.error(e.message||`Failed to delete credential`)}}),[T,E]=(0,j.useState)(!1),[O,k]=(0,j.useState)(`own`),[A,N]=(0,j.useState)(``),[P,F]=(0,j.useState)(``),[I,R]=(0,j.useState)(``),[z,B]=(0,j.useState)(``),[V,H]=(0,j.useState)(``),[U,W]=(0,j.useState)(null),[G,K]=(0,j.useState)(null),[fe,q]=(0,j.useState)(null),J=S.isPending,pe=C.isPending?`${C.variables?.body?.service}:${C.variables?.body?.field}`:null,Y=(0,j.useMemo)(()=>{let e=A.trim().toLowerCase();return e?f.filter(t=>[t.service,t.field,`${t.service}:${t.field}`,t.alias??``].join(` `).toLowerCase().includes(e)):f},[f,A]);(0,j.useEffect)(()=>{f.length<=L&&N(``)},[f.length]),(0,j.useEffect)(()=>{f.length===0&&y.length>0&&k(`managed`)},[f.length,y.length]);let X=()=>{E(!1),F(``),R(``),B(``),H(``)},me=t=>{t?.preventDefault();let n=P.trim(),r=I.trim();!n||!r||!z.trim()||S.mutate({path:{assistant_id:e},body:{service:n,field:r,value:z,label:V.trim()||void 0}},{onSuccess:X})},he=()=>{let t=U;W(null),t&&C.mutate({path:{assistant_id:e},body:{service:t.service,field:t.field}},{onSuccess:()=>{n.invalidateQueries({queryKey:l}),w.success(`Deleted ${t.service}:${t.field}.`)}})},ge=async t=>{let n=`${t.service}:${t.field}`;q(n);try{let r=await ue(e,{service:t.service,field:t.field,label:t.alias??void 0});r.ok&&r.url?K({name:n,url:r.url,expiresAt:r.expiresAt??null}):w.error(r.error||`Failed to generate a one-time link`)}catch(e){w.error(e instanceof Error?e.message:`Failed to generate a one-time link`)}finally{q(null)}},_e=()=>{let e=G?.url;e&&navigator.clipboard.writeText(e).then(()=>w.success(`Link copied to clipboard.`),()=>w.error(`Couldn't copy the link — select it and copy manually.`))};if(d.isLoading)return(0,M.jsx)(`div`,{className:`flex items-center justify-center py-10`,children:(0,M.jsx)(h,{className:`h-5 w-5 animate-spin text-[var(--content-disabled)]`})});let Z=f.length>0,Q=y.length>0,ve=f.length>L,$=O===`managed`&&Q;return(0,M.jsxs)(`div`,{className:`space-y-4`,children:[(0,M.jsx)(se,{title:`Credentials`,subtitle:$?`Provided through your Vellum-managed integrations. These are read-only here.`:`Stored encrypted in your assistant's credential vault. Reveal a value on demand, or replace or delete it at any time.`,accessory:(0,M.jsxs)(`div`,{className:`flex items-center gap-2`,children:[Q?(0,M.jsx)(_,{items:[{value:`own`,label:`Your own`},{value:`managed`,label:`Managed`}],value:O,onChange:k,ariaLabel:`Credential source`}):null,!$&&Z?(0,M.jsx)(r,{type:`button`,variant:`primary`,size:`regular`,onClick:()=>E(!0),leftIcon:(0,M.jsx)(g,{"aria-hidden":!0}),children:`Add`}):null]}),children:$?(0,M.jsx)(`div`,{className:`space-y-2`,children:y.map(e=>(0,M.jsx)(s.Root,{children:(0,M.jsxs)(s.Body,{padding:`sm`,className:`flex items-center gap-4 px-4`,children:[(0,M.jsx)(p,{className:`h-5 w-5 shrink-0 text-[var(--content-secondary)]`,"aria-hidden":!0}),(0,M.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,M.jsx)(`p`,{className:`truncate text-title-small text-[var(--content-default)]`,children:e.provider}),(0,M.jsxs)(`p`,{className:`truncate text-body-medium-lighter text-[var(--content-tertiary)]`,children:[e.accountInfo??e.handle,` · `,e.status]})]}),(0,M.jsx)(v,{tone:`neutral`,children:`Managed`})]})},e.handle))}):(0,M.jsxs)(`div`,{className:`space-y-4`,children:[Z?(0,M.jsxs)(`div`,{className:`space-y-3`,children:[ve?(0,M.jsx)(b,{type:`text`,value:A,onChange:e=>N(e.target.value),placeholder:`Search credentials`,"aria-label":`Search credentials`,leftIcon:(0,M.jsx)(ae,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0}):null,Y.length===0?(0,M.jsxs)(`p`,{className:`px-1 py-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[`No credentials matched “`,A.trim(),`”.`]}):(0,M.jsx)(`div`,{className:`space-y-2`,children:Y.map(t=>{let n=`${t.service}:${t.field}`;return(0,M.jsx)(ce,{credential:t,assistantId:e,canGenerateLink:c,generatingLink:fe===n,deleting:pe===n,onGenerateLink:()=>void ge(t),onDelete:()=>W(t)},t.credentialId??n)})})]}):(0,M.jsxs)(`div`,{className:`flex flex-col items-center justify-center px-6 py-12 text-center`,children:[(0,M.jsx)(`div`,{className:`flex h-12 w-12 items-center justify-center rounded-full bg-[var(--surface-base)]`,children:(0,M.jsx)(p,{className:`h-6 w-6 text-[var(--content-disabled)] dark:text-[var(--content-default)]`,"aria-hidden":!0})}),(0,M.jsx)(`h3`,{className:`mt-4 text-title-small text-[var(--content-default)]`,children:`No credentials yet`}),(0,M.jsx)(`p`,{className:`mt-1 text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Add an API key or token to let tools and integrations use it.`})]}),Z?null:(0,M.jsx)(r,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>E(!0),className:`w-full border-dashed`,leftIcon:(0,M.jsx)(g,{"aria-hidden":!0}),children:`Add Credential`})]})}),(0,M.jsx)(ee,{open:U!==null,title:`Delete credential`,message:U?`Delete ${U.service}:${U.field}? Tools and integrations using it will lose access.`:``,confirmLabel:`Delete`,destructive:!0,onConfirm:he,onCancel:()=>W(null)}),(0,M.jsx)(x.Root,{open:T,onOpenChange:e=>{!e&&!J&&X()},children:(0,M.jsx)(x.Content,{size:`sm`,children:(0,M.jsxs)(`form`,{onSubmit:me,children:[(0,M.jsxs)(x.Header,{children:[(0,M.jsx)(x.Title,{icon:p,children:`Add credential`}),(0,M.jsx)(x.Description,{children:`Add an API key or token to let tools and integrations use it.`})]}),(0,M.jsxs)(x.Body,{className:`flex flex-col gap-3`,children:[(0,M.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row`,children:[(0,M.jsx)(b,{label:`Service`,type:`text`,value:P,onChange:e=>F(e.target.value),placeholder:`e.g. github`,autoFocus:!0,fullWidth:!0}),(0,M.jsx)(b,{label:`Field`,type:`text`,value:I,onChange:e=>R(e.target.value),placeholder:`e.g. api_token`,fullWidth:!0})]}),(0,M.jsx)(b,{label:`Value`,type:`password`,value:z,onChange:e=>B(e.target.value),placeholder:`Enter the secret value`,fullWidth:!0}),(0,M.jsx)(b,{label:`Label (optional)`,type:`text`,value:V,onChange:e=>H(e.target.value),placeholder:`e.g. GitHub personal access token`,fullWidth:!0})]}),(0,M.jsxs)(x.Footer,{children:[(0,M.jsx)(r,{type:`button`,variant:`outlined`,onClick:X,disabled:J,children:`Cancel`}),(0,M.jsx)(r,{type:`submit`,variant:`primary`,disabled:J||!P.trim()||!I.trim()||!z.trim(),leftIcon:J?(0,M.jsx)(h,{className:`animate-spin`,"aria-hidden":!0}):void 0,children:`Save`})]})]})})}),(0,M.jsx)(x.Root,{open:G!==null,onOpenChange:e=>{e||K(null)},children:(0,M.jsxs)(x.Content,{size:`sm`,children:[(0,M.jsxs)(x.Header,{children:[(0,M.jsx)(x.Title,{icon:m,children:`One-time credential link`}),(0,M.jsx)(x.Description,{children:G?`Send this link to whoever should provide ${G.name}. It works exactly once${G.expiresAt===null?``:` and expires ${new Date(le(G.expiresAt)).toLocaleString()}`}. Anyone with the link can set this credential, so share it over a trusted channel.`:``})]}),(0,M.jsx)(x.Body,{children:(0,M.jsx)(b,{label:`Link`,type:`text`,readOnly:!0,value:G?.url??``,onFocus:e=>e.currentTarget.select(),fullWidth:!0})}),(0,M.jsx)(x.Footer,{children:(0,M.jsx)(r,{type:`button`,size:`compact`,onClick:_e,leftIcon:(0,M.jsx)(u,{"aria-hidden":!0}),children:`Copy link`})})]})})]})}export{R as CredentialsPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{u as n}from"./chunk-5KNZJZUH-SU6Q_tDT.js";import{c as r}from"./routes-GPGveWZ8.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};
|