@vellumai/web 0.10.12 → 0.11.0-staging.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{AnimatePresence-3WpfAWHe.js → AnimatePresence-DPfyu3ET.js} +1 -1
- package/dist/assets/{BundleConfirmPage-CDklssHh.js → BundleConfirmPage-CChUOtcg.js} +1 -1
- package/dist/assets/{a2a-invite-DUYZLVQb.js → a2a-invite-pyBtaaeG.js} +1 -1
- package/dist/assets/{about-page-CT70Pgvf.js → about-page-DGUK5p8j.js} +1 -1
- package/dist/assets/access-DS79PSR3.js +1 -0
- package/dist/assets/{account-page-D5cJIu1-.js → account-page-D3ERiewh.js} +1 -1
- package/dist/assets/{account-shell-C_IH8r44.js → account-shell-Dk4aC-Ls.js} +1 -1
- package/dist/assets/{acp-run-actions-CAjb0Wcm.js → acp-run-actions-BH8wuBAL.js} +1 -1
- package/dist/assets/{acp-run-detail-panel-DqzZdPiN.js → acp-run-detail-panel-dqVK6rPq.js} +1 -1
- package/dist/assets/{acp-run-store-C6n-XeY_.js → acp-run-store-B_eDLRwl.js} +1 -1
- package/dist/assets/{activity-steps-panel-BzHQOJsQ.js → activity-steps-panel-xxl2hu3E.js} +1 -1
- package/dist/assets/add-credential-modal-CY_--m8L.js +1 -0
- package/dist/assets/{add-credits-modal-CCEMf2_U.js → add-credits-modal-fT_gTTP5.js} +1 -1
- package/dist/assets/ai-page-B02NwVRu.js +1 -0
- package/dist/assets/animated-avatar-BcgncPkc.js +1 -0
- package/dist/assets/api-C3QSs67k.js +1 -0
- package/dist/assets/{api-XwdNiVE9.js → api-LG8zI3nK.js} +1 -1
- package/dist/assets/{api-key-screen-BXn2F-lQ.js → api-key-screen-CvBdN6Ae.js} +1 -1
- package/dist/assets/{app-card-Uowaj1kh.js → app-card-CAaFL1oB.js} +1 -1
- package/dist/assets/{archive-redirect-page-CpKvFqvX.js → archive-redirect-page-BH7h0Lk7.js} +1 -1
- package/dist/assets/{assistant-feature-flag-store-CLqMw4mK.js → assistant-feature-flag-store-CAdgpPiS.js} +1 -1
- package/dist/assets/{assistant-status-panel-DKnWIr7_.js → assistant-status-panel-BTnD-jhG.js} +1 -1
- package/dist/assets/auth-store-5qq59BAN.js +2 -0
- package/dist/assets/avatar-random-BMSYTcJK.js +1 -0
- package/dist/assets/{avatar-renderer-DK54o2kQ.js → avatar-renderer-ClUVcQmf.js} +1 -1
- package/dist/assets/{background-task-actions-CmYMPa2o.js → background-task-actions-DmP5s0oO.js} +1 -1
- package/dist/assets/{background-task-detail-panel-KDqjs7i2.js → background-task-detail-panel-BCYAElGc.js} +1 -1
- package/dist/assets/{background-task-store-DFS8MP5D.js → background-task-store-DMP8ByUq.js} +1 -1
- package/dist/assets/billing-page-B5j5TW_S.js +3 -0
- package/dist/assets/{billing-redirect-page-BRcj5q0u.js → billing-redirect-page-B1o1rsQZ.js} +1 -1
- package/dist/assets/{bookmarks-page-fFnFzh4F.js → bookmarks-page-D_Jr-a4Q.js} +1 -1
- package/dist/assets/{browser-CNL8hh8H.js → browser-CTZVDjOL.js} +2 -2
- package/dist/assets/build-state-m0LQ5Iis.js +1 -0
- package/dist/assets/channels-page-route-BYP9SOw5.js +9 -0
- package/dist/assets/chat-avatar-CvEA6z0H.js +1 -0
- package/dist/assets/chat-markdown-message-rxPKNeTx.js +2 -0
- package/dist/assets/{checkbox-BY0BDJjm.js → checkbox-CRmgkYah.js} +1 -1
- package/dist/assets/checkout-continuation-U3Pd2nxi.js +1 -0
- package/dist/assets/checkout-page-C5_9GbP-.js +1 -0
- package/dist/assets/checkout-return-target-DI6Hb-9L.js +1 -0
- package/dist/assets/client-feature-flag-store-CMncoan8.js +1 -0
- package/dist/assets/{client-identity-BS5mQsaQ.js → client-identity-DhkdvP5w.js} +1 -1
- package/dist/assets/{command-palette-CsRPcIM-.js → command-palette-BTaT__fo.js} +1 -1
- package/dist/assets/{command-palette-window-page-BzQ_oDaq.js → command-palette-window-page-gq0zowBe.js} +1 -1
- package/dist/assets/{community-page-mlhk4LsN.js → community-page-CsEKt9wX.js} +1 -1
- package/dist/assets/{connect-page-PuRyFup0.js → connect-page-B4aTS7Yj.js} +1 -1
- package/dist/assets/{consent-controls-BOFoWAYO.js → consent-controls-OcgxuxS0.js} +1 -1
- package/dist/assets/consent-hzYg-zbh.js +1 -0
- package/dist/assets/{contacts-gateway-C5OljhCC.js → contacts-gateway-B6OrAmU3.js} +1 -1
- package/dist/assets/{contacts-page-route-VBlklzVL.js → contacts-page-route-DNoCUXE7.js} +1 -1
- package/dist/assets/{conversation-cache-CqCkWHT6.js → conversation-cache-DKvwwWNo.js} +1 -1
- package/dist/assets/{conversation-list-fetchers-D84gJs6f.js → conversation-list-fetchers-DM-Y61u5.js} +1 -1
- package/dist/assets/conversation-navigation-DsN0hcpL.js +1 -0
- package/dist/assets/{conversation-queries-Ba_1sW5M.js → conversation-queries-CWvK6RLK.js} +1 -1
- package/dist/assets/{credential-entry-page-Bfrl1sD_.js → credential-entry-page-CHinHO85.js} +1 -1
- package/dist/assets/credentials-page-BsJFuOc9.js +1 -0
- package/dist/assets/{danger-zone-redirect-page-DKfrmf_o.js → danger-zone-redirect-page-SU45WI74.js} +1 -1
- package/dist/assets/debug-page-BziypDgA.js +4 -0
- package/dist/assets/{deploy-dialogs-BNMcZzII.js → deploy-dialogs-DZSd5o9b.js} +1 -1
- package/dist/assets/{deploy-store-CxnShfQj.js → deploy-store-D6snB1j5.js} +1 -1
- package/dist/assets/{detail-card-CwtjhGfi.js → detail-card-Du8OuE3q.js} +1 -1
- package/dist/assets/{detail-panel-stop-button-C1rystDS.js → detail-panel-stop-button-BNuh6N0s.js} +1 -1
- package/dist/assets/{detail-shell-DcNnOqM_.js → detail-shell-Cyqr5FXJ.js} +1 -1
- package/dist/assets/{developer-page-Bu7HBiPJ.js → developer-page-QMFEIyBS.js} +1 -1
- package/dist/assets/{devices-redirect-page-Cvt_H5ig.js → devices-redirect-page-B14wK98N.js} +1 -1
- package/dist/assets/{diagnostics-Dva51gYK.js → diagnostics-T_96Uyh5.js} +1 -1
- package/dist/assets/doctor-handoff-store-CYjL1S0n.js +1 -0
- package/dist/assets/document-viewer-container-B7TEDeV0.js +2 -0
- package/dist/assets/{document-viewer-page-kV6TCXu0.js → document-viewer-page-3Eq8L562.js} +1 -1
- package/dist/assets/effective-timezone-CmcoXrio.js +1 -0
- package/dist/assets/{emails-page-D9E3uXkG.js → emails-page-Wr4wPSYl.js} +1 -1
- package/dist/assets/{esm-BWFeAIOX.js → esm-BKewCp71.js} +2 -2
- package/dist/assets/{esm-DKdDWqsF.js → esm-Deuay4YU.js} +2 -2
- package/dist/assets/{esm-C6-ZMSya.js → esm-Dk6A-sQ0.js} +2 -2
- package/dist/assets/{esm-BQjZqfJZ.js → esm-IoT87yZe.js} +2 -2
- package/dist/assets/{esm-BTyZM-kf.js → esm-PYpy75OW.js} +2 -2
- package/dist/assets/esm-xItcektK.js +2 -0
- package/dist/assets/{eye-bbox-DXmmg9ML.js → eye-bbox-C_V87iLg.js} +1 -1
- package/dist/assets/feature-flag-catalog-I9-eJQP_.js +1 -0
- package/dist/assets/file-markdown-DaflJFk7.js +2 -0
- package/dist/assets/{first-run-scope-BoT9LMYw.js → first-run-scope-CL5YbC3b.js} +1 -1
- package/dist/assets/{funnel-events-CK938pi2.js → funnel-events-n2IVlwTo.js} +1 -1
- package/dist/assets/general-page-lbkufqHg.js +1 -0
- package/dist/assets/{get-memory-stats-ERcqnC0Q.js → get-memory-stats-BCYSpBF6.js} +1 -1
- package/dist/assets/{haptics-D9eNTUq-.js → haptics-DvWjk9Fg.js} +2 -2
- package/dist/assets/hatching-screen-D81diZoa.js +1 -0
- package/dist/assets/{home-page-route-BOCisuYY.js → home-page-route-CHe8eoLz.js} +1 -1
- package/dist/assets/{hosting-screen-6xIW6q02.js → hosting-screen-D9atAksQ.js} +1 -1
- package/dist/assets/{identity-page-route-qWwRSRld.js → identity-page-route-CK3YsXCN.js} +1 -1
- package/dist/assets/index-0f48hi7h.js +11 -0
- package/dist/assets/index-UKZ4bO6i.css +2 -0
- package/dist/assets/{ingest-DGkxw0Go.js → ingest-BizI657K.js} +1 -1
- package/dist/assets/{inspect-page-CRBfQ5WU.js → inspect-page-COwvbHtX.js} +3 -3
- package/dist/assets/{installed-plugins-query-C29LGAEV.js → installed-plugins-query-Cgek0q7G.js} +1 -1
- package/dist/assets/{integration-icon-Dvjn3ytY.js → integration-icon-dv-9Zzx3.js} +1 -1
- package/dist/assets/integrations-page-CJOBwxXp.js +1 -0
- package/dist/assets/{intelligence-layout-DP9zklR6.js → intelligence-layout-MNoGhi-l.js} +1 -1
- package/dist/assets/{invalidate-plugin-queries-DamxiwYv.js → invalidate-plugin-queries-C3NTXkCX.js} +1 -1
- package/dist/assets/{keyboard-shortcuts-redirect-page--bCvhp62.js → keyboard-shortcuts-redirect-page-CBI_mZIL.js} +1 -1
- package/dist/assets/{latest-assistant-text-D5WR-o6J.js → latest-assistant-text-DOepZ_Io.js} +2 -2
- package/dist/assets/{library-detail-page-pviljaQw.js → library-detail-page-DVwI94NZ.js} +1 -1
- package/dist/assets/{library-page-CYYuLywk.js → library-page-CNA794WY.js} +1 -1
- package/dist/assets/local-mode-BTovbt13.js +39 -0
- package/dist/assets/{local-runtime-upgrade-BggVMXfW.js → local-runtime-upgrade-Bqn3d7Q7.js} +1 -1
- package/dist/assets/login-flow-CD9tyuFG.js +1 -0
- package/dist/assets/{login-page-DdHXGGAt.js → login-page-BNStrcnU.js} +1 -1
- package/dist/assets/{logout-page-DjihP6Qk.js → logout-page-CpFeuLA_.js} +1 -1
- package/dist/assets/{logs-layout-C84-h0Hn.js → logs-layout-BUiPeZ4I.js} +1 -1
- package/dist/assets/{machine-sizes-DAflIPTM.js → machine-sizes-DO8duvpy.js} +1 -1
- package/dist/assets/{memory-page-route-dGWTWCWF.js → memory-page-route-C0cBV7HD.js} +1 -1
- package/dist/assets/{memory-router-playground-page-CjUiz_bH.js → memory-router-playground-page-D4UIq8mw.js} +1 -1
- package/dist/assets/{messages-Dl5_cjD9.js → messages-CFcAW4iz.js} +2 -2
- package/dist/assets/{metric-card-CkAD9RpC.js → metric-card-05a5slPx.js} +1 -1
- package/dist/assets/{mobile-sidebar-drawer-CbJ5JfXT.js → mobile-sidebar-drawer-DtKU2vlu.js} +1 -1
- package/dist/assets/native-anchor-CeekjwVy.js +1 -0
- package/dist/assets/native-biometric-BAMIyaSS.js +6 -0
- package/dist/assets/{native-file-B6_oAU2Q.js → native-file-ySSv1sQ7.js} +2 -2
- package/dist/assets/navigation-resolver-DPJxzx0h.js +1 -0
- package/dist/assets/{not-found-DV3iLBwm.js → not-found-OqaWNmdx.js} +1 -1
- package/dist/assets/{notifications-page-B9vnqyB1.js → notifications-page-ClfcJeLf.js} +1 -1
- package/dist/assets/{oauth-complete-page-BSxiDbQm.js → oauth-complete-page-rVmA2Cl8.js} +1 -1
- package/dist/assets/{oauth-connection-utils-DbcihBL8.js → oauth-connection-utils-CWPUW4MK.js} +1 -1
- package/dist/assets/{oauth-popup-complete-page-CyYbqLoK.js → oauth-popup-complete-page-DBsOvLES.js} +1 -1
- package/dist/assets/{onboarding-layout-Dd5fPfE7.js → onboarding-layout-DLs1hfp_.js} +1 -1
- package/dist/assets/onboarding-store-bZ2qYISk.js +1 -0
- package/dist/assets/open-workspace-file-DtK3a84K.js +2 -0
- package/dist/assets/{page-empty-state-BA3_YQN2.js → page-empty-state-DT-tC1u6.js} +1 -1
- package/dist/assets/{page-shell-_QxBKTK3.js → page-shell-C7SUgga9.js} +1 -1
- package/dist/assets/{pairing-page-DPfIgf3F.js → pairing-page-ZkFipOSH.js} +1 -1
- package/dist/assets/{password-reset-page-D55bGMVy.js → password-reset-page-iASQZawH.js} +1 -1
- package/dist/assets/{personality-page-fJJd-i4s.js → personality-page-BJpW3UXD.js} +1 -1
- package/dist/assets/plans-page-BDKqdYNM.js +1 -0
- package/dist/assets/{platform-detection-CMiRPRCq.js → platform-detection-XEAAu4c-.js} +1 -1
- package/dist/assets/{platform-login-notice-BG9TFAJa.js → platform-login-notice-CdYiKsE8.js} +1 -1
- package/dist/assets/{platform-loopback-page-DunGLusR.js → platform-loopback-page-D0gXCm2S.js} +1 -1
- package/dist/assets/{plugin-detail-page-BngHrN8T.js → plugin-detail-page-Bx2wzKEf.js} +1 -1
- package/dist/assets/{plugins-page-DD0t1_pE.js → plugins-page-B2zQ2iGh.js} +1 -1
- package/dist/assets/{prefs-BZnS5vR_.js → prefs-bw85lYLp.js} +1 -1
- package/dist/assets/{privacy-page-nZvfh3dh.js → privacy-page-B0QN4qZO.js} +1 -1
- package/dist/assets/privacy-screen-vp4uUpm6.js +1 -0
- package/dist/assets/{provider-callback-page-BwANEd-K.js → provider-callback-page-BH6DES7c.js} +1 -1
- package/dist/assets/{provider-key-B3R8SlMJ.js → provider-key-D2Nsf9zh.js} +1 -1
- package/dist/assets/{provider-signup-page-Cz2DP-jP.js → provider-signup-page-BAPcG_iJ.js} +1 -1
- package/dist/assets/provisioning-targets-BTjyR9nk.js +1 -0
- package/dist/assets/{quick-input-page-CF2MJnCE.js → quick-input-page-Dq-0BGrJ.js} +1 -1
- package/dist/assets/{react-query.gen-r3I6j8-1.js → react-query.gen-C5c1Acuq.js} +1 -1
- package/dist/assets/{remote-gateway-session-BHjZ9gQ6.js → remote-gateway-session-yRYdsfDx.js} +1 -1
- package/dist/assets/{research-mock-page-DnbQpZcp.js → research-mock-page-BJEpxdMv.js} +1 -1
- package/dist/assets/research-onboarding-route-CFL3q__m.js +50 -0
- package/dist/assets/{research-results-view-CxhTn2J7.js → research-results-view-C4sIw2gK.js} +1 -1
- package/dist/assets/{resolved-assistants-store-C-PdxK8f.js → resolved-assistants-store-Dw5UuGyB.js} +1 -1
- package/dist/assets/retire-confirm-dialog-CsSY2-T8.js +1 -0
- package/dist/assets/review-terms-screen-BhyRQBjl.js +1 -0
- package/dist/assets/{risk-C_bbPQPd.js → risk-CdT92Vqr.js} +2 -2
- package/dist/assets/routes-CaP5Tqj7.js +23 -0
- package/dist/assets/routes-D9sNqB_o.js +1 -0
- package/dist/assets/{runtime-upgrade-banner-DQI-l3Yc.js → runtime-upgrade-banner-DPqzKtZU.js} +2 -2
- package/dist/assets/{schedules-DF5cTXBf.js → schedules-6hzhR_C_.js} +1 -1
- package/dist/assets/schedules-page-DVnUeaoB.js +1 -0
- package/dist/assets/{sdk.gen-BVAVE6A_.js → sdk.gen-BHZ0fJla.js} +1 -1
- package/dist/assets/{security-redirect-page-BEohiPDW.js → security-redirect-page-4DKqyPsf.js} +1 -1
- package/dist/assets/{select-assistant-screen-C2q8wO2f.js → select-assistant-screen-CVV3iqMy.js} +1 -1
- package/dist/assets/{settings-divider-CXIrJieH.js → settings-divider-Ro7lPCkV.js} +1 -1
- package/dist/assets/settings-layout-B_4PKJr9.js +1 -0
- package/dist/assets/settings-navigation-CSG7jiyJ.js +1 -0
- package/dist/assets/{share-feedback-modal-B05-nKgu.js → share-feedback-modal-BoWCg4KH.js} +1 -1
- package/dist/assets/{sidebar-tree-ByF78JHW.js → sidebar-tree-C_PPNHe5.js} +1 -1
- package/dist/assets/{signup-page-CGauGszD.js → signup-page-D0S_8XYw.js} +1 -1
- package/dist/assets/{signup-shell-Bw6r9tWP.js → signup-shell-CMsBZ8vG.js} +1 -1
- package/dist/assets/{site-favicon-CCyX9r-Z.js → site-favicon-BB1pYWLF.js} +1 -1
- package/dist/assets/skill-detail-page-CTobyK6L.js +1 -0
- package/dist/assets/{skill-detail-panel-crqCBZbU.js → skill-detail-panel-CNzionF7.js} +1 -1
- package/dist/assets/{skills-C1CAcW7T.js → skills-Cum1XWT2.js} +1 -1
- package/dist/assets/{skills-page-BikP-AR7.js → skills-page-DZVxAbua.js} +1 -1
- package/dist/assets/slack-setup-wizard-DK2F8LXc.js +1 -0
- package/dist/assets/{sound-manager-xEbUgFv-.js → sound-manager-Bx-OcMAz.js} +1 -1
- package/dist/assets/{sounds-page-9_otQ97S.js → sounds-page-C45-RF4i.js} +1 -1
- package/dist/assets/{src-D89CNeuT.js → src-te3YTBG-.js} +4 -4
- package/dist/assets/{start-screen-DSF3melT.js → start-screen-CkJiCl9b.js} +1 -1
- package/dist/assets/{subagent-detail-panel-q0g4JWAX.js → subagent-detail-panel-DyyMdaNO.js} +1 -1
- package/dist/assets/subagent-store-MDi6lBXs.js +3 -0
- package/dist/assets/{superpowers-page-UgdWFWsF.js → superpowers-page-CaLzK5D-.js} +1 -1
- package/dist/assets/{system-events-page-Bw94HLwx.js → system-events-page-DXAU01ZO.js} +1 -1
- package/dist/assets/{system-events-redirect-page-BGZQC8-K.js → system-events-redirect-page-Bm9bipNo.js} +1 -1
- package/dist/assets/{theme-stage-page-bEZxHTyN.js → theme-stage-page-BDTCmutO.js} +1 -1
- package/dist/assets/{threshold-presets-BO8En2q0.js → threshold-presets-BdTTHCnm.js} +1 -1
- package/dist/assets/{tiptap-document-editor-CyY1HRzV.js → tiptap-document-editor-CHn2wCDv.js} +1 -1
- package/dist/assets/{tool-detail-panel-DFMOphDJ.js → tool-detail-panel-DFrWEWKG.js} +1 -1
- package/dist/assets/{transcript-message-body-shared-nWAkSzar.js → transcript-message-body-shared-D9_d2c2X.js} +1 -1
- package/dist/assets/{trust-rules-api-C0-hkXT2.js → trust-rules-api-B5lfygCA.js} +1 -1
- package/dist/assets/{upgrade-cancel-page-DwxI6NLL.js → upgrade-cancel-page-eiJEAvFz.js} +1 -1
- package/dist/assets/{upgrade-success-page-SO92J-Rf.js → upgrade-success-page-Cb1Gl4MM.js} +1 -1
- package/dist/assets/{usage-redirect-page-BJBkecYr.js → usage-redirect-page-BOfJ7uot.js} +1 -1
- package/dist/assets/{use-active-assistant-id-Cjbsk2Q3.js → use-active-assistant-id-CldxA_-M.js} +1 -1
- package/dist/assets/{use-app-theme-Q42fO5Nz.js → use-app-theme-Dg8A6vPA.js} +1 -1
- package/dist/assets/{use-assistant-avatar-DSu2_Mzi.js → use-assistant-avatar-bwLHcMz4.js} +1 -1
- package/dist/assets/{use-assistant-capability-gxe56K48.js → use-assistant-capability-CDS7GbSO.js} +1 -1
- package/dist/assets/{use-assistant-identity-details-CpHkzjrI.js → use-assistant-identity-details-9JRWxXTQ.js} +1 -1
- package/dist/assets/{use-avatar-accent-var-PV9tsBJj.js → use-avatar-accent-var-vpakP1ce.js} +1 -1
- package/dist/assets/{use-bookmarks-BbJtKyHe.js → use-bookmarks-CK-nOiT-.js} +1 -1
- package/dist/assets/{use-bundled-avatar-components-Gp_YaD6o.js → use-bundled-avatar-components-Bbs4vCnX.js} +2 -2
- package/dist/assets/use-checkout-dismiss-refresh-CqGR_OsB.js +1 -0
- package/dist/assets/use-command-palette-sections-CkpUaAKs.js +1 -0
- package/dist/assets/{use-edge-swipe-DVeTYbmY.js → use-edge-swipe-Wm9pU2HX.js} +1 -1
- package/dist/assets/{use-edge-swipe-back-DDq-N20h.js → use-edge-swipe-back-BcSHNCwS.js} +1 -1
- package/dist/assets/{use-edit-app-DfFIonqZ.js → use-edit-app-B_Nequzs.js} +1 -1
- package/dist/assets/{use-effective-timezone-LqzBqHBy.js → use-effective-timezone-Dqs8OaXJ.js} +1 -1
- package/dist/assets/use-invite-link-dialog-CPPOduk8.js +1 -0
- package/dist/assets/{use-ios-app-nudge-BO8jWfr0.js → use-ios-app-nudge-B-ojl-b1.js} +1 -1
- package/dist/assets/use-is-org-ready-C5xlYywh.js +1 -0
- package/dist/assets/use-onboarding-login-DI5gvqEG.js +1 -0
- package/dist/assets/use-platform-assistant-id-DOsSt6k1.js +1 -0
- package/dist/assets/use-platform-gate-C65D14xY.js +1 -0
- package/dist/assets/{use-reduced-motion-Se97jRQ-.js → use-reduced-motion-W1fCe3vS.js} +1 -1
- package/dist/assets/{use-save-twilio-credentials-CUQ6gdIj.js → use-save-twilio-credentials-c9xG9RPK.js} +1 -1
- package/dist/assets/{use-skill-actions-DgK7Nmt1.js → use-skill-actions-BAAx1Eia.js} +1 -1
- package/dist/assets/{use-skill-detail-files-_v4zUF6S.js → use-skill-detail-files-BvOKvY0-.js} +1 -1
- package/dist/assets/use-sticky-profiles-CdWX0mgI.js +1 -0
- package/dist/assets/{use-subagent-card-data-YbAN73Fw.js → use-subagent-card-data-DHuNtSy9.js} +1 -1
- package/dist/assets/use-supports-credentials-settings-BbfghcWq.js +1 -0
- package/dist/assets/{use-swipe-engine-DRvffOuu.js → use-swipe-engine-6PcZZMVD.js} +1 -1
- package/dist/assets/{utils-BtC1KiH4.js → utils-B0rBxtYP.js} +1 -1
- package/dist/assets/{viewer-store-BDpZVbcr.js → viewer-store-DLk-jp8U.js} +1 -1
- package/dist/assets/{voice-list-DJeZeHuA.js → voice-list-CW8mzaHU.js} +1 -1
- package/dist/assets/{voice-page-DQcyxaPl.js → voice-page-0zsCIOdT.js} +1 -1
- package/dist/assets/{voice-picker-modal-BXMvQihh.js → voice-picker-modal-PdsZwrsV.js} +1 -1
- package/dist/assets/{weather-forecast-display-D2sn4QD4.js → weather-forecast-display-BAAnrNdd.js} +1 -1
- package/dist/assets/{web-Bj8XUknF.js → web-B3Q8ntoM.js} +1 -1
- package/dist/assets/{web-BE7l06mM.js → web-BlvxItuO.js} +1 -1
- package/dist/assets/{welcome-screen-n-cGiojh.js → welcome-screen-DwOAZpZS.js} +1 -1
- package/dist/assets/{workflow-detail-panel-Cq3AwWXE.js → workflow-detail-panel-DGL2BZSr.js} +1 -1
- package/dist/assets/{workflow-store-QV5aMjTt.js → workflow-store-lM7yKbUo.js} +1 -1
- package/dist/assets/workspace-page-D4NvhCv1.js +1 -0
- package/dist/assets/workspace-tree-query-B1A-efgV.js +1 -0
- package/dist/index.html +144 -141
- package/package.json +1 -1
- package/dist/assets/access-D3fUSyFH.js +0 -1
- package/dist/assets/ai-page-BznkOakE.js +0 -1
- package/dist/assets/animated-avatar-DzfEDnTh.js +0 -1
- package/dist/assets/api-CJFoPWHm.js +0 -1
- package/dist/assets/auth-store-D9BqFncz.js +0 -2
- package/dist/assets/billing-page-Cc5fHBn2.js +0 -3
- package/dist/assets/build-state-WR9nlRgM.js +0 -1
- package/dist/assets/channels-page-route-wxREzs6W.js +0 -9
- package/dist/assets/chat-avatar-DIDq1Jt5.js +0 -1
- package/dist/assets/chat-markdown-message-ERK48E1Z.js +0 -2
- package/dist/assets/client-feature-flag-store-oTfL8Oiz.js +0 -1
- package/dist/assets/consent-DbD2Hcbf.js +0 -1
- package/dist/assets/conversation-navigation-Wm7_pLFs.js +0 -1
- package/dist/assets/credentials-page-B-AJyMvk.js +0 -1
- package/dist/assets/debug-page-DWEIExMH.js +0 -4
- package/dist/assets/document-viewer-container-Cl4jDmfx.js +0 -2
- package/dist/assets/effective-timezone-qiooajmO.js +0 -1
- package/dist/assets/esm-CDPcGg-B.js +0 -2
- package/dist/assets/feature-flag-catalog-BAyJlRMY.js +0 -1
- package/dist/assets/file-Ddp9Dqgl.js +0 -1
- package/dist/assets/file-markdown-CLmQTpqL.js +0 -2
- package/dist/assets/general-page-DpKVqj5t.js +0 -1
- package/dist/assets/hatching-screen-d3SWqFKY.js +0 -1
- package/dist/assets/index-B0l9Wjpj.css +0 -2
- package/dist/assets/index-BOC87TAq.js +0 -11
- package/dist/assets/integrations-page-D5KWY6v-.js +0 -1
- package/dist/assets/local-mode-Ckii2tmN.js +0 -39
- package/dist/assets/login-flow-BCNBNLzu.js +0 -1
- package/dist/assets/native-anchor-CVNubOIm.js +0 -1
- package/dist/assets/native-biometric-CntdlaL-.js +0 -6
- package/dist/assets/onboarding-store-DutUn1E3.js +0 -1
- package/dist/assets/open-workspace-file-CpveqBim.js +0 -2
- package/dist/assets/plans-page-C-JyEPT_.js +0 -1
- package/dist/assets/privacy-screen-D2aDT6E6.js +0 -1
- package/dist/assets/research-onboarding-route-yg2iKw6i.js +0 -50
- package/dist/assets/retire-confirm-dialog--eF_pXhA.js +0 -1
- package/dist/assets/review-terms-screen-Dpk-gyJE.js +0 -1
- package/dist/assets/routes-BBFM42ft.js +0 -23
- package/dist/assets/routes-vE-2hncW.js +0 -1
- package/dist/assets/schedules-page-Dgu-znOf.js +0 -1
- package/dist/assets/settings-layout-b7iBWIT-.js +0 -1
- package/dist/assets/settings-navigation-BGdjm0Ki.js +0 -1
- package/dist/assets/skill-detail-page-GlV5JRzQ.js +0 -1
- package/dist/assets/slack-setup-wizard-DKj1_XdA.js +0 -1
- package/dist/assets/stream-watchdog-BafbDdX9.js +0 -1
- package/dist/assets/subagent-store-D-GPthdC.js +0 -3
- package/dist/assets/use-checkout-dismiss-refresh-kdxxDNpF.js +0 -1
- package/dist/assets/use-command-palette-sections-BWjxkwKB.js +0 -1
- package/dist/assets/use-invite-link-dialog-DX58-LWY.js +0 -1
- package/dist/assets/use-is-org-ready-X_98Cnx9.js +0 -1
- package/dist/assets/use-onboarding-login-B8rpbSEh.js +0 -1
- package/dist/assets/use-platform-gate-Dry0Nv4f.js +0 -1
- package/dist/assets/use-sticky-profiles-B0zVD3uk.js +0 -1
- package/dist/assets/workspace-page-CL9z2Jrs.js +0 -1
- /package/dist/assets/{app-info-qQex8Ndg.js → app-info-DefDjPEl.js} +0 -0
- /package/dist/assets/{app-types-CBg2__YH.js → app-types-DSkgEmV3.js} +0 -0
- /package/dist/assets/{apple-logo-poQac1tY.js → apple-logo--8ZT6Umn.js} +0 -0
- /package/dist/assets/{avatar-bundled-components-CecbESCk.js → avatar-bundled-components-DPqbVXi9.js} +0 -0
- /package/dist/assets/{avatar-subagent-C9WTTUjI.js → avatar-subagent-CRA2B82x.js} +0 -0
- /package/dist/assets/{avatar-svg-compositor-FtVPqzlC.js → avatar-svg-compositor-Dl-ckXRE.js} +0 -0
- /package/dist/assets/{avatar-tone-CMoWR2JX.js → avatar-tone-BKwvoDSj.js} +0 -0
- /package/dist/assets/{browser-timezone-C_0jBUid.js → browser-timezone-CGwaX5Uv.js} +0 -0
- /package/dist/assets/{build.umd-59c0EvgO.js → build.umd-Bixyt_xE.js} +0 -0
- /package/dist/assets/{by-tool-use-id-index-aoRP6d51.js → by-tool-use-id-index-M50wYE1f.js} +0 -0
- /package/dist/assets/{chat-BrL0k2UY.js → chat-CDFCY8f0.js} +0 -0
- /package/dist/assets/{chat-layout-slots-store-C2IFeZFr.js → chat-layout-slots-store-BJfYGnd7.js} +0 -0
- /package/dist/assets/{conversation-selection-3EKkKt0G.js → conversation-selection-oJy8Oht3.js} +0 -0
- /package/dist/assets/{conversation-store-bshB7nDP.js → conversation-store-C--wWMNW.js} +0 -0
- /package/dist/assets/{definitions-PikNVFdS.js → definitions-D_AmTPWg.js} +0 -0
- /package/dist/assets/{definitions-OhJf_HMS.js → definitions-JF3PcEff.js} +0 -0
- /package/dist/assets/{dictation-overlay-page-zpoNqudq.js → dictation-overlay-page-DtgaXzdF.js} +0 -0
- /package/dist/assets/{edge-swipe-arbiter-store-DyemvsR-.js → edge-swipe-arbiter-store-CQnDi2yf.js} +0 -0
- /package/dist/assets/{edit-chat-session-yPtopwB6.js → edit-chat-session-D37Qx6ol.js} +0 -0
- /package/dist/assets/{emoji-catalog-data-COLzb2Wj.js → emoji-catalog-data-BCc1YNMR.js} +0 -0
- /package/dist/assets/{environment-store-BFVmN-OW.js → environment-store-Bft0lpgv.js} +0 -0
- /package/dist/assets/{esm-DEY-lP80.js → esm-DNvorKcw.js} +0 -0
- /package/dist/assets/{external-urls-BYwuIdYk.js → external-urls-_vjsdj2L.js} +0 -0
- /package/dist/assets/{file-editor-DpNdd7HZ.js → file-editor-phorJEVv.js} +0 -0
- /package/dist/assets/{format-date-RZ9mCDCy.js → format-date-BGnM4mqL.js} +0 -0
- /package/dist/assets/{format-file-size-CQaPE33p.js → format-file-size-BgMTiWPt.js} +0 -0
- /package/dist/assets/{hard-navigate-DZlpL1No.js → hard-navigate-DyUrcxe0.js} +0 -0
- /package/dist/assets/{link-click-BoSQACXo.js → link-click-DLYgWZdo.js} +0 -0
- /package/dist/assets/{misc-DckBb5zz.js → misc-CuYswARt.js} +0 -0
- /package/dist/assets/{mutation-error-CwYvaYnb.js → mutation-error-DEknRDAQ.js} +0 -0
- /package/dist/assets/{native-deep-link-PvbVHiPM.js → native-deep-link-DCBJ-Rw0.js} +0 -0
- /package/dist/assets/{oauth-popup-DZEqljdC.js → oauth-popup-OhSYYlQF.js} +0 -0
- /package/dist/assets/{onboarding-step-layout-CURfuoh4.js → onboarding-step-layout-D9rghAjS.js} +0 -0
- /package/dist/assets/{optimistic-lifecycle-C2a6IJ7E.js → optimistic-lifecycle-BINTsVFx.js} +0 -0
- /package/dist/assets/{pdf-IQXtc7_x.js → pdf-BlwLcQAc.js} +0 -0
- /package/dist/assets/{plugin-attribution-DCFEMRUF.js → plugin-attribution-DrwveSW_.js} +0 -0
- /package/dist/assets/{plugins-surface-D4i2vqBz.js → plugins-surface-B43Op43l.js} +0 -0
- /package/dist/assets/{pointer-RLpjGG7A.js → pointer-BbPfN86L.js} +0 -0
- /package/dist/assets/{prechat-DIuViPZk.js → prechat-CeL4a_1i.js} +0 -0
- /package/dist/assets/{profile-metadata-h4CTeMKT.js → profile-metadata-BhqRdqUJ.js} +0 -0
- /package/dist/assets/{proxy-RtD8704m.js → proxy-D7UPVac3.js} +0 -0
- /package/dist/assets/{public-asset-CbDDcomC.js → public-asset-BBVUuTT_.js} +0 -0
- /package/dist/assets/{react-query.gen-Mwd5l-vZ.js → react-query.gen-BC3STDmV.js} +0 -0
- /package/dist/assets/{research-facts-UIXXE8D6.js → research-facts-B7Ev1zv0.js} +0 -0
- /package/dist/assets/{research-onboarding-persistence-CceFfAqE.js → research-onboarding-persistence-51lJoYJ2.js} +0 -0
- /package/dist/assets/{sandbox-bridge-DgDrAWv3.js → sandbox-bridge-BxW8HZq_.js} +0 -0
- /package/dist/assets/{sdk.gen-DPKrJeho.js → sdk.gen-B5ygTzyg.js} +0 -0
- /package/dist/assets/{setting-row-0LXvW7Kh.js → setting-row-BwXKepmJ.js} +0 -0
- /package/dist/assets/{status-badge-pill-z1OKPW3B.js → status-badge-pill-wJPMXQk1.js} +0 -0
- /package/dist/assets/{theme-preferences-ln8xC5zH.js → theme-preferences-Bb2pPRXa.js} +0 -0
- /package/dist/assets/{three-dot-indicator-SJcKW5cG.js → three-dot-indicator-BMvKQ_On.js} +0 -0
- /package/dist/assets/{use-bus-subscription-Cu4Y9DQi.js → use-bus-subscription-nUrbz9Mu.js} +0 -0
- /package/dist/assets/{use-copy-to-clipboard-DBVpNZOl.js → use-copy-to-clipboard-cF7ZSilD.js} +0 -0
- /package/dist/assets/{use-is-mobile-Bz2l7wPL.js → use-is-mobile-BlQuzI5Z.js} +0 -0
- /package/dist/assets/{web-7I6Bn0iP.js → web-9Cwi5jnT.js} +0 -0
- /package/dist/assets/{web-CBluPLFP.js → web-Bi-BvsRt.js} +0 -0
- /package/dist/assets/{web-Cmg3AbZk.js → web-D486_dlv.js} +0 -0
- /package/dist/assets/{web-DHVjLzid.js → web-DUb4LJ2M.js} +0 -0
- /package/dist/assets/{web-BEpNr5_U.js → web-l9DWMZeA.js} +0 -0
- /package/dist/assets/{web-BPyURh2Z.js → web-sr1ba6fP.js} +0 -0
- /package/dist/assets/{workflow-status-DXdUkbSd.js → workflow-status-HyIIhMBP.js} +0 -0
- /package/dist/assets/{workspace-theme-tokens-J8dqkK9n.js → workspace-theme-tokens-DNNwX-XS.js} +0 -0
- /package/dist/assets/{xterm-CdT0HObJ.js → xterm-DgGqTfet.js} +0 -0
- /package/dist/assets/{xterm-addon-fit-CPcVj1i5.js → xterm-addon-fit-BVObYBMM.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./button-Dy5001j6.js";import{u as t}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as n}from"./jsx-runtime-D3ZM-ToX.js";import{u as r}from"./routes-
|
|
1
|
+
import{t as e}from"./button-Dy5001j6.js";import{u as t}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as n}from"./jsx-runtime-D3ZM-ToX.js";import{u as r}from"./routes-D9sNqB_o.js";import{t as i}from"./onboarding-layout-DLs1hfp_.js";var a=n();function o(){let n=t();return(0,a.jsx)(i,{children:(0,a.jsx)(`div`,{className:`mx-auto flex min-h-screen w-full max-w-xl flex-col items-center px-6 pb-40 text-[var(--content-default)]`,children:(0,a.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center`,children:[(0,a.jsx)(`h1`,{className:`text-3xl font-semibold tracking-tight`,style:{animation:`fadeInUp 0.5s ease-out 0.1s both`},children:`Welcome to Vellum`}),(0,a.jsx)(`p`,{className:`mt-3 text-center text-body-medium-lighter text-[var(--content-tertiary)]`,style:{animation:`fadeInUp 0.5s ease-out 0.3s both`},children:`Your own personal intelligence is just a step away.`}),(0,a.jsx)(`div`,{className:`mt-10 flex w-full max-w-sm flex-col`,style:{animation:`fadeInUp 0.5s ease-out 0.5s both`},children:(0,a.jsx)(e,{variant:`primary`,size:`regular`,fullWidth:!0,className:`h-11 text-base`,onClick:()=>void n(r.onboarding.privacy),children:`Create your assistant`})})]})})})}export{o as StartScreen};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-Dy5001j6.js";import{t as r}from"./jsx-runtime-D3ZM-ToX.js";import{t as i}from"./typography-DEI9Ra9z.js";import{t as a}from"./arrow-down-to-line-Bh_5sIPp.js";import{t as o}from"./arrow-left-C2ylPLHq.js";import{n as s,r as c,t as l}from"./metric-card-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-Dy5001j6.js";import{t as r}from"./jsx-runtime-D3ZM-ToX.js";import{t as i}from"./typography-DEI9Ra9z.js";import{t as a}from"./arrow-down-to-line-Bh_5sIPp.js";import{t as o}from"./arrow-left-C2ylPLHq.js";import{n as s,r as c,t as l}from"./metric-card-05a5slPx.js";import{h as u,vt as d}from"./risk-CdT92Vqr.js";import{t as f}from"./brain-BIzJCPA6.js";import{t as p}from"./chevron-down-B5A-0g8A.js";import{t as m}from"./chevron-right-HU6H84S0.js";import{t as h}from"./globe-CMtjL_s_.js";import{t as g}from"./x-JBAsSOmg.js";import"./src-te3YTBG-.js";import{t as _}from"./chat-markdown-message-rxPKNeTx.js";import{a as v,i as y,r as b}from"./subagent-store-MDi6lBXs.js";import{t as x}from"./misc-CuYswARt.js";import{t as S}from"./proxy-D7UPVac3.js";import{t as C}from"./AnimatePresence-DPfyu3ET.js";import{t as w}from"./use-reduced-motion-W1fCe3vS.js";import{S as T,a as E,b as D,c as O,d as k,f as A,i as j,l as M,m as N,n as P,o as F,p as I,r as L,t as R,u as z}from"./site-favicon-BB1pYWLF.js";import{t as B}from"./three-dot-indicator-BMvKQ_On.js";import{t as V}from"./avatar-renderer-ClUVcQmf.js";import{n as H}from"./use-bundled-avatar-components-Bbs4vCnX.js";import{t as U}from"./avatar-subagent-CRA2B82x.js";import{i as ee,r as W,t as G}from"./use-subagent-card-data-DHuNtSy9.js";import{t as te}from"./status-badge-pill-wJPMXQk1.js";import{CodeBlock as K,ToolDetailBody as q}from"./tool-detail-panel-DFrWEWKG.js";import{t as J}from"./detail-panel-stop-button-BNuh6N0s.js";var Y=e(t(),1),X=r();function Z({status:e}){return(0,X.jsx)(te,{color:y(e),label:v(e)})}function ne(e,t){let n=e.steps[0];return`${t}-${e.label}-${n?A(n,t):``}`}function re(e){for(let t=e.steps.length-1;t>=0;t--){let n=e.steps[t];if(n.kind===`tool`&&n.status===`running`||n.kind===`web_search`&&n.title===`Searching the web`)return n}}function ie(e,t){return e&&e.kind===`tool`&&(e.activity||e.info)||t}function ae(e){for(let t=e.steps.length-1;t>=0;t--){let n=e.steps[t];if(n.kind===`web_search`&&n.query)return n.query}}function oe(e){for(let t=e.steps.length-1;t>=0;t--){let n=e.steps[t];if(n.kind===`thinking`&&n.text)return n.text}}function Q(e){if(e.kind===`tool`)return e.toolCallId||void 0;if(e.kind===`thinking`||e.kind===`web_search`||e.kind===`web_search_error`)return e.detailKey}function se({steps:e,onStepDetailClick:t,expandedKeys:n,onExpandedKeysChange:r,isRunning:i=!1}){let[a,o]=(0,Y.useState)(new Set),s=n??a,c=(0,Y.useCallback)(e=>{let t=t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n};if(r){r(t);return}o(t)},[r]),l=(0,Y.useMemo)(()=>z(e),[e]);return l.length===0?null:(0,X.jsx)(`div`,{className:`flex w-full flex-col`,children:l.map((e,n)=>{let r=ne(e,n),a=n===l.length-1;return(0,X.jsx)(ce,{section:e,isLast:a,isActiveTail:a&&i,expanded:s.has(r),sectionKeyValue:r,onToggle:c,onStepDetailClick:t},r)})})}var ce=(0,Y.memo)(function({section:e,isLast:t,isActiveTail:n,expanded:r,sectionKeyValue:a,onToggle:o,onStepDetailClick:s}){let c=w(),l=k(e.steps),u=l===`running`&&!n?`completed`:l,d=u===`running`||n,p=e.steps[0]?.kind===`thinking`,m=e.steps.length,g=e.label===`Searching the web`,_=g?ae(e):void 0,v=m>=2,y=e.steps.some(e=>I(e)||!!s&&!!Q(e)),b=u===`running`?``:N(e.steps.map(e=>`durationLabel`in e?e.durationLabel:``)),D=u===`running`?re(e):void 0,F=u===`running`&&!g?ie(D,e.label):``,R=g&&(u===`running`||!!_),z=_??e.label,B=p&&d,V=B?oe(e)??e.label:void 0,H=u===`running`||R||B||!!b,U=`${m} step${m===1?``:`s`}`;return(0,X.jsxs)(`div`,{"data-testid":`subagent-phase-section`,"data-phase-label":e.label,className:x(`relative flex flex-col gap-2`,!t&&`pb-4`),children:[!t&&(0,X.jsx)(O,{className:`top-[17.5px] -bottom-[4.5px]`}),(0,X.jsxs)(`button`,{type:`button`,"data-testid":`subagent-phase-header`,disabled:!y,onClick:y?()=>o(a):void 0,className:x(`flex h-[22px] w-full items-center gap-2 text-left`,y&&`cursor-pointer`),children:[(0,X.jsx)(`span`,{"aria-hidden":!0,className:`flex h-[14px] w-[14px] shrink-0 items-center justify-center`,children:(0,X.jsx)(`span`,{className:`h-[5px] w-[5px] rounded-full bg-[var(--content-disabled)]`})}),(0,X.jsx)(M,{status:d?`running`:u,isThinking:p&&!d}),(0,X.jsx)(i,{variant:`body-medium-default`,className:`shrink-0 text-[var(--content-default)]`,children:e.label}),H&&(0,X.jsx)(`span`,{"aria-hidden":!0,className:`shrink-0 leading-none text-[var(--content-tertiary)] opacity-10`,children:`|`}),R?(0,X.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-1`,children:[(0,X.jsx)(h,{"aria-hidden":`true`,className:`h-3.5 w-3.5 shrink-0 text-[var(--content-tertiary)]`}),(0,X.jsx)(T,{currentStepTitle:``,currentStepInfo:z})]}):B?(0,X.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-1`,children:[(0,X.jsx)(f,{"aria-hidden":`true`,className:`h-3.5 w-3.5 shrink-0 text-[var(--content-tertiary)]`}),(0,X.jsx)(T,{currentStepTitle:``,currentStepInfo:V??e.label})]}):u===`running`?(0,X.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-1`,children:[(0,X.jsx)(f,{"aria-hidden":`true`,className:`h-3.5 w-3.5 shrink-0 text-[var(--content-tertiary)]`}),(0,X.jsx)(T,{currentStepTitle:``,currentStepInfo:F})]}):b?(0,X.jsx)(i,{variant:`body-small-default`,className:`min-w-0 truncate text-[var(--content-tertiary)]`,children:`Worked for ${b}`}):null,y&&v&&(0,X.jsx)(`span`,{"data-testid":`subagent-phase-step-count`,className:`ml-auto inline-flex shrink-0 items-center self-stretch whitespace-nowrap rounded-full bg-[var(--surface-base)] px-2`,children:(0,X.jsx)(i,{variant:`body-small-default`,className:`whitespace-nowrap text-[var(--content-secondary)]`,children:U})})]}),(0,X.jsx)(C,{initial:!1,children:y&&r&&(0,X.jsx)(S.div,{initial:{height:0,opacity:0},animate:{height:`auto`,opacity:1},exit:{height:0,opacity:0},transition:c?{duration:0}:{duration:.25,ease:[.16,1,.3,1]},className:`overflow-hidden`,children:(0,X.jsx)(`div`,{className:`flex flex-col items-start gap-1 pl-[22px]`,children:e.steps.map((e,t)=>{let n=s?Q(e):void 0;if(n&&s){if(e.kind===`tool`)return(0,X.jsx)(j,{variant:`tool`,iconName:e.iconName,label:e.activity||e.info||e.title,ariaLabel:`View tool details`,onClick:()=>s(n)},A(e,t));if(e.kind===`thinking`)return(0,X.jsx)(j,{variant:`tool`,iconName:`brain`,label:e.text,ariaLabel:`View reasoning`,onClick:()=>s(n)},A(e,t));if(e.kind===`web_search`)return(0,X.jsx)(j,{variant:`tool`,iconName:`globe`,label:e.query||e.title,ariaLabel:`View search details`,onClick:()=>s(n)},A(e,t));if(e.kind===`web_search_error`)return(0,X.jsx)(j,{variant:`tool`,iconName:`globe`,label:e.errorMessage,ariaLabel:`View search error`,onClick:()=>s(n)},A(e,t))}return e.kind===`web_search`?(0,X.jsxs)(`div`,{className:`flex w-full flex-col gap-1`,children:[e.query?(0,X.jsx)(i,{variant:`body-small-default`,className:`text-[var(--content-secondary)]`,children:`"${e.query}"`}):null,(0,X.jsx)(L,{step:e})]},A(e,t)):e.kind===`web_search_error`?(0,X.jsx)(P,{step:e},A(e,t)):(0,X.jsx)(E,{step:e},A(e,t))})})},`phase-steps`)})]})}),le=`
|
|
2
2
|
Content:
|
|
3
3
|
`;function ue(e){return D(e)||e}function de(e,t){let n=e??``,r=n.indexOf(le),i=r>=0?n.slice(0,r):``,a=r>=0?n.slice(r+10):n,o=e=>{let t=i.match(RegExp(`^${e}:[ \\t]*(.+)$`,`m`));return t?t[1].trim():null},s=[],c=i.indexOf(`Notices:`);if(c>=0)for(let e of i.slice(c).split(`
|
|
4
4
|
`)){let t=e.match(/^\s*-\s+(.*)$/);t&&t[1].trim()&&s.push(t[1].trim())}a=a.trim();let l=null,u=a.match(/^<external_content\b([^>]*)>\s*/);if(u){let e=u[1].match(/origin="([^"]+)"/);e&&(l=e[1]),a=a.slice(u[0].length).replace(/\s*<\/external_content>\s*$/,``)}return{url:o(`Final URL`)||o(`Requested URL`)||l||t||null,status:o(`Status`),notices:s,content:a.trim()}}function fe({url:e,status:t}){let n=ue(e),r=t?/^\s*2\d\d/.test(t):!1;return(0,X.jsxs)(`a`,{href:e,target:`_blank`,rel:`noopener noreferrer`,className:`flex items-center gap-2 rounded-lg border border-[var(--border-base)] bg-[var(--surface-overlay)] p-3 transition-colors hover:border-[var(--border-hover)]`,children:[(0,X.jsx)(R,{domain:n,title:n}),(0,X.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,X.jsx)(i,{variant:`body-medium-default`,as:`span`,className:`truncate text-[var(--content-default)]`,children:n}),(0,X.jsx)(i,{variant:`body-small-default`,as:`span`,className:`truncate text-[var(--content-tertiary)]`,children:e})]}),t&&(0,X.jsx)(`span`,{className:`shrink-0 rounded-[6px] px-2 py-0.5 text-body-small-emphasised ${r?`text-[var(--system-positive-strong)]`:`text-[var(--content-tertiary)]`}`,children:t})]})}function pe({detail:e}){let[t,n]=(0,Y.useState)(!1),r=typeof e.input?.url==`string`?e.input.url:void 0,a=(0,Y.useMemo)(()=>de(e.result??``,r),[e.result,r]);return e.status===`error`?(0,X.jsx)(K,{text:e.result??`Fetch failed.`}):(0,X.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[a.url&&(0,X.jsx)(fe,{url:a.url,status:a.status}),a.notices.length>0&&(0,X.jsx)(`div`,{className:`flex flex-col gap-1 rounded-lg border border-[var(--border-base)] bg-[var(--surface-overlay)] p-3`,children:a.notices.map((e,t)=>(0,X.jsx)(i,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:e},t))}),(0,X.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,X.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,X.jsx)(i,{variant:`body-medium-default`,as:`h3`,className:`text-[var(--content-emphasised)]`,children:t?`Raw result`:`Content`}),e.result&&(0,X.jsx)(`button`,{type:`button`,onClick:()=>n(e=>!e),className:`cursor-pointer text-[var(--content-secondary)] transition-colors hover:text-[var(--content-default)]`,children:(0,X.jsx)(i,{variant:`label-small-default`,as:`span`,children:t?`View extracted`:`View raw`})})]}),t?(0,X.jsx)(K,{text:e.result??``}):a.content?(0,X.jsx)(_,{content:a.content}):(0,X.jsx)(i,{variant:`body-small-default`,className:`text-[var(--content-tertiary)]`,children:e.status===`running`?`Fetching…`:`No content extracted.`})]})]})}function me({detail:e}){let t=e.searchQuery??``,n=e.searchResults??[];return(0,X.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[t?(0,X.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,X.jsx)(i,{variant:`body-medium-default`,as:`h3`,className:`text-[var(--content-emphasised)]`,children:`Query`}),(0,X.jsx)(i,{variant:`body-medium-lighter`,as:`p`,className:`break-words leading-relaxed text-[var(--content-default)]`,children:`"${t}"`})]}):null,(0,X.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,X.jsx)(i,{variant:`body-medium-default`,as:`h3`,className:`text-[var(--content-emphasised)]`,children:n.length>0?`Sources (${n.length})`:`Sources`}),n.length>0?(0,X.jsx)(L,{step:{kind:`web_search`,title:`Searched the web`,durationLabel:``,linkCount:n.length,results:n}}):(0,X.jsx)(i,{variant:`body-small-default`,className:`text-[var(--content-tertiary)]`,children:`No sources found.`})]})]})}function $(e){return new Map(e.map(e=>[e.toolCallId,e]))}function he(e=G){let t=null,n=[],r=[],i=new Map;function a(a){let o=[],s=[];for(let t of a)e(o,s,t);return t=a,n=o,r=s,i=$(n),i}function o(o){let s=ee(t,o);switch(s.kind){case`identity`:return i;case`first`:return a(o);case`append`:{let a=o.length,c=n.slice(),l=r.slice();for(let t=s.from;t<a;t++)e(c,l,o[t]);return t=o,n=c,r=l,i=$(n),i}case`mutate-last`:{let a=o.length,s=n.slice(),c=r.slice(),l=s[s.length-1];return l&&l.kind===`thinking`&&l.toolCallId===o[a-1].id&&(s.pop(),c.pop()),e(s,c,o[a-1]),t=o,n=s,r=c,i=$(n),i}case`fallback`:return a(o)}}return{project:o}}function ge(e){let t=(0,Y.useRef)(null);return t.current??=he(),t.current.project(e)}function _e(e){return e.kind===`web_search`?`globe`:e.kind===`thinking`?`brain`:u(e.toolName,e.input).iconName}function ve({detail:e}){return e.status===`running`?(0,X.jsx)(B,{className:`shrink-0`,"data-testid":`nested-detail-running`}):(0,X.jsx)(F[_e(e)]??d,{"aria-hidden":!0,className:`h-5 w-5 shrink-0 text-[var(--content-secondary)]`})}function ye({entry:e,onClose:t,onStop:r,onRequestDetail:u}){let d=b(e.status),f=w(),h=H(),v=(0,Y.useMemo)(()=>U(e.subagentId),[e.subagentId]),{steps:y}=W(e.events),x=ge(e.events),[C,T]=(0,Y.useState)(null),E=(0,Y.useRef)(x);E.current=x;let D=(0,Y.useCallback)(e=>{E.current.has(e)&&T(e)},[]),[O,k]=(0,Y.useState)(new Set),[A,j]=(0,Y.useState)(!1),[M,N]=(0,Y.useState)(!1),P=(0,Y.useRef)(null),[F,I]=(0,Y.useState)(e.subagentId);F!==e.subagentId&&(I(e.subagentId),j(!1),N(!1),T(null),k(new Set)),(0,Y.useLayoutEffect)(()=>{if(A)return;let e=P.current;e&&N(e.scrollHeight>e.clientHeight)},[e.subagentId,e.objective,A]),(0,Y.useEffect)(()=>{u&&e.conversationId&&e.events.length===0&&u(e.subagentId)},[e.subagentId,e.conversationId,e.events.length,u]);let L=C?x.get(C):void 0,R=(0,Y.useCallback)(()=>T(null),[]),z=L?L.activity||L.title:``,B=L?z:e.label;return(0,X.jsxs)(`div`,{className:`flex h-full flex-col overflow-hidden rounded-xl bg-[var(--surface-lift)]`,children:[L&&(0,X.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 border-b border-[var(--border-hover)] px-5 py-3`,children:[(0,X.jsx)(`button`,{type:`button`,onClick:R,title:e.label,className:`min-w-0 shrink cursor-pointer truncate text-left text-[var(--content-default)] hover:underline`,children:(0,X.jsx)(i,{variant:`body-small-default`,as:`span`,children:e.label})}),(0,X.jsx)(m,{className:`h-2.5 w-2.5 shrink-0 text-[var(--content-tertiary)]`,"aria-hidden":!0}),(0,X.jsx)(i,{variant:`body-small-default`,as:`span`,title:z,className:`min-w-0 shrink truncate text-[var(--content-secondary)]`,children:z})]}),(0,X.jsxs)(`div`,{className:`flex shrink-0 items-center gap-3 border-b border-[var(--border-hover)] px-5 py-4`,children:[L&&(0,X.jsx)(n,{variant:`outlined`,iconOnly:(0,X.jsx)(o,{}),onClick:R,"aria-label":`Back to timeline`,tooltip:`Back`,className:`shrink-0 rounded-lg`}),L?(0,X.jsx)(ve,{detail:L}):h?(0,X.jsx)(V,{components:h,bodyShapeId:v.bodyShape,eyeStyleId:v.eyeStyle,colorId:v.color,size:32}):(0,X.jsx)(`div`,{style:{width:32,height:32,flexShrink:0},"aria-hidden":!0}),(0,X.jsx)(i,{variant:`title-medium`,title:B,className:`min-w-0 shrink truncate leading-snug text-[var(--content-default)]`,children:B}),(0,X.jsx)(Z,{status:e.status}),(0,X.jsx)(`span`,{className:`flex-1`}),d&&r&&(0,X.jsx)(J,{onStop:()=>r(e.subagentId),ariaLabel:`Stop subagent`}),(0,X.jsx)(n,{variant:`outlined`,iconOnly:(0,X.jsx)(g,{}),onClick:t,"aria-label":`Close subagent detail`,tooltip:`Close`,className:`shrink-0 rounded-lg`})]}),(0,X.jsx)(`div`,{className:`flex-1 overflow-y-auto px-5 py-5`,children:(0,X.jsx)(S.div,{initial:{opacity:0},animate:{opacity:1},transition:f?{duration:0}:{duration:.18,ease:[.16,1,.3,1]},children:L?(0,X.jsx)(X.Fragment,{children:L.kind===`thinking`?(0,X.jsx)(_,{content:L.thinkingText??``,hardLineBreaks:!0}):L.kind===`web_search`&&L.status!==`error`?(0,X.jsx)(me,{detail:L}):L.toolName===`web_fetch`?(0,X.jsx)(pe,{detail:L}):(0,X.jsx)(q,{detail:L})}):(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(`div`,{className:`mb-5 grid grid-cols-2 gap-3`,children:[(0,X.jsx)(l,{icon:(0,X.jsx)(a,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),target:e.inputTokens,format:e=>s(Math.round(e)),label:`Input`}),(0,X.jsx)(l,{icon:(0,X.jsx)(c,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),target:e.outputTokens,format:e=>s(Math.round(e)),label:`Output`})]}),e.objective&&(0,X.jsxs)(`div`,{className:`mb-5`,children:[(0,X.jsx)(i,{variant:`body-medium-default`,as:`h3`,className:`mb-2 text-[var(--content-emphasised)]`,children:`Objective`}),(0,X.jsx)(i,{ref:P,variant:`body-medium-lighter`,as:`p`,tabIndex:A?0:void 0,role:A?`region`:void 0,"aria-label":A?`Objective`:void 0,className:`whitespace-pre-wrap break-words leading-relaxed text-[var(--content-default)] ${A?`max-h-[280px] overflow-y-auto`:`line-clamp-5`}`,children:e.objective}),M&&(0,X.jsxs)(`button`,{type:`button`,onClick:()=>j(e=>!e),className:`mt-1.5 flex cursor-pointer items-center gap-1 text-[var(--content-secondary)] transition-colors hover:text-[var(--content-default)]`,children:[(0,X.jsx)(i,{variant:`label-small-default`,children:A?`Show less`:`Show more`}),(0,X.jsx)(p,{className:`h-3.5 w-3.5 transition-transform ${A?`rotate-180`:``}`,"aria-hidden":!0})]}),(0,X.jsx)(`div`,{className:`mt-5 h-px w-full bg-[var(--border-hover)]`})]}),(0,X.jsxs)(`div`,{children:[(0,X.jsx)(i,{variant:`title-medium`,as:`h3`,className:`mb-4 text-[var(--content-emphasised)]`,children:`Timeline`}),e.events.length>0?(0,X.jsx)(se,{steps:y,expandedKeys:O,onExpandedKeysChange:k,onStepDetailClick:D,isRunning:d},e.subagentId):(0,X.jsx)(i,{variant:`body-small-default`,className:`py-4 text-center text-[var(--content-tertiary)]`,children:`No events yet`})]})]})},L?`detail`:`list`)})]})}export{ye as SubagentDetailPanel};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{t as e}from"./capture-error-Bj8_eutd.js";import{n as t,t as n}from"./create-selectors-Qo7kcikX.js";import{m as r}from"./api-C3QSs67k.js";import{n as i}from"./resolved-assistants-store-Dw5UuGyB.js";import{br as a,xr as o}from"./sdk.gen-BHZ0fJla.js";import{t as s}from"./conversation-store-C--wWMNW.js";import{t as c}from"./by-tool-use-id-index-M50wYE1f.js";function l(e){return e===`running`||e===`pending`||e===`awaiting_input`}function u(e){switch(e){case`completed`:return`var(--system-positive-strong)`;case`failed`:case`aborted`:case`interrupted`:return`var(--system-negative-strong)`;default:return`var(--primary-base)`}}function d(e){switch(e){case`pending`:return`Pending`;case`running`:return`Running`;case`awaiting_input`:return`Awaiting Input`;case`completed`:return`Completed`;case`failed`:return`Failed`;case`aborted`:return`Aborted`;case`interrupted`:return`Interrupted`;default:return`Unknown`}}async function f(t,n,i){try{let{data:a,response:s}=await o({path:{assistant_id:t,id:n},query:{conversationId:i},throwOnError:!1});if(!s||!s.ok||!a)return null;let c=r.safeParse(a);return c.success?c.data:(e(c.error,{context:`fetchSubagentDetail`}),null)}catch(t){return e(t,{context:`fetchSubagentDetail`}),null}}function p(e){let t=0,n=[];for(let r of e){let e;switch(r.type){case`text`:case`assistant_text_delta`:e=`text`;break;case`tool_use`:case`tool_use_start`:e=`tool_call`;break;case`tool_result`:e=`tool_result`;break;case`error`:e=`error`;break;default:continue}let i=r.content;if(e===`text`&&i===``)continue;let a=n[n.length-1];if(e===`text`&&a&&a.type===`text`){a.content+=`
|
|
2
|
+
|
|
3
|
+
`+i;continue}n.push({id:`detail-${++t}`,type:e,content:i,toolName:r.toolName,isError:r.isError,toolUseId:r.toolUseId,input:r.input,timestamp:Date.now()})}return n}var m=[],h={byId:{},orderedIds:[],terminalUsageIds:new Set,byParent:new Map,byToolUseId:new Map,fetchedAt:new Map};function g(e){let t=[];return e.parentMessageStableId&&t.push(e.parentMessageStableId),e.parentMessageId&&e.parentMessageId!==e.parentMessageStableId&&t.push(e.parentMessageId),t}function _(e,t){let n=g(t);if(n.length===0)return e;let r=new Map(e);for(let e of n){let n=[...r.get(e)??[],t];n.sort((e,t)=>e.spawnedAt-t.spawnedAt),r.set(e,n)}return r}function v(e,t,n,r){let i=new Map(e),a=i.get(t);a&&i.set(t,a.map(e=>r.get(e.subagentId)??e));let o=[...i.get(n)??[]];for(let e of r.values()){let t=o.findIndex(t=>t.subagentId===e.subagentId);t===-1?o.push(e):o[t]=e}return o.sort((e,t)=>e.spawnedAt-t.spawnedAt),i.set(n,o),i}function y(e){if(e.isError)return`error`;switch(e.type){case`assistant_text_delta`:case`message_complete`:return`text`;case`tool_use_start`:return`tool_call`;case`tool_result`:return`tool_result`;default:return`text`}}var b=[`command`,`file_path`,`path`,`query`,`url`,`pattern`,`glob`];function x(e){for(let t of b){let n=e[t];if(typeof n==`string`)return n.length>120?n.slice(0,117)+`...`:n}return``}function S(e){let t=e.activityMetadata?.webSearch?.query;return typeof t==`string`&&t.length>0?t:void 0}var C=0;function w(){return`te-${++C}`}var T=n(t()((e,t)=>({...h,spawnSubagent:n=>{let{byId:r,orderedIds:i}=t();if(r[n.subagentId])return;let a={subagentId:n.subagentId,label:n.label,objective:n.objective,status:n.status??`pending`,isFork:n.isFork??!1,error:n.error,inputTokens:0,outputTokens:0,totalCost:0,spawnedAt:n.timestamp,events:[],conversationId:n.conversationId,parentMessageStableId:n.parentMessageStableId,parentMessageId:n.parentMessageId,parentToolUseId:n.parentToolUseId},o={...r,[n.subagentId]:a},s=c(t().byToolUseId,n.parentToolUseId,n.subagentId);e({byId:o,orderedIds:[...i,n.subagentId],byParent:_(t().byParent,a),byToolUseId:s})},ensureEntry:n=>{let r=t().byId[n.subagentId];if(r){n.conversationId&&!r.label&&!r.conversationId&&!r.hydrationPending&&r.events.length===0&&e({byId:{...t().byId,[n.subagentId]:{...r,conversationId:n.conversationId,hydrationPending:!0}}});return}if(t().spawnSubagent({subagentId:n.subagentId,label:n.label??``,objective:``,status:n.status??`running`,conversationId:n.conversationId,timestamp:n.timestamp,parentToolUseId:n.parentToolUseId}),n.conversationId){let{byId:r}=t(),i=r[n.subagentId];i&&e({byId:{...r,[n.subagentId]:{...i,hydrationPending:!0}}})}},changeStatus:n=>{let{byId:r}=t(),i=r[n.subagentId];i&&(e({byId:{...r,[n.subagentId]:{...i,status:n.status,error:n.error??i.error,inputTokens:n.inputTokens||i.inputTokens,outputTokens:n.outputTokens||i.outputTokens,totalCost:n.totalCost||i.totalCost}}}),!l(n.status)&&(n.inputTokens!=null||n.outputTokens!=null||n.totalCost!=null)&&t().terminalUsageIds.add(n.subagentId))},receiveEvent:n=>{let{byId:r}=t(),i=r[n.subagentId];if(!i||i.hydrationPending)return;let a=y(n.event),o;if(o=n.event.type===`tool_use_start`&&n.event.input?x(n.event.input):n.event.content??n.event.text??n.event.result??``,a===`text`&&n.event.type===`assistant_text_delta`){let t=i.events[i.events.length-1];if(t&&t.type===`text`){let a=[...i.events];a[a.length-1]={...t,content:t.content+o},e({byId:{...r,[n.subagentId]:{...i,events:a}}});return}if(!o)return}if(n.event.type===`message_complete`)return;let s={id:w(),type:a,content:o,toolName:n.event.toolName,isError:n.event.isError,timestamp:n.timestamp,toolUseId:n.event.toolUseId,input:n.event.type===`tool_use_start`?n.event.input:void 0,result:n.event.type===`tool_result`?n.event.result??n.event.content??n.event.text:void 0,searchQuery:S(n.event)};e({byId:{...r,[n.subagentId]:{...i,events:[...i.events,s]}}})},loadDetail:n=>{let{byId:r}=t(),i=r[n.subagentId];if(!i)return;let a=i.parentToolUseId??n.parentToolUseId,o=a&&!i.parentToolUseId?c(t().byToolUseId,a,n.subagentId):t().byToolUseId;e({byId:{...r,[n.subagentId]:{...i,label:i.label||(n.label??``),parentToolUseId:a,status:n.status??i.status,objective:n.objective??i.objective,inputTokens:n.inputTokens??i.inputTokens,outputTokens:n.outputTokens??i.outputTokens,totalCost:n.totalCost??i.totalCost,events:n.events.length>0&&i.events.length===0?n.events:i.events,hydrationPending:!1}},byToolUseId:o})},setConversationId:(n,r)=>{let{byId:i}=t(),a=i[n];a&&e({byId:{...i,[n]:{...a,conversationId:r}}})},reanchorToMessage:({stableId:n,messageId:r})=>{if(n===r)return;let{byId:i}=t(),a=new Map;for(let e of Object.values(i))e.parentMessageStableId===n&&e.parentMessageId!==r&&a.set(e.subagentId,{...e,parentMessageId:r});if(a.size===0)return;let o={...i};for(let[e,t]of a)o[e]=t;e({byId:o,byParent:v(t().byParent,n,r,a)})},updateUsage:n=>{let{byId:r,terminalUsageIds:i}=t();if(i.has(n.subagentId))return;let a=r[n.subagentId];a&&e({byId:{...r,[n.subagentId]:{...a,inputTokens:a.inputTokens+n.inputTokens,outputTokens:a.outputTokens+n.outputTokens,totalCost:a.totalCost+n.estimatedCost}}})},fetchDetailIfNeeded:async(n,r)=>{let{byId:i,fetchedAt:a}=t(),o=i[r];if(!o?.conversationId||o.events.length>0)return;let s=a.get(r);if(s!==void 0&&s>=o.spawnedAt)return;let c=new Map(a);c.set(r,o.spawnedAt),e({fetchedAt:c});let l=await f(n,r,o.conversationId),u=()=>{let n=new Map(t().fetchedAt);n.delete(r),e({fetchedAt:n})};if(!l){u();let n=t().byId[r];n?.hydrationPending&&e({byId:{...t().byId,[r]:{...n,hydrationPending:!1}}});return}let d=p(l.events);d.length===0&&u(),t().loadDetail({subagentId:r,status:l.status,objective:l.objective,inputTokens:l.usage?.inputTokens,outputTokens:l.usage?.outputTokens,totalCost:l.usage?.estimatedCost,events:d,label:l.label,parentToolUseId:l.parentToolUseId})},abortSubagent:async e=>{let t=i.getState().activeAssistantId,n=s.getState().activeConversationId;if(!(!t||!n))try{await a({path:{assistant_id:t,id:e},body:{conversationId:n},throwOnError:!0})}catch{}},reset:()=>e({byId:{},orderedIds:[],terminalUsageIds:new Set,byParent:new Map,byToolUseId:new Map,fetchedAt:new Map})})));export{d as a,u as i,T as n,l as r,m as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{o as t,t as n}from"./local-settings-C-dW2vkq.js";import{t as r}from"./react-BFJW0bSv.js";import{F as i,t as a}from"./button-Dy5001j6.js";import{l as o,m as s,u as c}from"./chunk-5KNZJZUH-Bsoom5--.js";import{n as l}from"./QueryClientProvider-CMu7CkQU.js";import{t as u}from"./useQuery-Bz-fbQ-m.js";import{t as d}from"./useMutation-CXGTrp4W.js";import{t as f}from"./jsx-runtime-D3ZM-ToX.js";import{t as p}from"./card-DRIctGVs.js";import{t as m}from"./createLucideIcon-CAM1RhH8.js";import{t as h}from"./arrow-down-to-line-Bh_5sIPp.js";import{t as g}from"./arrow-left-C2ylPLHq.js";import{a as _,i as v,n as y,o as b,r as x,s as S,t as ee}from"./use-skill-actions-DgK7Nmt1.js";import{t as C}from"./brain-BIzJCPA6.js";import{n as w,t as T}from"./settings-CfuLzwIw.js";import{t as E}from"./check-sC49_hjU.js";import{n as D,r as O,t as te}from"./invalidate-plugin-queries-DamxiwYv.js";import{t as k}from"./circle-check-big-DSsDH5_6.js";import{t as ne}from"./cloud-off-BCBGTmt0.js";import{t as re}from"./code-qafFA0_-.js";import{t as ie}from"./download-CywcQLB2.js";import{t as A}from"./external-link-CS0aVYGt.js";import{t as j}from"./globe-CMtjL_s_.js";import{t as ae}from"./hard-drive-DWFPKcXI.js";import{t as M}from"./heart-789ajxtB.js";import{t as N}from"./layout-grid-DA_CfD6d.js";import{t as oe}from"./link-2-BKL8QWRX.js";import{t as P}from"./loader-circle-XREx3i4W.js";import{t as se}from"./mail-CMdPNysl.js";import{t as ce}from"./message-circle-BsH7vHtN.js";import{t as le}from"./mic-xmDFUbCL.js";import{t as ue}from"./puzzle-BVC3TGko.js";import{t as de}from"./search-BVW-n8to.js";import{t as fe}from"./sparkles-Ccrj7hxd.js";import{t as pe}from"./terminal-CdCI6wMV.js";import{t as F}from"./trash-2-L5LNgw9o.js";import{t as me}from"./triangle-alert-CQfiAg_t.js";import{t as he}from"./user-_zNqL48O.js";import{t as ge}from"./x-JBAsSOmg.js";import{n as I,t as _e}from"./installed-plugins-query-C29LGAEV.js";import"./src-D89CNeuT.js";import{t as L}from"./tag-NXcyiTkK.js";import{t as ve}from"./popover-BRpYVASI.js";import{t as ye}from"./input-hw3el2GJ.js";import{t as be}from"./toggle-lfnhEAcN.js";import{n as R,t as xe}from"./panel-item-CrtoJCrd.js";import{n as z}from"./toast-LgLp4obE.js";import{t as Se}from"./confirm-dialog-UYFm4osC.js";import{t as Ce}from"./file-markdown-CLmQTpqL.js";import{Bn as we,Ln as B,Rn as Te,Un as Ee}from"./sdk.gen-BVAVE6A_.js";import{St as De,an as Oe,at as ke,ct as Ae,in as je,rn as Me,rt as Ne,st as Pe,xt as Fe}from"./react-query.gen-r3I6j8-1.js";import{t as Ie}from"./assistant-identity-store-DIyVo8LV.js";import{r as V}from"./utils-CnB60ZJN.js";import{u as Le}from"./routes-vE-2hncW.js";import{n as Re}from"./use-is-mobile-Bz2l7wPL.js";import{t as H}from"./misc-DckBb5zz.js";import{t as ze}from"./plugins-surface-D4i2vqBz.js";import{t as U}from"./use-active-assistant-id-Cjbsk2Q3.js";import{n as Be,r as Ve}from"./skills-C1CAcW7T.js";var He=m(`funnel`,[[`path`,{d:`M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z`,key:`sc7q7i`}]]),Ue=m(`palette`,[[`path`,{d:`M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z`,key:`e79jfc`}],[`circle`,{cx:`13.5`,cy:`6.5`,r:`.5`,fill:`currentColor`,key:`1okk4w`}],[`circle`,{cx:`17.5`,cy:`10.5`,r:`.5`,fill:`currentColor`,key:`f64h9f`}],[`circle`,{cx:`6.5`,cy:`12.5`,r:`.5`,fill:`currentColor`,key:`qy21gx`}],[`circle`,{cx:`8.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`fotxhn`}]]),W=e(r(),1),G=f(),We={sm:`h-7 w-7`,md:`h-8 w-8 text-3xl`};function K({external:e=!1,icon:t,iconSrc:n,size:r=`sm`,className:i}){let[a,o]=(0,W.useState)(!1);(0,W.useEffect)(()=>{o(!1)},[n]);let s=t||(e?`📦`:`🧩`),c=!!n&&!a;return(0,G.jsx)(`span`,{className:H(`flex shrink-0 items-center justify-center`,We[r],i),children:c?(0,G.jsx)(`img`,{src:n,alt:``,"aria-hidden":!0,loading:`lazy`,className:`h-full w-full object-contain`,onError:()=>o(!0)}):s})}var Ge=e=>`Remove "${e}" from this assistant?`,Ke=e=>`"${e}" has local edits that will be overwritten by the upgrade. Continue?`,qe=`Upgrade anyway`,Je=`Failed to install plugin. Please try again.`,Ye=`Failed to remove plugin. Please try again.`,Xe=`Failed to upgrade plugin. Please try again.`,Ze=`Failed to update plugin. Please try again.`;function Qe(e,t){let n=e.map(e=>({name:e.name,description:e.description??void 0,status:`installed`,external:void 0,version:e.version??void 0,path:e.path,issues:e.issues,enabled:e.enabled,icon:e.icon,hasIcon:e.hasIcon,iconVersion:e.iconVersion})),r=new Set(n.map(e=>e.name)),i=t.filter(e=>!r.has(e.name)).map(e=>({name:e.name,description:e.description,status:`available`,external:!0,path:e.path}));return[...n,...i]}function $e(e,t){let n=t.trim().toLowerCase();return n?[e.name,e.description].some(e=>e?.toLowerCase().includes(n)):!0}function et(e){return[...e].sort((e,t)=>{let n=e.status===`installed`;return n===(t.status===`installed`)?e.name.localeCompare(t.name,void 0,{sensitivity:`base`}):n?-1:1})}function tt(e,t){switch(t){case`all`:return e;case`available`:return e.filter(e=>e.status===`available`);case`installed`:return e.filter(e=>e.status===`installed`);case`active`:return e.filter(e=>e.status===`installed`&&e.enabled!==!1);case`off`:return e.filter(e=>e.status===`installed`&&e.enabled===!1)}}function nt(e){return e?e.slice(0,7):`unknown`}function q({plugin:e,surfaces:t=null,className:n}){let r=[{label:`Source`,value:e.source?.kind===`github`?e.source.repo:`Local`,href:(e.source?.kind===`github`?`https://github.com/${e.source.repo}`:null)??void 0}];return e.homepage&&r.push({label:`Homepage`,value:e.homepage,href:e.homepage}),e.license&&r.push({label:`License`,value:e.license}),t&&(t.skills.length>0&&r.push({label:`Skills`,value:String(t.skills.length)}),t.hooks.length>0&&r.push({label:`Hooks`,value:String(t.hooks.length)}),t.tools.length>0&&r.push({label:`Tools`,value:String(t.tools.length)})),(0,G.jsx)(`dl`,{className:H(`mb-5 grid gap-x-6 gap-y-2 border-b pb-5 sm:grid-cols-[max-content_1fr]`,n),style:{borderColor:`var(--border-base)`},children:r.map(e=>(0,G.jsxs)(`div`,{className:`contents`,children:[(0,G.jsx)(`dt`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:e.label}),(0,G.jsx)(`dd`,{className:`min-w-0 truncate text-body-small-default`,style:{color:`var(--content-secondary)`},children:e.href?(0,G.jsxs)(`a`,{href:e.href,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-1 underline`,style:{color:`var(--primary-base, #60a5fa)`},children:[e.value,(0,G.jsx)(A,{className:`h-3 w-3`,"aria-hidden":!0})]}):e.value})]},e.label))})}function rt({plugin:e,drift:t,onInstall:n,onRemove:r,onUpgrade:i,isInstalling:o,isRemoving:s,isUpgrading:c,hasLocalEdits:l,enabled:u,onToggle:d,isToggling:f}){let[p,m]=(0,W.useState)(!1),[g,_]=(0,W.useState)(!1),v=e.installed??!1,y=e.artifact??null,b=t?.status===`update-available`,x=b?`Upgrade ${nt(t?.local?.commit??null)} → ${nt(t?.remote?.commit??null)}`:void 0;return(0,G.jsxs)(G.Fragment,{children:[v?(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 md:flex-nowrap md:shrink-0`,children:[u!==void 0&&d?(0,G.jsx)(be,{label:`Auto-include in chat`,checked:u,onChange:()=>d(),disabled:f}):null,y?(0,G.jsx)(a,{asChild:!0,leftIcon:(0,G.jsx)(ie,{"aria-hidden":!0}),children:(0,G.jsx)(`a`,{href:y.url,download:!0,children:y.label??`Download`})}):null,b?(0,G.jsx)(a,{type:`button`,onClick:()=>{if(l){_(!0);return}i()},disabled:c,title:x,leftIcon:c?(0,G.jsx)(P,{className:`animate-spin`,"aria-hidden":!0}):(0,G.jsx)(O,{"aria-hidden":!0}),children:`Upgrade`}):null,(0,G.jsx)(a,{type:`button`,variant:`dangerOutline`,onClick:()=>m(!0),disabled:s,leftIcon:s?(0,G.jsx)(P,{className:`animate-spin`,"aria-hidden":!0}):(0,G.jsx)(F,{"aria-hidden":!0}),children:`Remove`})]}):(0,G.jsx)(a,{type:`button`,onClick:n,disabled:o,leftIcon:o?(0,G.jsx)(P,{className:`animate-spin`,"aria-hidden":!0}):(0,G.jsx)(h,{"aria-hidden":!0}),children:`Install`}),(0,G.jsx)(Se,{open:p,title:`Remove plugin`,message:Ge(e.name),confirmLabel:`Remove`,destructive:!0,onConfirm:()=>{m(!1),r()},onCancel:()=>m(!1)}),(0,G.jsx)(Se,{open:g,title:`Upgrade plugin`,message:Ke(e.name),confirmLabel:qe,destructive:!0,onConfirm:()=>{_(!1),i()},onCancel:()=>_(!1)})]})}function it(){return(0,G.jsx)(`div`,{className:`flex items-center justify-center py-12`,children:(0,G.jsx)(P,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})})}function J(){return(0,G.jsxs)(`div`,{className:`flex flex-col items-center justify-center gap-2 py-12 text-center`,style:{color:`var(--content-tertiary)`},children:[(0,G.jsx)(me,{className:`h-6 w-6`,"aria-hidden":!0}),(0,G.jsx)(`p`,{className:`text-body-medium-default`,children:`We couldn't load this plugin.`}),(0,G.jsx)(`p`,{className:`text-body-small-default`,children:`It may not exist, or your assistant may be on an older build.`})]})}function at({isInstallError:e,isRemoveError:t,isUpgradeError:n}){let r=e?Je:t?Ye:n?Xe:null;return r?(0,G.jsxs)(`div`,{className:`mb-3 flex items-center gap-2 rounded px-3 py-2 text-body-small-default`,style:{backgroundColor:`var(--surface-secondary)`,color:`var(--content-warning, var(--content-tertiary))`},role:`alert`,children:[(0,G.jsx)(me,{className:`h-4 w-4 shrink-0`,"aria-hidden":!0}),r]}):null}function ot({external:e,className:t}){let n=e?{label:`External`,icon:j}:{label:`Local`,icon:ae};return(0,G.jsx)(L,{tone:`neutral`,leftIcon:(0,W.createElement)(n.icon),className:t,children:n.label})}function Y({onClick:e,isUpgrading:t=!1}={}){let n=(0,G.jsx)(L,{tone:`warning`,leftIcon:(0,W.createElement)(t?P:O,{className:t?`animate-spin`:void 0}),className:`shrink-0`,children:`Update available`});return e?(0,G.jsx)(`button`,{type:`button`,onClick:t=>{t.stopPropagation(),e()},disabled:t,"aria-label":`Upgrade plugin`,className:`shrink-0 rounded-[6px] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)] disabled:cursor-not-allowed`,children:n}):n}var st=300*1e3;function X({assistantId:e,name:t,enabled:n=!0}){return u({...ke({path:{assistant_id:e,name:t}}),enabled:!!e&&!!t&&n,staleTime:st,retry:!1})}function ct(e){let t=e?.local?.localChanges;return!!t&&t?.clean===!1}function lt(e,t,n){let r=l(),i=n?.onRemoved,a=u({...Ne({path:{assistant_id:e,name:t}}),enabled:!!e&&!!t}),o=X({assistantId:e,name:t,enabled:a.data?.installed??!1}).data,s=(0,W.useCallback)(()=>te(r,e,t),[e,t,r]),c=Oe({onSuccess:()=>{s(),z.success(`Installed ${t||`plugin`}`)}}),d=Me({onSuccess:()=>{s(),i?.()}}),f=je({onSuccess:e=>{s(),z.success(e.outcome===`already-up-to-date`?`${t||`Plugin`} is already up to date`:`Upgraded ${t||`plugin`} to ${nt(e.toCommit)}`)}});return{plugin:a.data??null,drift:o,isLoading:a.isLoading,isError:a.isError,install:()=>{c.mutate({path:{assistant_id:e},body:{name:t}})},remove:()=>{d.mutate({path:{assistant_id:e,name:t}})},upgrade:()=>{f.mutate({path:{assistant_id:e,name:t},body:{}})},isInstalling:c.isPending,isRemoving:d.isPending,isUpgrading:f.isPending,isInstallError:c.isError,isRemoveError:d.isError,isUpgradeError:f.isError,hasLocalEdits:ct(o)}}var ut=`0.10.5`;function dt(){return V(ut)}function Z(e,t,n,r){let i=dt(),{data:a}=u({queryKey:[`pluginIcon`,e,t,r],queryFn:async()=>{let{data:n,error:r}=await we({path:{assistant_id:e,name:t},parseAs:`blob`,throwOnError:!1});if(r||!(n instanceof Blob))throw Error(`Failed to load plugin icon`);return n},enabled:!!(i&&n&&r),staleTime:1/0,retry:!1}),[o,s]=(0,W.useState)(void 0);return(0,W.useEffect)(()=>{if(!a){s(void 0);return}let e=URL.createObjectURL(a);return s(e),()=>{URL.revokeObjectURL(e)}},[a]),o}function ft(e){let t=l(),n={queryKey:Pe({path:{assistant_id:e}})},r=(e,r)=>{t.setQueriesData(n,t=>t&&{...t,plugins:t.plugins.map(t=>t.name===e?{...t,enabled:r}:t)})},i=d({mutationFn:async({name:t,nextEnabled:n})=>{let r=await(n?Te({path:{assistant_id:e,name:t},throwOnError:!1}):B({path:{assistant_id:e,name:t},throwOnError:!1})),i=r.response?.status;if(r.response?.ok||i===409)return r;throw Error(`Plugin toggle failed (${i??`network error`})`)},onMutate:async({name:e,nextEnabled:i})=>{await t.cancelQueries(n),r(e,i)},onError:(e,{name:t,nextEnabled:n})=>{r(t,!n),z.error(Ze)},onSettled:(n,r,i)=>{te(t,e,i.name)}});return{toggle:(e,t)=>{i.mutate({name:e,nextEnabled:t})},togglingName:i.isPending?i.variables?.name??null:null}}function pt({assistantId:e,name:t,onBack:n,externalHint:r,enabled:i}){let{plugin:o,drift:s,isLoading:c,isError:l,install:u,remove:d,upgrade:f,isInstalling:m,isRemoving:h,isUpgrading:_,isInstallError:v,isRemoveError:y,isUpgradeError:b,hasLocalEdits:x}=lt(e,t,{onRemoved:n}),{toggle:S,togglingName:ee}=ft(e),C=Z(e,t,o?.hasIcon,o?.iconVersion);return(0,G.jsxs)(`div`,{className:`flex h-full min-h-0 flex-1 flex-col`,children:[(0,G.jsxs)(`div`,{className:`mb-4 flex items-start gap-3`,children:[(0,G.jsx)(a,{type:`button`,variant:`ghost`,iconOnly:(0,G.jsx)(g,{"aria-hidden":!0}),"aria-label":`Back to plugins`,onClick:n}),(0,G.jsx)(Q,{name:t,plugin:o,externalHint:r,iconSrc:C,drift:s,onInstall:u,onRemove:d,onUpgrade:f,isInstalling:m,isRemoving:h,isUpgrading:_,hasLocalEdits:x,enabled:i,onToggle:()=>S(t,!i),isToggling:ee===t})]}),(v||y||b)&&(0,G.jsx)(at,{isInstallError:v,isRemoveError:y,isUpgradeError:b}),(0,G.jsx)(p.Root,{asChild:!0,children:(0,G.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-6 py-5`,children:c?(0,G.jsx)(it,{}):l||!o?(0,G.jsx)(J,{}):(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(q,{plugin:o,surfaces:s?.surfaces??null}),o.readme?(0,G.jsx)(Ce,{content:o.readme}):(0,G.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`This plugin doesn't ship a README.`})]})})})]})}function Q({name:e,plugin:t,externalHint:n,iconSrc:r,drift:i,onInstall:a,onRemove:o,onUpgrade:s,isInstalling:c,isRemoving:l,isUpgrading:u,hasLocalEdits:d,enabled:f,onToggle:p,isToggling:m}){let h=t?.source?.kind===`github`,g=t?h:n,_=i?.status===`update-available`;return(0,G.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-3 sm:flex-row sm:items-center`,children:[(0,G.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-start gap-3`,children:[g===void 0?(0,G.jsx)(`span`,{"aria-hidden":!0,className:`h-8 w-8 shrink-0`}):(0,G.jsx)(K,{external:g,icon:t?.icon??void 0,iconSrc:r,size:`md`}),(0,G.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-2 gap-y-1`,children:[(0,G.jsx)(`h2`,{className:`text-title-medium`,style:{color:`var(--content-default)`},children:t?.name??e}),t?.version?(0,G.jsxs)(`span`,{className:`shrink-0 text-body-small-default`,style:{color:`var(--content-tertiary)`},children:[`v`,t.version]}):null,t?(0,G.jsx)(ot,{external:h}):null,_?(0,G.jsx)(Y,{}):null]}),t?.description?(0,G.jsx)(`p`,{className:`mt-0.5 line-clamp-2 text-body-medium-lighter`,style:{color:`var(--content-secondary)`},children:t.description}):null]})]}),t?(0,G.jsx)(rt,{plugin:t,drift:i,onInstall:a,onRemove:o,onUpgrade:s,isInstalling:c,isRemoving:l,isUpgrading:u,hasLocalEdits:d,enabled:f,onToggle:p,isToggling:m}):null]})}var mt=e(i(),1);function ht({assistantId:e,name:t,onBack:n,externalHint:r,enabled:i}){let{plugin:o,drift:s,isLoading:c,isError:l,install:u,remove:d,upgrade:f,isInstalling:m,isRemoving:h,isUpgrading:_,isInstallError:v,isRemoveError:y,isUpgradeError:b,hasLocalEdits:x}=lt(e,t,{onRemoved:n}),{toggle:S,togglingName:ee}=ft(e),[C,w]=(0,W.useState)(null);(0,W.useEffect)(()=>{w(document.getElementById(`viewport-overlays`))},[]);let T=o?.source?.kind===`github`,E=o?T:r,D=s?.status===`update-available`,O=o?.name??t,te=Z(e,t,o?.hasIcon,o?.iconVersion),k=(0,G.jsxs)(`div`,{className:`fixed inset-0 z-40 flex flex-col overflow-hidden bg-[var(--surface-overlay)]`,style:{paddingTop:`calc(8px + var(--safe-area-inset-top, env(safe-area-inset-top, 0px)))`,paddingBottom:`calc(8px + var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px)))`,paddingLeft:`calc(12px + var(--safe-area-inset-left, env(safe-area-inset-left, 0px)))`,paddingRight:`calc(12px + var(--safe-area-inset-right, env(safe-area-inset-right, 0px)))`},children:[(0,G.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,G.jsx)(a,{variant:`ghost`,iconOnly:(0,G.jsx)(g,{"aria-hidden":!0}),expandOnMobile:!0,"aria-label":`Back to plugins`,onClick:n,className:`max-md:bg-[var(--surface-active)]`}),(0,G.jsx)(`span`,{className:`min-w-0 flex-1 truncate px-2 text-center text-body-medium-default`,style:{color:`var(--content-secondary)`},children:O}),(0,G.jsx)(`span`,{"aria-hidden":!0,className:`h-8 w-8 shrink-0 touch-mobile:h-10 touch-mobile:w-10`})]}),(0,G.jsxs)(`div`,{className:`mt-4 flex flex-col gap-2`,children:[(0,G.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,G.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[E===void 0?(0,G.jsx)(`span`,{"aria-hidden":!0,className:`h-8 w-8 shrink-0`}):(0,G.jsx)(K,{external:E,icon:o?.icon??void 0,iconSrc:te,size:`md`}),(0,G.jsx)(`h2`,{className:`min-w-0 truncate text-title-medium`,style:{color:`var(--content-emphasised)`},children:O})]}),(0,G.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1.5`,children:[D?(0,G.jsx)(Y,{}):null,o?(0,G.jsx)(ot,{external:T}):null]})]}),o?.description?(0,G.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:o.description}):null]}),o?(0,G.jsx)(`div`,{className:`mt-3 flex flex-wrap items-center gap-2`,children:(0,G.jsx)(rt,{plugin:o,drift:s,enabled:i,onToggle:()=>S(t,!i),isToggling:ee===t,onInstall:u,onRemove:d,onUpgrade:f,isInstalling:m,isRemoving:h,isUpgrading:_,hasLocalEdits:x})}):null,(v||y||b)&&(0,G.jsx)(`div`,{className:`mt-3`,children:(0,G.jsx)(at,{isInstallError:v,isRemoveError:y,isUpgradeError:b})}),(0,G.jsx)(p.Root,{asChild:!0,noPadding:!0,children:(0,G.jsx)(`div`,{className:`mt-6 flex min-h-0 flex-1 flex-col overflow-hidden rounded-2xl border bg-[var(--surface-lift)]`,style:{borderColor:`var(--border-hover)`},children:(0,G.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-4 py-4`,children:c?(0,G.jsx)(it,{}):l||!o?(0,G.jsx)(J,{}):(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(q,{plugin:o,surfaces:s?.surfaces??null}),o.readme?(0,G.jsx)(Ce,{content:o.readme}):(0,G.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`This plugin doesn't ship a README.`})]})})})})]});return C?(0,mt.createPortal)(k,C):k}function gt({assistantId:e,item:t,drift:n,onSelect:r,onInstall:i,onRemove:o,onUpgrade:s,isInstalling:c=!1,isRemoving:l=!1,isUpgrading:u=!1}){let d=t.status===`available`,f=n?.status===`update-available`,m=t.enabled!==void 0,g=t.enabled===!1,_=Z(e,t.name,t.hasIcon,t.iconVersion);return(0,G.jsx)(p.Root,{asChild:!0,children:(0,G.jsxs)(`div`,{role:`button`,tabIndex:0,onClick:r,onKeyDown:e=>{e.target===e.currentTarget&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),r())},className:`flex cursor-pointer items-center gap-3 px-3 py-2 text-left transition-colors hover:bg-[var(--surface-hover)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`,children:[(0,G.jsx)(K,{size:`sm`,external:t.external,icon:t.icon,iconSrc:_,className:g?`opacity-50`:void 0}),(0,G.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,G.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,G.jsx)(`span`,{className:`truncate text-body-medium-default`,style:{color:g?`var(--content-tertiary)`:`var(--content-emphasised)`},children:t.name}),t.version?(0,G.jsxs)(`span`,{className:`shrink-0 text-body-small-default`,style:{color:`var(--content-tertiary)`},children:[`v`,t.version]}):null,(0,G.jsx)(L,{tone:`neutral`,leftIcon:(0,G.jsx)(ue,{"aria-hidden":!0}),children:`Plugin`}),f?(0,G.jsx)(Y,{onClick:s,isUpgrading:u}):null]}),(0,G.jsx)(`p`,{className:`mt-1 truncate text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:t.description??`No description provided.`}),t.issues&&t.issues.length>0?(0,G.jsxs)(`p`,{className:`mt-1 truncate text-body-small-default`,style:{color:`var(--content-warning, var(--content-tertiary))`},title:t.issues.join(`; `),children:[t.issues[0],t.issues.length>1?` (+${t.issues.length-1} more)`:``]}):null]}),d?c?(0,G.jsx)(a,{type:`button`,iconOnly:(0,G.jsx)(P,{className:`animate-spin`,"aria-hidden":!0}),disabled:!0,"aria-label":`Installing`,expandOnMobile:!1}):(0,G.jsx)(a,{type:`button`,iconOnly:(0,G.jsx)(h,{"aria-hidden":!0}),onClick:e=>{e.stopPropagation(),i?.()},disabled:!i,"aria-label":`Install plugin`,expandOnMobile:!1}):(0,G.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[m?(0,G.jsx)(L,{tone:t.enabled?`positive`:`neutral`,children:t.enabled?`Enabled`:`Disabled`}):null,(0,G.jsx)(a,{type:`button`,variant:`dangerOutline`,iconOnly:l?(0,G.jsx)(P,{className:`animate-spin`,"aria-hidden":!0}):(0,G.jsx)(F,{"aria-hidden":!0}),onClick:e=>{e.stopPropagation(),o?.()},disabled:l||u||!o,"aria-label":`Remove plugin`,expandOnMobile:!1})]})]})})}var _t={mail:se,calendar:w,"message-circle":ce,globe:j,zap:I,code:re,mic:le,"shopping-cart":D,palette:Ue,heart:M,settings:T,"link-2":oe};function vt(e){return _t[e]}function yt({selected:e,onSelect:t,counts:n,totalCount:r,showCounts:i,categories:a,ariaLabel:o=`Skill categories`}){let s=[...a].sort((e,t)=>e.label.localeCompare(t.label));return(0,G.jsxs)(`nav`,{className:`flex flex-col gap-1`,"aria-label":o,children:[(0,G.jsx)(bt,{icon:N,label:`All`,count:r,isActive:e===null,showCount:i,onClick:()=>t(null)}),s.map(r=>(0,G.jsx)(bt,{icon:vt(r.icon)??N,label:r.label,count:n[r.slug]??0,isActive:e===r.slug,showCount:i,onClick:()=>t(r.slug)},r.slug))]})}function bt({icon:e,label:t,count:n,isActive:r,showCount:i,onClick:o}){return(0,G.jsxs)(a,{variant:`ghost`,onClick:o,"aria-pressed":r,className:`h-auto justify-between gap-3 rounded-lg border-0 bg-transparent px-3 py-2 text-left hover:bg-[var(--ghost-hover)]`,style:{backgroundColor:r?`var(--surface-active)`:void 0,color:r?`var(--content-default)`:`var(--content-secondary)`},children:[(0,G.jsxs)(`span`,{className:`flex items-center gap-2.5`,children:[(0,G.jsx)(e,{className:`h-4 w-4 shrink-0`,"aria-hidden":!0}),(0,G.jsx)(`span`,{className:`text-body-medium-default`,children:t})]}),i&&(0,G.jsx)(`span`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:n})]})}function xt({skill:e,onSelect:t,onInstall:n,onRemove:r,isInstalling:i=!1,isRemoving:o=!1}){let s=x(e),c=Be(e);return(0,G.jsx)(p.Root,{asChild:!0,children:(0,G.jsxs)(`div`,{role:`button`,tabIndex:0,onClick:t,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),t())},className:`flex cursor-pointer items-center gap-3 px-3 py-2 text-left transition-colors hover:bg-[var(--surface-hover)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`,children:[(0,G.jsx)(`div`,{className:`flex shrink-0 items-center justify-center text-[28px] leading-none`,children:(0,G.jsx)(b,{skill:e,className:`h-7 w-7`})}),(0,G.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,G.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,G.jsx)(`span`,{className:`truncate text-body-medium-default`,style:{color:`var(--content-emphasised)`},children:e.name}),(0,G.jsx)(_,{origin:e.origin})]}),(0,G.jsx)(`p`,{className:`mt-1 truncate text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:e.description})]}),s?i?(0,G.jsx)(a,{type:`button`,iconOnly:(0,G.jsx)(P,{className:`animate-spin`,"aria-hidden":!0}),disabled:!0,"aria-label":`Installing`,expandOnMobile:!1}):(0,G.jsx)(a,{type:`button`,iconOnly:(0,G.jsx)(h,{"aria-hidden":!0}),onClick:e=>{e.stopPropagation(),n?.()},disabled:!n,"aria-label":`Install skill`,expandOnMobile:!1}):(0,G.jsx)(a,{type:`button`,variant:`dangerOutline`,iconOnly:o?(0,G.jsx)(P,{className:`animate-spin`,"aria-hidden":!0}):(0,G.jsx)(F,{"aria-hidden":!0}),onClick:e=>{e.stopPropagation(),r?.()},disabled:!c||o||!r,"aria-label":c?`Remove skill`:`Bundled skill cannot be removed`,title:c?void 0:`Bundled skills cannot be removed`,expandOnMobile:!1})]})})}var St=[{value:`all`,label:`All`,icon:N},{value:`installed`,label:`Installed`,icon:k},{value:`available`,label:`Available`,icon:h}],Ct=[{value:`skills`,label:`Skills`,icon:I},{value:`plugins`,label:`Plugins`,icon:ue}],wt=[{value:`vellum`,label:`Vellum`,icon:S},{value:`clawhub`,label:`Clawhub`,icon:j},{value:`skillssh`,label:`skills.sh`,icon:pe},{value:`custom`,label:`Custom`,icon:he},{value:`assistant-memory`,label:`Assistant's Memory`,icon:C}];function Tt({search:e,onSearchChange:t,filter:n,onFilterChange:r,isSearching:i,categories:a,category:o,onCategoryChange:s,counts:c,totalCount:l,showCounts:u,pluginsSupported:d}){return(0,G.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,G.jsx)(ye,{type:`search`,value:e,onChange:e=>{t(e.target.value)},placeholder:`Search superpowers`,"aria-label":`Search superpowers`,leftIcon:(0,G.jsx)(de,{className:`h-4 w-4`,"aria-hidden":!0}),rightIcon:i?(0,G.jsx)(P,{className:`h-4 w-4 animate-spin`,"aria-hidden":!0}):void 0,fullWidth:!0,wrapperClassName:`flex-1`}),(0,G.jsx)(Et,{filter:n,onFilterChange:r,categories:a,category:o,onCategoryChange:s,counts:c,totalCount:l,showCounts:u,pluginsSupported:d})]})}function Et(e){let t=Re(),[n,r]=(0,W.useState)(!1),i=(0,G.jsx)(a,{type:`button`,variant:`outlined`,iconOnly:(0,G.jsx)(He,{"aria-hidden":!0}),"aria-label":`Filter superpowers`,"aria-haspopup":t?`dialog`:`listbox`,"aria-expanded":n,tintColor:`var(--primary-base)`});if(t)return(0,G.jsx)(Dt,{...e,open:n,onOpenChange:r,trigger:i});let o=t=>{e.onFilterChange(t),r(!1)};return(0,G.jsxs)(ve.Root,{open:n,onOpenChange:r,children:[(0,G.jsx)(ve.Trigger,{asChild:!0,children:i}),(0,G.jsx)(ve.Content,{align:`end`,sideOffset:4,className:`w-44 overflow-hidden p-0`,children:(0,G.jsxs)(`ul`,{role:`listbox`,children:[(0,G.jsx)(kt,{label:`Status`,options:St,selected:e.filter,onSelect:o}),e.pluginsSupported&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}),(0,G.jsx)(kt,{label:`Type`,options:Ct,selected:e.filter,onSelect:o})]}),(0,G.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}),(0,G.jsx)(kt,{label:`Source`,options:wt,selected:e.filter,onSelect:o})]})})]})}function Dt({filter:e,onFilterChange:t,categories:n,category:r,onCategoryChange:i,counts:o,totalCount:s,showCounts:c,pluginsSupported:l,open:u,onOpenChange:d,trigger:f}){let p=[...n].sort((e,t)=>e.label.localeCompare(t.label));return(0,G.jsxs)(R.Root,{open:u,onOpenChange:d,children:[(0,G.jsx)(R.Trigger,{asChild:!0,children:f}),(0,G.jsxs)(R.Content,{className:`max-h-[85dvh]`,"aria-describedby":void 0,children:[(0,G.jsx)(`div`,{"aria-hidden":!0,className:`mx-auto mb-3 h-1 w-9 shrink-0 rounded-full bg-[var(--border-element)]`}),(0,G.jsx)(R.Header,{children:(0,G.jsx)(R.Title,{children:`Filters`})}),(0,G.jsxs)(R.Body,{className:`flex flex-col gap-3 pt-2`,children:[(0,G.jsx)(Ot,{label:`Status`,children:St.map(n=>(0,G.jsx)($,{icon:n.icon,label:n.label,active:e===n.value,onSelect:()=>t(n.value)},n.value))}),l&&(0,G.jsx)(Ot,{label:`Type`,children:Ct.map(n=>(0,G.jsx)($,{icon:n.icon,label:n.label,active:e===n.value,onSelect:()=>t(n.value)},n.value))}),(0,G.jsx)(Ot,{label:`Source`,children:wt.map(n=>(0,G.jsx)($,{icon:n.icon,label:n.label,active:e===n.value,onSelect:()=>t(n.value)},n.value))}),(0,G.jsxs)(Ot,{label:`Categories`,children:[(0,G.jsx)($,{icon:N,label:`All`,active:r===null,badge:c?s:void 0,onSelect:()=>i(null)}),p.map(e=>(0,G.jsx)($,{icon:vt(e.icon)??N,label:e.label,active:r===e.slug,badge:c?o[e.slug]??0:void 0,onSelect:()=>i(e.slug)},e.slug))]})]}),(0,G.jsx)(R.Footer,{children:(0,G.jsx)(a,{type:`button`,variant:`primary`,fullWidth:!0,onClick:()=>d(!1),children:`Done`})})]})]})}function Ot({label:e,children:t}){return(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`div`,{className:`px-2 pb-1 text-body-small-default uppercase tracking-wide`,style:{color:`var(--content-tertiary)`},children:e}),t]})}function $({icon:e,label:t,active:n,badge:r,onSelect:i}){return(0,G.jsx)(xe,{icon:e,label:t,active:n,activeVariant:`branded`,badge:r,trailingAction:n&&r==null?(0,G.jsx)(E,{className:`h-4 w-4 text-[var(--primary-base)]`,"aria-hidden":!0}):void 0,onSelect:i})}function kt({label:e,options:t,selected:n,onSelect:r}){return(0,G.jsxs)(`li`,{children:[(0,G.jsx)(`div`,{className:`px-3 pb-1 pt-2 text-body-small-default uppercase tracking-wide`,style:{color:`var(--content-tertiary)`},children:e}),(0,G.jsx)(`ul`,{children:t.map(e=>{let t=e.icon,i=n===e.value;return(0,G.jsx)(`li`,{children:(0,G.jsxs)(`button`,{type:`button`,onClick:()=>r(e.value),role:`option`,"aria-selected":i,className:`flex w-full items-center gap-2 px-3 py-1.5 text-left text-body-medium-lighter transition-colors hover:bg-[var(--surface-hover)]`,style:{color:i?`var(--primary-base)`:`var(--content-default)`},children:[(0,G.jsx)(t,{className:`h-4 w-4`,"aria-hidden":!0}),(0,G.jsx)(`span`,{className:`flex-1`,children:e.label}),i&&(0,G.jsx)(k,{className:`h-3.5 w-3.5`,"aria-hidden":!0})]})},e.value)})})]})}var At=300*1e3,jt=[],Mt=[];async function Nt(e,t,n){let r=await Ee({path:{assistant_id:e},query:{q:void 0,category:t},signal:n,throwOnError:!1});if(r.response?.status===404)return{plugins:[]};if(!r.response?.ok)throw Error(`Failed to load plugins`);return r.data??{plugins:[]}}function Pt(e,t){let[n,r]=(0,W.useState)({assistantId:e,latched:!1}),i=n.assistantId===e?n.latched:!1;return n.assistantId!==e&&r({assistantId:e,latched:!1}),(0,W.useEffect)(()=>{t&&r(t=>t.assistantId===e&&t.latched?t:{assistantId:e,latched:!0})},[e,t]),i||t}function Ft(e,t=null,n=!0){let r=t??void 0,i=u({queryKey:Pe({path:{assistant_id:e},query:{q:void 0,category:r}}),queryFn:({signal:t})=>Nt(e,r,t),enabled:!!e&&n,staleTime:At}),a=u({..._e(e),enabled:!!e&&n&&t!==null}),o=u({...Ae({path:{assistant_id:e},query:{q:void 0}}),enabled:!!e&&n,staleTime:At}),s=(0,W.useMemo)(()=>{let e=t===null?i.data?.plugins:a.data?.plugins??i.data?.plugins;return new Set((e??jt).map(e=>e.name))},[t,a.data?.plugins,i.data?.plugins]),c=(0,W.useMemo)(()=>{let e=i.data?.plugins??jt,n=o.data?.matches??Mt;return et(Qe(e,(t===null?n:n.filter(e=>(e.category??`system`)===t)).filter(e=>!s.has(e.name))))},[i.data?.plugins,o.data?.matches,t,s]),d=t===null?i.data:a.data,f=Pt(e,d?.categoryCounts!==void 0),p=Pt(e,(d?.plugins??jt).some(e=>e.enabled!==void 0)),m=l(),h=(0,W.useRef)(null);return(0,W.useEffect)(()=>{if(h.current===e||!o.isSuccess)return;let t=d?.plugins;if(!t?.length)return;let n=new Map((o.data?.matches??Mt).map(e=>[e.name,e.category]));t.some(e=>{let t=n.get(e.name);return t!=null&&t!==`system`&&(e.category??`system`)===`system`})&&(h.current=e,m.invalidateQueries({queryKey:Pe({path:{assistant_id:e},query:{q:void 0}})}))},[e,o.isSuccess,o.data?.matches,d?.plugins,m]),{items:c,isLoading:i.isLoading,catalogLoading:o.isLoading,isError:i.isError,isFetching:i.isFetching||o.isFetching,catalogError:o.isError,categorySupported:f,pluginToggleSupported:p,installedCategoryCounts:d?.categoryCounts,installedPlugins:d?.plugins??jt,installedTotal:d?.totalCount,catalogMatches:o.data?.matches??Mt,unfilteredInstalledNames:s}}function It(e){return u({...Fe({path:{assistant_id:e}}),select:e=>e.categories,staleTime:300*1e3})}var Lt=new Set([`all`,`installed`,`available`,`skills`,`plugins`,`vellum`,`clawhub`,`skillssh`,`custom`,`assistant-memory`]);function Rt(e){let t=e.get(`filter`),n=e.get(`category`);return{q:e.get(`q`)??``,filter:Vt(t)?t:`all`,category:n||null}}function zt(e,t){let n=new URLSearchParams(e);return t.q!==void 0&&Bt(n,`q`,t.q.trim()||null),t.filter!==void 0&&Bt(n,`filter`,t.filter===`all`?null:t.filter),t.category!==void 0&&Bt(n,`category`,t.category),n}function Bt(e,t,n){n===null?e.delete(t):e.set(t,n)}function Vt(e){return e!==null&&Lt.has(e)}function Ht(e){switch(e){case`installed`:return{kind:`installed`};case`available`:return{kind:`available`};case`vellum`:case`clawhub`:case`skillssh`:case`custom`:case`assistant-memory`:return{origin:e};default:return{}}}function Ut(e){return e!==`plugins`}function Wt(e){return e===`all`||e===`installed`||e===`available`||e===`plugins`}function Gt(e){switch(e){case`installed`:return`installed`;case`available`:return`available`;default:return`all`}}function Kt(e,t){let[n,r]=(0,W.useState)(e);return(0,W.useEffect)(()=>{let n=setTimeout(()=>{r(e)},t);return()=>clearTimeout(n)},[e,t]),n}var qt=300,Jt=`vellum:superpowers:tipDismissed`;function Yt(e){return[...e].sort((e,t)=>e.installed===t.installed?e.name.localeCompare(t.name,void 0,{sensitivity:`base`}):e.installed?-1:1)}function Xt({assistantId:e}){let r=c(),i=o(),a=l(),d=Re(),f=Ie.use.version(),p=ze(),[m,h]=s(),{q:g,filter:_,category:y}=(0,W.useMemo)(()=>Rt(m),[m]),b=m.get(`plugin`),x=(0,W.useCallback)(e=>{h(t=>zt(t,e),{replace:!0})},[h]),S=m.get(`success`),C=(0,W.useRef)(!1);(0,W.useEffect)(()=>{S!==`true`||C.current||(C.current=!0,b&&z.success(`Installed ${b}`),h(e=>{let t=new URLSearchParams(e);return t.delete(`success`),t},{replace:!0}))},[S,b,h]);let[w,T]=(0,W.useState)(g),E=Kt(w.trim(),qt),D=(0,W.useRef)(g);(0,W.useEffect)(()=>{if(g!==D.current&&(D.current=g,g!==w.trim())){T(g);return}E!==g&&E===w.trim()&&(D.current=E,x({q:E}))},[E,g,w,x]);let O=(0,W.useCallback)(e=>x({filter:e}),[x]),k=(0,W.useCallback)(e=>x({category:e}),[x]),[ne,re]=(0,W.useState)(()=>n(Jt,!1)),ie=(0,W.useCallback)(()=>{re(!0),t(Jt,!0)},[]),A=!p&&_===`plugins`?`all`:_,j=Ut(A),ae=p&&Wt(A),M=Gt(A),{handleInstall:N,handleRemove:oe,isInstallingSkill:P,isRemovingSkill:se,skillPendingRemoval:ce,confirmRemove:le,cancelRemove:ue}=ee(e),{data:de=[]}=It(e),{origin:fe,kind:pe}=(0,W.useMemo)(()=>Ht(A),[A]),F=u({...De({path:{assistant_id:e},query:{include:`catalog`,origin:fe,kind:pe,q:E||void 0,category:y??void 0}}),select:e=>({skills:e.skills,categoryCounts:e.categoryCounts,totalCount:e.totalCount}),enabled:!!e&&j}),me=u({...De({path:{assistant_id:e},query:{include:`catalog`,origin:fe,kind:pe,q:E||void 0}}),select:e=>({skills:e.skills,categoryCounts:e.categoryCounts,totalCount:e.totalCount}),enabled:!!e&&j&&y!==null}),{items:he,isLoading:ge,catalogLoading:I,isError:_e,isFetching:L,catalogError:ve,categorySupported:ye,installedCategoryCounts:be,installedPlugins:R,installedTotal:xe,catalogMatches:Ce,unfilteredInstalledNames:we}=Ft(e,y,p),B=ae&&(y===null||ye),Te=(0,W.useCallback)(t=>te(a,e,t),[e,a]),[Ee,ke]=(0,W.useState)(null),[Ae,Ne]=(0,W.useState)(null),[Pe,Fe]=(0,W.useState)(null),[V,H]=(0,W.useState)(null),[U,Be]=(0,W.useState)(null),He=Oe({onMutate:e=>ke(e.body.name),onSuccess:(e,t)=>z.success(`Installed ${t.body.name}`),onError:()=>z.error(Je),onSettled:(e,t,n)=>{ke(null),Te(n.body.name)}}),Ue=Me({onMutate:e=>Ne(e.path.name),onSuccess:(e,t)=>z.success(`Removed ${t.path.name}`),onError:()=>z.error(Ye),onSettled:(e,t,n)=>{Ne(null),Te(n.path.name)}}),We=je({onMutate:e=>Fe(e.path.name),onSuccess:(e,t)=>z.success(e.outcome===`already-up-to-date`?`${t.path.name} is already up to date`:`Upgraded ${t.path.name} to ${nt(e.toCommit)}`),onError:()=>z.error(Xe),onSettled:(e,t,n)=>{Fe(null),Te(n.path.name)}}),K=(0,W.useCallback)(e=>h(t=>{let n=new URLSearchParams(t);return n.set(`plugin`,e.name),n}),[h]),Ze=(0,W.useCallback)(()=>h(e=>{let t=new URLSearchParams(e);return t.delete(`plugin`),t},{replace:!0}),[h]),Qe=(0,W.useCallback)(t=>{He.mutate({path:{assistant_id:e},body:{name:t.name}})},[e,He]),et=(0,W.useCallback)(()=>{V&&(Ue.mutate({path:{assistant_id:e,name:V.name}}),H(null))},[e,V,Ue]),q=(0,W.useCallback)(t=>{We.mutate({path:{assistant_id:e,name:t},body:{}})},[e,We]),rt=(0,W.useCallback)(()=>{U&&(q(U.name),Be(null))},[U,q]),it=(0,W.useCallback)((e,t)=>{if(ct(t)){Be(e);return}q(e.name)},[q]),J=(0,W.useMemo)(()=>j?F.data?.skills??[]:[],[j,F.data?.skills]),at=(0,W.useMemo)(()=>B?tt(he,M).filter(e=>$e(e,E)):[],[B,he,M,E]),ot=(0,W.useMemo)(()=>Yt([...J.map(e=>({type:`skill`,key:`skill:${e.id}`,name:e.name,installed:v(e),skill:e})),...at.map(e=>({type:`plugin`,key:`plugin:${e.name}`,name:e.name,installed:e.status===`installed`,item:e}))]),[J,at]),Y=y===null?F.data:me.data,st=Zt(j,Y?.skills??J,Y?.categoryCounts,Y?.totalCount),X=Qt(ae&&ye,be,R,xe,Ce,we,M),{counts:lt,totalCount:ut}=(0,W.useMemo)(()=>{let e={...st.counts};for(let[t,n]of Object.entries(X.counts))e[t]=(e[t]??0)+n;return{counts:e,totalCount:st.totalCount+X.totalCount}},[st,X]),dt=j&&F.isLoading,Z=j&&F.isError,ft=B&&ge,Q=B&&_e,mt=(Z||!j)&&(Q||!B)&&(Z||Q),_t=dt||ft,vt=!!E&&(j&&F.isFetching||B&&L&&!ge),bt=w.trim().length>0;if(b&&!p&&f===null)return null;if(b&&p){let t=he.find(e=>e.name===b),n={assistantId:e,name:b,externalHint:t?.external,enabled:t?.enabled,onBack:Ze};return d?(0,G.jsx)(ht,{...n}):(0,G.jsx)(pt,{...n})}let St=(0,G.jsx)(`div`,{className:`min-w-0 flex-1 overflow-y-auto`,children:_t?(0,G.jsx)(nn,{}):mt?(0,G.jsx)(rn,{}):ot.length===0?B&&I&&M!==`installed`?(0,G.jsx)(nn,{}):(0,G.jsx)(an,{filter:A,category:y}):(0,G.jsx)(`ul`,{className:`flex flex-col gap-2`,children:ot.map(t=>(0,G.jsx)(`li`,{children:t.type===`skill`?(0,G.jsx)(xt,{skill:t.skill,onSelect:()=>r(Le.skills.detail(t.skill.id),{state:{listSearch:i.search}}),onInstall:()=>N(t.skill),onRemove:()=>oe(t.skill),isInstalling:P(t.skill),isRemoving:se(t.skill)}):t.installed?(0,G.jsx)($t,{assistantId:e,item:t.item,onSelect:()=>K(t.item),onRemove:()=>H(t.item),onUpgrade:e=>it(t.item,e),isRemoving:Ae===t.item.name,isUpgrading:Pe===t.item.name}):(0,G.jsx)(gt,{assistantId:e,item:t.item,onSelect:()=>K(t.item),onInstall:()=>Qe(t.item),isInstalling:Ee===t.item.name})},t.key))})});return(0,G.jsxs)(`div`,{className:`flex h-full min-h-0 flex-1 flex-col gap-4`,children:[!ne&&(0,G.jsx)(en,{onDismiss:ie}),(0,G.jsx)(Tt,{search:w,onSearchChange:T,filter:A,onFilterChange:O,isSearching:vt,categories:de,category:y,onCategoryChange:k,counts:lt,totalCount:ut,showCounts:!bt,pluginsSupported:p}),!_t&&!mt&&Z?(0,G.jsx)(tn,{text:`Skills are temporarily unavailable. Plugins are still listed below.`}):null,!_t&&!mt&&Q?(0,G.jsx)(tn,{text:`Plugins are temporarily unavailable. Skills are still listed below.`}):null,B&&ve&&!ft&&!Q?(0,G.jsx)(tn,{text:`Plugin catalog browsing is temporarily unavailable. Installed plugins are still listed below.`}):null,(0,G.jsxs)(`div`,{className:`flex min-h-0 flex-1 gap-6`,children:[(0,G.jsx)(`aside`,{className:`hidden w-56 shrink-0 overflow-y-auto sm:block`,children:(0,G.jsx)(yt,{ariaLabel:`Superpower categories`,selected:y,onSelect:k,counts:lt,totalCount:ut,showCounts:!bt,categories:de})}),St]}),(0,G.jsx)(Ve,{skillName:ce?.name??null,onConfirm:le,onCancel:ue}),(0,G.jsx)(Se,{open:V!==null,title:`Remove plugin`,message:V?Ge(V.name):``,confirmLabel:`Remove`,destructive:!0,onConfirm:et,onCancel:()=>H(null)}),(0,G.jsx)(Se,{open:U!==null,title:`Upgrade plugin`,message:U?Ke(U.name):``,confirmLabel:qe,destructive:!0,onConfirm:rt,onCancel:()=>Be(null)})]})}function Zt(e,t,n,r){return(0,W.useMemo)(()=>{if(!e)return{counts:{},totalCount:0};if(n&&Object.keys(n).length>0)return{counts:n,totalCount:r??t.length};let i={};for(let e of t){let t=e.category??`system`;i[t]=(i[t]??0)+1}return{counts:i,totalCount:r??t.length}},[e,t,n,r])}function Qt(e,t,n,r,i,a,o){return(0,W.useMemo)(()=>{if(!e)return{counts:{},totalCount:0};let s={},c=o!==`available`,l=o===`all`||o===`available`;if(c)if(t&&Object.keys(t).length>0)Object.assign(s,t);else for(let e of n){let t=e.category??`system`;s[t]=(s[t]??0)+1}let u=0;if(l)for(let e of i){if(a.has(e.name))continue;let t=e.category??`system`;s[t]=(s[t]??0)+1,u+=1}let d=r??n.length;return{counts:s,totalCount:(c?d:0)+u}},[e,t,n,r,i,a,o])}function $t({assistantId:e,item:t,onSelect:n,onRemove:r,onUpgrade:i,isRemoving:a,isUpgrading:o}){let s=X({assistantId:e,name:t.name}).data;return(0,G.jsx)(gt,{assistantId:e,item:t,drift:s,onSelect:n,onRemove:r,onUpgrade:()=>i(s),isRemoving:a,isUpgrading:o})}function en({onDismiss:e}){return(0,G.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg px-4 py-2.5 text-body-small-default`,style:{backgroundColor:`var(--surface-base)`,color:`var(--content-secondary)`},children:[(0,G.jsx)(fe,{className:`h-4 w-4 shrink-0`,style:{color:`var(--primary-base)`}}),(0,G.jsx)(`p`,{className:`flex-1`,children:`Create a new custom skill by describing what you want in chat, or install plugins to extend your assistant.`}),(0,G.jsx)(a,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:(0,G.jsx)(ge,{"aria-hidden":!0}),onClick:e,"aria-label":`Dismiss tip`,tintColor:`var(--content-tertiary)`,expandOnMobile:!1})]})}function tn({text:e}){return(0,G.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg px-4 py-2.5 text-body-small-default`,style:{backgroundColor:`var(--surface-base)`,color:`var(--content-secondary)`},children:[(0,G.jsx)(ne,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`},"aria-hidden":!0}),(0,G.jsx)(`p`,{className:`flex-1`,children:e})]})}function nn(){return(0,G.jsx)(`div`,{className:`flex items-center justify-center py-16`,children:(0,G.jsx)(P,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})})}function rn(){return(0,G.jsx)(p.Root,{children:(0,G.jsxs)(p.Body,{className:`flex flex-col items-center justify-center py-16 text-center`,children:[(0,G.jsx)(me,{className:`mb-3 h-8 w-8`,style:{color:`var(--system-danger)`},"aria-hidden":!0}),(0,G.jsx)(`h3`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:`Failed to load superpowers`}),(0,G.jsx)(`p`,{className:`mt-1 max-w-sm text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Something went wrong. Try refreshing the page.`})]})})}function an({filter:e,category:t}){let{title:n,subtitle:r,Icon:i}=on(e,t);return(0,G.jsx)(y,{icon:i,title:n,subtitle:r})}function on(e,t){if(t)return{title:`Nothing in this category`,subtitle:`Try selecting a different category or clearing the filter.`,Icon:N};switch(e){case`installed`:return{title:`No Superpowers Installed`,subtitle:`Ask your assistant in chat to search for and install new skills and plugins.`,Icon:I};case`available`:return{title:`Nothing Left to Install`,subtitle:`All available skills and plugins are installed.`,Icon:k};case`skills`:return{title:`No Skills Found`,subtitle:`Ask your assistant in chat to search for and install new skills.`,Icon:I};case`plugins`:return{title:`No Plugins Found`,subtitle:`Browse the catalog to install plugins that extend your assistant.`,Icon:ue};case`vellum`:return{title:`No Vellum Skills`,subtitle:`No bundled Vellum skills found.`,Icon:I};case`clawhub`:return{title:`No Clawhub Skills`,subtitle:`No Clawhub skills found. Try searching the catalog.`,Icon:I};case`skillssh`:return{title:`No skills.sh Skills`,subtitle:`No skills.sh skills found. Try searching the catalog.`,Icon:I};case`custom`:return{title:`No Custom Skills`,subtitle:`Create a custom skill by describing what you want in chat.`,Icon:I};case`assistant-memory`:return{title:`No Skills From Memory`,subtitle:`Skills your assistant authors from past conversations will appear here.`,Icon:I};default:return{title:`No Superpowers Available`,subtitle:`Check your connection to the Vellum catalog.`,Icon:ne}}}function sn(){return(0,G.jsx)(Xt,{assistantId:U()})}export{sn as SuperpowersPage};
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{o as t,t as n}from"./local-settings-C-dW2vkq.js";import{t as r}from"./react-BFJW0bSv.js";import{F as i,t as a}from"./button-Dy5001j6.js";import{l as o,m as s,u as c}from"./chunk-5KNZJZUH-Bsoom5--.js";import{n as l}from"./QueryClientProvider-CMu7CkQU.js";import{t as u}from"./useQuery-Bz-fbQ-m.js";import{t as d}from"./useMutation-CXGTrp4W.js";import{t as f}from"./jsx-runtime-D3ZM-ToX.js";import{t as p}from"./card-DRIctGVs.js";import{t as m}from"./createLucideIcon-CAM1RhH8.js";import{t as h}from"./arrow-down-to-line-Bh_5sIPp.js";import{t as g}from"./arrow-left-C2ylPLHq.js";import{a as _,i as v,n as y,o as b,r as x,s as S,t as ee}from"./use-skill-actions-BAAx1Eia.js";import{t as C}from"./brain-BIzJCPA6.js";import{n as w,t as T}from"./settings-CfuLzwIw.js";import{t as E}from"./check-sC49_hjU.js";import{n as D,r as O,t as te}from"./invalidate-plugin-queries-C3NTXkCX.js";import{t as k}from"./circle-check-big-DSsDH5_6.js";import{t as ne}from"./cloud-off-BCBGTmt0.js";import{t as re}from"./code-qafFA0_-.js";import{t as ie}from"./download-CywcQLB2.js";import{t as A}from"./external-link-CS0aVYGt.js";import{t as j}from"./globe-CMtjL_s_.js";import{t as ae}from"./hard-drive-DWFPKcXI.js";import{t as M}from"./heart-789ajxtB.js";import{t as N}from"./layout-grid-DA_CfD6d.js";import{t as oe}from"./link-2-BKL8QWRX.js";import{t as P}from"./loader-circle-XREx3i4W.js";import{t as se}from"./mail-CMdPNysl.js";import{t as ce}from"./message-circle-BsH7vHtN.js";import{t as le}from"./mic-xmDFUbCL.js";import{t as ue}from"./puzzle-BVC3TGko.js";import{t as de}from"./search-BVW-n8to.js";import{t as fe}from"./sparkles-Ccrj7hxd.js";import{t as pe}from"./terminal-CdCI6wMV.js";import{t as F}from"./trash-2-L5LNgw9o.js";import{t as me}from"./triangle-alert-CQfiAg_t.js";import{t as he}from"./user-_zNqL48O.js";import{t as ge}from"./x-JBAsSOmg.js";import{n as I,t as _e}from"./installed-plugins-query-Cgek0q7G.js";import"./src-te3YTBG-.js";import{t as L}from"./tag-NXcyiTkK.js";import{t as ve}from"./popover-BRpYVASI.js";import{t as ye}from"./input-hw3el2GJ.js";import{t as be}from"./toggle-lfnhEAcN.js";import{n as R,t as xe}from"./panel-item-CrtoJCrd.js";import{n as z}from"./toast-LgLp4obE.js";import{t as Se}from"./confirm-dialog-UYFm4osC.js";import{t as Ce}from"./file-markdown-DaflJFk7.js";import{Bn as we,Ln as B,Rn as Te,Un as Ee}from"./sdk.gen-BHZ0fJla.js";import{St as De,an as Oe,at as ke,ct as Ae,in as je,rn as Me,rt as Ne,st as Pe,xt as Fe}from"./react-query.gen-C5c1Acuq.js";import{t as Ie}from"./assistant-identity-store-DIyVo8LV.js";import{r as V}from"./utils-CnB60ZJN.js";import{u as Le}from"./routes-D9sNqB_o.js";import{n as Re}from"./use-is-mobile-BlQuzI5Z.js";import{t as H}from"./misc-CuYswARt.js";import{t as ze}from"./plugins-surface-B43Op43l.js";import{t as U}from"./use-active-assistant-id-CldxA_-M.js";import{n as Be,r as Ve}from"./skills-Cum1XWT2.js";var He=m(`funnel`,[[`path`,{d:`M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z`,key:`sc7q7i`}]]),Ue=m(`palette`,[[`path`,{d:`M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z`,key:`e79jfc`}],[`circle`,{cx:`13.5`,cy:`6.5`,r:`.5`,fill:`currentColor`,key:`1okk4w`}],[`circle`,{cx:`17.5`,cy:`10.5`,r:`.5`,fill:`currentColor`,key:`f64h9f`}],[`circle`,{cx:`6.5`,cy:`12.5`,r:`.5`,fill:`currentColor`,key:`qy21gx`}],[`circle`,{cx:`8.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`fotxhn`}]]),W=e(r(),1),G=f(),We={sm:`h-7 w-7`,md:`h-8 w-8 text-3xl`};function K({external:e=!1,icon:t,iconSrc:n,size:r=`sm`,className:i}){let[a,o]=(0,W.useState)(!1);(0,W.useEffect)(()=>{o(!1)},[n]);let s=t||(e?`📦`:`🧩`),c=!!n&&!a;return(0,G.jsx)(`span`,{className:H(`flex shrink-0 items-center justify-center`,We[r],i),children:c?(0,G.jsx)(`img`,{src:n,alt:``,"aria-hidden":!0,loading:`lazy`,className:`h-full w-full object-contain`,onError:()=>o(!0)}):s})}var Ge=e=>`Remove "${e}" from this assistant?`,Ke=e=>`"${e}" has local edits that will be overwritten by the upgrade. Continue?`,qe=`Upgrade anyway`,Je=`Failed to install plugin. Please try again.`,Ye=`Failed to remove plugin. Please try again.`,Xe=`Failed to upgrade plugin. Please try again.`,Ze=`Failed to update plugin. Please try again.`;function Qe(e,t){let n=e.map(e=>({name:e.name,description:e.description??void 0,status:`installed`,external:void 0,version:e.version??void 0,path:e.path,issues:e.issues,enabled:e.enabled,icon:e.icon,hasIcon:e.hasIcon,iconVersion:e.iconVersion})),r=new Set(n.map(e=>e.name)),i=t.filter(e=>!r.has(e.name)).map(e=>({name:e.name,description:e.description,status:`available`,external:!0,path:e.path}));return[...n,...i]}function $e(e,t){let n=t.trim().toLowerCase();return n?[e.name,e.description].some(e=>e?.toLowerCase().includes(n)):!0}function et(e){return[...e].sort((e,t)=>{let n=e.status===`installed`;return n===(t.status===`installed`)?e.name.localeCompare(t.name,void 0,{sensitivity:`base`}):n?-1:1})}function tt(e,t){switch(t){case`all`:return e;case`available`:return e.filter(e=>e.status===`available`);case`installed`:return e.filter(e=>e.status===`installed`);case`active`:return e.filter(e=>e.status===`installed`&&e.enabled!==!1);case`off`:return e.filter(e=>e.status===`installed`&&e.enabled===!1)}}function nt(e){return e?e.slice(0,7):`unknown`}function q({plugin:e,surfaces:t=null,className:n}){let r=[{label:`Source`,value:e.source?.kind===`github`?e.source.repo:`Local`,href:(e.source?.kind===`github`?`https://github.com/${e.source.repo}`:null)??void 0}];return e.homepage&&r.push({label:`Homepage`,value:e.homepage,href:e.homepage}),e.license&&r.push({label:`License`,value:e.license}),t&&(t.skills.length>0&&r.push({label:`Skills`,value:String(t.skills.length)}),t.hooks.length>0&&r.push({label:`Hooks`,value:String(t.hooks.length)}),t.tools.length>0&&r.push({label:`Tools`,value:String(t.tools.length)})),(0,G.jsx)(`dl`,{className:H(`mb-5 grid gap-x-6 gap-y-2 border-b pb-5 sm:grid-cols-[max-content_1fr]`,n),style:{borderColor:`var(--border-base)`},children:r.map(e=>(0,G.jsxs)(`div`,{className:`contents`,children:[(0,G.jsx)(`dt`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:e.label}),(0,G.jsx)(`dd`,{className:`min-w-0 truncate text-body-small-default`,style:{color:`var(--content-secondary)`},children:e.href?(0,G.jsxs)(`a`,{href:e.href,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-1 underline`,style:{color:`var(--primary-base, #60a5fa)`},children:[e.value,(0,G.jsx)(A,{className:`h-3 w-3`,"aria-hidden":!0})]}):e.value})]},e.label))})}function rt({plugin:e,drift:t,onInstall:n,onRemove:r,onUpgrade:i,isInstalling:o,isRemoving:s,isUpgrading:c,hasLocalEdits:l,enabled:u,onToggle:d,isToggling:f}){let[p,m]=(0,W.useState)(!1),[g,_]=(0,W.useState)(!1),v=e.installed??!1,y=e.artifact??null,b=t?.status===`update-available`,x=b?`Upgrade ${nt(t?.local?.commit??null)} → ${nt(t?.remote?.commit??null)}`:void 0;return(0,G.jsxs)(G.Fragment,{children:[v?(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 md:flex-nowrap md:shrink-0`,children:[u!==void 0&&d?(0,G.jsx)(be,{label:`Auto-include in chat`,checked:u,onChange:()=>d(),disabled:f}):null,y?(0,G.jsx)(a,{asChild:!0,leftIcon:(0,G.jsx)(ie,{"aria-hidden":!0}),children:(0,G.jsx)(`a`,{href:y.url,download:!0,children:y.label??`Download`})}):null,b?(0,G.jsx)(a,{type:`button`,onClick:()=>{if(l){_(!0);return}i()},disabled:c,title:x,leftIcon:c?(0,G.jsx)(P,{className:`animate-spin`,"aria-hidden":!0}):(0,G.jsx)(O,{"aria-hidden":!0}),children:`Upgrade`}):null,(0,G.jsx)(a,{type:`button`,variant:`dangerOutline`,onClick:()=>m(!0),disabled:s,leftIcon:s?(0,G.jsx)(P,{className:`animate-spin`,"aria-hidden":!0}):(0,G.jsx)(F,{"aria-hidden":!0}),children:`Remove`})]}):(0,G.jsx)(a,{type:`button`,onClick:n,disabled:o,leftIcon:o?(0,G.jsx)(P,{className:`animate-spin`,"aria-hidden":!0}):(0,G.jsx)(h,{"aria-hidden":!0}),children:`Install`}),(0,G.jsx)(Se,{open:p,title:`Remove plugin`,message:Ge(e.name),confirmLabel:`Remove`,destructive:!0,onConfirm:()=>{m(!1),r()},onCancel:()=>m(!1)}),(0,G.jsx)(Se,{open:g,title:`Upgrade plugin`,message:Ke(e.name),confirmLabel:qe,destructive:!0,onConfirm:()=>{_(!1),i()},onCancel:()=>_(!1)})]})}function it(){return(0,G.jsx)(`div`,{className:`flex items-center justify-center py-12`,children:(0,G.jsx)(P,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})})}function J(){return(0,G.jsxs)(`div`,{className:`flex flex-col items-center justify-center gap-2 py-12 text-center`,style:{color:`var(--content-tertiary)`},children:[(0,G.jsx)(me,{className:`h-6 w-6`,"aria-hidden":!0}),(0,G.jsx)(`p`,{className:`text-body-medium-default`,children:`We couldn't load this plugin.`}),(0,G.jsx)(`p`,{className:`text-body-small-default`,children:`It may not exist, or your assistant may be on an older build.`})]})}function at({isInstallError:e,isRemoveError:t,isUpgradeError:n}){let r=e?Je:t?Ye:n?Xe:null;return r?(0,G.jsxs)(`div`,{className:`mb-3 flex items-center gap-2 rounded px-3 py-2 text-body-small-default`,style:{backgroundColor:`var(--surface-secondary)`,color:`var(--content-warning, var(--content-tertiary))`},role:`alert`,children:[(0,G.jsx)(me,{className:`h-4 w-4 shrink-0`,"aria-hidden":!0}),r]}):null}function ot({external:e,className:t}){let n=e?{label:`External`,icon:j}:{label:`Local`,icon:ae};return(0,G.jsx)(L,{tone:`neutral`,leftIcon:(0,W.createElement)(n.icon),className:t,children:n.label})}function Y({onClick:e,isUpgrading:t=!1}={}){let n=(0,G.jsx)(L,{tone:`warning`,leftIcon:(0,W.createElement)(t?P:O,{className:t?`animate-spin`:void 0}),className:`shrink-0`,children:`Update available`});return e?(0,G.jsx)(`button`,{type:`button`,onClick:t=>{t.stopPropagation(),e()},disabled:t,"aria-label":`Upgrade plugin`,className:`shrink-0 rounded-[6px] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)] disabled:cursor-not-allowed`,children:n}):n}var st=300*1e3;function X({assistantId:e,name:t,enabled:n=!0}){return u({...ke({path:{assistant_id:e,name:t}}),enabled:!!e&&!!t&&n,staleTime:st,retry:!1})}function ct(e){let t=e?.local?.localChanges;return!!t&&t?.clean===!1}function lt(e,t,n){let r=l(),i=n?.onRemoved,a=u({...Ne({path:{assistant_id:e,name:t}}),enabled:!!e&&!!t}),o=X({assistantId:e,name:t,enabled:a.data?.installed??!1}).data,s=(0,W.useCallback)(()=>te(r,e,t),[e,t,r]),c=Oe({onSuccess:()=>{s(),z.success(`Installed ${t||`plugin`}`)}}),d=Me({onSuccess:()=>{s(),i?.()}}),f=je({onSuccess:e=>{s(),z.success(e.outcome===`already-up-to-date`?`${t||`Plugin`} is already up to date`:`Upgraded ${t||`plugin`} to ${nt(e.toCommit)}`)}});return{plugin:a.data??null,drift:o,isLoading:a.isLoading,isError:a.isError,install:()=>{c.mutate({path:{assistant_id:e},body:{name:t}})},remove:()=>{d.mutate({path:{assistant_id:e,name:t}})},upgrade:()=>{f.mutate({path:{assistant_id:e,name:t},body:{}})},isInstalling:c.isPending,isRemoving:d.isPending,isUpgrading:f.isPending,isInstallError:c.isError,isRemoveError:d.isError,isUpgradeError:f.isError,hasLocalEdits:ct(o)}}var ut=`0.10.5`;function dt(){return V(ut)}function Z(e,t,n,r){let i=dt(),{data:a}=u({queryKey:[`pluginIcon`,e,t,r],queryFn:async()=>{let{data:n,error:r}=await we({path:{assistant_id:e,name:t},parseAs:`blob`,throwOnError:!1});if(r||!(n instanceof Blob))throw Error(`Failed to load plugin icon`);return n},enabled:!!(i&&n&&r),staleTime:1/0,retry:!1}),[o,s]=(0,W.useState)(void 0);return(0,W.useEffect)(()=>{if(!a){s(void 0);return}let e=URL.createObjectURL(a);return s(e),()=>{URL.revokeObjectURL(e)}},[a]),o}function ft(e){let t=l(),n={queryKey:Pe({path:{assistant_id:e}})},r=(e,r)=>{t.setQueriesData(n,t=>t&&{...t,plugins:t.plugins.map(t=>t.name===e?{...t,enabled:r}:t)})},i=d({mutationFn:async({name:t,nextEnabled:n})=>{let r=await(n?Te({path:{assistant_id:e,name:t},throwOnError:!1}):B({path:{assistant_id:e,name:t},throwOnError:!1})),i=r.response?.status;if(r.response?.ok||i===409)return r;throw Error(`Plugin toggle failed (${i??`network error`})`)},onMutate:async({name:e,nextEnabled:i})=>{await t.cancelQueries(n),r(e,i)},onError:(e,{name:t,nextEnabled:n})=>{r(t,!n),z.error(Ze)},onSettled:(n,r,i)=>{te(t,e,i.name)}});return{toggle:(e,t)=>{i.mutate({name:e,nextEnabled:t})},togglingName:i.isPending?i.variables?.name??null:null}}function pt({assistantId:e,name:t,onBack:n,externalHint:r,enabled:i}){let{plugin:o,drift:s,isLoading:c,isError:l,install:u,remove:d,upgrade:f,isInstalling:m,isRemoving:h,isUpgrading:_,isInstallError:v,isRemoveError:y,isUpgradeError:b,hasLocalEdits:x}=lt(e,t,{onRemoved:n}),{toggle:S,togglingName:ee}=ft(e),C=Z(e,t,o?.hasIcon,o?.iconVersion);return(0,G.jsxs)(`div`,{className:`flex h-full min-h-0 flex-1 flex-col`,children:[(0,G.jsxs)(`div`,{className:`mb-4 flex items-start gap-3`,children:[(0,G.jsx)(a,{type:`button`,variant:`ghost`,iconOnly:(0,G.jsx)(g,{"aria-hidden":!0}),"aria-label":`Back to plugins`,onClick:n}),(0,G.jsx)(Q,{name:t,plugin:o,externalHint:r,iconSrc:C,drift:s,onInstall:u,onRemove:d,onUpgrade:f,isInstalling:m,isRemoving:h,isUpgrading:_,hasLocalEdits:x,enabled:i,onToggle:()=>S(t,!i),isToggling:ee===t})]}),(v||y||b)&&(0,G.jsx)(at,{isInstallError:v,isRemoveError:y,isUpgradeError:b}),(0,G.jsx)(p.Root,{asChild:!0,children:(0,G.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-6 py-5`,children:c?(0,G.jsx)(it,{}):l||!o?(0,G.jsx)(J,{}):(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(q,{plugin:o,surfaces:s?.surfaces??null}),o.readme?(0,G.jsx)(Ce,{content:o.readme}):(0,G.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`This plugin doesn't ship a README.`})]})})})]})}function Q({name:e,plugin:t,externalHint:n,iconSrc:r,drift:i,onInstall:a,onRemove:o,onUpgrade:s,isInstalling:c,isRemoving:l,isUpgrading:u,hasLocalEdits:d,enabled:f,onToggle:p,isToggling:m}){let h=t?.source?.kind===`github`,g=t?h:n,_=i?.status===`update-available`;return(0,G.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-3 sm:flex-row sm:items-center`,children:[(0,G.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-start gap-3`,children:[g===void 0?(0,G.jsx)(`span`,{"aria-hidden":!0,className:`h-8 w-8 shrink-0`}):(0,G.jsx)(K,{external:g,icon:t?.icon??void 0,iconSrc:r,size:`md`}),(0,G.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-2 gap-y-1`,children:[(0,G.jsx)(`h2`,{className:`text-title-medium`,style:{color:`var(--content-default)`},children:t?.name??e}),t?.version?(0,G.jsxs)(`span`,{className:`shrink-0 text-body-small-default`,style:{color:`var(--content-tertiary)`},children:[`v`,t.version]}):null,t?(0,G.jsx)(ot,{external:h}):null,_?(0,G.jsx)(Y,{}):null]}),t?.description?(0,G.jsx)(`p`,{className:`mt-0.5 line-clamp-2 text-body-medium-lighter`,style:{color:`var(--content-secondary)`},children:t.description}):null]})]}),t?(0,G.jsx)(rt,{plugin:t,drift:i,onInstall:a,onRemove:o,onUpgrade:s,isInstalling:c,isRemoving:l,isUpgrading:u,hasLocalEdits:d,enabled:f,onToggle:p,isToggling:m}):null]})}var mt=e(i(),1);function ht({assistantId:e,name:t,onBack:n,externalHint:r,enabled:i}){let{plugin:o,drift:s,isLoading:c,isError:l,install:u,remove:d,upgrade:f,isInstalling:m,isRemoving:h,isUpgrading:_,isInstallError:v,isRemoveError:y,isUpgradeError:b,hasLocalEdits:x}=lt(e,t,{onRemoved:n}),{toggle:S,togglingName:ee}=ft(e),[C,w]=(0,W.useState)(null);(0,W.useEffect)(()=>{w(document.getElementById(`viewport-overlays`))},[]);let T=o?.source?.kind===`github`,E=o?T:r,D=s?.status===`update-available`,O=o?.name??t,te=Z(e,t,o?.hasIcon,o?.iconVersion),k=(0,G.jsxs)(`div`,{className:`fixed inset-0 z-40 flex flex-col overflow-hidden bg-[var(--surface-overlay)]`,style:{paddingTop:`calc(8px + var(--safe-area-inset-top, env(safe-area-inset-top, 0px)))`,paddingBottom:`calc(8px + var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px)))`,paddingLeft:`calc(12px + var(--safe-area-inset-left, env(safe-area-inset-left, 0px)))`,paddingRight:`calc(12px + var(--safe-area-inset-right, env(safe-area-inset-right, 0px)))`},children:[(0,G.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,G.jsx)(a,{variant:`ghost`,iconOnly:(0,G.jsx)(g,{"aria-hidden":!0}),expandOnMobile:!0,"aria-label":`Back to plugins`,onClick:n,className:`max-md:bg-[var(--surface-active)]`}),(0,G.jsx)(`span`,{className:`min-w-0 flex-1 truncate px-2 text-center text-body-medium-default`,style:{color:`var(--content-secondary)`},children:O}),(0,G.jsx)(`span`,{"aria-hidden":!0,className:`h-8 w-8 shrink-0 touch-mobile:h-10 touch-mobile:w-10`})]}),(0,G.jsxs)(`div`,{className:`mt-4 flex flex-col gap-2`,children:[(0,G.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,G.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[E===void 0?(0,G.jsx)(`span`,{"aria-hidden":!0,className:`h-8 w-8 shrink-0`}):(0,G.jsx)(K,{external:E,icon:o?.icon??void 0,iconSrc:te,size:`md`}),(0,G.jsx)(`h2`,{className:`min-w-0 truncate text-title-medium`,style:{color:`var(--content-emphasised)`},children:O})]}),(0,G.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1.5`,children:[D?(0,G.jsx)(Y,{}):null,o?(0,G.jsx)(ot,{external:T}):null]})]}),o?.description?(0,G.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:o.description}):null]}),o?(0,G.jsx)(`div`,{className:`mt-3 flex flex-wrap items-center gap-2`,children:(0,G.jsx)(rt,{plugin:o,drift:s,enabled:i,onToggle:()=>S(t,!i),isToggling:ee===t,onInstall:u,onRemove:d,onUpgrade:f,isInstalling:m,isRemoving:h,isUpgrading:_,hasLocalEdits:x})}):null,(v||y||b)&&(0,G.jsx)(`div`,{className:`mt-3`,children:(0,G.jsx)(at,{isInstallError:v,isRemoveError:y,isUpgradeError:b})}),(0,G.jsx)(p.Root,{asChild:!0,noPadding:!0,children:(0,G.jsx)(`div`,{className:`mt-6 flex min-h-0 flex-1 flex-col overflow-hidden rounded-2xl border bg-[var(--surface-lift)]`,style:{borderColor:`var(--border-hover)`},children:(0,G.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-4 py-4`,children:c?(0,G.jsx)(it,{}):l||!o?(0,G.jsx)(J,{}):(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(q,{plugin:o,surfaces:s?.surfaces??null}),o.readme?(0,G.jsx)(Ce,{content:o.readme}):(0,G.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`This plugin doesn't ship a README.`})]})})})})]});return C?(0,mt.createPortal)(k,C):k}function gt({assistantId:e,item:t,drift:n,onSelect:r,onInstall:i,onRemove:o,onUpgrade:s,isInstalling:c=!1,isRemoving:l=!1,isUpgrading:u=!1}){let d=t.status===`available`,f=n?.status===`update-available`,m=t.enabled!==void 0,g=t.enabled===!1,_=Z(e,t.name,t.hasIcon,t.iconVersion);return(0,G.jsx)(p.Root,{asChild:!0,children:(0,G.jsxs)(`div`,{role:`button`,tabIndex:0,onClick:r,onKeyDown:e=>{e.target===e.currentTarget&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),r())},className:`flex cursor-pointer items-center gap-3 px-3 py-2 text-left transition-colors hover:bg-[var(--surface-hover)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`,children:[(0,G.jsx)(K,{size:`sm`,external:t.external,icon:t.icon,iconSrc:_,className:g?`opacity-50`:void 0}),(0,G.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,G.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,G.jsx)(`span`,{className:`truncate text-body-medium-default`,style:{color:g?`var(--content-tertiary)`:`var(--content-emphasised)`},children:t.name}),t.version?(0,G.jsxs)(`span`,{className:`shrink-0 text-body-small-default`,style:{color:`var(--content-tertiary)`},children:[`v`,t.version]}):null,(0,G.jsx)(L,{tone:`neutral`,leftIcon:(0,G.jsx)(ue,{"aria-hidden":!0}),children:`Plugin`}),f?(0,G.jsx)(Y,{onClick:s,isUpgrading:u}):null]}),(0,G.jsx)(`p`,{className:`mt-1 truncate text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:t.description??`No description provided.`}),t.issues&&t.issues.length>0?(0,G.jsxs)(`p`,{className:`mt-1 truncate text-body-small-default`,style:{color:`var(--content-warning, var(--content-tertiary))`},title:t.issues.join(`; `),children:[t.issues[0],t.issues.length>1?` (+${t.issues.length-1} more)`:``]}):null]}),d?c?(0,G.jsx)(a,{type:`button`,iconOnly:(0,G.jsx)(P,{className:`animate-spin`,"aria-hidden":!0}),disabled:!0,"aria-label":`Installing`,expandOnMobile:!1}):(0,G.jsx)(a,{type:`button`,iconOnly:(0,G.jsx)(h,{"aria-hidden":!0}),onClick:e=>{e.stopPropagation(),i?.()},disabled:!i,"aria-label":`Install plugin`,expandOnMobile:!1}):(0,G.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[m?(0,G.jsx)(L,{tone:t.enabled?`positive`:`neutral`,children:t.enabled?`Enabled`:`Disabled`}):null,(0,G.jsx)(a,{type:`button`,variant:`dangerOutline`,iconOnly:l?(0,G.jsx)(P,{className:`animate-spin`,"aria-hidden":!0}):(0,G.jsx)(F,{"aria-hidden":!0}),onClick:e=>{e.stopPropagation(),o?.()},disabled:l||u||!o,"aria-label":`Remove plugin`,expandOnMobile:!1})]})]})})}var _t={mail:se,calendar:w,"message-circle":ce,globe:j,zap:I,code:re,mic:le,"shopping-cart":D,palette:Ue,heart:M,settings:T,"link-2":oe};function vt(e){return _t[e]}function yt({selected:e,onSelect:t,counts:n,totalCount:r,showCounts:i,categories:a,ariaLabel:o=`Skill categories`}){let s=[...a].sort((e,t)=>e.label.localeCompare(t.label));return(0,G.jsxs)(`nav`,{className:`flex flex-col gap-1`,"aria-label":o,children:[(0,G.jsx)(bt,{icon:N,label:`All`,count:r,isActive:e===null,showCount:i,onClick:()=>t(null)}),s.map(r=>(0,G.jsx)(bt,{icon:vt(r.icon)??N,label:r.label,count:n[r.slug]??0,isActive:e===r.slug,showCount:i,onClick:()=>t(r.slug)},r.slug))]})}function bt({icon:e,label:t,count:n,isActive:r,showCount:i,onClick:o}){return(0,G.jsxs)(a,{variant:`ghost`,onClick:o,"aria-pressed":r,className:`h-auto justify-between gap-3 rounded-lg border-0 bg-transparent px-3 py-2 text-left hover:bg-[var(--ghost-hover)]`,style:{backgroundColor:r?`var(--surface-active)`:void 0,color:r?`var(--content-default)`:`var(--content-secondary)`},children:[(0,G.jsxs)(`span`,{className:`flex items-center gap-2.5`,children:[(0,G.jsx)(e,{className:`h-4 w-4 shrink-0`,"aria-hidden":!0}),(0,G.jsx)(`span`,{className:`text-body-medium-default`,children:t})]}),i&&(0,G.jsx)(`span`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:n})]})}function xt({skill:e,onSelect:t,onInstall:n,onRemove:r,isInstalling:i=!1,isRemoving:o=!1}){let s=x(e),c=Be(e);return(0,G.jsx)(p.Root,{asChild:!0,children:(0,G.jsxs)(`div`,{role:`button`,tabIndex:0,onClick:t,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),t())},className:`flex cursor-pointer items-center gap-3 px-3 py-2 text-left transition-colors hover:bg-[var(--surface-hover)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`,children:[(0,G.jsx)(`div`,{className:`flex shrink-0 items-center justify-center text-[28px] leading-none`,children:(0,G.jsx)(b,{skill:e,className:`h-7 w-7`})}),(0,G.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,G.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,G.jsx)(`span`,{className:`truncate text-body-medium-default`,style:{color:`var(--content-emphasised)`},children:e.name}),(0,G.jsx)(_,{origin:e.origin})]}),(0,G.jsx)(`p`,{className:`mt-1 truncate text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:e.description})]}),s?i?(0,G.jsx)(a,{type:`button`,iconOnly:(0,G.jsx)(P,{className:`animate-spin`,"aria-hidden":!0}),disabled:!0,"aria-label":`Installing`,expandOnMobile:!1}):(0,G.jsx)(a,{type:`button`,iconOnly:(0,G.jsx)(h,{"aria-hidden":!0}),onClick:e=>{e.stopPropagation(),n?.()},disabled:!n,"aria-label":`Install skill`,expandOnMobile:!1}):(0,G.jsx)(a,{type:`button`,variant:`dangerOutline`,iconOnly:o?(0,G.jsx)(P,{className:`animate-spin`,"aria-hidden":!0}):(0,G.jsx)(F,{"aria-hidden":!0}),onClick:e=>{e.stopPropagation(),r?.()},disabled:!c||o||!r,"aria-label":c?`Remove skill`:`Bundled skill cannot be removed`,title:c?void 0:`Bundled skills cannot be removed`,expandOnMobile:!1})]})})}var St=[{value:`all`,label:`All`,icon:N},{value:`installed`,label:`Installed`,icon:k},{value:`available`,label:`Available`,icon:h}],Ct=[{value:`skills`,label:`Skills`,icon:I},{value:`plugins`,label:`Plugins`,icon:ue}],wt=[{value:`vellum`,label:`Vellum`,icon:S},{value:`clawhub`,label:`Clawhub`,icon:j},{value:`skillssh`,label:`skills.sh`,icon:pe},{value:`custom`,label:`Custom`,icon:he},{value:`assistant-memory`,label:`Assistant's Memory`,icon:C}];function Tt({search:e,onSearchChange:t,filter:n,onFilterChange:r,isSearching:i,categories:a,category:o,onCategoryChange:s,counts:c,totalCount:l,showCounts:u,pluginsSupported:d}){return(0,G.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,G.jsx)(ye,{type:`search`,value:e,onChange:e=>{t(e.target.value)},placeholder:`Search superpowers`,"aria-label":`Search superpowers`,leftIcon:(0,G.jsx)(de,{className:`h-4 w-4`,"aria-hidden":!0}),rightIcon:i?(0,G.jsx)(P,{className:`h-4 w-4 animate-spin`,"aria-hidden":!0}):void 0,fullWidth:!0,wrapperClassName:`flex-1`}),(0,G.jsx)(Et,{filter:n,onFilterChange:r,categories:a,category:o,onCategoryChange:s,counts:c,totalCount:l,showCounts:u,pluginsSupported:d})]})}function Et(e){let t=Re(),[n,r]=(0,W.useState)(!1),i=(0,G.jsx)(a,{type:`button`,variant:`outlined`,iconOnly:(0,G.jsx)(He,{"aria-hidden":!0}),"aria-label":`Filter superpowers`,"aria-haspopup":t?`dialog`:`listbox`,"aria-expanded":n,tintColor:`var(--primary-base)`});if(t)return(0,G.jsx)(Dt,{...e,open:n,onOpenChange:r,trigger:i});let o=t=>{e.onFilterChange(t),r(!1)};return(0,G.jsxs)(ve.Root,{open:n,onOpenChange:r,children:[(0,G.jsx)(ve.Trigger,{asChild:!0,children:i}),(0,G.jsx)(ve.Content,{align:`end`,sideOffset:4,className:`w-44 overflow-hidden p-0`,children:(0,G.jsxs)(`ul`,{role:`listbox`,children:[(0,G.jsx)(kt,{label:`Status`,options:St,selected:e.filter,onSelect:o}),e.pluginsSupported&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}),(0,G.jsx)(kt,{label:`Type`,options:Ct,selected:e.filter,onSelect:o})]}),(0,G.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}),(0,G.jsx)(kt,{label:`Source`,options:wt,selected:e.filter,onSelect:o})]})})]})}function Dt({filter:e,onFilterChange:t,categories:n,category:r,onCategoryChange:i,counts:o,totalCount:s,showCounts:c,pluginsSupported:l,open:u,onOpenChange:d,trigger:f}){let p=[...n].sort((e,t)=>e.label.localeCompare(t.label));return(0,G.jsxs)(R.Root,{open:u,onOpenChange:d,children:[(0,G.jsx)(R.Trigger,{asChild:!0,children:f}),(0,G.jsxs)(R.Content,{className:`max-h-[85dvh]`,"aria-describedby":void 0,children:[(0,G.jsx)(`div`,{"aria-hidden":!0,className:`mx-auto mb-3 h-1 w-9 shrink-0 rounded-full bg-[var(--border-element)]`}),(0,G.jsx)(R.Header,{children:(0,G.jsx)(R.Title,{children:`Filters`})}),(0,G.jsxs)(R.Body,{className:`flex flex-col gap-3 pt-2`,children:[(0,G.jsx)(Ot,{label:`Status`,children:St.map(n=>(0,G.jsx)($,{icon:n.icon,label:n.label,active:e===n.value,onSelect:()=>t(n.value)},n.value))}),l&&(0,G.jsx)(Ot,{label:`Type`,children:Ct.map(n=>(0,G.jsx)($,{icon:n.icon,label:n.label,active:e===n.value,onSelect:()=>t(n.value)},n.value))}),(0,G.jsx)(Ot,{label:`Source`,children:wt.map(n=>(0,G.jsx)($,{icon:n.icon,label:n.label,active:e===n.value,onSelect:()=>t(n.value)},n.value))}),(0,G.jsxs)(Ot,{label:`Categories`,children:[(0,G.jsx)($,{icon:N,label:`All`,active:r===null,badge:c?s:void 0,onSelect:()=>i(null)}),p.map(e=>(0,G.jsx)($,{icon:vt(e.icon)??N,label:e.label,active:r===e.slug,badge:c?o[e.slug]??0:void 0,onSelect:()=>i(e.slug)},e.slug))]})]}),(0,G.jsx)(R.Footer,{children:(0,G.jsx)(a,{type:`button`,variant:`primary`,fullWidth:!0,onClick:()=>d(!1),children:`Done`})})]})]})}function Ot({label:e,children:t}){return(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`div`,{className:`px-2 pb-1 text-body-small-default uppercase tracking-wide`,style:{color:`var(--content-tertiary)`},children:e}),t]})}function $({icon:e,label:t,active:n,badge:r,onSelect:i}){return(0,G.jsx)(xe,{icon:e,label:t,active:n,activeVariant:`branded`,badge:r,trailingAction:n&&r==null?(0,G.jsx)(E,{className:`h-4 w-4 text-[var(--primary-base)]`,"aria-hidden":!0}):void 0,onSelect:i})}function kt({label:e,options:t,selected:n,onSelect:r}){return(0,G.jsxs)(`li`,{children:[(0,G.jsx)(`div`,{className:`px-3 pb-1 pt-2 text-body-small-default uppercase tracking-wide`,style:{color:`var(--content-tertiary)`},children:e}),(0,G.jsx)(`ul`,{children:t.map(e=>{let t=e.icon,i=n===e.value;return(0,G.jsx)(`li`,{children:(0,G.jsxs)(`button`,{type:`button`,onClick:()=>r(e.value),role:`option`,"aria-selected":i,className:`flex w-full items-center gap-2 px-3 py-1.5 text-left text-body-medium-lighter transition-colors hover:bg-[var(--surface-hover)]`,style:{color:i?`var(--primary-base)`:`var(--content-default)`},children:[(0,G.jsx)(t,{className:`h-4 w-4`,"aria-hidden":!0}),(0,G.jsx)(`span`,{className:`flex-1`,children:e.label}),i&&(0,G.jsx)(k,{className:`h-3.5 w-3.5`,"aria-hidden":!0})]})},e.value)})})]})}var At=300*1e3,jt=[],Mt=[];async function Nt(e,t,n){let r=await Ee({path:{assistant_id:e},query:{q:void 0,category:t},signal:n,throwOnError:!1});if(r.response?.status===404)return{plugins:[]};if(!r.response?.ok)throw Error(`Failed to load plugins`);return r.data??{plugins:[]}}function Pt(e,t){let[n,r]=(0,W.useState)({assistantId:e,latched:!1}),i=n.assistantId===e?n.latched:!1;return n.assistantId!==e&&r({assistantId:e,latched:!1}),(0,W.useEffect)(()=>{t&&r(t=>t.assistantId===e&&t.latched?t:{assistantId:e,latched:!0})},[e,t]),i||t}function Ft(e,t=null,n=!0){let r=t??void 0,i=u({queryKey:Pe({path:{assistant_id:e},query:{q:void 0,category:r}}),queryFn:({signal:t})=>Nt(e,r,t),enabled:!!e&&n,staleTime:At}),a=u({..._e(e),enabled:!!e&&n&&t!==null}),o=u({...Ae({path:{assistant_id:e},query:{q:void 0}}),enabled:!!e&&n,staleTime:At}),s=(0,W.useMemo)(()=>{let e=t===null?i.data?.plugins:a.data?.plugins??i.data?.plugins;return new Set((e??jt).map(e=>e.name))},[t,a.data?.plugins,i.data?.plugins]),c=(0,W.useMemo)(()=>{let e=i.data?.plugins??jt,n=o.data?.matches??Mt;return et(Qe(e,(t===null?n:n.filter(e=>(e.category??`system`)===t)).filter(e=>!s.has(e.name))))},[i.data?.plugins,o.data?.matches,t,s]),d=t===null?i.data:a.data,f=Pt(e,d?.categoryCounts!==void 0),p=Pt(e,(d?.plugins??jt).some(e=>e.enabled!==void 0)),m=l(),h=(0,W.useRef)(null);return(0,W.useEffect)(()=>{if(h.current===e||!o.isSuccess)return;let t=d?.plugins;if(!t?.length)return;let n=new Map((o.data?.matches??Mt).map(e=>[e.name,e.category]));t.some(e=>{let t=n.get(e.name);return t!=null&&t!==`system`&&(e.category??`system`)===`system`})&&(h.current=e,m.invalidateQueries({queryKey:Pe({path:{assistant_id:e},query:{q:void 0}})}))},[e,o.isSuccess,o.data?.matches,d?.plugins,m]),{items:c,isLoading:i.isLoading,catalogLoading:o.isLoading,isError:i.isError,isFetching:i.isFetching||o.isFetching,catalogError:o.isError,categorySupported:f,pluginToggleSupported:p,installedCategoryCounts:d?.categoryCounts,installedPlugins:d?.plugins??jt,installedTotal:d?.totalCount,catalogMatches:o.data?.matches??Mt,unfilteredInstalledNames:s}}function It(e){return u({...Fe({path:{assistant_id:e}}),select:e=>e.categories,staleTime:300*1e3})}var Lt=new Set([`all`,`installed`,`available`,`skills`,`plugins`,`vellum`,`clawhub`,`skillssh`,`custom`,`assistant-memory`]);function Rt(e){let t=e.get(`filter`),n=e.get(`category`);return{q:e.get(`q`)??``,filter:Vt(t)?t:`all`,category:n||null}}function zt(e,t){let n=new URLSearchParams(e);return t.q!==void 0&&Bt(n,`q`,t.q.trim()||null),t.filter!==void 0&&Bt(n,`filter`,t.filter===`all`?null:t.filter),t.category!==void 0&&Bt(n,`category`,t.category),n}function Bt(e,t,n){n===null?e.delete(t):e.set(t,n)}function Vt(e){return e!==null&&Lt.has(e)}function Ht(e){switch(e){case`installed`:return{kind:`installed`};case`available`:return{kind:`available`};case`vellum`:case`clawhub`:case`skillssh`:case`custom`:case`assistant-memory`:return{origin:e};default:return{}}}function Ut(e){return e!==`plugins`}function Wt(e){return e===`all`||e===`installed`||e===`available`||e===`plugins`}function Gt(e){switch(e){case`installed`:return`installed`;case`available`:return`available`;default:return`all`}}function Kt(e,t){let[n,r]=(0,W.useState)(e);return(0,W.useEffect)(()=>{let n=setTimeout(()=>{r(e)},t);return()=>clearTimeout(n)},[e,t]),n}var qt=300,Jt=`vellum:superpowers:tipDismissed`;function Yt(e){return[...e].sort((e,t)=>e.installed===t.installed?e.name.localeCompare(t.name,void 0,{sensitivity:`base`}):e.installed?-1:1)}function Xt({assistantId:e}){let r=c(),i=o(),a=l(),d=Re(),f=Ie.use.version(),p=ze(),[m,h]=s(),{q:g,filter:_,category:y}=(0,W.useMemo)(()=>Rt(m),[m]),b=m.get(`plugin`),x=(0,W.useCallback)(e=>{h(t=>zt(t,e),{replace:!0})},[h]),S=m.get(`success`),C=(0,W.useRef)(!1);(0,W.useEffect)(()=>{S!==`true`||C.current||(C.current=!0,b&&z.success(`Installed ${b}`),h(e=>{let t=new URLSearchParams(e);return t.delete(`success`),t},{replace:!0}))},[S,b,h]);let[w,T]=(0,W.useState)(g),E=Kt(w.trim(),qt),D=(0,W.useRef)(g);(0,W.useEffect)(()=>{if(g!==D.current&&(D.current=g,g!==w.trim())){T(g);return}E!==g&&E===w.trim()&&(D.current=E,x({q:E}))},[E,g,w,x]);let O=(0,W.useCallback)(e=>x({filter:e}),[x]),k=(0,W.useCallback)(e=>x({category:e}),[x]),[ne,re]=(0,W.useState)(()=>n(Jt,!1)),ie=(0,W.useCallback)(()=>{re(!0),t(Jt,!0)},[]),A=!p&&_===`plugins`?`all`:_,j=Ut(A),ae=p&&Wt(A),M=Gt(A),{handleInstall:N,handleRemove:oe,isInstallingSkill:P,isRemovingSkill:se,skillPendingRemoval:ce,confirmRemove:le,cancelRemove:ue}=ee(e),{data:de=[]}=It(e),{origin:fe,kind:pe}=(0,W.useMemo)(()=>Ht(A),[A]),F=u({...De({path:{assistant_id:e},query:{include:`catalog`,origin:fe,kind:pe,q:E||void 0,category:y??void 0}}),select:e=>({skills:e.skills,categoryCounts:e.categoryCounts,totalCount:e.totalCount}),enabled:!!e&&j}),me=u({...De({path:{assistant_id:e},query:{include:`catalog`,origin:fe,kind:pe,q:E||void 0}}),select:e=>({skills:e.skills,categoryCounts:e.categoryCounts,totalCount:e.totalCount}),enabled:!!e&&j&&y!==null}),{items:he,isLoading:ge,catalogLoading:I,isError:_e,isFetching:L,catalogError:ve,categorySupported:ye,installedCategoryCounts:be,installedPlugins:R,installedTotal:xe,catalogMatches:Ce,unfilteredInstalledNames:we}=Ft(e,y,p),B=ae&&(y===null||ye),Te=(0,W.useCallback)(t=>te(a,e,t),[e,a]),[Ee,ke]=(0,W.useState)(null),[Ae,Ne]=(0,W.useState)(null),[Pe,Fe]=(0,W.useState)(null),[V,H]=(0,W.useState)(null),[U,Be]=(0,W.useState)(null),He=Oe({onMutate:e=>ke(e.body.name),onSuccess:(e,t)=>z.success(`Installed ${t.body.name}`),onError:()=>z.error(Je),onSettled:(e,t,n)=>{ke(null),Te(n.body.name)}}),Ue=Me({onMutate:e=>Ne(e.path.name),onSuccess:(e,t)=>z.success(`Removed ${t.path.name}`),onError:()=>z.error(Ye),onSettled:(e,t,n)=>{Ne(null),Te(n.path.name)}}),We=je({onMutate:e=>Fe(e.path.name),onSuccess:(e,t)=>z.success(e.outcome===`already-up-to-date`?`${t.path.name} is already up to date`:`Upgraded ${t.path.name} to ${nt(e.toCommit)}`),onError:()=>z.error(Xe),onSettled:(e,t,n)=>{Fe(null),Te(n.path.name)}}),K=(0,W.useCallback)(e=>h(t=>{let n=new URLSearchParams(t);return n.set(`plugin`,e.name),n}),[h]),Ze=(0,W.useCallback)(()=>h(e=>{let t=new URLSearchParams(e);return t.delete(`plugin`),t},{replace:!0}),[h]),Qe=(0,W.useCallback)(t=>{He.mutate({path:{assistant_id:e},body:{name:t.name}})},[e,He]),et=(0,W.useCallback)(()=>{V&&(Ue.mutate({path:{assistant_id:e,name:V.name}}),H(null))},[e,V,Ue]),q=(0,W.useCallback)(t=>{We.mutate({path:{assistant_id:e,name:t},body:{}})},[e,We]),rt=(0,W.useCallback)(()=>{U&&(q(U.name),Be(null))},[U,q]),it=(0,W.useCallback)((e,t)=>{if(ct(t)){Be(e);return}q(e.name)},[q]),J=(0,W.useMemo)(()=>j?F.data?.skills??[]:[],[j,F.data?.skills]),at=(0,W.useMemo)(()=>B?tt(he,M).filter(e=>$e(e,E)):[],[B,he,M,E]),ot=(0,W.useMemo)(()=>Yt([...J.map(e=>({type:`skill`,key:`skill:${e.id}`,name:e.name,installed:v(e),skill:e})),...at.map(e=>({type:`plugin`,key:`plugin:${e.name}`,name:e.name,installed:e.status===`installed`,item:e}))]),[J,at]),Y=y===null?F.data:me.data,st=Zt(j,Y?.skills??J,Y?.categoryCounts,Y?.totalCount),X=Qt(ae&&ye,be,R,xe,Ce,we,M),{counts:lt,totalCount:ut}=(0,W.useMemo)(()=>{let e={...st.counts};for(let[t,n]of Object.entries(X.counts))e[t]=(e[t]??0)+n;return{counts:e,totalCount:st.totalCount+X.totalCount}},[st,X]),dt=j&&F.isLoading,Z=j&&F.isError,ft=B&&ge,Q=B&&_e,mt=(Z||!j)&&(Q||!B)&&(Z||Q),_t=dt||ft,vt=!!E&&(j&&F.isFetching||B&&L&&!ge),bt=w.trim().length>0;if(b&&!p&&f===null)return null;if(b&&p){let t=he.find(e=>e.name===b),n={assistantId:e,name:b,externalHint:t?.external,enabled:t?.enabled,onBack:Ze};return d?(0,G.jsx)(ht,{...n}):(0,G.jsx)(pt,{...n})}let St=(0,G.jsx)(`div`,{className:`min-w-0 flex-1 overflow-y-auto`,children:_t?(0,G.jsx)(nn,{}):mt?(0,G.jsx)(rn,{}):ot.length===0?B&&I&&M!==`installed`?(0,G.jsx)(nn,{}):(0,G.jsx)(an,{filter:A,category:y}):(0,G.jsx)(`ul`,{className:`flex flex-col gap-2`,children:ot.map(t=>(0,G.jsx)(`li`,{children:t.type===`skill`?(0,G.jsx)(xt,{skill:t.skill,onSelect:()=>r(Le.skills.detail(t.skill.id),{state:{listSearch:i.search}}),onInstall:()=>N(t.skill),onRemove:()=>oe(t.skill),isInstalling:P(t.skill),isRemoving:se(t.skill)}):t.installed?(0,G.jsx)($t,{assistantId:e,item:t.item,onSelect:()=>K(t.item),onRemove:()=>H(t.item),onUpgrade:e=>it(t.item,e),isRemoving:Ae===t.item.name,isUpgrading:Pe===t.item.name}):(0,G.jsx)(gt,{assistantId:e,item:t.item,onSelect:()=>K(t.item),onInstall:()=>Qe(t.item),isInstalling:Ee===t.item.name})},t.key))})});return(0,G.jsxs)(`div`,{className:`flex h-full min-h-0 flex-1 flex-col gap-4`,children:[!ne&&(0,G.jsx)(en,{onDismiss:ie}),(0,G.jsx)(Tt,{search:w,onSearchChange:T,filter:A,onFilterChange:O,isSearching:vt,categories:de,category:y,onCategoryChange:k,counts:lt,totalCount:ut,showCounts:!bt,pluginsSupported:p}),!_t&&!mt&&Z?(0,G.jsx)(tn,{text:`Skills are temporarily unavailable. Plugins are still listed below.`}):null,!_t&&!mt&&Q?(0,G.jsx)(tn,{text:`Plugins are temporarily unavailable. Skills are still listed below.`}):null,B&&ve&&!ft&&!Q?(0,G.jsx)(tn,{text:`Plugin catalog browsing is temporarily unavailable. Installed plugins are still listed below.`}):null,(0,G.jsxs)(`div`,{className:`flex min-h-0 flex-1 gap-6`,children:[(0,G.jsx)(`aside`,{className:`hidden w-56 shrink-0 overflow-y-auto sm:block`,children:(0,G.jsx)(yt,{ariaLabel:`Superpower categories`,selected:y,onSelect:k,counts:lt,totalCount:ut,showCounts:!bt,categories:de})}),St]}),(0,G.jsx)(Ve,{skillName:ce?.name??null,onConfirm:le,onCancel:ue}),(0,G.jsx)(Se,{open:V!==null,title:`Remove plugin`,message:V?Ge(V.name):``,confirmLabel:`Remove`,destructive:!0,onConfirm:et,onCancel:()=>H(null)}),(0,G.jsx)(Se,{open:U!==null,title:`Upgrade plugin`,message:U?Ke(U.name):``,confirmLabel:qe,destructive:!0,onConfirm:rt,onCancel:()=>Be(null)})]})}function Zt(e,t,n,r){return(0,W.useMemo)(()=>{if(!e)return{counts:{},totalCount:0};if(n&&Object.keys(n).length>0)return{counts:n,totalCount:r??t.length};let i={};for(let e of t){let t=e.category??`system`;i[t]=(i[t]??0)+1}return{counts:i,totalCount:r??t.length}},[e,t,n,r])}function Qt(e,t,n,r,i,a,o){return(0,W.useMemo)(()=>{if(!e)return{counts:{},totalCount:0};let s={},c=o!==`available`,l=o===`all`||o===`available`;if(c)if(t&&Object.keys(t).length>0)Object.assign(s,t);else for(let e of n){let t=e.category??`system`;s[t]=(s[t]??0)+1}let u=0;if(l)for(let e of i){if(a.has(e.name))continue;let t=e.category??`system`;s[t]=(s[t]??0)+1,u+=1}let d=r??n.length;return{counts:s,totalCount:(c?d:0)+u}},[e,t,n,r,i,a,o])}function $t({assistantId:e,item:t,onSelect:n,onRemove:r,onUpgrade:i,isRemoving:a,isUpgrading:o}){let s=X({assistantId:e,name:t.name}).data;return(0,G.jsx)(gt,{assistantId:e,item:t,drift:s,onSelect:n,onRemove:r,onUpgrade:()=>i(s),isRemoving:a,isUpgrading:o})}function en({onDismiss:e}){return(0,G.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg px-4 py-2.5 text-body-small-default`,style:{backgroundColor:`var(--surface-base)`,color:`var(--content-secondary)`},children:[(0,G.jsx)(fe,{className:`h-4 w-4 shrink-0`,style:{color:`var(--primary-base)`}}),(0,G.jsx)(`p`,{className:`flex-1`,children:`Create a new custom skill by describing what you want in chat, or install plugins to extend your assistant.`}),(0,G.jsx)(a,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:(0,G.jsx)(ge,{"aria-hidden":!0}),onClick:e,"aria-label":`Dismiss tip`,tintColor:`var(--content-tertiary)`,expandOnMobile:!1})]})}function tn({text:e}){return(0,G.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg px-4 py-2.5 text-body-small-default`,style:{backgroundColor:`var(--surface-base)`,color:`var(--content-secondary)`},children:[(0,G.jsx)(ne,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`},"aria-hidden":!0}),(0,G.jsx)(`p`,{className:`flex-1`,children:e})]})}function nn(){return(0,G.jsx)(`div`,{className:`flex items-center justify-center py-16`,children:(0,G.jsx)(P,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})})}function rn(){return(0,G.jsx)(p.Root,{children:(0,G.jsxs)(p.Body,{className:`flex flex-col items-center justify-center py-16 text-center`,children:[(0,G.jsx)(me,{className:`mb-3 h-8 w-8`,style:{color:`var(--system-danger)`},"aria-hidden":!0}),(0,G.jsx)(`h3`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:`Failed to load superpowers`}),(0,G.jsx)(`p`,{className:`mt-1 max-w-sm text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Something went wrong. Try refreshing the page.`})]})})}function an({filter:e,category:t}){let{title:n,subtitle:r,Icon:i}=on(e,t);return(0,G.jsx)(y,{icon:i,title:n,subtitle:r})}function on(e,t){if(t)return{title:`Nothing in this category`,subtitle:`Try selecting a different category or clearing the filter.`,Icon:N};switch(e){case`installed`:return{title:`No Superpowers Installed`,subtitle:`Ask your assistant in chat to search for and install new skills and plugins.`,Icon:I};case`available`:return{title:`Nothing Left to Install`,subtitle:`All available skills and plugins are installed.`,Icon:k};case`skills`:return{title:`No Skills Found`,subtitle:`Ask your assistant in chat to search for and install new skills.`,Icon:I};case`plugins`:return{title:`No Plugins Found`,subtitle:`Browse the catalog to install plugins that extend your assistant.`,Icon:ue};case`vellum`:return{title:`No Vellum Skills`,subtitle:`No bundled Vellum skills found.`,Icon:I};case`clawhub`:return{title:`No Clawhub Skills`,subtitle:`No Clawhub skills found. Try searching the catalog.`,Icon:I};case`skillssh`:return{title:`No skills.sh Skills`,subtitle:`No skills.sh skills found. Try searching the catalog.`,Icon:I};case`custom`:return{title:`No Custom Skills`,subtitle:`Create a custom skill by describing what you want in chat.`,Icon:I};case`assistant-memory`:return{title:`No Skills From Memory`,subtitle:`Skills your assistant authors from past conversations will appear here.`,Icon:I};default:return{title:`No Superpowers Available`,subtitle:`Check your connection to the Vellum catalog.`,Icon:ne}}}function sn(){return(0,G.jsx)(Xt,{assistantId:U()})}export{sn as SuperpowersPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{n}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as r}from"./useInfiniteQuery-Dk8q0n49.js";import{t as i}from"./jsx-runtime-D3ZM-ToX.js";import{t as a}from"./chevron-down-B5A-0g8A.js";import{t as o}from"./circle-check-big-DSsDH5_6.js";import{t as s}from"./circle-x-17dBxF06.js";import{t as c}from"./clock-BYTc0Ds9.js";import{t as l}from"./loader-circle-XREx3i4W.js";import{t as u}from"./triangle-alert-CQfiAg_t.js";import{t as d}from"./notice-BMK7xqUw.js";import"./src-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{n}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as r}from"./useInfiniteQuery-Dk8q0n49.js";import{t as i}from"./jsx-runtime-D3ZM-ToX.js";import{t as a}from"./chevron-down-B5A-0g8A.js";import{t as o}from"./circle-check-big-DSsDH5_6.js";import{t as s}from"./circle-x-17dBxF06.js";import{t as c}from"./clock-BYTc0Ds9.js";import{t as l}from"./loader-circle-XREx3i4W.js";import{t as u}from"./triangle-alert-CQfiAg_t.js";import{t as d}from"./notice-BMK7xqUw.js";import"./src-te3YTBG-.js";import{t as f}from"./tag-NXcyiTkK.js";import{u as p}from"./routes-D9sNqB_o.js";import{i as m,t as h}from"./use-platform-gate-C65D14xY.js";import{M as g}from"./react-query.gen-BC3STDmV.js";import{t as _}from"./platform-login-notice-CdYiKsE8.js";import{t as v}from"./use-active-assistant-id-CldxA_-M.js";var y=e(t(),1),b=i();function x(e){switch(e){case`lifecycle`:return`Lifecycle`;case`upgrade`:return`Upgrade`;case`rollback`:return`Rollback`;case`crash`:return`Crash`;case`idle_sleep`:return`Idle Sleep`;case`wake`:return`Wake`;case`profiler`:return`Profiler`;case`other`:return`Other`;default:return e}}function S(e){switch(e){case`started`:return`Started`;case`succeeded`:return`Succeeded`;case`failed`:return`Failed`;case`in_progress`:return`In Progress`;default:return e}}function C(e){return e===`succeeded`}function w(e){return e===`failed`}function T(e){return new Date(e).toLocaleString(void 0,{year:`numeric`,month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`})}function E(e){if(e.type!==`idle_sleep`)return!1;let t=e.details?.idle_timeout_seconds;return typeof t==`number`&&t>=21600}function D(e,t){switch(e){case`wake`:return`positive`;case`rollback`:return`warning`;case`crash`:return`negative`;case`idle_sleep`:return t&&E(t)?`warning`:`neutral`;default:return`neutral`}}function O({type:e,event:t}){return(0,b.jsx)(f,{tone:D(e,t),children:x(e)})}function k({status:e}){let t=S(e);return C(e)?(0,b.jsx)(f,{tone:`positive`,leftIcon:(0,b.jsx)(o,{}),children:t}):w(e)?(0,b.jsx)(f,{tone:`negative`,leftIcon:(0,b.jsx)(s,{}),children:t}):(0,b.jsx)(f,{tone:`neutral`,children:t})}function A({event:e}){let[t,n]=(0,y.useState)(!1),r=e.details!==null&&e.details!==void 0&&Object.keys(e.details).length>0;return(0,b.jsxs)(`div`,{className:`rounded-xl border p-4`,style:{background:`var(--surface-lift)`,borderColor:`var(--border-base)`},children:[(0,b.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row sm:items-start sm:justify-between`,children:[(0,b.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-1.5`,children:[(0,b.jsx)(`p`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:e.display_text}),(0,b.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5`,children:[(0,b.jsx)(O,{type:e.type,event:e}),(0,b.jsx)(k,{status:e.event_status}),E(e)&&(0,b.jsx)(f,{tone:`warning`,leftIcon:(0,b.jsx)(u,{className:`h-3 w-3`}),children:`Long sleep`})]})]}),(0,b.jsxs)(`div`,{className:`text-body-small-default flex shrink-0 items-center gap-1.5`,style:{color:`var(--content-tertiary)`},children:[(0,b.jsx)(c,{className:`h-3 w-3`}),(0,b.jsx)(`span`,{children:T(e.occurred_at)})]})]}),r&&(0,b.jsxs)(`div`,{className:`mt-2`,children:[(0,b.jsxs)(`button`,{type:`button`,onClick:()=>n(e=>!e),className:`text-body-small-default flex items-center gap-1`,style:{color:`var(--content-tertiary)`},children:[(0,b.jsx)(a,{className:`h-3 w-3 transition-transform ${t?`rotate-180`:``}`}),t?`Hide details`:`Show details`]}),t&&(0,b.jsx)(`pre`,{className:`mt-2 overflow-x-auto rounded-md p-3 text-body-small-default`,style:{background:`var(--surface-base)`,color:`var(--content-default)`},children:JSON.stringify(e.details,null,2)})]})]})}function j({assistantId:e}){let{data:t,isLoading:n,isError:i,isFetchingNextPage:a,hasNextPage:o,fetchNextPage:s}=r({...g({path:{assistant_id:e}}),initialPageParam:0,getNextPageParam:(e,t)=>{if(e.next)return t.reduce((e,t)=>e+t.results.length,0)}}),c=t?.pages.flatMap(e=>e.results)??[];return(0,b.jsxs)(`div`,{className:`space-y-4`,children:[(0,b.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Lifecycle events for your assistant from the last 30 days, newest first.`}),n?(0,b.jsxs)(`div`,{className:`text-body-medium-lighter flex items-center gap-2`,style:{color:`var(--content-tertiary)`},children:[(0,b.jsx)(l,{className:`h-4 w-4 animate-spin`}),`Loading system events...`]}):i?(0,b.jsxs)(`div`,{className:`text-body-medium-lighter flex items-center gap-2`,style:{color:`var(--system-negative-strong)`},children:[(0,b.jsx)(u,{className:`h-4 w-4 shrink-0`}),`Failed to load system events. Please refresh and try again.`]}):c.length===0?(0,b.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`No system events recorded in the last 30 days.`}):(0,b.jsxs)(`div`,{className:`space-y-2`,children:[c.map(e=>(0,b.jsx)(A,{event:e},e.id)),o&&(0,b.jsx)(`div`,{className:`pt-2 text-center`,children:(0,b.jsx)(`button`,{type:`button`,onClick:()=>s(),disabled:a,className:`text-body-medium-default flex w-full items-center justify-center gap-2 rounded-md border px-4 py-2 transition-colors disabled:cursor-not-allowed disabled:opacity-50`,style:{borderColor:`var(--border-element)`,color:`var(--content-secondary)`},children:a?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(l,{className:`h-4 w-4 animate-spin`}),`Loading older events...`]}):`Load older events`})})]})]})}function M(){let e=m({platformHostedOnly:!0}),t=h(),r=v();return e===`gated`?(0,b.jsx)(n,{replace:!0,to:p.logs.root}):e===`disabled`?(0,b.jsx)(_,{children:`Log in to the Vellum platform to view system events.`}):t?(0,b.jsx)(j,{assistantId:r}):(0,b.jsx)(d,{tone:`warning`,children:`System events aren't available for the current assistant.`})}export{M as SystemEventsPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{u as n}from"./chunk-5KNZJZUH-Bsoom5--.js";import{u as r}from"./routes-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{u as n}from"./chunk-5KNZJZUH-Bsoom5--.js";import{u as r}from"./routes-D9sNqB_o.js";var i=e(t(),1);function a(){let e=n();return(0,i.useEffect)(()=>{e(r.logs.systemEvents,{replace:!0})},[e]),null}export{a as SystemEventsRedirectPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-Dy5001j6.js";import{f as r,m as i}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as a}from"./jsx-runtime-D3ZM-ToX.js";import{t as o}from"./card-DRIctGVs.js";import"./src-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-Dy5001j6.js";import{f as r,m as i}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as a}from"./jsx-runtime-D3ZM-ToX.js";import{t as o}from"./card-DRIctGVs.js";import"./src-te3YTBG-.js";import{n as s,t as c}from"./input-hw3el2GJ.js";import{t as l}from"./use-app-theme-Dg8A6vPA.js";import{t as u}from"./workspace-theme-tokens-DNNwX-XS.js";var d=e(t(),1),f=a(),p=`__THEME_STAGE_READY__`;function m(e){return e===`chat`?`chat`:`sampler`}function h(e){if(e)try{let t=JSON.parse(e);if(typeof t!=`object`||!t||Array.isArray(t))return;let n={};for(let[e,r]of Object.entries(t))typeof r==`string`&&(n[e]=r);return n}catch{return}}var g=`w-[720px]`;function _({children:e}){return(0,f.jsx)(`div`,{className:`text-xs font-medium uppercase tracking-wide text-[var(--content-tertiary)]`,children:e})}function v(){return(0,f.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,f.jsx)(_,{children:`Text`}),(0,f.jsx)(`div`,{className:`text-[15px] text-[var(--content-default)]`,children:`Primary text — the main reading surface of the app.`}),(0,f.jsx)(`div`,{className:`text-[15px] text-[var(--content-secondary)]`,children:`Secondary text — supporting copy and descriptions.`}),(0,f.jsx)(`div`,{className:`text-sm text-[var(--content-tertiary)]`,children:`Tertiary text — captions, labels, and placeholders.`}),(0,f.jsx)(`div`,{className:`text-sm text-[var(--content-quiet)]`,children:`Quiet text — metadata and timestamps.`}),(0,f.jsx)(`div`,{className:`text-sm text-[var(--content-faint)]`,children:`Faint text — the last legible step of the ramp.`})]})}function y(){return(0,f.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,f.jsx)(_,{children:`Buttons`}),(0,f.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,f.jsx)(n,{children:`Primary`}),(0,f.jsx)(n,{variant:`outlined`,children:`Secondary`}),(0,f.jsx)(n,{disabled:!0,children:`Disabled`})]})]})}function b(){return(0,f.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,f.jsx)(_,{children:`Accent`}),(0,f.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,f.jsx)(`div`,{className:`rounded-md bg-[var(--primary-base)] px-4 py-2 text-sm font-medium text-[var(--content-inset)]`,children:`Accent fill`}),(0,f.jsx)(`div`,{className:`rounded-md border border-[var(--border-active)] px-4 py-2 text-sm text-[var(--content-default)]`,children:`Active border`}),(0,f.jsx)(`div`,{className:`h-6 w-6 rounded-full bg-[var(--primary-hover)]`}),(0,f.jsx)(`div`,{className:`h-6 w-6 rounded-full bg-[var(--primary-active)]`})]})]})}function x(){return(0,f.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,f.jsx)(_,{children:`Surfaces and borders`}),(0,f.jsx)(o,{elevated:!0,children:(0,f.jsxs)(`div`,{className:`flex flex-col gap-2 p-4`,children:[(0,f.jsx)(`div`,{className:`text-[15px] font-medium text-[var(--content-default)]`,children:`Raised card`}),(0,f.jsx)(`div`,{className:`text-sm text-[var(--content-secondary)]`,children:`Elevated surfaces sit above panels and the page background.`}),(0,f.jsx)(`div`,{className:`border-t border-[var(--border-subtle)] pt-2 text-sm text-[var(--content-tertiary)]`,children:`Subtle divider above this line.`})]})}),(0,f.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,f.jsx)(`div`,{className:`rounded-md border border-[var(--border-base)] bg-[var(--surface-overlay)] px-3 py-2 text-sm text-[var(--content-secondary)]`,children:`Overlay surface`}),(0,f.jsx)(`div`,{className:`rounded-md border border-[var(--border-element)] bg-[var(--surface-active)] px-3 py-2 text-sm text-[var(--content-secondary)]`,children:`Active surface`})]})]})}function S(){return(0,f.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,f.jsx)(_,{children:`Inputs`}),(0,f.jsx)(c,{fullWidth:!0,placeholder:`A placeholder in an empty field`,readOnly:!0}),(0,f.jsx)(s,{fullWidth:!0,readOnly:!0,rows:2,value:`Text someone has already typed into a field.`})]})}function C({children:e}){return(0,f.jsx)(`div`,{className:`group/msg flex justify-end`,children:(0,f.jsx)(`div`,{className:`flex w-full min-w-0 flex-col gap-2 items-end`,children:(0,f.jsx)(`div`,{className:`max-w-[80%] rounded-lg bg-[var(--user-bubble-bg,var(--surface-lift))] px-4 py-3 text-[var(--user-bubble-text,var(--content-default))] flex flex-col gap-2`,children:(0,f.jsx)(`div`,{className:`break-words text-[15px]`,children:e})})})})}function w({children:e}){return(0,f.jsx)(`div`,{className:`group/msg flex justify-start`,children:(0,f.jsx)(`div`,{className:`flex w-full min-w-0 flex-col gap-2 items-start`,children:(0,f.jsx)(`div`,{className:`w-full text-[var(--content-default)]`,children:(0,f.jsx)(`div`,{className:`break-words text-[15px] w-full`,children:e})})})})}function T(){return(0,f.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,f.jsx)(_,{children:`Messages`}),(0,f.jsx)(C,{children:`A message from the user, in its bubble.`}),(0,f.jsx)(w,{children:`A reply from the assistant, rendered full-width on the page surface.`})]})}function E(){return(0,f.jsxs)(`div`,{"data-testid":`theme-stage-sampler`,className:`${g} flex min-h-[1080px] flex-col gap-6 bg-[var(--background)] p-8`,children:[(0,f.jsx)(`div`,{className:`text-lg font-semibold text-[var(--content-default)]`,children:`Theme sampler`}),(0,f.jsx)(v,{}),(0,f.jsx)(b,{}),(0,f.jsx)(y,{}),(0,f.jsx)(x,{}),(0,f.jsx)(S,{}),(0,f.jsx)(T,{})]})}function D(){return(0,f.jsxs)(`div`,{"data-testid":`theme-stage-chat`,className:`${g} flex h-[760px] flex-col bg-[var(--background)]`,children:[(0,f.jsx)(`div`,{className:`flex items-center border-b border-[var(--border-base)] bg-[var(--surface-overlay)] px-5 py-3`,children:(0,f.jsx)(`div`,{className:`text-[15px] font-medium text-[var(--content-default)]`,children:`New conversation`})}),(0,f.jsxs)(`div`,{className:`flex flex-1 flex-col justify-end gap-4 overflow-hidden px-5 py-4`,children:[(0,f.jsx)(C,{children:`Can you summarize the quarterly report before tomorrow's meeting?`}),(0,f.jsx)(w,{children:`Done — the summary is ready. Revenue grew steadily, the two flagged risks from last quarter are resolved, and I pulled the three charts worth showing into a separate page.`}),(0,f.jsx)(C,{children:`Perfect. Send it to the team in the morning.`}),(0,f.jsx)(w,{children:`Scheduled for 9am. I'll include the charts and a one-paragraph version for anyone skimming on their phone.`})]}),(0,f.jsxs)(`div`,{className:`flex items-end gap-2 border-t border-[var(--border-base)] px-5 py-4`,children:[(0,f.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,f.jsx)(s,{fullWidth:!0,readOnly:!0,rows:1,placeholder:`Message your assistant`})}),(0,f.jsx)(n,{children:`Send`})]})]})}function O(){let e=r(),[t]=i(),n=m(e.view),a=t.get(`tokens`),o=(0,d.useMemo)(()=>h(a),[a]);return l(),(0,d.useEffect)(()=>(u(o),()=>{u(void 0)}),[o]),(0,d.useEffect)(()=>{let e=!1;return document.title=`theme-stage`,(document.fonts?.ready??Promise.resolve()).then(()=>{requestAnimationFrame(()=>{requestAnimationFrame(()=>{e||(document.title=p)})})}),()=>{e=!0}},[n,o]),(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(`style`,{children:`* { transition: none !important; animation: none !important; caret-color: transparent !important; } html, body { background: var(--background); }`}),n===`chat`?(0,f.jsx)(D,{}):(0,f.jsx)(E,{})]})}export{O as ThemeStagePage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./createLucideIcon-CAM1RhH8.js";import{t}from"./shield-check-22NwY9JM.js";import{t as n}from"./shield-fzs_emVe.js";import{n as r,r as i,t as a}from"./api-errors-CFiCT7Ap.js";import{_ as o,d as s,f as c,g as l,p as u}from"./sdk.gen-
|
|
1
|
+
import{t as e}from"./createLucideIcon-CAM1RhH8.js";import{t}from"./shield-check-22NwY9JM.js";import{t as n}from"./shield-fzs_emVe.js";import{n as r,r as i,t as a}from"./api-errors-CFiCT7Ap.js";import{_ as o,d as s,f as c,g as l,p as u}from"./sdk.gen-B5ygTzyg.js";var d=e(`lock`,[[`rect`,{width:`18`,height:`11`,x:`3`,y:`11`,rx:`2`,ry:`2`,key:`1w4ew1`}],[`path`,{d:`M7 11V7a5 5 0 0 1 10 0v4`,key:`fwvmzm`}]]),f=e(`shield-off`,[[`path`,{d:`m2 2 20 20`,key:`1ooewy`}],[`path`,{d:`M5 5a1 1 0 0 0-1 1v7c0 5 3.5 7.5 7.67 8.94a1 1 0 0 0 .67.01c2.35-.82 4.48-1.97 5.9-3.71`,key:`1jlk70`}],[`path`,{d:`M9.309 3.652A12.252 12.252 0 0 0 11.24 2.28a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1v7a9.784 9.784 0 0 1-.08 1.264`,key:`18rp1v`}]]);async function p(e){let{data:t,error:n,response:o}=await l({path:{assistant_id:e},throwOnError:!1});if(r(o,n,`Failed to fetch global thresholds.`),!o.ok||!t){let e=i(n,o,`Failed to fetch global thresholds.`);throw new a(o.status,e)}return t}async function m(e,t){let{data:n,error:s,response:c}=await o({path:{assistant_id:e},body:t,throwOnError:!1});if(r(c,s,`Failed to update global thresholds.`),!c.ok||!n){let e=i(s,c,`Failed to update global thresholds.`);throw new a(c.status,e)}return n}async function h(e,t){let{data:n,error:o,response:s}=await c({path:{assistant_id:e,conversation_id:t},throwOnError:!1});if(s?.status===404)return null;if(r(s,o,`Failed to fetch conversation threshold override.`),!s.ok){let e=i(o,s,`Failed to fetch conversation threshold override.`);throw new a(s.status,e)}return n?.threshold??null}async function g(e,t,n){let{error:o,response:s}=await u({path:{assistant_id:e,conversation_id:t},body:{threshold:n},throwOnError:!1});if(r(s,o,`Failed to set conversation threshold override.`),!s.ok){let e=i(o,s,`Failed to set conversation threshold override.`);throw new a(s.status,e)}}async function _(e,t){let{error:n,response:o}=await s({path:{assistant_id:e,conversation_id:t},throwOnError:!1});if(r(o,n,`Failed to delete conversation threshold override.`),!o.ok&&o.status!==204){let e=i(n,o,`Failed to delete conversation threshold override.`);throw new a(o.status,e)}}var v=[{id:`strict`,label:`Strict`,riskThreshold:`none`,description:`Always ask before acting. No actions are auto-approved.`,icon:d},{id:`conservative`,label:`Conservative`,riskThreshold:`low`,description:`Auto-approve low-risk actions, like web searches and reading and writing files in its own workspace.`,icon:t},{id:`relaxed`,label:`Relaxed`,riskThreshold:`medium`,description:`Auto-approve low and medium-risk actions, like changing files outside its own workspace.`,icon:n},{id:`fullAccess`,label:`Full access`,riskThreshold:`high`,description:`Auto-approve all actions, including high-risk and unrecognized commands. Your assistant will never ask for permission.`,icon:f}];function y(e){return v.find(t=>t.riskThreshold===e)??v[1]}function b(e,t){return e.riskThreshold===t?{action:`clear`}:{action:`set`,threshold:e.riskThreshold}}export{h as a,m as c,_ as i,f as l,b as n,p as o,y as r,g as s,v as t,d as u};
|