@vellumai/web 0.10.8 → 0.10.9-dev.202607152225.ec6fdbf
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{AnimatePresence-s1Z1HHWx.js → AnimatePresence-TZWSGjkI.js} +1 -1
- package/dist/assets/{BundleConfirmPage-C6bP7QB3.js → BundleConfirmPage-DgcqY17E.js} +1 -1
- package/dist/assets/{Combination-Cd_aWAsj.js → Combination-BJXmG5wD.js} +1 -1
- package/dist/assets/{a2a-invite-B9cylfIO.js → a2a-invite-hUo4WSAL.js} +1 -1
- package/dist/assets/{about-page-XGv9RAQu.js → about-page-BXF1KCN9.js} +1 -1
- package/dist/assets/account-page-BtKfeSgV.js +1 -0
- package/dist/assets/{account-shell-CdhP9l8T.js → account-shell-BVt4WGoT.js} +1 -1
- package/dist/assets/{acp-run-detail-panel-B1-zyOUe.js → acp-run-detail-panel-dcYWtQOo.js} +4 -4
- package/dist/assets/activity-steps-panel-GH3dyhG2.js +1 -0
- package/dist/assets/{add-credits-modal-PP1PX8Qv.js → add-credits-modal-XShL7AQ5.js} +1 -1
- package/dist/assets/ai-page-P438M1mx.js +1 -0
- package/dist/assets/animated-avatar-Y-A_0vmk.js +1 -0
- package/dist/assets/{api-_7pKLlYA.js → api-BsCfy4XV.js} +1 -1
- package/dist/assets/{api-BsQZ81K5.js → api-Dj9Z-j-6.js} +1 -1
- package/dist/assets/{api-key-screen-DTSP_-Da.js → api-key-screen-D5mqS5uB.js} +1 -1
- package/dist/assets/app-types-CTJGOi24.js +1 -0
- package/dist/assets/archive-redirect-page-BzPbcTFb.js +1 -0
- package/dist/assets/arrow-left-C2re-gYj.js +1 -0
- package/dist/assets/{assistant-feature-flag-store-DA8Oj9Mf.js → assistant-feature-flag-store-eHqy0FOb.js} +1 -1
- package/dist/assets/assistant-identity-store-Bc4hbSCe.js +1 -0
- package/dist/assets/assistant-status-panel-Dnnejpmx.js +1 -0
- package/dist/assets/auth-store-Ce9wqr8c.js +2 -0
- package/dist/assets/background-task-detail-panel-Dr2O-AOO.js +1 -0
- package/dist/assets/ban-Ih5bAOHZ.js +1 -0
- package/dist/assets/{bell-BQLonLMp.js → bell-BbESwsZk.js} +1 -1
- package/dist/assets/billing-page-Cuir7xDL.js +3 -0
- package/dist/assets/{bookmark-CNrithFf.js → bookmark-Dzconbsv.js} +1 -1
- package/dist/assets/{bookmarks-page-CjcavZv8.js → bookmarks-page-IeNT-se-.js} +1 -1
- package/dist/assets/{brain-BLDXGaUy.js → brain-CMiHVWFK.js} +1 -1
- package/dist/assets/browser-CUdEL48R.js +2 -0
- package/dist/assets/{bug-BsuQ5ciQ.js → bug-YmXTm_XW.js} +1 -1
- package/dist/assets/{build-state-PUXrUU4W.js → build-state-Cc8lgfTd.js} +1 -1
- package/dist/assets/button-BQVYX8n_.js +1 -0
- package/dist/assets/{calendar-h-mv1itX.js → calendar-D0labpMU.js} +1 -1
- package/dist/assets/card-D8zyWtZh.js +1 -0
- package/dist/assets/channels-page-route-HVoMtCIE.js +9 -0
- package/dist/assets/chat-CPqIbgZQ.js +1 -0
- package/dist/assets/chat-markdown-message-DekUplzJ.js +2 -0
- package/dist/assets/check-wF3S-AV4.js +1 -0
- package/dist/assets/checkbox-m-fy9ift.js +1 -0
- package/dist/assets/{chevron-down-qD-re7AW.js → chevron-down-DpYf9Gwq.js} +1 -1
- package/dist/assets/chevron-left-B_RAz34t.js +1 -0
- package/dist/assets/chevron-right-jRymmL7S.js +1 -0
- package/dist/assets/{chevron-up-3jCod9LW.js → chevron-up-DHI-QRpz.js} +1 -1
- package/dist/assets/{chunk-5KNZJZUH-DdS6bb-3.js → chunk-5KNZJZUH-SU6Q_tDT.js} +1 -1
- package/dist/assets/{circle-alert-zOqdmf25.js → circle-alert-CTnM6GCb.js} +1 -1
- package/dist/assets/circle-check-DqvTjWle.js +1 -0
- package/dist/assets/{client-feature-flag-store-DkJl-g9A.js → client-feature-flag-store-BWSPRAZI.js} +1 -1
- package/dist/assets/{client-identity-CadrtY_b.js → client-identity-C1M6QeKU.js} +1 -1
- package/dist/assets/{clipboard-copy-DF6K1xc6.js → clipboard-copy-DbekAYi3.js} +1 -1
- package/dist/assets/{cloud-off-Db1nySkc.js → cloud-off-Cj66Ozsp.js} +1 -1
- package/dist/assets/code-D1zl7aOd.js +1 -0
- package/dist/assets/{command-palette-6o4m7BM9.js → command-palette-D0KUPO0z.js} +1 -1
- package/dist/assets/{command-palette-window-page-BsJlr5bh.js → command-palette-window-page-C7FWkvBe.js} +1 -1
- package/dist/assets/{community-page-CJA4JfuC.js → community-page-DdajiWNT.js} +1 -1
- package/dist/assets/{confirm-dialog-CSkhRFRk.js → confirm-dialog-kE8y7s20.js} +1 -1
- package/dist/assets/{connect-page-DZgU3jCf.js → connect-page-8DGIdo6r.js} +1 -1
- package/dist/assets/consent-Bg13wifR.js +1 -0
- package/dist/assets/{consent-controls-Cnr1DzCr.js → consent-controls-9HzLiDGE.js} +1 -1
- package/dist/assets/{contacts-gateway-CW5CipBv.js → contacts-gateway-DsqzGIxS.js} +1 -1
- package/dist/assets/contacts-page-route-DKRLyHc9.js +1 -0
- package/dist/assets/{conversation-list-fetchers-DS9vmqfD.js → conversation-list-fetchers-CQ_dcy46.js} +1 -1
- package/dist/assets/{cpu-BJuB2Khn.js → cpu-CEyjQpZz.js} +1 -1
- package/dist/assets/{credential-entry-page-9H2HOu88.js → credential-entry-page-Bz05OQ1l.js} +1 -1
- package/dist/assets/credentials-page-DQUaGcSk.js +1 -0
- package/dist/assets/{credit-card-BuyWdO9t.js → credit-card-BY-vD21O.js} +1 -1
- package/dist/assets/danger-zone-redirect-page-BObfZbXc.js +1 -0
- package/dist/assets/debug-page-CHEFIcwt.js +4 -0
- package/dist/assets/{deploy-dialogs-paL_zcvG.js → deploy-dialogs-CHO7qgXb.js} +1 -1
- package/dist/assets/detail-card-ft5Na6Jw.js +1 -0
- package/dist/assets/{detail-panel-stop-button-y7O3HqJj.js → detail-panel-stop-button-DFd5vXbh.js} +1 -1
- package/dist/assets/developer-page-D5TyzQhJ.js +1 -0
- package/dist/assets/device-settings-BBwtGKJb.js +1 -0
- package/dist/assets/devices-redirect-page-C1LQBzrn.js +1 -0
- package/dist/assets/{diagnostics-COsnZMe5.js → diagnostics-BbfP585e.js} +1 -1
- package/dist/assets/{dictation-overlay-page-BkEBWrWm.js → dictation-overlay-page-DButFzu3.js} +1 -1
- package/dist/assets/{dist-CxHeCOEv.js → dist-Btg1osd6.js} +1 -1
- package/dist/assets/{dist-DqmYHxdg.js → dist-CxzJhU4a.js} +1 -1
- package/dist/assets/dist-Df9Kbc9v.js +1 -0
- package/dist/assets/{dist-HJ505Xnn.js → dist-URk13ITj.js} +1 -1
- package/dist/assets/document-viewer-page-ChwaY2Gu.js +1 -0
- package/dist/assets/{domain-field-C5a2iMot.js → domain-field-DKKi4dF-.js} +1 -1
- package/dist/assets/{download-CAuK-nZ6.js → download-B6XjnEzx.js} +1 -1
- package/dist/assets/dropdown-BxYrCXBS.js +1 -0
- package/dist/assets/edge-swipe-arbiter-store-CdpmheQU.js +1 -0
- package/dist/assets/effective-timezone-D6A5ISj1.js +1 -0
- package/dist/assets/{emails-page-7c9kVi_k.js → emails-page-DsPeayRI.js} +1 -1
- package/dist/assets/esm-BIBV_tQW.js +1 -0
- package/dist/assets/esm-BpVuRCaK.js +2 -0
- package/dist/assets/{esm-CT8NUp3h.js → esm-BtlRHesG.js} +2 -2
- package/dist/assets/esm-C0eM5us1.js +2 -0
- package/dist/assets/esm-Cjx6Josx.js +2 -0
- package/dist/assets/esm-_n61e_LE.js +2 -0
- package/dist/assets/esm-p7tDK3Q-.js +2 -0
- package/dist/assets/{external-link-Dqpx9nRm.js → external-link-Cczz6xJ4.js} +1 -1
- package/dist/assets/eye-C2rSrbD-.js +1 -0
- package/dist/assets/eye-off-BQ9J3pF2.js +1 -0
- package/dist/assets/feature-flag-catalog-CAYgyMOh.js +1 -0
- package/dist/assets/{file-DsyJLS2u.js → file-C8pjlmtk.js} +1 -1
- package/dist/assets/file-editor-BzlaskSf.js +1 -0
- package/dist/assets/file-markdown-wMH_OULm.js +2 -0
- package/dist/assets/{file-text-CYJz-GvF.js → file-text-DA128T4K.js} +1 -1
- package/dist/assets/folder-open-7DKBH5WB.js +1 -0
- package/dist/assets/general-page-DUGHbJWs.js +1 -0
- package/dist/assets/{globe-4qSOWE2N.js → globe-inD5tOKN.js} +1 -1
- package/dist/assets/haptics-CBEu5JKM.js +2 -0
- package/dist/assets/{hard-drive-rDxhoRUm.js → hard-drive-BXh9qCfi.js} +1 -1
- package/dist/assets/hatching-screen-BfL6mMQl.js +1 -0
- package/dist/assets/home-page-route-CRwgwG7m.js +1 -0
- package/dist/assets/{hosting-screen-BZLZular.js → hosting-screen-CiNC7D5K.js} +1 -1
- package/dist/assets/identity-page-route-CWHBHNdp.js +7 -0
- package/dist/assets/index-31nbLUeS.js +209 -0
- package/dist/assets/index-Bp6Atcow.css +2 -0
- package/dist/assets/{info-DsOyuMO9.js → info-DLFMsCl-.js} +1 -1
- package/dist/assets/ingest-B0ofnlye.js +1 -0
- package/dist/assets/input-6HVXMszw.js +1 -0
- package/dist/assets/inspect-page-CU5v4vjm.js +9 -0
- package/dist/assets/integrations-page-Bf9wNW1o.js +1 -0
- package/dist/assets/intelligence-layout-BnPHR15j.js +1 -0
- package/dist/assets/{key-round-CD3JWrs1.js → key-round-BggUE1Ns.js} +1 -1
- package/dist/assets/keyboard-shortcuts-redirect-page-ChK4kTis.js +1 -0
- package/dist/assets/latest-assistant-text-B12Sw3_u.js +24 -0
- package/dist/assets/library-detail-page-DBg_wsW2.js +1 -0
- package/dist/assets/library-page-BLEm33Z3.js +1 -0
- package/dist/assets/{link-2-4bMylQ5v.js → link-2-YnZe-oMg.js} +1 -1
- package/dist/assets/list-row-B9k-FoZv.js +1 -0
- package/dist/assets/loader-circle-C9QrtO3C.js +1 -0
- package/dist/assets/{local-mode-grqHUoNh.js → local-mode-Bskd5bsT.js} +1 -1
- package/dist/assets/{log-in--aqELu3z.js → log-in-Xv-AVlu8.js} +1 -1
- package/dist/assets/{login-flow-B6q00uIW.js → login-flow-CmlnYi0j.js} +1 -1
- package/dist/assets/login-page-CGHvLIez.js +1 -0
- package/dist/assets/{logout-page-BV0URcAd.js → logout-page-DuPCZ90A.js} +1 -1
- package/dist/assets/logs-layout-BRxIej3c.js +1 -0
- package/dist/assets/memory-page-route-pnpeSii_.js +1 -0
- package/dist/assets/{memory-router-playground-page-CQxX6mCn.js → memory-router-playground-page-LGFJw3s7.js} +1 -1
- package/dist/assets/menu-CLA56vz8.js +1 -0
- package/dist/assets/{messages-Bl6a3LUN.js → messages-DBgRkgBa.js} +2 -2
- package/dist/assets/{metric-card-DvXjHVCV.js → metric-card-C3DDH1u1.js} +1 -1
- package/dist/assets/mic-Dmvwrxe8.js +1 -0
- package/dist/assets/{middleware-pbPQ0upo.js → middleware-DL-IveDQ.js} +1 -1
- package/dist/assets/{minimize-2-Clnet2W7.js → minimize-2-B8VHIj-G.js} +1 -1
- package/dist/assets/{misc-BYQPh7vS.js → misc-CS-Pktrv.js} +1 -1
- package/dist/assets/mobile-sidebar-drawer-CfUSy_Ou.js +1 -0
- package/dist/assets/modal-bIQsMU63.js +1 -0
- package/dist/assets/{monitor-DfbL8_59.js → monitor-Cy7Q70-7.js} +1 -1
- package/dist/assets/{moon-B8qiwjrW.js → moon-jDX7sipq.js} +1 -1
- package/dist/assets/mutation-error-CFLGO21o.js +1 -0
- package/dist/assets/native-biometric-BvCjSInu.js +6 -0
- package/dist/assets/{native-file-DI99Emal.js → native-file-C6oXU5FE.js} +2 -2
- package/dist/assets/notice-BiZA71pR.js +1 -0
- package/dist/assets/notifications-page-clztNuMl.js +1 -0
- package/dist/assets/{oauth-complete-page-BlJm9tRJ.js → oauth-complete-page-BK-eCVgQ.js} +1 -1
- package/dist/assets/{oauth-popup-complete-page-BqUopTat.js → oauth-popup-complete-page-Cs2egwq6.js} +1 -1
- package/dist/assets/onboarding-store-tqBxGvkR.js +1 -0
- package/dist/assets/page-shell-BvXbg7Db.js +1 -0
- package/dist/assets/{pairing-page-B5GrCx4C.js → pairing-page-BE4ph4ik.js} +1 -1
- package/dist/assets/panel-item-CfuwAm7q.js +1 -0
- package/dist/assets/password-reset-page-8SeFGA1l.js +1 -0
- package/dist/assets/{pencil-CUIr0IFo.js → pencil-BOTCmXXR.js} +1 -1
- package/dist/assets/personality-page-DncIme1O.js +1 -0
- package/dist/assets/platform-detection-BTuzpl34.js +1 -0
- package/dist/assets/platform-loopback-page-LBbH5z8z.js +1 -0
- package/dist/assets/{plugin-detail-page-Byuqbr1N.js → plugin-detail-page-CiUmOJx4.js} +1 -1
- package/dist/assets/plugins-page-DGpvzJ6A.js +1 -0
- package/dist/assets/plugins-surface-B2vYGNIS.js +1 -0
- package/dist/assets/plus-D54jrPDF.js +1 -0
- package/dist/assets/popover-rW459udD.js +1 -0
- package/dist/assets/prechat-route-Blw5oByr.js +1 -0
- package/dist/assets/prefs-BhGkdtWC.js +1 -0
- package/dist/assets/privacy-page-DtJ7Ta9Q.js +1 -0
- package/dist/assets/privacy-screen-DCmdN-F6.js +1 -0
- package/dist/assets/{usage-window-C6gWu5Qu.js → profile-metadata-CbcuGTHP.js} +1 -1
- package/dist/assets/progress-bar-Wa6qo8OT.js +1 -0
- package/dist/assets/provider-callback-page-DqiHRsf7.js +1 -0
- package/dist/assets/{provider-key-3AHnKoz9.js → provider-key-BIMvWJCe.js} +1 -1
- package/dist/assets/provider-signup-page-D5rIiZ2o.js +1 -0
- package/dist/assets/puzzle-0_oQwgsv.js +1 -0
- package/dist/assets/{quick-input-page-Cv_CzapK.js → quick-input-page-BEwEfXyk.js} +1 -1
- package/dist/assets/react-query.gen-DjmYXavs.js +1 -0
- package/dist/assets/react-query.gen-JxTd3SS8.js +1 -0
- package/dist/assets/{refresh-cw-DevIHL7J.js → refresh-cw-BkscUrbN.js} +1 -1
- package/dist/assets/{remote-gateway-session-CbBWrPZH.js → remote-gateway-session-CBKZhJak.js} +1 -1
- package/dist/assets/{repeat-C8Im6j--.js → repeat-BRYsTqh_.js} +1 -1
- package/dist/assets/research-mock-page-VikWGUam.js +1 -0
- package/dist/assets/research-onboarding-route-BiLio9x3.js +42 -0
- package/dist/assets/{resize-errors-DqIkO0UI.js → resize-errors-yH10K9Qq.js} +1 -1
- package/dist/assets/{resolved-assistants-store-BSZbT8Ju.js → resolved-assistants-store-DAzPZ1eV.js} +1 -1
- package/dist/assets/{return-to-BwxkOGDI.js → return-to-ugSGJ0dm.js} +1 -1
- package/dist/assets/review-terms-screen-DybxZzqn.js +1 -0
- package/dist/assets/risk-b98f7VDW.js +3 -0
- package/dist/assets/routes-Bzvx8bnp.js +1 -0
- package/dist/assets/schedules-oC-weaYP.js +1 -0
- package/dist/assets/{sdk.gen-BwnFjFcp.js → sdk.gen-CFgJ4K6f.js} +1 -1
- package/dist/assets/sdk.gen-Z7XkRg5O.js +1 -0
- package/dist/assets/security-redirect-page-GKy7eRUs.js +1 -0
- package/dist/assets/{select-assistant-screen-Br-PNDO1.js → select-assistant-screen-BFDxdgLn.js} +1 -1
- package/dist/assets/{setting-row-CUka7_L9.js → setting-row-f2idXB8B.js} +1 -1
- package/dist/assets/settings-divider-BPEDTMBU.js +1 -0
- package/dist/assets/settings-layout-BlQX4ZgU.js +1 -0
- package/dist/assets/share-feedback-modal-CsAJJ_oZ.js +1 -0
- package/dist/assets/shield-check-kgUZeU9b.js +1 -0
- package/dist/assets/{sidebar-tree-C1_LiBB9.js → sidebar-tree-Osepkg7m.js} +1 -1
- package/dist/assets/signup-page-CL3T-Z4a.js +1 -0
- package/dist/assets/{signup-shell-DufHA5do.js → signup-shell-C2c8tEWo.js} +1 -1
- package/dist/assets/site-favicon-Bf4BKQG1.js +1 -0
- package/dist/assets/skill-detail-page-B1AuSkFK.js +1 -0
- package/dist/assets/{skill-detail-panel-BGoRUWNU.js → skill-detail-panel-CeOWb3Bf.js} +1 -1
- package/dist/assets/{skills-AtSQBwXr.js → skills-ByKs3Zjf.js} +1 -1
- package/dist/assets/skills-page-HoaDTYTI.js +1 -0
- package/dist/assets/{sound-manager-6UbdgQrj.js → sound-manager-DUFvLLrG.js} +1 -1
- package/dist/assets/sounds-redirect-page-BE1uLXxt.js +1 -0
- package/dist/assets/{sparkles-PGiR5v1g.js → sparkles-BK3KXCjl.js} +1 -1
- package/dist/assets/{src-zsLiFPw3.js → src-A8hMQd90.js} +39 -39
- package/dist/assets/{subagent-detail-panel-BGuVa8-m.js → subagent-detail-panel-DQJPOafB.js} +2 -2
- package/dist/assets/{subagent-store-Bz4irJre.js → subagent-store-UK3sycHi.js} +1 -1
- package/dist/assets/system-events-page-f63DiHJ0.js +1 -0
- package/dist/assets/system-events-redirect-page-BxksRhif.js +1 -0
- package/dist/assets/tag-D0AE0-aA.js +1 -0
- package/dist/assets/theme-preferences-DW9WTu2f.js +1 -0
- package/dist/assets/theme-stage-page-Bo5V4ZDW.js +1 -0
- package/dist/assets/{tiptap-document-editor-C-eOEBR_.js → tiptap-document-editor-ChljO0fw.js} +2 -2
- package/dist/assets/toast-B5Hr1kIL.js +1 -0
- package/dist/assets/toggle-CWrJ2t4S.js +1 -0
- package/dist/assets/{tool-detail-panel-wAuQ7gi8.js → tool-detail-panel-_oXYE81O.js} +2 -2
- package/dist/assets/{triangle-alert-Z0Gq0IuB.js → triangle-alert-CnjNKhNx.js} +1 -1
- package/dist/assets/typography-Cqi8q9o7.js +1 -0
- package/dist/assets/{upgrade-cancel-page-BGgPmDmT.js → upgrade-cancel-page-C4sJ4IHi.js} +1 -1
- package/dist/assets/{upgrade-success-page-TJBopZ0Z.js → upgrade-success-page-v7UtvYeb.js} +1 -1
- package/dist/assets/usage-redirect-page-DlxixrFd.js +1 -0
- package/dist/assets/{use-active-assistant-id-BWXi63qg.js → use-active-assistant-id-KipCgPNT.js} +1 -1
- package/dist/assets/use-assistant-identity-details-BpbmaZva.js +1 -0
- package/dist/assets/{use-edge-swipe-back-B4XlZ1Iu.js → use-edge-swipe-back-DTpbr5KC.js} +1 -1
- package/dist/assets/use-invite-link-dialog-2FBB54DX.js +1 -0
- package/dist/assets/use-is-org-ready-MUDnKy3r.js +1 -0
- package/dist/assets/use-onboarding-login-_LAXettN.js +1 -0
- package/dist/assets/{use-reduced-motion-Cj0Z8KSf.js → use-reduced-motion-BPBlq9_a.js} +1 -1
- package/dist/assets/use-skill-actions-CrU5Sgk_.js +1 -0
- package/dist/assets/use-skill-categories-BhT4D6gt.js +1 -0
- package/dist/assets/{use-skill-detail-files-Dpp521cY.js → use-skill-detail-files-DNY3WFns.js} +1 -1
- package/dist/assets/{user-plus-DMh4_UTz.js → user-plus-KuzSTM_D.js} +1 -1
- package/dist/assets/{utils-xg2dl_KJ.js → utils-CNB1P-cO.js} +1 -1
- package/dist/assets/{viewer-store-B8-Qnbx9.js → viewer-store-CFywMdJp.js} +1 -1
- package/dist/assets/voice-page-otevqz9B.js +1 -0
- package/dist/assets/{weather-forecast-display-Bix8rpji.js → weather-forecast-display-CcKGlN7f.js} +1 -1
- package/dist/assets/{web-RhBklijR.js → web-BPvLuAGE.js} +1 -1
- package/dist/assets/{web-D8PpvYf_.js → web-BUVD1SEs.js} +1 -1
- package/dist/assets/{web-C1L-cpPj.js → web-Bf269a_Y.js} +1 -1
- package/dist/assets/{web-CJiP8Lg6.js → web-CELqsarU.js} +1 -1
- package/dist/assets/{web-O1LOb-o9.js → web-CFPJ_DoC.js} +1 -1
- package/dist/assets/{web-BD2N6zhd.js → web-DFW5YV0h.js} +1 -1
- package/dist/assets/{web-BaubW4Pp.js → web-DyY0a6OS.js} +1 -1
- package/dist/assets/{web-Duw5A2aP.js → web-KeVAvkzP.js} +1 -1
- package/dist/assets/{welcome-screen-CVI4Hjnt.js → welcome-screen-C8axlf6E.js} +1 -1
- package/dist/assets/workflow-detail-panel-DkqCKrOL.js +1 -0
- package/dist/assets/{workflow-store-B7ofewCi.js → workflow-store-k8Si-dKc.js} +1 -1
- package/dist/assets/workspace-page-CS0P8RFO.js +1 -0
- package/dist/assets/x-BYcSiJRX.js +1 -0
- package/dist/index.html +146 -142
- package/dist/skills/chat-complex-documents/assets/icon.svg +26 -0
- package/package.json +1 -1
- package/dist/assets/account-page-Dno1SeJN.js +0 -1
- package/dist/assets/activity-steps-panel-BGyfMCXK.js +0 -1
- package/dist/assets/advanced-page-vCbMVJsK.js +0 -1
- package/dist/assets/ai-page-BIYybKux.js +0 -1
- package/dist/assets/animated-avatar-Cqpzb8O4.js +0 -1
- package/dist/assets/archive-0aqysuyd.js +0 -1
- package/dist/assets/archive-page-RZ2VP63A.js +0 -1
- package/dist/assets/arrow-left-DI9551VI.js +0 -1
- package/dist/assets/assistant-identity-store-CX03CK8q.js +0 -1
- package/dist/assets/assistant-status-panel-BC0RTDls.js +0 -1
- package/dist/assets/auth-store-C09YAZEu.js +0 -2
- package/dist/assets/background-task-detail-panel-BfnsD-3B.js +0 -1
- package/dist/assets/ban-CVKGuUAQ.js +0 -1
- package/dist/assets/billing-page-1z_L2m6q.js +0 -3
- package/dist/assets/browser-C6a_nhhZ.js +0 -2
- package/dist/assets/button-amTXFI-2.js +0 -1
- package/dist/assets/card-Bv5O5juh.js +0 -1
- package/dist/assets/channels-page-route-WjNmd0sS.js +0 -9
- package/dist/assets/chat-B8mgARYR.js +0 -1
- package/dist/assets/chat-markdown-message-BnX6bhgs.js +0 -2
- package/dist/assets/check-DFNrQERi.js +0 -1
- package/dist/assets/checkbox-EdyezNqo.js +0 -1
- package/dist/assets/chevron-left-BMF1xNfR.js +0 -1
- package/dist/assets/chevron-right-DqqmezXC.js +0 -1
- package/dist/assets/circle-check-VSiny8yl.js +0 -1
- package/dist/assets/cn-C36Yvcac.js +0 -1
- package/dist/assets/code-Czx7d7SK.js +0 -1
- package/dist/assets/contacts-page-route-P0neH-PV.js +0 -1
- package/dist/assets/copy-Cn1FKrEp.js +0 -1
- package/dist/assets/credentials-page-MkKE_19-.js +0 -1
- package/dist/assets/danger-zone-redirect-page-BWg7rn8D.js +0 -1
- package/dist/assets/debug-page-B88f4aDU.js +0 -4
- package/dist/assets/detail-card-xKZlkbz5.js +0 -1
- package/dist/assets/developer-page-BFMS6pwU.js +0 -1
- package/dist/assets/devices-page-B3D5iLhD.js +0 -1
- package/dist/assets/dist-BItmZQO6.js +0 -1
- package/dist/assets/document-viewer-page-B631L6-3.js +0 -1
- package/dist/assets/dropdown-ByHOpeOU.js +0 -1
- package/dist/assets/earn-credits-modal-CFla-iKl.js +0 -1
- package/dist/assets/edge-swipe-arbiter-store-BeOhrE7M.js +0 -1
- package/dist/assets/effective-timezone-C4nukIC4.js +0 -1
- package/dist/assets/esm-B54gzHCZ.js +0 -1
- package/dist/assets/esm-Bzs_witt.js +0 -2
- package/dist/assets/esm-C5J59K0j.js +0 -2
- package/dist/assets/esm-DEu9JbAE.js +0 -2
- package/dist/assets/esm-DZkj1VLJ.js +0 -2
- package/dist/assets/esm-DtJz1M8R.js +0 -2
- package/dist/assets/feature-flag-catalog-GgSNKkqP.js +0 -1
- package/dist/assets/file-editor-sT7eHxsw.js +0 -1
- package/dist/assets/file-markdown-Bq97tNxs.js +0 -2
- package/dist/assets/general-page-D-Gr2lkW.js +0 -1
- package/dist/assets/haptics-lMERs7us.js +0 -2
- package/dist/assets/hatching-screen-BlwicgIz.js +0 -1
- package/dist/assets/home-page-route-D24x4A0S.js +0 -1
- package/dist/assets/identity-page-route-BwOJeenx.js +0 -1
- package/dist/assets/index-C9GrLGul.css +0 -2
- package/dist/assets/index-yu6nDHvG.js +0 -113
- package/dist/assets/input-CoUmPnRU.js +0 -1
- package/dist/assets/inspect-page-1RejwSP_.js +0 -9
- package/dist/assets/integrations-page-BV5BiHPD.js +0 -1
- package/dist/assets/intelligence-layout-iQFO8in_.js +0 -1
- package/dist/assets/keyboard-shortcuts-page-jt13JtxS.js +0 -1
- package/dist/assets/library-detail-page-BAGWt1Lw.js +0 -1
- package/dist/assets/library-page-CqeoBhDY.js +0 -1
- package/dist/assets/list-row-D5MFdbkH.js +0 -1
- package/dist/assets/llm-dimension-DyYwG3mU.js +0 -1
- package/dist/assets/loader-circle-Cz7opInR.js +0 -1
- package/dist/assets/login-page-BQVTWuQc.js +0 -1
- package/dist/assets/logs-layout-DO3yfZqD.js +0 -1
- package/dist/assets/menu-Dy5QbnTj.js +0 -1
- package/dist/assets/mobile-sidebar-drawer-Epbt6p-k.js +0 -1
- package/dist/assets/modal-D5nLWNN9.js +0 -1
- package/dist/assets/mutation-error-DYv0eJ_i.js +0 -1
- package/dist/assets/native-biometric-Czaf9IqI.js +0 -6
- package/dist/assets/notice-DkcNAP8O.js +0 -1
- package/dist/assets/notifications-page-CXaZpD3s.js +0 -1
- package/dist/assets/page-shell-BUGBKCmv.js +0 -1
- package/dist/assets/panel-item-CouW2A55.js +0 -1
- package/dist/assets/password-reset-page-BCk9Si73.js +0 -1
- package/dist/assets/platform-detection-BrxvFUiR.js +0 -1
- package/dist/assets/platform-loopback-page-MZdCPXRI.js +0 -1
- package/dist/assets/plugins-page-Ci0CoSAN.js +0 -1
- package/dist/assets/plugins-surface-z3RTZS4H.js +0 -1
- package/dist/assets/plus-DItfr5ux.js +0 -1
- package/dist/assets/popover-CFL4WZTr.js +0 -1
- package/dist/assets/prechat-route-9JFn-w_1.js +0 -1
- package/dist/assets/prefs-B1Y3q3c8.js +0 -1
- package/dist/assets/privacy-page-BTpvj9ZP.js +0 -1
- package/dist/assets/privacy-screen-CUbVcDf_.js +0 -1
- package/dist/assets/progress-bar-Ca8gmE3B.js +0 -1
- package/dist/assets/provider-callback-page-fB2tIyqL.js +0 -1
- package/dist/assets/provider-signup-page-C4Dn-wtJ.js +0 -1
- package/dist/assets/react-query.gen-C6wVk6Rw.js +0 -1
- package/dist/assets/react-query.gen-DPzPS206.js +0 -1
- package/dist/assets/research-mock-page-1T92rXz3.js +0 -1
- package/dist/assets/research-onboarding-route-CmWgwOFk.js +0 -63
- package/dist/assets/review-terms-screen-DrD4vywk.js +0 -1
- package/dist/assets/risk-Dopd25rc.js +0 -3
- package/dist/assets/routes-BbeIx_F9.js +0 -1
- package/dist/assets/save-aD5JFIZf.js +0 -1
- package/dist/assets/schedules-BfKi12EZ.js +0 -1
- package/dist/assets/sdk.gen-CmKfVpgB.js +0 -1
- package/dist/assets/security-page-BYI7twYM.js +0 -1
- package/dist/assets/settings-layout-lddMUg7A.js +0 -1
- package/dist/assets/share-feedback-modal-DSwfhMsV.js +0 -1
- package/dist/assets/shortcut-keys-B2EE-634.js +0 -1
- package/dist/assets/signup-page-D6hAK-Us.js +0 -1
- package/dist/assets/site-favicon-fQHLTT6F.js +0 -1
- package/dist/assets/skill-detail-page-BlfgTyFC.js +0 -1
- package/dist/assets/skill-icon-cNkD2w1X.js +0 -1
- package/dist/assets/skills-page-DeIiyhVc.js +0 -1
- package/dist/assets/sounds-page-BgLLJ-o9.js +0 -1
- package/dist/assets/stat-square-CTHnQ1jc.js +0 -1
- package/dist/assets/system-events-page-C1hXOYmg.js +0 -1
- package/dist/assets/system-events-redirect-page-DbaFKRXH.js +0 -1
- package/dist/assets/tag-CV4v7fRF.js +0 -1
- package/dist/assets/toast-xTp-xwYL.js +0 -1
- package/dist/assets/toggle-CDfguvUz.js +0 -1
- package/dist/assets/typography-D5f7kt80.js +0 -1
- package/dist/assets/usage-page-DLWFk2P0.js +0 -1
- package/dist/assets/use-bus-subscription-C3H3CmM_.js +0 -1
- package/dist/assets/use-invite-link-dialog-BdnW1BHj.js +0 -1
- package/dist/assets/use-is-org-ready-jhEM-4rY.js +0 -1
- package/dist/assets/use-onboarding-login-B-1jrjFL.js +0 -1
- package/dist/assets/use-skill-actions-BpVxiQZY.js +0 -1
- package/dist/assets/use-skill-categories-CCxtjMC_.js +0 -1
- package/dist/assets/voice-page-BoCTB8Jx.js +0 -1
- package/dist/assets/workflow-detail-panel-CwZH3tDl.js +0 -1
- package/dist/assets/workspace-page-CwIsXk1j.js +0 -1
- package/dist/assets/x-CkSVp1Ok.js +0 -1
- /package/dist/assets/{app-info-Clwt3pCt.js → app-info-AJ6nA0RS.js} +0 -0
- /package/dist/assets/{avatar-bundled-components--1Wyhs4r.js → avatar-bundled-components-DgzHRe6Z.js} +0 -0
- /package/dist/assets/{avatar-svg-compositor-CnDf9Ibf.js → avatar-svg-compositor-C_lXkZLZ.js} +0 -0
- /package/dist/assets/{browser-timezone-2SnmKDjM.js → browser-timezone-DjbAts-Z.js} +0 -0
- /package/dist/assets/{build.umd-CxdKgGWo.js → build.umd-CVjrbvyL.js} +0 -0
- /package/dist/assets/{bundle-mjs-BZt35okJ.js → bundle-mjs-CK9sN9wG.js} +0 -0
- /package/dist/assets/{by-tool-use-id-index-BokzI3ZP.js → by-tool-use-id-index-CBaMK-eh.js} +0 -0
- /package/dist/assets/{composer-focus-BZr63Cvs.js → composer-focus-CpeV_gfi.js} +0 -0
- /package/dist/assets/{conversation-selection-BBHkzcfy.js → conversation-selection-DYJPsAjJ.js} +0 -0
- /package/dist/assets/{conversation-store-BljZWolF.js → conversation-store-CnRrUeSu.js} +0 -0
- /package/dist/assets/{createLucideIcon-IRfcSUxS.js → createLucideIcon-Bjb-Kuq7.js} +0 -0
- /package/dist/assets/{definitions-CaYcW4Yq.js → definitions-BaillmRO.js} +0 -0
- /package/dist/assets/{definitions-DScTW2c-.js → definitions-Ce8XXjMI.js} +0 -0
- /package/dist/assets/{dist-DS5iJwBJ2.js → dist-DyRKd0bN2.js} +0 -0
- /package/dist/assets/{domains-D3QF404Q.js → domains-CIIVdIa8.js} +0 -0
- /package/dist/assets/{emoji-catalog-data-D8lRMt3A.js → emoji-catalog-data-BNtUmdK0.js} +0 -0
- /package/dist/assets/{environment-store-C0f32873.js → environment-store-R_3zZFKL.js} +0 -0
- /package/dist/assets/{format-date-CghpPTDc.js → format-date-Cda44k2J.js} +0 -0
- /package/dist/assets/{format-file-size-DzVEncaw.js → format-file-size-BSrdQr7P.js} +0 -0
- /package/dist/assets/{native-deep-link-CJGNy9bj.js → native-deep-link-CbHUZ2h_.js} +0 -0
- /package/dist/assets/{onboarding-step-layout-2XcmxqFN.js → onboarding-step-layout-BfSOxqy3.js} +0 -0
- /package/dist/assets/{optimistic-lifecycle-BvfDBY8o.js → optimistic-lifecycle-CR11Vyrt.js} +0 -0
- /package/dist/assets/{pdf-C3Qukw-J.js → pdf-BjgNZTii.js} +0 -0
- /package/dist/assets/{pointer-Cdz7NGHe.js → pointer-CzC_8USk.js} +0 -0
- /package/dist/assets/{prechat-P1y7ZM6C.js → prechat-Ddpjms85.js} +0 -0
- /package/dist/assets/{prechat-names-clVy5Mee.js → prechat-names-DEWE0LUf.js} +0 -0
- /package/dist/assets/{proxy-o6cPThl2.js → proxy-Cadlowdl.js} +0 -0
- /package/dist/assets/{public-asset-GKv5zCfZ.js → public-asset-Budc22a_.js} +0 -0
- /package/dist/assets/{research-onboarding-persistence-DnuHyFyB.js → research-onboarding-persistence-BmACYjeE.js} +0 -0
- /package/dist/assets/{sdk.gen-BhtkuoSl.js → sdk.gen-C9oZyNeN.js} +0 -0
- /package/dist/assets/{status-badge-pill-0N6rTEBg.js → status-badge-pill-DQHLgr0r.js} +0 -0
- /package/dist/assets/{step-indicator-dots-D03TmFKG.js → step-indicator-dots-iS_Q2OX6.js} +0 -0
- /package/dist/assets/{three-dot-indicator-DNuHHwtA.js → three-dot-indicator-ByrGmGYU.js} +0 -0
- /package/dist/assets/{typed-storage-5IU6qVWg.js → typed-storage-BRvgA7pX.js} +0 -0
- /package/dist/assets/{use-copy-to-clipboard-BCTXSMa-.js → use-copy-to-clipboard-CtO2o7KE.js} +0 -0
- /package/dist/assets/{workflow-status-ZrbiLW5D.js → workflow-status-4RYJ-tdh.js} +0 -0
- /package/dist/assets/{xterm-CBmd_y-b.js → xterm-ChjrCiYv.js} +0 -0
- /package/dist/assets/{xterm-addon-fit-THPW0uy0.js → xterm-addon-fit-D_4nBxep.js} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{u as t}from"./native-biometric-Czaf9IqI.js";import{o as n,t as r}from"./capture-error-Dhiismgm.js";import{t as i}from"./react-DJZBPgpf.js";import{t as a}from"./button-amTXFI-2.js";import{d as o,h as s}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{n as c}from"./QueryClientProvider-DKhXIxGb.js";import{t as l}from"./jsx-runtime-CVSDxk6A.js";import{t as u}from"./progress-bar-Ca8gmE3B.js";import{S as d,_ as ee,b as te,c as f,k as ne,p,rt as re,v as ie}from"./local-mode-grqHUoNh.js";import{t as m}from"./is-electron-y5bNUVyG.js";import{n as h}from"./resolved-assistants-store-BSZbT8Ju.js";import{r as ae}from"./api-errors-CrWDzVca.js";import{A as g,B as oe,D as _,L as se,P as v,R as ce,k as y,n as le,z as ue}from"./auth-store-C09YAZEu.js";import{a as de,o as fe,r as b}from"./api-_7pKLlYA.js";import{c as x}from"./routes-BbeIx_F9.js";import{r as S,t as C}from"./build-state-PUXrUU4W.js";import{a as pe,m as me}from"./prefs-B1Y3q3c8.js";import{t as w}from"./avatar-bundled-components--1Wyhs4r.js";import{t as T}from"./avatar-svg-compositor-CnDf9Ibf.js";import{dr as E,rn as D,sr as O,ur as k}from"./index-yu6nDHvG.js";import{t as he}from"./provider-key-3AHnKoz9.js";var A=e(i(),1);async function ge(e,t,n){try{await k(e)||await E(e,t),n.invalidateQueries({queryKey:O(e)})}catch(e){r(e,{context:`onboarding_avatar_sync`})}}function j(e){let t=e=>e[Math.floor(Math.random()*e.length)];return{bodyShape:t(e.bodyShapes).id,eyeStyle:t(e.eyeStyles).id,color:t(e.colors).id}}var M=l(),N=3e3,_e=800,P=3e5,F=null,I=null,L=null;function R(){F=null,I=null,L=null}var ve={initializing:0,provisioning:.33,connecting:.66,ready:1},z=1500,ye={initializing:`Getting things ready…`,provisioning:`Setting up your assistant…`,connecting:`Connecting to your assistant…`,ready:`Ready`};function be(e,t,n){if(e>=t)return t;let r=1-(1-Math.min(1,n/z))**3;return e+(t-e)*r}function xe(){let e=S(C(),{kind:`hatch-gate`});return e.action===`redirect`?{kind:`redirect`,to:e.to}:e.action===`wait`?{kind:`wait`}:{kind:`proceed`}}function B(){let e=o(),i=c(),[l]=s(),S=l.get(`hosting`),C=l.get(`fail`),E=m(),O=p()&&S!==null&&S!==`vellum-cloud`,k=le.use.sessionStatus(),z=O?v(k):k,[B]=(0,A.useState)(()=>L??=j(w)),V=(0,A.useMemo)(()=>{let e=T(w,B.bodyShape,B.eyeStyle,B.color,320);return`data:image/svg+xml;charset=utf-8,${encodeURIComponent(e)}`},[B]),[H,U]=(0,A.useState)(`initializing`),[W,G]=(0,A.useState)(null),[Se,K]=(0,A.useState)(!1),[Ce,we]=(0,A.useState)(0),[Te,q]=(0,A.useState)(0),[Ee,J]=(0,A.useState)(0),Y=(0,A.useRef)(H),X=(0,A.useRef)(0),Z=(0,A.useRef)(0),Q=(0,A.useRef)(0),$=(0,A.useCallback)(e=>{X.current=Q.current,Z.current=Date.now(),Y.current=e,U(e),J(e=>e+1)},[]);return(0,A.useEffect)(()=>{if(C!==null){G(`Simulated hatch failure (developer menu → Replay Hatch Failure).`);return}let a=xe();if(a.kind===`redirect`){e(a.to,{replace:!0});return}if(a.kind===`wait`)return;K(!1);let o=!1,s=null,c=null,l=null,u=Date.now(),m,v=!1,w=!1,T=pe(),E=n=>{try{me(``)}catch(e){r(e,{context:`onboarding_mark_completed`})}q(1),Q.current=1,X.current=1,U(`ready`),Y.current=`ready`,c=setTimeout(()=>{o||(R(),(async()=>{if(await g.checkAssistant(),!o){if(t()){g.markExpectingFirstMessage(),e(`${x.assistant}?onboarding=1`,{replace:!0});return}if(O){let t=new URLSearchParams;S&&t.set(`hosting`,S),n&&t.set(`assistant`,n);let r=t.toString();e(`${x.onboarding.research}${r?`?${r}`:``}`,{replace:!0});return}e(x.onboarding.prechat,{replace:!0})}})())},_e)},D=e=>ge(e,B,i),k=async()=>{if($(`provisioning`),!O){try{let e=await b(),t=ue(e);if(!o&&e.ok&&t.kind===`active`){p()&&d({assistantId:e.data.id,name:e.data.name,cloud:`vellum`,runtimeUrl:f(),hatchedAt:new Date().toISOString(),organizationId:_.getState().currentOrganizationId??void 0}),E();return}t.kind===`auto_hatch`&&(w=!0)}catch{}if(o)return}if(O){try{F||=ne(void 0,S===`docker`?`docker`:void 0);let e=await F;if(o)return;if(!e.ok){R(),G(e.error??`Failed to hatch local assistant.`);return}await ee(),e.assistantId&&y(e.assistantId),$(`connecting`);let t=!1;for(;!o&&!t;){if(await te()){re(),await ie(),t=!0;break}if(Date.now()-u>=P){R(),G(`Your assistant is taking longer than expected. Please try again.`);return}await new Promise(e=>{l=setTimeout(e,N)}),l=null}if(o)return;if(e.assistantId)try{await he(e.assistantId)}catch(e){r(e,{context:`onboarding_apply_provider_key`})}e.assistantId&&await le.getState().connectLocalAssistant(e.assistantId),e.assistantId&&(h.getState().upsertFromApi({id:e.assistantId,name:e.assistantId,status:`active`,is_local:!0,created:new Date().toISOString()}),y(e.assistantId),D(e.assistantId)),E(e.assistantId)}catch{if(R(),o)return;G(`Failed to hatch local assistant. Check CLI logs for details.`)}return}try{I||=fe(T?{version:T}:void 0);let e=await I;if(I=null,o)return;if(e.ok&&(m=e.data.id),v=e.ok&&e.status===201,!e.ok){if(n(`Onboarding hatch request failed`,{level:`warning`,extra:{status:e.status,error:e.error}}),ce(e.status,e.error)){G(se),K(!0);return}if(!oe(e.status)){G(ae(e.error,void 0,`Failed to start your assistant. Please try again.`));return}}}catch(e){if(I=null,r(e,{context:`onboarding_hatch_assistant`}),o)return}A(0)},A=e=>{o||(s=setTimeout(j,e))},j=async()=>{if(!o){if(Date.now()-u>=P){n(`Onboarding hatch wait exceeded timeout`,{level:`warning`,extra:{maxWaitMs:P}}),G(`Your assistant is taking longer than expected. Please try again.`);return}try{let e=await b(m);if(o||m&&!e.ok&&e.status===404&&(m=void 0,e=await b(),o))return;let t=ue(e);if(t.kind===`active`){if(e.ok){let t=e.data.id;for(h.getState().upsertFromApi(e.data),y(t),(v||w)&&D(t),p()&&d({assistantId:t,name:e.data.name,cloud:`vellum`,runtimeUrl:f(),hatchedAt:new Date().toISOString(),organizationId:_.getState().currentOrganizationId??void 0}),$(`connecting`);!o;){try{if((await de(t)).ok)break}catch{}if(Date.now()-u>=P){G(`Your assistant is taking longer than expected. Please try again.`);return}await new Promise(e=>{s=setTimeout(e,N)}),s=null}if(o)return}E();return}if(t.kind===`error`){G(t.message);return}t.kind!==`auto_hatch`&&Y.current===`provisioning`&&$(`connecting`),A(N)}catch(e){if(r(e,{context:`onboarding_poll_assistant`}),o)return;A(N)}}};return k(),()=>{o=!0,s&&clearTimeout(s),c&&clearTimeout(c),l&&clearTimeout(l)}},[Ce,C,B,z,e,i,$,O]),(0,A.useEffect)(()=>{Z.current===0&&(Z.current=Date.now());let e,t=()=>{let n=Date.now()-Z.current,r=ve[Y.current],i=be(X.current,r,n);Q.current=i,q(i),r-i>1e-6&&(e=requestAnimationFrame(t))};return e=requestAnimationFrame(t),()=>cancelAnimationFrame(e)},[Ee]),W?(0,M.jsx)(D,{children:(0,M.jsxs)(`div`,{role:`alert`,className:`mx-auto flex w-full max-w-xl flex-col items-center ${E?`min-h-full px-8 pt-21 pb-28 electron-prechat-type`:`min-h-screen justify-center px-6 pb-40`} text-center text-[var(--content-default)]`,children:[(0,M.jsx)(`h1`,{className:E?`text-title-large`:`text-3xl font-semibold tracking-tight`,children:`Something went wrong`}),(0,M.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)] ${E?`mt-3.5`:`mt-4`}`,children:W}),Se&&(0,M.jsxs)(`div`,{className:`mt-6 flex w-full max-w-sm flex-col items-center gap-3`,children:[(0,M.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Get started today with a local assistant`}),(0,M.jsx)(a,{asChild:!0,variant:`primary`,size:`regular`,fullWidth:!0,className:E?void 0:`h-11 text-base`,children:(0,M.jsx)(`a`,{href:`${window.location.origin}/download`,children:`Download the macOS app`})})]}),(0,M.jsx)(`img`,{src:V,alt:``,width:160,height:160,className:`${E?`my-auto py-8`:`my-16`} onboarding-avatar-failed`}),(0,M.jsxs)(`div`,{className:`flex w-full flex-col ${E?`gap-2.5 max-w-[280px]`:`gap-2 max-w-sm`}`,children:[(0,M.jsx)(a,{variant:`primary`,size:`regular`,fullWidth:!0,className:E?void 0:`h-11 text-base`,onClick:()=>{X.current=0,Z.current=Date.now(),Y.current=`initializing`,Q.current=0,U(`initializing`),q(0),J(e=>e+1),G(null),K(!1),we(e=>e+1)},children:`Try again`}),(0,M.jsx)(a,{variant:`outlined`,size:`regular`,fullWidth:!0,className:E?void 0:`h-11 text-base`,onClick:()=>void e(O?x.onboarding.hosting:x.onboarding.privacy,{replace:!0}),children:`Back`})]})]})}):(0,M.jsx)(D,{children:(0,M.jsxs)(`div`,{className:`mx-auto flex w-full max-w-xl flex-col items-center ${E?`min-h-full px-8 pt-21 pb-28 electron-prechat-type`:`min-h-screen justify-center px-6 pb-40`} text-center text-[var(--content-default)]`,children:[(0,M.jsx)(`h1`,{className:E?`text-title-large`:`text-3xl font-semibold tracking-tight`,children:H===`ready`?`Your assistant is ready!`:`Waking up…`}),H!==`ready`&&(0,M.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)] ${E?`mt-3.5`:`mt-4`}`,children:`Hang tight — your assistant will have a few questions for you once it's up.`}),(0,M.jsx)(`img`,{src:V,alt:``,width:160,height:160,className:`${E?`my-auto py-8`:`my-16`} ${H===`ready`?`onboarding-avatar-awake`:`onboarding-avatar-pulse`}`}),(0,M.jsx)(u,{value:Te,height:6,className:`w-full ${E?`max-w-[200px]`:`max-w-sm`}`,"aria-label":`Assistant startup progress`}),(0,M.jsx)(`p`,{className:`text-[var(--content-tertiary)] ${E?`mt-4 text-label-small-default`:`mt-3 text-body-small-default`}`,children:ye[H]})]})})}export{B as HatchingScreen};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-Dhiismgm.js";import{t as n}from"./react-DJZBPgpf.js";import{n as r,t as i}from"./button-amTXFI-2.js";import{d as a,p as o,u as s}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{n as c}from"./QueryClientProvider-DKhXIxGb.js";import{t as l}from"./useQuery-B45lW1Kk.js";import{t as u}from"./jsx-runtime-CVSDxk6A.js";import{t as d}from"./cn-C36Yvcac.js";import{t as f}from"./typography-D5f7kt80.js";import{t as p}from"./createLucideIcon-IRfcSUxS.js";import{t as m}from"./arrow-left-DI9551VI.js";import{t as h}from"./bell-BQLonLMp.js";import{t as g}from"./brain-BLDXGaUy.js";import{t as _}from"./calendar-h-mv1itX.js";import{t as v}from"./chevron-down-qD-re7AW.js";import{t as y}from"./chevron-right-DqqmezXC.js";import{t as b,w as x}from"./menu-Dy5QbnTj.js";import{t as S}from"./loader-circle-Cz7opInR.js";import{t as C}from"./repeat-C8Im6j--.js";import{t as w}from"./sparkles-PGiR5v1g.js";import{t as T}from"./x-CkSVp1Ok.js";import{t as E}from"./notice-DkcNAP8O.js";import{M as D,l as O,n as k,p as A}from"./src-zsLiFPw3.js";import{t as j}from"./tag-CV4v7fRF.js";import{n as M,t as N}from"./input-CoUmPnRU.js";import{t as ee}from"./toggle-CDfguvUz.js";import{n as P}from"./list-row-D5MFdbkH.js";import{n as F}from"./stat-square-CTHnQ1jc.js";import{t as I}from"./modal-D5nLWNN9.js";import{t as te}from"./panel-item-CouW2A55.js";import{n as L}from"./toast-xTp-xwYL.js";import{t as R}from"./dropdown-ByHOpeOU.js";import{Gn as ne,Kn as z,Wn as re,Xn as ie,Yn as ae,qn as oe}from"./sdk.gen-BwnFjFcp.js";import{Bt as se,F as B,Jt as ce,M as le,N as ue,P as de,R as fe,Yt as pe,_ as me,c as he,d as ge,dt as _e,ft as ve,g as ye,ht as be,j as xe,mt as Se,pt as Ce,ut as we,v as Te,y as Ee,z as De}from"./react-query.gen-C6wVk6Rw.js";import{n as Oe}from"./utils-xg2dl_KJ.js";import{n as V,r as H,t as U}from"./api-errors-CrWDzVca.js";import{a as ke}from"./api-_7pKLlYA.js";import{c as W}from"./routes-BbeIx_F9.js";import{t as Ae}from"./conversation-store-BljZWolF.js";import{r as je}from"./viewer-store-B8-Qnbx9.js";import{i as Me}from"./composer-focus-BZr63Cvs.js";import{t as Ne}from"./conversation-selection-BBHkzcfy.js";import{t as Pe}from"./effective-timezone-C4nukIC4.js";import{Cn as Fe,Da as Ie,Di as Le,Dn as Re,Gi as ze,Ii as Be,Mi as Ve,Na as He,Nn as Ue,Oi as We,Sn as Ge,Ui as Ke,Xi as qe,_r as Je,kn as Ye,ma as Xe,or as Ze,qi as Qe,vi as $e,wn as et,wt as tt,xa as nt}from"./index-yu6nDHvG.js";import{t as rt}from"./use-active-assistant-id-BWXi63qg.js";import{t as it}from"./detail-card-xKZlkbz5.js";import{t as at}from"./page-shell-BUGBKCmv.js";import{n as ot,r as st}from"./format-date-CghpPTDc.js";import{n as ct}from"./usage-window-C6gWu5Qu.js";import{n as lt,t as ut}from"./schedules-BfKi12EZ.js";var dt=p(`activity`,[[`path`,{d:`M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2`,key:`169zse`}]]),ft=p(`list-filter`,[[`path`,{d:`M2 5h20`,key:`1fs1ex`}],[`path`,{d:`M6 12h12`,key:`8npq4p`}],[`path`,{d:`M9 19h6`,key:`456am0`}]]),pt=p(`mail-open`,[[`path`,{d:`M21.2 8.4c.5.38.8.97.8 1.6v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V10a2 2 0 0 1 .8-1.6l8-6a2 2 0 0 1 2.4 0l8 6Z`,key:`1jhwl8`}],[`path`,{d:`m22 10-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 10`,key:`1qfld7`}]]),G=e(n(),1);async function mt(e,t){let{error:n,response:r}=await ae({path:{assistant_id:e},body:t,throwOnError:!1});if(V(r,n,`Failed to create schedule.`),!r.ok)throw new U(r.status,H(n,r,`Failed to create schedule.`))}async function ht(e){return ut(e)}async function gt(e,t,n=10,r){let{data:i,error:a,response:o}=await z({path:{assistant_id:e,id:t},query:{limit:n,before:r},throwOnError:!1});if(V(o,a,`Failed to load schedule runs.`),!o.ok)throw new U(o.status,H(a,o,`Failed to load schedule runs.`));return{runs:i?.runs??[],nextCursor:i?.nextCursor??null}}async function _t(e,t){let{data:n,error:r,response:i}=await ie({path:{assistant_id:e},query:{from:t.from,to:t.to},throwOnError:!1});if(V(i,r,`Failed to load schedule usage.`),!i.ok)throw new U(i.status,H(r,i,`Failed to load schedule usage.`));return n?.summaries??[]}async function vt(e,t,n){let{error:r,response:i}=await oe({path:{assistant_id:e,id:t},body:{enabled:n},throwOnError:!1});if(V(i,r,`Failed to toggle schedule.`),!i.ok)throw new U(i.status,H(r,i,`Failed to toggle schedule.`))}async function yt(e,t){let{error:n,response:r}=await re({path:{assistant_id:e,id:t},throwOnError:!1});if(V(r,n,`Failed to delete schedule.`),!r.ok&&r.status!==204)throw new U(r.status,H(n,r,`Failed to delete schedule.`))}async function bt(e,t){let{error:n,response:r}=await ne({path:{assistant_id:e,id:t},throwOnError:!1});if(V(r,n,`Failed to run schedule.`),!r.ok)throw new U(r.status,H(n,r,`Failed to run schedule.`))}var xt={frequency:`daily`,minute:0,hour24:9,weekdays:[1],dayOfMonth:1},St=[{value:0,letter:`S`,short:`Sun`,full:`Sunday`},{value:1,letter:`M`,short:`Mon`,full:`Monday`},{value:2,letter:`T`,short:`Tue`,full:`Tuesday`},{value:3,letter:`W`,short:`Wed`,full:`Wednesday`},{value:4,letter:`T`,short:`Thu`,full:`Thursday`},{value:5,letter:`F`,short:`Fri`,full:`Friday`},{value:6,letter:`S`,short:`Sat`,full:`Saturday`}],Ct=[1,2,3,4,5];function K(e,t,n){return Number.isFinite(e)?Math.min(n,Math.max(t,Math.round(e))):t}function wt(e){let t=Array.from(new Set(e.map(e=>K(e,0,6)).filter(e=>Number.isInteger(e)))).sort((e,t)=>e-t);return t.length>0?t:[1]}function Tt(e){let t=K(e.minute,0,59),n=K(e.hour24,0,23);switch(e.frequency){case`hourly`:return`${t} * * * *`;case`daily`:return`${t} ${n} * * *`;case`weekly`:return`${t} ${n} * * ${wt(e.weekdays).join(`,`)}`;case`monthly`:return e.dayOfMonth===`last`?`${t} ${n} L * *`:`${t} ${n} ${K(e.dayOfMonth,1,28)} * *`}}function Et(e,t){let n=K(e,0,23),r=K(t,0,59),i=n<12?`AM`:`PM`;return`${n%12==0?12:n%12}:${String(r).padStart(2,`0`)} ${i}`}function Dt(e){let t=[`th`,`st`,`nd`,`rd`],n=e%100;return`${e}${t[(n-20)%10]??t[n]??t[0]}`}function Ot(e){let t=wt(e),n=new Set(t);if(t.length===7)return`every day`;if(t.length===5&&Ct.every(e=>n.has(e)))return`every weekday`;if(t.length===2&&n.has(0)&&n.has(6))return`every weekend`;if(t.length===1)return`every ${St[t[0]]?.full??`day`}`;let r=t.map(e=>St[e]?.short??``),i=r.pop();return`every ${r.join(`, `)} & ${i}`}function kt(e){let t=Et(e.hour24,e.minute);switch(e.frequency){case`hourly`:{let t=K(e.minute,0,59);return`Runs every hour at :${String(t).padStart(2,`0`)}`}case`daily`:return`Runs every day at ${t}`;case`weekly`:return`Runs ${Ot(e.weekdays)} at ${t}`;case`monthly`:return e.dayOfMonth===`last`?`Runs on the last day of every month at ${t}`:`Runs on the ${Dt(K(e.dayOfMonth,1,28))} of every month at ${t}`}}var q=u(),At=[{value:`hourly`,label:`Hourly`},{value:`daily`,label:`Daily`},{value:`weekly`,label:`Weekly`},{value:`monthly`,label:`Monthly`}],jt=Array.from({length:12},(e,t)=>{let n=t+1;return{value:String(n),label:String(n)}}),Mt=Array.from({length:12},(e,t)=>{let n=t*5,r=String(n).padStart(2,`0`);return{value:r,label:r}}),Nt=[...Array.from({length:28},(e,t)=>{let n=t+1;return{value:String(n),label:Dt(n)}}),{value:`last`,label:`Last day`}],Pt=[{value:`AM`,label:`AM`},{value:`PM`,label:`PM`}];function Ft(e,t){let n=e%12;return t===`PM`?n+12:n}function It(e){try{let t=new Intl.DateTimeFormat(`en-US`,{timeZone:e,timeZoneName:`short`}).formatToParts(new Date).find(e=>e.type===`timeZoneName`)?.value;return t&&t!==e?`${e} · ${t}`:e}catch{return e}}function Lt({isOpen:e,assistantId:t,onClose:n,onCreated:r}){return(0,q.jsx)(I.Root,{open:e,onOpenChange:e=>{e||n()},children:e?(0,q.jsx)(Rt,{assistantId:t,onClose:n,onCreated:r}):null})}function Rt({assistantId:e,onClose:t,onCreated:n}){let r=Ue(),[a,o]=(0,G.useState)(``),[s,c]=(0,G.useState)(``),[l,u]=(0,G.useState)(``),[d,f]=(0,G.useState)(`simple`),[p,m]=(0,G.useState)(xt),[h,g]=(0,G.useState)(``),[_,v]=(0,G.useState)(!1),[y,b]=(0,G.useState)(null),x=a.trim(),S=s.trim(),C=l.trim(),w=h.trim(),T=(0,G.useMemo)(()=>d===`simple`?Tt(p):w,[d,p,w]),E=(0,G.useMemo)(()=>d===`simple`?kt(p):w||`Enter a cron expression to continue.`,[d,p,w]),D=(0,G.useMemo)(()=>It(r),[r]),O=x.length>0&&S.length>0&&C.length>0&&T.length>0&&!_;return(0,q.jsxs)(I.Content,{size:`md`,children:[(0,q.jsxs)(I.Header,{children:[(0,q.jsx)(I.Title,{children:`Create schedule`}),(0,q.jsx)(I.Description,{children:`Schedule a recurring instruction for your assistant. Runs in execute mode — the message is delivered to the assistant on each fire.`})]}),(0,q.jsxs)(`form`,{onSubmit:async t=>{if(t.preventDefault(),O){v(!0),b(null);try{await mt(e,{name:x,description:S,expression:T,message:C,timezone:r}),v(!1),n()}catch(e){b(e instanceof Error?e.message:`Failed to create schedule.`),v(!1)}}},children:[(0,q.jsx)(I.Body,{children:(0,q.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,q.jsx)(N,{label:`Name`,placeholder:`Morning briefing`,value:a,onChange:e=>o(e.target.value),required:!0,autoFocus:!0,fullWidth:!0}),(0,q.jsx)(M,{label:`Description`,placeholder:`What is this schedule for?`,value:s,onChange:e=>c(e.target.value),required:!0,fullWidth:!0,rows:2}),(0,q.jsx)(Ut,{label:`Repeat`,children:d===`simple`?(0,q.jsx)(zt,{cadence:p,onChange:m}):(0,q.jsx)(Ht,{value:h,onChange:g,onUseSimple:()=>f(`simple`)})}),(0,q.jsx)(Gt,{summary:E,mono:d===`advanced`&&w.length>0,timezoneLabel:D}),d===`simple`?(0,q.jsx)(`button`,{type:`button`,onClick:()=>{g(e=>e||Tt(p)),f(`advanced`)},className:`self-start text-body-small-default text-[var(--content-tertiary)] underline-offset-2 transition-colors hover:text-[var(--content-default)] hover:underline`,children:`Advanced — write a cron expression`}):null,(0,q.jsx)(M,{label:`Message`,placeholder:`What should the assistant do on each fire?`,value:l,onChange:e=>u(e.target.value),required:!0,fullWidth:!0,rows:4}),y?(0,q.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:y}):null]})}),(0,q.jsxs)(I.Footer,{children:[(0,q.jsx)(i,{variant:`outlined`,onClick:t,type:`button`,children:`Cancel`}),(0,q.jsx)(i,{variant:`primary`,type:`submit`,disabled:!O,children:_?`Creating…`:`Create schedule`})]})]})]})}function zt({cadence:e,onChange:t}){return(0,q.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,q.jsx)(F,{items:At,value:e.frequency,onChange:n=>t({...e,frequency:n}),ariaLabel:`How often the schedule runs`}),e.frequency===`hourly`?(0,q.jsx)(Wt,{label:`At minute`,children:(0,q.jsx)(R,{options:Mt,value:String(e.minute).padStart(2,`0`),onChange:n=>t({...e,minute:Number(n)}),"aria-label":`Minute`,className:`w-24`})}):null,e.frequency===`weekly`?(0,q.jsx)(Wt,{label:`On these days`,children:(0,q.jsx)(Vt,{value:e.weekdays,onChange:n=>t({...e,weekdays:n})})}):null,e.frequency===`monthly`?(0,q.jsx)(Wt,{label:`On day`,children:(0,q.jsx)(R,{options:Nt,value:e.dayOfMonth===`last`?`last`:String(e.dayOfMonth),onChange:n=>t({...e,dayOfMonth:n===`last`?`last`:Number(n)}),"aria-label":`Day of month`,className:`w-32`})}):null,e.frequency===`hourly`?null:(0,q.jsx)(Wt,{label:`At time`,children:(0,q.jsx)(Bt,{hour24:e.hour24,minute:e.minute,onChange:(n,r)=>t({...e,hour24:n,minute:r})})})]})}function Bt({hour24:e,minute:t,onChange:n}){let r=e<12?`AM`:`PM`,i=e%12==0?12:e%12;return(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(R,{options:jt,value:String(i),onChange:e=>n(Ft(Number(e),r),t),"aria-label":`Hour`,className:`w-[72px]`}),(0,q.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:`:`}),(0,q.jsx)(R,{options:Mt,value:String(t).padStart(2,`0`),onChange:t=>n(e,Number(t)),"aria-label":`Minute`,className:`w-[72px]`}),(0,q.jsx)(`div`,{className:`w-[112px]`,children:(0,q.jsx)(F,{items:Pt,value:r,onChange:e=>n(Ft(i,e),t),ariaLabel:`AM or PM`})})]})}function Vt({value:e,onChange:t}){let n=new Set(e),r=e=>{let r=new Set(n);r.has(e)?r.size>1&&r.delete(e):r.add(e),t([...r].sort((e,t)=>e-t))};return(0,q.jsx)(`div`,{className:`flex gap-1.5`,children:St.map(e=>{let t=n.has(e.value);return(0,q.jsx)(`button`,{type:`button`,onClick:()=>r(e.value),"aria-pressed":t,"aria-label":e.full,title:e.full,className:d(`flex h-9 w-9 items-center justify-center rounded-md border text-body-medium-default transition-colors`,t?`border-[var(--border-active)] bg-[var(--surface-active)] text-[var(--content-emphasised)]`:`border-[var(--field-border)] text-[var(--content-tertiary)] hover:border-[var(--border-active)] hover:text-[var(--content-default)]`),children:e.letter},e.value)})})}function Ht({value:e,onChange:t,onUseSimple:n}){return(0,q.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,q.jsx)(N,{placeholder:`0 9 * * *`,value:e,onChange:e=>t(e.target.value),fullWidth:!0,className:`font-mono`,"aria-label":`Cron expression`,helperText:`Standard 5-field cron (minute hour day month weekday). RRULE expressions are also accepted.`}),(0,q.jsx)(`button`,{type:`button`,onClick:n,className:`self-start text-body-small-default text-[var(--content-tertiary)] underline-offset-2 transition-colors hover:text-[var(--content-default)] hover:underline`,children:`← Back to the simple builder`})]})}function Ut({label:e,children:t}){return(0,q.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:e}),t]})}function Wt({label:e,children:t}){return(0,q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-3 gap-y-1.5`,children:[(0,q.jsx)(`span`,{className:`min-w-[88px] text-body-small-default text-[var(--content-tertiary)]`,children:e}),t]})}function Gt({summary:e,mono:t,timezoneLabel:n}){return(0,q.jsxs)(`div`,{className:`flex items-start gap-3 rounded-lg border border-[var(--border-subtle)] bg-[var(--surface-lift)] px-3.5 py-3`,children:[(0,q.jsx)(nt,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-tertiary)]`,"aria-hidden":!0}),(0,q.jsxs)(`div`,{className:`min-w-0`,children:[(0,q.jsx)(`p`,{className:d(`text-body-medium-default text-[var(--content-default)]`,t&&`break-all font-mono`),children:e}),(0,q.jsxs)(`p`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:[`Times use your timezone — `,n,`.`]})]})]})}function Kt(e=Pe(),t=Date.now()){return ct(`7d`,e,t)}function J(e){return e?new Date(e).toLocaleString(void 0,{month:`short`,day:`numeric`,hour:`numeric`,minute:`2-digit`,hour12:!0}):`—`}function qt(e){return e==null?`—`:e<1e3?`${e}ms`:`${(e/1e3).toFixed(1)}s`}var Jt=new Intl.NumberFormat(void 0,{style:`currency`,currency:`USD`,minimumFractionDigits:2,maximumFractionDigits:2});function Y(e){return e==null||!Number.isFinite(e)?`—`:Jt.format(e)}function Yt(e){return`${e.toLocaleString()} ${e===1?`run`:`runs`}`}function Xt(e){let t=Math.round(e/6e4);return t>=60&&t%60==0?`Every ${t/60} hr`:`Every ${t} min`}function Zt(e){if(!e)return;let t=new Set,n=[];for(let r of e)for(let e of r.runs)t.has(e.id)||(t.add(e.id),n.push(e));return n}function Qt(e){return!!e.conversationId&&e.conversationExists===!0&&e.conversationArchivedAt==null}function $t(e){return Qt(e)?e.conversationId??null:null}function X(e){return typeof e==`string`&&e.length>0}var en={heartbeat:`system-heartbeat`,consolidation:`system-consolidation`,retrospective:`system-memory-retrospective`};function tn(e){if(e.cronExpression)return e.timezone?`Cron: ${e.cronExpression} (${e.timezone})`:`Cron: ${e.cronExpression}`;let t=Xt(e.intervalMs);return e.activeHoursStart!=null&&e.activeHoursEnd!=null&&(t+=` (${e.activeHoursStart}:00–${e.activeHoursEnd}:00)`),t}function nn(e){return Xt(e.intervalMs)}var rn=`After conversation activity`;function an(e,t){return e.status===`fired`||e.status===`cancelled`?!0:e.status===`firing`?!1:e.nextRunAt==null||!e.enabled&&e.nextRunAt<=t}function on(e,t){let n=[],r=[],i=[];for(let a of e)a.isOneShot?an(a,t)?i.push(a):r.push(a):n.push(a);return n.sort((e,t)=>e.enabled===t.enabled?(e.nextRunAt??1/0)-(t.nextRunAt??1/0):e.enabled?-1:1),r.sort((e,t)=>(e.nextRunAt??1/0)-(t.nextRunAt??1/0)),i.sort((e,t)=>{let n=e.lastRunAt??e.nextRunAt??0;return(t.lastRunAt??t.nextRunAt??0)-n}),{recurring:n,upcomingOneTime:r,pastOneTime:i}}function sn(e,t,n=!0){return{queryKey:[{_id:`schedulesUsagesummaryGet`,path:{assistant_id:e??``},_tz:t}],queryFn:()=>e?_t(e,Kt(t)):Promise.resolve([]),enabled:n,staleTime:1e4}}function cn(e){return{scheduleId:e,runCount:0,totalEstimatedCostUsd:0,eventCount:0}}function ln(e,t,n){let r=(t??[]).filter(e=>{let t=e.startedAt??e.createdAt;return t>=n.from&&t<=n.to});return{scheduleId:e,runCount:r.length,totalEstimatedCostUsd:r.reduce((e,t)=>{let n=t.estimatedCostUsd;return typeof n==`number`&&Number.isFinite(n)?e+n:e},0),eventCount:0}}function un({status:e}){return(0,q.jsx)(`span`,{className:`inline-block h-2 w-2 rounded-full`,style:{backgroundColor:e===`ok`||e===`completed`?`var(--system-positive-strong)`:e===`error`||e===`failed`?`var(--system-negative-strong)`:`var(--content-tertiary)`},"aria-label":e??`unknown`})}function dn({scheduleName:e,usage:t,onOpenUsage:n}){if(t.status===`loading`)return(0,q.jsxs)(`div`,{"aria-label":`Loading schedule usage`,className:`flex w-[156px] shrink-0 items-center justify-end gap-3`,children:[(0,q.jsx)(`span`,{className:`h-5 w-16 animate-pulse rounded bg-[var(--surface-muted)]`}),(0,q.jsx)(`span`,{className:`h-5 w-16 animate-pulse rounded bg-[var(--surface-muted)]`})]});let r=t.status===`error`,i=r?`--`:Y(t.summary.totalEstimatedCostUsd),a=r?`--`:Yt(t.summary.runCount),o=t.status===`ready`&&!(t.summary.totalEstimatedCostUsd>0),s=t.status===`ready`&&t.summary.runCount===0,c=o?`text-[var(--content-tertiary)]`:`text-[var(--content-default)]`,l=s?`text-[var(--content-tertiary)]`:`text-[var(--content-default)]`;return(0,q.jsxs)(`div`,{className:`flex w-[156px] shrink-0 items-center justify-end gap-3 text-right text-body-small-default`,children:[n?(0,q.jsx)(`button`,{type:`button`,onClick:n,"aria-label":`View usage for ${e}`,className:`min-w-[64px] cursor-pointer rounded px-1 py-0.5 text-right transition-colors hover:bg-[var(--surface-hover)] ${c}`,children:i}):(0,q.jsx)(`span`,{"aria-label":`Cost for ${e} in the last 7 days: ${i}`,className:`block min-w-[64px] px-1 py-0.5 ${c}`,children:i}),(0,q.jsx)(`span`,{"aria-label":`Runs for ${e} in the last 7 days: ${a}`,className:`block min-w-[64px] px-1 py-0.5 ${l}`,children:a})]})}function fn({name:e,subtitle:t,enabled:n,nextRunAt:r,lastRunAt:i,usage:a,helperText:o,statusLabel:s,statusTone:c=`neutral`,onClick:l}){return(0,q.jsx)(`div`,{className:`flex flex-wrap items-center gap-3 rounded-md px-2 py-3 transition-colors hover:bg-[var(--surface-hover)] [&+&]:border-t [&+&]:border-[var(--border-base)]`,children:(0,q.jsxs)(`button`,{type:`button`,onClick:l,"aria-label":`Open ${e}`,className:`flex min-w-0 flex-1 cursor-pointer flex-wrap items-center gap-3 text-left focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`,children:[(0,q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,q.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,q.jsx)(`span`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:e})}),(0,q.jsx)(`div`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:t}),o?(0,q.jsx)(`div`,{className:`mt-0.5 text-body-small-default text-[var(--content-secondary)]`,children:o}):null,(0,q.jsxs)(`div`,{className:`mt-0.5 flex flex-wrap items-center gap-x-3 gap-y-1 text-body-small-default text-[var(--content-tertiary)]`,children:[r?(0,q.jsxs)(`span`,{children:[`Next: `,J(r)]}):null,i?(0,q.jsxs)(`span`,{children:[`Last: `,J(i)]}):null]})]}),(0,q.jsxs)(`div`,{className:`flex shrink-0 flex-wrap items-center justify-end gap-3`,children:[(0,q.jsx)(dn,{scheduleName:e,usage:a}),s?(0,q.jsx)(j,{tone:c,children:s}):(0,q.jsx)(`span`,{className:`h-2 w-2 rounded-full`,style:{backgroundColor:n?`var(--system-positive-strong)`:`var(--content-disabled)`},"aria-label":n?`enabled`:`disabled`}),(0,q.jsx)(y,{className:`h-4 w-4 text-[var(--content-tertiary)]`})]})]})})}function pn({heartbeatConfig:e,consolidationConfig:t,retrospectiveConfig:n,heartbeatUsage:r,consolidationUsage:i,retrospectiveUsage:a,isLoading:o,hasError:s,onRetry:c,onSelectHeartbeat:l,onSelectConsolidation:u,onSelectRetrospective:d}){let f=e!=null,p=t?.available===!0,m=n?.available===!0,h=f||p||m;if(!o&&!s&&!h)return null;let g=[...f?[r]:[],...p?[i]:[],...m?[a]:[]].filter(e=>e.status===`ready`),_=g.reduce((e,t)=>e+(t.summary.totalEstimatedCostUsd??0),0),y=o?(0,q.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,q.jsx)(S,{className:`h-5 w-5 animate-spin text-stone-400`})}):s&&!h?(0,q.jsxs)(E,{tone:`error`,children:[`Failed to load system jobs.`,` `,(0,q.jsx)(`button`,{type:`button`,onClick:c,className:`cursor-pointer underline hover:no-underline`,children:`Retry`})]}):(0,q.jsxs)(`div`,{children:[f?(0,q.jsx)(fn,{name:`Heartbeat`,subtitle:tn(e),enabled:e.enabled,nextRunAt:e.nextRunAt,lastRunAt:e.lastRunAt,usage:r,onClick:l}):null,p?(0,q.jsx)(fn,{name:`Consolidation`,subtitle:nn(t),enabled:t.enabled,helperText:t.enabled?void 0:`Memory is off, so consolidation is paused.`,nextRunAt:t.nextRunAt,lastRunAt:t.lastRunAt,usage:i,statusLabel:t.enabled?void 0:`Paused`,statusTone:`warning`,onClick:u}):null,m?(0,q.jsx)(fn,{name:`Memory retrospective`,subtitle:rn,enabled:n.enabled,helperText:n.enabled?void 0:`Memory is off, so retrospectives are paused.`,nextRunAt:n.nextRunAt,lastRunAt:n.lastRunAt,usage:a,statusLabel:n.enabled?void 0:`Paused`,statusTone:`warning`,onClick:d}):null,s?(0,q.jsx)(`div`,{className:`pt-3 first:pt-0`,children:(0,q.jsxs)(E,{tone:`error`,children:[`Some system jobs failed to load.`,` `,(0,q.jsx)(`button`,{type:`button`,onClick:c,className:`cursor-pointer underline hover:no-underline`,children:`Retry`})]})}):null]});return(0,q.jsx)(it,{children:(0,q.jsx)(k.Root,{type:`multiple`,children:(0,q.jsxs)(k.Item,{value:`system-jobs`,children:[(0,q.jsxs)(k.Trigger,{className:`group justify-between gap-3`,children:[(0,q.jsxs)(`span`,{className:`flex min-w-0 flex-wrap items-baseline gap-x-2 gap-y-1 text-left`,children:[(0,q.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-secondary)]`,children:`System`}),(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Built-in jobs managed by the assistant runtime`})]}),(0,q.jsxs)(`span`,{className:`flex shrink-0 items-center gap-3`,children:[g.length>0?(0,q.jsxs)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:[Y(_),` (7d)`]}):null,(0,q.jsx)(v,{className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform group-data-[state=open]:rotate-180`})]})]}),(0,q.jsx)(k.Content,{children:(0,q.jsx)(`div`,{className:`mt-3`,children:y})})]})})})}function mn(e,t){return{id:e.id,jobId:t,status:e.status,startedAt:e.startedAt??e.scheduledFor,finishedAt:e.finishedAt,durationMs:e.durationMs,output:`skipReason`in e&&e.skipReason?`Skipped: ${e.skipReason}`:null,error:e.error,conversationId:e.conversationId,conversationExists:e.conversationExists,conversationArchivedAt:e.conversationArchivedAt,estimatedCostUsd:e.estimatedCostUsd,createdAt:e.createdAt,...`title`in e?{title:e.title}:{}}}function hn(e){return e.runs.map(e=>mn(e,`heartbeat`))}function gn(e){return e.runs.map(e=>mn(e,`consolidation`))}function _n(e){return e.runs.map(e=>mn(e,`retrospective`))}var Z=1e4;function vn(e,t,n,r,i){return e?{status:`loading`}:t?{status:`error`}:{status:`ready`,summary:ln(n,r,i)}}function yn(e,n){let r=c(),i={path:{assistant_id:e??``}},{data:a,isLoading:o,isError:s,refetch:u}=l({...xe(i),enabled:!!e,staleTime:Z}),{data:d,isLoading:f,isError:p,refetch:m}=l({...ye(i),enabled:!!e,staleTime:Z}),{data:h,isLoading:g,isError:_,refetch:v}=l({...we(i),enabled:!!e,staleTime:Z}),y={path:{assistant_id:e??``},query:{limit:100}},{data:b,isLoading:x,isError:S,refetch:C}=l({...B(y),select:hn,enabled:!!e&&a!=null,staleTime:Z}),{data:w,isLoading:T,isError:E,refetch:D}=l({...Ee(y),select:gn,enabled:!!e&&d?.available===!0,staleTime:Z}),{data:O,isLoading:k,isError:A,refetch:j}=l({...Ce(y),select:_n,enabled:!!e&&h?.available===!0,staleTime:Z}),M=(0,G.useMemo)(()=>Kt(n),[n]),N=(0,G.useMemo)(()=>vn(x,S,en.heartbeat,b,M),[b,S,x,M]),ee=(0,G.useMemo)(()=>vn(T,E,en.consolidation,w,M),[w,E,T,M]),P=(0,G.useMemo)(()=>vn(k,A,en.retrospective,O,M),[O,A,k,M]),F=t=>{if(!e)return;let n={heartbeat:{config:xe(i).queryKey,runs:B(y).queryKey,infinite:de(i)},consolidation:{config:ye(i).queryKey,runs:Ee(y).queryKey,infinite:Te(i)},retrospective:{config:we(i).queryKey,runs:Ce(y).queryKey,infinite:ve(i)}}[t];r.invalidateQueries({queryKey:n.config}),r.invalidateQueries({queryKey:n.runs}),r.invalidateQueries({queryKey:n.infinite})},I=pe({onSuccess:e=>{e.ran?L.success(`Heartbeat started.`):L.info(`Heartbeat skipped.`)},onError:e=>{t(e,{context:`heartbeat_run_now`}),L.error(`Failed to run heartbeat.`)},onSettled:()=>F(`heartbeat`)}),te=se({onSuccess:e=>{e.ran?L.success(`Consolidation queued.`):L.info(`Consolidation already queued or running.`)},onError:e=>{t(e,{context:`consolidation_run_now`}),L.error(`Failed to run consolidation.`)},onSettled:()=>F(`consolidation`)}),R=ce({onSuccess:e=>{le(r,i,e),L.success(e.enabled?`Heartbeat enabled.`:`Heartbeat disabled.`)},onError:e=>{t(e,{context:`heartbeat_toggle`}),L.error(`Failed to toggle heartbeat.`)}});return{heartbeatConfig:a,consolidationConfig:d,retrospectiveConfig:h,heartbeatUsage:N,consolidationUsage:ee,retrospectiveUsage:P,isLoading:o||f||g,hasError:s||p||_,isHeartbeatRunning:I.isPending,isConsolidationRunning:te.isPending,isHeartbeatLoading:o,isHeartbeatError:s,isConsolidationLoading:f,isConsolidationError:p,isRetrospectiveLoading:g,isRetrospectiveError:_,refetchHeartbeat:u,refetchConsolidation:m,refetchRetrospective:v,runHeartbeatNow:()=>{e&&I.mutate({path:{assistant_id:e}})},runConsolidationNow:()=>{e&&te.mutate({path:{assistant_id:e}})},toggleHeartbeat:t=>{e&&R.mutate({body:{enabled:t},path:{assistant_id:e}})},refetchAll:()=>{u(),m(),v(),C(),D(),j()}}}var bn=`0.10.5`;function xn(){return Oe(bn)}function Sn({icon:e,title:t,description:n,actions:r}){return(0,q.jsxs)(`div`,{className:`flex h-full min-h-[400px] flex-col items-center justify-center gap-4 px-4 py-24 text-center`,children:[(0,q.jsx)(`div`,{className:`flex h-16 w-16 items-center justify-center rounded-xl bg-[var(--surface-base)]`,children:(0,q.jsx)(e,{size:32,className:`text-[var(--content-tertiary)]`})}),(0,q.jsx)(`h2`,{className:`text-title-medium text-[var(--content-default)]`,children:t}),(0,q.jsx)(`p`,{className:`max-w-md text-body-medium-lighter text-[var(--content-tertiary)]`,children:n}),r?(0,q.jsx)(`div`,{className:`flex flex-col items-center gap-3`,children:r}):null]})}function Cn(e){if(e.status===`loading`)return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{className:`h-4 w-12 animate-pulse rounded bg-[var(--surface-muted)]`}),(0,q.jsx)(`span`,{className:`h-4 w-10 animate-pulse rounded bg-[var(--surface-muted)]`})]});if(e.status===`error`)return(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`—`});let{summary:t}=e;return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:Y(t.totalEstimatedCostUsd)}),(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:Yt(t.runCount)})]})}function wn({name:e,metaParts:t,usage:n,enabled:r,selected:i,onClick:a,onToggle:o,toggleAriaLabel:s}){return(0,q.jsxs)(`div`,{className:`flex items-center gap-3 rounded-md px-2 py-3 transition-colors [&+&]:border-t [&+&]:border-[var(--border-base)] ${i?`bg-[var(--surface-active)]`:`hover:bg-[var(--surface-hover)]`}`,children:[o?(0,q.jsx)(ee,{checked:r,onChange:o,"aria-label":s}):null,(0,q.jsxs)(`button`,{type:`button`,onClick:a,className:`flex min-w-0 flex-1 cursor-pointer items-center gap-4 text-left focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`,children:[(0,q.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:[(0,q.jsx)(`span`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:e}),t.length>0?(0,q.jsx)(`span`,{className:`flex min-w-0 items-center gap-2 text-label-small-default text-[var(--content-tertiary)]`,children:t.map((e,t)=>(0,q.jsxs)(G.Fragment,{children:[t>0?(0,q.jsx)(`span`,{className:`h-[3px] w-[3px] shrink-0 rounded-full bg-[var(--content-tertiary)]`}):null,(0,q.jsx)(`span`,{className:`truncate`,children:e})]},t))}):null]}),(0,q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-4`,children:[Cn(n),(0,q.jsx)(y,{className:`h-4 w-4 text-[var(--content-tertiary)]`})]})]})]})}function Tn({schedule:e,usage:t,selected:n,onClick:r,onToggle:i}){let a=e.isOneShot?``:e.cadenceDescription.trim(),o=e.lastRunAt??e.nextRunAt,s=[a,o?J(o):``].filter(Boolean);return(0,q.jsx)(wn,{name:e.name,metaParts:s,usage:t,enabled:e.enabled,selected:n,onClick:r,onToggle:i,toggleAriaLabel:i?`Toggle ${e.name}`:void 0})}function En({recurring:e,oneTime:t,pastOneTime:n,usageForSchedule:r,isLoading:a,isError:o,refetch:s,onToggle:c,onSelectSchedule:l,selectedScheduleId:u,onStartNewChat:d,onCreateSchedule:f,pastOpen:p,onPastOpenChange:m,systemTasksSlot:h}){let g=e=>(0,q.jsx)(Tn,{schedule:e,usage:r(e.id),selected:e.id===u,onClick:()=>l(e.id),onToggle:t=>c(e.id,t)},e.id),v=e=>(0,q.jsx)(Tn,{schedule:e,usage:r(e.id),selected:e.id===u,onClick:()=>l(e.id)},e.id),b=n.length>0?(0,q.jsx)(k.Root,{type:`single`,collapsible:!0,className:`mt-3`,value:p?`past`:``,onValueChange:e=>m(e===`past`),children:(0,q.jsxs)(k.Item,{value:`past`,children:[(0,q.jsxs)(k.Trigger,{className:`group gap-[var(--app-spacing-xs)] px-2 text-label-small-default text-[var(--content-tertiary)]`,children:[(0,q.jsx)(y,{size:14,"aria-hidden":!0,className:`shrink-0 transition-transform group-data-[state=open]:rotate-90`}),(0,q.jsxs)(`span`,{children:[`Past (`,n.length,`)`]})]}),(0,q.jsx)(k.Content,{children:(0,q.jsx)(`div`,{className:`pt-1`,children:n.map(v)})})]})}):null;return(0,q.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:[a?(0,q.jsx)(`div`,{className:`space-y-3`,children:Array.from({length:2},(e,t)=>(0,q.jsx)(`div`,{className:`h-12 animate-pulse rounded-md bg-[var(--surface-muted)]`},t))}):o&&e.length===0?(0,q.jsx)(E,{tone:`error`,actions:(0,q.jsx)(`button`,{type:`button`,onClick:s,className:`cursor-pointer underline hover:no-underline`,children:`Retry`}),children:`Failed to load schedules.`}):e.length===0&&t.length===0&&n.length===0?(0,q.jsx)(Sn,{icon:_,title:`No schedules yet`,description:`Ask your assistant to set one up, or create one yourself.`,actions:(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(i,{variant:`primary`,size:`regular`,onClick:d,children:`New Conversation`}),(0,q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`or`}),(0,q.jsx)(i,{variant:`outlined`,size:`regular`,onClick:f,children:`Create schedule`})]})}):(0,q.jsxs)(`div`,{children:[e.map(g),t.length>0?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`p`,{className:`mt-3 px-2 text-label-small-default text-[var(--content-tertiary)]`,children:`One-time`}),t.map(v)]}):null,b]}),h?(0,q.jsx)(`div`,{className:`mt-[var(--app-spacing-lg)]`,children:h}):null]})}function Dn({children:e}){return(0,q.jsx)(f,{variant:`label-small-default`,as:`div`,className:`mb-2 uppercase tracking-wider text-[var(--content-tertiary)]`,children:e})}function Q({label:e,value:t}){return(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-4 py-1`,children:[(0,q.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-secondary)]`,children:e}),(0,q.jsx)(`span`,{className:`min-w-0 text-right text-body-medium-lighter text-[var(--content-default)]`,children:t})]})}function On({icon:e,value:t,label:n}){return(0,q.jsxs)(`div`,{className:`flex items-center gap-3 rounded-lg border border-[var(--border-base)] bg-[var(--surface-lift)] p-3`,children:[(0,q.jsx)(`span`,{className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-md bg-[var(--surface-sunken)] text-[var(--content-secondary)]`,children:e}),(0,q.jsxs)(`div`,{className:`min-w-0`,children:[(0,q.jsx)(`div`,{className:`truncate text-body-large-default text-[var(--content-default)]`,children:t}),(0,q.jsx)(`div`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:n})]})]})}function kn({usage:e}){return e.status===`loading`?(0,q.jsx)(`div`,{className:`grid grid-cols-2 gap-3 pt-2`,children:Array.from({length:2},(e,t)=>(0,q.jsx)(`div`,{className:`h-[60px] animate-pulse rounded-lg bg-[var(--surface-muted)]`},t))}):e.status===`error`?null:(0,q.jsxs)(`div`,{className:`grid grid-cols-2 gap-3 pt-2`,children:[(0,q.jsx)(On,{icon:(0,q.jsx)(Xe,{className:`h-4 w-4`}),value:Y(e.summary.totalEstimatedCostUsd),label:`7 Day Cost`}),(0,q.jsx)(On,{icon:(0,q.jsx)(C,{className:`h-4 w-4`}),value:Yt(e.summary.runCount),label:`7 Day Runs`})]})}function An(e){return e.exists&&e.archivedAt==null}function jn({run:e,index:t,isExpanded:n,disableDirectOpen:r,onOpenConversation:i,onToggleDetails:a}){let o=$t(e),s=e.conversations??(o?[{id:o,title:null,exists:!0,archivedAt:null}]:[]),c=X(e.output),l=X(e.error),u=!r&&s.length===1&&An(s[0])?s[0].id:null,f=!u&&(s.length>0||c||l),p=`schedule-run-details-${t}`,m=!!u||f,h=(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(un,{status:e.status}),(0,q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,q.jsx)(`div`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:J(e.startedAt)}),(0,q.jsxs)(`div`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:[qt(e.durationMs),` ·`,` `,Y(e.estimatedCostUsd)]}),e.status===`error`&&e.error?(0,q.jsxs)(`div`,{className:`mt-0.5 text-body-small-default text-[var(--system-negative-strong)]`,children:[e.error.slice(0,120),e.error.length>120?`…`:``]}):null]}),m?(0,q.jsx)(y,{className:d(`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform`,f&&n?`rotate-90`:``)}):null]}),g=f&&n?(0,q.jsx)(`div`,{id:p,className:`px-2 pb-3`,children:(0,q.jsxs)(`div`,{className:`space-y-3 rounded-md border border-[var(--border-subtle)] bg-[var(--surface-sunken)] p-3`,children:[s.length>0?(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:`Conversations`}),(0,q.jsx)(`div`,{className:`space-y-1`,children:s.map(e=>An(e)?(0,q.jsx)(`button`,{type:`button`,onClick:()=>i(e.id),className:`block w-full truncate text-left text-body-small-default text-[var(--content-default)] hover:underline`,children:X(e.title)?e.title:`Conversation`},e.id):(0,q.jsxs)(`span`,{className:`block truncate text-body-small-default text-[var(--content-tertiary)] italic`,children:[X(e.title)?e.title:`Conversation`,` `,e.exists?`(archived)`:`(unavailable)`]},e.id))})]}):null,c?(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:`Output`}),(0,q.jsx)(`pre`,{className:`max-h-64 overflow-auto whitespace-pre-wrap break-words text-body-small-default font-mono text-[var(--content-default)]`,children:e.output})]}):null,l?(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:`Error`}),(0,q.jsx)(`pre`,{className:`max-h-64 overflow-auto whitespace-pre-wrap break-words text-body-small-default font-mono text-[var(--system-negative-strong)]`,children:e.error})]}):null]})}):null;return u?(0,q.jsx)(`div`,{children:(0,q.jsx)(`button`,{type:`button`,onClick:()=>i(u),"aria-label":`Open conversation for run at ${J(e.startedAt)}`,className:`flex w-full cursor-pointer items-center gap-3 px-2 py-3 text-left shadow-none transition-colors hover:bg-[var(--surface-hover)] focus:outline-none`,children:h})}):f?(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`button`,{type:`button`,onClick:()=>a(e.id),"aria-label":`Toggle details for run at ${J(e.startedAt)}`,"aria-expanded":n,"aria-controls":p,className:`flex w-full cursor-pointer items-center gap-3 px-2 py-3 text-left shadow-none transition-colors hover:bg-[var(--surface-hover)] focus:outline-none`,children:h}),g]}):(0,q.jsx)(`div`,{className:`flex items-center gap-3 px-2 py-3`,children:h})}function Mn({runs:e,isLoading:t,disableDirectOpen:n,onOpenConversation:r}){let[i,a]=(0,G.useState)(null);return t?(0,q.jsx)(`div`,{className:`flex items-center justify-center py-6`,children:(0,q.jsx)(S,{className:`h-5 w-5 animate-spin text-stone-400`})}):!e||e.length===0?(0,q.jsx)(`p`,{className:`py-2 text-body-medium-lighter text-[var(--content-tertiary)] italic`,children:`No runs yet.`}):(0,q.jsx)(`div`,{className:`divide-y divide-[var(--border-base)]`,children:e.map((e,t)=>(0,q.jsx)(jn,{run:e,index:t,isExpanded:i===e.id,disableDirectOpen:n,onOpenConversation:r,onToggleDetails:e=>a(t=>t===e?null:e)},e.id))})}function Nn({schedule:e,assistantId:n,usage:r,isMobile:o,onClose:s,onDeleted:c}){let u=a(),{data:p,isLoading:m}=l({queryKey:Se({path:{assistant_id:n,id:e.id}}),queryFn:()=>gt(n,e.id),staleTime:1e4}),[h,g]=(0,G.useState)(!1),[_,v]=(0,G.useState)(!1),[y,b]=(0,G.useState)(!1),x=async()=>{g(!0);try{await bt(n,e.id)}catch(e){t(e,{context:`schedule_run_now`}),L.error(`Failed to run schedule.`)}finally{g(!1)}},C=async()=>{b(!0);try{await yt(n,e.id),c()}catch(e){t(e,{context:`schedule_delete`}),L.error(`Failed to delete schedule.`),b(!1),v(!1)}};return(0,q.jsxs)(`div`,{className:d(`flex h-full flex-col bg-[var(--surface-overlay)]`,!o&&`rounded-[var(--radius-xl)] border border-[var(--border-base)]`),children:[(0,q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-3 border-b border-[var(--border-base)] p-[var(--app-spacing-lg)]`,children:[(0,q.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,q.jsx)(f,{variant:`title-small`,className:`truncate text-[var(--content-default)]`,children:e.name})}),(0,q.jsx)(i,{variant:`ghost`,iconOnly:(0,q.jsx)(T,{}),onClick:s,"aria-label":`Close schedule details`,tooltip:`Close`,className:`shrink-0`})]}),(0,q.jsxs)(`div`,{className:`flex-1 space-y-6 overflow-y-auto px-[var(--app-spacing-lg)] py-[var(--app-spacing-lg)]`,children:[e.description?(0,q.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-secondary)]`,children:e.description}):null,(0,q.jsxs)(`section`,{children:[(0,q.jsx)(Dn,{children:`Details`}),(0,q.jsxs)(`div`,{className:`rounded-lg border border-[var(--border-base)] bg-[var(--surface-lift)] px-4 py-2`,children:[e.cadenceDescription?(0,q.jsx)(Q,{label:`Cadence`,value:e.cadenceDescription}):null,(0,q.jsx)(Q,{label:`Mode`,value:e.mode}),(0,q.jsx)(Q,{label:`Status`,value:e.enabled?`Enabled`:`Disabled`}),(0,q.jsx)(Q,{label:`Next run`,value:J(e.nextRunAt)}),e.lastRunAt?(0,q.jsx)(Q,{label:`Last run`,value:(0,q.jsxs)(`span`,{className:`flex items-center justify-end gap-2`,children:[(0,q.jsx)(un,{status:e.lastStatus}),J(e.lastRunAt)]})}):null]})]}),(0,q.jsx)(kn,{usage:r}),(0,q.jsxs)(`section`,{children:[(0,q.jsx)(Dn,{children:`Recent runs`}),(0,q.jsx)(Mn,{runs:p?.runs,isLoading:m,disableDirectOpen:e.mode===`script`,onOpenConversation:e=>u(W.conversation(e))})]})]}),(0,q.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-2 border-t border-[var(--border-base)] p-[var(--app-spacing-lg)]`,children:[_?(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(i,{variant:`ghost`,onClick:()=>v(!1),disabled:y,children:`Cancel`}),(0,q.jsx)(i,{variant:`danger`,onClick:()=>void C(),disabled:y,children:y?`Deleting…`:`Yes, delete`})]}):(0,q.jsx)(i,{variant:`dangerOutline`,leftIcon:(0,q.jsx)($e,{className:`h-3.5 w-3.5`}),onClick:()=>v(!0),children:`Delete`}),(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(i,{variant:`outlined`,leftIcon:(0,q.jsx)(Ie,{className:`h-3.5 w-3.5`}),onClick:()=>u(W.logs.usageForSchedule(e.id)),children:`View usage`}),e.mode===`script`?(0,q.jsx)(i,{variant:`primary`,leftIcon:h?(0,q.jsx)(S,{className:`h-3.5 w-3.5 animate-spin`}):void 0,onClick:()=>void x(),disabled:h,children:h?`Running…`:`Run now`}):null]})]})]})}var Pn=`Default (assistant's main model)`,Fn=`Custom call-site model`;function In(e,t){return t?.[e]?.displayName??e}function Ln(e,t){if(e==null)return;if(e.provider!=null||e.model!=null)return Fn;let n=e.profile?.trim();return n?`Override (${In(n,t)})`:void 0}function Rn({assistantId:e,pinnedProfile:t,defaultCallSite:n=`mainAgent`,fallbackLabel:r=Pn,respectCallSiteOverride:i=!1}){let a=t==null,{data:o}=l({...he({path:{assistant_id:e}}),enabled:!!e,staleTime:6e4}),s=(0,G.useMemo)(()=>o?lt(o):{},[o]),{data:c}=l({...ge({path:{assistant_id:e}}),enabled:!!e&&a,staleTime:6e4}),u=a&&i?Ln(o?.llm?.callSites?.[n],s):void 0,d=a?c?.callSites.find(e=>e.id===n)?.defaultProfile:void 0,f=t==null?u??(d==null?r:`Default (${In(d,s)})`):In(t,s);return(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,q.jsx)(`span`,{className:`text-[var(--content-secondary)]`,children:`Model profile`}),(0,q.jsx)(`span`,{className:`min-w-0 text-right`,children:f})]})}function zn({runs:e,isLoading:t,emptyMessage:n=`No runs yet.`,hasMore:r=!1,isLoadingMore:o=!1,onLoadMore:s}){let c=a(),[l,u]=(0,G.useState)(null);return(0,q.jsx)(it,{title:`Recent runs`,children:t?(0,q.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,q.jsx)(S,{className:`h-5 w-5 animate-spin text-stone-400`})}):!e||e.length===0?(0,q.jsx)(`p`,{className:`py-4 text-center text-body-medium-lighter text-[var(--content-tertiary)] italic`,children:n}):(0,q.jsxs)(`div`,{className:`divide-y divide-[var(--border-base)]`,children:[e.map((e,t)=>{let n=$t(e),r=X(e.output),i=X(e.error),a=!n&&(r||i),o=l===e.id,s=`schedule-run-details-${t}`;return(0,q.jsxs)(`div`,{children:[(0,q.jsx)(te,{label:(0,q.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-3`,children:[(0,q.jsx)(un,{status:e.status}),(0,q.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,q.jsx)(`span`,{className:`block truncate text-body-medium-lighter text-[var(--content-default)]`,children:X(e.title)?e.title:J(e.startedAt)}),(0,q.jsxs)(`span`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:[X(e.title)?`${J(e.startedAt)} · `:``,qt(e.durationMs),` ·`,` `,Y(e.estimatedCostUsd),e.status===`error`&&e.error&&(0,q.jsxs)(`span`,{className:`ml-2 text-[var(--system-negative-strong)]`,children:[e.error.slice(0,80),e.error.length>80?`…`:``]})]})]}),n||a?(0,q.jsx)(y,{className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform ${o?`rotate-90`:``}`}):null]}),onSelect:n?()=>c(W.conversation(n)):a?()=>u(o?null:e.id):void 0,"aria-label":`Run at ${J(e.startedAt)}`,"aria-expanded":a?o:void 0,"aria-controls":a?s:void 0,className:`h-auto py-2.5 gap-3 -mx-2 px-2`}),a&&o?(0,q.jsx)(`div`,{id:s,className:`px-2 pb-3`,children:(0,q.jsxs)(`div`,{className:`space-y-3 rounded-md border border-[var(--border-subtle)] bg-[var(--surface-sunken)] p-3`,children:[r?(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:`Output`}),(0,q.jsx)(`pre`,{className:`max-h-64 overflow-auto whitespace-pre-wrap break-words text-body-small-default font-mono text-[var(--content-default)]`,children:e.output})]}):null,i?(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-secondary)]`,children:`Error`}),(0,q.jsx)(`pre`,{className:`max-h-64 overflow-auto whitespace-pre-wrap break-words text-body-small-default font-mono text-[var(--system-negative-strong)]`,children:e.error})]}):null]})}):null]},e.id)}),r&&s?(0,q.jsx)(`div`,{className:`flex justify-center pt-3`,children:(0,q.jsx)(i,{variant:`outlined`,size:`compact`,onClick:s,disabled:o,leftIcon:o?(0,q.jsx)(S,{className:`h-3.5 w-3.5 animate-spin`}):void 0,children:o?`Loading…`:`Load more`})}):null]})})}var Bn={heartbeat:`heartbeatAgent`,consolidation:`memoryV2Consolidation`,retrospective:`memoryRetrospective`};function Vn({children:e}){return(0,q.jsx)(f,{variant:`label-small-default`,as:`div`,className:`mb-2 uppercase tracking-wider text-[var(--content-tertiary)]`,children:e})}function Hn({kind:e,assistantId:t,systemTasks:n,canOpenMemorySettings:r,isMobile:o,onClose:s}){let c=a(),{heartbeatConfig:l,consolidationConfig:u,retrospectiveConfig:p}=n,m,h,g,_,v,y,b;e===`heartbeat`?(m=`Heartbeat`,h=l?tn(l):``,g=l?.enabled??!1,_=l?.nextRunAt??null,v=l?.lastRunAt??null,y=n.isHeartbeatRunning,b=n.runHeartbeatNow):e===`consolidation`?(m=`Consolidation`,h=u?nn(u):``,g=u?.enabled??!1,_=u?.nextRunAt??null,v=u?.lastRunAt??null,y=n.isConsolidationRunning,b=n.runConsolidationNow):(m=`Memory retrospective`,h=rn,g=p?.enabled??!1,_=p?.nextRunAt??null,v=p?.lastRunAt??null,y=!1,b=void 0);let x=e!==`heartbeat`,C=e===`retrospective`,w=x&&!g,D=y||w,O=x?g?`On · Managed by Memory`:`Paused`:g?`Enabled`:`Disabled`,k=C?`Memory is off, so retrospectives are paused. Turn Memory back on to resume them.`:`Memory is off, so consolidation is paused. Turn Memory back on to resume consolidation.`,A=x&&g&&r,j={path:{assistant_id:t},query:{limit:25}},M=e===`heartbeat`?ue(j):e===`consolidation`?me(j):_e(j),{data:N,isLoading:P,fetchNextPage:F,hasNextPage:I,isFetchingNextPage:te}=He({queryKey:M.queryKey,queryFn:M.queryFn,initialPageParam:{path:j.path,query:{}},getNextPageParam:e=>e.nextCursor??void 0,staleTime:1e4}),L=Zt(N?.pages.map(t=>({runs:t.runs.map(t=>mn(t,e))})));return(0,q.jsxs)(`div`,{className:d(`flex h-full flex-col bg-[var(--surface-overlay)]`,!o&&`rounded-[var(--radius-xl)] border border-[var(--border-base)]`),children:[(0,q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-3 border-b border-[var(--border-base)] p-[var(--app-spacing-lg)]`,children:[(0,q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,q.jsx)(f,{variant:`title-small`,className:`truncate text-[var(--content-default)]`,children:m}),h?(0,q.jsx)(f,{variant:`body-small-default`,as:`p`,className:`truncate text-[var(--content-tertiary)]`,children:h}):null]}),(0,q.jsx)(i,{variant:`ghost`,iconOnly:(0,q.jsx)(T,{}),onClick:s,"aria-label":`Close schedule details`,tooltip:`Close`,className:`shrink-0`})]}),(0,q.jsxs)(`div`,{className:`flex-1 space-y-6 overflow-y-auto px-[var(--app-spacing-lg)] py-[var(--app-spacing-lg)]`,children:[(0,q.jsxs)(`section`,{children:[(0,q.jsx)(Vn,{children:`Details`}),(0,q.jsxs)(`div`,{className:`space-y-2 rounded-lg border border-[var(--border-base)] bg-[var(--surface-lift)] px-4 py-3 text-body-medium-lighter`,children:[(0,q.jsx)(Rn,{assistantId:t,defaultCallSite:Bn[e],fallbackLabel:`Default (system task model)`,respectCallSiteOverride:!0}),(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,q.jsx)(`span`,{className:`text-[var(--content-secondary)]`,children:`Status`}),(0,q.jsxs)(`span`,{className:`flex items-center gap-2 text-[var(--content-default)]`,children:[(0,q.jsx)(`span`,{children:O}),x?null:(0,q.jsx)(ee,{checked:g,onChange:n.toggleHeartbeat,"aria-label":`Toggle ${m}`})]})]}),C?null:(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,q.jsx)(`span`,{className:`text-[var(--content-secondary)]`,children:`Next run`}),(0,q.jsx)(`span`,{className:`text-[var(--content-default)]`,children:J(_)})]}),(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,q.jsx)(`span`,{className:`text-[var(--content-secondary)]`,children:`Last run`}),(0,q.jsx)(`span`,{className:`text-[var(--content-default)]`,children:J(v)})]})]}),w?(0,q.jsx)(E,{tone:`warning`,className:`mt-4`,actions:r?(0,q.jsx)(i,{variant:`outlined`,size:`compact`,onClick:()=>c(W.settings.advanced),children:`Turn on Memory`}):void 0,children:k}):null]}),(0,q.jsx)(zn,{runs:L,isLoading:P,hasMore:I,isLoadingMore:te,onLoadMore:()=>void F()})]}),A||b?(0,q.jsxs)(`div`,{className:`flex shrink-0 items-center justify-end gap-2 border-t border-[var(--border-base)] p-[var(--app-spacing-lg)]`,children:[A?(0,q.jsx)(i,{variant:`outlined`,leftIcon:(0,q.jsx)(We,{className:`h-3.5 w-3.5`}),onClick:()=>c(W.settings.advanced),children:`Memory settings`}):null,b?(0,q.jsx)(i,{variant:`primary`,leftIcon:y?(0,q.jsx)(S,{className:`h-3.5 w-3.5 animate-spin`}):(0,q.jsx)(Be,{className:`h-3.5 w-3.5`}),onClick:b,disabled:D,children:y?`Running…`:`Run now`}):null]}):null]})}var $={security:{icon:Le,strong:`var(--feed-nudge-strong)`,weak:`var(--feed-nudge-weak)`},email:{icon:Qe,strong:`var(--feed-digest-strong)`,weak:`var(--feed-digest-weak)`},scheduling:{icon:nt,strong:`var(--feed-thread-strong)`,weak:`var(--feed-thread-weak)`},background:{icon:We,strong:`var(--system-info-strong)`,weak:`var(--system-info-weak)`},system:{icon:h,strong:`var(--feed-digest-strong)`,weak:`var(--feed-digest-weak)`}},Un=[`security`,`email`,`scheduling`,`background`,`system`],Wn=`all`;function Gn({categories:e,activeFilter:t,onFilterChange:n}){let r=Un.filter(t=>e.includes(t));if(r.length<=1)return null;let i=[{value:Wn,label:`All`,icon:(0,q.jsx)(qe,{className:`h-4 w-4`})},...r.map(e=>{let t=$[e].icon;return{value:e,label:e.charAt(0).toUpperCase()+e.slice(1),icon:(0,q.jsx)(t,{className:`h-4 w-4`})}})];return(0,q.jsx)(F,{ariaLabel:`Filter notifications`,value:t??Wn,onChange:e=>n(e===Wn?null:e),items:i,className:`self-start !w-auto [&>*]:!flex-none`})}var Kn={p:({children:e})=>(0,q.jsx)(`p`,{className:`mb-2 text-body-medium-default last:mb-0`,style:{color:`var(--content-secondary)`},children:e}),strong:({children:e})=>(0,q.jsx)(`strong`,{style:{color:`var(--content-default)`},children:e}),em:({children:e})=>(0,q.jsx)(`em`,{style:{color:`var(--content-default)`},children:e}),a:({href:e,children:t})=>(0,q.jsx)(`a`,{href:e,className:`underline`,style:{color:`var(--content-link)`},target:`_blank`,rel:`noopener noreferrer`,onClick:t=>tt(t,e),children:t}),ul:({children:e})=>(0,q.jsx)(`ul`,{className:`mb-2 list-disc pl-5 text-body-medium-default`,style:{color:`var(--content-secondary)`},children:e}),ol:({children:e})=>(0,q.jsx)(`ol`,{className:`mb-2 list-decimal pl-5 text-body-medium-default`,style:{color:`var(--content-secondary)`},children:e}),li:({children:e})=>(0,q.jsx)(`li`,{className:`mb-0.5`,children:e}),code:({children:e})=>(0,q.jsx)(`code`,{className:`rounded px-1 py-0.5 font-mono text-[0.85em]`,style:{backgroundColor:`color-mix(in oklab, var(--content-default) 8%, transparent)`,color:`var(--content-default)`},children:e}),pre:({children:e})=>(0,q.jsx)(`pre`,{className:`mb-2 overflow-x-auto rounded p-3 font-mono text-[0.85em]`,style:{backgroundColor:`color-mix(in oklab, var(--content-default) 6%, transparent)`,color:`var(--content-default)`},children:e}),h1:({children:e})=>(0,q.jsx)(`h1`,{className:`mb-2 text-title-medium first:mt-0`,style:{color:`var(--content-default)`},children:e}),h2:({children:e})=>(0,q.jsx)(`h2`,{className:`mb-2 text-title-small first:mt-0`,style:{color:`var(--content-default)`},children:e}),h3:({children:e})=>(0,q.jsx)(`h3`,{className:`mb-1 text-body-medium-default first:mt-0`,style:{color:`var(--content-default)`},children:e}),blockquote:({children:e})=>(0,q.jsx)(`blockquote`,{className:`mb-2 border-l-2 pl-3 text-body-medium-default`,style:{borderColor:`var(--border-base)`,color:`var(--content-tertiary)`},children:e}),table:({children:e})=>(0,q.jsx)(`div`,{className:`mb-2 overflow-x-auto`,children:(0,q.jsx)(`table`,{className:`w-full border-collapse text-body-small-default`,style:{color:`var(--content-secondary)`},children:e})}),thead:({children:e})=>(0,q.jsx)(`thead`,{style:{backgroundColor:`var(--surface-lift)`},children:e}),tbody:({children:e})=>(0,q.jsx)(`tbody`,{children:e}),tr:({children:e})=>(0,q.jsx)(`tr`,{style:{borderBottom:`1px solid var(--border-base)`},children:e}),th:({children:e})=>(0,q.jsx)(`th`,{className:`px-2 py-1.5 text-left font-semibold`,style:{color:`var(--content-default)`},children:e}),td:({children:e})=>(0,q.jsx)(`td`,{className:`px-2 py-1.5 align-top`,children:e})};function qn({content:e,className:t}){return(0,q.jsx)(`div`,{className:d(`text-body-medium-default`,t),children:(0,q.jsx)(A,{remarkPlugins:[O],components:Kn,children:e})})}function Jn({item:e}){return(0,q.jsx)(qn,{content:e.summary})}function Yn(e){switch(e){case`revoked`:case`expired`:return`var(--system-negative-strong)`;case`missing_scopes`:case`missing_token`:case`ping_failed`:return`var(--system-mid-strong)`;default:return`var(--content-disabled)`}}function Xn(e){return e.split(`_`).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `)}function Zn({item:e}){let t=e.metadata,n=t?.provider;if(!n)return(0,q.jsx)(f,{variant:`body-medium-default`,className:`text-[var(--content-secondary)]`,children:e.title??e.summary});let r=t?.accountInfo??null,i=t?.status??`unreachable`,a=t?.details??``,o=Array.isArray(t?.missingScopes)?t.missingScopes:[];return(0,q.jsxs)(`div`,{className:`flex flex-col gap-[var(--app-spacing-md)]`,children:[(0,q.jsx)(f,{variant:`title-small`,as:`h3`,children:n}),r?(0,q.jsx)(f,{variant:`body-medium-lighter`,className:`text-[var(--content-secondary)]`,children:r}):null,(0,q.jsxs)(`div`,{className:`flex items-center gap-[var(--app-spacing-sm)]`,children:[(0,q.jsx)(`span`,{className:`inline-block shrink-0 rounded-full`,style:{width:8,height:8,backgroundColor:Yn(i)},"aria-hidden":`true`}),(0,q.jsx)(f,{variant:`body-medium-default`,className:`text-[var(--content-default)]`,children:Xn(i)})]}),a?(0,q.jsx)(f,{variant:`body-medium-lighter`,className:`text-[var(--content-secondary)]`,children:a}):null,o.length>0?(0,q.jsxs)(`div`,{className:`flex flex-col gap-[var(--app-spacing-xs)]`,children:[(0,q.jsx)(f,{variant:`body-small-emphasised`,className:`text-[var(--content-secondary)]`,children:`Missing scopes`}),(0,q.jsx)(`ul`,{className:`m-0 flex list-disc flex-col gap-[var(--app-spacing-xxs)] pl-[var(--app-spacing-lg)]`,children:o.map(e=>(0,q.jsx)(`li`,{children:(0,q.jsx)(f,{variant:`body-small-default`,className:`text-[var(--content-tertiary)]`,children:e})},e))})]}):null]})}function Qn(e){return e&&$[e]?$[e]:$.system}function $n(e){return e.title?e.title:e.category?e.category.charAt(0).toUpperCase()+e.category.slice(1):`Notification`}function er({item:e,isMobile:t,validConversationIds:n,onClose:r,onGoToThread:a,onUpdateStatus:o,onDismiss:s,onViewSchedule:c}){if(!e)return null;let l=e.detailPanel?.kind,u=$n(e),d=Qn(e.category),p=d.icon,h=e.status===`new`,g=e.status===`dismissed`,v=!!e.conversationId&&n.has(e.conversationId);return t?(0,q.jsxs)(`div`,{className:`flex h-full flex-col bg-[var(--surface-overlay)]`,children:[(0,q.jsxs)(`div`,{className:`relative flex shrink-0 items-center px-3 py-2`,children:[(0,q.jsx)(i,{variant:`ghost`,iconOnly:(0,q.jsx)(m,{}),onClick:r,"aria-label":`Back`,tooltip:`Back`}),(0,q.jsx)(f,{variant:`body-medium-default`,className:`pointer-events-none absolute inset-x-0 text-center text-[var(--content-secondary)]`,children:`Details`}),(0,q.jsxs)(`div`,{className:`ml-auto flex items-center gap-2`,children:[(0,q.jsx)(i,{variant:`ghost`,iconOnly:h?(0,q.jsx)(pt,{}):(0,q.jsx)(Qe,{}),onClick:()=>o(e.id,h?`seen`:`new`),"aria-label":h?`Mark as read`:`Mark as unread`,tooltip:h?`Mark as read`:`Mark as unread`}),g?(0,q.jsx)(i,{variant:`ghost`,iconOnly:(0,q.jsx)(Ve,{}),onClick:()=>o(e.id,`seen`),"aria-label":`Restore`,tooltip:`Restore`}):(0,q.jsx)(i,{variant:`ghost`,iconOnly:(0,q.jsx)($e,{}),onClick:()=>s(e.id),"aria-label":`Dismiss`,tooltip:`Dismiss`})]})]}),(0,q.jsxs)(`div`,{className:`flex items-center gap-3 px-4 py-3`,children:[(0,q.jsx)(`span`,{className:`flex shrink-0 items-center justify-center rounded-full`,style:{width:40,height:40,backgroundColor:d.weak},"aria-hidden":`true`,children:(0,q.jsx)(p,{width:18,height:18,style:{color:d.strong}})}),(0,q.jsx)(f,{variant:`title-small`,className:`min-w-0 text-[var(--content-default)]`,children:u}),(0,q.jsx)(j,{tone:`neutral`,className:`shrink-0`,title:ot(e.timestamp),children:st(e.timestamp)})]}),(0,q.jsx)(`div`,{className:`mx-4 border-b border-[var(--border-disabled)]`}),(0,q.jsx)(`div`,{className:`flex-1 overflow-y-auto p-4`,children:l===`toolPermission`?(0,q.jsx)(Zn,{item:e}):(0,q.jsx)(Jn,{item:e})}),v||c?(0,q.jsxs)(`div`,{className:`flex shrink-0 flex-col gap-2 px-4 pb-4 pt-2`,children:[c?(0,q.jsx)(i,{variant:`outlined`,fullWidth:!0,leftIcon:(0,q.jsx)(_,{className:`size-4`}),onClick:c,children:`View schedule`}):null,v?(0,q.jsx)(i,{variant:`primary`,fullWidth:!0,onClick:()=>a(e.conversationId),children:`Go to Conversation`}):null]}):null]}):(0,q.jsxs)(`div`,{className:`flex h-full flex-col rounded-[var(--radius-xl)] border border-[var(--border-base)] bg-[var(--surface-overlay)]`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-[var(--app-spacing-sm)] border-b border-[var(--border-base)] p-[var(--app-spacing-lg)]`,children:[(0,q.jsx)(`span`,{className:`flex shrink-0 items-center justify-center rounded-full`,style:{width:28,height:28,backgroundColor:d.weak},"aria-hidden":`true`,children:(0,q.jsx)(p,{width:14,height:14,style:{color:d.strong}})}),(0,q.jsx)(f,{variant:`title-small`,className:`min-w-0 flex-1 truncate text-[var(--content-default)]`,children:u}),v?(0,q.jsx)(i,{variant:`outlined`,onClick:()=>a(e.conversationId),children:`Go to Convo`}):null,(0,q.jsx)(i,{variant:`outlined`,iconOnly:(0,q.jsx)(T,{}),onClick:r,"aria-label":`Close detail panel`,tooltip:`Close`})]}),(0,q.jsxs)(`div`,{className:`flex-1 overflow-y-auto p-[var(--app-spacing-lg)]`,children:[l===`toolPermission`?(0,q.jsx)(Zn,{item:e}):(0,q.jsx)(Jn,{item:e}),(0,q.jsx)(`div`,{className:`mt-[var(--app-spacing-md)]`,children:(0,q.jsx)(j,{tone:`neutral`,title:ot(e.timestamp),children:st(e.timestamp)})})]}),(0,q.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-[var(--app-spacing-sm)] border-t border-[var(--border-base)] p-[var(--app-spacing-lg)]`,children:[(0,q.jsx)(`div`,{children:c?(0,q.jsx)(i,{variant:`outlined`,leftIcon:(0,q.jsx)(_,{className:`size-4`}),onClick:c,children:`View schedule`}):null}),(0,q.jsx)(`div`,{className:`flex items-center gap-[var(--app-spacing-sm)]`,children:g?(0,q.jsx)(i,{variant:`primary`,onClick:()=>o(e.id,`seen`),children:`Restore`}):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(i,{variant:`outlined`,onClick:()=>o(e.id,h?`seen`:`new`),children:h?`Mark as read`:`Mark as unread`}),(0,q.jsx)(i,{variant:`primary`,onClick:()=>s(e.id),children:`Dismiss`})]})})]})]})}var tr={heartbeat:dt,memory_consolidation:g,schedule:nt,auto_analysis:w,user:ze,other:x},nr=`all`;function rr({sources:e,activeSource:t,onSourceChange:n}){if(e.length<=1)return null;let r=e.find(e=>e.key===t)??null,a=r?tr[r.type]:ft;return(0,q.jsxs)(b.Root,{children:[(0,q.jsx)(b.Trigger,{children:(0,q.jsx)(i,{variant:`outlined`,size:`compact`,active:r!==null,leftIcon:(0,q.jsx)(a,{className:`h-4 w-4`}),rightIcon:(0,q.jsx)(v,{className:`h-3.5 w-3.5`}),"aria-label":`Filter notifications by source`,children:r?r.label:`All sources`})}),(0,q.jsx)(b.Content,{align:`start`,className:`max-h-80 overflow-y-auto`,children:(0,q.jsxs)(b.RadioGroup,{value:t??nr,onValueChange:e=>n(e===nr?null:e),children:[(0,q.jsx)(b.RadioItem,{value:nr,children:`All sources`}),(0,q.jsx)(b.Separator,{}),e.map(e=>(0,q.jsx)(b.RadioItem,{value:e.key,children:e.label},e.key))]})})]})}function ir({label:e,onClick:t,className:n,children:i}){return(0,q.jsx)(r,{content:e,children:(0,q.jsx)(`button`,{type:`button`,"aria-label":e,onClick:e=>{e.stopPropagation(),t()},className:d(`flex h-8 w-8 shrink-0 cursor-pointer items-center justify-center rounded-md`,`text-[var(--content-secondary)] transition-colors`,`hover:bg-[var(--surface-hover)] hover:text-[var(--content-default)]`,n),children:i})})}function ar(e){return e&&$[e]?$[e]:$.system}function or({item:e,isActive:t=!1,validConversationIds:n,onSelect:r,onDismiss:i,onToggleRead:a,onGoToThread:o,trailingAction:s=`dismiss`}){let[c,l]=(0,G.useState)(!1),u=ar(e.category),f=u.icon,p=e.status===`new`,m=s===`restore`;return(0,q.jsxs)(`button`,{type:`button`,onClick:()=>r(e),onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),className:d(`flex min-h-[48px] w-full cursor-pointer items-center gap-[var(--app-spacing-sm)]`,`rounded-[var(--radius-md)] px-[var(--app-spacing-md)] py-[var(--app-spacing-sm)]`,`transition-[background-color,opacity] duration-150`,t?`bg-[var(--surface-active)]`:c?`bg-[var(--surface-hover)]`:`bg-[var(--surface-overlay)]`,!p&&!t&&`opacity-70`),children:[(0,q.jsxs)(`span`,{className:`relative shrink-0`,"aria-hidden":`true`,children:[(0,q.jsx)(`span`,{className:`flex items-center justify-center rounded-full`,style:{width:26,height:26,backgroundColor:u.weak},children:(0,q.jsx)(f,{width:12,height:12,style:{color:u.strong}})}),p&&(0,q.jsx)(`span`,{className:`absolute -left-0.5 -top-0.5 h-2 w-2 rounded-full bg-[var(--system-mid-strong)]`})]}),(0,q.jsx)(`span`,{className:d(`text-body-medium-default min-w-0 flex-1 truncate text-left`,`text-[var(--content-secondary)]`),children:e.title??e.summary}),c&&!m?(0,q.jsxs)(`span`,{className:`flex shrink-0 items-center gap-[var(--app-spacing-sm)]`,children:[a&&(0,q.jsx)(ir,{label:p?`Mark as read`:`Mark as unread`,onClick:()=>a(e.id,p?`seen`:`new`),children:p?(0,q.jsx)(pt,{width:16,height:16}):(0,q.jsx)(Qe,{width:16,height:16})}),o&&e.conversationId&&(!n||n.has(e.conversationId))&&(0,q.jsx)(ir,{label:`Go to thread`,onClick:()=>{p&&a&&a(e.id,`seen`),o(e.conversationId)},children:(0,q.jsx)(Ke,{width:16,height:16})}),(0,q.jsx)(ir,{label:`Dismiss`,onClick:()=>i(e.id),children:(0,q.jsx)($e,{width:16,height:16})})]}):c&&m?(0,q.jsxs)(ir,{label:`Restore`,onClick:()=>i(e.id),className:`w-auto gap-[var(--app-spacing-xs)] px-2`,children:[(0,q.jsx)(Ve,{width:16,height:16,"aria-hidden":`true`}),(0,q.jsx)(`span`,{className:`text-body-small-default`,children:`Restore`})]}):(0,q.jsx)(`span`,{className:`shrink-0 text-body-small-default text-[var(--content-tertiary)]`,children:st(e.timestamp)})]})}function sr(e){return[...e].sort((e,t)=>e.priority===t.priority?new Date(t.createdAt).getTime()-new Date(e.createdAt).getTime():t.priority-e.priority)}function cr(e){let t=new Date,n=new Date(t.getFullYear(),t.getMonth(),t.getDate()),r=new Date(t.getFullYear(),t.getMonth(),t.getDate()-1),i={today:[],yesterday:[],older:[]};for(let t of e){let e=new Date(t.createdAt);e>=n?i.today.push(t):e>=r?i.yesterday.push(t):i.older.push(t)}let a=new Map;return i.today.length>0&&a.set(`today`,i.today),i.yesterday.length>0&&a.set(`yesterday`,i.yesterday),i.older.length>0&&a.set(`older`,i.older),a}function lr(e,t){return t===null?e:e.filter(e=>(e.category??`system`)===t)}function ur(e){return e.filter(e=>e.urgency!==`high`&&e.urgency!==`critical`)}function dr(e){let t=new Set;for(let n of e)t.add(n.category??`system`);return[...t]}var fr={heartbeat:0,memory_consolidation:1,schedule:2,auto_analysis:3,user:4,other:5};function pr(e){let t=new Map;for(let n of e){let e=n.sourceKey;!e||t.has(e)||t.set(e,{key:e,label:n.sourceLabel??e,type:n.sourceType??`other`})}return[...t.values()].sort((e,t)=>{let n=fr[e.type]-fr[t.type];return n===0?e.label.localeCompare(t.label):n})}function mr(e,t){return t===null?e:e.filter(e=>e.sourceKey===t)}var hr={today:`Today`,yesterday:`Yesterday`,older:`Older`},gr=10080*60*1e3;function _r(e,t){return e.status===`new`||e.status===`dismissed`?!1:t-new Date(e.createdAt).getTime()>gr}function vr({items:e,selectedItemId:t,validConversationIds:n,onSelectItem:r,onDismissItem:i,onRestoreItem:a,onToggleRead:o,onGoToThread:s,archivedOpen:c,onArchivedOpenChange:l,dismissedOpen:u,onDismissedOpenChange:d}){let[p,m]=(0,G.useState)(null),[g,_]=(0,G.useState)(null),[v]=(0,G.useState)(()=>Date.now()),b=ur(e.filter(e=>e.status!==`dismissed`)),x=b.filter(e=>!_r(e,v)),S=sr(b.filter(e=>_r(e,v))),C=dr(x),w=pr(x),T=p&&C.includes(p)?p:null,E=g&&w.some(e=>e.key===g)?g:null;p!==T&&m(T),g!==E&&_(E);let D=cr(sr(mr(lr(x,T),E))),O=e.filter(e=>e.status===`dismissed`).sort((e,t)=>new Date(t.createdAt).getTime()-new Date(e.createdAt).getTime());return(0,q.jsxs)(`div`,{className:`flex flex-col gap-[var(--app-spacing-lg)]`,children:[(C.length>1||w.length>1)&&(0,q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-[var(--app-spacing-sm)]`,children:[(0,q.jsx)(Gn,{categories:C,activeFilter:T,onFilterChange:m}),(0,q.jsx)(rr,{sources:w,activeSource:E,onSourceChange:_})]}),D.size===0?T||E?(0,q.jsx)(f,{variant:`body-medium-lighter`,className:`py-[var(--app-spacing-xl)] text-center text-[var(--content-disabled)]`,children:`No items match the selected filter.`}):(0,q.jsx)(Sn,{icon:h,title:`No notifications yet`,description:`Updates and activity from your assistant will appear here.`}):[...D.entries()].map(([e,a])=>(0,q.jsxs)(`section`,{className:`flex flex-col gap-[var(--app-spacing-md)]`,children:[(0,q.jsx)(f,{variant:`body-small-default`,as:`h3`,className:`text-[var(--content-tertiary)]`,children:hr[e]}),(0,q.jsx)(`div`,{className:`flex flex-col gap-[var(--app-spacing-xs)]`,children:a.map(e=>(0,q.jsx)(or,{item:e,isActive:e.id===t,validConversationIds:n,onSelect:r,onDismiss:i,onToggleRead:o,onGoToThread:s},e.id))})]},e)),S.length>0&&(0,q.jsx)(k.Root,{type:`single`,collapsible:!0,value:c?`archived-read`:``,onValueChange:e=>l?.(e===`archived-read`),children:(0,q.jsxs)(k.Item,{value:`archived-read`,children:[(0,q.jsxs)(k.Trigger,{className:`group gap-[var(--app-spacing-xs)] text-body-small-default text-[var(--content-tertiary)]`,children:[(0,q.jsx)(y,{size:14,"aria-hidden":!0,className:`shrink-0 transition-transform group-data-[state=open]:rotate-90`}),(0,q.jsxs)(`span`,{children:[`Earlier (`,S.length,`)`]})]}),(0,q.jsx)(k.Content,{children:(0,q.jsx)(`div`,{className:`flex flex-col gap-[var(--app-spacing-xs)] pt-[var(--app-spacing-sm)]`,children:S.map(e=>(0,q.jsx)(or,{item:e,isActive:e.id===t,validConversationIds:n,onSelect:r,onDismiss:i,onToggleRead:o,onGoToThread:s},e.id))})})]})}),O.length>0&&(0,q.jsx)(k.Root,{type:`single`,collapsible:!0,value:u?`dismissed`:``,onValueChange:e=>d?.(e===`dismissed`),children:(0,q.jsxs)(k.Item,{value:`dismissed`,children:[(0,q.jsxs)(k.Trigger,{className:`group gap-[var(--app-spacing-xs)] text-body-small-default text-[var(--content-tertiary)]`,children:[(0,q.jsx)(y,{size:14,"aria-hidden":!0,className:`shrink-0 transition-transform group-data-[state=open]:rotate-90`}),(0,q.jsxs)(`span`,{children:[`Dismissed (`,O.length,`)`]})]}),(0,q.jsx)(k.Content,{children:(0,q.jsx)(`div`,{className:`flex flex-col gap-[var(--app-spacing-xs)] pt-[var(--app-spacing-sm)]`,children:O.map(e=>(0,q.jsx)(or,{item:e,onSelect:r,onDismiss:a,trailingAction:`restore`},e.id))})})]})})]})}function yr(){return(0,q.jsx)(`h1`,{className:`shrink-0 text-title-large text-[var(--content-default)]`,children:`Activity`})}function br(e){let n=Ue(),[r]=(0,G.useState)(()=>Date.now()),{data:i,isLoading:a,isError:o,refetch:s}=l({queryKey:be({path:{assistant_id:e??``}}),queryFn:()=>e?ht(e):Promise.resolve([]),staleTime:1e4}),{data:c,isLoading:u,isError:d}=l(sn(e,n,!0)),{recurring:f,oneTime:p,pastOneTime:m}=(0,G.useMemo)(()=>{let e=on(i??[],r);return{recurring:e.recurring,oneTime:e.upcomingOneTime,pastOneTime:e.pastOneTime}},[r,i]),h=(0,G.useMemo)(()=>new Map((c??[]).map(e=>[e.scheduleId,e])),[c]);return{recurring:f,oneTime:p,pastOneTime:m,usageForSchedule:(0,G.useCallback)(e=>u?{status:`loading`}:d?{status:`error`}:{status:`ready`,summary:h.get(e)??cn(e)},[d,u,h]),handleToggle:(0,G.useCallback)(async(n,r)=>{if(e)try{await vt(e,n,r),s()}catch(e){t(e,{context:`schedule_toggle`}),L.error(`Failed to toggle schedule.`)}},[e,s]),isLoading:a,isError:o,refetch:(0,G.useCallback)(()=>{s()},[s])}}function xr(e){let t=c(),n=(0,G.useMemo)(()=>De({path:{assistant_id:e??``}}),[e]),r=l({...fe({path:{assistant_id:e}}),enabled:!!e,staleTime:6e4}),i=(0,G.useCallback)(()=>{e&&t.invalidateQueries({queryKey:n})},[e,t,n]);return{...r,invalidate:i}}function Sr(){return(0,q.jsxs)(`div`,{className:`flex flex-col gap-[var(--app-spacing-xl)]`,children:[(0,q.jsx)(`div`,{className:`h-7 w-64 animate-pulse rounded-md bg-[var(--surface-lift)]`}),(0,q.jsx)(`div`,{className:`flex flex-col gap-[var(--app-spacing-sm)]`,children:Array.from({length:4},(e,t)=>(0,q.jsx)(`div`,{className:`h-16 animate-pulse rounded-md bg-[var(--surface-lift)]`},t))})]})}function Cr(e){let t=e?.metadata?.scheduleId;return typeof t==`string`&&t.length>0?t:null}function wr({assistantId:e,validConversationIds:t,activeTab:n,onTabChange:r,routeScheduleId:a,onSelectScheduleId:o,onStartNewChat:s,onOpenConversation:c}){let u=Je(),d=Ue(),f=Re(e);xr(e);let p=br(e),m=yn(e,d),{data:h=!1}=l({queryKey:[`assistant-memory-opt-out-capability`,e],queryFn:async()=>{let t=await ke(e);return t.ok&&t.data.capabilities?.memoryOptOut===!0},retry:!1,staleTime:1e4}),[g,_]=(0,G.useState)(!1),v=a,[y,b]=(0,G.useState)(null),[x,S]=(0,G.useState)(null),[C,w]=(0,G.useState)(!1),[T,E]=(0,G.useState)(!1),[O,k]=(0,G.useState)(!1),A=v?p.recurring.find(e=>e.id===v)??p.oneTime.find(e=>e.id===v)??p.pastOneTime.find(e=>e.id===v)??null:null;(0,G.useEffect)(()=>{v&&!p.isLoading&&!A&&o(null)},[v,A,p.isLoading,o]);let j=x===`heartbeat`?m.heartbeatConfig!=null:x===`consolidation`?m.consolidationConfig?.available===!0:x===`retrospective`?m.retrospectiveConfig?.available===!0:!1;(0,G.useEffect)(()=>{x&&!m.isLoading&&!j&&S(null)},[x,j,m.isLoading]);let M=(0,G.useCallback)(e=>{b(null),S(null),o(e)},[o]),N=(0,G.useCallback)(e=>{b(null),v&&o(null),S(e)},[o,v]),ee=(0,G.useCallback)(e=>{S(null),e.status===`new`?(b({...e,status:`seen`}),f.updateStatus.mutate({itemId:e.id,status:`seen`})):b(e)},[f.updateStatus]),F=(0,G.useCallback)(()=>{b(null)},[]),I=(0,G.useCallback)(e=>{f.updateStatus.mutate({itemId:e,status:`dismissed`}),y?.id===e&&b(null)},[f.updateStatus,y?.id]),te=(0,G.useCallback)(e=>{f.updateStatus.mutate({itemId:e,status:`seen`}),b(t=>t?.id===e?{...t,status:`seen`}:t)},[f.updateStatus]),L=(0,G.useCallback)((e,t)=>{f.updateStatus.mutate({itemId:e,status:t}),b(n=>n?.id===e?{...n,status:t}:n)},[f.updateStatus]),R=(0,G.useCallback)(e=>{b(null),c(e)},[c]),ne=f.data?.items??[],z=ur(ne.filter(e=>e.status!==`dismissed`)),re=z.filter(e=>e.status===`new`).length,ie=z.length,ae=xn(),oe=(0,G.useCallback)(()=>{f.markAll.mutate({from:[`new`],to:`seen`,ids:z.filter(e=>e.status===`new`).map(e=>e.id)})},[f.markAll,z]),se=(0,G.useCallback)(()=>{f.markAll.mutate({from:[`new`,`seen`,`acted_on`],to:`dismissed`,ids:z.map(e=>e.id)}),b(null)},[f.markAll,z]),B=Cr(y),ce=B!=null&&(p.recurring.some(e=>e.id===B)||p.oneTime.some(e=>e.id===B)||p.pastOneTime.some(e=>e.id===B)),le=y?(0,q.jsx)(er,{item:y,isMobile:u,validConversationIds:t,onClose:F,onGoToThread:R,onUpdateStatus:L,onDismiss:I,onViewSchedule:ce?()=>{M(B)}:void 0}):null,ue=(A?(0,q.jsx)(Nn,{schedule:A,assistantId:e,usage:p.usageForSchedule(A.id),isMobile:u,onClose:()=>o(null),onDeleted:()=>{o(null),p.refetch()}}):null)??(x&&j?(0,q.jsx)(Hn,{kind:x,assistantId:e,systemTasks:m,canOpenMemorySettings:h,isMobile:u,onClose:()=>S(null)}):null),de=le??ue,fe=(e,t,n)=>t&&!u?(0,q.jsx)(D,{className:`min-h-0 flex-1`,storageKey:`homeDetailDrawerWidth`,defaultRightWidth:480,minLeftWidth:320,minRightWidth:400,hideDivider:!0,left:(0,q.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col pr-[var(--app-spacing-lg)]`,children:e}),right:(0,q.jsx)(`div`,{className:`home-detail-drawer`,children:t},n)}):e,pe=(0,q.jsx)(En,{recurring:p.recurring,oneTime:p.oneTime,pastOneTime:p.pastOneTime,usageForSchedule:p.usageForSchedule,isLoading:p.isLoading,isError:p.isError,refetch:p.refetch,onToggle:p.handleToggle,onSelectSchedule:M,selectedScheduleId:v,onStartNewChat:s,onCreateSchedule:()=>_(!0),pastOpen:C,onPastOpenChange:w,systemTasksSlot:(0,q.jsx)(pn,{heartbeatConfig:m.heartbeatConfig,consolidationConfig:m.consolidationConfig,retrospectiveConfig:m.retrospectiveConfig,heartbeatUsage:m.heartbeatUsage,consolidationUsage:m.consolidationUsage,retrospectiveUsage:m.retrospectiveUsage,isLoading:m.isLoading,hasError:m.hasError,onRetry:m.refetchAll,onSelectHeartbeat:()=>N(`heartbeat`),onSelectConsolidation:()=>N(`consolidation`),onSelectRetrospective:()=>N(`retrospective`)})}),me=(0,q.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-[var(--app-spacing-lg)] overflow-y-auto`,children:[f.isError?(0,q.jsxs)(`div`,{role:`alert`,className:`rounded-md border border-[var(--system-negative-weak)] bg-[var(--system-negative-weak)] px-[var(--app-spacing-lg)] py-[var(--app-spacing-md)] text-[var(--system-negative-strong)]`,children:[`Couldn't load home feed`,f.error instanceof Error?`: ${f.error.message}`:`.`]}):null,ae&&(re>0||ie>0)&&(0,q.jsxs)(`div`,{className:`flex items-center justify-end gap-[var(--app-spacing-sm)]`,children:[re>0&&(0,q.jsx)(i,{variant:`ghost`,size:`compact`,onClick:oe,disabled:f.markAll.isPending,children:`Mark all as read`}),ie>0&&(0,q.jsx)(i,{variant:`ghost`,size:`compact`,onClick:se,disabled:f.markAll.isPending,children:`Clear all`})]}),(0,q.jsx)(vr,{items:ne,selectedItemId:y?.id,validConversationIds:t,onSelectItem:ee,onDismissItem:I,onRestoreItem:te,onToggleRead:L,onGoToThread:R,archivedOpen:T,onArchivedOpenChange:E,dismissedOpen:O,onDismissedOpenChange:k})]}),he=(0,q.jsxs)(P.Root,{value:n,onValueChange:e=>r(e),className:`flex min-h-0 flex-1 flex-col`,children:[(0,q.jsxs)(P.List,{className:`shrink-0`,children:[(0,q.jsx)(P.Trigger,{value:`notifications`,children:`Notifications`}),(0,q.jsx)(P.Trigger,{value:`schedules`,children:`Schedules`})]}),(0,q.jsx)(P.Panel,{value:`notifications`,className:`mt-[var(--app-spacing-lg)] flex min-h-0 flex-1 flex-col`,children:fe(me,le,y?.id)}),(0,q.jsx)(P.Panel,{value:`schedules`,className:`mt-[var(--app-spacing-lg)] flex min-h-0 flex-1 flex-col`,children:fe(pe,ue,v??x??void 0)})]}),ge=f.isLoading?(0,q.jsx)(Sr,{}):(0,q.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-[var(--app-spacing-xl)]`,children:[u?null:(0,q.jsx)(yr,{}),he]});return de&&u?(0,q.jsx)(`div`,{className:`fixed inset-0 z-30 bg-[var(--surface-overlay)]`,style:{paddingTop:`var(--safe-area-inset-top, env(safe-area-inset-top, 0px))`,paddingBottom:`var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px))`},children:de}):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(at,{children:ge}),(0,q.jsx)(Lt,{isOpen:g,assistantId:e,onClose:()=>_(!1),onCreated:()=>{_(!1),p.refetch()}})]})}function Tr(){let e=a(),t=s(),{scheduleId:n}=o(),r=rt(),i=t.pathname===W.schedules.root||t.pathname.startsWith(`${W.schedules.root}/`)?`schedules`:`notifications`,c=n??null,l=(0,G.useCallback)(t=>{e(t===`schedules`?W.schedules.root:W.home)},[e]),u=(0,G.useCallback)(t=>{e(t?W.schedules.detail(t):W.schedules.root)},[e]),d=Ye.use.setTopBarCenter(),p=Je(),{conversations:m}=Fe(r),{conversations:h}=Ge(r,!0),{conversations:g}=et(r,!0),_=(0,G.useMemo)(()=>new Set(Ze(m,h,g).map(e=>e.conversationId)),[m,h,g]);return(0,G.useEffect)(()=>(d(p?(0,q.jsx)(f,{variant:`body-medium-default`,className:`text-[var(--content-secondary)]`,children:`Activity`}):null),()=>{d(null)}),[p,d]),(0,q.jsx)(wr,{assistantId:r,validConversationIds:_,activeTab:i,onTabChange:l,routeScheduleId:c,onSelectScheduleId:u,onStartNewChat:()=>{je.getState().setMainView(`chat`);let t=Ne();Ae.getState().setActiveConversationId(t),e(W.conversation(t)),Me()},onOpenConversation:t=>e(W.conversation(t))})}export{Tr as HomePageRoute};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-Dhiismgm.js";import{t as n}from"./react-DJZBPgpf.js";import{F as r,t as i}from"./button-amTXFI-2.js";import{d as a}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as o}from"./useQuery-B45lW1Kk.js";import{t as s}from"./jsx-runtime-CVSDxk6A.js";import{t as c}from"./queryOptions-BtNi-_9H.js";import{t as l}from"./card-Bv5O5juh.js";import{t as u}from"./chevron-left-BMF1xNfR.js";import{t as d}from"./chevron-right-DqqmezXC.js";import{n as f,r as p}from"./animated-avatar-Cqpzb8O4.js";import{t as m}from"./file-text-CYJz-GvF.js";import{n as h,t as g}from"./minimize-2-Clnet2W7.js";import{t as _}from"./pencil-CUIr0IFo.js";import{t as v}from"./save-aD5JFIZf.js";import{t as y}from"./sparkles-PGiR5v1g.js";import{t as b}from"./x-CkSVp1Ok.js";import"./src-zsLiFPw3.js";import{t as x}from"./file-markdown-Bq97tNxs.js";import{fn as S,pn as C}from"./sdk.gen-BwnFjFcp.js";import{St as w}from"./react-query.gen-C6wVk6Rw.js";import{n as T,r as E,t as D}from"./api-errors-CrWDzVca.js";import{r as O}from"./api-_7pKLlYA.js";import{c as k}from"./routes-BbeIx_F9.js";import{t as A}from"./conversation-store-BljZWolF.js";import{r as j}from"./viewer-store-B8-Qnbx9.js";import{t as M}from"./conversation-selection-BBHkzcfy.js";import{t as N}from"./misc-BYQPh7vS.js";import{t as P}from"./proxy-o6cPThl2.js";import{t as F}from"./AnimatePresence-s1Z1HHWx.js";import{Gt as I,Mi as ee,ci as L,cr as te,di as ne,dr as re,fr as ie,ji as ae,li as oe,lr as se,ra as ce,rt as le,ui as ue}from"./index-yu6nDHvG.js";import{t as de}from"./use-active-assistant-id-BWXi63qg.js";import{t as R}from"./skill-icon-cNkD2w1X.js";var fe=e(r(),1),z=e(n(),1),B=s();function V(e,t,n){return n===`forward`?(e+1)%t:(e-1+t)%t}function pe({assistantId:e,initialTraits:t,onSave:n,onCancel:r}){let[i,a]=(0,z.useState)(null),[o,s]=(0,z.useState)(!0),[c,l]=(0,z.useState)(!1),u=(0,z.useRef)(null),[d,f]=(0,z.useState)(0),[m,h]=(0,z.useState)(0),[g,_]=(0,z.useState)(0);(0,z.useEffect)(()=>{if(u.current===e)return;let n=!1;return se(e).then(r=>{if(!n&&(u.current=e,a(r),s(!1),r&&t)){let e=r.bodyShapes.findIndex(e=>e.id===t.bodyShape),n=r.eyeStyles.findIndex(e=>e.id===t.eyeStyle),i=r.colors.findIndex(e=>e.id===t.color);e>=0&&f(e),n>=0&&h(n),i>=0&&_(i)}}),()=>{n=!0}},[e,t]);let y=(0,z.useCallback)(()=>{i&&(f(Math.floor(Math.random()*i.bodyShapes.length)),h(Math.floor(Math.random()*i.eyeStyles.length)),_(Math.floor(Math.random()*i.colors.length)))},[i]),x=(0,z.useCallback)(async()=>{if(!i)return;let t={bodyShape:i.bodyShapes[d].id,eyeStyle:i.eyeStyles[m].id,color:i.colors[g].id};l(!0);try{await re(e,t),n?.(t)}finally{l(!1)}},[i,d,m,g,e,n]);if(o)return(0,B.jsx)(`div`,{className:`flex items-center justify-center py-12`,children:(0,B.jsx)(`div`,{className:`h-6 w-6 animate-spin rounded-full border-2 border-[var(--border-element)] border-t-[var(--content-tertiary)]`})});if(!i)return(0,B.jsx)(`div`,{className:`py-8 text-center text-body-medium-lighter text-[var(--content-quiet)]`,children:`Unable to load avatar components. Make sure your assistant is running.`});let S=i.bodyShapes[d],C=i.eyeStyles[m],w=i.colors[g];return(0,B.jsxs)(`div`,{className:`space-y-6`,children:[(0,B.jsx)(`div`,{className:`flex justify-center`,children:(0,B.jsx)(`div`,{className:`rounded-2xl bg-[var(--surface-sunken)] p-6`,children:(0,B.jsx)(le,{components:i,bodyShapeId:S.id,eyeStyleId:C.id,colorId:w.id,size:160})})}),(0,B.jsxs)(`div`,{className:`space-y-3`,children:[(0,B.jsx)(H,{label:`Body`,value:S.id,onPrev:()=>f(V(d,i.bodyShapes.length,`backward`)),onNext:()=>f(V(d,i.bodyShapes.length,`forward`))}),(0,B.jsx)(H,{label:`Eyes`,value:C.id,onPrev:()=>h(V(m,i.eyeStyles.length,`backward`)),onNext:()=>h(V(m,i.eyeStyles.length,`forward`))}),(0,B.jsx)(H,{label:`Color`,value:w.id,colorHex:w.hex,onPrev:()=>_(V(g,i.colors.length,`backward`)),onNext:()=>_(V(g,i.colors.length,`forward`))})]}),(0,B.jsxs)(`div`,{className:`flex gap-2`,children:[(0,B.jsxs)(`button`,{type:`button`,onClick:y,className:`flex flex-1 cursor-pointer items-center justify-center gap-2 rounded-lg border border-[var(--border-element)] bg-[var(--surface-lift)] px-3 py-2 text-body-medium-default text-[var(--content-strong)] transition-colors hover:bg-[var(--surface-hover)]`,children:[(0,B.jsx)(p,{className:`h-4 w-4`}),`Randomize`]}),(0,B.jsxs)(`button`,{type:`button`,onClick:x,disabled:c,className:`flex flex-1 cursor-pointer items-center justify-center gap-2 rounded-lg border border-[var(--system-positive-strong)] bg-[var(--system-positive-weak)] px-3 py-2 text-body-medium-default text-[var(--system-positive-strong)] transition-colors hover:opacity-90 disabled:opacity-50`,children:[(0,B.jsx)(v,{className:`h-4 w-4`}),c?`Saving...`:`Save Avatar`]}),r&&(0,B.jsx)(`button`,{type:`button`,onClick:r,className:`flex cursor-pointer items-center justify-center rounded-lg border border-[var(--border-element)] bg-[var(--surface-lift)] px-3 py-2 text-body-medium-default text-[var(--content-strong)] transition-colors hover:bg-[var(--surface-hover)]`,children:(0,B.jsx)(b,{className:`h-4 w-4`})})]})]})}function H({label:e,value:t,colorHex:n,onPrev:r,onNext:i}){return(0,B.jsxs)(`div`,{className:`flex items-center justify-between rounded-lg border border-[var(--border-subtle)] bg-[var(--surface-lift)] px-3 py-2`,children:[(0,B.jsx)(`span`,{className:`text-body-small-default uppercase tracking-wider text-[var(--content-quiet)]`,children:e}),(0,B.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,B.jsx)(`button`,{type:`button`,onClick:r,className:`flex h-7 w-7 cursor-pointer items-center justify-center rounded-md text-[var(--content-quiet)] transition-colors hover:bg-[var(--surface-active)]`,children:(0,B.jsx)(u,{className:`h-4 w-4`})}),(0,B.jsxs)(`div`,{className:`flex min-w-[80px] items-center justify-center gap-2`,children:[n&&(0,B.jsx)(`div`,{className:`h-4 w-4 rounded-full border border-[var(--border-element)]`,style:{backgroundColor:n}}),(0,B.jsx)(`span`,{className:`text-body-medium-default capitalize text-[var(--content-strong)]`,children:t})]}),(0,B.jsx)(`button`,{type:`button`,onClick:i,className:`flex h-7 w-7 cursor-pointer items-center justify-center rounded-md text-[var(--content-quiet)] transition-colors hover:bg-[var(--surface-active)]`,children:(0,B.jsx)(d,{className:`h-4 w-4`})})]})]})}function me({open:e,onClose:t,assistantId:n,components:r,traits:i,customImageUrl:a,onSaveCharacter:o,onUploadImage:s,onGenerateWithAI:c}){let l=(0,z.useId)(),f=(0,z.useRef)(null),p=(0,z.useRef)(null),m=(0,z.useRef)(null),[h,g]=(0,z.useState)(`actions`),[_,v]=(0,z.useState)(!1);(0,z.useEffect)(()=>{e&&p.current?.focus()},[e]),(0,z.useEffect)(()=>{if(e){let e=document.body.style.overflow;return document.body.style.overflow=`hidden`,()=>{document.body.style.overflow=e}}},[e]);let x=(0,z.useCallback)(()=>{g(`actions`),t()},[t]),S=(0,z.useCallback)(e=>{e.key===`Escape`&&(h===`character-builder`?g(`actions`):x())},[x,h]),C=(0,z.useCallback)(e=>{e.target===f.current&&x()},[x]),w=(0,z.useCallback)(()=>{g(`actions`)},[]),T=(0,z.useCallback)(()=>{g(`character-builder`)},[]),E=(0,z.useCallback)(async e=>{let t=e.target.files?.[0];if(!t)return;v(!0);let r=await ie(n,t);v(!1),r&&(s(),x()),m.current&&(m.current.value=``)},[n,s,x]),D=(0,z.useCallback)(()=>{m.current?.click()},[]),O=(0,z.useCallback)(()=>{x(),c?.()},[x,c]),k=(0,z.useCallback)(e=>{o(e),x()},[o,x]);return e?(0,fe.createPortal)((0,B.jsxs)(`div`,{ref:f,role:`dialog`,"aria-modal":`true`,"aria-labelledby":l,className:`fixed inset-0 z-50 flex items-center justify-center bg-black/50`,onKeyDown:S,onClick:C,children:[(0,B.jsxs)(`div`,{className:`mx-4 flex w-full max-w-md flex-col rounded-xl border shadow-xl`,style:{backgroundColor:`var(--surface-lift)`,borderColor:`var(--border-base)`,maxHeight:`85vh`},children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-between border-b px-6 py-4`,style:{borderColor:`var(--border-base)`},children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2`,children:[h===`character-builder`&&(0,B.jsx)(`button`,{type:`button`,onClick:w,className:`flex h-8 w-8 items-center justify-center rounded-lg transition-colors hover:bg-black/5 dark:hover:bg-white/10`,"aria-label":`Back`,children:(0,B.jsx)(u,{className:`h-4 w-4`,style:{color:`var(--content-secondary)`}})}),(0,B.jsx)(`h2`,{id:l,className:`text-title-small`,style:{color:`var(--content-default)`},children:h===`character-builder`?`Build a Character`:`Update Avatar`})]}),(0,B.jsx)(`button`,{ref:p,type:`button`,onClick:x,className:`flex h-8 w-8 items-center justify-center rounded-lg transition-colors hover:bg-black/5 dark:hover:bg-white/10`,"aria-label":`Close`,children:(0,B.jsx)(b,{className:`h-4 w-4`,style:{color:`var(--content-secondary)`}})})]}),(0,B.jsx)(`div`,{className:`overflow-y-auto p-6`,children:h===`actions`?(0,B.jsxs)(`div`,{className:`flex flex-col items-center gap-6`,children:[(0,B.jsx)(I,{components:r,traits:i,customImageUrl:a,size:120,interactive:!0}),(0,B.jsxs)(`div`,{className:`w-full space-y-2`,children:[(0,B.jsxs)(`button`,{type:`button`,onClick:T,className:`flex w-full cursor-pointer items-center gap-3 rounded-lg border px-4 py-3 transition-colors hover:opacity-80`,style:{borderColor:`var(--border-base)`,backgroundColor:`var(--surface-lift)`},children:[(0,B.jsx)(`div`,{className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-lg`,style:{backgroundColor:`color-mix(in oklab, var(--content-tertiary) 16%, transparent)`},children:(0,B.jsx)(ne,{className:`h-4 w-4`,style:{color:`var(--content-secondary)`}})}),(0,B.jsxs)(`div`,{className:`flex-1 text-left`,children:[(0,B.jsx)(`p`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:`Build a Character`}),(0,B.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:`Build your own character`})]}),(0,B.jsx)(d,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`}})]}),(0,B.jsxs)(`button`,{type:`button`,onClick:D,disabled:_,className:`flex w-full cursor-pointer items-center gap-3 rounded-lg border px-4 py-3 transition-colors hover:opacity-80 disabled:cursor-not-allowed disabled:opacity-50`,style:{borderColor:`var(--border-base)`,backgroundColor:`var(--surface-lift)`},children:[(0,B.jsx)(`div`,{className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-lg`,style:{backgroundColor:`color-mix(in oklab, var(--content-tertiary) 16%, transparent)`},children:(0,B.jsx)(ce,{className:`h-4 w-4`,style:{color:`var(--content-secondary)`}})}),(0,B.jsxs)(`div`,{className:`flex-1 text-left`,children:[(0,B.jsx)(`p`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:_?`Uploading...`:`Upload Image`}),(0,B.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:`Choose an image from your computer`})]}),(0,B.jsx)(d,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`}})]}),c&&(0,B.jsxs)(`button`,{type:`button`,onClick:O,className:`flex w-full cursor-pointer items-center gap-3 rounded-lg border px-4 py-3 transition-colors hover:opacity-80`,style:{borderColor:`var(--border-base)`,backgroundColor:`var(--surface-lift)`},children:[(0,B.jsx)(`div`,{className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-lg`,style:{backgroundColor:`color-mix(in oklab, var(--content-tertiary) 16%, transparent)`},children:(0,B.jsx)(y,{className:`h-4 w-4`,style:{color:`var(--content-secondary)`}})}),(0,B.jsxs)(`div`,{className:`flex-1 text-left`,children:[(0,B.jsx)(`p`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:`Generate with AI`}),(0,B.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:`Create an avatar through chat`})]}),(0,B.jsx)(d,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`}})]})]})]}):(0,B.jsx)(pe,{assistantId:n,initialTraits:i,onSave:k,onCancel:w})})]}),(0,B.jsx)(`input`,{ref:m,type:`file`,accept:`image/png,image/jpeg,image/webp,image/gif`,className:`hidden`,onChange:E})]}),document.body):null}var he={displayName:`Other`,color:`#888`,emoji:`?`},ge={email:{displayName:`Email`,color:`#A665C9`,emoji:`📧`},calendar:{displayName:`Calendar`,color:`#0E9B8B`,emoji:`📅`},messaging:{displayName:`Messaging`,color:`#6B8AE0`,emoji:`💬`},browsing:{displayName:`Browsing`,color:`#E9642F`,emoji:`🌐`},productivity:{displayName:`Productivity`,color:`#0E9B8B`,emoji:`📋`},development:{displayName:`Development`,color:`#EF4400`,emoji:`🔨`},voice:{displayName:`Voice`,color:`#DB4B77`,emoji:`🎤`},commerce:{displayName:`Commerce`,color:`#E9C91A`,emoji:`🛒`},content:{displayName:`Content`,color:`#DB4B77`,emoji:`🎨`},health:{displayName:`Health`,color:`#4C9B50`,emoji:`❤️`},system:{displayName:`System`,color:`#8D99A5`,emoji:`⚙️`},integrations:{displayName:`Integrations`,color:`#8D99A5`,emoji:`🔗`}};function U(e){return ge[e]??he}var W=[`email`,`calendar`,`messaging`,`browsing`,`productivity`,`development`,`voice`,`commerce`,`content`,`health`,`system`,`integrations`],_e={email:[{label:`Sending`,emoji:`📨`,skillIds:new Set([`agentmail`,`email-setup`])},{label:`Reading`,emoji:`📬`,skillIds:new Set([`email-channel`,`gmail`])}],messaging:[{label:`Chat`,emoji:`💬`,skillIds:new Set([`messaging`,`slack`,`telegram`])},{label:`Notifications`,emoji:`🔔`,skillIds:new Set([`notifications`])},{label:`People`,emoji:`👥`,skillIds:new Set([`contacts`,`followups`])}],development:[{label:`Coding`,emoji:`💻`,skillIds:new Set([`typescript-eval`,`frontend-design`])},{label:`Dev Tools`,emoji:`🔧`,skillIds:new Set([`api-mapping`,`cli-discover`,`subagent`,`app-builder`])}],browsing:[{label:`Control`,emoji:`🎮`,skillIds:new Set([`computer-use`,`macos-automation`,`browser`])},{label:`Triggers`,emoji:`⏰`,skillIds:new Set([`watcher`,`time-based-actions`])}],commerce:[{label:`Shopping`,emoji:`🛒`,skillIds:new Set([`amazon`,`doordash`,`restaurant-reservation`])}],system:[{label:`Core`,emoji:`🧠`,skillIds:new Set([`knowledge-graph`,`skills-catalog`,`self-upgrade`])},{label:`Daily`,emoji:`☀️`,skillIds:new Set([`start-the-day`,`weather`])}]},ve=14,ye=10,be=6;function xe(e){switch(e.kind.type){case`center`:return{shape:`circle`,size:90,cornerRadius:0};case`category`:return{shape:`roundedRect`,size:80,cornerRadius:ve};case`subCategory`:return{shape:`roundedRect`,size:56,cornerRadius:ye};case`skill`:return{shape:`diamond`,size:64,cornerRadius:be}}}function Se(e,t,n,r){let i=Math.min(Math.max(0,t),e),a=Math.abs(n),o=Math.abs(r);if(a<1e-6&&o<1e-6)return e;let s=e/Math.max(a,o),c=s*n,l=s*r;if(!(Math.abs(c)>e-i&&Math.abs(l)>e-i))return s;let u=Math.sign(c)*(e-i),d=Math.sign(l)*(e-i),f=n*u+r*d,p=u*u+d*d-i*i,m=f*f-p;return m<0?s:f+Math.sqrt(m)}function G(e,t,n){switch(e.shape){case`circle`:return e.size/2;case`roundedRect`:return Se(e.size/2,e.cornerRadius,t,n);case`diamond`:{let r=(t+n)*Math.SQRT1_2,i=(-t+n)*Math.SQRT1_2;return Se(e.size/2,e.cornerRadius,r,i)}}}function Ce(e,t){let n=t.x-e.x,r=t.y-e.y,i=Math.sqrt(n*n+r*r);if(i<1e-6)return{x1:e.x,y1:e.y,x2:t.x,y2:t.y};let a=n/i,o=r/i,s=Math.max(0,G(xe(e),a,o)-3),c=Math.max(0,G(xe(t),-a,-o)-3);if(s+c>=i){let n=(e.x+t.x)/2,r=(e.y+t.y)/2;return{x1:n,y1:r,x2:n,y2:r}}return{x1:e.x+a*s,y1:e.y+o*s,x2:t.x-a*c,y2:t.y-o*c}}var we=10,Te=200,Ee=160,K=160;function q(e,t,n,r){let i={x:e.x,y:e.y};for(let e=0;e<30;e++){let e=0,a=0,o=0;for(let s of n){let n=i.x-s.x,c=i.y-s.y,l=Math.sqrt(n*n+c*c),u=t+s.radius+r-l;u>e&&(e=u,l<.1?(a=u+1,o=0):(a=n/l*(u+1),o=c/l*(u+1)))}if(e<=0)break;i={x:i.x+a,y:i.y+o}}return i}function J(e,t,n,r,i,a,o,s,c,l,u,d){if(e.length===0)return;let f=a+o,p=Math.cos(r),m=Math.sin(r),h=-m,g=p,_=f*.88,v=U(c).color;e.forEach((r,c)=>{let y=Math.floor(c/3),b=c%3,x=Math.min(3,e.length-y*3),S=(b-(x-1)/2)*f,C=y%2==1&&x<3?f*.5:0,w=i+y*_,T=q({x:n.x+w*p+(S+C)*h,y:n.y+w*m+(S+C)*g},a/2,u,o);u.push({id:r.id,kind:{type:`skill`,item:r},parentId:t,depth:s,x:T.x,y:T.y,radius:a/2}),d.push({id:`edge-${l}-skill-${c}`,fromId:t,toId:r.id,color:v})})}function De(e,t,n=90){let r=[],i=[],a=we;if(r.push({id:`__center__`,kind:{type:`center`},parentId:null,depth:0,x:e.x,y:e.y,radius:n/2}),t.length===0)return{nodes:r,edges:i};let o=t.length,s=2*Math.PI/o;return t.forEach((t,n)=>{let o=-Math.PI/2+n*s,c=`cat-${t.category}`,l=U(t.category).color,u=q({x:e.x+Te*Math.cos(o),y:e.y+Te*Math.sin(o)},80/2,r,a);r.push({id:c,kind:{type:`category`,category:t.category},parentId:`__center__`,depth:1,x:u.x,y:u.y,radius:80/2}),i.push({id:`edge-center-${t.category}`,fromId:`__center__`,toId:c,color:l});let d=_e[t.category];if(d&&d.length>0){let e=[],n=new Set;for(let r of d){let i=t.items.filter(e=>r.skillIds.has(e.id));i.length>0&&(e.push({def:r,items:i}),i.forEach(e=>n.add(e.id)))}let f=t.items.filter(e=>!n.has(e.id));if(f.length>0){if(e.length===0){J(t.items,c,u,o,K,64,a,2,t.category,t.category,r,i);return}let n=e[e.length-1];n&&n.items.push(...f)}let p=e.length,m=s*.55,h=p<=1?0:Math.min(m,(p-1)*.35);e.forEach((e,n)=>{let s;s=p===1?o:o+(n/(p-1)-.5)*h*2;let d=`subcat-${t.category}-${n}`,f=q({x:u.x+Ee*Math.cos(s),y:u.y+Ee*Math.sin(s)},56/2,r,a);r.push({id:d,kind:{type:`subCategory`,label:e.def.label,emoji:e.def.emoji,category:t.category},parentId:c,depth:2,x:f.x,y:f.y,radius:56/2}),i.push({id:`edge-${t.category}-sub-${n}`,fromId:c,toId:d,color:l}),J(e.items,d,f,s,K,64,a,3,t.category,d,r,i)})}else J(t.items,c,u,o,K,64,a,2,t.category,t.category,r,i)}),{nodes:r,edges:i}}function Oe(e){let t=new Map;for(let n of e){let e=t.get(n.category);e?e.push(n):t.set(n.category,[n])}let n=[];for(let e of W){let r=t.get(e);r&&r.length>0&&n.push({category:e,items:r})}for(let[e,r]of t)!W.includes(e)&&r.length>0&&n.push({category:e,items:r});return n}function ke(e,t,n,r,i=120,a=.4,o=3){if(e.length===0)return{zoom:1,panX:0,panY:0};let s=1/0,c=-1/0,l=1/0,u=-1/0;for(let t of e)s=Math.min(s,t.x),c=Math.max(c,t.x),l=Math.min(l,t.y),u=Math.max(u,t.y);let d=c-s+i*2,f=u-l+i*2;if(d<=0||f<=0||n<=0||r<=0)return{zoom:1,panX:0,panY:0};let p=Math.min(n/d,r/f),m=Math.max(a,Math.min(o,p)),h=(s+c)/2-t.x,g=(l+u)/2-t.y;return{zoom:m,panX:-h*m,panY:-g*m}}var Ae=.4,je=.25,Y={x:600,y:450},X={type:`spring`,stiffness:180,damping:20},Me={category:{size:80,cornerRadius:14,dashed:!1,fillPct:14,fillHoverPct:25,strokePct:55,strokeHoverPct:85,strokeWidth:2,strokeHoverWidth:2.5},subcategory:{size:56,cornerRadius:10,dashed:!0,fillPct:10,fillHoverPct:20,strokePct:40,strokeHoverPct:70,strokeWidth:1.5,strokeHoverWidth:2}},Ne={category:`rounded-[3px]`,subcategory:`rounded-[3px] border-dashed`,skill:`rotate-45`,workspace:`rounded-full`},Pe=`Failed to load the memory graph.`;function Fe(e){return c({queryKey:[`memory-graph`,e],staleTime:5*6e4,queryFn:async()=>{let{data:t,error:n,response:r}=await S({path:{assistant_id:e},throwOnError:!1});if(T(r,n,Pe),!r.ok)throw new D(r.status,E(n,r,Pe));return!t||t.supported===!1?{kind:`unsupported`}:{kind:`ready`,graph:t}}})}var Ie=Math.PI*(3-Math.sqrt(5)),Le=7,Re=2.4,ze=34,Be=10;function Ve(e){return Math.min(ze,Le+Re*Math.sqrt(e))}function He(e){return e===`concept`||e===`skill`||e===`capability`?e:`other`}function Ue(e){return e===`link`||e===`learned`?e:`other`}function We(e,t={}){let n=t.center??Y,r=e.nodes,i=r.length;if(i===0)return{nodes:[],edges:[]};let a=new Map;r.forEach((e,t)=>a.set(e.id,t));let o=e.edges.filter(e=>e.source!==e.target&&a.has(e.source)&&a.has(e.target)),s=Array(i).fill(0),c=[];for(let e of o){let t=a.get(e.source),n=a.get(e.target);s[t]++,s[n]++,c.push([t,n])}let l=r.map((e,t)=>Ve(s[t])),u=70+26*Math.sqrt(i),d=r.map((e,t)=>{let r=(t+.5)/i,a=Math.acos(1-2*r),o=t*Ie,s=u*Math.cbrt(r),c=Math.sin(a);return{x:n.x+s*c*Math.cos(o),y:n.y+s*c*Math.sin(o),z:s*Math.cos(a),vx:0,vy:0,vz:0}}),f=t.iterations??Math.max(90,Math.min(340,Math.round(46e3/i))),p=.011,m=.82,h=.5,g=1,_=1-.001**(1/f);for(let e=0;e<f;e++){for(let e=0;e<i;e++){let t=d[e];for(let n=e+1;n<i;n++){let r=d[n],i=t.x-r.x,a=t.y-r.y,o=t.z-r.z,s=i*i+a*a+o*o;s<.01&&(i=(e-n)*.1+.1,a=.1,o=.05,s=i*i+a*a+o*o);let c=Math.sqrt(s),l=6400/s,u=i/c*l,f=a/c*l,p=o/c*l;t.vx+=u,t.vy+=f,t.vz+=p,r.vx-=u,r.vy-=f,r.vz-=p}}for(let[e,t]of c){let n=d[e],r=d[t],i=r.x-n.x,a=r.y-n.y,o=r.z-n.z,s=Math.sqrt(i*i+a*a+o*o)||.01,c=.05*(s-140),l=i/s*c,u=a/s*c,f=o/s*c;n.vx+=l,n.vy+=u,n.vz+=f,r.vx-=l,r.vy-=u,r.vz-=f}for(let e=0;e<i;e++){let t=d[e];t.vx+=(n.x-t.x)*p,t.vy+=(n.y-t.y)*p,t.vz+=(0-t.z)*p,t.x+=t.vx*g*h,t.y+=t.vy*g*h,t.z+=t.vz*g*h,t.vx*=m,t.vy*=m,t.vz*=m}g*=1-_}for(let e=0;e<10;e++){let e=!1;for(let t=0;t<i;t++){let n=d[t];for(let r=t+1;r<i;r++){let i=d[r],a=i.x-n.x,o=i.y-n.y,s=i.z-n.z,c=Math.sqrt(a*a+o*o+s*s),u=l[t]+l[r]+Be;if(c>=u)continue;c<.01&&(a=(r-t)*.1+.1,o=.1,s=.05,c=Math.sqrt(a*a+o*o+s*s));let f=(u-c)/2,p=a/c*f,m=o/c*f,h=s/c*f;n.x-=p,n.y-=m,n.z-=h,i.x+=p,i.y+=m,i.z+=h,e=!0}}if(!e)break}return{nodes:r.map((e,t)=>{let n={id:e.id,x:d[t].x,y:d[t].y,z:d[t].z,radius:l[t],label:e.label,kind:He(e.kind),degree:s[t]};return e.summary&&(n.summary=e.summary),e.updatedAtMs!==void 0&&(n.updatedAtMs=e.updatedAtMs),n}),edges:o.map((e,t)=>{let n={id:`${e.source}__${e.target}__${t}`,fromId:e.source,toId:e.target,kind:Ue(e.kind),directed:e.directed??!1};return e.description&&(n.description=e.description),n})}}var Ge=`Failed to load this concept.`;function Ke(e,t){return c({queryKey:[`memory-graph-node`,e,t],enabled:!!(e&&t),queryFn:async()=>{let{data:n,error:r,response:i}=await C({path:{assistant_id:e},query:{id:t??``},throwOnError:!1});if(T(i,r,Ge),!i.ok)throw new D(i.status,E(r,i,Ge));return n??{found:!1}}})}function qe(e){return e?new Date(e).toLocaleDateString(`en-GB`,{day:`numeric`,month:`short`,year:`numeric`}):null}function Je({assistantId:e,node:t,onClose:n}){let r=o(Ke(e,t.id)),a=r.data,s=qe(t.updatedAtMs);return(0,z.useEffect)(()=>{let e=e=>{e.key===`Escape`&&n()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[n]),(0,B.jsxs)(`div`,{"data-graph-panel":!0,className:`absolute inset-0 z-20 flex justify-end`,onPointerDown:e=>e.stopPropagation(),onPointerMove:e=>e.stopPropagation(),onPointerUp:e=>e.stopPropagation(),children:[(0,B.jsx)(`div`,{className:`absolute inset-0`,style:{backgroundColor:`color-mix(in srgb, var(--surface-base) 55%, transparent)`},onClick:n}),(0,B.jsxs)(`aside`,{className:`relative flex h-full min-h-0 w-full max-w-md flex-col overflow-hidden`,style:{backgroundColor:`var(--surface-lift)`,borderLeft:`1px solid var(--border-base)`},children:[(0,B.jsxs)(`header`,{className:`flex shrink-0 items-start justify-between gap-3 border-b px-5 py-4`,style:{borderColor:`var(--border-base)`},children:[(0,B.jsxs)(`div`,{className:`min-w-0`,children:[(0,B.jsx)(`h2`,{className:`truncate text-title-small`,style:{color:`var(--content-default)`},title:a?.title??t.label,children:a?.title??t.label}),s?(0,B.jsxs)(`p`,{className:`mt-0.5 text-body-small-default`,style:{color:`var(--content-tertiary)`},children:[`Updated `,s]}):null]}),(0,B.jsx)(i,{variant:`ghost`,iconOnly:(0,B.jsx)(b,{"aria-hidden":!0}),onClick:n,"aria-label":`Close`,tintColor:`var(--content-tertiary)`})]}),(0,B.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-5 py-4`,style:{touchAction:`pan-y`},children:r.isLoading?(0,B.jsx)(`div`,{className:`flex justify-center py-8`,children:(0,B.jsx)(`div`,{className:`h-5 w-5 animate-spin rounded-full border-2`,style:{borderColor:`var(--border-base)`,borderTopColor:`var(--content-tertiary)`}})}):r.isError?(0,B.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Couldn't load this concept. Try again in a moment.`}):a?.found&&a.content?.trim()?(0,B.jsx)(x,{content:a.content}):(0,B.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`This concept doesn't have written content yet — it exists as a link in the graph, but its page is empty.`})})]})]})}var Ye={concept:`#5B8DEF`,skill:`#A665C9`,capability:`#0E9B8B`,other:`#8D99A5`},Xe={concept:`Concept`,skill:`Skill`,capability:`Capability`,other:`Other`},Ze=`#E9A23B`;function Qe({nodeKinds:e,hasLinks:t,hasLearned:n}){return(0,B.jsxs)(`div`,{className:`pointer-events-none absolute bottom-4 left-4 flex flex-col gap-1.5 rounded-lg px-3 py-2`,style:{backgroundColor:`color-mix(in srgb, var(--surface-base) 78%, transparent)`,border:`1px solid var(--border-base)`},children:[e.map(e=>(0,B.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,B.jsx)(`span`,{className:`inline-block h-2.5 w-2.5 rounded-full`,style:{backgroundColor:Ye[e]}}),(0,B.jsx)(`span`,{className:`text-[11px]`,style:{color:`var(--content-tertiary)`},children:Xe[e]})]},e)),e.length>0&&(t||n)&&(0,B.jsx)(`div`,{className:`mt-0.5 border-t pt-1.5`,style:{borderColor:`var(--border-base)`}}),t&&(0,B.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,B.jsx)(`span`,{className:`inline-block h-0 w-4`,style:{borderTop:`2px solid var(--content-tertiary)`}}),(0,B.jsx)(`span`,{className:`text-[11px]`,style:{color:`var(--content-tertiary)`},children:`Link`})]}),n&&(0,B.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,B.jsx)(`span`,{className:`inline-block h-0 w-4`,style:{borderTop:`2px dashed #E9A23B`}}),(0,B.jsx)(`span`,{className:`text-[11px]`,style:{color:`var(--content-tertiary)`},children:`Learned`})]})]})}var $e=[`concept`,`skill`,`capability`,`other`],et=.13,tt=2600,nt=.006,rt=1.15,it=3,at=.32,ot=.45,st=3,ct=4;function lt(e){let t=getComputedStyle(e);return{content:t.getPropertyValue(`--content-default`).trim()||`#e5e7eb`,tertiary:t.getPropertyValue(`--content-tertiary`).trim()||`#8792a0`}}function Z({title:e,detail:t}){return(0,B.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-2 px-6 text-center`,children:[(0,B.jsx)(`p`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:e}),t?(0,B.jsx)(`p`,{className:`max-w-sm text-body-small-default`,style:{color:`var(--content-tertiary)`},children:t}):null]})}function ut({assistantId:e,className:t,isFullscreen:n,onToggleFullscreen:r}){let a=(0,z.useRef)(null),s=(0,z.useRef)(null),c=o(Fe(e)),l=c.data?.kind===`ready`?c.data.graph:null,u=(0,z.useMemo)(()=>l?We(l):{nodes:[],edges:[]},[l]),d=c.data?.kind===`ready`&&u.nodes.length>0,f=(0,z.useMemo)(()=>{let e=new Map,t=(t,n)=>{let r=e.get(t);r||(r=new Set,e.set(t,r)),r.add(n)};for(let e of u.edges)t(e.fromId,e.toId),t(e.toId,e.fromId);return e},[u.edges]),p=(0,z.useMemo)(()=>{if(u.nodes.length===0)return 1;let e=u.nodes.map(e=>{let t=e.x-Y.x,n=e.y-Y.y;return Math.sqrt(t*t+n*n+e.z*e.z)+e.radius}).sort((e,t)=>e-t),t=Math.min(e.length-1,Math.floor(e.length*.92));return Math.max(1,e[t])},[u.nodes]),m=(0,z.useRef)({yaw:.5,pitch:.32,zoom:1,hoveredId:null,dragging:!1,moved:!1,lastX:0,lastY:0,lastInteractAt:-1/0,dirty:!0}),_=(0,z.useRef)([]),v=(0,z.useRef)({content:`#e5e7eb`,tertiary:`#8792a0`}),[y,b]=(0,z.useState)(null),[x,S]=(0,z.useState)(null),C=(0,z.useCallback)(e=>{if(!e)return null;let t=u.nodes.find(t=>t.id===e);return t?t.summary?`${t.label} — ${t.summary}`:t.label:null},[u.nodes]),w=(0,z.useCallback)(()=>{let e=m.current;e.yaw=.5,e.pitch=.32,e.zoom=1,e.lastInteractAt=-1/0,e.dirty=!0,b(null)},[]),T=(0,z.useCallback)(e=>{let t=m.current;t.zoom=Math.max(ot,Math.min(st,t.zoom*e)),t.lastInteractAt=performance.now(),t.dirty=!0},[]);(0,z.useEffect)(()=>{if(!d)return;let e=s.current,t=a.current;if(!e||!t)return;let n=e.getContext(`2d`);if(!n)return;let r=u.nodes,i=u.edges,o=f,c=p,l=window.matchMedia(`(prefers-reduced-motion: reduce)`).matches;v.current=lt(t);let h=Math.min(window.devicePixelRatio||1,2),g=0,y=0,b=()=>{let n=t.getBoundingClientRect();g=n.width,y=n.height,h=Math.min(window.devicePixelRatio||1,2),e.width=Math.max(1,Math.round(g*h)),e.height=Math.max(1,Math.round(y*h)),e.style.width=`${g}px`,e.style.height=`${y}px`,v.current=lt(t),m.current.dirty=!0};b();let x=new ResizeObserver(b);x.observe(t);let S=0,C=0,w=e=>{let t=C?Math.min(.05,(e-C)/1e3):0;C=e;let a=m.current,s=v.current;if(!a.dragging&&e-a.lastInteractAt>tt&&!l&&(a.yaw+=et*t),l&&!a.dirty){S=requestAnimationFrame(w);return}a.dirty=!1;let u=Math.cos(a.yaw),d=Math.sin(a.yaw),f=Math.cos(a.pitch),p=Math.sin(a.pitch),b=it*c,x=Math.min(g,y)*.88/(2*c)*a.zoom,T=g/2,E=y/2;n.setTransform(h,0,0,h,0,0),n.clearRect(0,0,g,y);let D=a.hoveredId,O=D?o.get(D):void 0,k=e=>!D||e===D||(O?.has(e)??!1),A=Array(r.length);for(let e=0;e<r.length;e++){let t=r[e],n=t.x-Y.x,i=t.y-Y.y,a=t.z,o=n*u+a*d,s=-n*d+a*u,l=i*f-s*p,m=i*p+s*f,h=b/(b-m);A[e]={node:t,sx:T+o*x*h,sy:E+l*x*h,sr:Math.max(1.2,t.radius*x*h),depth:Math.max(0,Math.min(1,(m+c)/(2*c)))}}let j=A.map((e,t)=>t).sort((e,t)=>A[e].depth-A[t].depth),M=new Map;for(let e of A)M.set(e.node.id,e);n.lineCap=`round`;for(let e of i){let t=M.get(e.fromId),r=M.get(e.toId);if(!t||!r)continue;let i=e.kind===`learned`,a=D!=null&&(e.fromId===D||e.toId===D),o=(t.depth+r.depth)/2,c=(i?.34:.28)*(.4+.6*o);D!=null&&(c=a?.9:k(e.fromId)&&k(e.toId)?c:.05),n.globalAlpha=c,n.strokeStyle=i?Ze:s.tertiary,n.lineWidth=(a?2:1)*(.6+.6*o),n.setLineDash(i?[4,4]:[]),n.beginPath(),n.moveTo(t.sx,t.sy),n.lineTo(r.sx,r.sy),n.stroke()}n.setLineDash([]);for(let e of j){let t=A[e],r=t.node,i=Ye[r.kind],a=k(r.id),o=r.id===D,s=at+(1-at)*t.depth,c=a?s:s*.18,l=(o?16:r.degree>=ct?8:4)*t.depth;n.shadowColor=i,n.shadowBlur=a?l:0,n.globalAlpha=c*.55,n.fillStyle=i,n.beginPath(),n.arc(t.sx,t.sy,t.sr,0,Math.PI*2),n.fill(),n.shadowBlur=0,n.globalAlpha=c,n.lineWidth=o?2.5:1.4,n.strokeStyle=i,n.stroke()}n.shadowBlur=0,n.textAlign=`center`,n.textBaseline=`top`,n.font=`11px ui-sans-serif, system-ui, sans-serif`;for(let e of j){let t=A[e],r=t.node;if(!(D==null?r.degree>=ct&&t.depth>.55:k(r.id)))continue;n.globalAlpha=(r.id===D?1:.85)*(.4+.6*t.depth),n.fillStyle=s.content;let i=r.label.length>22?`${r.label.slice(0,21)}…`:r.label;n.fillText(i,t.sx,t.sy+t.sr+3)}n.globalAlpha=1,_.current=A.map(e=>({id:e.node.id,sx:e.sx,sy:e.sy,sr:e.sr,depth:e.depth})),S=requestAnimationFrame(w)};return S=requestAnimationFrame(w),()=>{cancelAnimationFrame(S),x.disconnect()}},[d,u,f,p]);let E=(0,z.useCallback)((e,t)=>{let n=null,r=-1;for(let i of _.current){let a=e-i.sx,o=t-i.sy;a*a+o*o<=(i.sr+5)*(i.sr+5)&&i.depth>r&&(n=i.id,r=i.depth)}return n},[]),D=e=>{let t=a.current.getBoundingClientRect();return{x:e.clientX-t.left,y:e.clientY-t.top}},O=(0,z.useCallback)(e=>{if(e.button!==0||e.target.closest(`[data-graph-control]`))return;let t=m.current;t.dragging=!0,t.moved=!1,t.lastX=e.clientX,t.lastY=e.clientY,t.lastInteractAt=performance.now(),e.currentTarget.setPointerCapture(e.pointerId)},[]),k=(0,z.useCallback)(e=>{let t=m.current;if(t.dragging){let n=e.clientX-t.lastX,r=e.clientY-t.lastY;(Math.abs(n)>2||Math.abs(r)>2)&&(t.moved=!0),t.yaw+=n*nt,t.pitch=Math.max(-rt,Math.min(rt,t.pitch+r*nt)),t.lastX=e.clientX,t.lastY=e.clientY,t.lastInteractAt=performance.now(),t.dirty=!0;return}let{x:n,y:r}=D(e),i=E(n,r);i!==t.hoveredId&&(t.hoveredId=i,t.dirty=!0,b(C(i)))},[E,C]),A=(0,z.useCallback)(e=>{let t=m.current;if(!t.dragging)return;t.dragging=!1,t.lastInteractAt=performance.now(),t.dirty=!0;let n=e.currentTarget;if(n.hasPointerCapture(e.pointerId)&&n.releasePointerCapture(e.pointerId),!t.moved){let{x:t,y:n}=D(e),r=E(t,n);if(r){let e=u.nodes.find(e=>e.id===r);e&&S({id:e.id,label:e.label,updatedAtMs:e.updatedAtMs})}else b(null)}},[E,u.nodes]),j=(0,z.useCallback)(()=>{let e=m.current;e.dragging||e.hoveredId==null||(e.hoveredId=null,e.dirty=!0,b(null))},[]);(0,z.useEffect)(()=>{let e=a.current;if(!e||!d)return;let t=e=>{if(e.target.closest?.(`[data-graph-panel]`))return;e.preventDefault();let t=m.current;t.zoom=Math.max(ot,Math.min(st,t.zoom*(1-e.deltaY/500))),t.lastInteractAt=performance.now(),t.dirty=!0};return e.addEventListener(`wheel`,t,{passive:!1}),()=>e.removeEventListener(`wheel`,t)},[d]);let M=(0,z.useMemo)(()=>{let e=new Set(u.nodes.map(e=>e.kind));return $e.filter(t=>e.has(t))},[u.nodes]),N=(0,z.useMemo)(()=>u.edges.some(e=>e.kind===`learned`),[u.edges]),P=(0,z.useMemo)(()=>u.edges.some(e=>e.kind!==`learned`),[u.edges]),F;return F=c.isLoading?(0,B.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,B.jsx)(`div`,{className:`h-6 w-6 animate-spin rounded-full border-2`,style:{borderColor:`var(--border-base)`,borderTopColor:`var(--content-tertiary)`}})}):c.isError?(0,B.jsx)(Z,{title:`Couldn't load the memory graph`,detail:`Something went wrong fetching your assistant's memory. Try again in a moment.`}):c.data?.kind===`unsupported`?(0,B.jsx)(Z,{title:`Memory graph isn't available`,detail:`The active memory backend doesn't expose a concept graph.`}):d?(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`canvas`,{ref:s,className:`absolute inset-0 h-full w-full`}),(0,B.jsx)(Qe,{nodeKinds:M.length>1?M:[],hasLinks:P,hasLearned:N}),y?(0,B.jsx)(`div`,{className:`pointer-events-none absolute left-1/2 top-4 max-w-[80%] -translate-x-1/2 truncate rounded-full px-3 py-1 text-[12px]`,style:{backgroundColor:`color-mix(in srgb, var(--surface-base) 82%, transparent)`,border:`1px solid var(--border-base)`,color:`var(--content-default)`},children:y}):null,(0,B.jsx)(`div`,{className:`pointer-events-none absolute bottom-4 right-4 text-[11px]`,style:{color:`var(--content-tertiary)`},children:`drag to rotate · scroll to zoom`}),(0,B.jsxs)(`div`,{"data-graph-control":!0,className:`absolute right-4 top-4 flex flex-col gap-1`,children:[(0,B.jsx)(i,{variant:`ghost`,iconOnly:(0,B.jsx)(L,{}),onClick:()=>T(1.25),"aria-label":`Zoom in`,tooltip:`Zoom in`}),(0,B.jsx)(i,{variant:`ghost`,iconOnly:(0,B.jsx)(oe,{}),onClick:()=>T(.8),"aria-label":`Zoom out`,tooltip:`Zoom out`}),(0,B.jsx)(i,{variant:`ghost`,iconOnly:(0,B.jsx)(ee,{}),onClick:w,"aria-label":`Reset view`,tooltip:`Reset view`})]})]}):(0,B.jsx)(Z,{title:`No concepts yet`,detail:`As your assistant learns and links ideas, they'll appear here as a living map of its memory.`}),(0,B.jsxs)(`div`,{ref:a,className:`relative select-none overflow-hidden rounded-xl ${t??``}`,style:{backgroundColor:`var(--surface-base)`,backgroundImage:`radial-gradient(circle at center, color-mix(in srgb, var(--content-tertiary) 8%, transparent), transparent 62%)`,touchAction:`none`,cursor:d?`grab`:`default`},onPointerDown:d?O:void 0,onPointerMove:d?k:void 0,onPointerUp:d?A:void 0,onPointerCancel:d?A:void 0,onPointerLeave:d?j:void 0,children:[r?(0,B.jsx)(`div`,{className:`absolute left-4 top-4 z-10`,"data-graph-control":!0,children:(0,B.jsx)(i,{variant:`ghost`,iconOnly:n?(0,B.jsx)(g,{}):(0,B.jsx)(h,{}),onClick:r,"aria-label":n?`Exit fullscreen`:`Enter fullscreen`,tooltip:n?`Exit fullscreen`:`Enter fullscreen`})}):null,F,d&&x?(0,B.jsx)(Je,{assistantId:e,node:x,onClose:()=>S(null)}):null]})}function dt({edges:e,nodeById:t,visible:n}){return(0,B.jsx)(`svg`,{"aria-hidden":!0,className:`pointer-events-none absolute inset-0 h-full w-full overflow-visible`,children:e.map(e=>{let r=t.get(e.fromId),i=t.get(e.toId);if(!r||!i)return null;let{x1:a,y1:o,x2:s,y2:c}=Ce(r,i);return(0,B.jsx)(`line`,{x1:a,y1:o,x2:s,y2:c,stroke:e.color,strokeWidth:1.5,opacity:n?.45:0,style:{transition:`opacity 0.4s ease`}},e.id)})})}function Q({shape:e,label:t}){return(0,B.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,B.jsx)(`span`,{className:`flex h-4 w-4 items-center justify-center`,children:(0,B.jsx)(`span`,{className:N(`inline-block h-3 w-3 border-[1.5px] border-[var(--content-tertiary)]`,Ne[e])})}),(0,B.jsx)(`span`,{children:t})]})}function ft({visible:e}){return(0,B.jsx)(`div`,{"data-constellation-control":!0,className:`pointer-events-none absolute bottom-4 left-4 rounded-md px-3 py-2 text-body-small-default`,style:{backgroundColor:`color-mix(in srgb, var(--surface-overlay) 80%, transparent)`,border:`1px solid color-mix(in srgb, var(--content-tertiary) 20%, transparent)`,color:`var(--content-secondary)`,opacity:+!!e,transition:`opacity 0.35s ease`},children:(0,B.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,B.jsx)(Q,{shape:`category`,label:`Category`}),(0,B.jsx)(Q,{shape:`subcategory`,label:`Subcategory`}),(0,B.jsx)(Q,{shape:`skill`,label:`Skill`}),(0,B.jsx)(Q,{shape:`workspace`,label:`Workspace`})]})})}function pt({item:e,color:t,onViewDetails:n}){let r=e.kind===`skill`?`Skill`:`Workspace`,a=e.kind===`skill`?ue:m;return(0,B.jsxs)(l,{padding:`sm`,elevated:!0,className:`w-[260px] shadow-[var(--shadow-popover)]`,role:`dialog`,"aria-label":`${e.label} details`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,B.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-md px-2 py-1 text-body-small-emphasised text-[var(--content-default)]`,style:{backgroundColor:`${t}33`},children:[(0,B.jsx)(a,{className:`h-3 w-3`,style:{color:t}}),r]}),n?(0,B.jsx)(i,{type:`button`,variant:`ghost`,size:`compact`,onClick:n,children:`View Details`}):null]}),(0,B.jsxs)(`div`,{className:`mt-2 flex items-start gap-2`,children:[e.icon||e.emoji?(0,B.jsx)(R,{skill:e,className:`h-5 w-5 shrink-0 text-[20px] leading-none`}):null,(0,B.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,B.jsx)(`div`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:e.label}),e.description?(0,B.jsx)(`div`,{className:`mt-1 line-clamp-3 text-body-small-default text-[var(--content-secondary)]`,children:e.description}):null]})]})]})}function mt({onSingleClick:e,onDoubleClick:t,latency:n=200}){let r=(0,z.useRef)(null);return(0,z.useEffect)(()=>()=>{r.current&&clearTimeout(r.current)},[]),(0,z.useCallback)(i=>{r.current&&=(clearTimeout(r.current),null),e&&i.detail===1&&(r.current=setTimeout(()=>{r.current=null,e()},n)),t&&i.detail>=2&&i.detail%2==0&&t()},[e,t,n])}function ht(e,t,n){let[r,i]=(0,z.useState)(!1),a=r||n===!0,o=mt({onSingleClick:e,onDoubleClick:t});return{active:a,onClick:(0,z.useCallback)(n=>{!e&&!t||(n.stopPropagation(),o(n))},[e,t,o]),onPointerDown:(0,z.useCallback)(n=>{!e&&!t||n.stopPropagation()},[e,t]),onMouseEnter:(0,z.useCallback)(()=>i(!0),[]),onMouseLeave:(0,z.useCallback)(()=>i(!1),[])}}function $(e,t){return`color-mix(in oklab, ${e} ${Math.max(0,Math.min(100,t))}%, var(--surface-base))`}function gt(e,t){switch(e.kind.type){case`center`:return{visible:t>=1};case`category`:return{visible:t>=2};case`subCategory`:return{visible:t>=3};case`skill`:return{visible:t>=4}}}function _t(e,t){switch(e.kind.type){case`center`:return .05;case`category`:return t*.04;case`subCategory`:return t*.03;case`skill`:return .08+t*.02}}function vt(e){switch(e.kind.type){case`skill`:return e.kind.item;case`category`:{let t=U(e.kind.category);return{id:e.id,label:t.displayName,emoji:t.emoji,category:e.kind.category,kind:`workspaceFile`}}case`subCategory`:return{id:e.id,label:e.kind.label,emoji:e.kind.emoji,category:e.kind.category,kind:`workspaceFile`};default:return}}function yt({variant:e,x:t,y:n,color:r,tooltip:i,visibility:a,delay:o,children:s,isSelected:c,onSingleClick:l,onDoubleClick:u}){let d=Me[e],{active:f,...p}=ht(l,u,c),m={left:t-d.size/2,top:n-d.size/2,width:d.size,height:d.size,borderRadius:d.cornerRadius,backgroundColor:$(r,f?d.fillHoverPct:d.fillPct),borderStyle:d.dashed?`dashed`:`solid`,borderColor:$(r,f?d.strokeHoverPct:d.strokePct),borderWidth:f?d.strokeHoverWidth:d.strokeWidth,transition:`background-color 0.15s ease, border-color 0.15s ease, border-width 0.15s ease`,cursor:l||u?`pointer`:`default`};return(0,B.jsx)(P.div,{className:`pointer-events-auto absolute flex flex-col items-center justify-center`,"data-constellation-node":!0,style:m,initial:{opacity:0,scale:.3},animate:{opacity:+!!a.visible,scale:a.visible?1:.3},transition:{...X,delay:o},onMouseEnter:p.onMouseEnter,onMouseLeave:p.onMouseLeave,onPointerDown:p.onPointerDown,onClick:p.onClick,title:i,children:s})}function bt({x:e,y:t,item:n,color:r,fallbackEmoji:i,visibility:a,delay:o,isSelected:s,onSingleClick:c,onDoubleClick:l}){let{active:u,...d}=ht(c,l,s);return(0,B.jsxs)(P.div,{className:`pointer-events-auto absolute`,"data-constellation-node":!0,style:{left:e-64/2,top:t-64/2,width:64,height:64,cursor:c||l?`pointer`:`default`},initial:{opacity:0,scale:.4},animate:{opacity:+!!a.visible,scale:a.visible?1:.4},transition:{...X,delay:o},onMouseEnter:d.onMouseEnter,onMouseLeave:d.onMouseLeave,onPointerDown:d.onPointerDown,onClick:d.onClick,title:n.label,children:[(0,B.jsx)(`div`,{"aria-hidden":!0,className:`absolute inset-0 rounded-md`,style:{transform:`rotate(45deg)`,backgroundColor:$(r,u?20:10),border:`${u?2:1.5}px solid ${$(r,u?70:40)}`,transition:`background-color 0.15s ease, border-color 0.15s ease, border-width 0.15s ease`}}),(0,B.jsxs)(`div`,{className:`absolute inset-0 flex flex-col items-center justify-center`,children:[(0,B.jsx)(R,{skill:n,className:`h-4 w-4 text-[16px] leading-none`,fallback:i}),(0,B.jsx)(`span`,{className:`mt-0.5 max-w-[42px] truncate text-[9px] font-medium leading-tight text-[var(--content-default)]`,title:n.label,children:n.label})]})]})}function xt({node:e,index:t,phase:n,components:r,traits:i,customImageUrl:a,isSelected:o,onSingleClick:s,onDoubleClick:c}){let l=gt(e,n),u=_t(e,t);if(e.kind.type===`center`)return(0,B.jsx)(P.div,{className:`pointer-events-none absolute`,style:{left:e.x-90/2,top:e.y-90/2,width:90,height:90},initial:{opacity:0,scale:.6},animate:{opacity:+!!l.visible,scale:l.visible?1:.6},transition:{...X,delay:u},children:(0,B.jsx)(I,{components:r,traits:i,customImageUrl:a,size:90})});if(e.kind.type===`category`||e.kind.type===`subCategory`){let t=U(e.kind.category),n=e.kind.type===`category`?`category`:`subcategory`,r=e.kind.type===`category`?t.emoji:e.kind.emoji,i=e.kind.type===`category`?t.displayName:e.kind.label,a=n===`category`?`text-[20px]`:`text-[14px]`,d=n===`category`?`mt-1 max-w-[85%] truncate text-label-medium-default leading-tight text-[var(--content-default)]`:`mt-0.5 max-w-[85%] truncate text-[9.5px] font-medium leading-tight text-[var(--content-default)]`;return(0,B.jsxs)(yt,{variant:n,x:e.x,y:e.y,color:t.color,tooltip:i,visibility:l,delay:u,isSelected:o,onSingleClick:s,onDoubleClick:c,children:[(0,B.jsx)(`span`,{className:`${a} leading-none`,"aria-hidden":!0,children:r}),(0,B.jsx)(`span`,{className:d,title:i,children:i})]})}if(e.kind.type===`skill`){let t=e.kind.item,n=U(t.category);return(0,B.jsx)(bt,{x:e.x,y:e.y,item:t,color:n.color,fallbackEmoji:n.emoji,visibility:l,delay:u,isSelected:o,onSingleClick:s,onDoubleClick:c})}return null}function St(e,t,n,r){let[i,a]=(0,z.useState)({width:0,height:0}),[o,s]=(0,z.useState)(null),[c,l]=(0,z.useState)(null),[u,d]=(0,z.useState)(!1),[f,p]=(0,z.useState)(null),[m,h]=(0,z.useState)(!1),g=(0,z.useRef)(null),_=(0,z.useRef)(null);(0,z.useLayoutEffect)(()=>{let t=e.current;if(!t)return;let n=new ResizeObserver(e=>{for(let t of e){let{width:e,height:n}=t.contentRect;a({width:e,height:n})}});n.observe(t);let r=t.getBoundingClientRect();return a({width:r.width,height:r.height}),()=>n.disconnect()},[e]);let v=(0,z.useMemo)(()=>ke(t,Y,i.width,i.height),[t,i.width,i.height]),y=o??v.zoom,b=c??{x:v.panX,y:v.panY},x=(0,z.useCallback)(()=>{h(!0),g.current!=null&&window.clearTimeout(g.current),g.current=window.setTimeout(()=>{h(!1),g.current=null},500)},[]);(0,z.useEffect)(()=>()=>{g.current!=null&&window.clearTimeout(g.current)},[]);let S=(0,z.useCallback)(()=>{s(null),l(null),p(null),x()},[x]),C=(0,z.useCallback)((e,t)=>{let n=Math.max(Ae,Math.min(3,e));if(n===y)return;let r=n/y;l({x:b.x*r,y:b.y*r}),s(n),p(null),t?.animate&&x()},[b.x,b.y,x,y]),w=(0,z.useCallback)(()=>{C(y+je,{animate:!0})},[C,y]),T=(0,z.useCallback)(()=>{C(y-je,{animate:!0})},[C,y]),E=(0,z.useCallback)(e=>{if(f===e){S();return}let t=n.get(e);if(!t)return;let r=1.8;s(r),l({x:(Y.x-t.x)*r,y:(Y.y-t.y)*r}),p(e),x()},[S,n,x,f]);return(0,z.useEffect)(()=>{let t=e.current;if(!t)return;let n=e=>{e.preventDefault();let t=e.ctrlKey||e.metaKey?150:400;C(y*(1+-e.deltaY/t))};return t.addEventListener(`wheel`,n,{passive:!1}),()=>t.removeEventListener(`wheel`,n)},[C,e,y]),{zoom:y,pan:b,isDragging:u,isAnimating:m,viewSize:i,zoomedNodeId:f,zoomIn:w,zoomOut:T,fitAll:S,zoomToNode:E,handlePointerDown:(0,z.useCallback)(e=>{if(e.button!==0)return;let t=e.target;t.closest(`[data-constellation-control]`)||(t.closest(`[data-constellation-node]`)||r?.(),_.current={startX:e.clientX,startY:e.clientY,panStartX:b.x,panStartY:b.y,pointerId:e.pointerId,moved:!1},d(!0),g.current!=null&&(window.clearTimeout(g.current),g.current=null),h(!1),e.currentTarget.setPointerCapture(e.pointerId))},[r,b.x,b.y]),handlePointerMove:(0,z.useCallback)(e=>{let t=_.current;if(!t||t.pointerId!==e.pointerId)return;let n=e.clientX-t.startX,r=e.clientY-t.startY;!t.moved&&(Math.abs(n)>3||Math.abs(r)>3)&&(t.moved=!0,p(null)),l({x:t.panStartX+n,y:t.panStartY+r})},[]),handlePointerUp:(0,z.useCallback)(e=>{let t=_.current;if(!(!t||t.pointerId!==e.pointerId)){_.current=null,d(!1);try{e.currentTarget.releasePointerCapture(e.pointerId)}catch{}}},[])}}function Ct({skills:e,components:t,traits:n,customImageUrl:r,className:a,isFullscreen:o,onToggleFullscreen:s,onSelectSkill:c}){let l=(0,z.useRef)(null),u=(0,z.useRef)(null),[d,f]=(0,z.useState)(0),[p,m]=(0,z.useState)(null),[_,v]=(0,z.useState)({width:240,height:120}),{nodes:y,edges:b}=(0,z.useMemo)(()=>De(Y,Oe(e.map(e=>({id:e.id,label:e.name,icon:e.icon,emoji:e.emoji,category:e.category??`system`,description:e.description,kind:`skill`}))),90),[e]),x=(0,z.useMemo)(()=>{let e=new Map;for(let t of y)e.set(t.id,t);return e},[y]),S=(0,z.useMemo)(()=>{if(p==null)return null;let e=x.get(p);return e?vt(e)??null:null},[p,x]),C=(0,z.useCallback)(()=>{m(null)},[]),w=St(l,y,x,C),T=e.length;(0,z.useEffect)(()=>{let e=!1,t=t=>{e||f(t)};t(0);let n=[setTimeout(()=>t(1),100),setTimeout(()=>t(2),300),setTimeout(()=>t(3),500),setTimeout(()=>t(4),700)];return()=>{e=!0,n.forEach(clearTimeout)}},[T]);let E=(0,z.useCallback)(e=>{m(t=>t===e?null:e)},[]),D=(0,z.useCallback)(()=>{!S||S.kind!==`skill`||(C(),c?.(S.id))},[C,c,S]);(0,z.useEffect)(()=>{if(p==null)return;let e=e=>{e.key===`Escape`&&C()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[C,p]),(0,z.useLayoutEffect)(()=>{if(S==null)return;let e=u.current;if(!e)return;let t=e.getBoundingClientRect();v({width:t.width,height:t.height})},[S]);let O={x:w.viewSize.width/2,y:w.viewSize.height/2},k=O.x-Y.x*w.zoom+w.pan.x,A=O.y-Y.y*w.zoom+w.pan.y,j=p==null?void 0:x.get(p),M=0,N=0;if(S!=null&&j){let e=k+j.x*w.zoom,t=A+j.y*w.zoom,n=e,r=t-60,i=_.width/2,a=_.height/2,o=i+8,s=Math.max(o,w.viewSize.width-i-8),c=a+8,l=Math.max(c,w.viewSize.height-a-8);M=Math.min(Math.max(n,o),s),N=Math.min(Math.max(r,c),l)}let I=(0,z.useCallback)(e=>{C(),w.zoomToNode(e)},[C,w]);return(0,B.jsxs)(`div`,{ref:l,className:`relative select-none overflow-hidden rounded-xl ${a??``}`,style:{backgroundColor:`var(--surface-base)`,backgroundImage:`radial-gradient(circle, color-mix(in srgb, var(--content-tertiary) 20%, transparent) 1px, transparent 1px)`,backgroundSize:`24px 24px`,backgroundPosition:`12px 12px`,touchAction:`none`,cursor:w.isDragging?`grabbing`:`grab`,userSelect:`none`,WebkitUserSelect:`none`},onPointerDown:w.handlePointerDown,onPointerMove:w.handlePointerMove,onPointerUp:w.handlePointerUp,onPointerCancel:w.handlePointerUp,children:[(0,B.jsx)(`div`,{"aria-hidden":!0,className:`pointer-events-none absolute inset-0`,style:{background:`radial-gradient(circle at center, color-mix(in srgb, var(--content-tertiary) 6%, transparent), transparent 60%)`}}),(0,B.jsxs)(`div`,{className:`absolute inset-0`,style:{transform:`translate(${k}px, ${A}px) scale(${w.zoom})`,transformOrigin:`0 0`,transition:w.isAnimating?`transform 0.4s cubic-bezier(0.22, 1, 0.36, 1)`:`none`},children:[(0,B.jsx)(dt,{edges:b,nodeById:x,visible:d>=2}),y.map((e,i)=>(0,B.jsx)(xt,{node:e,index:i,phase:d,components:t,traits:n,customImageUrl:r,isSelected:p===e.id||w.zoomedNodeId===e.id,onSingleClick:()=>E(e.id),onDoubleClick:()=>I(e.id)},e.id))]}),s&&(0,B.jsx)(`div`,{className:`absolute left-4 top-4`,"data-constellation-control":!0,children:(0,B.jsx)(i,{variant:`ghost`,iconOnly:o?(0,B.jsx)(g,{}):(0,B.jsx)(h,{}),onClick:s,"aria-label":o?`Exit fullscreen`:`Enter fullscreen`,tooltip:o?`Exit fullscreen`:`Enter fullscreen`})}),(0,B.jsx)(ft,{visible:d>=4}),(0,B.jsx)(F,{children:S==null?null:(0,B.jsx)(P.div,{ref:u,className:`pointer-events-auto absolute z-20`,"data-constellation-popover":!0,style:{left:M,top:N,transform:`translate(-50%, -50%)`},initial:{opacity:0,scale:.9},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.9},transition:{duration:.15,ease:`easeOut`},onPointerDown:e=>e.stopPropagation(),onClick:e=>e.stopPropagation(),children:(0,B.jsx)(pt,{item:S,color:U(S.category).color,onViewDetails:c&&S.kind===`skill`?D:void 0})},`constellation-popover`)}),(0,B.jsxs)(`div`,{"data-constellation-control":!0,className:`absolute bottom-4 right-4 flex items-center gap-1`,children:[(0,B.jsx)(i,{variant:`ghost`,iconOnly:(0,B.jsx)(L,{}),onClick:w.zoomIn,"aria-label":`Zoom in`,tooltip:`Zoom in`}),(0,B.jsx)(i,{variant:`ghost`,iconOnly:(0,B.jsx)(oe,{}),onClick:w.zoomOut,"aria-label":`Zoom out`,tooltip:`Zoom out`}),(0,B.jsx)(i,{variant:`ghost`,iconOnly:(0,B.jsx)(ae,{}),onClick:w.fitAll,"aria-label":`Fit all`,tooltip:`Fit all`})]})]})}function wt({assistantName:e,assistantPersonality:t,assistantRole:n,hatchedDate:r,components:a,traits:o,customImageUrl:s,onOpenThread:c,onOpenModal:l}){return(0,B.jsxs)(`div`,{className:`w-full overflow-hidden rounded-xl`,style:{backgroundColor:`var(--surface-lift)`},children:[(0,B.jsxs)(`div`,{className:`relative p-6 pb-0`,children:[(0,B.jsx)(`div`,{className:`pr-8 text-center`,children:(0,B.jsx)(`h2`,{className:`text-title-medium`,style:{color:`var(--content-default)`},children:e})}),(0,B.jsx)(i,{type:`button`,variant:`ghost`,iconOnly:(0,B.jsx)(_,{"aria-hidden":!0}),onClick:()=>c?.(`I would like to change your name`),disabled:!c,"aria-label":`Edit identity`,title:`Edit Name`,className:`absolute right-6 top-6`,tintColor:`var(--content-tertiary)`})]}),(0,B.jsx)(`div`,{className:`flex justify-center py-6`,children:(0,B.jsx)(I,{components:a,traits:o,customImageUrl:s,size:200,interactive:!0})}),(0,B.jsx)(`div`,{className:`flex justify-center pb-6`,children:(0,B.jsx)(i,{type:`button`,variant:`outlined`,size:`regular`,onClick:l,className:`!rounded-full`,children:`Update Avatar`})}),(0,B.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}),(0,B.jsxs)(`div`,{className:`flex items-center justify-between border-b px-4 py-3`,style:{borderColor:`var(--border-base)`},children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:`Role`}),(0,B.jsx)(`p`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:n})]}),(0,B.jsx)(i,{type:`button`,variant:`ghost`,iconOnly:(0,B.jsx)(_,{"aria-hidden":!0}),onClick:()=>c?.(`I would like to change your role description`),disabled:!c,"aria-label":`Edit role`,title:`Edit Role`,tintColor:`var(--content-tertiary)`})]}),(0,B.jsxs)(`div`,{className:`flex items-center justify-between border-b px-4 py-3`,style:{borderColor:`var(--border-base)`},children:[(0,B.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,B.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:`Personality`}),(0,B.jsx)(`p`,{className:`truncate text-body-medium-default`,style:{color:`var(--content-default)`},title:t||`Not set`,children:t||`Not set`})]}),(0,B.jsx)(i,{type:`button`,variant:`ghost`,iconOnly:(0,B.jsx)(_,{"aria-hidden":!0}),onClick:()=>c?.(`I would like to change your personality`),disabled:!c,"aria-label":`Edit personality`,title:`Edit Personality`,tintColor:`var(--content-tertiary)`})]}),(0,B.jsxs)(`div`,{className:`px-4 py-3`,children:[(0,B.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:`Hatched`}),(0,B.jsx)(`p`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:r})]})]})}function Tt({assistantId:e,onOpenThread:n}){let{components:r,traits:i,customImageUrl:a,isLoading:s,invalidate:c}=te(e),[l,u]=(0,z.useState)(null),[d,p]=(0,z.useState)(null),[m,h]=(0,z.useState)(null),[g,_]=(0,z.useState)(!1),[v,y]=(0,z.useState)(!1),b=o(Fe(e)),x=b.data?.kind===`unsupported`||b.isError,S=o({...w({path:{assistant_id:e},query:{kind:`installed`}}),select:e=>e.skills,enabled:!!e});(0,z.useEffect)(()=>{let n=!1;return Promise.all([f(e),O(e).catch(()=>({ok:!1,status:0,error:{}}))]).then(([t,r])=>{n||(u(t),r.ok?p(r.data.created):p(null),h(e))}).catch(e=>{n||t(e,{context:`identity_tab_load`})}),()=>{n=!0}},[e]);let C=m!==e||s,T=(0,z.useCallback)(()=>{c()},[c]),E=(0,z.useCallback)(()=>{_(!0)},[]),D=(0,z.useCallback)(()=>{_(!1)},[]),k=(0,z.useCallback)(()=>{n?.(`I'd like to create a custom AI-generated avatar.`)},[n]);if(C)return(0,B.jsx)(`div`,{className:`flex items-center justify-center py-12`,children:(0,B.jsx)(`div`,{className:`h-6 w-6 animate-spin rounded-full border-2`,style:{borderColor:`var(--border-base)`,borderTopColor:`var(--content-tertiary)`}})});let A=l?.name||`Assistant`,j=l?.personality||``,M=l?.role||`Not set`,N=d?new Date(d).toLocaleDateString(`en-GB`,{day:`numeric`,month:`short`,year:`numeric`}):`Unknown`;return(0,B.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col gap-6 lg:flex-row lg:items-stretch`,children:[(0,B.jsx)(`div`,{className:`mx-auto w-full max-w-md lg:mx-0 lg:h-full lg:shrink-0 lg:overflow-y-auto ${v?`hidden`:`flex`}`,children:(0,B.jsx)(wt,{assistantName:A,assistantPersonality:j,assistantRole:M,hatchedDate:N,components:r,traits:i,customImageUrl:a,onOpenThread:n,onOpenModal:E})}),(0,B.jsx)(`div`,{className:`min-h-[480px] min-w-0 flex-1 lg:min-h-0`,children:x?(0,B.jsx)(Ct,{skills:S.data??[],components:r,traits:i,customImageUrl:a,className:`h-full w-full`,isFullscreen:v,onToggleFullscreen:()=>y(e=>!e)}):(0,B.jsx)(ut,{assistantId:e,className:`h-full w-full`,isFullscreen:v,onToggleFullscreen:()=>y(e=>!e)})}),(0,B.jsx)(me,{open:g,onClose:D,assistantId:e,components:r,traits:i,customImageUrl:a,onSaveCharacter:T,onUploadImage:T,onGenerateWithAI:n?k:void 0})]})}function Et({onOpenThread:e}){return(0,B.jsx)(Tt,{assistantId:de(),onOpenThread:e})}function Dt(){let e=a();return(0,B.jsx)(Et,{onOpenThread:t=>{j.getState().setMainView(`chat`);let n=M();A.getState().setActiveConversationId(n),e(`${k.conversation(n)}?prompt=${encodeURIComponent(t)}`)}},de())}export{Dt as IdentityPageRoute};
|