@vellumai/web 0.11.1 → 0.11.2-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/README.md +1 -1
- package/dist/assets/{AnimatePresence-D23js3-M.js → AnimatePresence-CHo6D7IH.js} +1 -1
- package/dist/assets/{BundleConfirmPage-C1-BZKI9.js → BundleConfirmPage-j6ko1Z2E.js} +1 -1
- package/dist/assets/{a2a-invite-CfhpXDTT.js → a2a-invite-Bld7VHkJ.js} +1 -1
- package/dist/assets/{about-page-Dtg-I99x.js → about-page-BBS2ZLwu.js} +1 -1
- package/dist/assets/access-CVnesk0m.js +1 -0
- package/dist/assets/{account-page-DP2HVinz.js → account-page-mMG1nL1O.js} +1 -1
- package/dist/assets/{account-shell-BxZ339N3.js → account-shell-BmH96-Ie.js} +1 -1
- package/dist/assets/{acp-run-actions-BGbBYETY.js → acp-run-actions-zSUs8U3N.js} +1 -1
- package/dist/assets/acp-run-detail-panel-SN6NIuW5.js +5 -0
- package/dist/assets/{acp-run-store-CmGaPJm1.js → acp-run-store-DdzY8U9Y.js} +1 -1
- package/dist/assets/activity-steps-panel-bduSS8_d.js +1 -0
- package/dist/assets/{add-credential-modal-DQZ43BJU.js → add-credential-modal-4zzd0MPK.js} +1 -1
- package/dist/assets/add-credits-modal-DNYP2NMD.js +1 -0
- package/dist/assets/ai-page-BMqECtJX.js +1 -0
- package/dist/assets/android-consumption-only-D3L1Nc41.js +1 -0
- package/dist/assets/{animated-avatar-CDeJNhwm.js → animated-avatar-B0vCEKkY.js} +1 -1
- package/dist/assets/{api-C8TlQNEU.js → api-CGsj1Pig.js} +1 -1
- package/dist/assets/{api-key-screen-CoLZh8vw.js → api-key-screen-tqtaQUVf.js} +1 -1
- package/dist/assets/api-pN-AgY8Q.js +1 -0
- package/dist/assets/{app-card-DgDV-yMd.js → app-card-BJigGog3.js} +1 -1
- package/dist/assets/{app-info-Bdfw54u1.js → app-info-BDq_9VB8.js} +1 -1
- package/dist/assets/archive-BQ3zdIPv.js +1 -0
- package/dist/assets/{archive-redirect-page-CWJIEUlH.js → archive-redirect-page-Cxcg7zGt.js} +1 -1
- package/dist/assets/{assistant-feature-flag-store-CMUNSAPL.js → assistant-feature-flag-store-BvLDPeej.js} +1 -1
- package/dist/assets/assistant-identity-store-B51BX78j.js +1 -0
- package/dist/assets/{assistant-status-panel-Bt_19-BI.js → assistant-status-panel-DyjhJvK6.js} +1 -1
- package/dist/assets/auth-store-C9aYqB9U.js +2 -0
- package/dist/assets/{avatar-random-IysJ0Bdt.js → avatar-random-BR8w4F35.js} +1 -1
- package/dist/assets/{avatar-renderer-3EVhZ7TB.js → avatar-renderer-TpNgmnU1.js} +1 -1
- package/dist/assets/background-task-actions-DmocXKSr.js +1 -0
- package/dist/assets/{background-task-detail-panel-DqXuwo9q.js → background-task-detail-panel-DCtBOnvF.js} +1 -1
- package/dist/assets/{background-task-store-CN04oS2z.js → background-task-store-DpOSZFT8.js} +1 -1
- package/dist/assets/billing-page-TF_LgX6K.js +3 -0
- package/dist/assets/{billing-redirect-page-CiHoDQHE.js → billing-redirect-page-QFlD3jYy.js} +1 -1
- package/dist/assets/{bookmarks-page-Bk04EUIg.js → bookmarks-page-Brvj5Jf6.js} +1 -1
- package/dist/assets/browser-CcdNg0HN.js +2 -0
- package/dist/assets/build-state-9uUe0jN5.js +1 -0
- package/dist/assets/{capture-error-FWzaVb8P.js → capture-error-CqtAGHQu.js} +1 -1
- package/dist/assets/channels-page-route-8vJJE2LN.js +9 -0
- package/dist/assets/{chat-avatar-CIF_o6y5.js → chat-avatar-B5fx9Xm3.js} +1 -1
- package/dist/assets/{chat-layout-slots-store-C325hn1X.js → chat-layout-slots-store-DP8MgnXi.js} +1 -1
- package/dist/assets/chat-markdown-message-B7qvlO44.js +1 -0
- package/dist/assets/checkbox-PU47Djxg.js +1 -0
- package/dist/assets/checkout-continuation-CYDyrqci.js +1 -0
- package/dist/assets/checkout-page-MpIPAAgf.js +1 -0
- package/dist/assets/checkout-return-target-BStfEab4.js +1 -0
- package/dist/assets/{client-feature-flag-store-Bg5XEI2b.js → client-feature-flag-store-Cw39NfCq.js} +1 -1
- package/dist/assets/{client-identity-bdtPpHZK.js → client-identity-BZBfwdGQ.js} +1 -1
- package/dist/assets/{command-palette-B3TVIQUH.js → command-palette-Bd1GTwZQ.js} +1 -1
- package/dist/assets/command-palette-window-page-CoweYsZl.js +1 -0
- package/dist/assets/{community-page-BZmxfsXK.js → community-page-BWMwSeEZ.js} +1 -1
- package/dist/assets/{confirm-dialog-DZX6LhLy.js → confirm-dialog-j9o2h3xs.js} +1 -1
- package/dist/assets/{connect-page-D_I1YM62.js → connect-page-BxSNhZ8N.js} +1 -1
- package/dist/assets/{consent-controls-CiKmEzBn.js → consent-controls-Bs63UL5k.js} +1 -1
- package/dist/assets/consent-logPJwKV.js +1 -0
- package/dist/assets/{contacts-gateway-C628mrY_.js → contacts-gateway-DRzp5PC6.js} +1 -1
- package/dist/assets/{contacts-page-route--hTzWT8X.js → contacts-page-route-BOpVOsYK.js} +1 -1
- package/dist/assets/{conversation-cache-BzPdBPXN.js → conversation-cache-D1AJdwZd.js} +1 -1
- package/dist/assets/{conversation-list-fetchers-BZnx9EMN.js → conversation-list-fetchers-C6W8PkvR.js} +1 -1
- package/dist/assets/conversation-navigation-Bf3cDRKh.js +1 -0
- package/dist/assets/{conversation-queries-3taor2DZ.js → conversation-queries-BBj4FfQn.js} +1 -1
- package/dist/assets/{conversation-store-C0tvFESx.js → conversation-store-CTMy9QPV.js} +1 -1
- package/dist/assets/{copy-to-clipboard-DaTa8Tbi.js → copy-to-clipboard-DgY-nZpm.js} +1 -1
- package/dist/assets/{credential-entry-page-BCAYmsDK.js → credential-entry-page-CreYYbwf.js} +1 -1
- package/dist/assets/credentials-page-DBLT8nUI.js +1 -0
- package/dist/assets/csv-preview-cEf_PW-P.js +4 -0
- package/dist/assets/{danger-zone-redirect-page-BcdEHbAX.js → danger-zone-redirect-page-CIt8Y6Rf.js} +1 -1
- package/dist/assets/debug-page-DfPZPo6D.js +4 -0
- package/dist/assets/{deploy-dialogs-CpUMrpHq.js → deploy-dialogs-CuaO05wL.js} +1 -1
- package/dist/assets/{deploy-store-BJ-njgv-.js → deploy-store-BDIOP-i9.js} +1 -1
- package/dist/assets/{detail-card-D-5EWmAS.js → detail-card-BElAV1cp.js} +1 -1
- package/dist/assets/{detail-drawer-BglFkWVa.js → detail-drawer-Cd_EQJkJ.js} +1 -1
- package/dist/assets/detail-panel-stop-button-Bhew_kym.js +1 -0
- package/dist/assets/{detail-shell-D9L3L7AM.js → detail-shell-BjqibXNX.js} +1 -1
- package/dist/assets/developer-page-DwBmhm09.js +1 -0
- package/dist/assets/{device-settings-DXp9L4iB.js → device-settings-CUIsZfaf.js} +1 -1
- package/dist/assets/{devices-redirect-page-BNpxDctf.js → devices-redirect-page-DePzNUvG.js} +1 -1
- package/dist/assets/{diagnostics-CLHyv7Xw.js → diagnostics-DykDXmF3.js} +1 -1
- package/dist/assets/{dictation-overlay-w1YHEfFR.js → dictation-overlay-CnPWVnXc.js} +1 -1
- package/dist/assets/{dictation-overlay-page-DUWJ13of.js → dictation-overlay-page-C9yp3YUN.js} +1 -1
- package/dist/assets/{dist-BswnB-bR.js → dist-BDdp8zqz.js} +1 -1
- package/dist/assets/{dist-CQN0ZAOZ.js → dist-C68qFSny.js} +1 -1
- package/dist/assets/doctor-handoff-store-CvOwsVRo.js +1 -0
- package/dist/assets/document-viewer-container-iB63ww7P.js +2 -0
- package/dist/assets/document-viewer-page-CA1ParJ6.js +1 -0
- package/dist/assets/{domains-OaR_FpOR.js → domains-Cwi5sL0m.js} +1 -1
- package/dist/assets/{dropdown-DswWMJhz.js → dropdown-B3FHWc_n.js} +1 -1
- package/dist/assets/{edge-swipe-arbiter-store-D9XJTxJJ.js → edge-swipe-arbiter-store-BwC23ScO.js} +1 -1
- package/dist/assets/effective-timezone-BX46fWmk.js +1 -0
- package/dist/assets/{emails-page-Bqr8Buvt.js → emails-page-Bo0Bwem2.js} +1 -1
- package/dist/assets/{environment-store-Bbx4f6SQ.js → environment-store-DxX3xxt2.js} +1 -1
- package/dist/assets/esm-754moU0G.js +2 -0
- package/dist/assets/esm-Bek1ps3d.js +2 -0
- package/dist/assets/esm-CMkpCv1_.js +2 -0
- package/dist/assets/esm-ChJ8E5v0.js +1 -0
- package/dist/assets/esm-DjeyDwcY.js +2 -0
- package/dist/assets/esm-Jw5qNk7q.js +2 -0
- package/dist/assets/esm-S7iZcDlp.js +1 -0
- package/dist/assets/esm-Tsd0irpJ.js +2 -0
- package/dist/assets/esm-UxVM8v-Z.js +2 -0
- package/dist/assets/{feature-flag-catalog-CWHnoWvT.js → feature-flag-catalog-CpyCubJW.js} +1 -1
- package/dist/assets/file-DOePafLU.js +1 -0
- package/dist/assets/file-editor-BfJR0ScX.js +1 -0
- package/dist/assets/file-markdown-DnVLY_b_.js +2 -0
- package/dist/assets/{first-run-scope-7wWjJ4Tn.js → first-run-scope-CPJpXaWU.js} +1 -1
- package/dist/assets/{funnel-events-RT_kdQHK.js → funnel-events-B9hFLlxs.js} +1 -1
- package/dist/assets/general-page-BXeIQDGi.js +1 -0
- package/dist/assets/{get-memory-stats-CthVfpul.js → get-memory-stats-BnRGtUPT.js} +1 -1
- package/dist/assets/{haptics-rJpeBta-.js → haptics-C4p_Rjba.js} +2 -2
- package/dist/assets/hatching-screen-BUpSlvBy.js +1 -0
- package/dist/assets/home-page-route-BPht0PNp.js +1 -0
- package/dist/assets/hosting-screen-DxtyBx0I.js +1 -0
- package/dist/assets/identity-BplXBnQ5.js +1 -0
- package/dist/assets/{identity-page-route-CvxG-nhn.js → identity-page-route-DgmrXhhV.js} +2 -2
- package/dist/assets/index-C7_04HXM.css +2 -0
- package/dist/assets/index-CPeIfypI.js +11 -0
- package/dist/assets/{ingest-BbV11WbG.js → ingest-BzFSv_f8.js} +1 -1
- package/dist/assets/{inspect-page-D_9E5ham.js → inspect-page-C8aLJOd6.js} +4 -4
- package/dist/assets/{installed-plugins-query-6u0jUM-L.js → installed-plugins-query-3ACToZeY.js} +1 -1
- package/dist/assets/{integration-icon-tiuVoy54.js → integration-icon-B1G4FQT2.js} +1 -1
- package/dist/assets/integrations-page-Bp2Q81Qt.js +1 -0
- package/dist/assets/{intelligence-layout-CVzq_bDm.js → intelligence-layout-BRC0qkZ7.js} +1 -1
- package/dist/assets/{invalidate-memory-queries-BPL6t0Cu.js → invalidate-memory-queries-DonPN3eH.js} +1 -1
- package/dist/assets/{invalidate-plugin-queries-QmmXCyiN.js → invalidate-plugin-queries-B0OpJSUW.js} +1 -1
- package/dist/assets/{keyboard-shortcuts-redirect-page-D_Rf5W7f.js → keyboard-shortcuts-redirect-page-DTabmI62.js} +1 -1
- package/dist/assets/latest-assistant-text-CwHBWP6s.js +24 -0
- package/dist/assets/{library-detail-page-CKWN2cc7.js → library-detail-page-gC4yIWnV.js} +1 -1
- package/dist/assets/{library-page-CuNX2WgS.js → library-page-B10gnbXU.js} +1 -1
- package/dist/assets/{paperclip-DVE0scjU.js → lightbulb-NdZMkb6Y.js} +1 -1
- package/dist/assets/{local-mode-9zpgPNoq.js → local-mode-DHueA-BJ.js} +2 -2
- package/dist/assets/local-runtime-upgrade-CnY-6TiF.js +1 -0
- package/dist/assets/local-settings-Bx7FsNo5.js +1 -0
- package/dist/assets/{login-flow-llpmkEjN.js → login-flow-CQhvCbQQ.js} +1 -1
- package/dist/assets/{login-page-SG4TPVDu.js → login-page-CbWRbJDE.js} +1 -1
- package/dist/assets/{logout-page-CBGk_cSN.js → logout-page-DCyzi0V6.js} +1 -1
- package/dist/assets/{logs-layout-B4EPBuaC.js → logs-layout-CYkqau4S.js} +1 -1
- package/dist/assets/media-preview-D9t2Q84i.js +1 -0
- package/dist/assets/memory-page-route-j_3602nh.js +6 -0
- package/dist/assets/{memory-router-playground-page-ftfbkFhf.js → memory-router-playground-page-x5X662qi.js} +1 -1
- package/dist/assets/{menu-CKZtG-s_.js → menu-wESJw6y3.js} +1 -1
- package/dist/assets/message-content-B6_GZQl9.js +1 -0
- package/dist/assets/message-files-panel-C8JokH6e.js +1 -0
- package/dist/assets/messages-Dyp1xUqz.js +13 -0
- package/dist/assets/{metric-card-B-Tt9p-1.js → metric-card-DpZFp8-q.js} +1 -1
- package/dist/assets/mobile-sidebar-drawer-BwCIAm23.js +1 -0
- package/dist/assets/{modal-DwsThLGg.js → modal-xr_vw1ZO.js} +1 -1
- package/dist/assets/mutation-error-YLfUU5XL.js +1 -0
- package/dist/assets/native-anchor-D1Sy2PbD.js +1 -0
- package/dist/assets/native-biometric-DetUqtjl.js +6 -0
- package/dist/assets/native-file-B71h3csB.js +2 -0
- package/dist/assets/{navigation-resolver-Lxhf-tbn.js → navigation-resolver-CzEY-5nE.js} +1 -1
- package/dist/assets/{not-found-p1VhZpMs.js → not-found-Bh7ZsdAo.js} +1 -1
- package/dist/assets/notice-Dslxs3H6.js +1 -0
- package/dist/assets/notifications-BTG4cTbF.js +1 -0
- package/dist/assets/notifications-page-BA2BW5y6.js +1 -0
- package/dist/assets/{oauth-complete-page-KSpFlPD6.js → oauth-complete-page-3xYlafpb.js} +1 -1
- package/dist/assets/{oauth-connection-utils-D9CTptlA.js → oauth-connection-utils-BrGz4Zc5.js} +1 -1
- package/dist/assets/{oauth-popup-complete-page-C5cG_z3A.js → oauth-popup-complete-page-BtwDCi5P.js} +1 -1
- package/dist/assets/{onboarding-layout-K7X9fV8B.js → onboarding-layout-iPzXbZk1.js} +1 -1
- package/dist/assets/onboarding-store-BiTZenvP.js +1 -0
- package/dist/assets/open-workspace-file-CivxJWcw.js +2 -0
- package/dist/assets/{page-empty-state-B0da-Sm9.js → page-empty-state-D-y7eP1V.js} +1 -1
- package/dist/assets/{page-shell-CN7ioeP_.js → page-shell-ZNQR4ZTn.js} +1 -1
- package/dist/assets/pairing-page-P5ghxF0M.js +1 -0
- package/dist/assets/{panel-item-DGs4s9r-.js → panel-item-CJh95P_q.js} +1 -1
- package/dist/assets/paperclip--f908Kg3.js +1 -0
- package/dist/assets/{password-reset-page-Bq3ehgjW.js → password-reset-page-SsfAE_J-.js} +1 -1
- package/dist/assets/pdf-file-preview-Dj8vmmw-.js +1 -0
- package/dist/assets/pdf-preview-pscVmtvX.js +2 -0
- package/dist/assets/{personality-page-DeZSBQ6W.js → personality-page-Bz_rNBSs.js} +1 -1
- package/dist/assets/plans-page-BfyCgy38.js +1 -0
- package/dist/assets/platform-detection-AHYibqOx.js +1 -0
- package/dist/assets/{platform-login-notice-D-yQLWUo.js → platform-login-notice-DFmjUE9q.js} +1 -1
- package/dist/assets/platform-loopback-page-BGF_H8f_.js +1 -0
- package/dist/assets/{plugin-detail-page-DF9vmm23.js → plugin-detail-page-UUM9vxvV.js} +1 -1
- package/dist/assets/{plugins-page-BDZiCqWZ.js → plugins-page-Dae3rghA.js} +1 -1
- package/dist/assets/plugins-surface-C_pFzsVo.js +1 -0
- package/dist/assets/{popover-BFL-uOLh.js → popover-B-3isZCV.js} +1 -1
- package/dist/assets/{prefs-B6fvTCOn.js → prefs-CfRaGUUx.js} +1 -1
- package/dist/assets/preview-error-BrLE2D3A.js +1 -0
- package/dist/assets/preview-skeleton-Biw3dosM.js +1 -0
- package/dist/assets/privacy-page-BhEGh78C.js +1 -0
- package/dist/assets/{privacy-screen-D2EBZTX8.js → privacy-screen-CWVCI_KU.js} +1 -1
- package/dist/assets/provider-callback-page-DP5cKqPE.js +1 -0
- package/dist/assets/{provider-key-w3CzmGtq.js → provider-key-CgC-RLmR.js} +1 -1
- package/dist/assets/{provider-signup-page-D5mOXHww.js → provider-signup-page-BjiiJWS_.js} +1 -1
- package/dist/assets/{provisioning-targets-CT4slXZJ.js → provisioning-targets-Cah9jNBe.js} +1 -1
- package/dist/assets/{quick-input-page-COgnUnT_.js → quick-input-page-BYf7UWY4.js} +1 -1
- package/dist/assets/radio-card-nav-C_pSc4PD.js +1 -0
- package/dist/assets/{react-query.gen-BVTEjHsw.js → react-query.gen-BtYBixpk.js} +1 -1
- package/dist/assets/react-query.gen-C7om930f.js +1 -0
- package/dist/assets/{remote-gateway-session-CgxYHgOD.js → remote-gateway-session-C8pRadB2.js} +1 -1
- package/dist/assets/{research-facts-BcW4fghT.js → research-facts-BUfgocIh.js} +1 -1
- package/dist/assets/{research-mock-page-BFm8-rLU.js → research-mock-page-CGkqkXHp.js} +1 -1
- package/dist/assets/{research-onboarding-persistence-BN6g1lF7.js → research-onboarding-persistence-DwV372yy.js} +1 -1
- package/dist/assets/research-onboarding-route-DZF-B2Rk.js +50 -0
- package/dist/assets/{research-results-view-BBf2iyCA.js → research-results-view-BFZFPpev.js} +1 -1
- package/dist/assets/{resolved-assistants-store-8HQDfxZh.js → resolved-assistants-store-C6oDdTxB.js} +1 -1
- package/dist/assets/retire-confirm-dialog-8xlq4bkx.js +1 -0
- package/dist/assets/{review-terms-screen-zzdu4AQi.js → review-terms-screen-C5BAI3Rx.js} +1 -1
- package/dist/assets/{routes-GmNvdtLW.js → routes-DrfnNoYS.js} +1 -1
- package/dist/assets/routes-uGHUgv4F.js +23 -0
- package/dist/assets/runtime-upgrade-banner-DjFuJawk.js +2 -0
- package/dist/assets/{sandbox-bridge-CjHMJYTZ.js → sandbox-bridge-B5H4c27m.js} +84 -2
- package/dist/assets/{schedules-B6KivAAT.js → schedules-_ofAwdnr.js} +1 -1
- package/dist/assets/{schedules-page-BQSGUmn5.js → schedules-page-3ZE1nR6I.js} +1 -1
- package/dist/assets/{sdk.gen-BySz4QYj.js → sdk.gen-CjtCuSlS.js} +1 -1
- package/dist/assets/{sdk.gen-DVW3wpbx.js → sdk.gen-ies09CqM.js} +1 -1
- package/dist/assets/{security-redirect-page-T1J6IoOb.js → security-redirect-page-B9T_2mcB.js} +1 -1
- package/dist/assets/select-assistant-screen-D4WHHv61.js +1 -0
- package/dist/assets/semver-Bfq1LtyW.js +1 -0
- package/dist/assets/{setting-row-DEyL7IUP.js → setting-row-C4jX7c_4.js} +1 -1
- package/dist/assets/{settings-divider-Bf5WJ9ve.js → settings-divider-BkLQFMlW.js} +1 -1
- package/dist/assets/settings-layout-BmOglXDq.js +1 -0
- package/dist/assets/settings-navigation-CyH-twYD.js +1 -0
- package/dist/assets/share-feedback-modal-Rwuho_1S.js +2 -0
- package/dist/assets/{sidebar-tree-D6fHs4GK.js → sidebar-tree-Dxx5qLMQ.js} +1 -1
- package/dist/assets/{signup-page-DqfStkXZ.js → signup-page-BAEo45pt.js} +1 -1
- package/dist/assets/{signup-shell-CMXUBUal.js → signup-shell-Dwuv81sx.js} +1 -1
- package/dist/assets/site-favicon-CDH0mg6Q.js +1 -0
- package/dist/assets/{skill-detail-page-SvM2JKKY.js → skill-detail-page-DswXTTyb.js} +1 -1
- package/dist/assets/{skill-detail-panel-Cpl1Z7V3.js → skill-detail-panel-DhQFBAFF.js} +1 -1
- package/dist/assets/{skills-BL4RgwAd.js → skills-CbF2uKXV.js} +1 -1
- package/dist/assets/{skills-page-BYtAFZzb.js → skills-page-CNYM3Qsj.js} +1 -1
- package/dist/assets/{slack-setup-wizard-dVkbEE6P.js → slack-setup-wizard-DPzdheN0.js} +1 -1
- package/dist/assets/{sound-manager-DUo0lHGZ.js → sound-manager-Bv6Sc7Ut.js} +1 -1
- package/dist/assets/{sounds-page-CfeiEoJP.js → sounds-page-Bpeq0MQn.js} +1 -1
- package/dist/assets/src-Da9g8qsW.js +293 -0
- package/dist/assets/{start-screen-CqbeEmEE.js → start-screen-CSxaBn88.js} +1 -1
- package/dist/assets/subagent-detail-panel-CidisBCf.js +4 -0
- package/dist/assets/{subagent-store-DyKwOIj_.js → subagent-store-DibRR9Ij.js} +2 -2
- package/dist/assets/{superpowers-page-DltosgGe.js → superpowers-page-BouZK3P4.js} +1 -1
- package/dist/assets/{system-events-page-Cg0uMSMs.js → system-events-page-BrvTNeiN.js} +1 -1
- package/dist/assets/{system-events-redirect-page-C44suO-c.js → system-events-redirect-page-CKNhBiUK.js} +1 -1
- package/dist/assets/{tag-D8NAGb0r.js → tag-gOOX7fbA.js} +1 -1
- package/dist/assets/text-preview-DwgKh8PW.js +1 -0
- package/dist/assets/{theme-preferences-LQuLaIA6.js → theme-preferences-B2X7Xgir.js} +1 -1
- package/dist/assets/{theme-stage-page-CnKpq5QT.js → theme-stage-page-LIhQbqRQ.js} +1 -1
- package/dist/assets/{threshold-presets-B-gOdjC4.js → threshold-presets-B-RqvhUM.js} +1 -1
- package/dist/assets/{tiptap-document-editor-D-lwPWrV.js → tiptap-document-editor-BvGaiGeN.js} +1 -1
- package/dist/assets/{toast-DR7D7Uma.js → toast-BtFgiPe3.js} +1 -1
- package/dist/assets/tool-detail-panel-B2CIRZkB.js +2 -0
- package/dist/assets/transcript-message-body-shared-BfKwS5qD.js +1 -0
- package/dist/assets/{trust-rules-api-iUGCiDDM.js → trust-rules-api-Dbyz25hE.js} +1 -1
- package/dist/assets/typed-storage-OO7emDaU.js +1 -0
- package/dist/assets/{upgrade-cancel-page-D8is9-gw.js → upgrade-cancel-page-DjeqfvTa.js} +1 -1
- package/dist/assets/{upgrade-success-page-3W1VuHqB.js → upgrade-success-page-B4TCn340.js} +1 -1
- package/dist/assets/{usage-redirect-page-C6qXe-4h.js → usage-redirect-page-Cd58Bed0.js} +1 -1
- package/dist/assets/{use-active-assistant-id-CjvzlL4t.js → use-active-assistant-id-JLsAfn3e.js} +1 -1
- package/dist/assets/{use-app-theme-BLGjiz96.js → use-app-theme-yiZ38i4_.js} +1 -1
- package/dist/assets/{use-assistant-avatar--4s_vvar.js → use-assistant-avatar-Bjqx8JUy.js} +1 -1
- package/dist/assets/{use-assistant-capability-BaZVGuCu.js → use-assistant-capability-CnI3VItU.js} +1 -1
- package/dist/assets/use-assistant-identity-details-D-7oN9gr.js +1 -0
- package/dist/assets/use-attachment-preview-CQjpDfsc.js +2 -0
- package/dist/assets/use-attachment-squares-8Hx-p8ls.js +1 -0
- package/dist/assets/{use-avatar-accent-var-BaftJG7F.js → use-avatar-accent-var-BafXGBXW.js} +1 -1
- package/dist/assets/{use-bookmarks-B6Y60m9F.js → use-bookmarks-DO9wmU-2.js} +1 -1
- package/dist/assets/{use-bundled-avatar-components-IQw2k8-g.js → use-bundled-avatar-components-BcyasJwu.js} +2 -2
- package/dist/assets/{use-bus-subscription-CyRPH_gr.js → use-bus-subscription-DiCq1_ki.js} +1 -1
- package/dist/assets/use-checkout-dismiss-refresh-CV_H4uEB.js +1 -0
- package/dist/assets/use-command-palette-sections-BshFMe0w.js +1 -0
- package/dist/assets/{use-discord-nudge-CRU-lEHV.js → use-discord-nudge-DED9TaIm.js} +1 -1
- package/dist/assets/{use-edge-swipe-Gst62FjL.js → use-edge-swipe-CRkrRNLg.js} +1 -1
- package/dist/assets/{use-edge-swipe-back-D12vbvly.js → use-edge-swipe-back-Dk2xXjh4.js} +1 -1
- package/dist/assets/use-edit-app-Bd1eXXFq.js +1 -0
- package/dist/assets/{use-effective-timezone-Bx9QaO25.js → use-effective-timezone-BM5B7KHp.js} +1 -1
- package/dist/assets/use-invite-link-dialog-TNGI1l4g.js +1 -0
- package/dist/assets/{use-ios-app-nudge-CrBEIZ8w.js → use-ios-app-nudge-CadXZRJC.js} +1 -1
- package/dist/assets/use-is-org-ready-3vHDbj4G.js +1 -0
- package/dist/assets/use-local-file-info-D2-ycwyJ.js +1 -0
- package/dist/assets/{use-onboarding-login-X8pB53cV.js → use-onboarding-login-CiQyxJLM.js} +1 -1
- package/dist/assets/{use-platform-assistant-id-CIoqMsyh.js → use-platform-assistant-id-DgrNmSy2.js} +1 -1
- package/dist/assets/{use-platform-gate-CqEOGZtI.js → use-platform-gate-C5bNA5Pn.js} +1 -1
- package/dist/assets/{use-reduced-motion-bjjt6x6d.js → use-reduced-motion-fR0m_opJ.js} +1 -1
- package/dist/assets/{use-return-to-short-circuit-B295pgoV.js → use-return-to-short-circuit-g88hMnN8.js} +1 -1
- package/dist/assets/{use-save-twilio-credentials-CCp1iqBf.js → use-save-twilio-credentials-yqA7lnzq.js} +1 -1
- package/dist/assets/{use-skill-actions-BLHTDn21.js → use-skill-actions-B_tz3CI7.js} +1 -1
- package/dist/assets/{use-skill-detail-files-BVBb8uoK.js → use-skill-detail-files-DdWFIu5-.js} +1 -1
- package/dist/assets/use-sticky-profiles-D5TVHOgw.js +1 -0
- package/dist/assets/use-subagent-card-data-bjGydvhR.js +1 -0
- package/dist/assets/{use-supports-bookmarks-DbG5HZ6P.js → use-supports-bookmarks-DwTpI8uM.js} +1 -1
- package/dist/assets/use-supports-credentials-settings-3jGHR8fw.js +1 -0
- package/dist/assets/{use-swipe-engine-RAFE-Hrf.js → use-swipe-engine-Bkqjs1Zk.js} +1 -1
- package/dist/assets/use-transcript-message-by-id-BgyP3Ki5.js +1 -0
- package/dist/assets/use-transcript-messages-C2uwkjKL.js +3 -0
- package/dist/assets/{utils-Ction0uF.js → utils-3IBGVjNS.js} +1 -1
- package/dist/assets/utils-DtVy-_pB.js +1 -0
- package/dist/assets/viewer-store-DbIS4l8d.js +1 -0
- package/dist/assets/{voice-list-CCLkiF-c.js → voice-list-D26Lzbpv.js} +1 -1
- package/dist/assets/{voice-page-Bvgm-7L8.js → voice-page-CQ2Vp8p4.js} +1 -1
- package/dist/assets/{voice-providers-note-g4IBSHFm.js → voice-providers-note-Ck7hNTfp.js} +1 -1
- package/dist/assets/{weather-forecast-display-Bg_OjY6Q.js → weather-forecast-display-DrJp8zrP.js} +1 -1
- package/dist/assets/web-CDfRXQwd.js +1 -0
- package/dist/assets/web-Ccq6YqQk.js +1 -0
- package/dist/assets/web-Cw8N9FBf.js +1 -0
- package/dist/assets/web-Cwkvk3kH.js +1 -0
- package/dist/assets/web-KS3MoLo7.js +1 -0
- package/dist/assets/web-PODqCw-i.js +1 -0
- package/dist/assets/web-aKLBqXiN.js +1 -0
- package/dist/assets/web-vlqDFmAp.js +1 -0
- package/dist/assets/welcome-screen-CdsjDVfi.js +1 -0
- package/dist/assets/{workflow-detail-panel-BNzNSNAT.js → workflow-detail-panel-CsRhUrbM.js} +1 -1
- package/dist/assets/{workflow-store-Cbd3x6KN.js → workflow-store-zCcRcvi8.js} +1 -1
- package/dist/assets/workspace-page-CFuSxp5s.js +1 -0
- package/dist/assets/workspace-path-links-vDBIljq_.js +1 -0
- package/dist/assets/workspace-tree-query-Dfkrp_rV.js +1 -0
- package/dist/index.html +282 -271
- package/package.json +1 -1
- package/dist/assets/access-BJiXpwUJ.js +0 -1
- package/dist/assets/acp-run-detail-panel-C_M19m8P.js +0 -5
- package/dist/assets/activity-steps-panel-BsmwWzP1.js +0 -1
- package/dist/assets/add-credits-modal-3Rsd1ZeS.js +0 -1
- package/dist/assets/ai-page-B9mJkV_p.js +0 -1
- package/dist/assets/api-DDKNgE8n.js +0 -1
- package/dist/assets/assistant-identity-store-BczULg2T.js +0 -1
- package/dist/assets/auth-store-BwKMFgpK.js +0 -2
- package/dist/assets/background-task-actions-DX0pUvY9.js +0 -1
- package/dist/assets/billing-page-CED96NEp.js +0 -3
- package/dist/assets/browser-Bses4IN3.js +0 -2
- package/dist/assets/build-state-DPMhQpLB.js +0 -1
- package/dist/assets/channels-page-route-BooWFQMp.js +0 -9
- package/dist/assets/chat-markdown-message-f4cLJfax.js +0 -2
- package/dist/assets/checkbox-BZTUJtxM.js +0 -1
- package/dist/assets/checkout-continuation-CcuqWhhp.js +0 -1
- package/dist/assets/checkout-page-BateK-Nf.js +0 -1
- package/dist/assets/checkout-return-target-Cib3fzdY.js +0 -1
- package/dist/assets/command-palette-window-page-Bp9WplfA.js +0 -1
- package/dist/assets/consent-s5g0Gmb2.js +0 -1
- package/dist/assets/conversation-navigation-D63NJmBl.js +0 -1
- package/dist/assets/credentials-page-CYBmOQhl.js +0 -1
- package/dist/assets/debug-page-CHuby9yt.js +0 -4
- package/dist/assets/detail-panel-stop-button-DgKaA6yz.js +0 -1
- package/dist/assets/developer-page-CUJqTs2_.js +0 -1
- package/dist/assets/dist-BKxs5XmY.js +0 -1
- package/dist/assets/doctor-handoff-store-DWNbuW3P.js +0 -1
- package/dist/assets/document-viewer-container-Doc7G7NK.js +0 -2
- package/dist/assets/document-viewer-page-_jndOS7P.js +0 -1
- package/dist/assets/effective-timezone-CnKC3vj0.js +0 -1
- package/dist/assets/esm-B2M2kM_8.js +0 -2
- package/dist/assets/esm-BgRAHqeR.js +0 -2
- package/dist/assets/esm-CXX8rcv3.js +0 -2
- package/dist/assets/esm-Chh8mHmh.js +0 -1
- package/dist/assets/esm-Cl2UNC_o.js +0 -2
- package/dist/assets/esm-ClO8yhvi.js +0 -2
- package/dist/assets/esm-DOATKqE3.js +0 -2
- package/dist/assets/esm-UUuqyyp5.js +0 -1
- package/dist/assets/file-editor-DcH2Os5o.js +0 -1
- package/dist/assets/file-markdown-DBLxtb0M.js +0 -2
- package/dist/assets/general-page-DoAKoumC.js +0 -1
- package/dist/assets/handle-logout-BTgnSSUm.js +0 -1
- package/dist/assets/hatching-screen-Q59qvj8_.js +0 -1
- package/dist/assets/home-page-route-TPR5p3LW.js +0 -1
- package/dist/assets/hosting-screen-DRrmkmoO.js +0 -1
- package/dist/assets/identity-Cb4xS1Kk.js +0 -1
- package/dist/assets/index-Ch9eoFem.js +0 -11
- package/dist/assets/index-D8Xiv4z3.css +0 -2
- package/dist/assets/integrations-page-CnjTLjpf.js +0 -1
- package/dist/assets/latest-assistant-text-DPm0HIWu.js +0 -24
- package/dist/assets/list-row-BYrmPIC4.js +0 -1
- package/dist/assets/local-runtime-upgrade-JwVgn034.js +0 -1
- package/dist/assets/local-settings-C-dW2vkq.js +0 -1
- package/dist/assets/memory-page-route-C8nIc6Mb.js +0 -6
- package/dist/assets/messages-BzNSqJQx.js +0 -13
- package/dist/assets/mobile-sidebar-drawer-BnxfQaDB.js +0 -1
- package/dist/assets/mutation-error-CXV1BKlB.js +0 -1
- package/dist/assets/native-anchor-BiuEQHcy.js +0 -1
- package/dist/assets/native-biometric-B96mgKGP.js +0 -6
- package/dist/assets/native-file-BvwfoU6A.js +0 -2
- package/dist/assets/notice-DCp7WO3L.js +0 -1
- package/dist/assets/notifications-page-BAYd0t-0.js +0 -1
- package/dist/assets/onboarding-store-OVV4wyh5.js +0 -1
- package/dist/assets/open-workspace-file-DucrTmt3.js +0 -2
- package/dist/assets/pairing-page-BRPUYbzJ.js +0 -1
- package/dist/assets/plans-page-BxebYucs.js +0 -1
- package/dist/assets/platform-detection-a_IB3-0w.js +0 -1
- package/dist/assets/platform-loopback-page-DESnWJYO.js +0 -1
- package/dist/assets/plugins-surface-C4peMNec.js +0 -1
- package/dist/assets/privacy-page-sZhcJ3uB.js +0 -1
- package/dist/assets/provider-callback-page-BZlfsT4J.js +0 -1
- package/dist/assets/react-query.gen-0mspArBl.js +0 -1
- package/dist/assets/research-onboarding-route-ZOwRvfGs.js +0 -50
- package/dist/assets/retire-confirm-dialog-m6ORm5Pq.js +0 -1
- package/dist/assets/risk-uPLh5W5z.js +0 -3
- package/dist/assets/routes-BP00Ewbf.js +0 -23
- package/dist/assets/runtime-upgrade-banner-yZYtWxoJ.js +0 -2
- package/dist/assets/select-assistant-screen-B5N_TUcG.js +0 -1
- package/dist/assets/session-corner-action-vhb51vd3.js +0 -1
- package/dist/assets/settings-layout-BtT0532M.js +0 -1
- package/dist/assets/settings-navigation-BDpUXrOI.js +0 -1
- package/dist/assets/share-feedback-modal-DO6_oaZg.js +0 -2
- package/dist/assets/site-favicon-Dh1OTgFr.js +0 -1
- package/dist/assets/src-BAS7a2RG.js +0 -293
- package/dist/assets/subagent-detail-panel-jp0r0ZFk.js +0 -4
- package/dist/assets/tool-detail-panel-CXcjfDGo.js +0 -2
- package/dist/assets/transcript-message-body-shared-woOFNF_q.js +0 -1
- package/dist/assets/typed-storage-C-R1po3l.js +0 -1
- package/dist/assets/use-assistant-identity-details-C99kNyQf.js +0 -1
- package/dist/assets/use-checkout-dismiss-refresh-BkIzNk6B.js +0 -1
- package/dist/assets/use-command-palette-sections-CAmbyguu.js +0 -1
- package/dist/assets/use-edit-app-BF9YK7AV.js +0 -1
- package/dist/assets/use-invite-link-dialog-DN2IHVZE.js +0 -1
- package/dist/assets/use-is-org-ready-zouQ5CN4.js +0 -1
- package/dist/assets/use-sticky-profiles-bdq2XW7H.js +0 -1
- package/dist/assets/use-subagent-card-data-B8JTa5rQ.js +0 -1
- package/dist/assets/use-supports-credentials-settings-CgWfA2eQ.js +0 -1
- package/dist/assets/utils-C-YNXdkX.js +0 -1
- package/dist/assets/viewer-store--hIQLNm5.js +0 -1
- package/dist/assets/web-BEtLqoWJ.js +0 -1
- package/dist/assets/web-C8NouSk8.js +0 -1
- package/dist/assets/web-Cv3bLSQ5.js +0 -1
- package/dist/assets/web-D82T2zyn.js +0 -1
- package/dist/assets/web-RKFLO25W.js +0 -1
- package/dist/assets/web-XmQWRS1M.js +0 -1
- package/dist/assets/web-ZsA8B5nq.js +0 -1
- package/dist/assets/web-s9eE6ZyC.js +0 -1
- package/dist/assets/welcome-screen-Cga6YuF9.js +0 -1
- package/dist/assets/workspace-page-BFJO59Ch.js +0 -1
- package/dist/assets/workspace-tree-query-CqcOBNKw.js +0 -1
- /package/dist/assets/{Combination-C7TWRLS7.js → Combination-CWTYp834.js} +0 -0
- /package/dist/assets/{api-errors-SZKDzMLE.js → api-errors-BRGPPSWw.js} +0 -0
- /package/dist/assets/{app-types-o5Qc-xkK.js → app-types-BGJfNjSJ.js} +0 -0
- /package/dist/assets/{apple-logo-Cg-KnqW2.js → apple-logo-BOBq3-Sn.js} +0 -0
- /package/dist/assets/{arrow-down-to-line-Bh_5sIPp.js → arrow-down-to-line-DMGjBlMw.js} +0 -0
- /package/dist/assets/{arrow-left-C2ylPLHq.js → arrow-left-W84B6oJL.js} +0 -0
- /package/dist/assets/{arrow-right-B-jRJNWP.js → arrow-right-ChqGeAaW.js} +0 -0
- /package/dist/assets/{arrow-up-BNd4Gpy7.js → arrow-up-CWzHzcyU.js} +0 -0
- /package/dist/assets/{avatar-bundled-components-CTd294ra.js → avatar-bundled-components-BvKt7I7O.js} +0 -0
- /package/dist/assets/{avatar-subagent-BpXST4nO.js → avatar-subagent-tkmKhEWI.js} +0 -0
- /package/dist/assets/{avatar-svg-compositor-DclcUb1M.js → avatar-svg-compositor-axSwKFvf.js} +0 -0
- /package/dist/assets/{avatar-tone-4L7foPzW.js → avatar-tone-D99t9DAP.js} +0 -0
- /package/dist/assets/{ban-B__z3LwE.js → ban-BKp90l-0.js} +0 -0
- /package/dist/assets/{bell-Ct4a9v6Y.js → bell-2SnK9BVD.js} +0 -0
- /package/dist/assets/{brain-BIzJCPA6.js → brain-CN4zzNgU.js} +0 -0
- /package/dist/assets/{browser-timezone-DGz-HvxU.js → browser-timezone-Br-HawKV.js} +0 -0
- /package/dist/assets/{bug-VUcJFHwN.js → bug-DdmWJIkz.js} +0 -0
- /package/dist/assets/{build.umd-oXvZOmIf.js → build.umd-CaLt9YHe.js} +0 -0
- /package/dist/assets/{by-tool-use-id-index-DcsiqOhc.js → by-tool-use-id-index-CUFuQqHz.js} +0 -0
- /package/dist/assets/{calendar-RYdAv74D.js → calendar-qrPKlf1H.js} +0 -0
- /package/dist/assets/{chart-column-BLKW3sjY.js → chart-column-k8S2UYq8.js} +0 -0
- /package/dist/assets/{chat-BIJEFb5u.js → chat-Dy2BC2i1.js} +0 -0
- /package/dist/assets/{check-sC49_hjU.js → check-Dt2rQhdg.js} +0 -0
- /package/dist/assets/{chevron-down-B5A-0g8A.js → chevron-down-BNidRDh1.js} +0 -0
- /package/dist/assets/{chevron-left-CytMddTB.js → chevron-left-CrxnPze-.js} +0 -0
- /package/dist/assets/{chevron-right-HU6H84S0.js → chevron-right-CANAtgGn.js} +0 -0
- /package/dist/assets/{chevron-up-2Qqarz0p.js → chevron-up-DofScvyy.js} +0 -0
- /package/dist/assets/{circle-alert-DVCpoZrc.js → circle-alert-DQMH8VJH.js} +0 -0
- /package/dist/assets/{circle-check-CjGnAahM.js → circle-check-DvrCdroD.js} +0 -0
- /package/dist/assets/{circle-check-big-DSsDH5_6.js → circle-check-big-DtV6IJuh.js} +0 -0
- /package/dist/assets/{circle-minus-DNfBAj4g.js → circle-minus-BBDKV6k6.js} +0 -0
- /package/dist/assets/{circle-x-17dBxF06.js → circle-x-DTjJzoQl.js} +0 -0
- /package/dist/assets/{client.gen-DHOmbzD9.js → client.gen-Dq2brHDV.js} +0 -0
- /package/dist/assets/{clipboard-copy-JwIceweN.js → clipboard-copy-BYpgEh2O.js} +0 -0
- /package/dist/assets/{clock-BYTc0Ds9.js → clock-DeynsyYL.js} +0 -0
- /package/dist/assets/{cloud-off-BCBGTmt0.js → cloud-off-BFACQbO0.js} +0 -0
- /package/dist/assets/{cloud-RlApB3rO.js → cloud-q4J30bVb.js} +0 -0
- /package/dist/assets/{code-qafFA0_-.js → code-D6SOwRrI.js} +0 -0
- /package/dist/assets/{coins-Hrmb9tmj.js → coins-CcTuNVlN.js} +0 -0
- /package/dist/assets/{conversation-selection-B954w311.js → conversation-selection-CJs3Fnse.js} +0 -0
- /package/dist/assets/{create-selectors-B-P03-8K.js → create-selectors-BfxF8Sx_.js} +0 -0
- /package/dist/assets/{definitions-CL6e7nYF.js → definitions-BfdxiZ6b.js} +0 -0
- /package/dist/assets/{definitions-BD-g60mP.js → definitions-Rm_PEX9e.js} +0 -0
- /package/dist/assets/{dices-DcuIF52A.js → dices-C3diFTyP.js} +0 -0
- /package/dist/assets/{dist-CKLJHt4Z.js → dist-EanpjdWC.js} +0 -0
- /package/dist/assets/{dist-CFSiz2ry2.js → dist-an0Z446E.js} +0 -0
- /package/dist/assets/{download-CywcQLB2.js → download-Cnb8zZrK.js} +0 -0
- /package/dist/assets/{edit-chat-session-Beky6Vpg.js → edit-chat-session-DVzLQLWl.js} +0 -0
- /package/dist/assets/{ellipsis-BRJI5_P1.js → ellipsis-C5fQnusC.js} +0 -0
- /package/dist/assets/{ellipsis-vertical-nov0xhhF.js → ellipsis-vertical-qQRDY5dB.js} +0 -0
- /package/dist/assets/{emoji-catalog-data-5pJaL_3N.js → emoji-catalog-data-Cjooln6g.js} +0 -0
- /package/dist/assets/{event-bus-CvZyJQ26.js → event-bus-CbDg1VDt.js} +0 -0
- /package/dist/assets/{external-link-CAce-RVu.js → external-link-GPGZ1LGU.js} +0 -0
- /package/dist/assets/{external-urls-97O9n0lb.js → external-urls-BL9qY0s8.js} +0 -0
- /package/dist/assets/{eye-DTyDWiqu.js → eye-B_jBDDRn.js} +0 -0
- /package/dist/assets/{eye-bbox-DE8r0Vt3.js → eye-bbox-CRs175_n.js} +0 -0
- /package/dist/assets/{eye-off-fuOP4Lij.js → eye-off-DQ4xakzN.js} +0 -0
- /package/dist/assets/{file-code-DD3K2kve.js → file-code-CrtJR2ax.js} +0 -0
- /package/dist/assets/{file-plus-Dq2xo7Ic.js → file-plus-DjC7wnGp.js} +0 -0
- /package/dist/assets/{file-text-BCsUYVEF.js → file-text-CwGsMgaa.js} +0 -0
- /package/dist/assets/{folder-g06qTW2O.js → folder-_l8GIyQp.js} +0 -0
- /package/dist/assets/{folder-open-CAb0DLYq.js → folder-open-BTlvhHNO.js} +0 -0
- /package/dist/assets/{format-date-CKGQir4m.js → format-date-CQUMvfqf.js} +0 -0
- /package/dist/assets/{format-file-size-Eu-Z0CxL.js → format-file-size-C5XdzvvA.js} +0 -0
- /package/dist/assets/{globe-BDvXuPkw.js → globe-CdLn4IX7.js} +0 -0
- /package/dist/assets/{hard-drive-CncrDZ7V.js → hard-drive-sI2ZzmqM.js} +0 -0
- /package/dist/assets/{hard-navigate-V2EFapkk.js → hard-navigate-BYoBFmE4.js} +0 -0
- /package/dist/assets/{heart-2AHOP0tB.js → heart-DFD4eqW-.js} +0 -0
- /package/dist/assets/{inbox-DXYIwUrn.js → inbox-OC3STytq.js} +0 -0
- /package/dist/assets/{info-CYiVdnQV.js → info-DkhVkzmK.js} +0 -0
- /package/dist/assets/{input-C-GkeWCw.js → input-tXUFa7Eo.js} +0 -0
- /package/dist/assets/{is-electron-7N7iyz1y.js → is-electron-DIlIrdJX.js} +0 -0
- /package/dist/assets/{key-round-CSc3w5ka.js → key-round-BFkuiQGH.js} +0 -0
- /package/dist/assets/{laptop-ByoaxLxg.js → laptop-BGOychmC.js} +0 -0
- /package/dist/assets/{layout-grid-PPpVK0nJ.js → layout-grid-Ct4RT2Ea.js} +0 -0
- /package/dist/assets/{link-2-BMNZFfWH.js → link-2-DhyrrFaE.js} +0 -0
- /package/dist/assets/{link-CowyzCIZ.js → link-DOobzBVg.js} +0 -0
- /package/dist/assets/{link-click-BEiniqcG.js → link-click-aVk_YdAp.js} +0 -0
- /package/dist/assets/{list-CDyb1CGV.js → list-D2LnQ7lS.js} +0 -0
- /package/dist/assets/{loader-circle-BzJ2kz3F.js → loader-circle-DWWXcfTQ.js} +0 -0
- /package/dist/assets/{log-in-Bhye1kwc.js → log-in-D4nsqRbG.js} +0 -0
- /package/dist/assets/{log-out-BLE632qu.js → log-out-CF9mMMsz.js} +0 -0
- /package/dist/assets/{machine-sizes-D0oAlF9f.js → machine-sizes-B9nt_h-U.js} +0 -0
- /package/dist/assets/{mail-DABv3_Ue.js → mail-DyUf40pu.js} +0 -0
- /package/dist/assets/{message-circle-gk_DFUIg.js → message-circle-ByXBaIaq.js} +0 -0
- /package/dist/assets/{message-square-zCNXaHYX.js → message-square-CHUvAEY9.js} +0 -0
- /package/dist/assets/{message-square-text-asdoy3SW.js → message-square-text-CN_v46So.js} +0 -0
- /package/dist/assets/{mic-DZrWtAAu.js → mic-BZZo0R22.js} +0 -0
- /package/dist/assets/{middleware-HE0NLvPl.js → middleware-Bxr-mmHu.js} +0 -0
- /package/dist/assets/{minimize-2-BR0ed4mI.js → minimize-2-Dj9FY4aF.js} +0 -0
- /package/dist/assets/{misc-CAQM4FGM.js → misc-BBsGq1IU.js} +0 -0
- /package/dist/assets/{monitor-B5vtTCxm.js → monitor-RX4oi4Nj.js} +0 -0
- /package/dist/assets/{moon-DSdti3GO.js → moon-CHW45huN.js} +0 -0
- /package/dist/assets/{native-deep-link-BJjxOpZm.js → native-deep-link-jXO4XsVj.js} +0 -0
- /package/dist/assets/{oauth-popup-Ql5xgtlO.js → oauth-popup-DAMkjCsP.js} +0 -0
- /package/dist/assets/{onboarding-step-layout-DGtbhZJb.js → onboarding-step-layout-Bsc_5btV.js} +0 -0
- /package/dist/assets/{optimistic-lifecycle-50vNA6dY.js → optimistic-lifecycle-GoMZsAsc.js} +0 -0
- /package/dist/assets/{pdf-8fO1Wz7e.js → pdf-OYDWiYl0.js} +0 -0
- /package/dist/assets/{pencil-CLJIvYKH.js → pencil-Cm5DdeRM.js} +0 -0
- /package/dist/assets/{play-CCT817Ah.js → play-Dh6Bw5AP.js} +0 -0
- /package/dist/assets/{plugin-attribution-Hjqz10My.js → plugin-attribution-DAf_69AU.js} +0 -0
- /package/dist/assets/{plus-JG7kWjHA.js → plus-EJu6s6xR.js} +0 -0
- /package/dist/assets/{pointer-QlIwQKYH.js → pointer-CQ4DXHXb.js} +0 -0
- /package/dist/assets/{prechat-EVefdGcO.js → prechat-C4MZwKWX.js} +0 -0
- /package/dist/assets/{profile-metadata-BksFtHNq.js → profile-metadata-CA6wxcVJ.js} +0 -0
- /package/dist/assets/{progress-bar-CJxkStgF.js → progress-bar-3GUUAhXi.js} +0 -0
- /package/dist/assets/{proxy-CNtrhN4q.js → proxy-DrtKRLtr.js} +0 -0
- /package/dist/assets/{public-asset-CD3ouSWU.js → public-asset-OTnPMErp.js} +0 -0
- /package/dist/assets/{puzzle-CtM3jM-f.js → puzzle-4NgH5snP.js} +0 -0
- /package/dist/assets/{refresh-cw-Ci7hSykC.js → refresh-cw-EZQqnaxp.js} +0 -0
- /package/dist/assets/{repeat-CIQpv9Nd.js → repeat-CP_vsQPN.js} +0 -0
- /package/dist/assets/{rotate-ccw-Da_2DvhY.js → rotate-ccw-CL6IkaAI.js} +0 -0
- /package/dist/assets/{sdk.gen-DEFA-6EJ.js → sdk.gen-BpJ1vF7l.js} +0 -0
- /package/dist/assets/{search-DA3TmTuR.js → search-DL-2uX3K.js} +0 -0
- /package/dist/assets/{send-DHWUIK7G.js → send-Bdmy_GSE.js} +0 -0
- /package/dist/assets/{settings-DyEBEqeQ.js → settings-6_RIT4kT.js} +0 -0
- /package/dist/assets/{shield-9aFTFyT9.js → shield-CAWgGAqm.js} +0 -0
- /package/dist/assets/{shield-check-z7CU-gBq.js → shield-check-CNsbiH1v.js} +0 -0
- /package/dist/assets/{sliders-horizontal-slneqAyY.js → sliders-horizontal-BwdOIxz8.js} +0 -0
- /package/dist/assets/{smartphone-BbK6bGuE.js → smartphone-CIrxb2NM.js} +0 -0
- /package/dist/assets/{sparkles-DC8kqYjt.js → sparkles-DfEFn3Bh.js} +0 -0
- /package/dist/assets/{square-Bn3X6ZlO.js → square-DTFrgbZb.js} +0 -0
- /package/dist/assets/{status-badge-pill-ZNNoKV1T.js → status-badge-pill-CFoeNqKo.js} +0 -0
- /package/dist/assets/{sun-BKEPYS7Q.js → sun-BauGiwdK.js} +0 -0
- /package/dist/assets/{surface-parse-helpers-CEJ3tQ9Q.js → surface-parse-helpers-iPHZ9D7N.js} +0 -0
- /package/dist/assets/{target-cdw7WP5q.js → target-CJU4DUFo.js} +0 -0
- /package/dist/assets/{terminal-Cs_TREv-.js → terminal-BucMVaPU.js} +0 -0
- /package/dist/assets/{three-dot-indicator-CfjkCgEH.js → three-dot-indicator-CeTxs9-J.js} +0 -0
- /package/dist/assets/{toggle-D776PTw-.js → toggle-BEPV0rQM.js} +0 -0
- /package/dist/assets/{trash-2-De6X8YiM.js → trash-2-DfVRfykB.js} +0 -0
- /package/dist/assets/{triangle-alert--e3n47gm.js → triangle-alert-D6bAGtMw.js} +0 -0
- /package/dist/assets/{upload-Bdbyo_ok.js → upload-DsWG9TbD.js} +0 -0
- /package/dist/assets/{use-copy-to-clipboard-BarKTY4m.js → use-copy-to-clipboard-RUBxQIiE.js} +0 -0
- /package/dist/assets/{use-is-mobile-Cx2xnNUx.js → use-is-mobile-MmHo-OM6.js} +0 -0
- /package/dist/assets/{user-Dq9DUxnU.js → user-DHC7OLPE.js} +0 -0
- /package/dist/assets/{user-plus-CXMJ1x_5.js → user-plus-DjxxnQ8G.js} +0 -0
- /package/dist/assets/{users-DWDkv8ju.js → users-OcC3p9Jn.js} +0 -0
- /package/dist/assets/{video-CQJlht8Q.js → video-Dtwi0MD9.js} +0 -0
- /package/dist/assets/{volume-2-Bj3y3ZBJ.js → volume-2-BXDl4IEg.js} +0 -0
- /package/dist/assets/{workflow-DbPANJpf.js → workflow-Bsy5y3W0.js} +0 -0
- /package/dist/assets/{workflow-status-CgrMMiJT.js → workflow-status-D0bBEpGp.js} +0 -0
- /package/dist/assets/{workspace-theme-tokens-bLqHFK0a.js → workspace-theme-tokens-dJKcMIdP.js} +0 -0
- /package/dist/assets/{wrench-tjOqvzJ2.js → wrench-DhynFba1.js} +0 -0
- /package/dist/assets/{x-DuBvjmAE.js → x-D4O9yIS7.js} +0 -0
- /package/dist/assets/{xterm-Ip5qSQfD.js → xterm-DARAJ0SV.js} +0 -0
- /package/dist/assets/{xterm-addon-fit-BbxIpbO2.js → xterm-addon-fit-BDf8Eu9n.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{d 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{d as r}from"./routes-DrfnNoYS.js";import{t as i}from"./onboarding-layout-iPzXbZk1.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};
|
|
@@ -0,0 +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-DMGjBlMw.js";import{t as o}from"./arrow-left-W84B6oJL.js";import{n as s,r as c,t as l}from"./metric-card-DpZFp8-q.js";import{T as u,c as d}from"./message-content-B6_GZQl9.js";import{t as f}from"./brain-CN4zzNgU.js";import{t as p}from"./chevron-down-BNidRDh1.js";import{t as m}from"./chevron-right-CANAtgGn.js";import"./src-Da9g8qsW.js";import{t as h}from"./globe-CdLn4IX7.js";import{t as g}from"./chat-markdown-message-B7qvlO44.js";import{t as _}from"./x-D4O9yIS7.js";import{c as v,i as y,l as b,o as x}from"./subagent-store-DibRR9Ij.js";import{t as S}from"./misc-BBsGq1IU.js";import{t as C}from"./proxy-DrtKRLtr.js";import{t as w}from"./AnimatePresence-CHo6D7IH.js";import{t as T}from"./use-reduced-motion-fR0m_opJ.js";import{t as E}from"./three-dot-indicator-CeTxs9-J.js";import{t as D}from"./avatar-renderer-TpNgmnU1.js";import{n as O}from"./use-bundled-avatar-components-BcyasJwu.js";import{t as k}from"./avatar-subagent-tkmKhEWI.js";import{i as A,r as j,t as M}from"./use-subagent-card-data-bjGydvhR.js";import{S as N,a as P,c as F,d as I,f as L,h as R,i as z,l as B,m as V,n as H,o as U,p as W,r as G,t as K,u as q,w as J}from"./site-favicon-CDH0mg6Q.js";import{t as ee}from"./status-badge-pill-CFoeNqKo.js";import{CodeBlock as Y,ToolDetailBody as te}from"./tool-detail-panel-B2CIRZkB.js";import{t as ne}from"./detail-panel-stop-button-Bhew_kym.js";var X=e(t(),1),Z=r();function re({status:e}){return(0,Z.jsx)(ee,{color:v(e),label:b(e)})}function ie(e,t){let n=e.steps[0];return`${t}-${e.label}-${n?L(n,t):``}`}function ae(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 oe(e,t){return e&&e.kind===`tool`&&(e.activity||e.info)||t}function se(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 ce(e){for(let t=e.steps.length-1;t>=0;t--){let n=e.steps[t];if(n.kind===`thinking`&&n.text)return J(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 le({steps:e,onStepDetailClick:t,expandedKeys:n,onExpandedKeysChange:r,isRunning:i=!1}){let[a,o]=(0,X.useState)(new Set),s=n??a,c=(0,X.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,X.useMemo)(()=>q(e),[e]);return l.length===0?null:(0,Z.jsx)(`div`,{className:`flex w-full flex-col`,children:l.map((e,n)=>{let r=ie(e,n),a=n===l.length-1;return(0,Z.jsx)(ue,{section:e,isLast:a,isActiveTail:a&&i,expanded:s.has(r),sectionKeyValue:r,onToggle:c,onStepDetailClick:t},r)})})}var ue=(0,X.memo)(function({section:e,isLast:t,isActiveTail:n,expanded:r,sectionKeyValue:a,onToggle:o,onStepDetailClick:s}){let c=T(),l=I(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?se(e):void 0,v=m>=2,y=e.steps.some(e=>W(e)||!!s&&!!Q(e)),b=u===`running`?``:V(e.steps.map(e=>`durationLabel`in e?e.durationLabel:``)),x=u===`running`?ae(e):void 0,E=u===`running`&&!g?oe(x,e.label):``,D=g&&(u===`running`||!!_),O=_??e.label,k=p&&d,A=k?ce(e)??e.label:void 0,j=u===`running`||D||k||!!b,M=`${m} step${m===1?``:`s`}`;return(0,Z.jsxs)(`div`,{"data-testid":`subagent-phase-section`,"data-phase-label":e.label,className:S(`relative flex flex-col gap-2`,!t&&`pb-4`),children:[!t&&(0,Z.jsx)(F,{className:`top-[17.5px] -bottom-[4.5px]`}),(0,Z.jsxs)(`button`,{type:`button`,"data-testid":`subagent-phase-header`,disabled:!y,onClick:y?()=>o(a):void 0,className:S(`flex h-[22px] w-full items-center gap-2 text-left`,y&&`cursor-pointer`),children:[(0,Z.jsx)(`span`,{"aria-hidden":!0,className:`flex h-[14px] w-[14px] shrink-0 items-center justify-center`,children:(0,Z.jsx)(`span`,{className:`h-[5px] w-[5px] rounded-full bg-[var(--content-disabled)]`})}),(0,Z.jsx)(B,{status:d?`running`:u,isThinking:p&&!d}),(0,Z.jsx)(i,{variant:`body-medium-default`,className:`shrink-0 text-[var(--content-default)]`,children:e.label}),j&&(0,Z.jsx)(`span`,{"aria-hidden":!0,className:`shrink-0 leading-none text-[var(--content-tertiary)] opacity-10`,children:`|`}),D?(0,Z.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-1`,children:[(0,Z.jsx)(h,{"aria-hidden":`true`,className:`h-3.5 w-3.5 shrink-0 text-[var(--content-tertiary)]`}),(0,Z.jsx)(R,{currentStepTitle:``,currentStepInfo:O})]}):k?(0,Z.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-1`,children:[(0,Z.jsx)(f,{"aria-hidden":`true`,className:`h-3.5 w-3.5 shrink-0 text-[var(--content-tertiary)]`}),(0,Z.jsx)(R,{currentStepTitle:``,currentStepInfo:A??e.label})]}):u===`running`?(0,Z.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-1`,children:[(0,Z.jsx)(f,{"aria-hidden":`true`,className:`h-3.5 w-3.5 shrink-0 text-[var(--content-tertiary)]`}),(0,Z.jsx)(R,{currentStepTitle:``,currentStepInfo:E})]}):b?(0,Z.jsx)(i,{variant:`body-small-default`,className:`min-w-0 truncate text-[var(--content-tertiary)]`,children:`Worked for ${b}`}):null,y&&v&&(0,Z.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,Z.jsx)(i,{variant:`body-small-default`,className:`whitespace-nowrap text-[var(--content-secondary)]`,children:M})})]}),(0,Z.jsx)(w,{initial:!1,children:y&&r&&(0,Z.jsx)(C.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,Z.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,Z.jsx)(z,{variant:`tool`,iconName:e.iconName,label:e.activity||e.info||e.title,ariaLabel:`View tool details`,onClick:()=>s(n)},L(e,t));if(e.kind===`thinking`)return(0,Z.jsx)(z,{variant:`tool`,iconName:`brain`,label:J(e.text),ariaLabel:`View reasoning`,onClick:()=>s(n)},L(e,t));if(e.kind===`web_search`)return(0,Z.jsx)(z,{variant:`tool`,iconName:`globe`,label:e.query||e.title,ariaLabel:`View search details`,onClick:()=>s(n)},L(e,t));if(e.kind===`web_search_error`)return(0,Z.jsx)(z,{variant:`tool`,iconName:`globe`,label:e.errorMessage,ariaLabel:`View search error`,onClick:()=>s(n)},L(e,t))}return e.kind===`web_search`?(0,Z.jsxs)(`div`,{className:`flex w-full flex-col gap-1`,children:[e.query?(0,Z.jsx)(i,{variant:`body-small-default`,className:`text-[var(--content-secondary)]`,children:`"${e.query}"`}):null,(0,Z.jsx)(G,{step:e})]},L(e,t)):e.kind===`web_search_error`?(0,Z.jsx)(H,{step:e},L(e,t)):(0,Z.jsx)(P,{step:e},L(e,t))})})},`phase-steps`)})]})}),de=`
|
|
2
|
+
Content:
|
|
3
|
+
`;function fe(e){return N(e)||e}function pe(e,t){let n=e??``,r=n.indexOf(de),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
|
+
`)){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 me({url:e,status:t}){let n=fe(e),r=t?/^\s*2\d\d/.test(t):!1;return(0,Z.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,Z.jsx)(K,{domain:n,title:n}),(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,Z.jsx)(i,{variant:`body-medium-default`,as:`span`,className:`truncate text-[var(--content-default)]`,children:n}),(0,Z.jsx)(i,{variant:`body-small-default`,as:`span`,className:`truncate text-[var(--content-tertiary)]`,children:e})]}),t&&(0,Z.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 he({detail:e}){let[t,n]=(0,X.useState)(!1),r=typeof e.input?.url==`string`?e.input.url:void 0,a=(0,X.useMemo)(()=>pe(e.result??``,r),[e.result,r]);return e.status===`error`?(0,Z.jsx)(Y,{text:e.result??`Fetch failed.`}):(0,Z.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[a.url&&(0,Z.jsx)(me,{url:a.url,status:a.status}),a.notices.length>0&&(0,Z.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,Z.jsx)(i,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:e},t))}),(0,Z.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Z.jsx)(i,{variant:`body-medium-default`,as:`h3`,className:`text-[var(--content-emphasised)]`,children:t?`Raw result`:`Content`}),e.result&&(0,Z.jsx)(`button`,{type:`button`,onClick:()=>n(e=>!e),className:`cursor-pointer text-[var(--content-secondary)] transition-colors hover:text-[var(--content-default)]`,children:(0,Z.jsx)(i,{variant:`label-small-default`,as:`span`,children:t?`View extracted`:`View raw`})})]}),t?(0,Z.jsx)(Y,{text:e.result??``}):a.content?(0,Z.jsx)(g,{content:a.content}):(0,Z.jsx)(i,{variant:`body-small-default`,className:`text-[var(--content-tertiary)]`,children:e.status===`running`?`Fetching…`:`No content extracted.`})]})]})}function ge({detail:e}){let t=e.searchQuery??``,n=e.searchResults??[];return(0,Z.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[t?(0,Z.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Z.jsx)(i,{variant:`body-medium-default`,as:`h3`,className:`text-[var(--content-emphasised)]`,children:`Query`}),(0,Z.jsx)(i,{variant:`body-medium-lighter`,as:`p`,className:`break-words leading-relaxed text-[var(--content-default)]`,children:`"${t}"`})]}):null,(0,Z.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Z.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,Z.jsx)(G,{step:{kind:`web_search`,title:`Searched the web`,durationLabel:``,linkCount:n.length,results:n}}):(0,Z.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 _e(e=M){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=A(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 ve(e){let t=(0,X.useRef)(null);return t.current??=_e(),t.current.project(e)}function ye(e){return e.kind===`web_search`?`globe`:e.kind===`thinking`?`brain`:d(e.toolName,e.input).iconName}function be({detail:e}){return e.status===`running`?(0,Z.jsx)(E,{className:`shrink-0`,"data-testid":`nested-detail-running`}):(0,Z.jsx)(U[ye(e)]??u,{"aria-hidden":!0,className:`h-5 w-5 shrink-0 text-[var(--content-secondary)]`})}function xe({entry:e,onClose:t,onStop:r,onRequestDetail:u,assistantId:d}){let f=x(e.status),h=T(),v=O(),b=(0,X.useMemo)(()=>k(e.subagentId),[e.subagentId]),{steps:S}=j(e.events),w=ve(e.events),[E,A]=(0,X.useState)(null),M=(0,X.useRef)(w);M.current=w;let N=(0,X.useCallback)(e=>{M.current.has(e)&&A(e)},[]),[P,F]=(0,X.useState)(new Set),[I,L]=(0,X.useState)(!1),[R,z]=(0,X.useState)(!1),B=(0,X.useRef)(null),[V,H]=(0,X.useState)(e.subagentId);V!==e.subagentId&&(H(e.subagentId),L(!1),z(!1),A(null),F(new Set)),(0,X.useLayoutEffect)(()=>{if(I)return;let e=B.current;e&&z(e.scrollHeight>e.clientHeight)},[e.subagentId,e.objective,I]);let U=y(e);(0,X.useEffect)(()=>{u&&U&&e.events.length===0&&u(e.subagentId)},[e.subagentId,U,e.events.length,u]);let W=E?w.get(E):void 0,G=(0,X.useCallback)(()=>A(null),[]),K=W?W.activity||W.title:``,q=W?K:e.label;return(0,Z.jsxs)(`div`,{className:`flex h-full flex-col overflow-hidden rounded-xl bg-[var(--surface-lift)]`,children:[W&&(0,Z.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 border-b border-[var(--border-hover)] px-5 py-3`,children:[(0,Z.jsx)(n,{variant:`link`,onClick:G,title:e.label,className:`inline-flex min-w-0 shrink border-0 text-left text-[color:var(--content-default)]`,children:(0,Z.jsx)(i,{variant:`body-small-default`,as:`span`,className:`min-w-0 truncate`,children:e.label})}),(0,Z.jsx)(m,{className:`h-2.5 w-2.5 shrink-0 text-[var(--content-tertiary)]`,"aria-hidden":!0}),(0,Z.jsx)(i,{variant:`body-small-default`,as:`span`,title:K,className:`min-w-0 shrink truncate text-[var(--content-secondary)]`,children:K})]}),(0,Z.jsxs)(`div`,{className:`flex shrink-0 items-center gap-3 border-b border-[var(--border-hover)] px-5 py-4`,children:[W&&(0,Z.jsx)(n,{variant:`outlined`,iconOnly:(0,Z.jsx)(o,{}),onClick:G,"aria-label":`Back to timeline`,tooltip:`Back`,className:`shrink-0 rounded-lg`}),W?(0,Z.jsx)(be,{detail:W}):v?(0,Z.jsx)(D,{components:v,bodyShapeId:b.bodyShape,eyeStyleId:b.eyeStyle,colorId:b.color,size:32}):(0,Z.jsx)(`div`,{style:{width:32,height:32,flexShrink:0},"aria-hidden":!0}),(0,Z.jsx)(i,{variant:`title-medium`,title:q,className:`min-w-0 shrink truncate leading-snug text-[var(--content-default)]`,children:q}),(0,Z.jsx)(re,{status:e.status}),(0,Z.jsx)(`span`,{className:`flex-1`}),f&&r&&(0,Z.jsx)(ne,{onStop:()=>r(e.subagentId),ariaLabel:`Stop subagent`}),(0,Z.jsx)(n,{variant:`outlined`,iconOnly:(0,Z.jsx)(_,{}),onClick:t,"aria-label":`Close subagent detail`,tooltip:`Close`,className:`shrink-0 rounded-lg`})]}),(0,Z.jsx)(`div`,{className:`flex-1 overflow-y-auto px-5 py-5`,children:(0,Z.jsx)(C.div,{initial:{opacity:0},animate:{opacity:1},transition:h?{duration:0}:{duration:.18,ease:[.16,1,.3,1]},children:W?(0,Z.jsx)(Z.Fragment,{children:W.kind===`thinking`?(0,Z.jsx)(g,{content:W.thinkingText??``,hardLineBreaks:!0,assistantId:d}):W.kind===`web_search`&&W.status!==`error`?(0,Z.jsx)(ge,{detail:W}):W.toolName===`web_fetch`?(0,Z.jsx)(he,{detail:W}):(0,Z.jsx)(te,{detail:W})}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`div`,{className:`mb-5 grid grid-cols-2 gap-3`,children:[(0,Z.jsx)(l,{icon:(0,Z.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,Z.jsx)(l,{icon:(0,Z.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,Z.jsxs)(`div`,{className:`mb-5`,children:[(0,Z.jsx)(i,{variant:`body-medium-default`,as:`h3`,className:`mb-2 text-[var(--content-emphasised)]`,children:`Objective`}),(0,Z.jsx)(i,{ref:B,variant:`body-medium-lighter`,as:`p`,tabIndex:I?0:void 0,role:I?`region`:void 0,"aria-label":I?`Objective`:void 0,className:`whitespace-pre-wrap break-words leading-relaxed text-[var(--content-default)] ${I?`max-h-[280px] overflow-y-auto`:`line-clamp-5`}`,children:e.objective}),R&&(0,Z.jsx)(n,{variant:`link`,onClick:()=>L(e=>!e),"aria-expanded":I,rightIcon:(0,Z.jsx)(p,{className:`h-3.5 w-3.5 transition-transform ${I?`rotate-180`:``}`,"aria-hidden":!0}),className:`mt-1.5 inline-flex gap-1 border-0 text-[color:var(--content-secondary)] hover:text-[color:var(--content-default)] hover:no-underline`,children:(0,Z.jsx)(i,{variant:`label-small-default`,children:I?`Show less`:`Show more`})}),(0,Z.jsx)(`div`,{className:`mt-5 h-px w-full bg-[var(--border-hover)]`})]}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(i,{variant:`title-medium`,as:`h3`,className:`mb-4 text-[var(--content-emphasised)]`,children:`Timeline`}),e.events.length>0?(0,Z.jsx)(le,{steps:S,expandedKeys:P,onExpandedKeysChange:F,onStepDetailClick:N,isRunning:f},e.subagentId):(0,Z.jsx)(i,{variant:`body-small-default`,className:`py-4 text-center text-[var(--content-tertiary)]`,children:`No events yet`})]})]})},W?`detail`:`list`)})]})}export{xe as SubagentDetailPanel};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{t as e}from"./capture-error-
|
|
1
|
+
import{t as e}from"./capture-error-CqtAGHQu.js";import{n as t,t as n}from"./create-selectors-BfxF8Sx_.js";import{b as r,m as i}from"./api-pN-AgY8Q.js";import{n as a}from"./resolved-assistants-store-C6oDdTxB.js";import{i as o,n as s}from"./utils-DtVy-_pB.js";import{Cr as c,Tr as l,wr as u}from"./sdk.gen-CjtCuSlS.js";import{a as d}from"./diagnostics-DykDXmF3.js";import{t as f}from"./conversation-store-CTMy9QPV.js";import{t as p}from"./by-tool-use-id-index-CUFuQqHz.js";function m(e){return e===`running`||e===`pending`||e===`awaiting_input`}function h(e,t){return m(e)||!m(t)}function g(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 _(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`}}var v=`0.10.0`;function y(){return s(v)}function b(){return o(v)}async function x(t,n,r){try{let{data:a,response:o}=await u({path:{assistant_id:t,id:n},query:{conversationId:r},throwOnError:!1});if(!o||!o.ok||!a)return null;let s=i.safeParse(a);return s.success?s.data:(e(s.error,{context:`fetchSubagentDetail`}),null)}catch(t){return e(t,{context:`fetchSubagentDetail`}),null}}function S(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
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 C=`0.11.1`;function w(){return s(C)}function T(e){if(e.conversationId)return e.conversationId;if(e.parentConversationId&&w())return e.parentConversationId}function E(e){return T(e)!==void 0}var D=[],O={byId:{},orderedIds:[],terminalUsageIds:new Set,byParent:new Map,byToolUseId:new Map,fetchedAt:new Map};function k(e){let t=[];return e.parentMessageStableId&&t.push(e.parentMessageStableId),e.parentMessageId&&e.parentMessageId!==e.parentMessageStableId&&t.push(e.parentMessageId),t}function A(e,t){let n=k(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 j(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 M(e,t,n,r){let i=e[t];return!i||i[n]===r?null:{...e,[t]:{...i,[n]:r}}}function N(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 P=[`command`,`file_path`,`path`,`query`,`url`,`pattern`,`glob`];function F(e){for(let t of P){let n=e[t];if(typeof n==`string`)return n.length>120?n.slice(0,117)+`...`:n}return``}function I(e){let t=e.activityMetadata?.webSearch?.query;return typeof t==`string`&&t.length>0?t:void 0}var L=0;function R(){return`te-${++L}`}var z=new Map,B=0,V=5e3,H=new Map;function U(e){H.set(e,Date.now())}function W(e){let t=H.get(e)??0;return Date.now()-t<V?!1:(U(e),!0)}function G(e,t,n,r,i){let a=e.byId[t];if(a){h(a.status,r)&&e.changeStatus({subagentId:t,status:r,error:n.error,inputTokens:n.usage?.inputTokens,outputTokens:n.usage?.outputTokens,totalCost:n.usage?.estimatedCost}),e.backfillIdentity({subagentId:t,label:n.label,objective:n.objective,parentToolUseId:n.parentToolUseId}),n.conversationId&&e.setConversationId(t,n.conversationId),e.setParentConversationId(t,i);return}e.ensureEntry({subagentId:t,timestamp:Date.now(),status:r,label:n.label,objective:n.objective,isFork:n.isFork,error:n.error,conversationId:n.conversationId,parentConversationId:i,parentToolUseId:n.parentToolUseId,inputTokens:n.usage?.inputTokens,outputTokens:n.usage?.outputTokens,totalCost:n.usage?.estimatedCost})}async function K(t,n,i){let a=B,o=Object.values(t().byId).filter(e=>e.parentConversationId===i&&m(e.status)).map(e=>e.subagentId),s;try{let{data:e,response:t}=await
|
|
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 C=`0.11.1`;function w(){return s(C)}function T(e){if(e.conversationId)return e.conversationId;if(e.parentConversationId&&w())return e.parentConversationId}function E(e){return T(e)!==void 0}var D=[],O={byId:{},orderedIds:[],terminalUsageIds:new Set,byParent:new Map,byToolUseId:new Map,fetchedAt:new Map};function k(e){let t=[];return e.parentMessageStableId&&t.push(e.parentMessageStableId),e.parentMessageId&&e.parentMessageId!==e.parentMessageStableId&&t.push(e.parentMessageId),t}function A(e,t){let n=k(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 j(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 M(e,t,n,r){let i=e[t];return!i||i[n]===r?null:{...e,[t]:{...i,[n]:r}}}function N(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 P=[`command`,`file_path`,`path`,`query`,`url`,`pattern`,`glob`];function F(e){for(let t of P){let n=e[t];if(typeof n==`string`)return n.length>120?n.slice(0,117)+`...`:n}return``}function I(e){let t=e.activityMetadata?.webSearch?.query;return typeof t==`string`&&t.length>0?t:void 0}var L=0;function R(){return`te-${++L}`}var z=new Map,B=0,V=5e3,H=new Map;function U(e){H.set(e,Date.now())}function W(e){let t=H.get(e)??0;return Date.now()-t<V?!1:(U(e),!0)}function G(e,t,n,r,i){let a=e.byId[t];if(a){h(a.status,r)&&e.changeStatus({subagentId:t,status:r,error:n.error,inputTokens:n.usage?.inputTokens,outputTokens:n.usage?.outputTokens,totalCost:n.usage?.estimatedCost}),e.backfillIdentity({subagentId:t,label:n.label,objective:n.objective,parentToolUseId:n.parentToolUseId}),n.conversationId&&e.setConversationId(t,n.conversationId),e.setParentConversationId(t,i);return}e.ensureEntry({subagentId:t,timestamp:Date.now(),status:r,label:n.label,objective:n.objective,isFork:n.isFork,error:n.error,conversationId:n.conversationId,parentConversationId:i,parentToolUseId:n.parentToolUseId,inputTokens:n.usage?.inputTokens,outputTokens:n.usage?.outputTokens,totalCost:n.usage?.estimatedCost})}async function K(t,n,i){let a=B,o=Object.values(t().byId).filter(e=>e.parentConversationId===i&&m(e.status)).map(e=>e.subagentId),s;try{let{data:e,response:t}=await l({path:{assistant_id:n},query:{parentConversationId:i},throwOnError:!1});if(!t?.ok||!e?.subagents)return;s=e.subagents}catch(t){e(t,{context:`reconcileFromDaemon`,bestEffort:!0});return}if(a!==B)return;for(let[e,n]of Object.entries(s)){let a=r.safeParse(n.status);a.success&&G(t(),e,n,a.data,i)}let{byId:c,changeStatus:u}=t();for(let e of o){let t=c[e];!t||t.parentConversationId!==i||!m(t.status)||Object.hasOwn(s,e)||u({subagentId:e,status:`interrupted`})}}var q=t()((e,t)=>({...O,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:n.inputTokens??0,outputTokens:n.outputTokens??0,totalCost:n.totalCost??0,spawnedAt:n.timestamp,events:[],conversationId:n.conversationId,parentConversationId:n.parentConversationId,parentMessageStableId:n.parentMessageStableId,parentMessageId:n.parentMessageId,parentToolUseId:n.parentToolUseId},o={...r,[n.subagentId]:a},s=p(t().byToolUseId,n.parentToolUseId,n.subagentId);e({byId:o,orderedIds:[...i,n.subagentId],byParent:A(t().byParent,a),byToolUseId:s}),!m(a.status)&&(n.inputTokens!=null||n.outputTokens!=null||n.totalCost!=null)&&t().terminalUsageIds.add(n.subagentId)},ensureEntry:n=>{if(t().byId[n.subagentId])return;let r=n.parentConversationId??f.getState().activeConversationId??void 0,i=n.status??`running`;if(t().spawnSubagent({subagentId:n.subagentId,label:n.label??``,objective:n.objective??``,status:i,isFork:n.isFork,error:n.error,conversationId:n.conversationId,parentConversationId:r,timestamp:n.timestamp,parentToolUseId:n.parentToolUseId,inputTokens:n.inputTokens,outputTokens:n.outputTokens,totalCost:n.totalCost}),!m(i)||!E({conversationId:n.conversationId,parentConversationId:r}))return;let{byId:a}=t(),o=a[n.subagentId];o&&e({byId:{...a,[n.subagentId]:{...o,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}}}),!m(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=N(n.event),o;if(o=n.event.type===`tool_use_start`&&n.event.input?F(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:R(),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:I(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?p(t().byToolUseId,a,n.subagentId):t().byToolUseId,s=n.conversationId&&n.conversationId!==i.parentConversationId?n.conversationId:i.conversationId,c=n.status&&h(i.status,n.status)?n.status:i.status;e({byId:{...r,[n.subagentId]:{...i,conversationId:s,label:i.label||(n.label??``),parentToolUseId:a,status:c,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})},backfillIdentity:n=>{let{byId:r}=t(),i=r[n.subagentId];if(!i)return;let a=i.label||(n.label??``),o=i.objective||(n.objective??``),s=i.parentToolUseId??n.parentToolUseId;a===i.label&&o===i.objective&&s===i.parentToolUseId||e({byId:{...r,[n.subagentId]:{...i,label:a,objective:o,parentToolUseId:s}},byToolUseId:p(t().byToolUseId,s,n.subagentId)})},attachParentMessage:(n,r)=>{let{byId:i}=t(),a=i[n];if(!a||a.parentMessageId)return;let o={...a,parentMessageId:r};e({byId:{...i,[n]:o},byParent:j(t().byParent,a.parentMessageStableId??r,r,new Map([[n,o]]))})},setConversationId:(n,r)=>{let i=M(t().byId,n,`conversationId`,r);i&&e({byId:i})},setParentConversationId:(n,r)=>{let i=M(t().byId,n,`parentConversationId`,r);i&&e({byId:i})},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:j(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)return;let s=T(o);if(!s||o.events.length>0)return;let c=a.get(r);if(c!==void 0&&c>=o.spawnedAt)return;let l=new Map(a);l.set(r,o.spawnedAt),e({fetchedAt:l});let u=await x(n,r,s),d=M(t().byId,r,`detailSettled`,!0);d&&e({byId:d});let f=()=>{let n=new Map(t().fetchedAt);n.delete(r),e({fetchedAt:n})};if(!u){f();let n=t().byId[r];n?.hydrationPending&&e({byId:{...t().byId,[r]:{...n,hydrationPending:!1}}});return}let p=S(u.events);p.length===0&&f(),t().loadDetail({subagentId:r,status:u.status,objective:u.objective,inputTokens:u.usage?.inputTokens,outputTokens:u.usage?.outputTokens,totalCost:u.usage?.estimatedCost,events:p,label:u.label,parentToolUseId:u.parentToolUseId,conversationId:u.conversationId})},fetchGroupDetail:e=>{let n=a.getState().activeAssistantId;if(n)for(let r of e)t().fetchDetailIfNeeded(n,r)},reconcileFromDaemon:(e,n,r=`mount`)=>{if(!y())return Promise.resolve();let i=z.get(n);if(i)return i;if(r===`reopen`)U(n);else if(!W(n))return Promise.resolve();d(`subagent_reconcile_kick`,{trigger:r});let a=K(t,e,n).finally(()=>{z.get(n)===a&&z.delete(n)});return z.set(n,a),a},abortSubagent:async e=>{let t=a.getState().activeAssistantId,n=f.getState().activeConversationId;if(!(!t||!n))try{await c({path:{assistant_id:t,id:e},body:{conversationId:n},throwOnError:!0})}catch{}},reset:()=>{H.clear(),B++,z.clear(),e({byId:{},orderedIds:[],terminalUsageIds:new Set,byParent:new Map,byToolUseId:new Map,fetchedAt:new Map})}})),J=n(q);function Y(e){let t=a.getState().activeAssistantId,n=e??f.getState().activeConversationId;!t||!n||q.getState().reconcileFromDaemon(t,n,`unknown_id`)}export{b as a,g as c,E as i,_ as l,Y as n,m as o,J as r,h as s,D 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-BLHTDn21.js";import{t as C}from"./brain-BIzJCPA6.js";import{t as w}from"./calendar-RYdAv74D.js";import{t as T}from"./check-sC49_hjU.js";import{i as E,n as te,r as ne,t as re}from"./invalidate-plugin-queries-QmmXCyiN.js";import{t as D}from"./circle-check-big-DSsDH5_6.js";import{t as ie}from"./cloud-off-BCBGTmt0.js";import{t as ae}from"./code-qafFA0_-.js";import{t as oe}from"./download-CywcQLB2.js";import{t as O}from"./external-link-CAce-RVu.js";import{t as k}from"./globe-BDvXuPkw.js";import{t as se}from"./hard-drive-CncrDZ7V.js";import{t as A}from"./heart-2AHOP0tB.js";import{t as j}from"./layout-grid-PPpVK0nJ.js";import{t as ce}from"./link-2-BMNZFfWH.js";import{t as M}from"./loader-circle-BzJ2kz3F.js";import{t as le}from"./mail-DABv3_Ue.js";import{t as ue}from"./message-circle-gk_DFUIg.js";import{t as de}from"./mic-DZrWtAAu.js";import{t as fe}from"./puzzle-CtM3jM-f.js";import{t as pe}from"./search-DA3TmTuR.js";import{t as me}from"./settings-DyEBEqeQ.js";import{t as he}from"./sparkles-DC8kqYjt.js";import{t as N}from"./terminal-Cs_TREv-.js";import{t as ge}from"./trash-2-De6X8YiM.js";import{t as P}from"./triangle-alert--e3n47gm.js";import{t as _e}from"./user-Dq9DUxnU.js";import{t as ve}from"./x-DuBvjmAE.js";import{n as F,t as ye}from"./installed-plugins-query-6u0jUM-L.js";import"./src-BAS7a2RG.js";import{t as I}from"./tag-D8NAGb0r.js";import{t as L}from"./popover-BFL-uOLh.js";import{t as be}from"./input-C-GkeWCw.js";import{t as xe}from"./toggle-D776PTw-.js";import{n as R,t as Se}from"./panel-item-DGs4s9r-.js";import{n as z}from"./toast-DR7D7Uma.js";import{t as Ce}from"./confirm-dialog-DZX6LhLy.js";import{t as we}from"./file-markdown-DBLxtb0M.js";import{t as Te}from"./assistant-identity-store-BczULg2T.js";import{i as B}from"./utils-C-YNXdkX.js";import{Rn as Ee,Vn as De,Wn as Oe,zn as ke}from"./sdk.gen-BySz4QYj.js";import{d as Ae}from"./routes-GmNvdtLW.js";import{Ct as je,at as Me,cn as Ne,lt as V,on as Pe,sn as Fe,st as H,ut as Ie,wt as Le}from"./react-query.gen-0mspArBl.js";import{n as Re}from"./use-is-mobile-Cx2xnNUx.js";import{t as U}from"./misc-CAQM4FGM.js";import{t as ze}from"./plugins-surface-C4peMNec.js";import{t as Be}from"./use-active-assistant-id-CjvzlL4t.js";import{n as Ve,r as He}from"./skills-BL4RgwAd.js";var Ue=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`}]]),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:U(`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:U(`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)(O,{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)(xe,{label:`Auto-include in chat`,checked:u,onChange:()=>d(),disabled:f}):null,y?(0,G.jsx)(a,{asChild:!0,leftIcon:(0,G.jsx)(oe,{"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)(M,{className:`animate-spin`,"aria-hidden":!0}):(0,G.jsx)(E,{"aria-hidden":!0}),children:`Upgrade`}):null,(0,G.jsx)(a,{type:`button`,variant:`dangerOutline`,onClick:()=>m(!0),disabled:s,leftIcon:s?(0,G.jsx)(M,{className:`animate-spin`,"aria-hidden":!0}):(0,G.jsx)(ge,{"aria-hidden":!0}),children:`Remove`})]}):(0,G.jsx)(a,{type:`button`,onClick:n,disabled:o,leftIcon:o?(0,G.jsx)(M,{className:`animate-spin`,"aria-hidden":!0}):(0,G.jsx)(h,{"aria-hidden":!0}),children:`Install`}),(0,G.jsx)(Ce,{open:p,title:`Remove plugin`,message:Ge(e.name),confirmLabel:`Remove`,destructive:!0,onConfirm:()=>{m(!1),r()},onCancel:()=>m(!1)}),(0,G.jsx)(Ce,{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)(M,{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)(P,{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)(P,{className:`h-4 w-4 shrink-0`,"aria-hidden":!0}),r]}):null}function ot({external:e,className:t}){let n=e?{label:`External`,icon:k}:{label:`Local`,icon:se};return(0,G.jsx)(I,{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)(I,{tone:`warning`,leftIcon:(0,W.createElement)(t?M:E,{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({...H({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({...Me({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)(()=>re(r,e,t),[e,t,r]),c=Ne({onSuccess:()=>{s(),z.success(`Installed ${t||`plugin`}`)}}),d=Pe({onSuccess:()=>{s(),i?.()}}),f=Fe({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 B(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 De({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:V({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?ke({path:{assistant_id:e,name:t},throwOnError:!1}):Ee({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)=>{re(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)(we,{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,te=s?.status===`update-available`,ne=o?.name??t,re=Z(e,t,o?.hasIcon,o?.iconVersion),D=(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:ne}),(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:re,size:`md`}),(0,G.jsx)(`h2`,{className:`min-w-0 truncate text-title-medium`,style:{color:`var(--content-emphasised)`},children:ne})]}),(0,G.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1.5`,children:[te?(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)(we,{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)(D,C):D}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)(I,{tone:`neutral`,leftIcon:(0,G.jsx)(fe,{"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)(M,{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)(I,{tone:t.enabled?`positive`:`neutral`,children:t.enabled?`Enabled`:`Disabled`}):null,(0,G.jsx)(a,{type:`button`,variant:`dangerOutline`,iconOnly:l?(0,G.jsx)(M,{className:`animate-spin`,"aria-hidden":!0}):(0,G.jsx)(ge,{"aria-hidden":!0}),onClick:e=>{e.stopPropagation(),o?.()},disabled:l||u||!o,"aria-label":`Remove plugin`,expandOnMobile:!1})]})]})})}var _t={mail:le,calendar:w,"message-circle":ue,globe:k,zap:F,code:ae,mic:de,"shopping-cart":te,palette:ne,heart:A,settings:me,"link-2":ce};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:j,label:`All`,count:r,isActive:e===null,showCount:i,onClick:()=>t(null)}),s.map(r=>(0,G.jsx)(bt,{icon:vt(r.icon)??j,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=Ve(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)(M,{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)(M,{className:`animate-spin`,"aria-hidden":!0}):(0,G.jsx)(ge,{"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:j},{value:`installed`,label:`Installed`,icon:D},{value:`available`,label:`Available`,icon:h}],Ct=[{value:`skills`,label:`Skills`,icon:F},{value:`plugins`,label:`Plugins`,icon:fe}],wt=[{value:`vellum`,label:`Vellum`,icon:S},{value:`clawhub`,label:`Clawhub`,icon:k},{value:`skillssh`,label:`skills.sh`,icon:N},{value:`custom`,label:`Custom`,icon:_e},{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)(be,{type:`search`,value:e,onChange:e=>{t(e.target.value)},placeholder:`Search superpowers`,"aria-label":`Search superpowers`,leftIcon:(0,G.jsx)(pe,{className:`h-4 w-4`,"aria-hidden":!0}),rightIcon:i?(0,G.jsx)(M,{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)(Ue,{"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)(L.Root,{open:n,onOpenChange:r,children:[(0,G.jsx)(L.Trigger,{asChild:!0,children:i}),(0,G.jsx)(L.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:j,label:`All`,active:r===null,badge:c?s:void 0,onSelect:()=>i(null)}),p.map(e=>(0,G.jsx)($,{icon:vt(e.icon)??j,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)(Se,{icon:e,label:t,active:n,activeVariant:`branded`,badge:r,trailingAction:n&&r==null?(0,G.jsx)(T,{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)(D,{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 Oe({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:V({path:{assistant_id:e},query:{q:void 0,category:r}}),queryFn:({signal:t})=>Nt(e,r,t),enabled:!!e&&n,staleTime:At}),a=u({...ye(e),enabled:!!e&&n&&t!==null}),o=u({...Ie({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:V({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({...je({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=Te.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),te=(0,W.useRef)(g);(0,W.useEffect)(()=>{if(g!==te.current&&(te.current=g,g!==w.trim())){T(g);return}E!==g&&E===w.trim()&&(te.current=E,x({q:E}))},[E,g,w,x]);let ne=(0,W.useCallback)(e=>x({filter:e}),[x]),D=(0,W.useCallback)(e=>x({category:e}),[x]),[ie,ae]=(0,W.useState)(()=>n(Jt,!1)),oe=(0,W.useCallback)(()=>{ae(!0),t(Jt,!0)},[]),O=!p&&_===`plugins`?`all`:_,k=Ut(O),se=p&&Wt(O),A=Gt(O),{handleInstall:j,handleRemove:ce,isInstallingSkill:M,isRemovingSkill:le,skillPendingRemoval:ue,confirmRemove:de,cancelRemove:fe}=ee(e),{data:pe=[]}=It(e),{origin:me,kind:he}=(0,W.useMemo)(()=>Ht(O),[O]),N=u({...Le({path:{assistant_id:e},query:{include:`catalog`,origin:me,kind:he,q:E||void 0,category:y??void 0}}),select:e=>({skills:e.skills,categoryCounts:e.categoryCounts,totalCount:e.totalCount}),enabled:!!e&&k}),ge=u({...Le({path:{assistant_id:e},query:{include:`catalog`,origin:me,kind:he,q:E||void 0}}),select:e=>({skills:e.skills,categoryCounts:e.categoryCounts,totalCount:e.totalCount}),enabled:!!e&&k&&y!==null}),{items:P,isLoading:_e,catalogLoading:ve,isError:F,isFetching:ye,catalogError:I,categorySupported:L,installedCategoryCounts:be,installedPlugins:xe,installedTotal:R,catalogMatches:Se,unfilteredInstalledNames:we}=Ft(e,y,p),B=se&&(y===null||L),Ee=(0,W.useCallback)(t=>re(a,e,t),[e,a]),[De,Oe]=(0,W.useState)(null),[ke,je]=(0,W.useState)(null),[Me,V]=(0,W.useState)(null),[H,Ie]=(0,W.useState)(null),[U,Be]=(0,W.useState)(null),Ve=Ne({onMutate:e=>Oe(e.body.name),onSuccess:(e,t)=>z.success(`Installed ${t.body.name}`),onError:()=>z.error(Je),onSettled:(e,t,n)=>{Oe(null),Ee(n.body.name)}}),Ue=Pe({onMutate:e=>je(e.path.name),onSuccess:(e,t)=>z.success(`Removed ${t.path.name}`),onError:()=>z.error(Ye),onSettled:(e,t,n)=>{je(null),Ee(n.path.name)}}),We=Fe({onMutate:e=>V(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)=>{V(null),Ee(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=>{Ve.mutate({path:{assistant_id:e},body:{name:t.name}})},[e,Ve]),et=(0,W.useCallback)(()=>{H&&(Ue.mutate({path:{assistant_id:e,name:H.name}}),Ie(null))},[e,H,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)(()=>k?N.data?.skills??[]:[],[k,N.data?.skills]),at=(0,W.useMemo)(()=>B?tt(P,A).filter(e=>$e(e,E)):[],[B,P,A,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?N.data:ge.data,st=Zt(k,Y?.skills??J,Y?.categoryCounts,Y?.totalCount),X=Qt(se&&L,be,xe,R,Se,we,A),{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=k&&N.isLoading,Z=k&&N.isError,ft=B&&_e,Q=B&&F,mt=(Z||!k)&&(Q||!B)&&(Z||Q),_t=dt||ft,vt=!!E&&(k&&N.isFetching||B&&ye&&!_e),bt=w.trim().length>0;if(b&&!p&&f===null)return null;if(b&&p){let t=P.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&&ve&&A!==`installed`?(0,G.jsx)(nn,{}):(0,G.jsx)(an,{filter:O,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(Ae.skills.detail(t.skill.id),{state:{listSearch:i.search}}),onInstall:()=>j(t.skill),onRemove:()=>ce(t.skill),isInstalling:M(t.skill),isRemoving:le(t.skill)}):t.installed?(0,G.jsx)($t,{assistantId:e,item:t.item,onSelect:()=>K(t.item),onRemove:()=>Ie(t.item),onUpgrade:e=>it(t.item,e),isRemoving:ke===t.item.name,isUpgrading:Me===t.item.name}):(0,G.jsx)(gt,{assistantId:e,item:t.item,onSelect:()=>K(t.item),onInstall:()=>Qe(t.item),isInstalling:De===t.item.name})},t.key))})});return(0,G.jsxs)(`div`,{className:`flex h-full min-h-0 flex-1 flex-col gap-4`,children:[!ie&&(0,G.jsx)(en,{onDismiss:oe}),(0,G.jsx)(Tt,{search:w,onSearchChange:T,filter:O,onFilterChange:ne,isSearching:vt,categories:pe,category:y,onCategoryChange:D,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&&I&&!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:D,counts:lt,totalCount:ut,showCounts:!bt,categories:pe})}),St]}),(0,G.jsx)(He,{skillName:ue?.name??null,onConfirm:de,onCancel:fe}),(0,G.jsx)(Ce,{open:H!==null,title:`Remove plugin`,message:H?Ge(H.name):``,confirmLabel:`Remove`,destructive:!0,onConfirm:et,onCancel:()=>Ie(null)}),(0,G.jsx)(Ce,{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)(he,{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)(ve,{"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)(ie,{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)(M,{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)(P,{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:j};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:F};case`available`:return{title:`Nothing Left to Install`,subtitle:`All available skills and plugins are installed.`,Icon:D};case`skills`:return{title:`No Skills Found`,subtitle:`Ask your assistant in chat to search for and install new skills.`,Icon:F};case`plugins`:return{title:`No Plugins Found`,subtitle:`Browse the catalog to install plugins that extend your assistant.`,Icon:fe};case`vellum`:return{title:`No Vellum Skills`,subtitle:`No bundled Vellum skills found.`,Icon:F};case`clawhub`:return{title:`No Clawhub Skills`,subtitle:`No Clawhub skills found. Try searching the catalog.`,Icon:F};case`skillssh`:return{title:`No skills.sh Skills`,subtitle:`No skills.sh skills found. Try searching the catalog.`,Icon:F};case`custom`:return{title:`No Custom Skills`,subtitle:`Create a custom skill by describing what you want in chat.`,Icon:F};case`assistant-memory`:return{title:`No Skills From Memory`,subtitle:`Skills your assistant authors from past conversations will appear here.`,Icon:F};default:return{title:`No Superpowers Available`,subtitle:`Check your connection to the Vellum catalog.`,Icon:ie}}}function sn(){return(0,G.jsx)(Xt,{assistantId:Be()})}export{sn as SuperpowersPage};
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{s as t,t as n}from"./local-settings-Bx7FsNo5.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-DMGjBlMw.js";import{t as g}from"./arrow-left-W84B6oJL.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-B_tz3CI7.js";import{t as C}from"./brain-CN4zzNgU.js";import{t as w}from"./calendar-qrPKlf1H.js";import{t as T}from"./check-Dt2rQhdg.js";import{i as E,n as te,r as ne,t as re}from"./invalidate-plugin-queries-B0OpJSUW.js";import{t as D}from"./circle-check-big-DtV6IJuh.js";import{t as ie}from"./cloud-off-BFACQbO0.js";import{t as ae}from"./code-D6SOwRrI.js";import"./src-Da9g8qsW.js";import{t as oe}from"./download-Cnb8zZrK.js";import{t as O}from"./external-link-GPGZ1LGU.js";import{t as k}from"./globe-CdLn4IX7.js";import{t as se}from"./hard-drive-sI2ZzmqM.js";import{t as A}from"./heart-DFD4eqW-.js";import{t as j}from"./layout-grid-Ct4RT2Ea.js";import{t as ce}from"./link-2-DhyrrFaE.js";import{t as M}from"./loader-circle-DWWXcfTQ.js";import{t as le}from"./mail-DyUf40pu.js";import{t as ue}from"./message-circle-ByXBaIaq.js";import{t as de}from"./mic-BZZo0R22.js";import{t as fe}from"./puzzle-4NgH5snP.js";import{t as pe}from"./search-DL-2uX3K.js";import{t as me}from"./settings-6_RIT4kT.js";import{t as he}from"./sparkles-DfEFn3Bh.js";import{t as N}from"./terminal-BucMVaPU.js";import{t as ge}from"./trash-2-DfVRfykB.js";import{t as P}from"./triangle-alert-D6bAGtMw.js";import{t as _e}from"./user-DHC7OLPE.js";import{t as ve}from"./x-D4O9yIS7.js";import{n as F,t as ye}from"./installed-plugins-query-3ACToZeY.js";import{t as I}from"./tag-gOOX7fbA.js";import{t as L}from"./popover-B-3isZCV.js";import{t as be}from"./input-tXUFa7Eo.js";import{t as xe}from"./toggle-BEPV0rQM.js";import{n as R,t as Se}from"./panel-item-CJh95P_q.js";import{n as z}from"./toast-BtFgiPe3.js";import{t as Ce}from"./confirm-dialog-j9o2h3xs.js";import{t as we}from"./file-markdown-DnVLY_b_.js";import{t as Te}from"./assistant-identity-store-B51BX78j.js";import{i as B}from"./utils-DtVy-_pB.js";import{Bn as Ee,Gn as De,Hn as Oe,zn as ke}from"./sdk.gen-CjtCuSlS.js";import{d as Ae}from"./routes-DrfnNoYS.js";import{Ct as je,at as Me,cn as Ne,lt as V,on as Pe,sn as Fe,st as H,ut as Ie,wt as Le}from"./react-query.gen-C7om930f.js";import{n as Re}from"./use-is-mobile-MmHo-OM6.js";import{t as U}from"./misc-BBsGq1IU.js";import{t as ze}from"./plugins-surface-C_pFzsVo.js";import{t as Be}from"./use-active-assistant-id-JLsAfn3e.js";import{n as Ve,r as He}from"./skills-CbF2uKXV.js";var Ue=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`}]]),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:U(`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:U(`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)(O,{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)(xe,{label:`Auto-include in chat`,checked:u,onChange:()=>d(),disabled:f}):null,y?(0,G.jsx)(a,{asChild:!0,leftIcon:(0,G.jsx)(oe,{"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)(M,{className:`animate-spin`,"aria-hidden":!0}):(0,G.jsx)(E,{"aria-hidden":!0}),children:`Upgrade`}):null,(0,G.jsx)(a,{type:`button`,variant:`dangerOutline`,onClick:()=>m(!0),disabled:s,leftIcon:s?(0,G.jsx)(M,{className:`animate-spin`,"aria-hidden":!0}):(0,G.jsx)(ge,{"aria-hidden":!0}),children:`Remove`})]}):(0,G.jsx)(a,{type:`button`,onClick:n,disabled:o,leftIcon:o?(0,G.jsx)(M,{className:`animate-spin`,"aria-hidden":!0}):(0,G.jsx)(h,{"aria-hidden":!0}),children:`Install`}),(0,G.jsx)(Ce,{open:p,title:`Remove plugin`,message:Ge(e.name),confirmLabel:`Remove`,destructive:!0,onConfirm:()=>{m(!1),r()},onCancel:()=>m(!1)}),(0,G.jsx)(Ce,{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)(M,{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)(P,{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)(P,{className:`h-4 w-4 shrink-0`,"aria-hidden":!0}),r]}):null}function ot({external:e,className:t}){let n=e?{label:`External`,icon:k}:{label:`Local`,icon:se};return(0,G.jsx)(I,{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)(I,{tone:`warning`,leftIcon:(0,W.createElement)(t?M:E,{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({...H({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({...Me({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)(()=>re(r,e,t),[e,t,r]),c=Ne({onSuccess:()=>{s(),z.success(`Installed ${t||`plugin`}`)}}),d=Pe({onSuccess:()=>{s(),i?.()}}),f=Fe({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 B(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 Oe({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:V({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?Ee({path:{assistant_id:e,name:t},throwOnError:!1}):ke({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)=>{re(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)(we,{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,te=s?.status===`update-available`,ne=o?.name??t,re=Z(e,t,o?.hasIcon,o?.iconVersion),D=(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:ne}),(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:re,size:`md`}),(0,G.jsx)(`h2`,{className:`min-w-0 truncate text-title-medium`,style:{color:`var(--content-emphasised)`},children:ne})]}),(0,G.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1.5`,children:[te?(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)(we,{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)(D,C):D}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)(I,{tone:`neutral`,leftIcon:(0,G.jsx)(fe,{"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)(M,{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)(I,{tone:t.enabled?`positive`:`neutral`,children:t.enabled?`Enabled`:`Disabled`}):null,(0,G.jsx)(a,{type:`button`,variant:`dangerOutline`,iconOnly:l?(0,G.jsx)(M,{className:`animate-spin`,"aria-hidden":!0}):(0,G.jsx)(ge,{"aria-hidden":!0}),onClick:e=>{e.stopPropagation(),o?.()},disabled:l||u||!o,"aria-label":`Remove plugin`,expandOnMobile:!1})]})]})})}var _t={mail:le,calendar:w,"message-circle":ue,globe:k,zap:F,code:ae,mic:de,"shopping-cart":te,palette:ne,heart:A,settings:me,"link-2":ce};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:j,label:`All`,count:r,isActive:e===null,showCount:i,onClick:()=>t(null)}),s.map(r=>(0,G.jsx)(bt,{icon:vt(r.icon)??j,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=Ve(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)(M,{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)(M,{className:`animate-spin`,"aria-hidden":!0}):(0,G.jsx)(ge,{"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:j},{value:`installed`,label:`Installed`,icon:D},{value:`available`,label:`Available`,icon:h}],Ct=[{value:`skills`,label:`Skills`,icon:F},{value:`plugins`,label:`Plugins`,icon:fe}],wt=[{value:`vellum`,label:`Vellum`,icon:S},{value:`clawhub`,label:`Clawhub`,icon:k},{value:`skillssh`,label:`skills.sh`,icon:N},{value:`custom`,label:`Custom`,icon:_e},{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)(be,{type:`search`,value:e,onChange:e=>{t(e.target.value)},placeholder:`Search superpowers`,"aria-label":`Search superpowers`,leftIcon:(0,G.jsx)(pe,{className:`h-4 w-4`,"aria-hidden":!0}),rightIcon:i?(0,G.jsx)(M,{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)(Ue,{"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)(L.Root,{open:n,onOpenChange:r,children:[(0,G.jsx)(L.Trigger,{asChild:!0,children:i}),(0,G.jsx)(L.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:j,label:`All`,active:r===null,badge:c?s:void 0,onSelect:()=>i(null)}),p.map(e=>(0,G.jsx)($,{icon:vt(e.icon)??j,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)(Se,{icon:e,label:t,active:n,activeVariant:`branded`,badge:r,trailingAction:n&&r==null?(0,G.jsx)(T,{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)(D,{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 De({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:V({path:{assistant_id:e},query:{q:void 0,category:r}}),queryFn:({signal:t})=>Nt(e,r,t),enabled:!!e&&n,staleTime:At}),a=u({...ye(e),enabled:!!e&&n&&t!==null}),o=u({...Ie({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:V({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({...je({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=Te.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),te=(0,W.useRef)(g);(0,W.useEffect)(()=>{if(g!==te.current&&(te.current=g,g!==w.trim())){T(g);return}E!==g&&E===w.trim()&&(te.current=E,x({q:E}))},[E,g,w,x]);let ne=(0,W.useCallback)(e=>x({filter:e}),[x]),D=(0,W.useCallback)(e=>x({category:e}),[x]),[ie,ae]=(0,W.useState)(()=>n(Jt,!1)),oe=(0,W.useCallback)(()=>{ae(!0),t(Jt,!0)},[]),O=!p&&_===`plugins`?`all`:_,k=Ut(O),se=p&&Wt(O),A=Gt(O),{handleInstall:j,handleRemove:ce,isInstallingSkill:M,isRemovingSkill:le,skillPendingRemoval:ue,confirmRemove:de,cancelRemove:fe}=ee(e),{data:pe=[]}=It(e),{origin:me,kind:he}=(0,W.useMemo)(()=>Ht(O),[O]),N=u({...Le({path:{assistant_id:e},query:{include:`catalog`,origin:me,kind:he,q:E||void 0,category:y??void 0}}),select:e=>({skills:e.skills,categoryCounts:e.categoryCounts,totalCount:e.totalCount}),enabled:!!e&&k}),ge=u({...Le({path:{assistant_id:e},query:{include:`catalog`,origin:me,kind:he,q:E||void 0}}),select:e=>({skills:e.skills,categoryCounts:e.categoryCounts,totalCount:e.totalCount}),enabled:!!e&&k&&y!==null}),{items:P,isLoading:_e,catalogLoading:ve,isError:F,isFetching:ye,catalogError:I,categorySupported:L,installedCategoryCounts:be,installedPlugins:xe,installedTotal:R,catalogMatches:Se,unfilteredInstalledNames:we}=Ft(e,y,p),B=se&&(y===null||L),Ee=(0,W.useCallback)(t=>re(a,e,t),[e,a]),[De,Oe]=(0,W.useState)(null),[ke,je]=(0,W.useState)(null),[Me,V]=(0,W.useState)(null),[H,Ie]=(0,W.useState)(null),[U,Be]=(0,W.useState)(null),Ve=Ne({onMutate:e=>Oe(e.body.name),onSuccess:(e,t)=>z.success(`Installed ${t.body.name}`),onError:()=>z.error(Je),onSettled:(e,t,n)=>{Oe(null),Ee(n.body.name)}}),Ue=Pe({onMutate:e=>je(e.path.name),onSuccess:(e,t)=>z.success(`Removed ${t.path.name}`),onError:()=>z.error(Ye),onSettled:(e,t,n)=>{je(null),Ee(n.path.name)}}),We=Fe({onMutate:e=>V(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)=>{V(null),Ee(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=>{Ve.mutate({path:{assistant_id:e},body:{name:t.name}})},[e,Ve]),et=(0,W.useCallback)(()=>{H&&(Ue.mutate({path:{assistant_id:e,name:H.name}}),Ie(null))},[e,H,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)(()=>k?N.data?.skills??[]:[],[k,N.data?.skills]),at=(0,W.useMemo)(()=>B?tt(P,A).filter(e=>$e(e,E)):[],[B,P,A,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?N.data:ge.data,st=Zt(k,Y?.skills??J,Y?.categoryCounts,Y?.totalCount),X=Qt(se&&L,be,xe,R,Se,we,A),{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=k&&N.isLoading,Z=k&&N.isError,ft=B&&_e,Q=B&&F,mt=(Z||!k)&&(Q||!B)&&(Z||Q),_t=dt||ft,vt=!!E&&(k&&N.isFetching||B&&ye&&!_e),bt=w.trim().length>0;if(b&&!p&&f===null)return null;if(b&&p){let t=P.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&&ve&&A!==`installed`?(0,G.jsx)(nn,{}):(0,G.jsx)(an,{filter:O,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(Ae.skills.detail(t.skill.id),{state:{listSearch:i.search}}),onInstall:()=>j(t.skill),onRemove:()=>ce(t.skill),isInstalling:M(t.skill),isRemoving:le(t.skill)}):t.installed?(0,G.jsx)($t,{assistantId:e,item:t.item,onSelect:()=>K(t.item),onRemove:()=>Ie(t.item),onUpgrade:e=>it(t.item,e),isRemoving:ke===t.item.name,isUpgrading:Me===t.item.name}):(0,G.jsx)(gt,{assistantId:e,item:t.item,onSelect:()=>K(t.item),onInstall:()=>Qe(t.item),isInstalling:De===t.item.name})},t.key))})});return(0,G.jsxs)(`div`,{className:`flex h-full min-h-0 flex-1 flex-col gap-4`,children:[!ie&&(0,G.jsx)(en,{onDismiss:oe}),(0,G.jsx)(Tt,{search:w,onSearchChange:T,filter:O,onFilterChange:ne,isSearching:vt,categories:pe,category:y,onCategoryChange:D,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&&I&&!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:D,counts:lt,totalCount:ut,showCounts:!bt,categories:pe})}),St]}),(0,G.jsx)(He,{skillName:ue?.name??null,onConfirm:de,onCancel:fe}),(0,G.jsx)(Ce,{open:H!==null,title:`Remove plugin`,message:H?Ge(H.name):``,confirmLabel:`Remove`,destructive:!0,onConfirm:et,onCancel:()=>Ie(null)}),(0,G.jsx)(Ce,{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)(he,{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)(ve,{"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)(ie,{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)(M,{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)(P,{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:j};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:F};case`available`:return{title:`Nothing Left to Install`,subtitle:`All available skills and plugins are installed.`,Icon:D};case`skills`:return{title:`No Skills Found`,subtitle:`Ask your assistant in chat to search for and install new skills.`,Icon:F};case`plugins`:return{title:`No Plugins Found`,subtitle:`Browse the catalog to install plugins that extend your assistant.`,Icon:fe};case`vellum`:return{title:`No Vellum Skills`,subtitle:`No bundled Vellum skills found.`,Icon:F};case`clawhub`:return{title:`No Clawhub Skills`,subtitle:`No Clawhub skills found. Try searching the catalog.`,Icon:F};case`skillssh`:return{title:`No skills.sh Skills`,subtitle:`No skills.sh skills found. Try searching the catalog.`,Icon:F};case`custom`:return{title:`No Custom Skills`,subtitle:`Create a custom skill by describing what you want in chat.`,Icon:F};case`assistant-memory`:return{title:`No Skills From Memory`,subtitle:`Skills your assistant authors from past conversations will appear here.`,Icon:F};default:return{title:`No Superpowers Available`,subtitle:`Check your connection to the Vellum catalog.`,Icon:ie}}}function sn(){return(0,G.jsx)(Xt,{assistantId:Be()})}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-
|
|
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-BNidRDh1.js";import{t as o}from"./circle-check-big-DtV6IJuh.js";import{t as s}from"./circle-x-DTjJzoQl.js";import{t as c}from"./clock-DeynsyYL.js";import"./src-Da9g8qsW.js";import{t as l}from"./loader-circle-DWWXcfTQ.js";import{t as u}from"./triangle-alert-D6bAGtMw.js";import{t as d}from"./notice-Dslxs3H6.js";import{t as f}from"./tag-gOOX7fbA.js";import{d as p}from"./routes-DrfnNoYS.js";import{i as m,t as h}from"./use-platform-gate-C5bNA5Pn.js";import{M as g}from"./react-query.gen-BtYBixpk.js";import{t as _}from"./platform-login-notice-DFmjUE9q.js";import{t as v}from"./use-active-assistant-id-JLsAfn3e.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{d 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{d as r}from"./routes-DrfnNoYS.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{P as e}from"./button-Dy5001j6.js";import{t}from"./jsx-runtime-D3ZM-ToX.js";import{t as n}from"./cn-CJf7MmLX.js";import{t as r}from"./x-
|
|
1
|
+
import{P as e}from"./button-Dy5001j6.js";import{t}from"./jsx-runtime-D3ZM-ToX.js";import{t as n}from"./cn-CJf7MmLX.js";import{t as r}from"./x-D4O9yIS7.js";var i=t(),a=e([`inline-flex items-center gap-1 h-6 px-2 py-1 rounded-[6px] whitespace-nowrap select-none`,`text-body-small-emphasised leading-none`,`text-[color:var(--content-default)]`].join(` `),{variants:{tone:{positive:`bg-[var(--system-positive-weak)]`,negative:`bg-[var(--system-negative-weak)]`,warning:`bg-[var(--system-mid-weak)]`,info:`bg-[var(--system-info-weak)]`,neutral:`bg-[var(--tag-bg-neutral)]`}},defaultVariants:{tone:`neutral`}}),o={positive:`var(--system-positive-strong)`,negative:`var(--system-negative-strong)`,warning:`var(--system-mid-strong)`,info:`var(--system-info-strong)`,neutral:`var(--content-secondary)`},s={width:12,height:12,flexShrink:0,display:`inline-flex`,alignItems:`center`,justifyContent:`center`};function c({tone:e=`neutral`,leftIcon:t,rightIcon:c,onRemove:l,removeLabel:u=`Remove`,className:d,children:f,ref:p,...m}){let h=o[e];return(0,i.jsxs)(`span`,{...m,ref:p,"data-slot":`tag`,className:n(a({tone:e}),d),children:[t==null?null:(0,i.jsx)(`span`,{"aria-hidden":`true`,style:{...s,color:h},children:t}),f,c!=null&&l==null?(0,i.jsx)(`span`,{"aria-hidden":`true`,style:{...s,color:`var(--content-secondary)`},children:c}):null,l==null?null:(0,i.jsx)(`button`,{type:`button`,"aria-label":u,onClick:e=>{e.stopPropagation(),l(e)},className:n(`inline-flex items-center justify-center rounded-full`,`h-3.5 w-3.5 -mr-0.5 cursor-pointer`,`text-[color:var(--content-secondary)]`,`transition-colors duration-150`,`hover:bg-[color-mix(in_srgb,currentColor_15%,transparent)]`,`keyboard-focus:outline-none keyboard-focus:ring-2`,`keyboard-focus:ring-[var(--ring)]`),children:(0,i.jsx)(r,{style:s,"aria-hidden":`true`})})]})}export{c as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./jsx-runtime-D3ZM-ToX.js";import{t as r}from"./typography-DEI9Ra9z.js";import"./src-Da9g8qsW.js";import{t as i}from"./preview-error-BrLE2D3A.js";import{t as a}from"./preview-skeleton-Biw3dosM.js";var o=e(t(),1),s=n(),c=2*1024*1024,l=`Showing the first 2 MB`;function u(e){return e.length<=c?{text:e,truncated:!1}:{text:e.slice(0,c),truncated:!0}}function d({blob:e,filename:t}){let[n,c]=(0,o.useState)(null),[d,f]=(0,o.useState)(!1);(0,o.useEffect)(()=>{let t=!1;return c(null),f(!1),e.text().then(e=>{t||c(e)},()=>{t||f(!0)}),()=>{t=!0}},[e]);let p=(0,o.useMemo)(()=>n===null?null:u(n),[n]);return d?(0,s.jsx)(i,{filename:t}):p===null?(0,s.jsx)(a,{}):(0,s.jsxs)(`div`,{className:`flex min-h-0 flex-col gap-2`,children:[(0,s.jsx)(`pre`,{className:`whitespace-pre-wrap break-words font-mono text-body-small-default text-[var(--content-default)]`,children:p.text}),p.truncated&&(0,s.jsx)(r,{as:`p`,variant:`label-small-default`,className:`border-t border-[var(--border-element)] pt-2 text-[var(--content-tertiary)]`,children:l})]})}export{d as TextPreview};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e,r as t}from"./device-settings-
|
|
1
|
+
import{o as e,r as t}from"./device-settings-CUIsZfaf.js";function n(e,{velvetEnabled:t,disabledVelvetFallback:n=`dark`}){return e===`light`||e===`dark`||e===`system`?e:e===`velvet`?t?`velvet`:n:`system`}function r(e){return typeof window>`u`?`system`:n(t(`theme`,``)||null,e)}function i(t){e(`theme`,t)}function a(e){if(typeof document>`u`)return;let t=typeof window<`u`&&window.matchMedia(`(prefers-color-scheme: dark)`).matches,n=e===`velvet`,r=n||e===`dark`||e===`system`&&t,i=document.documentElement;i.setAttribute(`data-theme`,n?`velvet`:r?`dark`:`light`),i.classList.toggle(`dark`,r),i.classList.toggle(`velvet`,n)}export{r as n,i as r,a as t};
|
|
@@ -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-Da9g8qsW.js";import{n as s,t as c}from"./input-tXUFa7Eo.js";import{t as l}from"./use-app-theme-yiZ38i4_.js";import{t as u}from"./workspace-theme-tokens-dJKcMIdP.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-
|
|
1
|
+
import{t as e}from"./createLucideIcon-CAM1RhH8.js";import{t}from"./shield-check-CNsbiH1v.js";import{t as n}from"./shield-CAWgGAqm.js";import{n as r,r as i,t as a}from"./api-errors-BRGPPSWw.js";import{_ as o,d as s,f as c,g as l,p as u}from"./sdk.gen-BpJ1vF7l.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};
|