@vellumai/web 0.11.2 → 0.11.3-dev.202608080427.92f668a
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-wQN1d2rQ.js +9 -0
- package/dist/assets/BundleConfirmPage-BHuKVe7N.js +1 -0
- package/dist/assets/Combination-CZCRM_nS.js +41 -0
- package/dist/assets/Trans-DbCXS7f6.js +1 -0
- package/dist/assets/a2a-invite-Bz34KR0O.js +1 -0
- package/dist/assets/about-page-C1V1PL2z.js +1 -0
- package/dist/assets/access-DSfcckc5.js +1 -0
- package/dist/assets/account-BARFKlVR.js +1 -0
- package/dist/assets/account-page-D-N_OIYw.js +1 -0
- package/dist/assets/account-shell-BCtJc8aw.js +1 -0
- package/dist/assets/acp-run-actions-0YPAiHBF.js +1 -0
- package/dist/assets/acp-run-detail-panel-bI38r6eZ.js +5 -0
- package/dist/assets/acp-run-store-2b57Zt-w.js +1 -0
- package/dist/assets/activity-steps-panel-DKCgpcps.js +1 -0
- package/dist/assets/add-credential-modal-BPoLQogN.js +1 -0
- package/dist/assets/add-credits-modal-NtsunPB1.js +1 -0
- package/dist/assets/ai-page-CjnfG1xl.js +1 -0
- package/dist/assets/animate-Y_9diwTj.js +1 -0
- package/dist/assets/animated-avatar-C7AKTx1Z.js +1 -0
- package/dist/assets/api-Ba6UrYzs.js +1 -0
- package/dist/assets/api-errors-BePw2zjj.js +1 -0
- package/dist/assets/api-jZrikeMQ.js +1 -0
- package/dist/assets/api-key-screen-BXssuScI.js +1 -0
- package/dist/assets/app-card-CsVIX2R6.js +1 -0
- package/dist/assets/app-info-CuuInjNe.js +1 -0
- package/dist/assets/archive-VIStcSec.js +1 -0
- package/dist/assets/archive-redirect-page-Ctbv1qg0.js +1 -0
- package/dist/assets/arrow-down-to-line-DmG4pLoU.js +1 -0
- package/dist/assets/arrow-left-BikDV6F2.js +1 -0
- package/dist/assets/arrow-right-UTImTy7b.js +1 -0
- package/dist/assets/arrow-up-C0gtfKEK.js +1 -0
- package/dist/assets/assistant-feature-flag-store-BPsz8NIX.js +1 -0
- package/dist/assets/assistant-identity-store-C7vGdp0n.js +1 -0
- package/dist/assets/assistant-status-panel-DZcGaC-o.js +1 -0
- package/dist/assets/auth-store-CZQaQyZa.js +2 -0
- package/dist/assets/avatar-random-B0mfYk8d.js +1 -0
- package/dist/assets/avatar-renderer-DTd4-yBw.js +1 -0
- package/dist/assets/background-task-actions-Dg83cUSZ.js +1 -0
- package/dist/assets/background-task-detail-panel-LMvmZXd-.js +1 -0
- package/dist/assets/background-task-store-DcEFQYum.js +1 -0
- package/dist/assets/ban-Dk1OXyCw.js +1 -0
- package/dist/assets/bell-aW0w-ROt.js +1 -0
- package/dist/assets/billing-page-2VYClPN-.js +3 -0
- package/dist/assets/billing-redirect-page-DR-wJlMt.js +1 -0
- package/dist/assets/bookmarks-page-CWjP5C5O.js +1 -0
- package/dist/assets/brain-ZiC0HCCF.js +1 -0
- package/dist/assets/browser-D2kJEYqS.js +2 -0
- package/dist/assets/bug-CDEs1Scu.js +1 -0
- package/dist/assets/build-state-BKY9h709.js +1 -0
- package/dist/assets/button-BENY-yx_.js +1 -0
- package/dist/assets/calendar-CTyC1v1L.js +1 -0
- package/dist/assets/capture-error-BJ9lxRkr.js +4 -0
- package/dist/assets/card-q0GJX1HZ.js +1 -0
- package/dist/assets/channels-Ban13H7e.js +1 -0
- package/dist/assets/channels-page-route-BoIzc8L1.js +9 -0
- package/dist/assets/chart-column-CEHOik7U.js +1 -0
- package/dist/assets/chat-23bbcxL_.js +1 -0
- package/dist/assets/chat-avatar-vFzDNJKQ.js +1 -0
- package/dist/assets/chat-layout-slots-store-hoR34Hmq.js +1 -0
- package/dist/assets/chat-markdown-message-DJTzCYzd.js +1 -0
- package/dist/assets/check-DSgjgwlo.js +1 -0
- package/dist/assets/checkbox-C4x4HEp4.js +1 -0
- package/dist/assets/checkout-continuation-DPXVHWRs.js +1 -0
- package/dist/assets/checkout-page-DaAkNEhm.js +1 -0
- package/dist/assets/checkout-return-target-Ds3rNKM9.js +1 -0
- package/dist/assets/chevron-down-CrFV6lfm.js +1 -0
- package/dist/assets/chevron-left-D-pnIQax.js +1 -0
- package/dist/assets/chevron-right-DBGgpEiZ.js +1 -0
- package/dist/assets/chevron-up-B84s50b8.js +1 -0
- package/dist/assets/chunk-5KNZJZUH-BUqIilZr.js +4 -0
- package/dist/assets/circle-alert-De9q5FVd.js +1 -0
- package/dist/assets/circle-check-big-CpoRGdNz.js +1 -0
- package/dist/assets/circle-check-q8BVdbgw.js +1 -0
- package/dist/assets/circle-minus-Y3lFnfyL.js +1 -0
- package/dist/assets/circle-x-B5rnAOe1.js +1 -0
- package/dist/assets/client-feature-flag-store-BCe_rK7W.js +1 -0
- package/dist/assets/client-perf-BP44QHD3.js +1 -0
- package/dist/assets/clipboard-copy-BOU_-XoC.js +1 -0
- package/dist/assets/clock-B8umTTHk.js +1 -0
- package/dist/assets/cloud-DqktQX50.js +1 -0
- package/dist/assets/cloud-off-DyOAnFan.js +1 -0
- package/dist/assets/cn-DFWryB3N.js +1 -0
- package/dist/assets/code-DwZ6Mhdw.js +1 -0
- package/dist/assets/coins-CJ7Ik1IC.js +1 -0
- package/dist/assets/command-palette-55TJpX4Z.js +1 -0
- package/dist/assets/command-palette-window-page-CXa7oO3_.js +1 -0
- package/dist/assets/common-DZxSnY73.js +1 -0
- package/dist/assets/community-page-DJ6vm6wg.js +1 -0
- package/dist/assets/companion-surface-page-ocwCiy5l.js +1 -0
- package/dist/assets/composer-settings-ZDoaJKDa.js +1 -0
- package/dist/assets/confirm-dialog-D5z2wwOp.js +1 -0
- package/dist/assets/connect-page-DF9e4WZw.js +1 -0
- package/dist/assets/consent-D_YHSTAp.js +1 -0
- package/dist/assets/consent-controls-DBFVgGmj.js +1 -0
- package/dist/assets/contacts-gateway-BOKkOlbP.js +1 -0
- package/dist/assets/contacts-page-route-0r7k4H5E.js +1 -0
- package/dist/assets/conversation-cache-Dfxp7k3J.js +1 -0
- package/dist/assets/conversation-list-fetchers-DbR1ODKx.js +1 -0
- package/dist/assets/conversation-navigation-0dw3ww6u.js +1 -0
- package/dist/assets/conversation-queries-iwrF0WPe.js +1 -0
- package/dist/assets/conversation-selection-D1xKCng8.js +1 -0
- package/dist/assets/conversation-store-HPocOG5t.js +1 -0
- package/dist/assets/copy-to-clipboard-BPO_ARVY.js +1 -0
- package/dist/assets/cpu-mDttg6J1.js +1 -0
- package/dist/assets/credential-entry-page-CNFju0Tc.js +1 -0
- package/dist/assets/credentials-page-CoqQzQhY.js +1 -0
- package/dist/assets/csv-preview-XiTb67P0.js +4 -0
- package/dist/assets/daily-reset-time-B2-pE2Lv.js +1 -0
- package/dist/assets/danger-zone-redirect-page-PrLujJTV.js +1 -0
- package/dist/assets/debug-page-12UgpQ3F.js +4 -0
- package/dist/assets/deploy-dialogs-C3-ABbwC.js +1 -0
- package/dist/assets/deploy-store-DqaBVuKz.js +1 -0
- package/dist/assets/desktop-voice-activity-Bq5rOAnf.js +1 -0
- package/dist/assets/detail-card-DwbZSLPd.js +1 -0
- package/dist/assets/detail-drawer-B8UHAAk_.js +1 -0
- package/dist/assets/detail-panel-stop-button-mslL0BzZ.js +1 -0
- package/dist/assets/detail-shell-AuGgMBRh.js +1 -0
- package/dist/assets/developer-page-ByjG7sgN.js +1 -0
- package/dist/assets/device-settings-DZvv4pnY.js +1 -0
- package/dist/assets/devices-redirect-page-B_OPsna9.js +1 -0
- package/dist/assets/diagnostics-5GSGt7VY.js +1 -0
- package/dist/assets/dictation-overlay-EHyPXXgF.js +1 -0
- package/dist/assets/dictation-overlay-page-h_jxerfS.js +1 -0
- package/dist/assets/dist-8oesoRzW.js +1 -0
- package/dist/assets/dist-DBUqjtfj.js +1 -0
- package/dist/assets/dist-DHB1G-V6.js +1 -0
- package/dist/assets/dist-QWtLx5IO.js +1 -0
- package/dist/assets/doctor-handoff-store-DsC0fFP-.js +1 -0
- package/dist/assets/document-viewer-container-DWKnhIfy.js +2 -0
- package/dist/assets/document-viewer-page-hl12zA2J.js +1 -0
- package/dist/assets/download-Byg0fi0d.js +1 -0
- package/dist/assets/edge-swipe-arbiter-store-54ZQbQQv.js +1 -0
- package/dist/assets/effective-timezone-BHJf6K2g.js +1 -0
- package/dist/assets/ellipsis-C7C3LPFH.js +1 -0
- package/dist/assets/ellipsis-vertical-eVgdKn9z.js +1 -0
- package/dist/assets/emails-page-BJ69BUIy.js +1 -0
- package/dist/assets/environment-store-2N8WFcTQ.js +1 -0
- package/dist/assets/esm-B0FvOEeF.js +2 -0
- package/dist/assets/esm-BG6gvI8t.js +2 -0
- package/dist/assets/esm-BGYKEhde.js +1 -0
- package/dist/assets/esm-C5LjT0GG.js +2 -0
- package/dist/assets/esm-CJO9UWPo.js +2 -0
- package/dist/assets/esm-CY1X8PqC.js +2 -0
- package/dist/assets/esm-Ch7_CW4p.js +1 -0
- package/dist/assets/esm-CwdknGxj.js +2 -0
- package/dist/assets/esm-L64VP2nj.js +2 -0
- package/dist/assets/external-link-vwewPjbo.js +1 -0
- package/dist/assets/eye-GcssNJdY.js +1 -0
- package/dist/assets/eye-off-BwU7XK4M.js +1 -0
- package/dist/assets/feature-flag-catalog-DqRwJjQh.js +1 -0
- package/dist/assets/field-3WTC6Gb3.js +1 -0
- package/dist/assets/file-CTdxLT0k.js +1 -0
- package/dist/assets/file-code-Cw2JhKbm.js +1 -0
- package/dist/assets/file-editor-D9DN-4h-.js +1 -0
- package/dist/assets/file-markdown-u8xkc8ru.js +2 -0
- package/dist/assets/file-plus-D0O_zjgz.js +1 -0
- package/dist/assets/file-text-DDbRSMUn.js +1 -0
- package/dist/assets/first-run-scope-CS67DU3V.js +1 -0
- package/dist/assets/folder-DBR-Zigu.js +1 -0
- package/dist/assets/folder-open-BBs1-i8r.js +1 -0
- package/dist/assets/format-date-mZFhGVxR.js +1 -0
- package/dist/assets/funnel-events-DtR5SKWK.js +1 -0
- package/dist/assets/general-page-CoBBcUG3.js +1 -0
- package/dist/assets/get-memory-stats-CTx4hcMd.js +1 -0
- package/dist/assets/globe-COk-NH9x.js +1 -0
- package/dist/assets/haptics-Dl5xy-eo.js +2 -0
- package/dist/assets/hard-drive-DsHzx0GK.js +1 -0
- package/dist/assets/hatching-screen-BGCKqwSr.js +1 -0
- package/dist/assets/heart-CRsy5qXC.js +1 -0
- package/dist/assets/home-page-route-D8ofqG6l.js +1 -0
- package/dist/assets/home-tool-permission-card-CJcggMP3.js +1 -0
- package/dist/assets/hosting-screen-BkUjKQw7.js +1 -0
- package/dist/assets/i18n-BtwP4BeQ.js +4 -0
- package/dist/assets/identity-BVQ41RO0.js +1 -0
- package/dist/assets/identity-page-route-B6SaJ3WN.js +7 -0
- package/dist/assets/image-BqkbR_Cu.js +1 -0
- package/dist/assets/inbox-Zbr4HDc_.js +1 -0
- package/dist/assets/index-I7FBli_S.css +2 -0
- package/dist/assets/index-oZqMeey3.js +11 -0
- package/dist/assets/info-CXkwGlN_.js +1 -0
- package/dist/assets/ingest-BaC3pJk_.js +1 -0
- package/dist/assets/input-BBRukT0E.js +1 -0
- package/dist/assets/inspect-page-CpoTMqmB.js +9 -0
- package/dist/assets/installed-plugins-query-Lh3AARs3.js +1 -0
- package/dist/assets/integration-icon-DfgJsQ01.js +1 -0
- package/dist/assets/integrations-page-DDGXMJ8d.js +1 -0
- package/dist/assets/intelligence-layout-DbQIFt0U.js +1 -0
- package/dist/assets/invalidate-memory-queries-r7g0ESdx.js +1 -0
- package/dist/assets/invalidate-plugin-queries-BwkYPjKY.js +1 -0
- package/dist/assets/key-round-B-C1Qgxd.js +1 -0
- package/dist/assets/keyboard-shortcuts-redirect-page-BcW0QZcN.js +1 -0
- package/dist/assets/laptop-BXuIFbVm.js +1 -0
- package/dist/assets/latest-assistant-text-D7dBcMpi.js +24 -0
- package/dist/assets/layout-grid-C3h1DMhl.js +1 -0
- package/dist/assets/library-detail-page-DFPgxHOe.js +1 -0
- package/dist/assets/library-page-Bsum2PLf.js +1 -0
- package/dist/assets/lightbulb-DqvoPoCk.js +1 -0
- package/dist/assets/link-2-Bm55xvLL.js +1 -0
- package/dist/assets/link-DMi999lz.js +1 -0
- package/dist/assets/list-O_53kvwx.js +1 -0
- package/dist/assets/loader-circle-DOtGXcds.js +1 -0
- package/dist/assets/local-mode-3uqCVSdR.js +39 -0
- package/dist/assets/local-runtime-upgrade-sUheuYwu.js +1 -0
- package/dist/assets/log-in-BkWp0GjS.js +1 -0
- package/dist/assets/log-out-un0hWR_E.js +1 -0
- package/dist/assets/login-flow-BBSvZxsg.js +1 -0
- package/dist/assets/login-page-CpwOnQlL.js +1 -0
- package/dist/assets/logout-page-D1aDpRoG.js +1 -0
- package/dist/assets/logs-layout-C75d-WOS.js +1 -0
- package/dist/assets/mail-CYjppw70.js +1 -0
- package/dist/assets/media-preview-YRA1PcYG.js +1 -0
- package/dist/assets/memory-page-route-D3HGZmtr.js +6 -0
- package/dist/assets/memory-router-playground-page-BjyrmOYY.js +3 -0
- package/dist/assets/menu-DvkwQ4tD.js +1 -0
- package/dist/assets/message-circle-C6QWfv9m.js +1 -0
- package/dist/assets/message-content-BeZU6aXb.js +1 -0
- package/dist/assets/message-files-panel-By3jrpQ4.js +1 -0
- package/dist/assets/message-square-BjBDqFUX.js +1 -0
- package/dist/assets/message-square-text-Crbwae27.js +1 -0
- package/dist/assets/messages-CXkDkloX.js +13 -0
- package/dist/assets/metric-card-CcqtHPkX.js +1 -0
- package/dist/assets/mic-bZFqVBA_.js +1 -0
- package/dist/assets/middleware-DiHdH8q1.js +1 -0
- package/dist/assets/minimize-2-D5pX5fY1.js +1 -0
- package/dist/assets/mobile-sidebar-drawer-DGzYrOYd.js +1 -0
- package/dist/assets/modal-RvuckaS5.js +1 -0
- package/dist/assets/monitor-CPgcKlQP.js +1 -0
- package/dist/assets/moon-D9N1oSgM.js +1 -0
- package/dist/assets/multi-activity-group-DZjkieP4.js +1 -0
- package/dist/assets/native-anchor-BdTtTO8c.js +1 -0
- package/dist/assets/native-auth-error-CFWzetfp.js +1 -0
- package/dist/assets/native-file-fePNl-60.js +2 -0
- package/dist/assets/navigation-resolver-C6kDBL4V.js +1 -0
- package/dist/assets/not-found-BbWa0-Sp.js +1 -0
- package/dist/assets/notice-CaWDgTdK.js +1 -0
- package/dist/assets/notifications-BSNqLqye.js +1 -0
- package/dist/assets/notifications-page-BBCQsyPA.js +1 -0
- package/dist/assets/oauth-complete-page-B0shLcpN.js +105 -0
- package/dist/assets/oauth-connection-utils-D9fKnIxu.js +1 -0
- package/dist/assets/oauth-popup-complete-page-Sg7HwknQ.js +105 -0
- package/dist/assets/onboarding-layout-TGfckVC5.js +1 -0
- package/dist/assets/onboarding-store-DThPnFbF.js +1 -0
- package/dist/assets/open-workspace-file-BQfxELri.js +2 -0
- package/dist/assets/page-empty-state-CSVsrqau.js +1 -0
- package/dist/assets/page-shell-BW4BCtBP.js +1 -0
- package/dist/assets/page-surface-store-DIE-pkr_.js +1 -0
- package/dist/assets/pairing-page-D-iSwHQp.js +1 -0
- package/dist/assets/paperclip-CQEdxfSq.js +1 -0
- package/dist/assets/password-reset-page-DuUa-OjZ.js +1 -0
- package/dist/assets/pdf-file-preview-Ddx2hYJd.js +1 -0
- package/dist/assets/pdf-preview-DINyTdQ2.js +2 -0
- package/dist/assets/pencil-DidiUknI.js +1 -0
- package/dist/assets/personality-page-Vvv7spoy.js +1 -0
- package/dist/assets/plans-page-CCOq75-S.js +1 -0
- package/dist/assets/platform-detection-CC6UYgBe.js +6 -0
- package/dist/assets/platform-login-notice-DFnTisXK.js +1 -0
- package/dist/assets/platform-loopback-page-PEU-x9eE.js +1 -0
- package/dist/assets/play-UYtEUTRg.js +1 -0
- package/dist/assets/plug-CmjogTDL.js +1 -0
- package/dist/assets/plugin-detail-page-D1XP6-qz.js +1 -0
- package/dist/assets/plugins-page-DbDX_lHw.js +1 -0
- package/dist/assets/plugins-surface-O06N3m6s.js +1 -0
- package/dist/assets/plus-BYxxpGuo.js +1 -0
- package/dist/assets/popover-CmXa0Jfk.js +1 -0
- package/dist/assets/prefs-DL8BMQQI.js +1 -0
- package/dist/assets/preview-error-hgo8sRWM.js +1 -0
- package/dist/assets/preview-skeleton-Cm8XOkqJ.js +1 -0
- package/dist/assets/privacy-page-CiFYY_g1.js +1 -0
- package/dist/assets/privacy-screen-DizrVOnl.js +1 -0
- package/dist/assets/profile-metadata-COZuRgbf.js +1 -0
- package/dist/assets/profile-pickers-BgMnChRP.js +1 -0
- package/dist/assets/progress-bar-IQu8a5jw.js +1 -0
- package/dist/assets/provider-callback-page-CxrXOi0A.js +1 -0
- package/dist/assets/provider-key-BFi6H1zT.js +1 -0
- package/dist/assets/provider-signup-page-BJGc29LS.js +1 -0
- package/dist/assets/provisioning-targets-97j-7nqn.js +1 -0
- package/dist/assets/proxy-Do-Khsj0.js +1 -0
- package/dist/assets/push-registration-Bgm-ReMd.js +2 -0
- package/dist/assets/puzzle-CPUEnSvC.js +1 -0
- package/dist/assets/quick-input-page-CZfmwWys.js +1 -0
- package/dist/assets/react-query.gen-CZhCJkSw.js +1 -0
- package/dist/assets/react-query.gen-DfH8CP-D.js +1 -0
- package/dist/assets/reduced-motion-C6t3gGc_.js +1 -0
- package/dist/assets/refresh-cw-DsQNt7Mf.js +1 -0
- package/dist/assets/remote-gateway-session-DosfrG-S.js +1 -0
- package/dist/assets/remove-from-device-dialog-CEJ3moc2.js +1 -0
- package/dist/assets/repeat-C5hEKB2H.js +1 -0
- package/dist/assets/research-facts-XXFzZcNX.js +1 -0
- package/dist/assets/research-mock-page-BuraRMDK.js +1 -0
- package/dist/assets/research-onboarding-persistence-iw7hhfKM.js +1 -0
- package/dist/assets/research-onboarding-route-BiJMTfVm.js +50 -0
- package/dist/assets/research-results-view-DrcW-zGx.js +3 -0
- package/dist/assets/resolved-assistants-store-C8LHpp8e.js +1 -0
- package/dist/assets/retire-confirm-dialog-qplJ2I0-.js +1 -0
- package/dist/assets/review-terms-screen-o7T08t6r.js +1 -0
- package/dist/assets/rotate-ccw-DsGxZIAg.js +1 -0
- package/dist/assets/routes-CuLukUZB.js +1 -0
- package/dist/assets/routes-DKpTjrVM.js +23 -0
- package/dist/assets/runtime-upgrade-banner-ChGSHxpv.js +2 -0
- package/dist/assets/sandbox-bridge-B1GeJROS.js +275 -0
- package/dist/assets/schedules-C3YtlRD4.js +1 -0
- package/dist/assets/schedules-Cx-ZPjSZ.js +1 -0
- package/dist/assets/schedules-Dawm_4da.js +1 -0
- package/dist/assets/schedules-page-C09sXm3f.js +1 -0
- package/dist/assets/sdk.gen-BuK52Py3.js +1 -0
- package/dist/assets/sdk.gen-CRqU0Sdn.js +6 -0
- package/dist/assets/sdk.gen-CUWXKhFV.js +6 -0
- package/dist/assets/search-BSUupeAI.js +1 -0
- package/dist/assets/security-redirect-page-0Gh53hnK.js +1 -0
- package/dist/assets/select-CPkS2vTp.js +1 -0
- package/dist/assets/select-assistant-screen-CL2lcUaF.js +1 -0
- package/dist/assets/self-hosted-servers-CakFyXC-.js +1 -0
- package/dist/assets/send-U5mjCA0w.js +1 -0
- package/dist/assets/setting-row-CD_K32Xb.js +1 -0
- package/dist/assets/settings-C6b2wh56.js +1 -0
- package/dist/assets/settings-divider--EJ5Jkst.js +1 -0
- package/dist/assets/settings-layout-Dye3J3zV.js +1 -0
- package/dist/assets/settings-navigation-Amdx68bI.js +1 -0
- package/dist/assets/share-feedback-modal-BaCRCOaZ.js +2 -0
- package/dist/assets/shield-BWZBU6wj.js +1 -0
- package/dist/assets/shield-check-8-GDXt8x.js +1 -0
- package/dist/assets/shim-CuPetV8-.js +1 -0
- package/dist/assets/sidebar-tree-BsYwZFZA.js +1 -0
- package/dist/assets/signup-page-DbjNqH4o.js +1 -0
- package/dist/assets/signup-shell-CstTX4jz.js +1 -0
- package/dist/assets/site-favicon-B7DCCR3v.js +1 -0
- package/dist/assets/skeleton-EuUO-r4i.js +1 -0
- package/dist/assets/skill-detail-page-BSy_y5VD.js +2 -0
- package/dist/assets/skill-detail-panel-Cjskp5vw.js +1 -0
- package/dist/assets/skills-Dn2O-LSh.js +1 -0
- package/dist/assets/skills-page-o01YWY6z.js +1 -0
- package/dist/assets/sliders-horizontal-CdYkJOse.js +1 -0
- package/dist/assets/smartphone-CLL_DNLZ.js +1 -0
- package/dist/assets/sound-manager-vLKw0z0c.js +1 -0
- package/dist/assets/sounds-page-DefiXjR_.js +1 -0
- package/dist/assets/sparkles-BE7ouxCu.js +1 -0
- package/dist/assets/square-DV5QmiXs.js +1 -0
- package/dist/assets/src-DLDP99aa.js +293 -0
- package/dist/assets/start-screen-ZWOEeiV7.js +1 -0
- package/dist/assets/stt-language-picker-modal-D3g7Ma1b.js +1 -0
- package/dist/assets/subagent-detail-panel-B9GGmY4V.js +4 -0
- package/dist/assets/subagent-store-BukqLmPz.js +3 -0
- package/dist/assets/sun-Ga7CWLyW.js +1 -0
- package/dist/assets/superpowers-page-uAuHypn9.js +1 -0
- package/dist/assets/surface-parse-helpers-Dpxz8G3q.js +1 -0
- package/dist/assets/system-events-page-DxFNibm8.js +1 -0
- package/dist/assets/system-events-redirect-page-BMhm3zbC.js +1 -0
- package/dist/assets/tag-Cg97RqBa.js +1 -0
- package/dist/assets/telegram-setup-wizard-DJfN9K_x.js +1 -0
- package/dist/assets/terminal-DQ8ba9tG.js +1 -0
- package/dist/assets/text-preview-BQW0DZgx.js +1 -0
- package/dist/assets/theme-preferences-CPHbp1nE.js +1 -0
- package/dist/assets/theme-stage-page-DOo8BQxj.js +1 -0
- package/dist/assets/threshold-presets-EiS8G6wU.js +1 -0
- package/dist/assets/tiptap-document-editor-5ydB4rkQ.js +282 -0
- package/dist/assets/toast-CEOMJr4U.js +1 -0
- package/dist/assets/toggle-BK7kOn0t.js +1 -0
- package/dist/assets/tool-detail-panel-D5Aj8_zu.js +2 -0
- package/dist/assets/trash-2-Dspkb7sv.js +1 -0
- package/dist/assets/triangle-alert-BdnWU2cF.js +1 -0
- package/dist/assets/trust-rules-api-GY20v7kh.js +1 -0
- package/dist/assets/typed-storage-ihkTC_O3.js +1 -0
- package/dist/assets/typography-BeUa5Fd-.js +1 -0
- package/dist/assets/upgrade-cancel-page-DxGTcM0T.js +1 -0
- package/dist/assets/upgrade-success-page-SeG7kZJz.js +1 -0
- package/dist/assets/upload-CZL0kXl9.js +1 -0
- package/dist/assets/usage-redirect-page-DnPc6pDX.js +1 -0
- package/dist/assets/use-active-assistant-id-CRVEwroF.js +1 -0
- package/dist/assets/use-app-theme-BjXjrw2D.js +1 -0
- package/dist/assets/use-assistant-avatar-vQQJiTyQ.js +1 -0
- package/dist/assets/use-assistant-capability-CCw_sRaZ.js +1 -0
- package/dist/assets/use-assistant-identity-details-CHe8dq0r.js +1 -0
- package/dist/assets/use-attachment-preview-BydTwYFw.js +2 -0
- package/dist/assets/use-attachment-squares-CiBPWmQy.js +1 -0
- package/dist/assets/use-avatar-accent-var-X5UncQ8q.js +1 -0
- package/dist/assets/use-bookmarks-Ddiypb42.js +1 -0
- package/dist/assets/use-bundled-avatar-components-B1p-rbl5.js +2 -0
- package/dist/assets/use-bus-subscription-BwRmqcqX.js +1 -0
- package/dist/assets/use-checkout-dismiss-refresh-UudZ1eth.js +1 -0
- package/dist/assets/use-command-palette-sections-D8ISy0mZ.js +1 -0
- package/dist/assets/use-copy-to-clipboard-i7e2V67h.js +1 -0
- package/dist/assets/use-discord-nudge-C6sdJKWC.js +1 -0
- package/dist/assets/use-edge-swipe-COcAU_Fc.js +1 -0
- package/dist/assets/use-edge-swipe-back-BHPT0SwS.js +2 -0
- package/dist/assets/use-edit-app-BBt_QLz4.js +1 -0
- package/dist/assets/use-effective-timezone-XI9N8FIV.js +1 -0
- package/dist/assets/use-invite-link-dialog-Cf_iU0lc.js +1 -0
- package/dist/assets/use-is-mobile-BONxmNg6.js +1 -0
- package/dist/assets/use-is-org-ready-DDPvNjGQ.js +1 -0
- package/dist/assets/use-local-file-info-BekXKjCr.js +1 -0
- package/dist/assets/use-media-query-CtzETH7h.js +1 -0
- package/dist/assets/use-onboarding-login-M_mYkG1L.js +1 -0
- package/dist/assets/use-platform-assistant-id-BZkPkbak.js +1 -0
- package/dist/assets/use-platform-gate-LvV52YvY.js +1 -0
- package/dist/assets/use-reduced-motion-D2PbFfB8.js +1 -0
- package/dist/assets/use-return-to-short-circuit-CAFZ2wFM.js +1 -0
- package/dist/assets/use-save-twilio-credentials-9mLR4V3N.js +1 -0
- package/dist/assets/use-skill-actions-SutUKH8j.js +1 -0
- package/dist/assets/use-skill-detail-files-BzTk4Vg_.js +1 -0
- package/dist/assets/use-sticky-profiles-2yR9q-8q.js +1 -0
- package/dist/assets/use-subagent-card-data-V_ZpqVcG.js +1 -0
- package/dist/assets/use-supports-bookmarks-Dr1cZXhl.js +1 -0
- package/dist/assets/use-supports-credentials-settings-SC0xYssf.js +1 -0
- package/dist/assets/use-swipe-engine-Dw5o339u.js +1 -0
- package/dist/assets/use-touch-mobile-DobTN-Js.js +1 -0
- package/dist/assets/use-transcript-message-by-id-BcGB4Cx5.js +1 -0
- package/dist/assets/use-transcript-messages-D3vYR7IF.js +3 -0
- package/dist/assets/use-voice-sample-preview-BrXlVX28.js +1 -0
- package/dist/assets/useTranslation-BoydodgW.js +1 -0
- package/dist/assets/user-BX4JxD8k.js +1 -0
- package/dist/assets/user-plus-Gc92TQsa.js +1 -0
- package/dist/assets/users-DtFCP5jO.js +1 -0
- package/dist/assets/utils-M1xtddxX.js +1 -0
- package/dist/assets/viewer-store-COM96tAr.js +1 -0
- package/dist/assets/voice-list-DCeVI668.js +1 -0
- package/dist/assets/voice-page-B0l7HmP0.js +1 -0
- package/dist/assets/voice-providers-note-XU2vE9TG.js +1 -0
- package/dist/assets/volume-2-D4ppxKF0.js +1 -0
- package/dist/assets/weather-forecast-display-CpvKPm3q.js +1 -0
- package/dist/assets/web-33SfXqCY.js +1 -0
- package/dist/assets/web-BwUTRhXq.js +1 -0
- package/dist/assets/web-C66Cd75s.js +1 -0
- package/dist/assets/web-CeEpjHK7.js +1 -0
- package/dist/assets/web-CkGp76CB.js +1 -0
- package/dist/assets/web-DT1WtkpS.js +1 -0
- package/dist/assets/web-DwNNtyt4.js +1 -0
- package/dist/assets/web-Dx-4z287.js +1 -0
- package/dist/assets/web-lg40CsVY.js +1 -0
- package/dist/assets/welcome-screen-Cz4y-oNG.js +1 -0
- package/dist/assets/workflow-DAU_0KJd.js +1 -0
- package/dist/assets/workflow-detail-panel-Dui3Hi4T.js +1 -0
- package/dist/assets/workflow-store-Djibyv80.js +1 -0
- package/dist/assets/workspace-page-CDRBnqk8.js +1 -0
- package/dist/assets/workspace-tree-query-DAthSS3Z.js +1 -0
- package/dist/assets/wrench-C_bzLJKM.js +1 -0
- package/dist/assets/x-DcjZaQsQ.js +1 -0
- package/dist/images/integrations/ATTRIBUTION.md +72 -0
- package/dist/images/integrations/airtable.svg +1 -0
- package/dist/images/integrations/asana.svg +1 -0
- package/dist/images/integrations/discord.svg +1 -0
- package/dist/images/integrations/dropbox.svg +1 -0
- package/dist/images/integrations/hubspot.svg +1 -0
- package/dist/images/integrations/salesforce.svg +5 -0
- package/dist/images/integrations/sanity.svg +1 -0
- package/dist/images/integrations/spotify.svg +1 -0
- package/dist/images/integrations/telegram.svg +1 -0
- package/dist/images/integrations/todoist.svg +1 -0
- package/dist/images/integrations/x.svg +1 -0
- package/dist/index.html +340 -287
- package/package.json +1 -1
- package/dist/assets/AnimatePresence-CHo6D7IH.js +0 -9
- package/dist/assets/BundleConfirmPage-j6ko1Z2E.js +0 -1
- package/dist/assets/Combination-TPH8qx8I.js +0 -41
- package/dist/assets/a2a-invite-Bld7VHkJ.js +0 -1
- package/dist/assets/about-page-BBS2ZLwu.js +0 -1
- package/dist/assets/access-PKx6h0AJ.js +0 -1
- package/dist/assets/account-page-DucijMvM.js +0 -1
- package/dist/assets/account-shell-BBDh-DzD.js +0 -1
- package/dist/assets/acp-run-actions-zSUs8U3N.js +0 -1
- package/dist/assets/acp-run-detail-panel-DJ6moBbf.js +0 -5
- package/dist/assets/acp-run-store-DdzY8U9Y.js +0 -1
- package/dist/assets/activity-steps-panel-C95hN_fd.js +0 -1
- package/dist/assets/add-credential-modal-BbvTHJmF.js +0 -1
- package/dist/assets/add-credits-modal-C5d63VSi.js +0 -1
- package/dist/assets/ai-page-CbNTYziv.js +0 -1
- package/dist/assets/animated-avatar-B0vCEKkY.js +0 -1
- package/dist/assets/api-CGsj1Pig.js +0 -1
- package/dist/assets/api-errors-BRGPPSWw.js +0 -1
- package/dist/assets/api-key-screen-B5zgGiwa.js +0 -1
- package/dist/assets/api-pN-AgY8Q.js +0 -1
- package/dist/assets/app-card-CxO44OqN.js +0 -1
- package/dist/assets/app-info-BDq_9VB8.js +0 -1
- package/dist/assets/archive-BQ3zdIPv.js +0 -1
- package/dist/assets/archive-redirect-page-Cxcg7zGt.js +0 -1
- package/dist/assets/arrow-down-to-line-DMGjBlMw.js +0 -1
- package/dist/assets/arrow-left-W84B6oJL.js +0 -1
- package/dist/assets/arrow-right-ChqGeAaW.js +0 -1
- package/dist/assets/arrow-up-CWzHzcyU.js +0 -1
- package/dist/assets/assistant-feature-flag-store-BojuHxUH.js +0 -1
- package/dist/assets/assistant-identity-store-B51BX78j.js +0 -1
- package/dist/assets/assistant-status-panel-ZdWgKADH.js +0 -1
- package/dist/assets/auth-store-C9aYqB9U.js +0 -2
- package/dist/assets/avatar-random-BR8w4F35.js +0 -1
- package/dist/assets/avatar-renderer-TpNgmnU1.js +0 -1
- package/dist/assets/background-task-actions-DmocXKSr.js +0 -1
- package/dist/assets/background-task-detail-panel-BvgkgKs6.js +0 -1
- package/dist/assets/background-task-store-DpOSZFT8.js +0 -1
- package/dist/assets/ban-BKp90l-0.js +0 -1
- package/dist/assets/bell-2SnK9BVD.js +0 -1
- package/dist/assets/billing-page-CSxWbmCW.js +0 -3
- package/dist/assets/billing-redirect-page-QFlD3jYy.js +0 -1
- package/dist/assets/bookmarks-page-hFDlAWts.js +0 -1
- package/dist/assets/brain-CN4zzNgU.js +0 -1
- package/dist/assets/browser-CcdNg0HN.js +0 -2
- package/dist/assets/bug-DdmWJIkz.js +0 -1
- package/dist/assets/build-state-9uUe0jN5.js +0 -1
- package/dist/assets/button-BwFudwM5.js +0 -1
- package/dist/assets/calendar-qrPKlf1H.js +0 -1
- package/dist/assets/capture-error-CqtAGHQu.js +0 -4
- package/dist/assets/card-DRIctGVs.js +0 -1
- package/dist/assets/channels-page-route-Cxn_zS-J.js +0 -9
- package/dist/assets/chart-column-k8S2UYq8.js +0 -1
- package/dist/assets/chat-avatar-B5fx9Xm3.js +0 -1
- package/dist/assets/chat-layout-slots-store-DP8MgnXi.js +0 -1
- package/dist/assets/chat-markdown-message-BZZsrGyj.js +0 -1
- package/dist/assets/check-Dt2rQhdg.js +0 -1
- package/dist/assets/checkbox-fzrjTRTI.js +0 -1
- package/dist/assets/checkout-continuation-CYDyrqci.js +0 -1
- package/dist/assets/checkout-page-lDrK4V11.js +0 -1
- package/dist/assets/checkout-return-target-BStfEab4.js +0 -1
- package/dist/assets/chevron-down-BNidRDh1.js +0 -1
- package/dist/assets/chevron-left-CrxnPze-.js +0 -1
- package/dist/assets/chevron-right-CANAtgGn.js +0 -1
- package/dist/assets/chevron-up-DofScvyy.js +0 -1
- package/dist/assets/chunk-5KNZJZUH-Bsoom5--.js +0 -4
- package/dist/assets/circle-alert-DQMH8VJH.js +0 -1
- package/dist/assets/circle-check-DvrCdroD.js +0 -1
- package/dist/assets/circle-check-big-DtV6IJuh.js +0 -1
- package/dist/assets/circle-minus-BBDKV6k6.js +0 -1
- package/dist/assets/circle-x-DTjJzoQl.js +0 -1
- package/dist/assets/client-feature-flag-store-Cw39NfCq.js +0 -1
- package/dist/assets/client-identity-BZBfwdGQ.js +0 -1
- package/dist/assets/clipboard-copy-BYpgEh2O.js +0 -1
- package/dist/assets/clock-DeynsyYL.js +0 -1
- package/dist/assets/cloud-off-BFACQbO0.js +0 -1
- package/dist/assets/cloud-q4J30bVb.js +0 -1
- package/dist/assets/cn-CJf7MmLX.js +0 -1
- package/dist/assets/code-D6SOwRrI.js +0 -1
- package/dist/assets/coins-CcTuNVlN.js +0 -1
- package/dist/assets/command-palette-Bzsl-t3p.js +0 -1
- package/dist/assets/command-palette-window-page-DjfAe-7N.js +0 -1
- package/dist/assets/community-page-CktLEQl7.js +0 -1
- package/dist/assets/confirm-dialog-B7WBNDbT.js +0 -1
- package/dist/assets/connect-page-hrIJuX_v.js +0 -1
- package/dist/assets/consent-controls-HYcVhQZ2.js +0 -1
- package/dist/assets/consent-logPJwKV.js +0 -1
- package/dist/assets/contacts-gateway-DRzp5PC6.js +0 -1
- package/dist/assets/contacts-page-route-CX57wU3L.js +0 -1
- package/dist/assets/conversation-cache-D1AJdwZd.js +0 -1
- package/dist/assets/conversation-list-fetchers-C6W8PkvR.js +0 -1
- package/dist/assets/conversation-navigation-CIHBMx2t.js +0 -1
- package/dist/assets/conversation-queries-BBj4FfQn.js +0 -1
- package/dist/assets/conversation-selection-CJs3Fnse.js +0 -1
- package/dist/assets/conversation-store-CTMy9QPV.js +0 -1
- package/dist/assets/copy-to-clipboard-Y0mxY68V.js +0 -1
- package/dist/assets/credential-entry-page-DQOv-Jyx.js +0 -1
- package/dist/assets/credentials-page-C0eeGia5.js +0 -1
- package/dist/assets/csv-preview-C4T5JLx3.js +0 -4
- package/dist/assets/danger-zone-redirect-page-CIt8Y6Rf.js +0 -1
- package/dist/assets/debug-page-DzXHo3zM.js +0 -4
- package/dist/assets/deploy-dialogs-DQGwptOi.js +0 -1
- package/dist/assets/deploy-store-BJh0AR_u.js +0 -1
- package/dist/assets/detail-card-Br_T-73R.js +0 -1
- package/dist/assets/detail-drawer-Cbj_q7o7.js +0 -1
- package/dist/assets/detail-panel-stop-button-DN2NrxEh.js +0 -1
- package/dist/assets/detail-shell-BuJMM-9z.js +0 -1
- package/dist/assets/developer-page-Cj9JWAsX.js +0 -1
- package/dist/assets/device-settings-CUIsZfaf.js +0 -1
- package/dist/assets/devices-redirect-page-DePzNUvG.js +0 -1
- package/dist/assets/diagnostics-DykDXmF3.js +0 -1
- package/dist/assets/dices-C3diFTyP.js +0 -1
- package/dist/assets/dictation-overlay-CnPWVnXc.js +0 -1
- package/dist/assets/dictation-overlay-page-C9yp3YUN.js +0 -1
- package/dist/assets/dist-B5IUaBWa.js +0 -1
- package/dist/assets/dist-BrrL0-_M.js +0 -1
- package/dist/assets/dist-DWcXIgDR.js +0 -1
- package/dist/assets/doctor-handoff-store-CvOwsVRo.js +0 -1
- package/dist/assets/document-viewer-container-CPc9KTln.js +0 -2
- package/dist/assets/document-viewer-page-BqJvQQmH.js +0 -1
- package/dist/assets/download-Cnb8zZrK.js +0 -1
- package/dist/assets/dropdown-CJVkL1Yp.js +0 -1
- package/dist/assets/edge-swipe-arbiter-store-BwC23ScO.js +0 -1
- package/dist/assets/effective-timezone-BX46fWmk.js +0 -1
- package/dist/assets/ellipsis-C5fQnusC.js +0 -1
- package/dist/assets/ellipsis-vertical-qQRDY5dB.js +0 -1
- package/dist/assets/emails-page-DwQ-FnOD.js +0 -1
- package/dist/assets/environment-store-DxX3xxt2.js +0 -1
- package/dist/assets/esm-754moU0G.js +0 -2
- package/dist/assets/esm-Bek1ps3d.js +0 -2
- package/dist/assets/esm-CMkpCv1_.js +0 -2
- package/dist/assets/esm-ChJ8E5v0.js +0 -1
- package/dist/assets/esm-DjeyDwcY.js +0 -2
- package/dist/assets/esm-Jw5qNk7q.js +0 -2
- package/dist/assets/esm-S7iZcDlp.js +0 -1
- package/dist/assets/esm-Tsd0irpJ.js +0 -2
- package/dist/assets/esm-UxVM8v-Z.js +0 -2
- package/dist/assets/external-link-GPGZ1LGU.js +0 -1
- package/dist/assets/eye-B_jBDDRn.js +0 -1
- package/dist/assets/eye-off-DQ4xakzN.js +0 -1
- package/dist/assets/feature-flag-catalog-CpyCubJW.js +0 -1
- package/dist/assets/file-DOePafLU.js +0 -1
- package/dist/assets/file-code-CrtJR2ax.js +0 -1
- package/dist/assets/file-editor-BigdI9HF.js +0 -1
- package/dist/assets/file-markdown-eU8RUJQZ.js +0 -2
- package/dist/assets/file-plus-DjC7wnGp.js +0 -1
- package/dist/assets/file-text-CwGsMgaa.js +0 -1
- package/dist/assets/first-run-scope-DqdWmMO-.js +0 -1
- package/dist/assets/folder-_l8GIyQp.js +0 -1
- package/dist/assets/folder-open-BTlvhHNO.js +0 -1
- package/dist/assets/format-date-CQUMvfqf.js +0 -1
- package/dist/assets/funnel-events-B9hFLlxs.js +0 -1
- package/dist/assets/general-page-uFG7UTqR.js +0 -1
- package/dist/assets/get-memory-stats-BnRGtUPT.js +0 -1
- package/dist/assets/globe-CdLn4IX7.js +0 -1
- package/dist/assets/haptics-C4p_Rjba.js +0 -2
- package/dist/assets/hard-drive-sI2ZzmqM.js +0 -1
- package/dist/assets/hatching-screen-CWZvcZVI.js +0 -1
- package/dist/assets/heart-DFD4eqW-.js +0 -1
- package/dist/assets/home-page-route-zQaUf7gb.js +0 -1
- package/dist/assets/hosting-screen-lGuLVQVG.js +0 -1
- package/dist/assets/identity-BplXBnQ5.js +0 -1
- package/dist/assets/identity-page-route-C64OsL5_.js +0 -7
- package/dist/assets/inbox-OC3STytq.js +0 -1
- package/dist/assets/index-Cn_k9u0x.css +0 -2
- package/dist/assets/index-D-1mlWsA.js +0 -11
- package/dist/assets/info-DkhVkzmK.js +0 -1
- package/dist/assets/ingest-BzFSv_f8.js +0 -1
- package/dist/assets/input-CgGeKtja.js +0 -1
- package/dist/assets/inspect-page-DdXP831Q.js +0 -9
- package/dist/assets/installed-plugins-query-3ACToZeY.js +0 -1
- package/dist/assets/integration-icon-B1G4FQT2.js +0 -1
- package/dist/assets/integrations-page-DmQCd8GV.js +0 -1
- package/dist/assets/intelligence-layout-IptAIgHy.js +0 -1
- package/dist/assets/invalidate-memory-queries-DonPN3eH.js +0 -1
- package/dist/assets/invalidate-plugin-queries-B0OpJSUW.js +0 -1
- package/dist/assets/key-round-BFkuiQGH.js +0 -1
- package/dist/assets/keyboard-shortcuts-redirect-page-DTabmI62.js +0 -1
- package/dist/assets/laptop-BGOychmC.js +0 -1
- package/dist/assets/latest-assistant-text-CwHBWP6s.js +0 -24
- package/dist/assets/layout-grid-Ct4RT2Ea.js +0 -1
- package/dist/assets/library-detail-page-Ddel5wXb.js +0 -1
- package/dist/assets/library-page-B4k0PNa8.js +0 -1
- package/dist/assets/lightbulb-NdZMkb6Y.js +0 -1
- package/dist/assets/link-2-DhyrrFaE.js +0 -1
- package/dist/assets/link-DOobzBVg.js +0 -1
- package/dist/assets/list-D2LnQ7lS.js +0 -1
- package/dist/assets/loader-circle-DWWXcfTQ.js +0 -1
- package/dist/assets/local-mode-DHueA-BJ.js +0 -39
- package/dist/assets/local-runtime-upgrade-CnY-6TiF.js +0 -1
- package/dist/assets/log-in-D4nsqRbG.js +0 -1
- package/dist/assets/log-out-CF9mMMsz.js +0 -1
- package/dist/assets/login-flow-CQhvCbQQ.js +0 -1
- package/dist/assets/login-page-CRIed3qa.js +0 -1
- package/dist/assets/logout-page-Ne05SAbm.js +0 -1
- package/dist/assets/logs-layout-BN5HA58-.js +0 -1
- package/dist/assets/mail-DyUf40pu.js +0 -1
- package/dist/assets/media-preview-D9t2Q84i.js +0 -1
- package/dist/assets/memory-page-route-Mz8GlpcX.js +0 -6
- package/dist/assets/memory-router-playground-page-CeIkpuOW.js +0 -3
- package/dist/assets/menu-Cfi4A3sw.js +0 -1
- package/dist/assets/message-circle-ByXBaIaq.js +0 -1
- package/dist/assets/message-content-B6_GZQl9.js +0 -1
- package/dist/assets/message-files-panel-C8sWLQ58.js +0 -1
- package/dist/assets/message-square-CHUvAEY9.js +0 -1
- package/dist/assets/message-square-text-CN_v46So.js +0 -1
- package/dist/assets/messages-BTSYvzWZ.js +0 -13
- package/dist/assets/metric-card-CczTqF_s.js +0 -1
- package/dist/assets/mic-BZZo0R22.js +0 -1
- package/dist/assets/middleware-Bxr-mmHu.js +0 -1
- package/dist/assets/minimize-2-Dj9FY4aF.js +0 -1
- package/dist/assets/mobile-sidebar-drawer-CSAugzxJ.js +0 -1
- package/dist/assets/modal-DagTZ8xj.js +0 -1
- package/dist/assets/monitor-RX4oi4Nj.js +0 -1
- package/dist/assets/moon-CHW45huN.js +0 -1
- package/dist/assets/mutation-error-Cp0Jaqnt.js +0 -1
- package/dist/assets/native-anchor-D1Sy2PbD.js +0 -1
- package/dist/assets/native-biometric-DetUqtjl.js +0 -6
- package/dist/assets/native-file-B71h3csB.js +0 -2
- package/dist/assets/navigation-resolver-CzEY-5nE.js +0 -1
- package/dist/assets/not-found-C1zvwDkh.js +0 -1
- package/dist/assets/notice-Dslxs3H6.js +0 -1
- package/dist/assets/notifications-BTG4cTbF.js +0 -1
- package/dist/assets/notifications-page-BzoWNM1e.js +0 -1
- package/dist/assets/oauth-complete-page-3xYlafpb.js +0 -105
- package/dist/assets/oauth-connection-utils-BrGz4Zc5.js +0 -1
- package/dist/assets/oauth-popup-complete-page-BtwDCi5P.js +0 -105
- package/dist/assets/onboarding-layout-CNKJRWfe.js +0 -1
- package/dist/assets/onboarding-store-BiTZenvP.js +0 -1
- package/dist/assets/open-workspace-file-DAlt8chN.js +0 -2
- package/dist/assets/page-empty-state-D-y7eP1V.js +0 -1
- package/dist/assets/page-shell-Dx-efyAO.js +0 -1
- package/dist/assets/pairing-page-BqjYohpZ.js +0 -1
- package/dist/assets/panel-item-5YQ3jbso.js +0 -1
- package/dist/assets/paperclip--f908Kg3.js +0 -1
- package/dist/assets/password-reset-page-SsfAE_J-.js +0 -1
- package/dist/assets/pdf-file-preview-Dj8vmmw-.js +0 -1
- package/dist/assets/pdf-preview-pscVmtvX.js +0 -2
- package/dist/assets/pencil-Cm5DdeRM.js +0 -1
- package/dist/assets/personality-page-CB98MeIQ.js +0 -1
- package/dist/assets/plans-page-BcR_kjJL.js +0 -1
- package/dist/assets/platform-detection-AHYibqOx.js +0 -1
- package/dist/assets/platform-login-notice-DvWjpI2S.js +0 -1
- package/dist/assets/platform-loopback-page-BGF_H8f_.js +0 -1
- package/dist/assets/play-Dh6Bw5AP.js +0 -1
- package/dist/assets/plugin-detail-page-UUM9vxvV.js +0 -1
- package/dist/assets/plugins-page-Dae3rghA.js +0 -1
- package/dist/assets/plugins-surface-C_pFzsVo.js +0 -1
- package/dist/assets/plus-EJu6s6xR.js +0 -1
- package/dist/assets/popover-CBYgK7Wt.js +0 -1
- package/dist/assets/prefs-CfRaGUUx.js +0 -1
- package/dist/assets/preview-error-DzUxX6Jy.js +0 -1
- package/dist/assets/preview-skeleton-Biw3dosM.js +0 -1
- package/dist/assets/privacy-page-B9zfD9a-.js +0 -1
- package/dist/assets/privacy-screen-Btqk8OjG.js +0 -1
- package/dist/assets/profile-metadata-CA6wxcVJ.js +0 -1
- package/dist/assets/progress-bar-3GUUAhXi.js +0 -1
- package/dist/assets/provider-callback-page-Jul4gNdZ.js +0 -1
- package/dist/assets/provider-key-BZOwvE14.js +0 -1
- package/dist/assets/provider-signup-page-C47ij2Um.js +0 -1
- package/dist/assets/provisioning-targets-Cah9jNBe.js +0 -1
- package/dist/assets/proxy-DrtKRLtr.js +0 -1
- package/dist/assets/puzzle-4NgH5snP.js +0 -1
- package/dist/assets/quick-input-page-BYf7UWY4.js +0 -1
- package/dist/assets/react-query.gen-BtYBixpk.js +0 -1
- package/dist/assets/react-query.gen-C7om930f.js +0 -1
- package/dist/assets/refresh-cw-EZQqnaxp.js +0 -1
- package/dist/assets/remote-gateway-session-C8pRadB2.js +0 -1
- package/dist/assets/repeat-CP_vsQPN.js +0 -1
- package/dist/assets/research-facts-BUfgocIh.js +0 -1
- package/dist/assets/research-mock-page-DthnGXhi.js +0 -1
- package/dist/assets/research-onboarding-persistence-DwV372yy.js +0 -1
- package/dist/assets/research-onboarding-route-Cql_2-1F.js +0 -50
- package/dist/assets/research-results-view-BYpW36E0.js +0 -3
- package/dist/assets/resolved-assistants-store-C6oDdTxB.js +0 -1
- package/dist/assets/retire-confirm-dialog-PvFzzHrQ.js +0 -1
- package/dist/assets/review-terms-screen-BpE_z8HY.js +0 -1
- package/dist/assets/rotate-ccw-CL6IkaAI.js +0 -1
- package/dist/assets/routes-DRAnvlxS.js +0 -23
- package/dist/assets/routes-DrfnNoYS.js +0 -1
- package/dist/assets/runtime-upgrade-banner-Blp8EyfL.js +0 -2
- package/dist/assets/sandbox-bridge-B5H4c27m.js +0 -266
- package/dist/assets/schedules-_ofAwdnr.js +0 -1
- package/dist/assets/schedules-page-D6KPJIUP.js +0 -1
- package/dist/assets/sdk.gen-BpJ1vF7l.js +0 -6
- package/dist/assets/sdk.gen-CjtCuSlS.js +0 -6
- package/dist/assets/sdk.gen-ies09CqM.js +0 -1
- package/dist/assets/search-DL-2uX3K.js +0 -1
- package/dist/assets/security-redirect-page-B9T_2mcB.js +0 -1
- package/dist/assets/select-assistant-screen-DH6QRKdk.js +0 -1
- package/dist/assets/send-Bdmy_GSE.js +0 -1
- package/dist/assets/setting-row-C4jX7c_4.js +0 -1
- package/dist/assets/settings-6_RIT4kT.js +0 -1
- package/dist/assets/settings-divider-COV4-sHz.js +0 -1
- package/dist/assets/settings-layout-CyMD8Ey7.js +0 -1
- package/dist/assets/settings-navigation-CyH-twYD.js +0 -1
- package/dist/assets/share-feedback-modal-NfuDPoEg.js +0 -2
- package/dist/assets/shield-CAWgGAqm.js +0 -1
- package/dist/assets/shield-check-CNsbiH1v.js +0 -1
- package/dist/assets/sidebar-tree-DTcPYrOG.js +0 -1
- package/dist/assets/signup-page-BAEo45pt.js +0 -1
- package/dist/assets/signup-shell-Dwuv81sx.js +0 -1
- package/dist/assets/site-favicon-DkjZF9mC.js +0 -1
- package/dist/assets/skill-detail-page-CzCcXCkp.js +0 -1
- package/dist/assets/skill-detail-panel-B1Kxa3zf.js +0 -1
- package/dist/assets/skills-CrZ3GlyK.js +0 -1
- package/dist/assets/skills-page-CNYM3Qsj.js +0 -1
- package/dist/assets/slack-setup-wizard-CeBY_rKV.js +0 -1
- package/dist/assets/sliders-horizontal-BwdOIxz8.js +0 -1
- package/dist/assets/smartphone-CIrxb2NM.js +0 -1
- package/dist/assets/sound-manager-Bv6Sc7Ut.js +0 -1
- package/dist/assets/sounds-page-Bpeq0MQn.js +0 -1
- package/dist/assets/sparkles-DfEFn3Bh.js +0 -1
- package/dist/assets/square-DTFrgbZb.js +0 -1
- package/dist/assets/src-CwGlaCIx.js +0 -293
- package/dist/assets/start-screen-wyemTUjV.js +0 -1
- package/dist/assets/subagent-detail-panel-C3II8umu.js +0 -4
- package/dist/assets/subagent-store-DibRR9Ij.js +0 -3
- package/dist/assets/sun-BauGiwdK.js +0 -1
- package/dist/assets/superpowers-page-DmIZ_ed4.js +0 -1
- package/dist/assets/surface-parse-helpers-iPHZ9D7N.js +0 -1
- package/dist/assets/system-events-page-DAbap4FJ.js +0 -1
- package/dist/assets/system-events-redirect-page-CKNhBiUK.js +0 -1
- package/dist/assets/tag-G0ELn_cq.js +0 -1
- package/dist/assets/target-CJU4DUFo.js +0 -1
- package/dist/assets/terminal-BucMVaPU.js +0 -1
- package/dist/assets/text-preview-DLiOtb-y.js +0 -1
- package/dist/assets/theme-preferences-B2X7Xgir.js +0 -1
- package/dist/assets/theme-stage-page-Dt0ShS5G.js +0 -1
- package/dist/assets/threshold-presets-B-RqvhUM.js +0 -1
- package/dist/assets/tiptap-document-editor-LwU6S_hn.js +0 -282
- package/dist/assets/toast-BHjG1kP8.js +0 -1
- package/dist/assets/toggle-BEPV0rQM.js +0 -1
- package/dist/assets/tool-detail-panel-tFQRRPbP.js +0 -2
- package/dist/assets/transcript-message-body-shared-DdXeU1D-.js +0 -1
- package/dist/assets/trash-2-DfVRfykB.js +0 -1
- package/dist/assets/triangle-alert-D6bAGtMw.js +0 -1
- package/dist/assets/trust-rules-api-Dbyz25hE.js +0 -1
- package/dist/assets/typed-storage-OO7emDaU.js +0 -1
- package/dist/assets/typography-DEI9Ra9z.js +0 -1
- package/dist/assets/upgrade-cancel-page-isK2Rvv6.js +0 -1
- package/dist/assets/upgrade-success-page-B7ZaoDsy.js +0 -1
- package/dist/assets/upload-DsWG9TbD.js +0 -1
- package/dist/assets/usage-redirect-page-Cd58Bed0.js +0 -1
- package/dist/assets/use-active-assistant-id-JLsAfn3e.js +0 -1
- package/dist/assets/use-app-theme-yiZ38i4_.js +0 -1
- package/dist/assets/use-assistant-avatar-Bjqx8JUy.js +0 -1
- package/dist/assets/use-assistant-capability-CnI3VItU.js +0 -1
- package/dist/assets/use-assistant-identity-details-BLHiMTpS.js +0 -1
- package/dist/assets/use-attachment-preview-TAzqhvwh.js +0 -2
- package/dist/assets/use-attachment-squares-Cnn6a6er.js +0 -1
- package/dist/assets/use-avatar-accent-var-BafXGBXW.js +0 -1
- package/dist/assets/use-bookmarks-BKYsQrf9.js +0 -1
- package/dist/assets/use-bundled-avatar-components-BcyasJwu.js +0 -2
- package/dist/assets/use-bus-subscription-DiCq1_ki.js +0 -1
- package/dist/assets/use-checkout-dismiss-refresh-ChquCG4n.js +0 -1
- package/dist/assets/use-command-palette-sections-BshFMe0w.js +0 -1
- package/dist/assets/use-copy-to-clipboard-RUBxQIiE.js +0 -1
- package/dist/assets/use-discord-nudge-DED9TaIm.js +0 -1
- package/dist/assets/use-edge-swipe-CRkrRNLg.js +0 -1
- package/dist/assets/use-edge-swipe-back-Dk2xXjh4.js +0 -1
- package/dist/assets/use-edit-app-LCywIVb9.js +0 -1
- package/dist/assets/use-effective-timezone-BM5B7KHp.js +0 -1
- package/dist/assets/use-invite-link-dialog-CnOeFYBH.js +0 -1
- package/dist/assets/use-ios-app-nudge-9Qqz96FD.js +0 -1
- package/dist/assets/use-is-mobile-MmHo-OM6.js +0 -1
- package/dist/assets/use-is-org-ready-3vHDbj4G.js +0 -1
- package/dist/assets/use-local-file-info-D2-ycwyJ.js +0 -1
- package/dist/assets/use-onboarding-login-CiQyxJLM.js +0 -1
- package/dist/assets/use-platform-assistant-id-DgrNmSy2.js +0 -1
- package/dist/assets/use-platform-gate-C5bNA5Pn.js +0 -1
- package/dist/assets/use-reduced-motion-fR0m_opJ.js +0 -1
- package/dist/assets/use-return-to-short-circuit-g88hMnN8.js +0 -1
- package/dist/assets/use-save-twilio-credentials-yqA7lnzq.js +0 -1
- package/dist/assets/use-skill-actions-Ik0rj4or.js +0 -1
- package/dist/assets/use-skill-detail-files-DdWFIu5-.js +0 -1
- package/dist/assets/use-sticky-profiles-BwaZUy6p.js +0 -1
- package/dist/assets/use-subagent-card-data-1nEhEj8_.js +0 -1
- package/dist/assets/use-supports-bookmarks-DwTpI8uM.js +0 -1
- package/dist/assets/use-supports-credentials-settings-3jGHR8fw.js +0 -1
- package/dist/assets/use-swipe-engine-Bkqjs1Zk.js +0 -1
- package/dist/assets/use-transcript-message-by-id-RhDDYgbY.js +0 -1
- package/dist/assets/use-transcript-messages-C5t358ZW.js +0 -3
- package/dist/assets/user-DHC7OLPE.js +0 -1
- package/dist/assets/user-plus-DjxxnQ8G.js +0 -1
- package/dist/assets/users-OcC3p9Jn.js +0 -1
- package/dist/assets/utils-B6xfBCpN.js +0 -1
- package/dist/assets/utils-DtVy-_pB.js +0 -1
- package/dist/assets/video-Dtwi0MD9.js +0 -1
- package/dist/assets/viewer-store-DxLOGAkL.js +0 -1
- package/dist/assets/voice-list-DP4_zhJe.js +0 -1
- package/dist/assets/voice-page-Bn0QH4eT.js +0 -1
- package/dist/assets/voice-providers-note-F4pLO3zK.js +0 -1
- package/dist/assets/volume-2-BXDl4IEg.js +0 -1
- package/dist/assets/weather-forecast-display-DrJp8zrP.js +0 -1
- package/dist/assets/web-CDfRXQwd.js +0 -1
- package/dist/assets/web-Ccq6YqQk.js +0 -1
- package/dist/assets/web-Cw8N9FBf.js +0 -1
- package/dist/assets/web-Cwkvk3kH.js +0 -1
- package/dist/assets/web-KS3MoLo7.js +0 -1
- package/dist/assets/web-PODqCw-i.js +0 -1
- package/dist/assets/web-aKLBqXiN.js +0 -1
- package/dist/assets/web-vlqDFmAp.js +0 -1
- package/dist/assets/welcome-screen-B6BjQt9n.js +0 -1
- package/dist/assets/workflow-Bsy5y3W0.js +0 -1
- package/dist/assets/workflow-detail-panel-H3N7Md_X.js +0 -1
- package/dist/assets/workflow-store-zCcRcvi8.js +0 -1
- package/dist/assets/workspace-page-B4sn6pzo.js +0 -1
- package/dist/assets/workspace-tree-query-Dfkrp_rV.js +0 -1
- package/dist/assets/wrench-DhynFba1.js +0 -1
- package/dist/assets/x-D4O9yIS7.js +0 -1
- /package/dist/assets/{android-consumption-only-D3L1Nc41.js → android-consumption-only-Bwbjjciw.js} +0 -0
- /package/dist/assets/{app-types-BGJfNjSJ.js → app-types-DynX-omz.js} +0 -0
- /package/dist/assets/{apple-logo-BOBq3-Sn.js → apple-logo-CQ4dUfmS.js} +0 -0
- /package/dist/assets/{avatar-bundled-components-BvKt7I7O.js → avatar-bundled-components-Dq83CFZi.js} +0 -0
- /package/dist/assets/{avatar-subagent-tkmKhEWI.js → avatar-subagent-Bh1EFYhq.js} +0 -0
- /package/dist/assets/{avatar-svg-compositor-axSwKFvf.js → avatar-svg-compositor-D1fbY9L8.js} +0 -0
- /package/dist/assets/{avatar-tone-D99t9DAP.js → avatar-tone-CQWYpANf.js} +0 -0
- /package/dist/assets/{browser-timezone-Br-HawKV.js → browser-timezone-BtQlRGbC.js} +0 -0
- /package/dist/assets/{build.umd-CaLt9YHe.js → build.umd-CazduQht.js} +0 -0
- /package/dist/assets/{by-tool-use-id-index-CUFuQqHz.js → by-tool-use-id-index-TQdM3bUZ.js} +0 -0
- /package/dist/assets/{chat-Dy2BC2i1.js → chat-C6p43tuX.js} +0 -0
- /package/dist/assets/{client.gen-Dq2brHDV.js → client.gen-C1q6uU7x.js} +0 -0
- /package/dist/assets/{create-selectors-BfxF8Sx_.js → create-selectors-BiwSQ06u.js} +0 -0
- /package/dist/assets/{createLucideIcon-CAM1RhH8.js → createLucideIcon-C1mdGPB9.js} +0 -0
- /package/dist/assets/{definitions-Rm_PEX9e.js → definitions-CbZ9ig8B.js} +0 -0
- /package/dist/assets/{definitions-BfdxiZ6b.js → definitions-Cx8sTE3l.js} +0 -0
- /package/dist/assets/{dist-an0Z446E.js → dist-D6NTChCy.js} +0 -0
- /package/dist/assets/{domains-Cwi5sL0m.js → domains-CM1rZd4j.js} +0 -0
- /package/dist/assets/{edit-chat-session-DVzLQLWl.js → edit-chat-session-BJZku_8e.js} +0 -0
- /package/dist/assets/{emoji-catalog-data-Cjooln6g.js → emoji-catalog-data-gr017wfD.js} +0 -0
- /package/dist/assets/{event-bus-CbDg1VDt.js → event-bus-D1uy-Old.js} +0 -0
- /package/dist/assets/{external-urls-BL9qY0s8.js → external-urls-Dz7v7Xuw.js} +0 -0
- /package/dist/assets/{eye-bbox-CRs175_n.js → eye-bbox-Cna94lcs.js} +0 -0
- /package/dist/assets/{format-file-size-C5XdzvvA.js → format-file-size-hoZB7VEg.js} +0 -0
- /package/dist/assets/{hard-navigate-BYoBFmE4.js → hard-navigate-CpR5x8Nr.js} +0 -0
- /package/dist/assets/{is-electron-DIlIrdJX.js → is-electron-COZbF3PI.js} +0 -0
- /package/dist/assets/{link-click-aVk_YdAp.js → link-click-CIkb_lXC.js} +0 -0
- /package/dist/assets/{machine-sizes-B9nt_h-U.js → machine-sizes-DPP1Y0m6.js} +0 -0
- /package/dist/assets/{misc-BBsGq1IU.js → misc-B-dKEZn9.js} +0 -0
- /package/dist/assets/{native-deep-link-jXO4XsVj.js → native-deep-link-DWuDAe4g.js} +0 -0
- /package/dist/assets/{oauth-popup-DAMkjCsP.js → oauth-popup-BP8TxRBg.js} +0 -0
- /package/dist/assets/{onboarding-step-layout-Bsc_5btV.js → onboarding-step-layout-C9cMAiAj.js} +0 -0
- /package/dist/assets/{optimistic-lifecycle-GoMZsAsc.js → optimistic-lifecycle-BMD1qOsU.js} +0 -0
- /package/dist/assets/{pdf-OYDWiYl0.js → pdf-BVqg7BSf.js} +0 -0
- /package/dist/assets/{plugin-attribution-DAf_69AU.js → plugin-attribution-B2_jJrRw.js} +0 -0
- /package/dist/assets/{pointer-CQ4DXHXb.js → pointer-CB1CROHa.js} +0 -0
- /package/dist/assets/{prechat-C4MZwKWX.js → prechat-CavQeV1_.js} +0 -0
- /package/dist/assets/{public-asset-OTnPMErp.js → public-asset-Ctp32K6N.js} +0 -0
- /package/dist/assets/{radio-card-nav-C_pSc4PD.js → radio-card-nav-BtOVUmr6.js} +0 -0
- /package/dist/assets/{semver-Bfq1LtyW.js → semver-1nYZhWRt.js} +0 -0
- /package/dist/assets/{status-badge-pill-CFoeNqKo.js → status-badge-pill-BfCfGHqL.js} +0 -0
- /package/dist/assets/{three-dot-indicator-CeTxs9-J.js → three-dot-indicator-nb8EdG-F.js} +0 -0
- /package/dist/assets/{workflow-status-D0bBEpGp.js → workflow-status-DOK27uuG.js} +0 -0
- /package/dist/assets/{workspace-path-links-vDBIljq_.js → workspace-path-links-Cp0ybUKh.js} +0 -0
- /package/dist/assets/{workspace-theme-tokens-dJKcMIdP.js → workspace-theme-tokens-DtS-UcXD.js} +0 -0
- /package/dist/assets/{xterm-DARAJ0SV.js → xterm-CQtNE9g-.js} +0 -0
- /package/dist/assets/{xterm-addon-fit-BDf8Eu9n.js → xterm-addon-fit-QqyFyPV5.js} +0 -0
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./preload-helper-Cv2QeVDK.js";var r=e(t(),1),i=e=>{throw TypeError(e)},a=(e,t,n)=>t.has(e)||i(`Cannot `+n),o=(e,t,n)=>(a(e,t,`read from private field`),n?n.call(e):t.get(e)),s=(e,t,n)=>t.has(e)?i(`Cannot add the same private member more than once`):t instanceof WeakSet?t.add(e):t.set(e,n),c=(e,t,n,r)=>(a(e,t,`write to private field`),r?r.call(e,n):t.set(e,n),n),l=`popstate`;function u(e){return typeof e==`object`&&!!e&&`pathname`in e&&`search`in e&&`hash`in e&&`state`in e&&`key`in e}function d(e={}){function t(e,t){let n=t.state?.masked,{pathname:r,search:i,hash:a}=n||e.location;return g(``,{pathname:r,search:i,hash:a},t.state&&t.state.usr||null,t.state&&t.state.key||`default`,n?{pathname:e.location.pathname,search:e.location.search,hash:e.location.hash}:void 0)}function n(e,t){return typeof t==`string`?t:_(t)}return y(t,n,null,e)}function f(e,t){if(e===!1||e==null)throw Error(t)}function p(e,t){if(!e){typeof console<`u`&&console.warn(t);try{throw Error(t)}catch{}}}function m(){return Math.random().toString(36).substring(2,10)}function h(e,t){return{usr:e.state,key:e.key,idx:t,masked:e.mask?{pathname:e.pathname,search:e.search,hash:e.hash}:void 0}}function g(e,t,n=null,r,i){return{pathname:typeof e==`string`?e:e.pathname,search:``,hash:``,...typeof t==`string`?v(t):t,state:n,key:t&&t.key||r||m(),mask:i}}function _({pathname:e=`/`,search:t=``,hash:n=``}){return t&&t!==`?`&&(e+=t.charAt(0)===`?`?t:`?`+t),n&&n!==`#`&&(e+=n.charAt(0)===`#`?n:`#`+n),e}function v(e){let t={};if(e){let n=e.indexOf(`#`);n>=0&&(t.hash=e.substring(n),e=e.substring(0,n));let r=e.indexOf(`?`);r>=0&&(t.search=e.substring(r),e=e.substring(0,r)),e&&(t.pathname=e)}return t}function y(e,t,n,r={}){let{window:i=document.defaultView,v5Compat:a=!1}=r,o=i.history,s=`POP`,c=null,d=f();d??(d=0,o.replaceState({...o.state,idx:d},``));function f(){return(o.state||{idx:null}).idx}function p(){s=`POP`;let e=f(),t=e==null?null:e-d;d=e,c&&c({action:s,location:y.location,delta:t})}function m(e,t){s=`PUSH`;let r=u(e)?e:g(y.location,e,t);n&&n(r,e),d=f()+1;let l=h(r,d),p=y.createHref(r.mask||r);try{o.pushState(l,``,p)}catch(e){if(e instanceof DOMException&&e.name===`DataCloneError`)throw e;i.location.assign(p)}a&&c&&c({action:s,location:y.location,delta:1})}function _(e,t){s=`REPLACE`;let r=u(e)?e:g(y.location,e,t);n&&n(r,e),d=f();let i=h(r,d),l=y.createHref(r.mask||r);o.replaceState(i,``,l),a&&c&&c({action:s,location:y.location,delta:0})}function v(e){return b(e)}let y={get action(){return s},get location(){return e(i,o)},listen(e){if(c)throw Error(`A history only accepts one active listener`);return i.addEventListener(l,p),c=e,()=>{i.removeEventListener(l,p),c=null}},createHref(e){return t(i,e)},createURL:v,encodeLocation(e){let t=v(e);return{pathname:t.pathname,search:t.search,hash:t.hash}},push:m,replace:_,go(e){return o.go(e)}};return y}function b(e,t=!1){let n=`http://localhost`;typeof window<`u`&&(n=window.location.origin===`null`?window.location.href:window.location.origin),f(n,`No window.location.(origin|href) available to create URL`);let r=typeof e==`string`?e:_(e);return r=r.replace(/ $/,`%20`),!t&&r.startsWith(`//`)&&(r=n+r),new URL(r,n)}function x(e){return{defaultValue:e}}var S,C=class{constructor(e){if(s(this,S,new Map),e)for(let[t,n]of e)this.set(t,n)}get(e){if(o(this,S).has(e))return o(this,S).get(e);if(e.defaultValue!==void 0)return e.defaultValue;throw Error(`No value found for context`)}set(e,t){o(this,S).set(e,t)}};S=new WeakMap;var w=new Set([`lazy`,`caseSensitive`,`path`,`id`,`index`,`children`]);function T(e){return w.has(e)}var E=new Set([`lazy`,`caseSensitive`,`path`,`id`,`index`,`middleware`,`children`]);function D(e){return E.has(e)}function O(e){return e.index===!0}function k(e,t,n=[],r={},i=!1){return e.map((e,a)=>{let o=[...n,String(a)],s=typeof e.id==`string`?e.id:o.join(`-`);if(f(e.index!==!0||!e.children,`Cannot specify children on an index route`),f(i||!r[s],`Found a route id collision on id "${s}". Route id's must be globally unique within Data Router usages`),O(e)){let n={...e,id:s};return r[s]=A(n,t(n)),n}else{let n={...e,id:s,children:void 0};return r[s]=A(n,t(n)),e.children&&(n.children=k(e.children,t,o,r,i)),n}})}function A(e,t){return Object.assign(e,{...t,...typeof t.lazy==`object`&&t.lazy!=null?{lazy:{...e.lazy,...t.lazy}}:{}})}function j(e,t,n=`/`){return M(e,t,n,!1)}function M(e,t,n,r,i){let a=z((typeof t==`string`?v(t):t).pathname||`/`,n);if(a==null)return null;let o=i??N(e),s=null,c=R(a);for(let e=0;s==null&&e<o.length;++e)s=L(o[e],c,r);return s}function ee(e,t){let{route:n,pathname:r,params:i}=e;return{id:n.id,pathname:r,params:i,data:t[n.id],loaderData:t[n.id],handle:n.handle}}function N(e){let t=te(e);return ne(t),t}function te(e,t=[],n=[],r=``,i=!1){let a=(e,a,o=i,s)=>{let c={relativePath:s===void 0?e.path||``:s,caseSensitive:e.caseSensitive===!0,childrenIndex:a,route:e};if(c.relativePath.startsWith(`/`)){if(!c.relativePath.startsWith(r)&&o)return;f(c.relativePath.startsWith(r),`Absolute route path "${c.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),c.relativePath=c.relativePath.slice(r.length)}let l=H([r,c.relativePath]),u=n.concat(c);e.children&&e.children.length>0&&(f(e.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${l}".`),te(e.children,t,u,l,o)),!(e.path==null&&!e.index)&&t.push({path:l,score:ce(l,e.index),routesMeta:u})};return e.forEach((e,t)=>{if(e.path===``||!e.path?.includes(`?`))a(e,t);else for(let n of P(e.path))a(e,t,!0,n)}),t}function P(e){let t=e.split(`/`);if(t.length===0)return[];let[n,...r]=t,i=n.endsWith(`?`),a=n.replace(/\?$/,``);if(r.length===0)return i?[a,``]:[a];let o=P(r.join(`/`)),s=[];return s.push(...o.map(e=>e===``?a:[a,e].join(`/`))),i&&s.push(...o),s.map(t=>e.startsWith(`/`)&&t===``?`/`:t)}function ne(e){e.sort((e,t)=>e.score===t.score?le(e.routesMeta.map(e=>e.childrenIndex),t.routesMeta.map(e=>e.childrenIndex)):t.score-e.score)}var re=/^:[\w-]+$/,F=3,ie=2,ae=1,oe=10,I=-2,se=e=>e===`*`;function ce(e,t){let n=e.split(`/`),r=n.length;return n.some(se)&&(r+=I),t&&(r+=ie),n.filter(e=>!se(e)).reduce((e,t)=>e+(re.test(t)?F:t===``?ae:oe),r)}function le(e,t){return e.length===t.length&&e.slice(0,-1).every((e,n)=>e===t[n])?e[e.length-1]-t[t.length-1]:0}function L(e,t,n=!1){let{routesMeta:r}=e,i={},a=`/`,o=[];for(let e=0;e<r.length;++e){let s=r[e],c=e===r.length-1,l=a===`/`?t:t.slice(a.length)||`/`,u=ue({path:s.relativePath,caseSensitive:s.caseSensitive,end:c},l),d=s.route;if(!u&&c&&n&&!r[r.length-1].route.index&&(u=ue({path:s.relativePath,caseSensitive:s.caseSensitive,end:!1},l)),!u)return null;Object.assign(i,u.params),o.push({params:i,pathname:H([a,u.pathname]),pathnameBase:be(H([a,u.pathnameBase])),route:d}),u.pathnameBase!==`/`&&(a=H([a,u.pathnameBase]))}return o}function ue(e,t){typeof e==`string`&&(e={path:e,caseSensitive:!1,end:!0});let[n,r]=de(e.path,e.caseSensitive,e.end),i=t.match(n);if(!i)return null;let a=i[0],o=a.replace(/(.)\/+$/,`$1`),s=i.slice(1);return{params:r.reduce((e,{paramName:t,isOptional:n},r)=>{if(t===`*`){let e=s[r]||``;o=a.slice(0,a.length-e.length).replace(/(.)\/+$/,`$1`)}let i=s[r];return n&&!i?e[t]=void 0:e[t]=(i||``).replace(/%2F/g,`/`),e},{}),pathname:a,pathnameBase:o,pattern:e}}function de(e,t=!1,n=!0){p(e===`*`||!e.endsWith(`*`)||e.endsWith(`/*`),`Route path "${e}" will be treated as if it were "${e.replace(/\*$/,`/*`)}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${e.replace(/\*$/,`/*`)}".`);let r=[],i=`^`+e.replace(/\/*\*?$/,``).replace(/^\/*/,`/`).replace(/[\\.*+^${}|()[\]]/g,`\\$&`).replace(/\/:([\w-]+)(\?)?/g,(e,t,n,i,a)=>{if(r.push({paramName:t,isOptional:n!=null}),n){let t=a.charAt(i+e.length);return t&&t!==`/`?`/([^\\/]*)`:`(?:/([^\\/]*))?`}return`/([^\\/]+)`}).replace(/\/([\w-]+)\?(\/|$)/g,`(/$1)?$2`);return e.endsWith(`*`)?(r.push({paramName:`*`}),i+=e===`*`||e===`/*`?`(.*)$`:`(?:\\/(.+)|\\/*)$`):n?i+=`\\/*$`:e!==``&&e!==`/`&&(i+=`(?:(?=\\/|$))`),[new RegExp(i,t?void 0:`i`),r]}function R(e){try{return e.split(`/`).map(e=>decodeURIComponent(e).replace(/\//g,`%2F`)).join(`/`)}catch(t){return p(!1,`The URL path "${e}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${t}).`),e}}function z(e,t){if(t===`/`)return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith(`/`)?t.length-1:t.length,r=e.charAt(n);return r&&r!==`/`?null:e.slice(n)||`/`}function fe({basename:e,pathname:t}){return t===`/`?e:H([e,t])}var pe=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,me=e=>pe.test(e);function he(e,t=`/`){let{pathname:n,search:r=``,hash:i=``}=typeof e==`string`?v(e):e,a;return n?(n=ye(n),a=n.startsWith(`/`)?ge(n.substring(1),`/`):ge(n,t)):a=t,{pathname:a,search:xe(r),hash:Se(i)}}function ge(e,t){let n=U(t).split(`/`);return e.split(`/`).forEach(e=>{e===`..`?n.length>1&&n.pop():e!==`.`&&n.push(e)}),n.length>1?n.join(`/`):`/`}function _e(e,t,n,r){return`Cannot include a '${e}' character in a manually specified \`to.${t}\` field [${JSON.stringify(r)}]. Please separate it out to the \`to.${n}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function ve(e){return e.filter((e,t)=>t===0||e.route.path&&e.route.path.length>0)}function B(e){let t=ve(e);return t.map((e,n)=>n===t.length-1?e.pathname:e.pathnameBase)}function V(e,t,n,r=!1){let i;typeof e==`string`?i=v(e):(i={...e},f(!i.pathname||!i.pathname.includes(`?`),_e(`?`,`pathname`,`search`,i)),f(!i.pathname||!i.pathname.includes(`#`),_e(`#`,`pathname`,`hash`,i)),f(!i.search||!i.search.includes(`#`),_e(`#`,`search`,`hash`,i)));let a=e===``||i.pathname===``,o=a?`/`:i.pathname,s;if(o==null)s=n;else{let e=t.length-1;if(!r&&o.startsWith(`..`)){let t=o.split(`/`);for(;t[0]===`..`;)t.shift(),--e;i.pathname=t.join(`/`)}s=e>=0?t[e]:`/`}let c=he(i,s),l=o&&o!==`/`&&o.endsWith(`/`),u=(a||o===`.`)&&n.endsWith(`/`);return!c.pathname.endsWith(`/`)&&(l||u)&&(c.pathname+=`/`),c}var ye=e=>e.replace(/\/\/+/g,`/`),H=e=>ye(e.join(`/`)),U=e=>e.replace(/\/+$/,``),be=e=>U(e).replace(/^\/*/,`/`),xe=e=>!e||e===`?`?``:e.startsWith(`?`)?e:`?`+e,Se=e=>!e||e===`#`?``:e.startsWith(`#`)?e:`#`+e,Ce=(e,t=302)=>{let n=t;typeof n==`number`?n={status:n}:n.status===void 0&&(n.status=302);let r=new Headers(n.headers);return r.set(`Location`,e),new Response(null,{...n,headers:r})},we=class{constructor(e,t,n,r=!1){this.status=e,this.statusText=t||``,this.internal=r,n instanceof Error?(this.data=n.toString(),this.error=n):this.data=n}};function Te(e){return e!=null&&typeof e.status==`number`&&typeof e.statusText==`string`&&typeof e.internal==`boolean`&&`data`in e}function Ee(e){return H(e.map(e=>e.route.path).filter(Boolean))||`/`}var De=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;function Oe(e,t){let n=e;if(typeof n!=`string`||!pe.test(n))return{absoluteURL:void 0,isExternal:!1,to:n};let r=n,i=!1;if(De)try{let e=new URL(window.location.href),r=n.startsWith(`//`)?new URL(e.protocol+n):new URL(n),a=z(r.pathname,t);r.origin===e.origin&&a!=null?n=a+r.search+r.hash:i=!0}catch{p(!1,`<Link to="${n}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:r,isExternal:i,to:n}}var W=Symbol(`Uninstrumented`);function ke(e,t){let n={lazy:[],"lazy.loader":[],"lazy.action":[],"lazy.middleware":[],middleware:[],loader:[],action:[]};e.forEach(e=>e({id:t.id,index:t.index,path:t.path,instrument(e){let t=Object.keys(n);for(let r of t)e[r]&&n[r].push(e[r])}}));let r={};if(typeof t.lazy==`function`&&n.lazy.length>0){let e=je(n.lazy,t.lazy,()=>void 0);e&&(r.lazy=e)}if(typeof t.lazy==`object`){let e=t.lazy;[`middleware`,`loader`,`action`].forEach(t=>{let i=e[t],a=n[`lazy.${t}`];if(typeof i==`function`&&a.length>0){let e=je(a,i,()=>void 0);e&&(r.lazy=Object.assign(r.lazy||{},{[t]:e}))}})}return[`loader`,`action`].forEach(e=>{let i=t[e];if(typeof i==`function`&&n[e].length>0){let t=i[W]??i,a=je(n[e],t,(...e)=>G(e[0]));a&&(e===`loader`&&t.hydrate===!0&&(a.hydrate=!0),a[W]=t,r[e]=a)}}),t.middleware&&t.middleware.length>0&&n.middleware.length>0&&(r.middleware=t.middleware.map(e=>{let t=e[W]??e,r=je(n.middleware,t,(...e)=>G(e[0]));return r?(r[W]=t,r):e})),r}function Ae(e,t){let n={navigate:[],fetch:[]};if(t.forEach(e=>e({instrument(e){let t=Object.keys(e);for(let r of t)e[r]&&n[r].push(e[r])}})),n.navigate.length>0){let t=e.navigate[W]??e.navigate,r=je(n.navigate,t,(...t)=>{let[n,r]=t;return{to:typeof n==`number`||typeof n==`string`?n:n?_(n):`.`,...K(e,r??{})}});r&&(r[W]=t,e.navigate=r)}if(n.fetch.length>0){let t=e.fetch[W]??e.fetch,r=je(n.fetch,t,(...t)=>{let[n,,r,i]=t;return{href:r??`.`,fetcherKey:n,...K(e,i??{})}});r&&(r[W]=t,e.fetch=r)}return e}function je(e,t,n){return e.length===0?null:async(...r)=>{let i=await Me(e,n(...r),()=>t(...r),e.length-1);if(i.type===`error`)throw i.value;return i.value}}async function Me(e,t,n,r){let i=e[r],a;if(i){let o,s=async()=>(o?console.error(`You cannot call instrumented handlers more than once`):o=Me(e,t,n,r-1),a=await o,f(a,`Expected a result`),a.type===`error`&&a.value instanceof Error?{status:`error`,error:a.value}:{status:`success`,error:void 0});try{await i(s,t)}catch(e){console.error(`An instrumentation function threw an error:`,e)}o||await s(),await o}else try{a={type:`success`,value:await n()}}catch(e){a={type:`error`,value:e}}return a||{type:`error`,value:Error(`No result assigned in instrumentation chain.`)}}function G(e){let{request:t,context:n,params:r,pattern:i}=e;return{request:Ne(t),params:{...r},pattern:i,context:Pe(n)}}function K(e,t){return{currentUrl:_(e.state.location),...`formMethod`in t?{formMethod:t.formMethod}:{},...`formEncType`in t?{formEncType:t.formEncType}:{},...`formData`in t?{formData:t.formData}:{},...`body`in t?{body:t.body}:{}}}function Ne(e){return{method:e.method,url:e.url,headers:{get:(...t)=>e.headers.get(...t)}}}function Pe(e){if(Ie(e)){let t={...e};return Object.freeze(t),t}else return{get:t=>e.get(t)}}var Fe=Object.getOwnPropertyNames(Object.prototype).sort().join(`\0`);function Ie(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null||Object.getOwnPropertyNames(t).sort().join(`\0`)===Fe}var q=[`POST`,`PUT`,`PATCH`,`DELETE`],Le=new Set(q),Re=[`GET`,...q],ze=new Set(Re),Be=new Set([301,302,303,307,308]),Ve=new Set([307,308]),He={state:`idle`,location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},Ue={state:`idle`,data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},We={state:`unblocked`,proceed:void 0,reset:void 0,location:void 0},Ge=e=>({hasErrorBoundary:!!e.hasErrorBoundary}),Ke=`remix-router-transitions`,qe=Symbol(`ResetLoaderData`),Je,Ye,Xe,Ze,Qe=class{constructor(e){s(this,Je),s(this,Ye),s(this,Xe),s(this,Ze),c(this,Je,e),c(this,Ye,N(e))}get stableRoutes(){return o(this,Je)}get activeRoutes(){return o(this,Xe)??o(this,Je)}get branches(){return o(this,Ze)??o(this,Ye)}get hasHMRRoutes(){return o(this,Xe)!=null}setRoutes(e){c(this,Je,e),c(this,Ye,N(e))}setHmrRoutes(e){c(this,Xe,e),c(this,Ze,N(e))}commitHmrRoutes(){o(this,Xe)&&(c(this,Je,o(this,Xe)),c(this,Ye,o(this,Ze)),c(this,Xe,void 0),c(this,Ze,void 0))}};Je=new WeakMap,Ye=new WeakMap,Xe=new WeakMap,Ze=new WeakMap;function $e(e){let t=e.window?e.window:typeof window<`u`?window:void 0,n=t!==void 0&&t.document!==void 0&&t.document.createElement!==void 0;f(e.routes.length>0,`You must provide a non-empty routes array to createRouter`);let r=e.hydrationRouteProperties||[],i=e.mapRouteProperties||Ge,a=i;if(e.instrumentations){let t=e.instrumentations;a=e=>({...i(e),...ke(t.map(e=>e.route).filter(Boolean),e)})}let o={},s=new Qe(k(e.routes,a,void 0,o)),c=e.basename||`/`;c.startsWith(`/`)||(c=`/${c}`);let l=e.dataStrategy||gt,u={...e.future},d=null,m=new Set,h=null,_=null,y=null,x=e.hydrationData!=null,S=M(s.activeRoutes,e.history.location,c,!1,s.branches),w=!1,T=null,E,D;if(S==null&&!e.patchRoutesOnNavigation){let t=J(404,{pathname:e.history.location.pathname}),{matches:n,route:r}=zt(s.activeRoutes);E=!0,D=!E,S=n,T={[r.id]:t}}else if(S&&!e.hydrationData&&ot(S,s.activeRoutes,e.history.location.pathname).active&&(S=null),!S){E=!1,D=!E,S=[];let t=ot(null,s.activeRoutes,e.history.location.pathname);t.active&&t.matches&&(w=!0,S=t.matches)}else if(S.some(e=>e.route.lazy))E=!1,D=!E;else if(!S.some(e=>it(e.route)))E=!0,D=!E;else{let t=e.hydrationData?e.hydrationData.loaderData:null,n=e.hydrationData?e.hydrationData.errors:null,r=S;if(n){let e=S.findIndex(e=>n[e.route.id]!==void 0);r=r.slice(0,e+1)}D=!1,E=!0,r.forEach(e=>{let r=at(e.route,t,n);D||=r.renderFallback,E&&=!r.shouldLoad})}let O,A={historyAction:e.history.action,location:e.history.location,matches:S,initialized:E,renderFallback:D,navigation:He,restoreScrollPosition:e.hydrationData==null?null:!1,preventScrollReset:!1,revalidation:`idle`,loaderData:e.hydrationData&&e.hydrationData.loaderData||{},actionData:e.hydrationData&&e.hydrationData.actionData||null,errors:e.hydrationData&&e.hydrationData.errors||T,fetchers:new Map,blockers:new Map},j=`POP`,N=null,te=!1,P,ne=!1,re=new Map,F=null,ie=!1,ae=!1,oe=new Set,I=new Map,se=0,ce=-1,le=new Map,L=new Set,ue=new Map,de=new Map,R=new Set,fe=new Map,pe,he=null;function ge(){if(d=e.history.listen(({action:t,location:n,delta:r})=>{if(pe){pe(),pe=void 0;return}p(fe.size===0||r!=null,"You are trying to use a blocker on a POP navigation to a location that was not created by @remix-run/router. This will fail silently in production. This can happen if you are navigating outside the router via `window.history.pushState`/`window.location.hash` instead of using router navigation APIs. This can also happen if you are using createHashRouter and the user manually changes the URL.");let i=Je({currentLocation:A.location,nextLocation:n,historyAction:t});if(i&&r!=null){let t=new Promise(e=>{pe=e});e.history.go(r*-1),qe(i,{state:`blocked`,location:n,proceed(){qe(i,{state:`proceeding`,proceed:void 0,reset:void 0,location:n}),t.then(()=>e.history.go(r))},reset(){let e=new Map(A.blockers);e.set(i,We),B({blockers:e})}}),N?.resolve(),N=null;return}return U(t,n)}),n){cn(t,re);let e=()=>ln(t,re);t.addEventListener(`pagehide`,e),F=()=>t.removeEventListener(`pagehide`,e)}return A.initialized||U(`POP`,A.location,{initialHydration:!0}),O}function _e(){d&&d(),F&&F(),m.clear(),P&&P.abort(),A.fetchers.forEach((e,t)=>Fe(t)),A.blockers.forEach((e,t)=>Ke(t))}function ve(e){return m.add(e),()=>m.delete(e)}function B(e,t={}){e.matches&&=e.matches.map(e=>{let t=o[e.route.id],n=e.route;return n.element!==t.element||n.errorElement!==t.errorElement||n.hydrateFallbackElement!==t.hydrateFallbackElement?{...e,route:t}:e}),A={...A,...e};let n=[],r=[];A.fetchers.forEach((e,t)=>{e.state===`idle`&&(R.has(t)?n.push(t):r.push(t))}),R.forEach(e=>{!A.fetchers.has(e)&&!I.has(e)&&n.push(e)}),[...m].forEach(r=>r(A,{deletedFetchers:n,newErrors:e.errors??null,viewTransitionOpts:t.viewTransitionOpts,flushSync:t.flushSync===!0})),n.forEach(e=>Fe(e)),r.forEach(e=>A.fetchers.delete(e))}function V(t,n,{flushSync:r}={}){let i=A.actionData!=null&&A.navigation.formMethod!=null&&X(A.navigation.formMethod)&&A.navigation.state===`loading`&&t.state?._isRedirect!==!0,a;a=n.actionData?Object.keys(n.actionData).length>0?n.actionData:null:i?A.actionData:null;let o=n.loaderData?It(A.loaderData,n.loaderData,n.matches||[],n.errors):A.loaderData,c=A.blockers;c.size>0&&(c=new Map(c),c.forEach((e,t)=>c.set(t,We)));let l=ie?!1:et(t,n.matches||A.matches),u=te===!0||A.navigation.formMethod!=null&&X(A.navigation.formMethod)&&t.state?._isRedirect!==!0;s.commitHmrRoutes(),ie||j===`POP`||(j===`PUSH`?e.history.push(t,t.state):j===`REPLACE`&&e.history.replace(t,t.state));let d;if(j===`POP`){let e=re.get(A.location.pathname);e&&e.has(t.pathname)?d={currentLocation:A.location,nextLocation:t}:re.has(t.pathname)&&(d={currentLocation:t,nextLocation:A.location})}else if(ne){let e=re.get(A.location.pathname);e?e.add(t.pathname):(e=new Set([t.pathname]),re.set(A.location.pathname,e)),d={currentLocation:A.location,nextLocation:t}}B({...n,actionData:a,loaderData:o,historyAction:j,location:t,initialized:!0,renderFallback:!1,navigation:He,revalidation:`idle`,restoreScrollPosition:l,preventScrollReset:u,blockers:c},{viewTransitionOpts:d,flushSync:r===!0}),j=`POP`,te=!1,ne=!1,ie=!1,ae=!1,N?.resolve(),N=null,he?.resolve(),he=null}async function ye(t,n){if(N?.resolve(),N=null,typeof t==`number`){N||=un();let n=N.promise;return e.history.go(t),n}let{path:r,submission:i,error:a}=nt(!1,tt(A.location,A.matches,c,t,n?.fromRouteId,n?.relative),n),o;n?.mask&&(o={pathname:``,search:``,hash:``,...typeof n.mask==`string`?v(n.mask):{...A.location.mask,...n.mask}});let s=A.location,l=g(s,r,n&&n.state,void 0,o);l={...l,...e.history.encodeLocation(l)};let u=n&&n.replace!=null?n.replace:void 0,d=`PUSH`;u===!0?d=`REPLACE`:u===!1||i!=null&&X(i.formMethod)&&i.formAction===A.location.pathname+A.location.search&&(d=`REPLACE`);let f=n&&`preventScrollReset`in n?n.preventScrollReset===!0:void 0,p=(n&&n.flushSync)===!0,m=Je({currentLocation:s,nextLocation:l,historyAction:d});if(m){qe(m,{state:`blocked`,location:l,proceed(){qe(m,{state:`proceeding`,proceed:void 0,reset:void 0,location:l}),ye(t,n)},reset(){let e=new Map(A.blockers);e.set(m,We),B({blockers:e})}});return}await U(d,l,{submission:i,pendingError:a,preventScrollReset:f,replace:n&&n.replace,enableViewTransition:n&&n.viewTransition,flushSync:p,callSiteDefaultShouldRevalidate:n&&n.defaultShouldRevalidate})}function H(){he||=un(),Me(),B({revalidation:`loading`});let e=he.promise;return A.navigation.state===`submitting`?e:A.navigation.state===`idle`?(U(A.historyAction,A.location,{startUninterruptedRevalidation:!0}),e):(U(j||A.historyAction,A.navigation.location,{overrideNavigation:A.navigation,enableViewTransition:ne===!0}),e)}async function U(t,n,r){P&&P.abort(),P=null,j=t,ie=(r&&r.startUninterruptedRevalidation)===!0,$e(A.location,A.matches),te=(r&&r.preventScrollReset)===!0,ne=(r&&r.enableViewTransition)===!0;let i=s.activeRoutes,a=r&&r.overrideNavigation,o=r?.initialHydration&&A.matches&&A.matches.length>0&&!w?A.matches:M(i,n,c,!1,s.branches),l=(r&&r.flushSync)===!0;if(o&&A.initialized&&!ae&&Ht(A.location,n)&&!(r&&r.submission&&X(r.submission.formMethod))){V(n,{matches:o},{flushSync:l});return}let u=ot(o,i,n.pathname);if(u.active&&u.matches&&(o=u.matches),!o){let{error:e,notFoundMatches:t,route:r}=Ye(n.pathname);V(n,{matches:t,loaderData:{},errors:{[r.id]:e}},{flushSync:l});return}P=new AbortController;let d=At(e.history,n,P.signal,r&&r.submission),f=e.getContext?await e.getContext():new C,p;if(r&&r.pendingError)p=[Rt(o).route.id,{type:`error`,error:r.pendingError}];else if(r&&r.submission&&X(r.submission.formMethod)){let t=await be(d,n,r.submission,o,f,u.active,r&&r.initialHydration===!0,{replace:r.replace,flushSync:l});if(t.shortCircuited)return;if(t.pendingActionResult){let[e,r]=t.pendingActionResult;if(Y(r)&&Te(r.error)&&r.error.status===404){P=null,V(n,{matches:t.matches,loaderData:{},errors:{[e]:r.error}});return}}o=t.matches||o,p=t.pendingActionResult,a=nn(n,r.submission),l=!1,u.active=!1,d=At(e.history,d.url,d.signal)}let{shortCircuited:m,matches:h,loaderData:g,errors:_}=await xe(d,n,o,f,u.active,a,r&&r.submission,r&&r.fetcherSubmission,r&&r.replace,r&&r.initialHydration===!0,l,p,r&&r.callSiteDefaultShouldRevalidate);m||(P=null,V(n,{matches:h||o,...Lt(p),loaderData:g,errors:_}))}async function be(t,n,i,l,u,d,f,p={}){if(Me(),B({navigation:rn(n,i)},{flushSync:p.flushSync===!0}),d){let e=await st(l,n.pathname,t.signal);if(e.type===`aborted`)return{shortCircuited:!0};if(e.type===`error`){if(e.partialMatches.length===0){let{matches:t,route:n}=zt(s.activeRoutes);return{matches:t,pendingActionResult:[n.id,{type:`error`,error:e.error}]}}let t=Rt(e.partialMatches).route.id;return{matches:e.partialMatches,pendingActionResult:[t,{type:`error`,error:e.error}]}}else if(e.matches)l=e.matches;else{let{notFoundMatches:e,error:t,route:r}=Ye(n.pathname);return{matches:e,pendingActionResult:[r.id,{type:`error`,error:t}]}}}let m,h=en(l,n);if(!h.route.action&&!h.route.lazy)m={type:`error`,error:J(405,{method:t.method,pathname:n.pathname,routeId:h.route.id})};else{let e=await W(t,n,St(a,o,t,n,l,h,f?[]:r,u),u,null);if(m=e[h.route.id],!m){for(let t of l)if(e[t.route.id]){m=e[t.route.id];break}}if(t.signal.aborted)return{shortCircuited:!0}}if(qt(m)){let n;return n=p&&p.replace!=null?p.replace:kt(m.response.headers.get(`Location`),new URL(t.url),c,e.history)===A.location.pathname+A.location.search,await Oe(t,m,!0,{submission:i,replace:n}),{shortCircuited:!0}}if(Y(m)){let e=Rt(l,h.route.id);return(p&&p.replace)!==!0&&(j=`PUSH`),{matches:l,pendingActionResult:[e.route.id,m,h.route.id]}}return{matches:l,pendingActionResult:[h.route.id,m]}}async function xe(t,n,i,l,u,d,f,p,m,h,g,_,v){let y=d||nn(n,f),b=f||p||tn(y),x=!ie&&!h;if(u){if(x){let e=Se(_);B({navigation:y,...e===void 0?{}:{actionData:e}},{flushSync:g})}let e=await st(i,n.pathname,t.signal);if(e.type===`aborted`)return{shortCircuited:!0};if(e.type===`error`){if(e.partialMatches.length===0){let{matches:t,route:n}=zt(s.activeRoutes);return{matches:t,loaderData:{},errors:{[n.id]:e.error}}}let t=Rt(e.partialMatches).route.id;return{matches:e.partialMatches,loaderData:{},errors:{[t]:e.error}}}else if(e.matches)i=e.matches;else{let{error:e,notFoundMatches:t,route:r}=Ye(n.pathname);return{matches:t,loaderData:{},errors:{[r.id]:e}}}}let S=s.activeRoutes,{dsMatches:C,revalidatingFetchers:w}=rt(t,l,a,o,e.history,A,i,b,n,h?[]:r,h===!0,ae,oe,R,ue,L,S,c,e.patchRoutesOnNavigation!=null,s.branches,_,v);if(ce=++se,!e.dataStrategy&&!C.some(e=>e.shouldLoad)&&!C.some(e=>e.route.middleware&&e.route.middleware.length>0)&&w.length===0){let e=Re();return V(n,{matches:i,loaderData:{},errors:_&&Y(_[1])?{[_[0]]:_[1].error}:null,...Lt(_),...e?{fetchers:new Map(A.fetchers)}:{}},{flushSync:g}),{shortCircuited:!0}}if(x){let e={};if(!u){e.navigation=y;let t=Se(_);t!==void 0&&(e.actionData=t)}w.length>0&&(e.fetchers=Ce(w)),B(e,{flushSync:g})}w.forEach(e=>{q(e.key),e.controller&&I.set(e.key,e.controller)});let T=()=>w.forEach(e=>q(e.key));P&&P.signal.addEventListener(`abort`,T);let{loaderResults:E,fetcherResults:D}=await je(C,w,t,n,l);if(t.signal.aborted)return{shortCircuited:!0};P&&P.signal.removeEventListener(`abort`,T),w.forEach(e=>I.delete(e.key));let O=Bt(E);if(O)return await Oe(t,O.result,!0,{replace:m}),{shortCircuited:!0};if(O=Bt(D),O)return L.add(O.key),await Oe(t,O.result,!0,{replace:m}),{shortCircuited:!0};let{loaderData:k,errors:j}=Ft(A,i,E,_,w,D);h&&A.errors&&(j={...A.errors,...j});let M=Re(),ee=ze(ce),N=M||ee||w.length>0;return{matches:i,loaderData:k,errors:j,...N?{fetchers:new Map(A.fetchers)}:{}}}function Se(e){if(e&&!Y(e[1]))return{[e[0]]:e[1].data};if(A.actionData)return Object.keys(A.actionData).length===0?null:A.actionData}function Ce(e){return e.forEach(e=>{let t=A.fetchers.get(e.key),n=an(void 0,t?t.data:void 0);A.fetchers.set(e.key,n)}),new Map(A.fetchers)}async function we(t,n,r,i){q(t);let a=(i&&i.flushSync)===!0,o=s.activeRoutes,l=tt(A.location,A.matches,c,r,n,i?.relative),u=M(o,l,c,!1,s.branches),d=ot(u,o,l);if(d.active&&d.matches&&(u=d.matches),!u){K(t,n,J(404,{pathname:l}),{flushSync:a});return}let{path:f,submission:p,error:m}=nt(!0,l,i);if(m){K(t,n,m,{flushSync:a});return}let h=e.getContext?await e.getContext():new C,g=(i&&i.preventScrollReset)===!0;if(p&&X(p.formMethod)){await Ee(t,n,f,u,h,d.active,a,g,p,i&&i.defaultShouldRevalidate);return}ue.set(t,{routeId:n,path:f}),await De(t,n,f,u,h,d.active,a,g,p)}async function Ee(t,n,i,l,u,d,p,m,h,g){Me(),ue.delete(t),G(t,on(h,A.fetchers.get(t)),{flushSync:p});let _=new AbortController,v=At(e.history,i,_.signal,h);if(d){let e=await st(l,new URL(v.url).pathname,v.signal,t);if(e.type===`aborted`)return;if(e.type===`error`){K(t,n,e.error,{flushSync:p});return}else if(e.matches)l=e.matches;else{K(t,n,J(404,{pathname:i}),{flushSync:p});return}}let y=en(l,i);if(!y.route.action&&!y.route.lazy){K(t,n,J(405,{method:h.formMethod,pathname:i,routeId:n}),{flushSync:p});return}I.set(t,_);let b=se,x=St(a,o,v,i,l,y,r,u),S=await W(v,i,x,u,t),C=S[y.route.id];if(!C){for(let e of x)if(S[e.route.id]){C=S[e.route.id];break}}if(v.signal.aborted){I.get(t)===_&&I.delete(t);return}if(R.has(t)){if(qt(C)||Y(C)){G(t,sn(void 0));return}}else{if(qt(C))if(I.delete(t),ce>b){G(t,sn(void 0));return}else return L.add(t),G(t,an(h)),Oe(v,C,!1,{fetcherSubmission:h,preventScrollReset:m});if(Y(C)){K(t,n,C.error);return}}let w=A.navigation.location||A.location,T=At(e.history,w,_.signal),E=s.activeRoutes,D=A.navigation.state===`idle`?A.matches:M(E,A.navigation.location,c,!1,s.branches);f(D,`Didn't find any matches after fetcher action`);let O=++se;le.set(t,O);let k=an(h,C.data);A.fetchers.set(t,k);let{dsMatches:ee,revalidatingFetchers:N}=rt(T,u,a,o,e.history,A,D,h,w,r,!1,ae,oe,R,ue,L,E,c,e.patchRoutesOnNavigation!=null,s.branches,[y.route.id,C],g);N.filter(e=>e.key!==t).forEach(e=>{let t=e.key,n=A.fetchers.get(t),r=an(void 0,n?n.data:void 0);A.fetchers.set(t,r),q(t),e.controller&&I.set(t,e.controller)}),B({fetchers:new Map(A.fetchers)});let te=()=>N.forEach(e=>q(e.key));_.signal.addEventListener(`abort`,te);let{loaderResults:ne,fetcherResults:re}=await je(ee,N,T,w,u);if(_.signal.aborted)return;if(_.signal.removeEventListener(`abort`,te),le.delete(t),I.delete(t),N.forEach(e=>I.delete(e.key)),A.fetchers.has(t)){let e=sn(C.data);A.fetchers.set(t,e)}let F=Bt(ne);if(F)return Oe(T,F.result,!1,{preventScrollReset:m});if(F=Bt(re),F)return L.add(F.key),Oe(T,F.result,!1,{preventScrollReset:m});let{loaderData:ie,errors:de}=Ft(A,D,ne,void 0,N,re);ze(O),A.navigation.state===`loading`&&O>ce?(f(j,`Expected pending action`),P&&P.abort(),V(A.navigation.location,{matches:D,loaderData:ie,errors:de,fetchers:new Map(A.fetchers)})):(B({errors:de,loaderData:It(A.loaderData,ie,D,de),fetchers:new Map(A.fetchers)}),ae=!1)}async function De(t,n,i,s,c,l,u,d,f){let p=A.fetchers.get(t);G(t,an(f,p?p.data:void 0),{flushSync:u});let m=new AbortController,h=At(e.history,i,m.signal);if(l){let e=await st(s,new URL(h.url).pathname,h.signal,t);if(e.type===`aborted`)return;if(e.type===`error`){K(t,n,e.error,{flushSync:u});return}else if(e.matches)s=e.matches;else{K(t,n,J(404,{pathname:i}),{flushSync:u});return}}let g=en(s,i);I.set(t,m);let _=se,v=await W(h,i,St(a,o,h,i,s,g,r,c),c,t),y=v[g.route.id];if(!y){for(let e of s)if(v[e.route.id]){y=v[e.route.id];break}}if(I.get(t)===m&&I.delete(t),!h.signal.aborted){if(R.has(t)){G(t,sn(void 0));return}if(qt(y))if(ce>_){G(t,sn(void 0));return}else{L.add(t),await Oe(h,y,!1,{preventScrollReset:d});return}if(Y(y)){K(t,n,y.error);return}G(t,sn(y.data))}}async function Oe(r,i,a,{submission:o,fetcherSubmission:s,preventScrollReset:l,replace:u}={}){a||(N?.resolve(),N=null),i.response.headers.has(`X-Remix-Revalidate`)&&(ae=!0);let d=i.response.headers.get(`Location`);f(d,`Expected a Location header on the redirect Response`),d=kt(d,new URL(r.url),c,e.history);let p=g(A.location,d,{_isRedirect:!0});if(n){let e=!1;if(i.response.headers.has(`X-Remix-Reload-Document`))e=!0;else if(me(d)){let n=b(d,!0);e=n.origin!==t.location.origin||z(n.pathname,c)==null}if(e){u?t.location.replace(d):t.location.assign(d);return}}P=null;let m=u===!0||i.response.headers.has(`X-Remix-Replace`)?`REPLACE`:`PUSH`,{formMethod:h,formAction:_,formEncType:v}=A.navigation;!o&&!s&&h&&_&&v&&(o=tn(A.navigation));let y=o||s;Ve.has(i.response.status)&&y&&X(y.formMethod)?await U(m,p,{submission:{...y,formAction:d},preventScrollReset:l||te,enableViewTransition:a?ne:void 0}):await U(m,p,{overrideNavigation:nn(p,o),fetcherSubmission:s,preventScrollReset:l||te,enableViewTransition:a?ne:void 0})}async function W(e,t,n,r,i){let a,o={};try{a=await Ct(l,e,t,n,i,r,!1)}catch(e){return n.filter(e=>e.shouldLoad).forEach(t=>{o[t.route.id]={type:`error`,error:e}}),o}if(e.signal.aborted)return o;if(!X(e.method))for(let e of n){if(a[e.route.id]?.type===`error`)break;!a.hasOwnProperty(e.route.id)&&!A.loaderData.hasOwnProperty(e.route.id)&&(!A.errors||!A.errors.hasOwnProperty(e.route.id))&&e.shouldCallHandler()&&(a[e.route.id]={type:`error`,result:Error(`No result returned from dataStrategy for route ${e.route.id}`)})}for(let[t,r]of Object.entries(a))if(Kt(r)){let i=r.result;o[t]={type:`redirect`,response:Dt(i,e,t,n,c)}}else o[t]=await Et(r);return o}async function je(e,t,n,r,i){let a=W(n,r,e,i,null),o=Promise.all(t.map(async e=>{if(e.matches&&e.match&&e.request&&e.controller){let t=(await W(e.request,e.path,e.matches,i,e.key))[e.match.route.id];return{[e.key]:t}}else return Promise.resolve({[e.key]:{type:`error`,error:J(404,{pathname:e.path})}})}));return{loaderResults:await a,fetcherResults:(await o).reduce((e,t)=>Object.assign(e,t),{})}}function Me(){ae=!0,ue.forEach((e,t)=>{I.has(t)&&oe.add(t),q(t)})}function G(e,t,n={}){A.fetchers.set(e,t),B({fetchers:new Map(A.fetchers)},{flushSync:(n&&n.flushSync)===!0})}function K(e,t,n,r={}){let i=Rt(A.matches,t);Fe(e),B({errors:{[i.route.id]:n},fetchers:new Map(A.fetchers)},{flushSync:(r&&r.flushSync)===!0})}function Ne(e){return de.set(e,(de.get(e)||0)+1),R.has(e)&&R.delete(e),A.fetchers.get(e)||Ue}function Pe(e,t){q(e,t?.reason),G(e,sn(null))}function Fe(e){let t=A.fetchers.get(e);I.has(e)&&!(t&&t.state===`loading`&&le.has(e))&&q(e),ue.delete(e),le.delete(e),L.delete(e),R.delete(e),oe.delete(e),A.fetchers.delete(e)}function Ie(e){let t=(de.get(e)||0)-1;t<=0?(de.delete(e),R.add(e)):de.set(e,t),B({fetchers:new Map(A.fetchers)})}function q(e,t){let n=I.get(e);n&&(n.abort(t),I.delete(e))}function Le(e){for(let t of e){let e=sn(Ne(t).data);A.fetchers.set(t,e)}}function Re(){let e=[],t=!1;for(let n of L){let r=A.fetchers.get(n);f(r,`Expected fetcher: ${n}`),r.state===`loading`&&(L.delete(n),e.push(n),t=!0)}return Le(e),t}function ze(e){let t=[];for(let[n,r]of le)if(r<e){let e=A.fetchers.get(n);f(e,`Expected fetcher: ${n}`),e.state===`loading`&&(q(n),le.delete(n),t.push(n))}return Le(t),t.length>0}function Be(e,t){let n=A.blockers.get(e)||We;return fe.get(e)!==t&&fe.set(e,t),n}function Ke(e){A.blockers.delete(e),fe.delete(e)}function qe(e,t){let n=A.blockers.get(e)||We;f(n.state===`unblocked`&&t.state===`blocked`||n.state===`blocked`&&t.state===`blocked`||n.state===`blocked`&&t.state===`proceeding`||n.state===`blocked`&&t.state===`unblocked`||n.state===`proceeding`&&t.state===`unblocked`,`Invalid blocker state transition: ${n.state} -> ${t.state}`);let r=new Map(A.blockers);r.set(e,t),B({blockers:r})}function Je({currentLocation:e,nextLocation:t,historyAction:n}){if(fe.size===0)return;fe.size>1&&p(!1,`A router only supports one blocker at a time`);let r=Array.from(fe.entries()),[i,a]=r[r.length-1],o=A.blockers.get(i);if(!(o&&o.state===`proceeding`)&&a({currentLocation:e,nextLocation:t,historyAction:n}))return i}function Ye(e){let t=J(404,{pathname:e}),n=s.activeRoutes,{matches:r,route:i}=zt(n);return{notFoundMatches:r,route:i,error:t}}function Xe(e,t,n){if(h=e,y=t,_=n||null,!x&&A.navigation===He){x=!0;let e=et(A.location,A.matches);e!=null&&B({restoreScrollPosition:e})}return()=>{h=null,y=null,_=null}}function Ze(e,t){return _&&_(e,t.map(e=>ee(e,A.loaderData)))||e.key}function $e(e,t){if(h&&y){let n=Ze(e,t);h[n]=y()}}function et(e,t){if(h){let n=Ze(e,t),r=h[n];if(typeof r==`number`)return r}return null}function ot(t,n,r){if(e.patchRoutesOnNavigation){let e=s.branches;if(!t)return{active:!0,matches:M(n,r,c,!0,e)||[]};if(Object.keys(t[0].params).length>0)return{active:!0,matches:M(n,r,c,!0,e)}}return{active:!1,matches:null}}async function st(t,n,r,i){if(!e.patchRoutesOnNavigation)return{type:`success`,matches:t};let l=t;for(;;){let t=o;try{await e.patchRoutesOnNavigation({signal:r,path:n,matches:l,fetcherKey:i,patch:(e,n)=>{r.aborted||lt(e,n,s,t,a,!1)}})}catch(e){return{type:`error`,error:e,partialMatches:l}}if(r.aborted)return{type:`aborted`};let u=s.branches,d=M(s.activeRoutes,n,c,!1,u),f=null;if(d&&(Object.keys(d[0].params).length===0||(f=M(s.activeRoutes,n,c,!0,u),!(f&&l.length<f.length&&ct(l,f.slice(0,l.length))))))return{type:`success`,matches:d};if(f||=M(s.activeRoutes,n,c,!0,u),!f||ct(l,f))return{type:`success`,matches:null};l=f}}function ct(e,t){return e.length===t.length&&e.every((e,n)=>e.route.id===t[n].route.id)}function ut(e){o={},s.setHmrRoutes(k(e,a,void 0,o))}function dt(e,t,n=!1){lt(e,t,s,o,a,n),s.hasHMRRoutes||B({})}return O={get basename(){return c},get future(){return u},get state(){return A},get routes(){return s.stableRoutes},get branches(){return s.branches},get manifest(){return o},get window(){return t},initialize:ge,subscribe:ve,enableScrollRestoration:Xe,navigate:ye,fetch:we,revalidate:H,createHref:t=>e.history.createHref(t),encodeLocation:t=>e.history.encodeLocation(t),getFetcher:Ne,resetFetcher:Pe,deleteFetcher:Ie,dispose:_e,getBlocker:Be,deleteBlocker:Ke,patchRoutes:dt,_internalFetchControllers:I,_internalSetRoutes:ut,_internalSetStateDoNotUseOrYouWillBreakYourApp(e){B(e)}},e.instrumentations&&(O=Ae(O,e.instrumentations.map(e=>e.router).filter(Boolean))),O}function et(e){return e!=null&&(`formData`in e&&e.formData!=null||`body`in e&&e.body!==void 0)}function tt(e,t,n,r,i,a){let o,s;if(i){o=[];for(let e of t)if(o.push(e),e.route.id===i){s=e;break}}else o=t,s=t[t.length-1];let c=V(r||`.`,B(o),z(e.pathname,n)||e.pathname,a===`path`);if(r??(c.search=e.search,c.hash=e.hash),(r==null||r===``||r===`.`)&&s){let e=$t(c.search);if(s.route.index&&!e)c.search=c.search?c.search.replace(/^\?/,`?index&`):`?index`;else if(!s.route.index&&e){let e=new URLSearchParams(c.search),t=e.getAll(`index`);e.delete(`index`),t.filter(e=>e).forEach(t=>e.append(`index`,t));let n=e.toString();c.search=n?`?${n}`:``}}return n!==`/`&&(c.pathname=fe({basename:n,pathname:c.pathname})),_(c)}function nt(e,t,n){if(!n||!et(n))return{path:t};if(n.formMethod&&!Qt(n.formMethod))return{path:t,error:J(405,{method:n.formMethod})};let r=()=>({path:t,error:J(400,{type:`invalid-body`})}),i=(n.formMethod||`get`).toUpperCase(),a=Vt(t);if(n.body!==void 0){if(n.formEncType===`text/plain`){if(!X(i))return r();let e=typeof n.body==`string`?n.body:n.body instanceof FormData||n.body instanceof URLSearchParams?Array.from(n.body.entries()).reduce((e,[t,n])=>`${e}${t}=${n}
|
|
2
|
+
`,``):String(n.body);return{path:t,submission:{formMethod:i,formAction:a,formEncType:n.formEncType,formData:void 0,json:void 0,text:e}}}else if(n.formEncType===`application/json`){if(!X(i))return r();try{let e=typeof n.body==`string`?JSON.parse(n.body):n.body;return{path:t,submission:{formMethod:i,formAction:a,formEncType:n.formEncType,formData:void 0,json:e,text:void 0}}}catch{return r()}}}f(typeof FormData==`function`,`FormData is not available in this environment`);let o,s;if(n.formData)o=Mt(n.formData),s=n.formData;else if(n.body instanceof FormData)o=Mt(n.body),s=n.body;else if(n.body instanceof URLSearchParams)o=n.body,s=Nt(o);else if(n.body==null)o=new URLSearchParams,s=new FormData;else try{o=new URLSearchParams(n.body),s=Nt(o)}catch{return r()}let c={formMethod:i,formAction:a,formEncType:n&&n.formEncType||`application/x-www-form-urlencoded`,formData:s,json:void 0,text:void 0};if(X(c.formMethod))return{path:t,submission:c};let l=v(t);return e&&l.search&&$t(l.search)&&o.append(`index`,``),l.search=`?${o}`,{path:_(l),submission:c}}function rt(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x){let S=b?Y(b[1])?b[1].error:b[1].data:void 0,C=i.createURL(a.location),w=i.createURL(c),T;if(u&&a.errors){let e=Object.keys(a.errors)[0];T=o.findIndex(t=>t.route.id===e)}else if(b&&Y(b[1])){let e=b[0];T=o.findIndex(t=>t.route.id===e)-1}let E=b?b[1].statusCode:void 0,D=E&&E>=400,O={currentUrl:C,currentParams:a.matches[0]?.params||{},nextUrl:w,nextParams:o[0].params,...s,actionResult:S,actionStatus:E},k=Ee(o),A=o.map((i,o)=>{let{route:s}=i,f=null;if(T!=null&&o>T)f=!1;else if(s.lazy)f=!0;else if(!it(s))f=!1;else if(u){let{shouldLoad:e}=at(s,a.loaderData,a.errors);f=e}else ot(a.loaderData,a.matches[o],i)&&(f=!0);if(f!==null)return xt(n,r,e,c,k,i,l,t,f);let p=!1;typeof x==`boolean`?p=x:D?p=!1:d||C.pathname+C.search===w.pathname+w.search?p=!0:C.search===w.search?st(a.matches[o],i)&&(p=!0):p=!0;let m={...O,defaultShouldRevalidate:p};return xt(n,r,e,c,k,i,l,t,ct(i,m),m,x)}),j=[];return m.forEach((e,s)=>{if(u||!o.some(t=>t.route.id===e.routeId)||p.has(s))return;let c=a.fetchers.get(s),m=c&&c.state!==`idle`&&c.data===void 0,b=M(g,e.path,_??`/`,!1,y);if(!b){if(v&&m)return;j.push({key:s,routeId:e.routeId,path:e.path,matches:null,match:null,request:null,controller:null});return}if(h.has(s))return;let S=en(b,e.path),C=new AbortController,w=At(i,e.path,C.signal),T=null;if(f.has(s))f.delete(s),T=St(n,r,w,e.path,b,S,l,t);else if(m)d&&(T=St(n,r,w,e.path,b,S,l,t));else{let i;i=typeof x==`boolean`?x:D?!1:d;let a={...O,defaultShouldRevalidate:i};ct(S,a)&&(T=St(n,r,w,e.path,b,S,l,t,a))}T&&j.push({key:s,routeId:e.routeId,path:e.path,matches:T,match:S,request:w,controller:C})}),{dsMatches:A,revalidatingFetchers:j}}function it(e){return e.loader!=null||e.middleware!=null&&e.middleware.length>0}function at(e,t,n){if(e.lazy)return{shouldLoad:!0,renderFallback:!0};if(!it(e))return{shouldLoad:!1,renderFallback:!1};let r=t!=null&&e.id in t,i=n!=null&&n[e.id]!==void 0;if(!r&&i)return{shouldLoad:!1,renderFallback:!1};if(typeof e.loader==`function`&&e.loader.hydrate===!0)return{shouldLoad:!0,renderFallback:!r};let a=!r&&!i;return{shouldLoad:a,renderFallback:a}}function ot(e,t,n){let r=!t||n.route.id!==t.route.id,i=!e.hasOwnProperty(n.route.id);return r||i}function st(e,t){let n=e.route.path;return e.pathname!==t.pathname||n!=null&&n.endsWith(`*`)&&e.params[`*`]!==t.params[`*`]}function ct(e,t){if(e.route.shouldRevalidate){let n=e.route.shouldRevalidate(t);if(typeof n==`boolean`)return n}return t.defaultShouldRevalidate}function lt(e,t,n,r,i,a){let o;if(e){let t=r[e];f(t,`No route found to patch children into: routeId = ${e}`),t.children||=[],o=t.children}else o=n.activeRoutes;let s=[],c=[];if(t.forEach(e=>{let t=o.find(t=>ut(e,t));t?c.push({existingRoute:t,newRoute:e}):s.push(e)}),s.length>0){let t=k(s,i,[e||`_`,`patch`,String(o?.length||`0`)],r);o.push(...t)}if(a&&c.length>0)for(let e=0;e<c.length;e++){let{existingRoute:t,newRoute:n}=c[e],r=t,[a]=k([n],i,[],{},!0);Object.assign(r,{element:a.element?a.element:r.element,errorElement:a.errorElement?a.errorElement:r.errorElement,hydrateFallbackElement:a.hydrateFallbackElement?a.hydrateFallbackElement:r.hydrateFallbackElement})}n.hasHMRRoutes||n.setRoutes([...n.activeRoutes])}function ut(e,t){return`id`in e&&`id`in t&&e.id===t.id?!0:e.index===t.index&&e.path===t.path&&e.caseSensitive===t.caseSensitive?(!e.children||e.children.length===0)&&(!t.children||t.children.length===0)?!0:e.children?.every((e,n)=>t.children?.some(t=>ut(e,t)))??!1:!1}var dt=new WeakMap,ft=({key:e,route:t,manifest:n,mapRouteProperties:r})=>{let i=n[t.id];if(f(i,`No route found in manifest`),!i.lazy||typeof i.lazy!=`object`)return;let a=i.lazy[e];if(!a)return;let o=dt.get(i);o||(o={},dt.set(i,o));let s=o[e];if(s)return s;let c=(async()=>{let t=T(e),n=i[e]!==void 0&&e!==`hasErrorBoundary`;if(t)p(!t,`Route property `+e+` is not a supported lazy route property. This property will be ignored.`),o[e]=Promise.resolve();else if(n)p(!1,`Route "${i.id}" has a static property "${e}" defined. The lazy property will be ignored.`);else{let t=await a();t!=null&&(Object.assign(i,{[e]:t}),Object.assign(i,r(i)))}typeof i.lazy==`object`&&(i.lazy[e]=void 0,Object.values(i.lazy).every(e=>e===void 0)&&(i.lazy=void 0))})();return o[e]=c,c},pt=new WeakMap;function mt(e,t,n,r,i){let a=n[e.id];if(f(a,`No route found in manifest`),!e.lazy)return{lazyRoutePromise:void 0,lazyHandlerPromise:void 0};if(typeof e.lazy==`function`){let t=pt.get(a);if(t)return{lazyRoutePromise:t,lazyHandlerPromise:t};let n=(async()=>{f(typeof e.lazy==`function`,`No lazy route function found`);let t=await e.lazy(),n={};for(let e in t){let r=t[e];if(r===void 0)continue;let i=D(e),o=a[e]!==void 0&&e!==`hasErrorBoundary`;i?p(!i,`Route property `+e+` is not a supported property to be returned from a lazy route function. This property will be ignored.`):o?p(!o,`Route "${a.id}" has a static property "${e}" defined but its lazy function is also returning a value for this property. The lazy route property "${e}" will be ignored.`):n[e]=r}Object.assign(a,n),Object.assign(a,{...r(a),lazy:void 0})})();return pt.set(a,n),n.catch(()=>{}),{lazyRoutePromise:n,lazyHandlerPromise:n}}let o=Object.keys(e.lazy),s=[],c;for(let a of o){if(i&&i.includes(a))continue;let o=ft({key:a,route:e,manifest:n,mapRouteProperties:r});o&&(s.push(o),a===t&&(c=o))}let l=s.length>0?Promise.all(s).then(()=>{}):void 0;return l?.catch(()=>{}),c?.catch(()=>{}),{lazyRoutePromise:l,lazyHandlerPromise:c}}async function ht(e){let t=e.matches.filter(e=>e.shouldLoad),n={};return(await Promise.all(t.map(e=>e.resolve()))).forEach((e,r)=>{n[t[r].route.id]=e}),n}async function gt(e){return e.matches.some(e=>e.route.middleware)?_t(e,()=>ht(e)):ht(e)}function _t(e,t){return vt(e,t,e=>{if(Zt(e))throw e;return e},Wt,n);function n(t,n,r){if(r)return Promise.resolve(Object.assign(r.value,{[n]:{type:`error`,result:t}}));{let{matches:r}=e,i=Rt(r,r[Math.min(Math.max(r.findIndex(e=>e.route.id===n),0),Math.max(r.findIndex(e=>e.shouldCallHandler()),0))].route.id).route.id;return Promise.resolve({[i]:{type:`error`,result:t}})}}}async function vt(e,t,n,r,i){let{matches:a,...o}=e;return await yt(o,a.flatMap(e=>e.route.middleware?e.route.middleware.map(t=>[e.route.id,t]):[]),t,n,r,i)}async function yt(e,t,n,r,i,a,o=0){let{request:s}=e;if(s.signal.aborted)throw s.signal.reason??Error(`Request aborted: ${s.method} ${s.url}`);let c=t[o];if(!c)return await n();let[l,u]=c,d,f=async()=>{if(d)throw Error("You may only call `next()` once per middleware");try{return d={value:await yt(e,t,n,r,i,a,o+1)},d.value}catch(e){return d={value:await a(e,l,d)},d.value}};try{let t=await u(e,f),n=t==null?void 0:r(t);return i(n)?n:d?n??d.value:(d={value:await f()},d.value)}catch(e){return await a(e,l,d)}}function bt(e,t,n,r,i){let a=ft({key:`middleware`,route:r.route,manifest:t,mapRouteProperties:e}),o=mt(r.route,X(n.method)?`action`:`loader`,t,e,i);return{middleware:a,route:o.lazyRoutePromise,handler:o.lazyHandlerPromise}}function xt(e,t,n,r,i,a,o,s,c,l=null,u){let d=!1,f=bt(e,t,n,a,o);return{...a,_lazyPromises:f,shouldLoad:c,shouldRevalidateArgs:l,shouldCallHandler(e){return d=!0,l?typeof u==`boolean`?ct(a,{...l,defaultShouldRevalidate:u}):typeof e==`boolean`?ct(a,{...l,defaultShouldRevalidate:e}):ct(a,l):c},resolve(e){let{lazy:t,loader:o,middleware:l}=a.route,u=d||c||e&&!X(n.method)&&(t||o),p=l&&l.length>0&&!o&&!t;return u&&(X(n.method)||!p)?wt({request:n,path:r,pattern:i,match:a,lazyHandlerPromise:f?.handler,lazyRoutePromise:f?.route,handlerOverride:e,scopedContext:s}):Promise.resolve({type:`data`,result:void 0})}}}function St(e,t,n,r,i,a,o,s,c=null){return i.map(l=>l.route.id===a.route.id?xt(e,t,n,r,Ee(i),l,o,s,!0,c):{...l,shouldLoad:!1,shouldRevalidateArgs:c,shouldCallHandler:()=>!1,_lazyPromises:bt(e,t,n,l,o),resolve:()=>Promise.resolve({type:`data`,result:void 0})})}async function Ct(e,t,n,r,i,a,o){r.some(e=>e._lazyPromises?.middleware)&&await Promise.all(r.map(e=>e._lazyPromises?.middleware));let s={request:t,url:jt(t,n),pattern:Ee(r),params:r[0].params,context:a,matches:r},c=o?()=>{throw Error("You cannot call `runClientMiddleware()` from a static handler `dataStrategy`. Middleware is run outside of `dataStrategy` during SSR in order to bubble up the Response. You can enable middleware via the `respond` API in `query`/`queryRoute`")}:e=>{let t=s;return _t(t,()=>e({...t,fetcherKey:i,runClientMiddleware:()=>{throw Error("Cannot call `runClientMiddleware()` from within an `runClientMiddleware` handler")}}))},l=await e({...s,fetcherKey:i,runClientMiddleware:c});try{await Promise.all(r.flatMap(e=>[e._lazyPromises?.handler,e._lazyPromises?.route]))}catch{}return l}async function wt({request:e,path:t,pattern:n,match:r,lazyHandlerPromise:i,lazyRoutePromise:a,handlerOverride:o,scopedContext:s}){let c,l,u=X(e.method),d=u?`action`:`loader`,f=i=>{let a,c=new Promise((e,t)=>a=t);l=()=>a(),e.signal.addEventListener(`abort`,l);let u=a=>typeof i==`function`?i({request:e,url:jt(e,t),pattern:n,params:r.params,context:s},...a===void 0?[]:[a]):Promise.reject(Error(`You cannot call the handler for a route which defines a boolean "${d}" [routeId: ${r.route.id}]`)),f=(async()=>{try{return{type:`data`,result:await(o?o(e=>u(e)):u())}}catch(e){return{type:`error`,result:e}}})();return Promise.race([f,c])};try{let t=u?r.route.action:r.route.loader;if(i||a)if(t){let e,[n]=await Promise.all([f(t).catch(t=>{e=t}),i,a]);if(e!==void 0)throw e;c=n}else{await i;let t=u?r.route.action:r.route.loader;if(t)[c]=await Promise.all([f(t),a]);else if(d===`action`){let t=new URL(e.url),n=t.pathname+t.search;throw J(405,{method:e.method,pathname:n,routeId:r.route.id})}else return{type:`data`,result:void 0}}else if(t)c=await f(t);else{let t=new URL(e.url);throw J(404,{pathname:t.pathname+t.search})}}catch(e){return{type:`error`,result:e}}finally{l&&e.signal.removeEventListener(`abort`,l)}return c}async function Tt(e){let t=e.headers.get(`Content-Type`);return t&&/\bapplication\/json\b/.test(t)?e.body==null?null:e.json():e.text()}async function Et(e){let{result:t,type:n}=e;if(Yt(t)){let e;try{e=await Tt(t)}catch(e){return{type:`error`,error:e}}return n===`error`?{type:`error`,error:new we(t.status,t.statusText,e),statusCode:t.status,headers:t.headers}:{type:`data`,data:e,statusCode:t.status,headers:t.headers}}return n===`error`?Jt(t)?t.data instanceof Error?{type:`error`,error:t.data,statusCode:t.init?.status,headers:t.init?.headers?new Headers(t.init.headers):void 0}:{type:`error`,error:Ut(t),statusCode:Te(t)?t.status:void 0,headers:t.init?.headers?new Headers(t.init.headers):void 0}:{type:`error`,error:t,statusCode:Te(t)?t.status:void 0}:Jt(t)?{type:`data`,data:t.data,statusCode:t.init?.status,headers:t.init?.headers?new Headers(t.init.headers):void 0}:{type:`data`,data:t}}function Dt(e,t,n,r,i){let a=e.headers.get(`Location`);if(f(a,`Redirects returned/thrown from loaders/actions must have a Location header`),!me(a)){let o=r.slice(0,r.findIndex(e=>e.route.id===n)+1);a=tt(new URL(t.url),o,i,a),e.headers.set(`Location`,a)}return e}var Ot=[`about:`,`blob:`,`chrome:`,`chrome-untrusted:`,`content:`,`data:`,`devtools:`,`file:`,`filesystem:`,`javascript:`];function kt(e,t,n,r){if(me(e)){let r=e,i=r.startsWith(`//`)?new URL(t.protocol+r):new URL(r);if(Ot.includes(i.protocol))throw Error(`Invalid redirect location`);let a=z(i.pathname,n)!=null;if(i.origin===t.origin&&a)return ye(i.pathname)+i.search+i.hash}try{let t=r.createURL(e);if(Ot.includes(t.protocol))throw Error(`Invalid redirect location`)}catch{}return e}function At(e,t,n,r){let i=e.createURL(Vt(t)).toString(),a={signal:n};if(r&&X(r.formMethod)){let{formMethod:e,formEncType:t}=r;a.method=e.toUpperCase(),t===`application/json`?(a.headers=new Headers({"Content-Type":t}),a.body=JSON.stringify(r.json)):t===`text/plain`?a.body=r.text:t===`application/x-www-form-urlencoded`&&r.formData?a.body=Mt(r.formData):a.body=r.formData}return new Request(i,a)}function jt(e,t){let n=new URL(e.url),r=typeof t==`string`?v(t):t;if(n.pathname=r.pathname||`/`,r.search){let e=new URLSearchParams(r.search),t=e.getAll(`index`);e.delete(`index`);for(let n of t.filter(Boolean))e.append(`index`,n);n.search=e.size?`?${e.toString()}`:``}else n.search=``;return n.hash=r.hash||``,n}function Mt(e){let t=new URLSearchParams;for(let[n,r]of e.entries())t.append(n,typeof r==`string`?r:r.name);return t}function Nt(e){let t=new FormData;for(let[n,r]of e.entries())t.append(n,r);return t}function Pt(e,t,n,r=!1,i=!1){let a={},o=null,s,c=!1,l={},u=n&&Y(n[1])?n[1].error:void 0;return e.forEach(n=>{if(!(n.route.id in t))return;let d=n.route.id,p=t[d];if(f(!qt(p),`Cannot handle redirect results in processLoaderData`),Y(p)){let t=p.error;if(u!==void 0&&(t=u,u=void 0),o||={},i)o[d]=t;else{let n=Rt(e,d);o[n.route.id]??(o[n.route.id]=t)}r||(a[d]=qe),c||(c=!0,s=Te(p.error)?p.error.status:500),p.headers&&(l[d]=p.headers)}else a[d]=p.data,p.statusCode&&p.statusCode!==200&&!c&&(s=p.statusCode),p.headers&&(l[d]=p.headers)}),u!==void 0&&n&&(o={[n[0]]:u},n[2]&&(a[n[2]]=void 0)),{loaderData:a,errors:o,statusCode:s||200,loaderHeaders:l}}function Ft(e,t,n,r,i,a){let{loaderData:o,errors:s}=Pt(t,n,r);return i.filter(e=>!e.matches||e.matches.some(e=>e.shouldLoad)).forEach(t=>{let{key:n,match:r,controller:i}=t;if(i&&i.signal.aborted)return;let o=a[n];if(f(o,`Did not find corresponding fetcher result`),Y(o)){let t=Rt(e.matches,r?.route.id);s&&s[t.route.id]||(s={...s,[t.route.id]:o.error}),e.fetchers.delete(n)}else if(qt(o))f(!1,`Unhandled fetcher revalidation redirect`);else{let t=sn(o.data);e.fetchers.set(n,t)}}),{loaderData:o,errors:s}}function It(e,t,n,r){let i=Object.entries(t).filter(([,e])=>e!==qe).reduce((e,[t,n])=>(e[t]=n,e),{});for(let a of n){let n=a.route.id;if(!t.hasOwnProperty(n)&&e.hasOwnProperty(n)&&a.route.loader&&(i[n]=e[n]),r&&r.hasOwnProperty(n))break}return i}function Lt(e){return e?Y(e[1])?{actionData:{}}:{actionData:{[e[0]]:e[1].data}}:{}}function Rt(e,t){return(t?e.slice(0,e.findIndex(e=>e.route.id===t)+1):[...e]).reverse().find(e=>e.route.hasErrorBoundary===!0)||e[0]}function zt(e){let t=e.length===1?e[0]:e.find(e=>e.index||!e.path||e.path===`/`)||{id:`__shim-error-route__`};return{matches:[{params:{},pathname:``,pathnameBase:``,route:t}],route:t}}function J(e,{pathname:t,routeId:n,method:r,type:i,message:a}={}){let o=`Unknown Server Error`,s=`Unknown @remix-run/router error`;return e===400?(o=`Bad Request`,r&&t&&n?s=`You made a ${r} request to "${t}" but did not provide a \`loader\` for route "${n}", so there is no way to handle the request.`:i===`invalid-body`&&(s=`Unable to encode submission body`)):e===403?(o=`Forbidden`,s=`Route "${n}" does not match URL "${t}"`):e===404?(o=`Not Found`,s=`No route matches URL "${t}"`):e===405&&(o=`Method Not Allowed`,r&&t&&n?s=`You made a ${r.toUpperCase()} request to "${t}" but did not provide an \`action\` for route "${n}", so there is no way to handle the request.`:r&&(s=`Invalid request method "${r.toUpperCase()}"`)),new we(e||500,o,Error(s),!0)}function Bt(e){let t=Object.entries(e);for(let e=t.length-1;e>=0;e--){let[n,r]=t[e];if(qt(r))return{key:n,result:r}}}function Vt(e){return _({...typeof e==`string`?v(e):e,hash:``})}function Ht(e,t){return e.pathname!==t.pathname||e.search!==t.search?!1:e.hash===``?t.hash!==``:e.hash===t.hash?!0:t.hash!==``}function Ut(e){return new we(e.init?.status??500,e.init?.statusText??`Internal Server Error`,e.data)}function Wt(e){return typeof e==`object`&&!!e&&Object.entries(e).every(([e,t])=>typeof e==`string`&&Gt(t))}function Gt(e){return typeof e==`object`&&!!e&&`type`in e&&`result`in e&&(e.type===`data`||e.type===`error`)}function Kt(e){return Yt(e.result)&&Be.has(e.result.status)}function Y(e){return e.type===`error`}function qt(e){return(e&&e.type)===`redirect`}function Jt(e){return typeof e==`object`&&!!e&&`type`in e&&`data`in e&&`init`in e&&e.type===`DataWithResponseInit`}function Yt(e){return e!=null&&typeof e.status==`number`&&typeof e.statusText==`string`&&typeof e.headers==`object`&&e.body!==void 0}function Xt(e){return Be.has(e)}function Zt(e){return Yt(e)&&Xt(e.status)&&e.headers.has(`Location`)}function Qt(e){return ze.has(e.toUpperCase())}function X(e){return Le.has(e.toUpperCase())}function $t(e){return new URLSearchParams(e).getAll(`index`).some(e=>e===``)}function en(e,t){let n=typeof t==`string`?v(t).search:t.search;if(e[e.length-1].route.index&&$t(n||``))return e[e.length-1];let r=ve(e);return r[r.length-1]}function tn(e){let{formMethod:t,formAction:n,formEncType:r,text:i,formData:a,json:o}=e;if(!(!t||!n||!r)){if(i!=null)return{formMethod:t,formAction:n,formEncType:r,formData:void 0,json:void 0,text:i};if(a!=null)return{formMethod:t,formAction:n,formEncType:r,formData:a,json:void 0,text:void 0};if(o!==void 0)return{formMethod:t,formAction:n,formEncType:r,formData:void 0,json:o,text:void 0}}}function nn(e,t){return t?{state:`loading`,location:e,formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text}:{state:`loading`,location:e,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0}}function rn(e,t){return{state:`submitting`,location:e,formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text}}function an(e,t){return e?{state:`loading`,formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t}:{state:`loading`,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:t}}function on(e,t){return{state:`submitting`,formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t?t.data:void 0}}function sn(e){return{state:`idle`,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:e}}function cn(e,t){try{let n=e.sessionStorage.getItem(Ke);if(n){let e=JSON.parse(n);for(let[n,r]of Object.entries(e||{}))r&&Array.isArray(r)&&t.set(n,new Set(r||[]))}}catch{}}function ln(e,t){if(t.size>0){let n={};for(let[e,r]of t)n[e]=[...r];try{e.sessionStorage.setItem(Ke,JSON.stringify(n))}catch(e){p(!1,`Failed to save applied view transitions in sessionStorage (${e}).`)}}}function un(){let e,t,n=new Promise((r,i)=>{e=async e=>{r(e);try{await n}catch{}},t=async e=>{i(e);try{await n}catch{}}});return{promise:n,resolve:e,reject:t}}var dn=r.createContext(null);dn.displayName=`DataRouter`;var fn=r.createContext(null);fn.displayName=`DataRouterState`;var pn=r.createContext(!1);function mn(){return r.useContext(pn)}var hn=r.createContext({isTransitioning:!1});hn.displayName=`ViewTransition`;var gn=r.createContext(new Map);gn.displayName=`Fetchers`;var _n=r.createContext(null);_n.displayName=`Await`;var Z=r.createContext(null);Z.displayName=`Navigation`;var vn=r.createContext(null);vn.displayName=`Location`;var Q=r.createContext({outlet:null,matches:[],isDataRoute:!1});Q.displayName=`Route`;var yn=r.createContext(null);yn.displayName=`RouteError`;var bn=`REACT_ROUTER_ERROR`,xn=`REDIRECT`,Sn=`ROUTE_ERROR_RESPONSE`;function Cn(e){if(e.startsWith(`${bn}:${xn}:{`))try{let t=JSON.parse(e.slice(28));if(typeof t==`object`&&t&&typeof t.status==`number`&&typeof t.statusText==`string`&&typeof t.location==`string`&&typeof t.reloadDocument==`boolean`&&typeof t.replace==`boolean`)return t}catch{}}function wn(e){if(e.startsWith(`${bn}:${Sn}:{`))try{let t=JSON.parse(e.slice(40));if(typeof t==`object`&&t&&typeof t.status==`number`&&typeof t.statusText==`string`)return new we(t.status,t.statusText,t.data)}catch{}}function Tn(e,{relative:t}={}){f(En(),`useHref() may be used only in the context of a <Router> component.`);let{basename:n,navigator:i}=r.useContext(Z),{hash:a,pathname:o,search:s}=Fn(e,{relative:t}),c=o;return n!==`/`&&(c=o===`/`?n:H([n,o])),i.createHref({pathname:c,search:s,hash:a})}function En(){return r.useContext(vn)!=null}function $(){return f(En(),`useLocation() may be used only in the context of a <Router> component.`),r.useContext(vn).location}function Dn(){return r.useContext(vn).navigationType}var On=`You should call navigate() in a React.useEffect(), not when your component is first rendered.`;function kn(e){r.useContext(Z).static||r.useLayoutEffect(e)}function An(){let{isDataRoute:e}=r.useContext(Q);return e?$n():jn()}function jn(){f(En(),`useNavigate() may be used only in the context of a <Router> component.`);let e=r.useContext(dn),{basename:t,navigator:n}=r.useContext(Z),{matches:i}=r.useContext(Q),{pathname:a}=$(),o=JSON.stringify(B(i)),s=r.useRef(!1);return kn(()=>{s.current=!0}),r.useCallback((r,i={})=>{if(p(s.current,On),!s.current)return;if(typeof r==`number`){n.go(r);return}let c=V(r,JSON.parse(o),a,i.relative===`path`);e==null&&t!==`/`&&(c.pathname=c.pathname===`/`?t:H([t,c.pathname])),(i.replace?n.replace:n.push)(c,i.state,i)},[t,n,o,a,e])}var Mn=r.createContext(null);function Nn(e){let t=r.useContext(Q).outlet;return r.useMemo(()=>t&&r.createElement(Mn.Provider,{value:e},t),[t,e])}function Pn(){let{matches:e}=r.useContext(Q);return e[e.length-1]?.params??{}}function Fn(e,{relative:t}={}){let{matches:n}=r.useContext(Q),{pathname:i}=$(),a=JSON.stringify(B(n));return r.useMemo(()=>V(e,JSON.parse(a),i,t===`path`),[e,a,i,t])}function In(e,t,n){f(En(),`useRoutes() may be used only in the context of a <Router> component.`);let{navigator:i}=r.useContext(Z),{matches:a}=r.useContext(Q),o=a[a.length-1],s=o?o.params:{},c=o?o.pathname:`/`,l=o?o.pathnameBase:`/`,u=o&&o.route;{let e=u&&u.path||``;tr(c,!u||e.endsWith(`*`)||e.endsWith(`*?`),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${c}" (under <Route path="${e}">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.
|
|
3
|
+
|
|
4
|
+
Please change the parent <Route path="${e}"> to <Route path="${e===`/`?`*`:`${e}/*`}">.`)}let d=$(),m;if(t){let e=typeof t==`string`?v(t):t;f(l===`/`||e.pathname?.startsWith(l),`When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${l}" but pathname "${e.pathname}" was given in the \`location\` prop.`),m=e}else m=d;let h=m.pathname||`/`,g=h;if(l!==`/`){let e=l.replace(/^\//,``).split(`/`);g=`/`+h.replace(/^\//,``).split(`/`).slice(e.length).join(`/`)}let _=n&&n.state.matches.length?n.state.matches.map(e=>Object.assign(e,{route:n.manifest[e.route.id]||e.route})):j(e,{pathname:g});p(u||_!=null,`No routes matched location "${m.pathname}${m.search}${m.hash}" `),p(_==null||_[_.length-1].route.element!==void 0||_[_.length-1].route.Component!==void 0||_[_.length-1].route.lazy!==void 0,`Matched leaf route at location "${m.pathname}${m.search}${m.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`);let y=Un(_&&_.map(e=>Object.assign({},e,{params:Object.assign({},s,e.params),pathname:H([l,i.encodeLocation?i.encodeLocation(e.pathname.replace(/%/g,`%25`).replace(/\?/g,`%3F`).replace(/#/g,`%23`)).pathname:e.pathname]),pathnameBase:e.pathnameBase===`/`?l:H([l,i.encodeLocation?i.encodeLocation(e.pathnameBase.replace(/%/g,`%25`).replace(/\?/g,`%3F`).replace(/#/g,`%23`)).pathname:e.pathnameBase])})),a,n);return t&&y?r.createElement(vn.Provider,{value:{location:{pathname:`/`,search:``,hash:``,state:null,key:`default`,mask:void 0,...m},navigationType:`POP`}},y):y}function Ln(){let e=Qn(),t=Te(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,i=`rgba(200,200,200, 0.5)`,a={padding:`0.5rem`,backgroundColor:i},o={padding:`2px 4px`,backgroundColor:i},s=null;return console.error(`Error handled by React Router default ErrorBoundary:`,e),s=r.createElement(r.Fragment,null,r.createElement(`p`,null,`💿 Hey developer 👋`),r.createElement(`p`,null,`You can provide a way better UX than this when your app throws errors by providing your own `,r.createElement(`code`,{style:o},`ErrorBoundary`),` or`,` `,r.createElement(`code`,{style:o},`errorElement`),` prop on your route.`)),r.createElement(r.Fragment,null,r.createElement(`h2`,null,`Unexpected Application Error!`),r.createElement(`h3`,{style:{fontStyle:`italic`}},t),n?r.createElement(`pre`,{style:a},n):null,s)}var Rn=r.createElement(Ln,null),zn=class extends r.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||t.revalidation!==`idle`&&e.revalidation===`idle`?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error===void 0?t.error:e.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){this.props.onError?this.props.onError(e,t):console.error(`React Router caught the following error during render`,e)}render(){let e=this.state.error;if(this.context&&typeof e==`object`&&e&&`digest`in e&&typeof e.digest==`string`){let t=wn(e.digest);t&&(e=t)}let t=e===void 0?this.props.children:r.createElement(Q.Provider,{value:this.props.routeContext},r.createElement(yn.Provider,{value:e,children:this.props.component}));return this.context?r.createElement(Vn,{error:e},t):t}};zn.contextType=pn;var Bn=new WeakMap;function Vn({children:e,error:t}){let{basename:n}=r.useContext(Z);if(typeof t==`object`&&t&&`digest`in t&&typeof t.digest==`string`){let e=Cn(t.digest);if(e){let i=Bn.get(t);if(i)throw i;let a=Oe(e.location,n);if(De&&!Bn.get(t))if(a.isExternal||e.reloadDocument)window.location.href=a.absoluteURL||a.to;else{let n=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(a.to,{replace:e.replace}));throw Bn.set(t,n),n}return r.createElement(`meta`,{httpEquiv:`refresh`,content:`0;url=${a.absoluteURL||a.to}`})}}return e}function Hn({routeContext:e,match:t,children:n}){let i=r.useContext(dn);return i&&i.static&&i.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(i.staticContext._deepestRenderedBoundaryId=t.route.id),r.createElement(Q.Provider,{value:e},n)}function Un(e,t=[],n){let i=n?.state;if(e==null){if(!i)return null;if(i.errors)e=i.matches;else if(t.length===0&&!i.initialized&&i.matches.length>0)e=i.matches;else return null}let a=e,o=i?.errors;if(o!=null){let e=a.findIndex(e=>e.route.id&&o?.[e.route.id]!==void 0);f(e>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(o).join(`,`)}`),a=a.slice(0,Math.min(a.length,e+1))}let s=!1,c=-1;if(n&&i){s=i.renderFallback;for(let e=0;e<a.length;e++){let t=a[e];if((t.route.HydrateFallback||t.route.hydrateFallbackElement)&&(c=e),t.route.id){let{loaderData:e,errors:r}=i,o=t.route.loader&&!e.hasOwnProperty(t.route.id)&&(!r||r[t.route.id]===void 0);if(t.route.lazy||o){n.isStatic&&(s=!0),a=c>=0?a.slice(0,c+1):[a[0]];break}}}}let l=n?.onError,u=i&&l?(e,t)=>{l(e,{location:i.location,params:i.matches?.[0]?.params??{},pattern:Ee(i.matches),errorInfo:t})}:void 0;return a.reduceRight((e,n,l)=>{let d,f=!1,p=null,m=null;i&&(d=o&&n.route.id?o[n.route.id]:void 0,p=n.route.errorElement||Rn,s&&(c<0&&l===0?(tr(`route-fallback`,!1,"No `HydrateFallback` element provided to render during initial hydration"),f=!0,m=null):c===l&&(f=!0,m=n.route.hydrateFallbackElement||null)));let h=t.concat(a.slice(0,l+1)),g=()=>{let t;return t=d?p:f?m:n.route.Component?r.createElement(n.route.Component,null):n.route.element?n.route.element:e,r.createElement(Hn,{match:n,routeContext:{outlet:e,matches:h,isDataRoute:i!=null},children:t})};return i&&(n.route.ErrorBoundary||n.route.errorElement||l===0)?r.createElement(zn,{location:i.location,revalidation:i.revalidation,component:p,error:d,children:g(),routeContext:{outlet:null,matches:h,isDataRoute:!0},onError:u}):g()},null)}function Wn(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Gn(e){let t=r.useContext(dn);return f(t,Wn(e)),t}function Kn(e){let t=r.useContext(fn);return f(t,Wn(e)),t}function qn(e){let t=r.useContext(Q);return f(t,Wn(e)),t}function Jn(e){let t=qn(e),n=t.matches[t.matches.length-1];return f(n.route.id,`${e} can only be used on routes that contain a unique "id"`),n.route.id}function Yn(){return Jn(`useRouteId`)}function Xn(){return Kn(`useNavigation`).navigation}function Zn(){let{matches:e,loaderData:t}=Kn(`useMatches`);return r.useMemo(()=>e.map(e=>ee(e,t)),[e,t])}function Qn(){let e=r.useContext(yn),t=Kn(`useRouteError`),n=Jn(`useRouteError`);return e===void 0?t.errors?.[n]:e}function $n(){let{router:e}=Gn(`useNavigate`),t=Jn(`useNavigate`),n=r.useRef(!1);return kn(()=>{n.current=!0}),r.useCallback(async(r,i={})=>{p(n.current,On),n.current&&(typeof r==`number`?await e.navigate(r):await e.navigate(r,{fromRouteId:t,...i}))},[e,t])}var er={};function tr(e,t,n){!t&&!er[e]&&(er[e]=!0,p(!1,n))}var nr={};function rr(e,t){!e&&!nr[t]&&(nr[t]=!0,console.warn(t))}var ir=r.useOptimistic,ar=()=>void 0;function or(e){return ir?ir(e):[e,ar]}function sr(e){let t={hasErrorBoundary:e.hasErrorBoundary||e.ErrorBoundary!=null||e.errorElement!=null};return e.Component&&(e.element&&p(!1,"You should not include both `Component` and `element` on your route - `Component` will be used."),Object.assign(t,{element:r.createElement(e.Component),Component:void 0})),e.HydrateFallback&&(e.hydrateFallbackElement&&p(!1,"You should not include both `HydrateFallback` and `hydrateFallbackElement` on your route - `HydrateFallback` will be used."),Object.assign(t,{hydrateFallbackElement:r.createElement(e.HydrateFallback),HydrateFallback:void 0})),e.ErrorBoundary&&(e.errorElement&&p(!1,"You should not include both `ErrorBoundary` and `errorElement` on your route - `ErrorBoundary` will be used."),Object.assign(t,{errorElement:r.createElement(e.ErrorBoundary),ErrorBoundary:void 0})),t}var cr=[`HydrateFallback`,`hydrateFallbackElement`],lr=class{constructor(){this.status=`pending`,this.promise=new Promise((e,t)=>{this.resolve=t=>{this.status===`pending`&&(this.status=`resolved`,e(t))},this.reject=e=>{this.status===`pending`&&(this.status=`rejected`,t(e))}})}};function ur({router:e,flushSync:t,onError:n,useTransitions:i}){i=mn()||i;let[a,o]=r.useState(e.state),[s,c]=or(a),[l,u]=r.useState(),[d,f]=r.useState({isTransitioning:!1}),[p,m]=r.useState(),[h,g]=r.useState(),[_,v]=r.useState(),y=r.useRef(new Map),b=r.useCallback((a,{deletedFetchers:s,newErrors:l,flushSync:d,viewTransitionOpts:_})=>{l&&n&&Object.values(l).forEach(e=>n(e,{location:a.location,params:a.matches[0]?.params??{},pattern:Ee(a.matches)})),a.fetchers.forEach((e,t)=>{e.data!==void 0&&y.current.set(t,e.data)}),s.forEach(e=>y.current.delete(e)),rr(d===!1||t!=null,'You provided the `flushSync` option to a router update, but you are not using the `<RouterProvider>` from `react-router/dom` so `ReactDOM.flushSync()` is unavailable. Please update your app to `import { RouterProvider } from "react-router/dom"` and ensure you have `react-dom` installed as a dependency to use the `flushSync` option.');let b=e.window!=null&&e.window.document!=null&&typeof e.window.document.startViewTransition==`function`;if(rr(_==null||b,"You provided the `viewTransition` option to a router update, but you do not appear to be running in a DOM environment as `window.startViewTransition` is not available."),!_||!b){t&&d?t(()=>o(a)):i===!1?o(a):r.startTransition(()=>{i===!0&&c(e=>dr(e,a)),o(a)});return}if(t&&d){t(()=>{h&&(p?.resolve(),h.skipTransition()),f({isTransitioning:!0,flushSync:!0,currentLocation:_.currentLocation,nextLocation:_.nextLocation})});let n=e.window.document.startViewTransition(()=>{t(()=>o(a))});n.finished.finally(()=>{t(()=>{m(void 0),g(void 0),u(void 0),f({isTransitioning:!1})})}),t(()=>g(n));return}h?(p?.resolve(),h.skipTransition(),v({state:a,currentLocation:_.currentLocation,nextLocation:_.nextLocation})):(u(a),f({isTransitioning:!0,flushSync:!1,currentLocation:_.currentLocation,nextLocation:_.nextLocation}))},[e.window,t,h,p,i,c,n]);r.useLayoutEffect(()=>e.subscribe(b),[e,b]);let x=s.initialized;r.useLayoutEffect(()=>{!x&&e.state.initialized&&b(e.state,{deletedFetchers:[],flushSync:!1,newErrors:null})},[x,b,e.state]),r.useEffect(()=>{d.isTransitioning&&!d.flushSync&&m(new lr)},[d]),r.useEffect(()=>{if(p&&l&&e.window){let t=l,n=p.promise,a=e.window.document.startViewTransition(async()=>{i===!1?o(t):r.startTransition(()=>{i===!0&&c(e=>dr(e,t)),o(t)}),await n});a.finished.finally(()=>{m(void 0),g(void 0),u(void 0),f({isTransitioning:!1})}),g(a)}},[l,p,e.window,i,c]),r.useEffect(()=>{p&&l&&s.location.key===l.location.key&&p.resolve()},[p,h,s.location,l]),r.useEffect(()=>{!d.isTransitioning&&_&&(u(_.state),f({isTransitioning:!0,flushSync:!1,currentLocation:_.currentLocation,nextLocation:_.nextLocation}),v(void 0))},[d.isTransitioning,_]);let S=r.useMemo(()=>({createHref:e.createHref,encodeLocation:e.encodeLocation,go:t=>e.navigate(t),push:(t,n,r)=>e.navigate(t,{state:n,preventScrollReset:r?.preventScrollReset}),replace:(t,n,r)=>e.navigate(t,{replace:!0,state:n,preventScrollReset:r?.preventScrollReset})}),[e]),C=e.basename||`/`,w=r.useMemo(()=>({router:e,navigator:S,static:!1,basename:C,onError:n}),[e,S,C,n]);return r.createElement(r.Fragment,null,r.createElement(dn.Provider,{value:w},r.createElement(fn.Provider,{value:s},r.createElement(gn.Provider,{value:y.current},r.createElement(hn.Provider,{value:d},r.createElement(gr,{basename:C,location:s.location,navigationType:s.historyAction,navigator:S,useTransitions:i},r.createElement(fr,{routes:e.routes,manifest:e.manifest,future:e.future,state:s,isStatic:!1,onError:n})))))),null)}function dr(e,t){return{...e,navigation:t.navigation.state===`idle`?e.navigation:t.navigation,revalidation:t.revalidation===`idle`?e.revalidation:t.revalidation,actionData:t.navigation.state===`submitting`?e.actionData:t.actionData,fetchers:t.fetchers}}var fr=r.memo(pr);function pr({routes:e,manifest:t,future:n,state:r,isStatic:i,onError:a}){return In(e,void 0,{manifest:t,state:r,isStatic:i,onError:a,future:n})}function mr({to:e,replace:t,state:n,relative:i}){f(En(),`<Navigate> may be used only in the context of a <Router> component.`);let{static:a}=r.useContext(Z);p(!a,`<Navigate> must not be used on the initial render in a <StaticRouter>. This is a no-op, but you should modify your code so the <Navigate> is only ever rendered in response to some user interaction or state change.`);let{matches:o}=r.useContext(Q),{pathname:s}=$(),c=An(),l=V(e,B(o),s,i===`path`),u=JSON.stringify(l);return r.useEffect(()=>{c(JSON.parse(u),{replace:t,state:n,relative:i})},[c,u,i,t,n]),null}function hr(e){return Nn(e.context)}function gr({basename:e=`/`,children:t=null,location:n,navigationType:i=`POP`,navigator:a,static:o=!1,useTransitions:s}){f(!En(),`You cannot render a <Router> inside another <Router>. You should never have more than one in your app.`);let c=e.replace(/^\/*/,`/`),l=r.useMemo(()=>({basename:c,navigator:a,static:o,useTransitions:s,future:{}}),[c,a,o,s]);typeof n==`string`&&(n=v(n));let{pathname:u=`/`,search:d=``,hash:m=``,state:h=null,key:g=`default`,mask:_}=n,y=r.useMemo(()=>{let e=z(u,c);return e==null?null:{location:{pathname:e,search:d,hash:m,state:h,key:g,mask:_},navigationType:i}},[c,u,d,m,h,g,i,_]);return p(y!=null,`<Router basename="${c}"> is not able to match the URL "${u}${d}${m}" because it does not start with the basename, so the <Router> won't render anything.`),y==null?null:r.createElement(Z.Provider,{value:l},r.createElement(vn.Provider,{children:t,value:y}))}r.Component;var _r=`get`,vr=`application/x-www-form-urlencoded`;function yr(e){return typeof HTMLElement<`u`&&e instanceof HTMLElement}function br(e){return yr(e)&&e.tagName.toLowerCase()===`button`}function xr(e){return yr(e)&&e.tagName.toLowerCase()===`form`}function Sr(e){return yr(e)&&e.tagName.toLowerCase()===`input`}function Cr(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function wr(e,t){return e.button===0&&(!t||t===`_self`)&&!Cr(e)}function Tr(e=``){return new URLSearchParams(typeof e==`string`||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce((t,n)=>{let r=e[n];return t.concat(Array.isArray(r)?r.map(e=>[n,e]):[[n,r]])},[]))}function Er(e,t){let n=Tr(e);return t&&t.forEach((e,r)=>{n.has(r)||t.getAll(r).forEach(e=>{n.append(r,e)})}),n}var Dr=null;function Or(){if(Dr===null)try{new FormData(document.createElement(`form`),0),Dr=!1}catch{Dr=!0}return Dr}var kr=new Set([`application/x-www-form-urlencoded`,`multipart/form-data`,`text/plain`]);function Ar(e){return e!=null&&!kr.has(e)?(p(!1,`"${e}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${vr}"`),null):e}function jr(e,t){let n,r,i,a,o;if(xr(e)){let o=e.getAttribute(`action`);r=o?z(o,t):null,n=e.getAttribute(`method`)||_r,i=Ar(e.getAttribute(`enctype`))||vr,a=new FormData(e)}else if(br(e)||Sr(e)&&(e.type===`submit`||e.type===`image`)){let o=e.form;if(o==null)throw Error(`Cannot submit a <button> or <input type="submit"> without a <form>`);let s=e.getAttribute(`formaction`)||o.getAttribute(`action`);if(r=s?z(s,t):null,n=e.getAttribute(`formmethod`)||o.getAttribute(`method`)||_r,i=Ar(e.getAttribute(`formenctype`))||Ar(o.getAttribute(`enctype`))||vr,a=new FormData(o,e),!Or()){let{name:t,type:n,value:r}=e;if(n===`image`){let e=t?`${t}.`:``;a.append(`${e}x`,`0`),a.append(`${e}y`,`0`)}else t&&a.append(t,r)}}else if(yr(e))throw Error(`Cannot submit element that is not <form>, <button>, or <input type="submit|image">`);else n=_r,r=null,i=vr,o=e;return a&&i===`text/plain`&&(o=a,a=void 0),{action:r,method:n.toLowerCase(),encType:i,formData:a,body:o}}Object.getOwnPropertyNames(Object.prototype).sort().join(`\0`);var Mr={"&":`\\u0026`,">":`\\u003e`,"<":`\\u003c`,"\u2028":`\\u2028`,"\u2029":`\\u2029`},Nr=/[&><\u2028\u2029]/g;function Pr(e){return e.replace(Nr,e=>Mr[e])}function Fr(e,t){if(e===!1||e==null)throw Error(t)}function Ir(e,t,n,r){let i=typeof e==`string`?new URL(e,typeof window>`u`?`server://singlefetch/`:window.location.origin):e;return n?i.pathname.endsWith(`/`)?i.pathname=`${i.pathname}_.${r}`:i.pathname=`${i.pathname}.${r}`:i.pathname===`/`?i.pathname=`_root.${r}`:t&&z(i.pathname,t)===`/`?i.pathname=`${U(t)}/_root.${r}`:i.pathname=`${U(i.pathname)}.${r}`,i}async function Lr(e,t){if(e.id in t)return t[e.id];try{let r=await n(()=>import(e.module),[]);return t[e.id]=r,r}catch(t){return console.error(`Error loading route module \`${e.module}\`, reloading page...`),console.error(t),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function Rr(e){return e!=null&&typeof e.page==`string`}function zr(e){return e==null?!1:e.href==null?e.rel===`preload`&&typeof e.imageSrcSet==`string`&&typeof e.imageSizes==`string`:typeof e.rel==`string`&&typeof e.href==`string`}async function Br(e,t,n){return Gr((await Promise.all(e.map(async e=>{let r=t.routes[e.route.id];if(r){let e=await Lr(r,n);return e.links?e.links():[]}return[]}))).flat(1).filter(zr).filter(e=>e.rel===`stylesheet`||e.rel===`preload`).map(e=>e.rel===`stylesheet`?{...e,rel:`prefetch`,as:`style`}:{...e,rel:`prefetch`}))}function Vr(e,t,n,r,i,a){let o=(e,t)=>n[t]?e.route.id!==n[t].route.id:!0,s=(e,t)=>n[t].pathname!==e.pathname||n[t].route.path?.endsWith(`*`)&&n[t].params[`*`]!==e.params[`*`];return a===`assets`?t.filter((e,t)=>o(e,t)||s(e,t)):a===`data`?t.filter((t,a)=>{let c=r.routes[t.route.id];if(!c||!c.hasLoader)return!1;if(o(t,a)||s(t,a))return!0;if(t.route.shouldRevalidate){let r=t.route.shouldRevalidate({currentUrl:new URL(i.pathname+i.search+i.hash,window.origin),currentParams:n[0]?.params||{},nextUrl:new URL(e,window.origin),nextParams:t.params,defaultShouldRevalidate:!0});if(typeof r==`boolean`)return r}return!0}):[]}function Hr(e,t,{includeHydrateFallback:n}={}){return Ur(e.map(e=>{let r=t.routes[e.route.id];if(!r)return[];let i=[r.module];return r.clientActionModule&&(i=i.concat(r.clientActionModule)),r.clientLoaderModule&&(i=i.concat(r.clientLoaderModule)),n&&r.hydrateFallbackModule&&(i=i.concat(r.hydrateFallbackModule)),r.imports&&(i=i.concat(r.imports)),i}).flat(1))}function Ur(e){return[...new Set(e)]}function Wr(e){let t={},n=Object.keys(e).sort();for(let r of n)t[r]=e[r];return t}function Gr(e,t){let n=new Set,r=new Set(t);return e.reduce((e,i)=>{if(t&&!Rr(i)&&i.as===`script`&&i.href&&r.has(i.href))return e;let a=JSON.stringify(Wr(i));return n.has(a)||(n.add(a),e.push({key:a,link:i})),e},[])}function Kr(){let e=r.useContext(dn);return Fr(e,`You must render this element inside a <DataRouterContext.Provider> element`),e}function qr(){let e=r.useContext(fn);return Fr(e,`You must render this element inside a <DataRouterStateContext.Provider> element`),e}var Jr=r.createContext(void 0);Jr.displayName=`FrameworkContext`;function Yr(){let e=r.useContext(Jr);return Fr(e,`You must render this element inside a <HydratedRouter> element`),e}function Xr(e,t){let n=r.useContext(Jr),[i,a]=r.useState(!1),[o,s]=r.useState(!1),{onFocus:c,onBlur:l,onMouseEnter:u,onMouseLeave:d,onTouchStart:f}=t,p=r.useRef(null);r.useEffect(()=>{if(e===`render`&&s(!0),e===`viewport`){let e=new IntersectionObserver(e=>{e.forEach(e=>{s(e.isIntersecting)})},{threshold:.5});return p.current&&e.observe(p.current),()=>{e.disconnect()}}},[e]),r.useEffect(()=>{if(i){let e=setTimeout(()=>{s(!0)},100);return()=>{clearTimeout(e)}}},[i]);let m=()=>{a(!0)},h=()=>{a(!1),s(!1)};return n?e===`intent`?[o,p,{onFocus:Zr(c,m),onBlur:Zr(l,h),onMouseEnter:Zr(u,m),onMouseLeave:Zr(d,h),onTouchStart:Zr(f,m)}]:[o,p,{}]:[!1,p,{}]}function Zr(e,t){return n=>{e&&e(n),n.defaultPrevented||t(n)}}function Qr({page:e,...t}){let n=mn(),{router:i}=Kr(),a=r.useMemo(()=>j(i.routes,e,i.basename),[i.routes,e,i.basename]);return a?n?r.createElement(ei,{page:e,matches:a,...t}):r.createElement(ti,{page:e,matches:a,...t}):null}function $r(e){let{manifest:t,routeModules:n}=Yr(),[i,a]=r.useState([]);return r.useEffect(()=>{let r=!1;return Br(e,t,n).then(e=>{r||a(e)}),()=>{r=!0}},[e,t,n]),i}function ei({page:e,matches:t,...n}){let i=$(),{future:a}=Yr(),{basename:o}=Kr(),s=r.useMemo(()=>{if(e===i.pathname+i.search+i.hash)return[];let n=Ir(e,o,a.unstable_trailingSlashAwareDataRequests,`rsc`),r=!1,s=[];for(let e of t)typeof e.route.shouldRevalidate==`function`?r=!0:s.push(e.route.id);return r&&s.length>0&&n.searchParams.set(`_routes`,s.join(`,`)),[n.pathname+n.search]},[o,a.unstable_trailingSlashAwareDataRequests,e,i,t]);return r.createElement(r.Fragment,null,s.map(e=>r.createElement(`link`,{key:e,rel:`prefetch`,as:`fetch`,href:e,...n})))}function ti({page:e,matches:t,...n}){let i=$(),{future:a,manifest:o,routeModules:s}=Yr(),{basename:c}=Kr(),{loaderData:l,matches:u}=qr(),d=r.useMemo(()=>Vr(e,t,u,o,i,`data`),[e,t,u,o,i]),f=r.useMemo(()=>Vr(e,t,u,o,i,`assets`),[e,t,u,o,i]),p=r.useMemo(()=>{if(e===i.pathname+i.search+i.hash)return[];let n=new Set,r=!1;if(t.forEach(e=>{let t=o.routes[e.route.id];!t||!t.hasLoader||(!d.some(t=>t.route.id===e.route.id)&&e.route.id in l&&s[e.route.id]?.shouldRevalidate||t.hasClientLoader?r=!0:n.add(e.route.id))}),n.size===0)return[];let u=Ir(e,c,a.unstable_trailingSlashAwareDataRequests,`data`);return r&&n.size>0&&u.searchParams.set(`_routes`,t.filter(e=>n.has(e.route.id)).map(e=>e.route.id).join(`,`)),[u.pathname+u.search]},[c,a.unstable_trailingSlashAwareDataRequests,l,i,o,d,t,e,s]),m=r.useMemo(()=>Hr(f,o),[f,o]),h=$r(f);return r.createElement(r.Fragment,null,p.map(e=>r.createElement(`link`,{key:e,rel:`prefetch`,as:`fetch`,href:e,...n})),m.map(e=>r.createElement(`link`,{key:e,rel:`modulepreload`,href:e,...n})),h.map(({key:e,link:t})=>r.createElement(`link`,{key:e,nonce:n.nonce,...t,crossOrigin:t.crossOrigin??n.crossOrigin})))}function ni(...e){return t=>{e.forEach(e=>{typeof e==`function`?e(t):e!=null&&(e.current=t)})}}r.Component;var ri=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;try{ri&&(window.__reactRouterVersion=`7.15.0`)}catch{}function ii(e,t){return $e({basename:t?.basename,getContext:t?.getContext,future:t?.future,history:d({window:t?.window}),hydrationData:t?.hydrationData||ai(),routes:e,mapRouteProperties:sr,hydrationRouteProperties:cr,dataStrategy:t?.dataStrategy,patchRoutesOnNavigation:t?.patchRoutesOnNavigation,window:t?.window,instrumentations:t?.instrumentations}).initialize()}function ai(){let e=window?.__staticRouterHydrationData;return e&&e.errors&&(e={...e,errors:oi(e.errors)}),e}function oi(e){if(!e)return null;let t=Object.entries(e),n={};for(let[e,r]of t)if(r&&r.__type===`RouteErrorResponse`)n[e]=new we(r.status,r.statusText,r.data,r.internal===!0);else if(r&&r.__type===`Error`){if(r.__subType){let t=window[r.__subType];if(typeof t==`function`)try{let i=new t(r.message);i.stack=``,n[e]=i}catch{}}if(n[e]==null){let t=Error(r.message);t.stack=``,n[e]=t}}else n[e]=r;return n}function si({basename:e,children:t,history:n,useTransitions:i}){let[a,o]=r.useState({action:n.action,location:n.location}),s=r.useCallback(e=>{i===!1?o(e):r.startTransition(()=>o(e))},[i]);return r.useLayoutEffect(()=>n.listen(s),[n,s]),r.createElement(gr,{basename:e,children:t,location:a.location,navigationType:a.action,navigator:n,useTransitions:i})}si.displayName=`unstable_HistoryRouter`;var ci=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,li=r.forwardRef(function({onClick:e,discover:t=`render`,prefetch:n=`none`,relative:i,reloadDocument:a,replace:o,mask:s,state:c,target:l,to:u,preventScrollReset:d,viewTransition:f,defaultShouldRevalidate:p,...m},h){let{basename:g,navigator:_,useTransitions:v}=r.useContext(Z),y=typeof u==`string`&&ci.test(u),b=Oe(u,g);u=b.to;let x=Tn(u,{relative:i}),S=$(),C=null;if(s){let e=V(s,[],S.mask?S.mask.pathname:`/`,!0);g!==`/`&&(e.pathname=e.pathname===`/`?g:H([g,e.pathname])),C=_.createHref(e)}let[w,T,E]=Xr(n,m),D=gi(u,{replace:o,mask:s,state:c,target:l,preventScrollReset:d,relative:i,viewTransition:f,defaultShouldRevalidate:p,useTransitions:v});function O(t){e&&e(t),t.defaultPrevented||D(t)}let k=!(b.isExternal||a),A=r.createElement(`a`,{...m,...E,href:(k?C:void 0)||b.absoluteURL||x,onClick:k?O:e,ref:ni(h,T),target:l,"data-discover":!y&&t===`render`?`true`:void 0});return w&&!y?r.createElement(r.Fragment,null,A,r.createElement(Qr,{page:x})):A});li.displayName=`Link`;var ui=r.forwardRef(function({"aria-current":e=`page`,caseSensitive:t=!1,className:n=``,end:i=!1,style:a,to:o,viewTransition:s,children:c,...l},u){let d=Fn(o,{relative:l.relative}),f=$(),p=r.useContext(fn),{navigator:m,basename:h}=r.useContext(Z),g=p!=null&&Di(d)&&s===!0,_=m.encodeLocation?m.encodeLocation(d).pathname:d.pathname,v=f.pathname,y=p&&p.navigation&&p.navigation.location?p.navigation.location.pathname:null;t||(v=v.toLowerCase(),y=y?y.toLowerCase():null,_=_.toLowerCase()),y&&h&&(y=z(y,h)||y);let b=_!==`/`&&_.endsWith(`/`)?_.length-1:_.length,x=v===_||!i&&v.startsWith(_)&&v.charAt(b)===`/`,S=y!=null&&(y===_||!i&&y.startsWith(_)&&y.charAt(_.length)===`/`),C={isActive:x,isPending:S,isTransitioning:g},w=x?e:void 0,T;T=typeof n==`function`?n(C):[n,x?`active`:null,S?`pending`:null,g?`transitioning`:null].filter(Boolean).join(` `);let E=typeof a==`function`?a(C):a;return r.createElement(li,{...l,"aria-current":w,className:T,ref:u,style:E,to:o,viewTransition:s},typeof c==`function`?c(C):c)});ui.displayName=`NavLink`;var di=r.forwardRef(({discover:e=`render`,fetcherKey:t,navigate:n,reloadDocument:i,replace:a,state:o,method:s=_r,action:c,onSubmit:l,relative:u,preventScrollReset:d,viewTransition:f,defaultShouldRevalidate:p,...m},h)=>{let{useTransitions:g}=r.useContext(Z),_=bi(),v=xi(c,{relative:u}),y=s.toLowerCase()===`get`?`get`:`post`,b=typeof c==`string`&&ci.test(c);return r.createElement(`form`,{ref:h,method:y,action:v,onSubmit:i?l:e=>{if(l&&l(e),e.defaultPrevented)return;e.preventDefault();let i=e.nativeEvent.submitter,c=i?.getAttribute(`formmethod`)||s,m=()=>_(i||e.currentTarget,{fetcherKey:t,method:c,navigate:n,replace:a,state:o,relative:u,preventScrollReset:d,viewTransition:f,defaultShouldRevalidate:p});g&&n!==!1?r.startTransition(()=>m()):m()},...m,"data-discover":!b&&e===`render`?`true`:void 0})});di.displayName=`Form`;function fi({getKey:e,storageKey:t,...n}){let i=r.useContext(Jr),{basename:a}=r.useContext(Z),o=$(),s=Zn();Ti({getKey:e,storageKey:t});let c=r.useMemo(()=>{if(!i||!e)return null;let t=wi(o,s,a,e);return t===o.key?null:t},[]);if(!i||i.isSpaMode)return null;let l=((e,t)=>{if(!window.history.state||!window.history.state.key){let e=Math.random().toString(32).slice(2);window.history.replaceState({key:e},``)}try{let n=JSON.parse(sessionStorage.getItem(e)||`{}`)[t||window.history.state.key];typeof n==`number`&&window.scrollTo(0,n)}catch(t){console.error(t),sessionStorage.removeItem(e)}}).toString();return r.createElement(`script`,{...n,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:`(${l})(${Pr(JSON.stringify(t||Si))}, ${Pr(JSON.stringify(c))})`}})}fi.displayName=`ScrollRestoration`;function pi(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function mi(e){let t=r.useContext(dn);return f(t,pi(e)),t}function hi(e){let t=r.useContext(fn);return f(t,pi(e)),t}function gi(e,{target:t,replace:n,mask:i,state:a,preventScrollReset:o,relative:s,viewTransition:c,defaultShouldRevalidate:l,useTransitions:u}={}){let d=An(),f=$(),p=Fn(e,{relative:s});return r.useCallback(m=>{if(wr(m,t)){m.preventDefault();let t=n===void 0?_(f)===_(p):n,h=()=>d(e,{replace:t,mask:i,state:a,preventScrollReset:o,relative:s,viewTransition:c,defaultShouldRevalidate:l});u?r.startTransition(()=>h()):h()}},[f,d,p,n,i,a,t,e,o,s,c,l,u])}function _i(e){p(typeof URLSearchParams<`u`,"You cannot use the `useSearchParams` hook in a browser that does not support the URLSearchParams API. If you need to support Internet Explorer 11, we recommend you load a polyfill such as https://github.com/ungap/url-search-params.");let t=r.useRef(Tr(e)),n=r.useRef(!1),i=$(),a=r.useMemo(()=>Er(i.search,n.current?null:t.current),[i.search]),o=An();return[a,r.useCallback((e,t)=>{let r=Tr(typeof e==`function`?e(new URLSearchParams(a)):e);n.current=!0,o(`?`+r,t)},[o,a])]}var vi=0,yi=()=>`__${String(++vi)}__`;function bi(){let{router:e}=mi(`useSubmit`),{basename:t}=r.useContext(Z),n=Yn(),i=e.fetch,a=e.navigate;return r.useCallback(async(e,r={})=>{let{action:o,method:s,encType:c,formData:l,body:u}=jr(e,t);r.navigate===!1?await i(r.fetcherKey||yi(),n,r.action||o,{defaultShouldRevalidate:r.defaultShouldRevalidate,preventScrollReset:r.preventScrollReset,formData:l,body:u,formMethod:r.method||s,formEncType:r.encType||c,flushSync:r.flushSync}):await a(r.action||o,{defaultShouldRevalidate:r.defaultShouldRevalidate,preventScrollReset:r.preventScrollReset,formData:l,body:u,formMethod:r.method||s,formEncType:r.encType||c,replace:r.replace,state:r.state,fromRouteId:n,flushSync:r.flushSync,viewTransition:r.viewTransition})},[i,a,t,n])}function xi(e,{relative:t}={}){let{basename:n}=r.useContext(Z),i=r.useContext(Q);f(i,`useFormAction must be used inside a RouteContext`);let[a]=i.matches.slice(-1),o={...Fn(e||`.`,{relative:t})},s=$();if(e==null){o.search=s.search;let e=new URLSearchParams(o.search),t=e.getAll(`index`);if(t.some(e=>e===``)){e.delete(`index`),t.filter(e=>e).forEach(t=>e.append(`index`,t));let n=e.toString();o.search=n?`?${n}`:``}}return(!e||e===`.`)&&a.route.index&&(o.search=o.search?o.search.replace(/^\?/,`?index&`):`?index`),n!==`/`&&(o.pathname=o.pathname===`/`?n:H([n,o.pathname])),_(o)}var Si=`react-router-scroll-positions`,Ci={};function wi(e,t,n,r){let i=null;return r&&(i=r(n===`/`?e:{...e,pathname:z(e.pathname,n)||e.pathname},t)),i??=e.key,i}function Ti({getKey:e,storageKey:t}={}){let{router:n}=mi(`useScrollRestoration`),{restoreScrollPosition:i,preventScrollReset:a}=hi(`useScrollRestoration`),{basename:o}=r.useContext(Z),s=$(),c=Zn(),l=Xn();r.useEffect(()=>(window.history.scrollRestoration=`manual`,()=>{window.history.scrollRestoration=`auto`}),[]),Ei(r.useCallback(()=>{if(l.state===`idle`){let t=wi(s,c,o,e);Ci[t]=window.scrollY}try{sessionStorage.setItem(t||Si,JSON.stringify(Ci))}catch(e){p(!1,`Failed to save scroll positions in sessionStorage, <ScrollRestoration /> will not work properly (${e}).`)}window.history.scrollRestoration=`auto`},[l.state,e,o,s,c,t])),typeof document<`u`&&(r.useLayoutEffect(()=>{try{let e=sessionStorage.getItem(t||Si);e&&(Ci=JSON.parse(e))}catch{}},[t]),r.useLayoutEffect(()=>{let t=n?.enableScrollRestoration(Ci,()=>window.scrollY,e?(t,n)=>wi(t,n,o,e):void 0);return()=>t&&t()},[n,o,e]),r.useLayoutEffect(()=>{if(i!==!1){if(typeof i==`number`){window.scrollTo(0,i);return}try{if(s.hash){let e=document.getElementById(decodeURIComponent(s.hash.slice(1)));if(e){e.scrollIntoView();return}}}catch{p(!1,`"${s.hash.slice(1)}" is not a decodable element ID. The view will not scroll to it.`)}a!==!0&&window.scrollTo(0,0)}},[s,i,a]))}function Ei(e,t){let{capture:n}=t||{};r.useEffect(()=>{let t=n==null?void 0:{capture:n};return window.addEventListener(`pagehide`,e,t),()=>{window.removeEventListener(`pagehide`,e,t)}},[e,n])}function Di(e,{relative:t}={}){let n=r.useContext(hn);f(n!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:i}=mi(`useViewTransitionState`),a=Fn(e,{relative:t});if(!n.isTransitioning)return!1;let o=z(n.currentLocation.pathname,i)||n.currentLocation.pathname,s=z(n.nextLocation.pathname,i)||n.nextLocation.pathname;return ue(a.pathname,s)!=null||ue(a.pathname,o)!=null}export{ii as a,j as c,An as d,Dn as f,_i as h,ur as i,Ce as l,Qn as m,mr as n,x as o,Pn as p,hr as r,Te as s,li as t,$ as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./createLucideIcon-C1mdGPB9.js";var t=e(`circle-alert`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`,key:`1pkeuh`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`,key:`4dfq90`}]]);export{t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./createLucideIcon-C1mdGPB9.js";var t=e(`circle-check-big`,[[`path`,{d:`M21.801 10A10 10 0 1 1 17 3.335`,key:`yps3ct`}],[`path`,{d:`m9 11 3 3L22 4`,key:`1pflzl`}]]);export{t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./createLucideIcon-C1mdGPB9.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};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./createLucideIcon-C1mdGPB9.js";var t=e(`circle-minus`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M8 12h8`,key:`1wcyev`}]]);export{t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./createLucideIcon-C1mdGPB9.js";var t=e(`circle-x`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m15 9-6 6`,key:`1uzhvr`}],[`path`,{d:`m9 9 6 6`,key:`z0biqf`}]]);export{t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e,t}from"./create-selectors-BiwSQ06u.js";import{i as n,r,s as i}from"./feature-flag-catalog-DqRwJjQh.js";var a=`vellum:ff:`,o=`vellum:ff-str:`;function s(){if(typeof window>`u`)return{};let e={};try{for(let t of Object.keys(r)){let n=localStorage.getItem(a+t);n!==null&&(e[t]=n===`true`)}}catch{}return e}function c(){if(typeof window>`u`)return{};let e={};try{for(let t of Object.keys(n)){let n=localStorage.getItem(o+t);n!==null&&(e[t]=n)}}catch{}return e}var l=s(),u=c(),d=i(`client`);function f(){return{...r,...s(),...d.bool}}function p(){return{...n,...c(),...d.str}}function m(e,t){return e===null||t===null||e===t}var h=t(e()(e=>{let t=e;return{...r,...l,...d.bool,stringFlags:{...n,...u,...d.str},hydrated:!1,scopeKey:null,setFlags:(t,n)=>e(e=>{if(!m(e.scopeKey,n))return e;let r=s(),i={...t,...r,...d.bool};return Object.keys(i).some(t=>i[t]!==e[t])?{...i,hydrated:!0}:e.hydrated?e:{hydrated:!0}}),beginScope:e=>t(t=>t.scopeKey===e?t:{...f(),stringFlags:p(),hydrated:!1,scopeKey:e}),settleWithoutServerValues:t=>e(e=>e.hydrated||!m(e.scopeKey,t)?e:{...f(),hydrated:!0}),setFlag:(t,n)=>{try{localStorage.setItem(a+t,String(n))}catch{}e({[t]:d.bool[t]??n})},clearOverride:t=>{try{localStorage.removeItem(a+t)}catch{}let n=d.bool[t]??r[t];n!==void 0&&e({[t]:n})},setStringFlags:(e,n)=>t(t=>{if(!m(t.scopeKey,n))return t;let r=c(),i={...e,...r,...d.str},a=t.stringFlags;return Object.keys(i).some(e=>i[e]!==a[e])?{stringFlags:i}:t}),setStringFlag:(e,n)=>{try{localStorage.setItem(o+e,n)}catch{}t(t=>({stringFlags:{...t.stringFlags,[e]:d.str[e]??n}}))},clearStringOverride:e=>{try{localStorage.removeItem(o+e)}catch{}let r=d.str[e]??n[e];t(t=>({stringFlags:{...t.stringFlags,[e]:r??``}}))}}}));export{h as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e,o as t,s as n}from"./platform-detection-CC6UYgBe.js";import{t as r}from"./consent-D_YHSTAp.js";import{i,t as a}from"./ingest-BaC3pJk_.js";var o=null;function s(){return o??=i(),o}var c=null;function l(e){c=e}function u(){return n()?`ios_native`:t()?`android_native`:`web`}function d(t,n,o){if(!(typeof window>`u`))try{if(!r())return;a([{type:`watchdog`,daemon_event_id:i(),recorded_at:Date.now(),check_name:t,value:Math.round(n),detail:{page_load_id:s(),surface:u(),os:e(),...c===null?{}:{boot_id:c},...o}}])}catch{}}export{l as n,d as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./createLucideIcon-C1mdGPB9.js";var t=e(`clipboard-copy`,[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`,key:`tgr4d6`}],[`path`,{d:`M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2`,key:`4jdomd`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v4`,key:`3hqy98`}],[`path`,{d:`M21 14H11`,key:`1bme5i`}],[`path`,{d:`m15 10-4 4 4 4`,key:`5dvupr`}]]);export{t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./createLucideIcon-C1mdGPB9.js";var t=e(`clock`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 6v6l4 2`,key:`mmk7yg`}]]);export{t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./createLucideIcon-C1mdGPB9.js";var t=e(`cloud`,[[`path`,{d:`M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z`,key:`p7xjir`}]]);export{t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./createLucideIcon-C1mdGPB9.js";var t=e(`cloud-off`,[[`path`,{d:`M10.94 5.274A7 7 0 0 1 15.71 10h1.79a4.5 4.5 0 0 1 4.222 6.057`,key:`1uxyv8`}],[`path`,{d:`M18.796 18.81A4.5 4.5 0 0 1 17.5 19H9A7 7 0 0 1 5.79 5.78`,key:`99tcn7`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]);export{t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e,t}from"./bundle-mjs-BQxDdOEo.js";var n=t({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-lighter`,`body-small-default`,`body-small-emphasised`,`label-medium-default`,`label-small-default`,`chat`]}]}}});function r(...t){return n(e(t))}export{r as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./createLucideIcon-C1mdGPB9.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};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./createLucideIcon-C1mdGPB9.js";var t=e(`coins`,[[`path`,{d:`M13.744 17.736a6 6 0 1 1-7.48-7.48`,key:`bq4yh3`}],[`path`,{d:`M15 6h1v4`,key:`11y1tn`}],[`path`,{d:`m6.134 14.768.866-.5 2 3.464`,key:`17snzx`}],[`circle`,{cx:`16`,cy:`8`,r:`6`,key:`14bfc9`}]]);export{t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{W as n,t as r}from"./button-BENY-yx_.js";import{t as i}from"./jsx-runtime-D3ZM-ToX.js";import{t as a}from"./typography-BeUa5Fd-.js";import{F as o}from"./src-DLDP99aa.js";import{t as s}from"./loader-circle-DOtGXcds.js";import{t as c}from"./search-BSUupeAI.js";import{t as l}from"./x-DcjZaQsQ.js";import{m as u}from"./platform-detection-CC6UYgBe.js";import{n as d}from"./use-is-mobile-BONxmNg6.js";import{n as f,t as p}from"./proxy-Do-Khsj0.js";import{t as m}from"./AnimatePresence-wQN1d2rQ.js";import{t as h}from"./use-reduced-motion-D2PbFfB8.js";var g=e(t(),1),_=e(n(),1),v=i();function y(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function b(e,t){let n=[...new Set(t??[])].filter(e=>e.length>0).sort((e,t)=>t.length-e.length);if(n.length===0)return e;let r=n.map(y).join(`|`),i=RegExp(`(?<![\\p{L}\\p{N}])(?:${r})(?![\\p{L}\\p{N}])`,`giu`),a=[],o=0;for(let t of e.matchAll(i))a.push(e.slice(o,t.index)),a.push((0,v.jsx)(`span`,{className:`font-medium text-[var(--content-default)]`,children:t[0]},t.index)),o=t.index+t[0].length;return a.length===0?e:(a.push(e.slice(o)),(0,v.jsx)(v.Fragment,{children:a}))}function x({icon:e,title:t,subtitle:n,snippet:r,highlightTokens:i,shortcutHint:a,isSelected:s,onClick:c,surface:l=`overlay`}){let u=e;return l===`window`?(0,v.jsxs)(`button`,{type:`button`,role:`option`,"aria-current":s?`page`:void 0,"aria-selected":s,onClick:c,className:[`flex w-full items-center gap-3 rounded-md px-3 text-left text-sm font-medium outline-none transition-colors`,r?`py-1.5`:`h-10`,s?`bg-[var(--surface-active)] text-[var(--content-default)]`:`text-[var(--content-secondary)] hover:bg-[var(--surface-overlay)] hover:text-[var(--content-default)]`].join(` `),children:[u?(0,v.jsx)(u,{size:16,"aria-hidden":!0,className:s?`shrink-0 text-[var(--content-default)]`:`shrink-0 text-[var(--content-tertiary)]`}):null,(0,v.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,v.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,v.jsx)(`span`,{className:`truncate`,children:t}),n?(0,v.jsx)(`span`,{className:`min-w-0 truncate text-xs text-[var(--content-tertiary)]`,children:n}):null,a?(0,v.jsx)(`span`,{className:`ml-auto shrink-0 text-xs text-[var(--content-tertiary)]`,children:a}):null]}),r?(0,v.jsx)(`span`,{className:`truncate text-xs font-normal text-[var(--content-tertiary)]`,children:b(r,i)}):null]})]}):(0,v.jsx)(o,{icon:e,label:(0,v.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,v.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,v.jsx)(`span`,{className:`truncate`,children:t}),n?(0,v.jsx)(`span`,{className:`min-w-0 truncate text-[var(--content-tertiary)] text-body-small-default`,children:n}):null,a?(0,v.jsx)(`span`,{className:`ml-auto shrink-0 text-[var(--content-tertiary)] text-body-small-default`,children:a}):null]}),r?(0,v.jsx)(`span`,{className:`truncate text-[var(--content-tertiary)] text-body-small-default`,children:b(r,i)}):null]}),active:s,onSelect:c,className:r?`h-auto px-3 py-2`:`px-3 py-2`})}var S=`fixed inset-0 z-50 flex flex-col bg-[var(--surface-lift)]`,C={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))`},w={...C,pointerEvents:`none`},T=({onKeyDown:e,children:t})=>{let n=f(),r=h(),i=(0,g.useRef)(null);return(0,g.useLayoutEffect)(()=>{if(n)return;let e=document.activeElement;e instanceof HTMLElement&&i.current?.contains(e)&&e.blur()},[n]),(0,v.jsx)(p.div,{ref:i,className:S,style:n?C:w,role:`dialog`,"aria-modal":n?!0:void 0,"aria-hidden":n?void 0:!0,"aria-label":`Search`,onKeyDown:e,initial:{y:`100%`,opacity:0},animate:{y:0,opacity:1},exit:{y:`100%`,opacity:0},transition:r?{duration:0}:{duration:.28,ease:[.16,1,.3,1]},children:t})},E=({isOpen:e,onClose:t,query:n,onQueryChange:i,highlightTokens:o,selectedIndex:f,sections:p,isSearching:h=!1,onItemSelect:y,onKeyDown:b,surface:w=`overlay`})=>{let E=d(),D=u(),O=(0,g.useRef)(null),k=(0,g.useRef)(null),A=(0,g.useRef)(null);(0,g.useEffect)(()=>{if(e){let e=requestAnimationFrame(()=>{k.current?.focus()});return()=>cancelAnimationFrame(e)}},[e]),(0,g.useEffect)(()=>{if(!e||!A.current)return;let t=A.current.querySelector(`[aria-current='page']`);t&&t.scrollIntoView({block:`nearest`})},[e,f]);let j=(0,g.useCallback)(e=>{e.target===O.current&&t()},[t]),M=w===`window`,N=E&&!M,P=D&&N;if(!e&&!P)return null;let F=0,I=(0,v.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 border-b border-[var(--border-base)] px-4 py-3`,children:[h?(0,v.jsx)(s,{size:16,"aria-hidden":!0,className:`shrink-0 animate-spin text-[var(--content-tertiary)]`}):(0,v.jsx)(c,{size:16,"aria-hidden":!0,className:`shrink-0 text-[var(--content-tertiary)]`}),(0,v.jsx)(`input`,{ref:k,type:`text`,value:n,onChange:e=>i(e.target.value),placeholder:`Search conversations, memories…`,className:M?`min-w-0 flex-1 bg-transparent text-sm font-medium text-[var(--content-default)] placeholder:text-[var(--content-tertiary)] outline-none`:`min-w-0 flex-1 bg-transparent text-body-medium-lighter text-[var(--content-default)] placeholder:text-[var(--content-tertiary)] outline-none`,"aria-label":`Search`}),n?N?(0,v.jsx)(`button`,{type:`button`,className:`shrink-0 text-body-medium-lighter text-[var(--content-tertiary)]`,onClick:()=>i(``),"aria-label":`Clear search`,children:`Clear`}):M?(0,v.jsx)(`button`,{type:`button`,className:`flex size-7 shrink-0 items-center justify-center rounded-md text-[var(--content-tertiary)] transition-colors hover:bg-[var(--surface-overlay)] hover:text-[var(--content-default)]`,"aria-label":`Clear search`,onClick:()=>i(``),children:(0,v.jsx)(l,{size:16,"aria-hidden":!0})}):(0,v.jsx)(r,{variant:`ghost`,size:`compact`,iconOnly:(0,v.jsx)(l,{}),"aria-label":`Clear search`,onClick:()=>i(``),tintColor:`var(--content-tertiary)`}):N?null:(0,v.jsx)(`kbd`,{className:M?`shrink-0 rounded-md border border-[var(--border-base)] bg-[var(--surface-active)] px-1.5 py-0.5 text-xs font-medium text-[var(--content-secondary)]`:`shrink-0 rounded-md border border-[var(--border-base)] bg-[var(--surface-active)] px-1.5 py-0.5 text-label-small-default text-[var(--content-tertiary)]`,children:`⌘K`}),N?(0,v.jsx)(r,{variant:`ghost`,size:`compact`,iconOnly:(0,v.jsx)(l,{}),expandOnMobile:!1,"aria-label":`Close search`,onClick:t,tintColor:`var(--content-tertiary)`}):null]}),L=(0,v.jsx)(`div`,{ref:A,className:N?`flex-1 overflow-y-auto overscroll-contain p-2`:`max-h-[360px] overflow-y-auto overscroll-contain p-2`,role:`listbox`,children:p.length===0?(0,v.jsx)(`div`,{className:`px-3 py-6 text-center`,children:(0,v.jsx)(a,{variant:`body-medium-lighter`,className:`text-[var(--content-tertiary)]`,children:h?`Searching…`:`No results`})}):p.map(e=>(0,v.jsxs)(`div`,{role:`group`,"aria-label":e.label,children:[(0,v.jsx)(a,{variant:`label-small-default`,as:`div`,className:M?`px-3 pb-1 pt-2 text-xs font-semibold text-[var(--content-tertiary)]`:`px-3 pb-1 pt-2 text-[var(--content-tertiary)] max-md:text-body-small-default`,children:e.label}),e.items.map(e=>{let t=F++;return(0,v.jsx)(x,{icon:e.icon,title:e.title,subtitle:e.subtitle,snippet:e.snippet,highlightTokens:o,shortcutHint:N?void 0:e.shortcutHint,isSelected:t===f,onClick:()=>y?.(e,t),surface:w},e.id)})]},e.id))});if(P)return(0,v.jsx)(m,{children:e?(0,v.jsxs)(T,{onKeyDown:b,children:[I,L]},`command-palette-sheet`):null});if(N)return(0,v.jsxs)(`div`,{className:S,role:`dialog`,"aria-modal":`true`,"aria-label":`Search`,onKeyDown:b,style:C,children:[I,L]});let R=(0,v.jsx)(`div`,{ref:O,role:`dialog`,"aria-modal":`true`,"aria-label":`Command palette`,className:w===`window`?`flex h-full w-full items-start justify-center bg-transparent p-3`:`fixed inset-0 z-50 flex items-start justify-center bg-black/40 pt-[15vh]`,onClick:j,onKeyDown:b,children:(0,v.jsxs)(`div`,{className:`flex w-full max-w-[560px] flex-col overflow-hidden rounded-xl border border-[var(--border-base)] bg-[var(--surface-base)] shadow-xl`,children:[I,L]})});return w===`window`?R:(0,_.createPortal)(R,document.body)};export{E as CommandPalette};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./jsx-runtime-D3ZM-ToX.js";import{c as r,i,n as a,o,t as s}from"./use-command-palette-sections-D8ISy0mZ.js";import{n as c}from"./resolved-assistants-store-C8LHpp8e.js";import{Q as l,i as u,n as d,s as f}from"./auth-store-CZQaQyZa.js";import{t as p}from"./use-app-theme-BjXjrw2D.js";import{i as m}from"./conversation-queries-iwrF0WPe.js";import{CommandPalette as h}from"./command-palette-55TJpX4Z.js";var g=e(t(),1),_=n(),v=()=>void 0,y=e=>void 0,b=e=>{switch(e.id){case`action-new-conversation`:return{kind:`newConversation`};case`action-current-conversation`:return{kind:`currentConversation`};case`action-settings`:return{kind:`openSettings`};case`action-library`:return{kind:`openLibrary`};case`action-intelligence`:return{kind:`openIdentity`};default:return e.id.startsWith(`conv-`)?{kind:`openConversation`,conversationId:e.id.slice(5)}:e.id.startsWith(`search-conv-`)?{kind:`openConversation`,conversationId:e.id.slice(12)}:e.id.startsWith(`search-schedule-`)||e.id.startsWith(`search-contact-`)?{kind:`openIdentity`}:null}};function x(){let e=d.use.sessionStatus(),t=f(),n=u();p(),o(!t),r({sessionStatus:e,hasPlatformSession:n});let x=c.use.assistants(),S=c.use.activeAssistantId(),C=l(),w=(0,g.useMemo)(()=>{let e=C??S;if(!e)return null;let t=x.find(t=>t.id===e);return t?{id:t.id,name:t.name}:null},[C,S,x]),T=w?.id??null,{conversations:E}=m(T,!0),D=(0,g.useCallback)(e=>{let t=b(e);t&&i(t)},[]),{commandPalette:O,mergedSections:k,handleItemSelect:A}=s({assistantId:T,assistantName:w?.name,conversations:E,activeConversationId:void 0,startNewConversation:v,switchConversation:v,navigate:y,navigateToSettings:v,isOpen:!0,onClose:()=>{a()},onItemSelect:D});return(0,_.jsx)(`div`,{className:`h-screen w-screen bg-transparent`,children:(0,_.jsx)(h,{isOpen:!0,surface:`window`,onClose:O.close,query:O.query,onQueryChange:O.setQuery,highlightTokens:O.searchTokens,selectedIndex:O.selectedIndex,sections:k,isSearching:O.isSearching,onItemSelect:A,onKeyDown:O.handleKeyDown})})}export{x as CommandPaletteWindowPage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e={badge:`Error 404`,title:`Página no encontrada`,body:`La página que buscas no existe o puede haberse movido.`,backToAssistant:`Volver a tu asistente`,goBack:`Atrás`},t={notFound:e};export{t as default,e as notFound};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./button-BENY-yx_.js";import{t}from"./jsx-runtime-D3ZM-ToX.js";import{t as n}from"./card-q0GJX1HZ.js";import{t as r}from"./createLucideIcon-C1mdGPB9.js";import{r as i}from"./middleware-DiHdH8q1.js";import{t as a}from"./bug-CDEs1Scu.js";import{t as o}from"./external-link-vwewPjbo.js";import{t as s}from"./globe-COk-NH9x.js";import{t as c}from"./heart-CRsy5qXC.js";import{t as l}from"./play-UYtEUTRg.js";import{t as u}from"./sparkles-BE7ouxCu.js";import{c as d,i as f,l as p,n as m,u as h}from"./use-discord-nudge-C6sdJKWC.js";import{t as g}from"./users-DtFCP5jO.js";import{t as _}from"./tag-Cg97RqBa.js";import{t as v}from"./external-urls-Dz7v7Xuw.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)(_,{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:a,icon:o,title:s,subtitle:c,benefits:l,primaryAction:u,secondaryAction:d}){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:o}),(0,b.jsx)(`span`,{className:`text-label-medium-default uppercase tracking-wider text-[color:var(--content-tertiary)]`,children:a})]}),(0,b.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,b.jsx)(`h2`,{className:`text-title-medium text-[var(--content-emphasised)]`,children:s}),(0,b.jsx)(`p`,{className:`text-body-medium-lighter text-[color:var(--content-tertiary)]`,children:c})]}),(0,b.jsx)(`ul`,{className:`flex flex-col gap-3`,children:l.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:u.onClick,children:[u.icon,u.label]}),d&&(0,b.jsxs)(e,{variant:`ghost`,onClick:()=>window.open(d.href,`_blank`,`noopener,noreferrer`),children:[d.label,(0,b.jsx)(i,{className:`h-3.5 w-3.5`})]})]})]})})}function D({icon:e,iconBg:t,iconColor:r=`white`,title:i,description:a,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)(o,{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:a})]})]})})})}function O(){let{handleStar:e}=d();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:h,text:`Star the repo to follow updates`},{icon:a,text:`Open issues and report bugs`},{icon:y,text:`Contribute fixes and new features`}],primaryAction:{label:`Star on GitHub`,icon:(0,b.jsx)(h,{size:16}),onClick:e},secondaryAction:{label:`View source`,href:f}}),(0,b.jsx)(E,{accentColor:`#5865F2`,label:`Discord`,icon:(0,b.jsx)(p,{size:20}),title:`Join our community`,subtitle:`Talk to the team, share feedback, request features, and get answers faster.`,benefits:[{icon:c,text:`Talk directly with the team`},{icon:u,text:`Share feedback and request features`},{icon:g,text:`Get answers faster from the community`}],primaryAction:{label:`Join Discord`,icon:(0,b.jsx)(p,{size:16,style:{color:`currentColor`}}),onClick:m}})]}),(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)(s,{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};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./jsx-runtime-D3ZM-ToX.js";import{t as r}from"./arrow-up-C0gtfKEK.js";import{_ as i,c as a,d as o,f as s,g as c,h as l,l as u,m as d,n as f,o as p,p as m,s as h,v as g}from"./desktop-voice-activity-Bq5rOAnf.js";import{t as _}from"./check-DSgjgwlo.js";import{t as v}from"./mic-bZFqVBA_.js";import{t as y}from"./volume-2-D4ppxKF0.js";import{t as b}from"./x-DcjZaQsQ.js";import{t as x}from"./avatar-bundled-components-Dq83CFZi.js";import{t as S}from"./animated-avatar-C7AKTx1Z.js";var C=e(t(),1),w=n(),T=`#5eead4`,E=new Set([`transcribing`,`thinking`,`speaking`]),D=44,O=28,k=8,A={resting:D,hover:188,call:296,typing:360},j=360,M=220;function N({phase:e,turns:t=[],assistantName:n=`your assistant`,glow:r=!0,accentHex:i=T,avatarSrc:a,character:o,hovered:s=!1,onHoverStart:c,onHoverEnd:l,growth:u=`right`,rootRef:d,onSurfaceMouseDown:f,spotlight:p,onTalk:m,onType:h,onSubmit:g,onCancelTyping:_,onAvatarClick:v,call:y,onControl:b}){let x=e!==`resting`,S=e===`typing`,O=(0,C.useRef)(null),[M,N]=(0,C.useState)(null);(0,C.useLayoutEffect)(()=>{let e=O.current;if(!e)return;let t=()=>{N(e.scrollWidth)};t();let n=new ResizeObserver(t);return n.observe(e),()=>{n.disconnect()}},[e]);let z={width:S?j:D+(x?(M??A[e]-D)+k:0),...u===`left`?{right:`50%`,marginRight:-(D/2)}:{left:`50%`,marginLeft:-(D/2)},transform:S?`translateY(calc(-100% + ${D/2}px))`:`translateY(-50%)`,transitionTimingFunction:`cubic-bezier(.2,.8,.2,1)`,"--accent":i};return(0,w.jsxs)(`div`,{className:`absolute top-1/2 cursor-grab transition-[width] duration-300 will-change-[width] active:cursor-grabbing ${S?`flex flex-col rounded-[22px]`:`flex h-11 items-center rounded-full`} ${u===`left`&&!S?`flex-row-reverse`:``}`,style:z,onMouseLeave:l,onMouseDown:f,ref:d,children:[(0,w.jsx)(`span`,{className:`absolute inset-0 border border-white/10 bg-[#17181b]/95 shadow-lg shadow-black/40 transition-opacity duration-200 ${S?`rounded-[22px]`:`rounded-full`}`,style:{opacity:+!!x},"aria-hidden":!0}),S&&t.length>0&&(0,w.jsx)(P,{turns:t}),(0,w.jsxs)(`div`,{className:`relative flex h-11 shrink-0 items-center`,children:[(0,w.jsx)(I,{glow:r&&!x,accentHex:i,avatarSrc:a,character:o,attentive:s,busy:y!==void 0&&E.has(y.phase),onMouseEnter:c,onClick:v}),S?(0,w.jsx)(F,{assistantName:n,onSubmit:g,onCancel:_}):(0,w.jsx)(`div`,{className:`relative flex min-w-0 items-center gap-1 overflow-hidden transition-opacity duration-200`,ref:O,inert:!x,style:{opacity:+!!x,transitionDelay:x?`120ms`:`0ms`},children:e===`call`?(0,w.jsx)(R,{call:y,onControl:b}):(0,w.jsx)(L,{spotlight:p,onTalk:m,onType:h})})]})]})}function P({turns:e}){let t=(0,C.useRef)(null);return(0,C.useEffect)(()=>{let e=t.current;e&&(e.scrollTop=e.scrollHeight)},[e]),(0,w.jsx)(`div`,{ref:t,className:`relative flex flex-col gap-1.5 overflow-y-auto px-3 pt-3 pb-1`,style:{maxHeight:M},children:e.map((e,t)=>{let n=e.role===`user`;return(0,w.jsx)(`div`,{className:`flex shrink-0 ${n?`justify-end`:`justify-start`}`,children:(0,w.jsx)(`p`,{className:`text-[12px] leading-[1.45] whitespace-pre-wrap ${n?`max-w-[80%] rounded-lg bg-white/[0.08] px-2.5 py-1.5 text-white/75`:`text-white/85`}`,children:e.text})},`${e.role}-${t}`)})})}function F({assistantName:e,onSubmit:t,onCancel:n}){let[i,a]=(0,C.useState)(``),o=(0,C.useRef)(null),s=i.trim();(0,C.useEffect)(()=>{o.current?.focus()},[]);let c=()=>{s!==``&&(a(``),t?.(s))};return(0,w.jsxs)(`div`,{className:`relative flex min-w-0 flex-1 items-center gap-1 pr-2`,children:[(0,w.jsx)(`input`,{ref:o,type:`text`,value:i,placeholder:`Message ${e}`,onChange:e=>{a(e.target.value)},onKeyDown:e=>{if(e.key===`Enter`){e.preventDefault(),c();return}e.key===`Escape`&&(e.preventDefault(),n?.())},onMouseDown:e=>{e.stopPropagation()},className:`min-w-0 flex-1 bg-transparent text-[12px] text-white/85 placeholder:text-white/40 focus:outline-none`}),(0,w.jsx)(`button`,{type:`button`,"aria-label":s===``?`Go back`:`Send`,title:s===``?`Go back`:`Send`,onClick:s===``?n:c,onMouseDown:e=>{e.stopPropagation()},className:`grid size-7 shrink-0 place-items-center rounded-full bg-white/10 text-white/85 transition-colors hover:bg-white/20`,children:s===``?(0,w.jsx)(b,{className:`size-3.5`,"aria-hidden":!0}):(0,w.jsx)(r,{className:`size-3.5`,"aria-hidden":!0})})]})}function I({glow:e,accentHex:t,avatarSrc:n,character:r,busy:i=!1,attentive:a=!1,onMouseEnter:o,onClick:s}){return(0,w.jsxs)(`div`,{className:`relative grid size-11 shrink-0 place-items-center`,onMouseEnter:o,onClick:s,children:[e&&(0,w.jsx)(`span`,{className:`absolute size-10 animate-pulse rounded-full blur-lg`,style:{background:t,opacity:.4},"aria-hidden":!0}),r===void 0?n===void 0?(0,w.jsx)(`span`,{className:`relative size-7 rounded-full drop-shadow-[0_1px_3px_rgba(0,0,0,0.55)]`,style:{background:t},"aria-hidden":!0}):(0,w.jsx)(`img`,{src:n,alt:``,className:`relative size-7 rounded-full object-contain drop-shadow-[0_1px_3px_rgba(0,0,0,0.55)]`}):(0,w.jsx)(`div`,{className:`relative drop-shadow-[0_1px_3px_rgba(0,0,0,0.55)]`,children:(0,w.jsx)(S,{components:x,traits:r,size:O,isAssistantBusy:i,attentive:a})})]})}function L({spotlight:e,onTalk:t,onType:n}){return(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(V,{icon:(0,w.jsx)(g,{className:`size-4`}),label:`Talk`,showLabel:!0,active:e===`talk`,onClick:t}),(0,w.jsx)(V,{icon:(0,w.jsx)(i,{className:`size-4`}),label:`Type`,showLabel:!0,active:e===`type`,onClick:n})]})}function R({call:e,onControl:t}){if(e!==void 0&&e.approvalRequestId!==``)return(0,w.jsx)(z,{detail:e.detail,requestId:e.approvalRequestId,onControl:t});let n=e===void 0?`Listening`:e.detail||e.label,r=e?.muted??!1,i=e?.outputMuted??!1;return(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(`span`,{className:`ml-1 max-w-[120px] shrink-0 truncate text-[12px] text-white/85`,children:n}),(0,w.jsx)(`span`,{className:`ml-1 shrink-0 font-mono text-[11px] tabular-nums text-white/60`,children:(0,w.jsx)(B,{startedAt:e?.startedAt})}),(0,w.jsx)(V,{icon:r?(0,w.jsx)(c,{className:`size-4`}):(0,w.jsx)(v,{className:`size-4`}),label:r?`Unmute microphone`:`Mute microphone`,onClick:()=>{t?.(r?`unmuteMicrophone`:`muteMicrophone`)}}),(0,w.jsx)(V,{icon:i?(0,w.jsx)(l,{className:`size-4`}):(0,w.jsx)(y,{className:`size-4`}),label:i?`Unmute assistant`:`Mute assistant`,onClick:()=>{t?.(i?`unmuteAssistantAudio`:`muteAssistantAudio`)}}),(0,w.jsx)(V,{icon:(0,w.jsx)(b,{className:`size-4`,strokeWidth:2.5}),label:`End session`,tone:`negative`,onClick:()=>{t?.(`endSession`)}})]})}function z({detail:e,requestId:t,onControl:n}){return(0,w.jsxs)(w.Fragment,{children:[e!==``&&(0,w.jsx)(`span`,{className:`ml-1 max-w-[120px] shrink-0 truncate text-[12px] text-white/85`,children:e}),(0,w.jsx)(V,{icon:(0,w.jsx)(_,{className:`size-4`}),label:`Allow`,showLabel:!0,tone:`positive`,onClick:()=>{n?.(`approveRequest`,t)}}),(0,w.jsx)(V,{icon:(0,w.jsx)(b,{className:`size-4`}),label:`Deny`,showLabel:!0,tone:`negative`,onClick:()=>{n?.(`denyRequest`,t)}})]})}function B({startedAt:e}){let[t,n]=(0,C.useState)(()=>Date.now());if((0,C.useEffect)(()=>{if(e===void 0)return;let t=setInterval(()=>{n(Date.now())},1e3);return()=>{clearInterval(t)}},[e]),e===void 0)return(0,w.jsx)(w.Fragment,{children:`0:14`});let r=Math.max(0,Math.floor((t-e)/1e3));return(0,w.jsx)(w.Fragment,{children:`${Math.floor(r/60)}:${String(r%60).padStart(2,`0`)}`})}function V({icon:e,label:t,tone:n,showLabel:r=!1,active:i=!1,onClick:a}){return(0,w.jsxs)(`button`,{type:`button`,"aria-label":t,title:t,onClick:a,onMouseDown:e=>{e.stopPropagation()},className:`flex h-7 shrink-0 items-center gap-1.5 rounded-full px-2 text-[12px] transition-colors hover:bg-white/15 ${i?`bg-white/15`:``} ${n===`negative`?`text-[#ff6b6b]`:n===`positive`?`text-[#5ee08a]`:`text-white/85`}`,children:[e,r&&(0,w.jsx)(`span`,{children:t})]})}var H=3;function U(){let[e,t]=(0,C.useState)(`right`),[n,r]=(0,C.useState)(),[i,c]=(0,C.useState)(),[l,g]=(0,C.useState)(null),[_,v]=(0,C.useState)([]),[y,b]=(0,C.useState)(``),[x,S]=(0,C.useState)(!1),[T,E]=(0,C.useState)(!1),[D,O]=(0,C.useState)(!1),k=(0,C.useRef)(!1),A=(0,C.useRef)(null),j=(0,C.useRef)(null),M=(0,C.useRef)(null),P=(0,C.useRef)(!1);(0,C.useEffect)(()=>{let e=e=>{t(e.growth),r(e.avatarBase64===void 0?void 0:`data:image/png;base64,${e.avatarBase64}`),c(e.character),g(e.call),v(e.turns),b(e.assistantName)},n=d(e);return h().then(t=>{t&&e(t)}),n},[]),(0,C.useEffect)(()=>()=>{o(!1),u(!1)},[]),(0,C.useEffect)(()=>{u(T)},[T]);let F=e=>{k.current!==e&&(k.current=e,o(e))};return(0,w.jsx)(`div`,{className:`relative h-screen w-screen bg-transparent`,onMouseMove:e=>{if(j.current!==null){let{x:t,y:n}=j.current;a(e.screenX-t,e.screenY-n),j.current={x:e.screenX,y:e.screenY};let r=M.current;r!==null&&Math.abs(e.screenX-r.x)+Math.abs(e.screenY-r.y)>H&&(P.current=!0);return}let t=A.current;if(!t)return;let n=t.getBoundingClientRect(),r=e.clientX>=n.left&&e.clientX<=n.right&&e.clientY>=n.top&&e.clientY<=n.bottom;S(r),F(r)},onMouseUp:()=>{j.current=null},onMouseLeave:()=>{j.current=null,S(!1),F(!1)},children:(0,w.jsx)(N,{phase:T?`typing`:l===null?x?`hover`:`resting`:`call`,growth:e,avatarSrc:n,character:i,hovered:x,accentHex:l!==null&&/^#[0-9a-f]{6}$/i.test(l.accentHex)?l.accentHex:void 0,turns:D?_:[],assistantName:y===``?void 0:y,call:l??void 0,rootRef:A,onSurfaceMouseDown:e=>{j.current={x:e.screenX,y:e.screenY},M.current={x:e.screenX,y:e.screenY},P.current=!1},onAvatarClick:()=>{P.current||p()},onTalk:s,onType:()=>{E(!0)},onSubmit:e=>{D||(v([]),O(!0)),m(e,!D)},onCancelTyping:()=>{E(!1),S(!1),F(!1),O(!1)},onControl:(e,t)=>{f(t===void 0?{action:e}:{action:e,requestId:t})}})})}export{U as CompanionSurfacePage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{c as t,r as n,s as r,t as i}from"./local-settings-Bx7FsNo5.js";import{s as a}from"./device-settings-DZvv4pnY.js";import{t as o}from"./capture-error-BJ9lxRkr.js";import{t as s}from"./react-BFJW0bSv.js";import{t as c}from"./button-BENY-yx_.js";import{t as l}from"./jsx-runtime-D3ZM-ToX.js";import{t as u}from"./createLucideIcon-C1mdGPB9.js";import"./src-DLDP99aa.js";import{t as d}from"./checkbox-C4x4HEp4.js";import{t as f}from"./triangle-alert-BdnWU2cF.js";import{t as p}from"./notice-CaWDgTdK.js";import{t as m}from"./modal-RvuckaS5.js";import{i as h,t as g}from"./api-jZrikeMQ.js";import{t as _}from"./client-feature-flag-store-BCe_rK7W.js";import{i as v,t as y}from"./dist-D6NTChCy.js";import{a as b,i as x}from"./typed-storage-ihkTC_O3.js";import{n as S,r as C,t as ee}from"./theme-preferences-CPHbp1nE.js";import{t as w}from"./use-bus-subscription-BwRmqcqX.js";import{o as te}from"./funnel-events-DtR5SKWK.js";var T=u(`package`,[[`path`,{d:`M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z`,key:`1a0edw`}],[`path`,{d:`M12 22V12`,key:`d0xqtd`}],[`polyline`,{points:`3.29 7 12 12 20.71 7`,key:`ousv84`}],[`path`,{d:`m7.5 4.27 9 5.15`,key:`1c824w`}]]),ne=u(`rocket`,[[`path`,{d:`M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5`,key:`qeys4`}],[`path`,{d:`M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09`,key:`u4xsad`}],[`path`,{d:`M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z`,key:`676m9`}],[`path`,{d:`M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05`,key:`92ym6u`}]]),E=e(s(),1),D=`NativeLaunchScreen`,O=v(D);function k(e){return e===`velvet`?`dark`:e}function A(){return y.isNativePlatform()&&y.getPlatform()===`android`&&y.isPluginAvailable(D)}async function j(e){if(A())try{await O.ready({theme:k(e)})}catch(e){o(e,{context:`native_launch_screen_ready`,bestEffort:!0})}}async function re(e){if(A())try{await O.setTheme({theme:k(e)})}catch(e){o(e,{context:`native_launch_screen_theme_sync`,bestEffort:!0})}}function ie(){return _.use.stringFlags().proactiveTips??`off`}function ae(e){return e===`on`}function M(e){return e===void 0||typeof e==`number`&&Number.isFinite(e)}function oe(e){if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e;return typeof t.shownCount==`number`&&Number.isFinite(t.shownCount)&&M(t.dismissedAt)&&M(t.lastShownAt)}function se(e){let t=JSON.parse(e);if(!t||typeof t!=`object`||Array.isArray(t))return null;let n={};for(let[e,r]of Object.entries(t))oe(r)&&(n[e]=r);return n}function ce(e){let t=Number(e);return Number.isFinite(t)&&t>=0?t:null}var N=x({key:`device:tips:records`,scope:`device`,parse:se,serialize:JSON.stringify,fallback:{}}),le=x({key:`device:tips:enabled`,scope:`device`,parse:b,serialize:String,fallback:!0}),P=x({key:`device:tips:first_seen_at`,scope:`device`,parse:ce,serialize:String,fallback:0});function ue(){P.load()===0&&P.save(Date.now())}function de(e,t){let n=N.load(),r=n[e];N.save({...n,[e]:{...r,lastShownAt:t,shownCount:(r?.shownCount??0)+1}})}function F(e,t){let n=N.load(),r=n[e];N.save({...n,[e]:{...r,dismissedAt:t,shownCount:r?.shownCount??0}})}var I=`proactive-tips-v1`,L={impression:0,learn_more:1,dismiss:2,dont_show_again:3,click:4,completion:5};function R(e,t,n){te({stepName:t,stepIndex:L[t]},{funnelVersion:I,screen:e,variant:n})}function z(){let e=_.use.velvet(),[t,n]=(0,E.useState)(()=>S({velvetEnabled:e}));return(0,E.useEffect)(()=>{n(S({velvetEnabled:e}))},[e]),(0,E.useEffect)(()=>a(`theme`,()=>{n(S({velvetEnabled:e}))}),[e]),(0,E.useEffect)(()=>{ee(t)},[t]),{theme:t,setThemePreference:e=>{n(e),C(e),re(e)}}}var B=6e4;function V(e){return!!(e?.enabled&&e.effectivelyLocked)}function H(e){return V(e)?e.acknowledged&&!e.overrideActive:!1}function U(e){return!!(e&&V(e)&&!e.acknowledged&&!e.overrideActive)}function fe(e){return!!(e?.enabled&&e.state===`warning`)}function pe(e){return U(e)?`acknowledgement-required`:H(e)?`cleanup`:fe(e)?`warning`:`inactive`}function me({monitorEnabled:e,hasResolvedStatus:t,status:n}){return!e||!t?null:U(n)?`acknowledgement-required`:null}function he(e){return`Storage cleanup mode must be acknowledged before sending messages.`}function ge(e,t){return e===t?!0:!e||!t?!1:e.enabled===t.enabled&&e.state===t.state&&e.locked===t.locked&&e.acknowledged===t.acknowledged&&e.overrideActive===t.overrideActive&&e.effectivelyLocked===t.effectivelyLocked&&e.lockId===t.lockId&&e.usagePercent===t.usagePercent&&e.thresholdPercent===t.thresholdPercent&&e.path===t.path&&e.lastCheckedAt===t.lastCheckedAt&&e.error===t.error&&e.blockedCapabilities.length===t.blockedCapabilities.length&&e.blockedCapabilities.every((e,n)=>e===t.blockedCapabilities[n])}function _e(e){return e?.usagePercent==null||!Number.isFinite(e.usagePercent)?`Unknown`:`${Math.round(e.usagePercent)}%`}var W={assistantId:null,status:null,hasResolvedStatus:!1};function ve(e,t){return e instanceof Error?e:Error(t)}function ye({assistantId:e,enabled:t,refreshKey:n,cadenceMs:r=B}){let[i,a]=(0,E.useState)(W),[o,s]=(0,E.useState)(!1),[c,l]=(0,E.useState)(null),u=(0,E.useRef)(e),d=(0,E.useRef)(t),f=(0,E.useRef)(0),p=(0,E.useRef)(0);(0,E.useLayoutEffect)(()=>{u.current=e,d.current=t}),(0,E.useEffect)(()=>{f.current+=1,a(W),l(null),s(!1)},[e,t]);let m=(0,E.useCallback)((e,t)=>d.current&&u.current===e&&f.current===t,[]),_=(0,E.useCallback)((e,t,n,r)=>{m(e,r)&&a(r=>r.assistantId===e&&r.hasResolvedStatus===n&&ge(r.status,t)?r:{assistantId:e,status:t,hasResolvedStatus:n})},[m]),v=(0,E.useCallback)(()=>{f.current+=1,a(W)},[]),y=(0,E.useCallback)(async()=>{let n=e;if(!t||!n){v();return}let r=f.current,i=p.current+1;p.current=i;try{let e=await h(n);if(p.current!==i)return;if(!e.ok){_(n,null,!1,r);return}_(n,e.data.status,!0,r)}catch{if(p.current!==i)return;_(n,null,!1,r)}},[e,_,v,t]);(0,E.useEffect)(()=>{if(!t||!e)return;y();let n=window.setInterval(()=>{y()},r);return()=>{window.clearInterval(n)}},[e,r,t,y,n]),w(`app.resume`,()=>{y()});let b=(0,E.useCallback)(n=>{if(!t||!e){v();return}let r=f.current+1;f.current=r,s(!1),l(null),_(e,n,!0,r)},[e,_,v,t]);w(`sse.event`,e=>{let t=e.message;t.type===`disk_pressure_status_changed`&&b(t.status)});let x=(0,E.useCallback)(async()=>{let n=e;if(!t||!n){v();return}let r=f.current+1;f.current=r,s(!0),l(null);try{let e=await g(n);if(!e.ok)throw Error(`Failed to acknowledge assistant disk pressure.`);if(!m(n,r))return;let t=f.current+1;f.current=t,_(n,e.data.status,!0,t),s(!1)}catch(e){m(n,r)&&l(ve(e,`Failed to acknowledge assistant disk pressure.`))}finally{m(n,r)&&s(!1)}},[e,_,v,t,m]),S=t&&i.assistantId===e?i.status:null,C=!!(t&&e&&i.assistantId===e&&i.hasResolvedStatus);return{status:S,mode:(0,E.useMemo)(()=>pe(S),[S]),hasResolvedStatus:C,isAcknowledging:o,acknowledgeError:c,acknowledge:x,applyStatusEvent:b,refresh:y}}var G=l();function be(e){let{status:t,mode:n,isAcknowledging:r=!1,acknowledgeError:i,onAcknowledge:a,onDismissWarning:o,onReviewWorkspaceData:s,onUpgradeStorage:l}=e,[u,h]=(0,E.useState)(!1),[g,_]=(0,E.useState)(!1),v=_e(t);if(n===`warning`){let e=t.usagePercent??0;return(0,G.jsx)(p,{tone:`warning`,title:`Your storage is almost full`,icon:(0,G.jsx)(T,{className:`h-4 w-4`,"aria-hidden":`true`}),onDismiss:o?()=>o(g):void 0,className:`p-4`,"data-testid":`disk-pressure-banner`,children:(0,G.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,G.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,G.jsx)(`div`,{className:`h-1.5 flex-1 overflow-hidden rounded-full bg-[var(--surface-active)]`,children:(0,G.jsx)(`div`,{className:`h-full rounded-full transition-[width] duration-300`,style:{width:`${e}%`,backgroundColor:`var(--system-mid-strong)`}})}),(0,G.jsx)(`span`,{className:`text-body-medium-default shrink-0 tabular-nums text-[color:var(--system-mid-strong)]`,children:v})]}),(0,G.jsx)(`p`,{className:`m-0`,children:l?`Free up space or add more storage to avoid interruptions.`:`Free up space to avoid interruptions.`}),(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[s&&(0,G.jsx)(c,{variant:`outlined`,size:`compact`,onClick:s,children:`Manage Storage`}),l&&(0,G.jsx)(c,{variant:`outlined`,size:`compact`,onClick:l,children:`Upgrade`}),o?(0,G.jsx)(d,{className:`ml-auto`,checked:g,onCheckedChange:e=>_(e===!0),label:`Don't show again`,"data-testid":`disk-pressure-banner-dont-show-again`}):null]})]})})}if(n===`cleanup`){let e=t.usagePercent??0;return(0,G.jsx)(p,{tone:`warning`,title:`Cleanup mode is active`,icon:(0,G.jsx)(T,{className:`h-4 w-4`,"aria-hidden":`true`}),className:`p-4`,"data-testid":`disk-pressure-banner`,children:(0,G.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,G.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,G.jsx)(`div`,{className:`h-1.5 flex-1 overflow-hidden rounded-full bg-[var(--surface-active)]`,children:(0,G.jsx)(`div`,{className:`h-full rounded-full transition-[width] duration-300`,style:{width:`${e}%`,backgroundColor:`var(--system-mid-strong)`}})}),(0,G.jsx)(`span`,{className:`text-body-medium-default shrink-0 tabular-nums text-[color:var(--system-mid-strong)]`,children:v})]}),(0,G.jsx)(`p`,{className:`m-0`,children:`Prompt your assistant to free up space before it runs out and enters a locked state.`}),(0,G.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[s&&(0,G.jsx)(c,{variant:`outlined`,size:`compact`,onClick:s,children:`Manage Storage`}),l&&(0,G.jsx)(c,{variant:`outlined`,size:`compact`,onClick:l,children:`Upgrade`})]})]})})}let y=t.usagePercent??0;return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(p,{tone:`error`,title:`Storage is critically low`,icon:(0,G.jsx)(T,{className:`h-4 w-4`,"aria-hidden":`true`}),className:`p-4`,"data-testid":`disk-pressure-banner`,children:(0,G.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,G.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,G.jsx)(`div`,{className:`h-1.5 flex-1 overflow-hidden rounded-full bg-[var(--surface-active)]`,children:(0,G.jsx)(`div`,{className:`h-full rounded-full transition-[width] duration-300`,style:{width:`${y}%`,backgroundColor:`var(--system-negative-strong)`}})}),(0,G.jsx)(`span`,{className:`text-body-medium-default shrink-0 tabular-nums text-[color:var(--system-negative-strong)]`,children:v})]}),(0,G.jsx)(`p`,{className:`m-0`,children:`Your assistant will enter a locked state if it runs out of storage.`}),i?(0,G.jsx)(`span`,{className:`text-[var(--system-negative-strong)]`,role:`alert`,children:i}):null,(0,G.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:(0,G.jsx)(c,{variant:`primary`,size:`compact`,onClick:()=>h(!0),children:`Review`})})]})}),(0,G.jsx)(m.Root,{open:u,onOpenChange:e=>{e||h(!1)},children:(0,G.jsxs)(m.Content,{size:`sm`,children:[(0,G.jsx)(m.Header,{children:(0,G.jsx)(m.Title,{icon:f,children:`Storage is critically low`})}),(0,G.jsx)(m.Body,{children:(0,G.jsx)(m.Description,{children:`Your assistant will enter a locked state if it runs out of storage. You should either prompt your assistant to free up space or increase your storage.`})}),(0,G.jsxs)(m.Footer,{children:[l&&(0,G.jsx)(c,{variant:`outlined`,onClick:()=>{h(!1),l()},children:`Upgrade`}),(0,G.jsx)(c,{variant:`primary`,disabled:r,onClick:()=>{a(),h(!1)},children:r?`Acknowledging...`:`Acknowledge`})]})]})})]})}var xe=`https://apps.apple.com/us/app/vellum-assistant/id6759934423`,K=`ai.vellum.assistant`,Se=`https://play.google.com/store/apps/details?id=${K}`,q={ios:{downloaded:`app.iosNudge.downloaded`,bannerDismissed:`app.iosNudge.bannerDismissed`,assistantTurnsSeen:`app.iosNudge.assistantTurnsSeen`},android:{downloaded:`app.androidNudge.downloaded`,bannerDismissed:`app.androidNudge.bannerDismissed`,assistantTurnsSeen:`app.androidNudge.assistantTurnsSeen`}};function Ce(){let e=(void 0)?.trim();if(!e)return null;try{let t=new URL(e);return t.protocol===`https:`&&t.hostname===`play.google.com`&&t.pathname===`/store/apps/details`&&t.searchParams.get(`id`)===K?Se:null}catch(e){if(e instanceof TypeError)return null;throw e}}function J(e){return e===`ios`?`iOS`:`Android`}function Y(e){if(e===`ios`)return{platform:e,appName:J(e),storeUrl:xe};let t=Ce();return t?{platform:e,appName:J(e),storeUrl:t}:null}function we(e){return i(q[e].downloaded,!1)}function X(e){r(q[e].downloaded,!0)}function Te(e){return i(q[e].bannerDismissed,!1)}function Z(e){r(q[e].bannerDismissed,!0)}function Q(e){return Math.max(0,n(q[e].assistantTurnsSeen,0))}function Ee(e,n=1){n<=0||t(q[e].assistantTurnsSeen,Q(e)+n)}function $(e){let t=Y(e);return t?(window.open(t.storeUrl,`_blank`,`noopener,noreferrer`),!0):!1}function De(e){let[t,n]=(0,E.useState)(!1),[r,i]=(0,E.useState)(!1),a=Y(e)!==null;(0,E.useEffect)(()=>{n(we(e)),i(Te(e))},[e]);let o=(0,E.useCallback)(()=>{$(e)&&(X(e),n(!0))},[e]),s=(0,E.useCallback)(()=>{Z(e),i(!0)},[e]);return(0,E.useMemo)(()=>({bannerShouldShow:a&&!t&&!r,handleDownload:o,handleBannerDismiss:s}),[a,t,r,o,s])}var Oe=x({key:`device:cmd_enter_to_send`,scope:`device`,parse:b,serialize:String,fallback:!1}),ke=x({key:`device:show_context_window_indicator`,scope:`device`,parse:b,serialize:String,fallback:!1});export{ie as C,T as E,ae as S,ne as T,F as _,Ee as a,le as b,De as c,ye as d,he as f,ue as g,R as h,Y as i,X as l,z as m,ke as n,$ as o,me as p,J as r,Q as s,Oe as t,be as u,de as v,j as w,P as x,N as y};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./button-BENY-yx_.js";import{t}from"./jsx-runtime-D3ZM-ToX.js";import{t as n}from"./loader-circle-DOtGXcds.js";import{t as r}from"./triangle-alert-BdnWU2cF.js";import{t as i}from"./modal-RvuckaS5.js";var a=t(),o=`data-confirm-dialog-confirm`;function s({open:t,title:s,message:c,confirmLabel:l=`Confirm`,cancelLabel:u=`Cancel`,destructive:d=!1,isPending:f=!1,onConfirm:p,onCancel:m}){return(0,a.jsx)(i.Root,{open:t,onOpenChange:e=>{!e&&!f&&m()},children:(0,a.jsxs)(i.Content,{size:`sm`,hideCloseButton:!0,onOpenAutoFocus:e=>{let t=e.currentTarget?.querySelector(`[${o}]`);t&&(e.preventDefault(),t.focus())},onEscapeKeyDown:e=>{e.preventDefault(),e.stopPropagation(),f||m()},children:[(0,a.jsx)(i.Header,{children:(0,a.jsx)(i.Title,{icon:d?r:void 0,children:s})}),(0,a.jsx)(i.Body,{children:(0,a.jsx)(i.Description,{children:c})}),(0,a.jsxs)(i.Footer,{children:[(0,a.jsx)(e,{variant:`outlined`,onClick:m,disabled:f,children:u}),(0,a.jsx)(e,{variant:d?`danger`:`primary`,onClick:p,disabled:f,leftIcon:f?(0,a.jsx)(n,{className:`animate-spin`}):void 0,[o]:``,children:l})]})]})})}export{s as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-BENY-yx_.js";import{d as r,h as i}from"./chunk-5KNZJZUH-BUqIilZr.js";import{n as a}from"./QueryClientProvider-CMu7CkQU.js";import{t as o}from"./useMutation-CXGTrp4W.js";import{t as s}from"./jsx-runtime-D3ZM-ToX.js";import{t as c}from"./typography-BeUa5Fd-.js";import{t as l}from"./card-q0GJX1HZ.js";import{t as u}from"./link-2-Bm55xvLL.js";import{t as d}from"./loader-circle-DOtGXcds.js";import{t as f}from"./triangle-alert-BdnWU2cF.js";import{n as p}from"./toast-CEOMJr4U.js";import{d as m}from"./routes-CuLukUZB.js";import{t as h}from"./use-active-assistant-id-CRVEwroF.js";import{n as g}from"./a2a-invite-Bz34KR0O.js";import{r as _}from"./contacts-gateway-BOKkOlbP.js";var v=e(t(),1),y=s();function b(e){let t=e[0];return typeof t==`object`&&!!t&&t._id===`contactsGet`}function x(e,t){switch(e){case`expired`:case`not_found`:return`This invite link has expired or already been used.`;case`already_redeemed_by_other`:return`This invite has already been claimed by someone else.`;case`sender_not_found`:return`The sender's assistant could not be found.`;case`not_platform_managed`:return`A2A invite links are only supported for platform-hosted assistants.`;default:return t||`Something went wrong. Please try again.`}}function S(){return(0,y.jsx)(C,{assistantId:h()})}function C({assistantId:e}){let t=r(),s=a(),[h]=i(),S=(0,v.useMemo)(()=>g(h),[h]),C=o({mutationFn:()=>{if(!S)throw Error(`Invalid invite link`);return _(e,{senderAssistantId:S.senderAssistantId,token:S.token})},onSuccess:e=>{e.success&&(s.invalidateQueries({predicate:e=>b(e.queryKey)}),e.alreadyConnected?p(`Already connected`):p(`Connected!`),t(m.contacts.root))}}),w=(0,v.useCallback)(()=>{t(m.contacts.root)},[t]),T=(0,v.useCallback)(()=>{C.mutate()},[C]),E=(0,v.useMemo)(()=>C.isError?C.error instanceof Error?C.error.message:`Something went wrong. Please try again.`:C.data&&!C.data.success?x(C.data.errorCode,C.data.error):null,[C.isError,C.error,C.data]);return S?(0,y.jsx)(`div`,{className:`flex min-h-full items-center justify-center p-6`,children:(0,y.jsx)(l,{className:`w-full max-w-md`,children:(0,y.jsxs)(`div`,{className:`flex flex-col gap-4 p-6`,children:[(0,y.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,y.jsx)(u,{className:`h-6 w-6`,style:{color:`var(--content-secondary)`}}),(0,y.jsx)(c,{variant:`title-small`,children:`Connect assistants`})]}),(0,y.jsx)(c,{variant:`body-medium-lighter`,style:{color:`var(--content-secondary)`},children:`Accepting this link will create a trusted A2A connection between your assistant and the sender's.`}),E&&(0,y.jsxs)(`div`,{className:`flex items-center gap-2 rounded-md p-3`,style:{backgroundColor:`var(--surface-negative-subtle)`,color:`var(--system-negative-strong)`},children:[(0,y.jsx)(f,{className:`h-4 w-4 shrink-0`}),(0,y.jsx)(c,{variant:`body-small-default`,children:E})]}),(0,y.jsxs)(`div`,{className:`flex gap-2 pt-2`,children:[(0,y.jsx)(n,{variant:`primary`,onClick:T,disabled:C.isPending,children:C.isPending?(0,y.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,y.jsx)(d,{className:`h-4 w-4 animate-spin`}),`Connecting…`]}):`Connect`}),(0,y.jsx)(n,{variant:`outlined`,onClick:w,disabled:C.isPending,children:`Cancel`})]})]})})}):(0,y.jsx)(`div`,{className:`flex min-h-full items-center justify-center p-6`,children:(0,y.jsx)(l,{className:`w-full max-w-md`,children:(0,y.jsxs)(`div`,{className:`flex flex-col gap-4 p-6`,children:[(0,y.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,y.jsx)(f,{className:`h-6 w-6`,style:{color:`var(--system-negative-strong)`}}),(0,y.jsx)(c,{variant:`title-small`,children:`Invalid invite link`})]}),(0,y.jsx)(c,{variant:`body-medium-lighter`,style:{color:`var(--content-secondary)`},children:`The link you followed is missing required parameters and cannot be used.`}),(0,y.jsx)(`div`,{className:`flex gap-2 pt-2`,children:(0,y.jsx)(n,{variant:`primary`,onClick:w,children:`Go to Contacts`})})]})})})}export{S as ConnectPage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./onboarding-store-DThPnFbF.js";function t(){let{shareAnalytics:t,serverAnalyticsEffective:n,pendingAnalyticsOptIn:r}=e.getState();return t===!1?!1:r?!0:n??!0}export{t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./jsx-runtime-D3ZM-ToX.js";import{t}from"./card-q0GJX1HZ.js";import{t as n}from"./checkbox-C4x4HEp4.js";import{d as r,u as i}from"./routes-CuLukUZB.js";import{t as a}from"./setting-row-CD_K32Xb.js";var o=e(),s=[`[&_button[data-state=checked]]:bg-[var(--primary-base)]`,`[&_svg]:text-[var(--content-inset)]`,`[&_button[data-state=unchecked]]:bg-[var(--surface-base)]`,`[&_button[data-state=unchecked]]:border-[var(--border-element)]`].join(` `),c=`mb-2.5 ml-1 text-body-small-default font-medium uppercase tracking-wider text-[var(--content-tertiary)]`,l={privacy:{href:r.docs.legal.privacyPolicy,text:`Privacy and AI Data Sharing Policy`,aria:`I agree to the Privacy and AI Data Sharing Policy`},tos:{href:r.docs.legal.termsOfUse,text:`Terms of Service`,aria:`I agree to the Terms of Service`}};function u({kind:e,checked:t,onChange:r}){let a=l[e];return(0,o.jsx)(n,{checked:t,onCheckedChange:e=>r(e===!0),label:(0,o.jsxs)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:[`I agree to the`,` `,(0,o.jsx)(`a`,{href:i(a.href),target:`_blank`,rel:`noreferrer`,className:`underline`,children:a.text})]}),"aria-label":a.aria,className:s})}function d(){return(0,o.jsx)(`div`,{className:`h-px bg-[var(--surface-active)] dark:bg-[var(--surface-lift)]`})}function f({notes:e}){return!e||e.length===0?null:(0,o.jsxs)(`div`,{className:`rounded-r-md border-l-2 border-[var(--content-secondary)] bg-[var(--surface-base)] py-3 pl-3.5 pr-3.5`,children:[(0,o.jsx)(`p`,{className:`text-body-small-default font-medium text-[var(--content-secondary)]`,children:`What's changed`}),e.length===1?(0,o.jsx)(`p`,{className:`mt-1.5 text-body-medium-lighter text-[var(--content-default)]`,children:e[0]}):(0,o.jsx)(`ul`,{className:`mt-2 flex flex-col gap-1.5`,children:e.map(e=>(0,o.jsxs)(`li`,{className:`flex gap-2.5 text-body-medium-lighter text-[var(--content-default)]`,children:[(0,o.jsx)(`span`,{"aria-hidden":!0,className:`mt-[0.5em] h-1 w-1 flex-none rounded-full bg-[var(--content-tertiary)]`}),(0,o.jsx)(`span`,{children:e})]},e))})]})}function p({electron:e,showAnalytics:n=!0,showDiagnostics:r=!0,shareAnalytics:i,shareDiagnostics:s,onShareAnalyticsChange:l,onShareDiagnosticsChange:u,className:f,style:p}){return(0,o.jsxs)(`section`,{className:f,style:p,children:[(0,o.jsx)(`p`,{className:c,children:`Privacy preferences`}),(0,o.jsx)(t,{padding:e?`sm`:`md`,className:`w-full`,children:(0,o.jsxs)(`div`,{className:`flex flex-col ${e?`gap-3`:`gap-4`}`,children:[n&&(0,o.jsx)(a,{label:`Share Analytics`,helperText:`Send aggregated product usage data`,checked:i,onChange:l}),n&&r&&(0,o.jsx)(d,{}),r&&(0,o.jsx)(a,{label:`Share Diagnostics`,helperText:`Send crash reports, conversation traces, and session replay data`,checked:s,onChange:u})]})})]})}function m({electron:e,showPrivacy:n=!0,showTos:r=!0,privacyConsent:i,tosAccepted:a,onPrivacyChange:s,onTosChange:l,privacyNotes:d,tosNotes:p,className:m,style:h}){return(0,o.jsxs)(`section`,{className:m,style:h,children:[(0,o.jsx)(`p`,{className:c,children:`Agreements`}),(0,o.jsx)(t,{padding:e?`sm`:`md`,className:`w-full`,children:(0,o.jsxs)(`div`,{className:`flex flex-col ${e?`gap-3.5`:`gap-4`}`,children:[n&&(0,o.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,o.jsx)(f,{notes:d}),(0,o.jsx)(u,{kind:`privacy`,checked:i,onChange:s})]}),r&&(0,o.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,o.jsx)(f,{notes:p}),(0,o.jsx)(u,{kind:`tos`,checked:a,onChange:l})]})]})})]})}export{p as n,m as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e,n as t,t as n}from"./api-errors-BePw2zjj.js";import{t as r}from"./client.gen-C1q6uU7x.js";import{d as i,p as a,u as o}from"./sdk.gen-CUWXKhFV.js";async function s(r,i){let{data:o,error:s,response:c}=await a({path:{assistant_id:r},body:i,throwOnError:!1});if(t(c,s,`Failed to save contact`),!c.ok||!o?.contact)throw new n(c.status,e(s,c,`Failed to save contact`));return o.contact}async function c(r,a){let{error:o,response:s}=await i({path:{assistant_id:r,contact_id:a},throwOnError:!1});if(t(s,o,`Failed to delete contact`),!s.ok&&s.status!==204)throw new n(s.status,e(o,s,`Failed to delete contact`))}async function l(r,i){let{error:a,response:s}=await o({path:{assistant_id:r,channel_id:i},throwOnError:!1});if(t(s,a,`Failed to verify channel`),!s.ok)throw new n(s.status,e(a,s,`Failed to verify channel`))}async function u(e,t,r){let i=(await s(e,{id:t.id,displayName:t.displayName,channels:[{type:r.type,address:r.address}]})).channels.find(e=>e.type===r.type&&e.address.toLowerCase()===r.address.toLowerCase());if(!i)throw new n(409,`That account is already linked to another contact.`);if(i.status===`blocked`)throw new n(409,`That account is blocked for this contact. Unblock it before linking.`);await l(e,i.id)}async function d(i,a){let{data:o,error:s,response:c}=await r.post({url:`/v1/assistants/{assistant_id}/a2a/invites/redeem/`,path:{assistant_id:i},body:{sender_assistant_id:a.senderAssistantId,token:a.token},headers:{"Content-Type":`application/json`},throwOnError:!1});if(t(c,s,`Failed to redeem A2A invite`),!c.ok)throw new n(c.status,e(s,c,`Failed to redeem A2A invite`));return{success:o?.success??!0,alreadyConnected:o?.already_connected,error:o?.error,errorCode:o?.error_code}}export{l as a,s as i,u as n,d as r,c as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-BENY-yx_.js";import{d as r,h as i,n as a}from"./chunk-5KNZJZUH-BUqIilZr.js";import{n as o}from"./QueryClientProvider-CMu7CkQU.js";import{t as s}from"./useQuery-Bz-fbQ-m.js";import{t as c}from"./useMutation-CXGTrp4W.js";import{t as l}from"./jsx-runtime-D3ZM-ToX.js";import{t as u}from"./typography-BeUa5Fd-.js";import{t as d}from"./card-q0GJX1HZ.js";import{t as f}from"./createLucideIcon-C1mdGPB9.js";import{t as p}from"./arrow-left-BikDV6F2.js";import{t as m}from"./arrow-right-UTImTy7b.js";import{D as h,E as g,O as _,a as v,c as y,h as b,p as x,u as S}from"./use-save-twilio-credentials-9mLR4V3N.js";import{t as C}from"./circle-check-big-CpoRGdNz.js";import{F as w}from"./src-DLDP99aa.js";import{t as T}from"./ellipsis-vertical-eVgdKn9z.js";import{t as E}from"./link-2-Bm55xvLL.js";import{t as D}from"./loader-circle-DOtGXcds.js";import{t as O}from"./mail-CYjppw70.js";import{t as k}from"./message-square-BjBDqFUX.js";import{t as A}from"./pencil-DidiUknI.js";import{t as j}from"./plus-BYxxpGuo.js";import{t as M}from"./search-BSUupeAI.js";import{t as N}from"./send-U5mjCA0w.js";import{t as ee}from"./user-plus-Gc92TQsa.js";import{t as P}from"./tag-Cg97RqBa.js";import{t as F}from"./input-BBRukT0E.js";import{t as I}from"./modal-RvuckaS5.js";import{n as te}from"./toast-CEOMJr4U.js";import{t as L}from"./confirm-dialog-D5z2wwOp.js";import{t as ne}from"./assistant-identity-store-C7vGdp0n.js";import{C as re}from"./sdk.gen-CRqU0Sdn.js";import{d as ie}from"./routes-CuLukUZB.js";import{C as ae,Qt as oe,T as R,Zt as se,s as ce,w as le}from"./react-query.gen-DfH8CP-D.js";import{n as z}from"./conversation-navigation-0dw3ww6u.js";import{t as ue}from"./assistant-feature-flag-store-BPsz8NIX.js";import{t as B}from"./use-active-assistant-id-CRVEwroF.js";import{t as V}from"./detail-card-DwbZSLPd.js";import{n as de,t as fe}from"./mobile-sidebar-drawer-DGzYrOYd.js";import{a as H,i as pe,n as me,r as U,t as he}from"./use-invite-link-dialog-Cf_iU0lc.js";import{a as ge,i as _e,n as ve,t as ye}from"./contacts-gateway-BOKkOlbP.js";var W=f(`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`}]]),be=f(`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`}]]),G=e(t(),1),xe=new Set([`slack`]);function K(e){return e.status===`verified`||e.status===`active`&&e.verifiedAt!=null}var q=l();function Se({channels:e,pendingChannelKey:t=null,onConnect:n,onDisconnect:r}){let[i,a]=(0,G.useState)(null);return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`div`,{className:`flex flex-col`,children:e.map((e,i)=>(0,q.jsxs)(`div`,{children:[i>0?(0,q.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}):null,(0,q.jsx)(J,{channel:e,pending:t===e.key,onConnect:n?()=>n(e.key):void 0,onDisconnect:r?()=>a(e.key):void 0})]},e.key))}),(0,q.jsx)(L,{open:i!==null,title:`Disconnect ${i?x(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 J({channel:e,pending:t,onConnect:r,onDisconnect:i}){let a=e.status===`ready`;return(0,q.jsxs)(`div`,{className:`flex items-center gap-3 py-4`,children:[(0,q.jsx)(S,{channelId:e.key,className:`h-4 w-4 shrink-0 text-[color:var(--content-secondary)]`}),(0,q.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:x(e.key)}),a&&e.address?(0,q.jsx)(`span`,{className:`truncate text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:e.address}):null,(0,q.jsx)(`div`,{className:`ml-auto flex shrink-0 items-center gap-2`,children:a?(0,q.jsxs)(q.Fragment,{children:[(0,q.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,q.jsx)(C,{className:`h-3 w-3`}),`Connected`]}),(0,q.jsx)(n,{variant:`danger`,onClick:i,disabled:!i||t,children:t?`Disconnecting…`:`Disconnect`})]}):(0,q.jsx)(n,{variant:`outlined`,onClick:r,disabled:!r||t,children:`Connect`})})]})}function Y({role:e,contactType:t}){let{label:n,tone:r}=X(e,t);return(0,q.jsx)(P,{tone:r,children:n})}function X(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 Ce({assistantName:e,...t}){let n=b(e);return(0,q.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,q.jsx)(V,{title:`${n} (Your Assistant)`,accessory:(0,q.jsx)(Y,{role:`assistant`}),compactAccessory:!0}),(0,q.jsx)(V,{title:`Channels`,subtitle:`Where ${n} can be reached.`,children:(0,q.jsx)(Se,{...t})})]})}var Z=new Set([`telegram`,`phone`,`vellum`,`whatsapp`,`slack`,`email`,`platform`,`a2a`]);function we(e){return Z.has(e)}function Te(e,t){return e.id===`a2a`?t&&t.status!==`revoked`?{kind:`connected`}:{kind:`setup`}:t!=null&&K(t)?{kind:`verified`}:t?.status===`blocked`?{kind:`none`}:t&&t.status!==`revoked`?{kind:`unverified`}:{kind:`setup`}}function Ee(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||we(e.type)&&(r.push({id:e.type,source:`default`,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 Q({name:e,className:t,style:n}){switch(e){case`bot`:return(0,q.jsx)(_,{className:t,style:n});case`hash`:return(0,q.jsx)(h,{className:t,style:n});case`send`:return(0,q.jsx)(N,{className:t,style:n});case`phone`:return(0,q.jsx)(g,{className:t,style:n});case`mail`:return(0,q.jsx)(O,{className:t,style:n});case`message-square`:return(0,q.jsx)(k,{className:t,style:n});default:return(0,q.jsx)(W,{className:t,style:n})}}function $({contactChannels:e,availableChannels:t,a2aEnabled:n,setupLabel:r=`Invite`,verifyLoading:i,verifySubject:a=`self`,onSetupChannel:o,onVerifyChannel:s,onRevokeChannel:c,onLinkAccount:l}){let[u,d]=(0,G.useState)(null),[f,p]=(0,G.useState)(null),m=new Map;for(let t of e)t.status!==`revoked`&&(m.has(t.type)||m.set(t.type,t));return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`div`,{className:`flex flex-col`,children:Ee(t,e,n).map((e,t)=>{let n=m.get(e.id);return(0,q.jsxs)(`div`,{children:[t>0&&(0,q.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}),(0,q.jsx)(De,{info:e,existing:n,setupLabel:r,verifyLoading:i,onSetup:o?()=>o(e.id):void 0,onVerify:s&&e.supportsVerification?()=>d(e):void 0,onRevoke:c&&n?()=>p({channelId:n.id,channel:e}):void 0,onLinkAccount:l&&xe.has(e.id)?()=>l(e.id):void 0})]},e.id)})}),u&&(0,q.jsx)(L,{open:!0,title:`Verify ${u.label}`,message:a===`contact`?`This will mark this contact's ${u.label} channel as verified. Your assistant will recognize them when they reach out from it.`:`This will mark your ${u.label} channel as verified. Your assistant will recognize you when you reach out from it.`,confirmLabel:`Verify`,onConfirm:()=>{u&&(s?.(u.id),d(null))},onCancel:()=>d(null)}),f&&(0,q.jsx)(L,{open:!0,title:`Revoke ${f.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:()=>{c?.(f.channelId,f.channel.id),p(null)},onCancel:()=>p(null)})]})}function De({info:e,existing:t,setupLabel:r,verifyLoading:i,onSetup:a,onVerify:o,onRevoke:s,onLinkAccount:c}){let l=Te(e,t);return(0,q.jsxs)(`div`,{className:`flex items-center gap-3 py-4`,children:[(0,q.jsx)(Q,{name:e.icon,className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),(0,q.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:e.label}),t?.address?(0,q.jsx)(`span`,{className:`truncate text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:t.address}):null,(0,q.jsx)(`div`,{className:`ml-auto flex shrink-0 items-center gap-2`,children:l.kind===`connected`?(0,q.jsxs)(q.Fragment,{children:[(0,q.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,q.jsx)(C,{className:`h-3 w-3`}),`Connected`]}),s?(0,q.jsx)(n,{variant:`danger`,onClick:s,children:`Revoke`}):null]}):l.kind===`verified`?(0,q.jsxs)(q.Fragment,{children:[(0,q.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,q.jsx)(C,{className:`h-3 w-3`}),`Verified`]}),s?(0,q.jsx)(n,{variant:`danger`,onClick:s,children:`Revoke`}):null]}):l.kind===`unverified`?(0,q.jsx)(n,{variant:`outlined`,onClick:o,disabled:!o||i,children:i?`Verifying…`:`Verify`}):l.kind===`setup`?e.id===`a2a`?null:(0,q.jsxs)(q.Fragment,{children:[c?(0,q.jsxs)(n,{onClick:c,children:[(0,q.jsx)(E,{className:`h-3.5 w-3.5`}),`Link account`]}):null,(0,q.jsx)(n,{variant:`outlined`,onClick:a,disabled:!a,children:r})]}):null})]})}function Oe(e){return(0,q.jsx)(ke,{...e},e.contact.id)}function ke({contact:e,savePending:t,deletePending:r,verifyPending:i,mergePending:a=!1,canMerge:o=!1,availableChannels:s,a2aEnabled:c,onSave:l,onDelete:u,onMerge:d,onSetupChannel:f,onVerifyChannel:p,onRevokeChannel:m,onLinkAccount:h}){let g=e.displayName===`New Contact`,[_,v]=(0,G.useState)(g?``:e.displayName),[y,b]=(0,G.useState)(e.notes??``),[x,S]=(0,G.useState)(!1),C=_.trim(),w=y.trim(),T=g?``:e.displayName,E=e.notes??``,D=C!==T||w!==E,O=C.length>0&&D&&!t&&!r,k=g&&e.channels.length===0&&e.interactionCount===0,A=C||e.displayName,j=`${e.interactionCount} interaction${e.interactionCount===1?``:`s`}`;return(0,q.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,q.jsx)(V,{title:A,accessory:(0,q.jsx)(Y,{role:e.role,contactType:e.contactType}),compactAccessory:!0,subtitle:j,children:(0,q.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,q.jsx)(F,{label:`Name`,type:`text`,value:_,onChange:e=>v(e.target.value),placeholder:`Give this human a name`,autoFocus:g,disabled:t||r,fullWidth:!0}),(0,q.jsx)(F,{label:`Notes`,type:`text`,value:y,onChange:e=>b(e.target.value),placeholder:`Optional notes about the human which AI will take into account`,disabled:t||r,fullWidth:!0}),(0,q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,q.jsx)(n,{type:`button`,onClick:()=>l({displayName:C,notes:w}),disabled:!O,children:t?`Saving…`:`Save`}),d?(0,q.jsx)(n,{type:`button`,variant:`outlined`,onClick:d,disabled:!o||k||D||a||t||r,title:o?k?`Save this contact before merging`:D?`Save your changes before merging`:void 0:`No other contacts available to merge`,children:a?`Merging…`:`Merge…`}):null,(0,q.jsx)(n,{type:`button`,variant:`danger`,onClick:()=>{k?u():S(!0)},disabled:r,children:r?`Deleting…`:`Delete Contact`})]})]})}),(0,q.jsx)(V,{title:`Linked accounts`,subtitle:`Where the assistant recognizes this contact. Link accounts you know, invite the ones you don't.`,children:(0,q.jsx)($,{contactChannels:e.channels,availableChannels:s,a2aEnabled:c,verifyLoading:i,verifySubject:`contact`,onSetupChannel:f,onVerifyChannel:p,onRevokeChannel:m,onLinkAccount:h})}),(0,q.jsx)(L,{open:x,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:()=>{S(!1),u()},onCancel:()=>S(!1)})]})}function Ae(e){return(0,q.jsx)(je,{...e},`${e.survivor.id}:${e.open?`open`:`closed`}`)}function je({open:e,survivor:t,candidates:r,pending:i,errorMessage:a,onMerge:o,onClose:s}){let[c,l]=(0,G.useState)(``),[d,f]=(0,G.useState)(null);(0,G.useEffect)(()=>{d&&!r.some(e=>e.id===d)&&f(null)},[r,d]);let m=(0,G.useMemo)(()=>{let e=c.trim().toLowerCase();return e?r.filter(t=>t.displayName.toLowerCase().includes(e)):r},[r,c]),h=d?r.find(e=>e.id===d)??null:null,g=Ie(t);return(0,q.jsx)(I.Root,{open:e,onOpenChange:e=>{!e&&!i&&s()},children:(0,q.jsxs)(I.Content,{size:`md`,children:[(0,q.jsxs)(I.Header,{children:[(0,q.jsx)(I.Title,{icon:be,children:h?`Merge "${h.displayName}" into ${g}?`:`Merge another contact into ${g}`}),(0,q.jsx)(I.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,q.jsxs)(I.Body,{className:`flex flex-col gap-3`,children:[h?(0,q.jsx)(Pe,{survivor:t,donor:h}):r.length===0?(0,q.jsx)(Fe,{}):(0,q.jsx)(Me,{search:c,onSearch:l,candidates:m,onPick:f}),a?(0,q.jsx)(u,{as:`p`,variant:`body-small-default`,className:`text-(--system-negative-strong)`,role:`alert`,children:a}):null]}),(0,q.jsx)(I.Footer,{children:h?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(n,{variant:`outlined`,onClick:()=>f(null),disabled:i,leftIcon:(0,q.jsx)(p,{"aria-hidden":!0}),children:`Back`}),(0,q.jsx)(n,{variant:`danger`,onClick:()=>o(h.id),disabled:i,children:i?`Merging…`:`Merge`})]}):(0,q.jsx)(n,{variant:`outlined`,onClick:s,disabled:i,children:`Cancel`})})]})})}function Me({search:e,onSearch:t,candidates:n,onPick:r}){return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(F,{type:`text`,value:e,onChange:e=>t(e.target.value),placeholder:`Search contacts`,leftIcon:(0,q.jsx)(M,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0}),(0,q.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,q.jsx)(u,{as:`p`,variant:`body-small-default`,className:`px-3 py-4 text-center text-(--content-tertiary)`,children:`No matching contacts`}):n.map(e=>(0,q.jsx)(Ne,{contact:e,onPick:()=>r(e.id)},e.id))})]})}function Ne({contact:e,onPick:t}){let n=Be(e).join(` | `)||void 0;return(0,q.jsx)(w,{asChild:!0,label:``,children:(0,q.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,q.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,q.jsx)(`span`,{className:`truncate text-body-medium-default`,children:e.displayName}),n?(0,q.jsx)(`span`,{className:`truncate text-body-small-default text-(--content-tertiary)`,children:n}):null]})})})}function Pe({survivor:e,donor:t}){let n=Ie(e),{moved:r,duplicates:i}=ze(e,t);return(0,q.jsxs)(`ul`,{className:`flex flex-col gap-2 text-body-medium-lighter text-(--content-secondary)`,children:[(0,q.jsxs)(`li`,{children:[(0,q.jsxs)(`span`,{className:`text-(--content-default)`,children:[`“`,t.displayName,`”`]}),` `,`will be deleted.`]}),(0,q.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=>Re(e.type)).join(`, `)}.`}),i.length>0?(0,q.jsxs)(`li`,{className:`text-(--content-tertiary)`,children:[i.length,` duplicate channel`,i.length===1?``:`s`,` already on `,n,` `,`(skipped).`]}):null,t.notes?(0,q.jsx)(`li`,{children:`Notes from the merged contact will be appended.`}):null,(0,q.jsx)(`li`,{className:`text-(--content-tertiary)`,children:`This cannot be undone.`})]})}function Fe(){return(0,q.jsx)(u,{as:`p`,variant:`body-medium-lighter`,className:`px-3 py-6 text-center text-(--content-tertiary)`,children:`No other contacts available to merge.`})}function Ie(e){return e.role===`guardian`?!e.displayName||e.displayName.startsWith(`vellum-principal-`)?`you`:`${e.displayName} (you)`:e.displayName||`this contact`}var Le={slack:`Slack`,telegram:`Telegram`,phone:`Phone`,email:`Email`,whatsapp:`WhatsApp`};function Re(e){return Le[e.toLowerCase()]??e}function ze(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 Be(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(Le[e]??r.type))}return n}function Ve({loading:e,guardian:t,assistantName:r,regularContacts:i,selection:a,onSelect:o,onAddContact:s,addingContact:c=!1}){let[l,u]=(0,G.useState)(``),f=l.trim()?i.filter(e=>e.displayName.toLowerCase().includes(l.trim().toLowerCase())):i;return(0,q.jsx)(d.Root,{className:`flex h-full flex-col overflow-hidden`,children:(0,q.jsxs)(d.Body,{className:`flex min-h-0 min-w-0 flex-1 flex-col gap-4`,children:[(0,q.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,q.jsx)(`h2`,{className:`text-title-medium`,style:{color:`var(--content-default)`},children:`Entries`}),(0,q.jsx)(n,{type:`button`,variant:`ghost`,iconOnly:c?(0,q.jsx)(D,{className:`animate-spin`,"aria-hidden":!0}):(0,q.jsx)(j,{"aria-hidden":!0}),onClick:s,disabled:c,"aria-label":`Add contact`,tintColor:`var(--content-secondary)`})]}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[t?(0,q.jsx)(He,{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,q.jsx)(He,{name:r?.trim()||`Your Assistant`,role:`assistant`,selected:a?.kind===`assistant`,onClick:()=>o({kind:`assistant`}),trailingIcon:`more`})]}),(0,q.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}),i.length>0?(0,q.jsx)(F,{type:`text`,value:l,onChange:e=>u(e.target.value),placeholder:`Search Contacts`,leftIcon:(0,q.jsx)(M,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0}):null,i.length>0?(0,q.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto flex flex-col gap-1`,children:[f.map(e=>(0,q.jsx)(He,{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)),f.length===0?(0,q.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,q.jsx)(n,{type:`button`,variant:`ghost`,onClick:s,disabled:c,tintColor:`var(--primary-base)`,leftIcon:c?(0,q.jsx)(D,{className:`animate-spin`,"aria-hidden":!0}):(0,q.jsx)(ee,{"aria-hidden":!0}),children:`Add Contact`})]})})}function He({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,q.jsx)(w,{asChild:!0,active:i,label:``,trailingAction:o===`pencil`?(0,q.jsx)(A,{className:`h-3.5 w-3.5`,"aria-hidden":!0}):o===`more`?(0,q.jsx)(T,{className:`h-3.5 w-3.5`,"aria-hidden":!0}):void 0,children:(0,q.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,q.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,q.jsx)(`span`,{className:`truncate text-body-medium-default`,children:e}),c?(0,q.jsx)(`span`,{className:`truncate text-body-small-default`,style:{color:`var(--content-tertiary)`},children:c}):null]}),(0,q.jsxs)(`span`,{className:`flex shrink-0 items-center gap-1`,children:[s===void 0?null:(0,q.jsx)(P,{tone:s?`positive`:`neutral`,children:s?`Verified`:`Unverified`}),(0,q.jsx)(Y,{role:t,contactType:n})]})]})})}function Ue(e){return(0,q.jsx)(We,{...e},e.contact.id)}function We({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,G.useState)(h),[v,y]=(0,G.useState)(e.notes??``),b=g.trim(),x=v.trim(),S=b!==h.trim()||x!==(e.notes??``).trim(),C=S&&!t,w=`${e.interactionCount} interaction${e.interactionCount===1?``:`s`}`;return(0,q.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,q.jsx)(V,{title:m?`You`:`${e.displayName} (You)`,accessory:(0,q.jsx)(Y,{role:`guardian`}),compactAccessory:!0,subtitle:w,children:(0,q.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,q.jsx)(F,{label:`Name`,type:`text`,value:g,onChange:e=>_(e.target.value),placeholder:`Your name`,disabled:t,fullWidth:!0}),(0,q.jsx)(F,{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,q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,q.jsx)(n,{variant:`primary`,onClick:()=>c({displayName:b||e.displayName,notes:x}),disabled:!C,children:t?`Saving…`:`Save`}),l?(0,q.jsx)(n,{variant:`outlined`,onClick:l,disabled:!a||S||i||t,title:a?S?`Save your changes before merging`:void 0:`No other contacts available to merge`,children:i?`Merging…`:`Merge…`}):null]})]})}),(0,q.jsx)(V,{title:`Channels`,subtitle:`Once verified, your assistant will recognize you when you message from these channels.`,children:(0,q.jsx)($,{contactChannels:e.channels,availableChannels:o,a2aEnabled:s,setupLabel:`Verify me`,verifyLoading:r,onSetupChannel:u,onVerifyChannel:d,onRevokeChannel:f})}),p?(0,q.jsx)(U,{onClick:p}):null]})}function Ge(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 Ke(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,G.useState)(``);(0,G.useEffect)(()=>{e&&f(``)},[e]);let p=(0,G.useMemo)(()=>Ge(i??[],d),[i,d]),h=s!=null;return(0,q.jsx)(I.Root,{open:e,onOpenChange:e=>!e&&l(),children:(0,q.jsxs)(I.Content,{size:`sm`,children:[(0,q.jsxs)(I.Header,{children:[(0,q.jsxs)(I.Title,{children:[`Link `,t,` account`]}),(0,q.jsxs)(I.Description,{children:[`Search your `,t,` workspace and pick`,` `,(0,q.jsx)(`span`,{className:`text-[color:var(--content-default)]`,children:r}),`’s account.`]})]}),(0,q.jsxs)(I.Body,{className:`flex flex-col gap-3`,children:[(0,q.jsx)(F,{type:`search`,value:d,onChange:e=>f(e.target.value),placeholder:`Search by name or @handle`,"aria-label":`Search ${t} workspace accounts`,leftIcon:(0,q.jsx)(M,{className:`h-4 w-4`}),fullWidth:!0}),o?(0,q.jsx)(`p`,{className:`text-body-small-default text-[color:var(--content-negative)]`,children:o}):null,(0,q.jsx)(`div`,{className:`max-h-80 overflow-y-auto`,children:a?(0,q.jsx)(`p`,{className:`py-4 text-center text-body-small-default text-[color:var(--content-tertiary)]`,children:`Loading workspace members…`}):p.length===0?(0,q.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,q.jsx)(`ul`,{className:`flex flex-col`,children:p.map(e=>(0,q.jsx)(`li`,{children:(0,q.jsxs)(`button`,{type:`button`,onClick:()=>c(e),disabled:h,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,q.jsx)(`img`,{src:e.imageUrl,alt:``,className:`h-8 w-8 shrink-0 rounded-full`}):(0,q.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:Ke(e.displayName)}),(0,q.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[(0,q.jsx)(`span`,{className:`truncate text-body-medium-default text-[color:var(--content-default)]`,children:e.displayName}),(0,q.jsxs)(`span`,{className:`truncate text-body-small-default text-[color:var(--content-tertiary)]`,children:[`@`,e.username]})]}),s===e.id?(0,q.jsx)(`span`,{className:`ml-auto shrink-0 text-body-small-default text-[color:var(--content-tertiary)]`,children:`Linking…`}):null]})},e.id))})})]}),(0,q.jsxs)(I.Footer,{className:`items-center justify-between gap-3 border-t border-[var(--border-base)]`,children:[(0,q.jsxs)(`p`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:[`Picking marks this account as`,` `,(0,q.jsx)(`span`,{className:`text-[color:var(--content-secondary)]`,children:`guardian-linked`}),` `,`— you vouch for the identity, no handshake needed.`]}),u?(0,q.jsxs)(n,{variant:`link`,className:`shrink-0`,onClick:u,disabled:h,children:[`Or send an invite instead`,(0,q.jsx)(m,{className:`h-3.5 w-3.5`})]}):null]})]})})}function Je({assistantId:e,channelType:t,contact:n,onLinked:r}){let[i,a]=(0,G.useState)(!1),o=c({mutationFn:n=>ve(e,n.contact,{type:t,address:n.account.id}),onSuccess:(e,t)=>{a(!1),te.success(`Linked as @${t.account.username}`),r()}}),s=(0,G.useCallback)(()=>{o.reset(),a(!0)},[o]),l=(0,G.useCallback)(()=>{o.isPending||(o.reset(),a(!1))},[o]),u=(0,G.useCallback)(e=>{!n||o.isPending||o.mutate({contact:n,account:e})},[n,o]);return{channelType:t,dialogOpen:i,open:s,close:l,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 Ye=[{id:`slack`,source:`default`,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`,source:`default`,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`,source:`default`,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?`}}],Xe=[];function Ze({assistantId:e,onStartSetupConversation:t}){let n=ue.use.a2aChannel(),r=ne.use.name(),l=o(),[u]=i(),d=u.get(`setup`),f=d&&y(d)?d:null,[p,m]=(0,G.useState)({kind:`assistant`}),h=he(e),[g,_]=(0,G.useState)(!1),[x,S]=(0,G.useState)(!1),C=b(r),w=(0,G.useMemo)(()=>({path:{assistant_id:e}}),[e]),T=le(w),E=s({...ae(w),enabled:!!e,select:e=>e.contacts}),D=me({assistantId:e,onStartSetupConversation:t}),O=s({...ce({path:{assistant_id:e}}),enabled:!!e,queryFn:async({signal:t})=>{let{data:n,error:r,response:i}=await re({path:{assistant_id:e},signal:t,throwOnError:!1});if(!i||i.status===404)return{channels:Ye};if(!i.ok)throw r??Error(`Failed to fetch channel availability`);return n},select:e=>e.channels}).data??Xe,k=E.data,A=(0,G.useMemo)(()=>k?.find(e=>e.role===`guardian`)??null,[k]),j=(0,G.useMemo)(()=>k?.filter(e=>e.role!==`guardian`)??[],[k]),M=(0,G.useMemo)(()=>p.kind===`contact`?k?.find(e=>e.id===p.contactId)??null:null,[k,p]),N=(0,G.useMemo)(()=>!k||!M?[]:k.filter(e=>e.id!==M.id&&e.role!==`guardian`),[k,M]),ee=N.length>0,P=(0,G.useRef)(!!f);(0,G.useEffect)(()=>{P.current||A&&(P.current=!0,m({kind:`contact`,contactId:A.id}))},[A]);let F=(0,G.useCallback)(()=>l.invalidateQueries({queryKey:T}),[l,T]),I=c({mutationFn:()=>_e(e,{displayName:`New Contact`}),onMutate:async()=>{await l.cancelQueries({queryKey:T})},onSuccess:e=>{R(l,w,t=>t?{...t,contacts:[...t.contacts,e]}:void 0),m({kind:`contact`,contactId:e.id})},onError:H(`Failed to create contact`),onSettled:()=>F()}),L=c({mutationFn:t=>ye(e,t),onSuccess:(e,t)=>{R(l,w,e=>e?{...e,contacts:e.contacts.filter(e=>e.id!==t)}:void 0),m({kind:`assistant`})},onError:H(`Failed to delete contact`),onSettled:()=>F()}),z=c({mutationFn:({contactId:t,patch:n})=>_e(e,{id:t,displayName:n.displayName,notes:n.notes}),onSuccess:e=>{R(l,w,t=>t?{...t,contacts:t.contacts.map(t=>t.id===e.id?e:t)}:void 0)},onError:H(`Failed to save contact`),onSettled:()=>F()}),B=oe({onMutate:async()=>{await l.cancelQueries({queryKey:T})},onSuccess:(e,t)=>{let n=e.contact,r=t.body.mergeId;n&&(R(l,w,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})),S(!1),te.success(`Contacts merged`)},onSettled:()=>F()}),V=(0,G.useCallback)(e=>{m(e),_(!1),S(!1),B.reset()},[B]),U=(0,G.useCallback)(()=>{B.reset(),S(!0)},[B]),ve=(0,G.useCallback)(()=>{B.isPending||(S(!1),B.reset())},[B]),W=se({onSuccess:()=>F()}),be=(0,G.useCallback)((t,n)=>{W.mutate({path:{assistant_id:e,contactChannelId:t},body:{status:`revoked`}})},[W,e]),xe=(0,G.useCallback)(()=>{I.isPending||I.mutate()},[I]),K=(0,G.useCallback)(e=>{if(!t)return;let n=O.find(t=>t.id===e)?.setupMessages.contact;n&&t(n)},[O,t]),Se=(0,G.useCallback)(e=>{if(!t)return;let n=O.find(t=>t.id===e)?.setupMessages.guardian;n&&t(n)},[O,t]),J=c({mutationFn:t=>ge(e,t.channelId),onSuccess:()=>F(),onError:H(`Failed to verify channel`)}),Y=(0,G.useCallback)(e=>{if(!M)return;let t=M.channels.find(t=>t.type===e&&t.status!==`revoked`);t&&J.mutate({channelId:t.id})},[M,J]),X=Je({assistantId:e,channelType:`slack`,contact:M?{id:M.id,displayName:M.displayName}:null,onLinked:F}),Z=s({...v(e),enabled:!!e&&X.dialogOpen,select:e=>e.users}),we=D.channels.some(e=>e.key===`slack`&&e.status===`ready`),Te=(0,G.useCallback)(e=>{e===X.channelType&&X.open()},[X]),Ee=L.isPending?L.variables:null,Q=(0,G.useMemo)(()=>M?z.isPending&&z.variables?.contactId===M.id?{...M,displayName:z.variables.patch.displayName,notes:z.variables.patch.notes}:M:null,[M,z.isPending,z.variables]);if(f)return(0,q.jsx)(a,{to:`${ie.channels}?setup=${f}`,replace:!0});let $={loading:E.isLoading,assistantName:C,guardian:A?{id:A.id,displayName:A.displayName.startsWith(`vellum-principal-`)?``:A.displayName,role:A.role,channelTypes:tt(A.channels,n)}:null,regularContacts:j.filter(e=>e.id!==Ee).map(e=>({id:e.id,displayName:e.displayName,role:e.role,contactType:e.contactType,channelTypes:tt(e.channels,n),verified:et(e.channels)})),selection:p,onAddContact:xe,addingContact:I.isPending};return(0,q.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-4 overflow-hidden sm:flex-row sm:gap-6`,children:[(0,q.jsx)(`div`,{className:`flex items-center sm:hidden`,children:(0,q.jsx)(de,{onClick:()=>_(!0)})}),(0,q.jsx)(fe,{open:g,onClose:()=>_(!1),title:`Contacts`,children:(0,q.jsx)(Ve,{...$,onSelect:V})}),(0,q.jsx)(`aside`,{className:`hidden min-h-0 w-[320px] shrink-0 overflow-y-auto self-stretch sm:block`,children:(0,q.jsx)(Ve,{...$,onSelect:V})}),(0,q.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,q.jsx)(Ce,{assistantName:C,channels:D.channels,pendingChannelKey:D.pendingChannelKey,onConnect:D.onSetup,onDisconnect:D.onDisconnect}):Q?Q.role===`guardian`?(0,q.jsx)(Ue,{contact:Q,savePending:z.isPending,verifyPending:J.isPending,mergePending:B.isPending,canMerge:ee,availableChannels:O,a2aEnabled:n,onSave:e=>{z.mutate({contactId:Q.id,patch:e})},onMerge:U,onSetupChannel:t?Se:void 0,onVerifyChannel:Y,onRevokeChannel:be,onGenerateInviteLink:n?h.open:void 0}):(0,q.jsx)(Oe,{contact:Q,savePending:z.isPending,deletePending:L.isPending,verifyPending:J.isPending,mergePending:B.isPending,canMerge:ee,availableChannels:O,a2aEnabled:n,onSave:e=>{z.mutate({contactId:Q.id,patch:e})},onDelete:()=>{L.mutate(Q.id)},onMerge:U,onSetupChannel:t?K:void 0,onVerifyChannel:Y,onRevokeChannel:be,onLinkAccount:we?Te:void 0}):(0,q.jsx)(Qe,{})}),M?(0,q.jsx)(Ae,{open:x,survivor:M,candidates:N,pending:B.isPending,errorMessage:B.error instanceof Error?B.error.message:B.error?`Failed to merge contacts`:null,onMerge:t=>B.mutate({path:{assistant_id:e},body:{keepId:M.id,mergeId:t}}),onClose:ve}):null,(0,q.jsx)(qe,{open:X.dialogOpen,channelLabel:`Slack`,contactName:M?.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(),K(X.channelType)}:void 0}),(0,q.jsx)(pe,{open:h.isOpen,assistantId:e,onClose:h.close})]})}function Qe(){return(0,q.jsx)(`div`,{className:`flex h-full items-center justify-center py-16`,children:(0,q.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Select a contact`})})}var $e={slack:`Slack`,telegram:`Telegram`,phone:`Phone`,email:`Email`,whatsapp:`WhatsApp`,a2a:`A2A`};function et(e){return e.some(e=>e.status!==`revoked`&&(e.type===`a2a`||K(e)))}function tt(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($e[e]??i.type))}return r}function nt(){let e=r(),t=B();return(0,q.jsx)(Ze,{assistantId:t,onStartSetupConversation:t=>{z(e,{prompt:t})}},t)}export{nt as ContactsPageRoute};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{_ as e,c as t,d as n,u as r,x as i}from"./conversation-list-fetchers-DbR1ODKx.js";async function a(e,t){await Promise.all([e.cancelQueries({queryKey:r(t)}),e.cancelQueries({queryKey:i(t)})])}function o(e,t){return e.getQueriesData({queryKey:r(t)}).map(([e,t])=>[e,t])}function s(e,t){for(let[n,r]of t)e.setQueryData(n,r)}async function c(e,t){await Promise.all([e.invalidateQueries({queryKey:r(t)}),e.invalidateQueries({queryKey:i(t)})])}function l(e,t,n){e.setQueryData(t,e=>{let t=e??[],r=n(t);return r===t?e:r})}function u(e,t,r){l(e,n(t),r)}function d(e,n,r){l(e,t(n),r)}function f(t,n,r){l(t,e(n),r)}function p(e,t,n){if(!t)return;let i=e.getQueriesData({queryKey:r(t)});for(let[t,r]of i){if(!r)continue;let i=n(r);i!==r&&e.setQueryData(t,i)}}function m(e,t,n){if(!t)return;let i=e.getQueriesData({queryKey:r(t)});for(let[,e]of i){let t=e?.find(e=>e.conversationId===n);if(t)return t}}function h(...e){let[t=[],...n]=e;if(n.every(e=>e.length===0))return t;let r=new Set(t.map(e=>e.conversationId)),i=[...t];for(let e of n)for(let t of e)r.has(t.conversationId)||(r.add(t.conversationId),i.push(t));return i}function g(e,t){return t?h(...e.getQueriesData({queryKey:r(t)}).map(([,e])=>e??[])):[]}function _(e,t,n,r){p(e,t,e=>{let t=!1,i=e.map(e=>e.conversationId===n?(t=!0,{...e,...r}):e);return t?i:e})}export{h as a,o as c,u as d,f,c as i,p as l,m as n,_ as o,g as r,s,a as t,d as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./queryOptions-CMSBCFOf.js";import{a as t,i as n,n as r,t as i}from"./api-errors-BePw2zjj.js";import{$ as a,st as o}from"./sdk.gen-CRqU0Sdn.js";import{O as s}from"./react-query.gen-DfH8CP-D.js";import{t as c}from"./client-perf-BP44QHD3.js";import{a as l}from"./diagnostics-5GSGt7VY.js";function u(e){return e.surfacedAt==null?e.conversationType===`background`||e.conversationType===`scheduled`||e.groupId===`system:background`||e.groupId===`system:scheduled`:!1}function d(e){return e.conversationType===`scheduled`||e.groupId===`system:scheduled`}function f(e){return!e.hasUnseenLatestAssistantMessage&&!u(e)&&e.conversationId!=null&&e.latestAssistantMessageAt!=null}function p(e){return e.hasUnseenLatestAssistantMessage===!0&&!u(e)&&e.conversationId!=null}function m(e){return e.hasUnseenLatestAssistantMessage===!0&&!u(e)&&e.archivedAt==null}function h(e){return e.reduce((e,t)=>m(t)?e+1:e,0)}function g(e){let t=e.headers.get(`content-length`);if(t===null||t.trim()===``)return null;let n=Number(t);return Number.isFinite(n)?n:null}function _(e){return typeof e==`number`&&Number.isFinite(e)?e:void 0}function v(e){return typeof e==`string`?e:void 0}function y(e){if(e)return{sourceChannel:e.sourceChannel,externalChatId:e.externalChatId,externalThreadId:e.externalThreadId,externalChatName:e.externalChatName,externalUserId:v(e.externalUserId),displayName:v(e.displayName),username:v(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 b(e){let t=e.assistantAttention,n=e.channelBinding?.sourceChannel??v(e.conversationOriginChannel);return{conversationId:e.id,title:e.title,createdAt:_(e.createdAt),lastMessageAt:_(e.lastMessageAt??e.updatedAt),hasUnseenLatestAssistantMessage:t?.hasUnseenLatestAssistantMessage,latestAssistantMessageAt:_(t?.latestAssistantMessageAt),lastSeenAssistantMessageAt:_(t?.lastSeenAssistantMessageAt),archivedAt:e.archivedAt,surfacedAt:_(e.surfacedAt),groupId:v(e.groupId),source:e.source,isPinned:e.isPinned,conversationType:e.conversationType,scheduleJobId:e.scheduleJobId,displayOrder:_(e.displayOrder),channelBinding:y(e.channelBinding),originChannel:n,isProcessing:e.isProcessing,historyOrphaned:e.historyOrphaned}}function x(e){return b(e)}var S=`conversation-list`;function C(e){return[S,e??``]}function w(e){return[S,e??``,`foreground`]}function T(e){return[S,e??``,`archived`]}function E(e){return[S,e??``,`background`]}function D(e){return[S,e??``,`scheduled`]}function O(e){return[S,e??``,`section`]}function k(e,t){return[S,e??``,`section`,t.groupId??``,t.originChannel??``]}function A(e){return s({path:{assistant_id:e??``}})}function j(e){return(t,n)=>(n[e]??0)-(t[e]??0)}var M=50,N=200,P=[`telegram`,`phone`,`vellum`,`whatsapp`,`slack`,`email`,`platform`,`a2a`,`discord`];function F(e){return e.archiveStatus===`archived`?`archived`:e.conversationType===void 0?e.originChannel===void 0?e.groupId===void 0?`foreground`:`section`:`origin_channel`:e.conversationType}function I(e,t,n,r){l(`conversation_list_page_fetch`,{assistantId:e,offset:0,status:t.status,count:t.conversations.length,hasMore:t.hasMore,durationMs:t.durationMs,bytes:t.bytes,listKind:n,source:r})}async function L(e,t,o,s={}){let{conversationType:c,archiveStatus:u,originChannel:d,groupId:f}=s,p=performance.now(),{data:m,error:h,response:_}=await a({path:{assistant_id:e},query:{limit:M,offset:t,...c?{conversationType:c}:{},...u?{archiveStatus:u}:{},...d?{originChannel:d}:{},...f?{groupId:f}:{}},throwOnError:!1});r(_,h,`Failed to list conversations.`);let v=Math.round(performance.now()-p);if(!_.ok){l(`conversation_list_page_fetch_error`,{assistantId:e,offset:t,status:_.status,durationMs:v,bytes:g(_),listKind:F(s),source:o});let r=n(h,_,`Failed to list conversations.`);throw new i(_.status,r)}return{conversations:(m?.conversations??[]).map(b),hasMore:m?.hasMore??!1,status:_.status,durationMs:v,bytes:g(_)}}async function R(e,t={}){let n=[],r=new Set,i=performance.now(),a=0,o=0,s=null,u=r=>{let u=Math.round(performance.now()-i);l(`conversation_list_drain`,{assistantId:e,outcome:r,pages:a,rows:n.length,totalMs:u,maxPageMs:o,totalBytes:s,listKind:F(t)}),c(`client_list.drain`,u,{outcome:r,pages:a,rows:n.length,max_page_ms:o,total_bytes:s,list_kind:F(t)})};try{for(let i=0;i<N;i++){let c=await L(e,i*M,`drain`,t);a++,o=Math.max(o,c.durationMs),c.bytes!==null&&(s=(s??0)+c.bytes),i===0&&I(e,c,F(t),`drain`);for(let e of c.conversations)r.has(e.conversationId)||(r.add(e.conversationId),n.push(e));if(!c.hasMore||c.conversations.length===0)break}}catch(e){throw u(`error`),e}return u(`ok`),n}async function z(e,t=`active`,n=`lastMessageAt`){let r=t===`active`?{}:{archiveStatus:t},i={...r,conversationType:`background`},[a,o]=await Promise.allSettled([R(e,r),R(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(j(n)),u}async function B(e){return[...await R(e)].sort(j(`lastMessageAt`))}async function V(e){let{conversations:t}=await L(e,0,`existence_probe`);return t.length>0}async function H(e){return(await R(e,{conversationType:`background`})).filter(e=>!d(e)).sort(j(`lastMessageAt`))}async function U(e){return[...await R(e,{conversationType:`scheduled`})].sort(j(`lastMessageAt`))}var W=`system:pinned`,G=`system:all`,K=`vellum`;async function q(e,t){return R(e,t)}async function J(e){return z(e,`archived`,`archivedAt`)}async function Y(e,n){let{data:i,error:a,response:s}=await o({path:{assistant_id:e},throwOnError:!1,signal:n});if(r(s,a,`Failed to fetch unread conversation count.`),!s.ok){if(s.status===404)return null;throw t(a,s)}return i?.count??null}async function X(e){let t=await L(e,0,`first_page_refresh`);return I(e,t,`foreground`,`first_page_refresh`),{conversations:[...t.conversations].sort(j(`lastMessageAt`)),hasMore:t.hasMore}}async function Z(e){let t=await L(e,0,`first_page_refresh`,{conversationType:`background`});return I(e,t,`background`,`first_page_refresh`),{conversations:t.conversations.filter(e=>!d(e)).sort(j(`lastMessageAt`)),hasMore:t.hasMore}}async function Q(e){let t=await L(e,0,`first_page_refresh`,{conversationType:`scheduled`});return I(e,t,`scheduled`,`first_page_refresh`),{conversations:[...t.conversations].sort(j(`lastMessageAt`)),hasMore:t.hasMore}}var $=3e4;function ee(t){return e({queryKey:w(t),queryFn:()=>B(t),staleTime:$})}function te(t){return e({queryKey:E(t),queryFn:()=>H(t),staleTime:$})}function ne(t){return e({queryKey:D(t),queryFn:()=>U(t),staleTime:$})}function re(t){return e({queryKey:T(t),queryFn:()=>J(t),staleTime:$})}function ie(t,n){return e({queryKey:k(t,n),queryFn:()=>q(t,n),staleTime:$})}function ae(t){return e({queryKey:A(t),queryFn:({signal:e})=>Y(t,e),staleTime:$,refetchOnWindowFocus:!1})}export{g as C,h as D,m as E,u as O,x as S,f as T,D as _,re as a,ae as b,E as c,w as d,V as f,ne as g,Q as h,W as i,d as k,ee as l,X as m,P as n,T as o,Z as p,G as r,te as s,K as t,C as u,ie as v,p as w,A as x,O as y};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{d as e}from"./routes-CuLukUZB.js";import{t}from"./conversation-store-HPocOG5t.js";import{i as n}from"./viewer-store-COM96tAr.js";import{t as r}from"./haptics-Dl5xy-eo.js";import{r as i}from"./subagent-store-BukqLmPz.js";import{t as a}from"./workflow-store-Djibyv80.js";import{t as o}from"./conversation-selection-D1xKCng8.js";import{t as s}from"./sound-manager-vLKw0z0c.js";var c=`vellum:focus-composer`,l=!1;function u(){l=!0,typeof window<`u`&&window.dispatchEvent(new Event(c))}function d(){let e=l;return l=!1,e}var f=[`input`,`textarea`,`select`,`[contenteditable=""]`,`[contenteditable="true"]`,`[role="textbox"]`].join(`,`);function p(e){return!!e?.closest(f)}function m(e){return!!e?.closest(`a[href], button, summary`)}function h(e,t){return!(e.defaultPrevented||e.metaKey||e.ctrlKey||e.altKey||e.isComposing||e.keyCode===229||typeof e.key!=`string`||e.key.length!==1||p(t)||e.key===` `&&m(t))}function g({value:e,text:t,selectionStart:n,selectionEnd:r}){let i=Math.max(0,Math.min(n??e.length,e.length)),a=Math.max(i,Math.min(r??i,e.length));return{value:e.slice(0,i)+t+e.slice(a),cursor:i+t.length}}function _(o,s,c){c?.silent||r.light(),n.getState().setMainView(`chat`),s!==t.getState().activeConversationId&&(i.getState().reset(),a.getState().reset(),n.getState().clearTranscriptPanelPayloads()),t.getState().setActiveConversationId(s),o(c?.messageId?e.conversationAtMessage(s,c.messageId):e.conversation(s))}function v(c,l){l?.silent||(r.light(),s().play(`new_conversation`)),n.getState().setMainView(`chat`),i.getState().reset(),a.getState().reset(),n.getState().clearTranscriptPanelPayloads();let d=o();t.getState().setActiveConversationId(d);let f=e.conversation(d);if(l?.prompt){let e=new URLSearchParams({prompt:l.prompt});f=`${f}?${e.toString()}`}c(f),u()}export{g as a,d as i,v as n,u as o,c as r,h as s,_ as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./useQuery-Bz-fbQ-m.js";import{r}from"./use-is-org-ready-DDPvNjGQ.js";import{M as i}from"./react-query.gen-DfH8CP-D.js";import{D as a,a as o,b as s,g as c,l,s as u,v as d}from"./conversation-list-fetchers-DbR1ODKx.js";var f=e(t(),1),p=[],m=[];function h(e,t=!0){let i=r(),a=n({...l(e),enabled:t&&!!e&&i});return{conversations:a.data??p,isLoading:a.isLoading,isPending:a.isPending,isError:a.isError,error:a.error,refetch:()=>{a.refetch()}}}function g(e,t=!0){let i=r(),a=n({...u(e),enabled:t&&!!e&&i});return{conversations:a.data??p,isLoading:a.isLoading,isPending:a.isPending,isError:a.isError,refetch:()=>{a.refetch()}}}function _(e,t=!0){let i=r(),a=n({...c(e),enabled:t&&!!e&&i});return{conversations:a.data??p,isLoading:a.isLoading,isPending:a.isPending,isError:a.isError,refetch:()=>{a.refetch()}}}function v(e,t,i=!0){let a=r(),o=n({...d(e,t),enabled:i&&!!e&&a});return{conversations:o.data??p,isLoading:o.isLoading,isPending:o.isPending,isError:o.isError,hasData:o.data!==void 0}}function y(e,t=!0){let i=r();return n({...s(e),enabled:t&&!!e&&i}).data??null}function b(e,t,n=!0){let r=y(e,n),i=(0,f.useMemo)(()=>a(t),[t]);return Math.max(0,r??i)}function x(e,t=!0){let i=r(),a=n({...o(e),enabled:t&&!!e&&i});return{conversations:a.data??p,isLoading:a.isLoading,isPending:a.isPending,isError:a.isError,error:a.error,refetch:()=>{a.refetch()}}}function S(e,t=!0){let a=r(),o=n({...i({path:{assistant_id:e??``}}),select:e=>e.groups,enabled:t&&!!e&&a,staleTime:3e4});return{conversationGroups:o.data??m,isLoading:o.isLoading}}export{_ as a,h as i,g as n,v as o,S as r,b as s,x as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./conversation-store-HPocOG5t.js";function t(){let t=typeof globalThis.crypto?.randomUUID==`function`?globalThis.crypto.randomUUID():`draft-${Date.now()}-${Math.random().toString(16).slice(2)}`;return e.getState().registerDraftConversationId(t),t}function n({platformStartsInNewChat:e,urlConversationId:t,currentConversationId:n}){return e&&t==null&&n==null}function r(e,t){let n=e.find(e=>e.conversationId===t);return n?n.surfacedAt==null?n.conversationType!==`background`&&n.conversationType!==`scheduled`&&n.groupId!==`system:background`&&n.groupId!==`system:scheduled`:!0:!1}function i({queryParamKey:e,onboardingDraftConversationId:t,newChatDraftConversationId:n,currentConversationId:i,currentAssistantId:a,nextAssistantId:o,storedConversationId:s,defaultConversationId:c,conversations:l}){return e||t||(a===o&&i?i:n||(s&&r(l,s)?s:c))}export{i as n,n as r,t};
|