@vellumai/web 0.11.0-staging.1 → 0.11.0-staging.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/access-DS79PSR3.js +1 -0
- package/dist/assets/{account-page-BQkbkIBf.js → account-page-D3ERiewh.js} +1 -1
- package/dist/assets/{acp-run-actions-BWR9i8MT.js → acp-run-actions-BH8wuBAL.js} +1 -1
- package/dist/assets/{acp-run-detail-panel-np07jHCY.js → acp-run-detail-panel-dqVK6rPq.js} +1 -1
- package/dist/assets/{activity-steps-panel-DA5HdB61.js → activity-steps-panel-xxl2hu3E.js} +1 -1
- package/dist/assets/{add-credential-modal-rP3DdyDH.js → add-credential-modal-CY_--m8L.js} +1 -1
- package/dist/assets/{ai-page-eBXLZw6t.js → ai-page-B02NwVRu.js} +1 -1
- package/dist/assets/{api-CI6Y6DLb.js → api-C3QSs67k.js} +1 -1
- package/dist/assets/{api-BlN0EOWF.js → api-LG8zI3nK.js} +1 -1
- package/dist/assets/{api-key-screen-B6aLgYrf.js → api-key-screen-CvBdN6Ae.js} +1 -1
- package/dist/assets/{app-card-A7PMnlAT.js → app-card-CAaFL1oB.js} +1 -1
- package/dist/assets/{assistant-feature-flag-store-DV5Zr1c4.js → assistant-feature-flag-store-CAdgpPiS.js} +1 -1
- package/dist/assets/{assistant-status-panel-CxMEVjFY.js → assistant-status-panel-BTnD-jhG.js} +1 -1
- package/dist/assets/{auth-store-BW4V6iLb.js → auth-store-5qq59BAN.js} +1 -1
- package/dist/assets/{avatar-random-BiEMZGl7.js → avatar-random-BMSYTcJK.js} +1 -1
- package/dist/assets/{background-task-actions-Y-aaTGGd.js → background-task-actions-DmP5s0oO.js} +1 -1
- package/dist/assets/{background-task-detail-panel-CGAeD1Ym.js → background-task-detail-panel-BCYAElGc.js} +1 -1
- package/dist/assets/{billing-page-5GkNMPN6.js → billing-page-B5j5TW_S.js} +1 -1
- package/dist/assets/{bookmarks-page-B1-9GBEx.js → bookmarks-page-D_Jr-a4Q.js} +1 -1
- package/dist/assets/build-state-m0LQ5Iis.js +1 -0
- package/dist/assets/{channels-page-route-BLy5uT8z.js → channels-page-route-BYP9SOw5.js} +1 -1
- package/dist/assets/{chat-avatar-DQx81apI.js → chat-avatar-CvEA6z0H.js} +1 -1
- package/dist/assets/{chat-markdown-message-CdM44BjA.js → chat-markdown-message-rxPKNeTx.js} +1 -1
- package/dist/assets/{checkout-continuation-DIMnSvv3.js → checkout-continuation-U3Pd2nxi.js} +1 -1
- package/dist/assets/{checkout-page-BZQpdPLT.js → checkout-page-C5_9GbP-.js} +1 -1
- package/dist/assets/{client-feature-flag-store-BDrcV52r.js → client-feature-flag-store-CMncoan8.js} +1 -1
- package/dist/assets/{command-palette-window-page-DAC710zo.js → command-palette-window-page-gq0zowBe.js} +1 -1
- package/dist/assets/{contacts-page-route-BF8J2JDt.js → contacts-page-route-DNoCUXE7.js} +1 -1
- package/dist/assets/{conversation-cache-DU44A0zv.js → conversation-cache-DKvwwWNo.js} +1 -1
- package/dist/assets/{conversation-list-fetchers-DLZho4T7.js → conversation-list-fetchers-DM-Y61u5.js} +1 -1
- package/dist/assets/conversation-navigation-DsN0hcpL.js +1 -0
- package/dist/assets/{conversation-queries-Bvh4bAZ6.js → conversation-queries-CWvK6RLK.js} +1 -1
- package/dist/assets/{credentials-page-DzlUvhn4.js → credentials-page-BsJFuOc9.js} +1 -1
- package/dist/assets/{debug-page-TgklOyxq.js → debug-page-BziypDgA.js} +1 -1
- package/dist/assets/{deploy-dialogs-Day3_9Lh.js → deploy-dialogs-DZSd5o9b.js} +1 -1
- package/dist/assets/{deploy-store-Brp7LoZ_.js → deploy-store-D6snB1j5.js} +1 -1
- package/dist/assets/{developer-page-BobJIDnJ.js → developer-page-QMFEIyBS.js} +1 -1
- package/dist/assets/{document-viewer-container-BIS1iPUz.js → document-viewer-container-B7TEDeV0.js} +1 -1
- package/dist/assets/{document-viewer-page-CcGTGI8C.js → document-viewer-page-3Eq8L562.js} +1 -1
- package/dist/assets/{emails-page-CbAcUM70.js → emails-page-Wr4wPSYl.js} +1 -1
- package/dist/assets/{eye-bbox-DU39FEUp.js → eye-bbox-C_V87iLg.js} +1 -1
- package/dist/assets/feature-flag-catalog-I9-eJQP_.js +1 -0
- package/dist/assets/{first-run-scope-DKYDP-Kz.js → first-run-scope-CL5YbC3b.js} +1 -1
- package/dist/assets/{general-page-CtfWmXZi.js → general-page-lbkufqHg.js} +1 -1
- package/dist/assets/{get-memory-stats-DMSpgqW_.js → get-memory-stats-BCYSpBF6.js} +1 -1
- package/dist/assets/hatching-screen-D81diZoa.js +1 -0
- package/dist/assets/{home-page-route-BV2GBxZi.js → home-page-route-CHe8eoLz.js} +1 -1
- package/dist/assets/{hosting-screen-CTtZrpXi.js → hosting-screen-D9atAksQ.js} +1 -1
- package/dist/assets/{identity-page-route-DsU3eoey.js → identity-page-route-CK3YsXCN.js} +1 -1
- package/dist/assets/{index-DMFNBbtE.js → index-0f48hi7h.js} +1 -1
- package/dist/assets/{inspect-page-BcTmA6nR.js → inspect-page-COwvbHtX.js} +1 -1
- package/dist/assets/{installed-plugins-query-C29LGAEV.js → installed-plugins-query-Cgek0q7G.js} +1 -1
- package/dist/assets/{integrations-page-CTST1yxp.js → integrations-page-CJOBwxXp.js} +1 -1
- package/dist/assets/{invalidate-plugin-queries-DamxiwYv.js → invalidate-plugin-queries-C3NTXkCX.js} +1 -1
- package/dist/assets/{latest-assistant-text-C0pZSmc9.js → latest-assistant-text-DOepZ_Io.js} +2 -2
- package/dist/assets/{library-detail-page-CI4p4bVi.js → library-detail-page-DVwI94NZ.js} +1 -1
- package/dist/assets/{library-page-SAKHIHZb.js → library-page-CNA794WY.js} +1 -1
- package/dist/assets/{local-runtime-upgrade-CoFpjlw3.js → local-runtime-upgrade-Bqn3d7Q7.js} +1 -1
- package/dist/assets/{login-flow-B4pa-3II.js → login-flow-CD9tyuFG.js} +1 -1
- package/dist/assets/{login-page-CVnwfJ3R.js → login-page-BNStrcnU.js} +1 -1
- package/dist/assets/{logout-page-km3RHlGI.js → logout-page-CpFeuLA_.js} +1 -1
- package/dist/assets/{logs-layout-D4Ubybh3.js → logs-layout-BUiPeZ4I.js} +1 -1
- package/dist/assets/{memory-page-route-JRgoyHnC.js → memory-page-route-C0cBV7HD.js} +1 -1
- package/dist/assets/{memory-router-playground-page-DvbF6E2-.js → memory-router-playground-page-D4UIq8mw.js} +1 -1
- package/dist/assets/{messages-Coz9buJR.js → messages-CFcAW4iz.js} +2 -2
- package/dist/assets/navigation-resolver-DPJxzx0h.js +1 -0
- package/dist/assets/{notifications-page-CWtQZnHw.js → notifications-page-ClfcJeLf.js} +1 -1
- package/dist/assets/{open-workspace-file-DNaU5wg2.js → open-workspace-file-DtK3a84K.js} +2 -2
- package/dist/assets/{page-empty-state-L-3_3LSi.js → page-empty-state-DT-tC1u6.js} +1 -1
- package/dist/assets/{personality-page-B621HU2-.js → personality-page-BJpW3UXD.js} +1 -1
- package/dist/assets/{plans-page-DAVt4mwm.js → plans-page-BDKqdYNM.js} +1 -1
- package/dist/assets/{platform-login-notice-BaCrIk0m.js → platform-login-notice-CdYiKsE8.js} +1 -1
- package/dist/assets/{platform-loopback-page-jBGJSmyh.js → platform-loopback-page-D0gXCm2S.js} +1 -1
- package/dist/assets/{privacy-page-DZEcN0PF.js → privacy-page-B0QN4qZO.js} +1 -1
- package/dist/assets/privacy-screen-vp4uUpm6.js +1 -0
- package/dist/assets/{provider-callback-page-BeDYWdc_.js → provider-callback-page-BH6DES7c.js} +1 -1
- package/dist/assets/{provider-key-1rLTitmu.js → provider-key-D2Nsf9zh.js} +1 -1
- package/dist/assets/{provider-signup-page-CVKaVhiB.js → provider-signup-page-BAPcG_iJ.js} +1 -1
- package/dist/assets/{react-query.gen-r3I6j8-1.js → react-query.gen-C5c1Acuq.js} +1 -1
- package/dist/assets/{research-onboarding-route-DwRSK3R4.js → research-onboarding-route-CFL3q__m.js} +2 -2
- package/dist/assets/{retire-confirm-dialog-BuS97P1t.js → retire-confirm-dialog-CsSY2-T8.js} +1 -1
- package/dist/assets/{review-terms-screen-CTNEkesk.js → review-terms-screen-BhyRQBjl.js} +1 -1
- package/dist/assets/{risk-DmicWnoH.js → risk-CdT92Vqr.js} +1 -1
- package/dist/assets/{routes-Bzk5oLRb.js → routes-CaP5Tqj7.js} +14 -14
- package/dist/assets/{runtime-upgrade-banner-DPMpuefs.js → runtime-upgrade-banner-DPqzKtZU.js} +1 -1
- package/dist/assets/{schedules-DIpn4jGl.js → schedules-6hzhR_C_.js} +1 -1
- package/dist/assets/{schedules-page-A9pwMmex.js → schedules-page-DVnUeaoB.js} +1 -1
- package/dist/assets/{sdk.gen-BVAVE6A_.js → sdk.gen-BHZ0fJla.js} +1 -1
- package/dist/assets/{select-assistant-screen-BPXqMOtp.js → select-assistant-screen-CVV3iqMy.js} +1 -1
- package/dist/assets/{settings-layout-CrOIplp2.js → settings-layout-B_4PKJr9.js} +1 -1
- package/dist/assets/{settings-navigation-Ccol_TOM.js → settings-navigation-CSG7jiyJ.js} +1 -1
- package/dist/assets/{share-feedback-modal-IyuFKIAE.js → share-feedback-modal-BoWCg4KH.js} +1 -1
- package/dist/assets/{sidebar-tree-_HwQiPki.js → sidebar-tree-C_PPNHe5.js} +1 -1
- package/dist/assets/{signup-page-D44Im_Pf.js → signup-page-D0S_8XYw.js} +1 -1
- package/dist/assets/{site-favicon-DzmWythg.js → site-favicon-BB1pYWLF.js} +1 -1
- package/dist/assets/{skill-detail-page-HW_A5KMG.js → skill-detail-page-CTobyK6L.js} +1 -1
- package/dist/assets/{skill-detail-panel-CrwVImjM.js → skill-detail-panel-CNzionF7.js} +1 -1
- package/dist/assets/{skills-Djg056es.js → skills-Cum1XWT2.js} +1 -1
- package/dist/assets/{sound-manager-DlaDOZ8r.js → sound-manager-Bx-OcMAz.js} +1 -1
- package/dist/assets/{sounds-page-CtII5pFQ.js → sounds-page-C45-RF4i.js} +1 -1
- package/dist/assets/{subagent-detail-panel-tuHcbKyo.js → subagent-detail-panel-DyyMdaNO.js} +1 -1
- package/dist/assets/subagent-store-MDi6lBXs.js +3 -0
- package/dist/assets/{superpowers-page-f4EChE6q.js → superpowers-page-CaLzK5D-.js} +1 -1
- package/dist/assets/{system-events-page-oxkNLamU.js → system-events-page-DXAU01ZO.js} +1 -1
- package/dist/assets/{theme-stage-page-5wL3M-2c.js → theme-stage-page-BDTCmutO.js} +1 -1
- package/dist/assets/{tool-detail-panel-BqhEUAMJ.js → tool-detail-panel-DFrWEWKG.js} +1 -1
- package/dist/assets/{transcript-message-body-shared-D3uxHQt5.js → transcript-message-body-shared-D9_d2c2X.js} +1 -1
- package/dist/assets/{upgrade-cancel-page-BRA25NVC.js → upgrade-cancel-page-eiJEAvFz.js} +1 -1
- package/dist/assets/{upgrade-success-page-BlZDEVkm.js → upgrade-success-page-Cb1Gl4MM.js} +1 -1
- package/dist/assets/{use-app-theme-CGie3Dma.js → use-app-theme-Dg8A6vPA.js} +1 -1
- package/dist/assets/{use-assistant-avatar-IcRIy2-c.js → use-assistant-avatar-bwLHcMz4.js} +1 -1
- package/dist/assets/{use-assistant-capability-C8pZDYlr.js → use-assistant-capability-CDS7GbSO.js} +1 -1
- package/dist/assets/{use-assistant-identity-details-CE6-JkNE.js → use-assistant-identity-details-9JRWxXTQ.js} +1 -1
- package/dist/assets/{use-bookmarks-CIhaNp5_.js → use-bookmarks-CK-nOiT-.js} +1 -1
- package/dist/assets/{use-checkout-dismiss-refresh-BpmG1OQ0.js → use-checkout-dismiss-refresh-CqGR_OsB.js} +1 -1
- package/dist/assets/{use-command-palette-sections-CXU-OW-6.js → use-command-palette-sections-CkpUaAKs.js} +1 -1
- package/dist/assets/{use-edit-app-CYK9-rGD.js → use-edit-app-B_Nequzs.js} +1 -1
- package/dist/assets/{use-invite-link-dialog-DdiGDpLS.js → use-invite-link-dialog-CPPOduk8.js} +1 -1
- package/dist/assets/{use-ios-app-nudge-t0SIn8xv.js → use-ios-app-nudge-B-ojl-b1.js} +1 -1
- package/dist/assets/{use-is-org-ready-D0q2NIZU.js → use-is-org-ready-C5xlYywh.js} +1 -1
- package/dist/assets/{use-onboarding-login-BmYpiSIt.js → use-onboarding-login-DI5gvqEG.js} +1 -1
- package/dist/assets/{use-platform-assistant-id-Cm5BfOD8.js → use-platform-assistant-id-DOsSt6k1.js} +1 -1
- package/dist/assets/{use-platform-gate-bFyCaLbM.js → use-platform-gate-C65D14xY.js} +1 -1
- package/dist/assets/{use-save-twilio-credentials-Bm-WW_5V.js → use-save-twilio-credentials-c9xG9RPK.js} +1 -1
- package/dist/assets/{use-skill-actions-C4J1lG_r.js → use-skill-actions-BAAx1Eia.js} +1 -1
- package/dist/assets/{use-skill-detail-files-BKtCag3o.js → use-skill-detail-files-BvOKvY0-.js} +1 -1
- package/dist/assets/{use-sticky-profiles-mC9bd8xU.js → use-sticky-profiles-CdWX0mgI.js} +1 -1
- package/dist/assets/{use-subagent-card-data-Dp1wCoRB.js → use-subagent-card-data-DHuNtSy9.js} +1 -1
- package/dist/assets/{utils-BCDvGOqU.js → utils-B0rBxtYP.js} +1 -1
- package/dist/assets/{viewer-store-Ct0SDE-n.js → viewer-store-DLk-jp8U.js} +1 -1
- package/dist/assets/{voice-list-IdN1mqlX.js → voice-list-CW8mzaHU.js} +1 -1
- package/dist/assets/{voice-page-CxWJ-zo7.js → voice-page-0zsCIOdT.js} +1 -1
- package/dist/assets/{voice-picker-modal-BHRanF0C.js → voice-picker-modal-PdsZwrsV.js} +1 -1
- package/dist/assets/{welcome-screen-jOvMiW_R.js → welcome-screen-DwOAZpZS.js} +1 -1
- package/dist/assets/{workflow-store-CMNMu-fc.js → workflow-store-lM7yKbUo.js} +1 -1
- package/dist/assets/workspace-page-D4NvhCv1.js +1 -0
- package/dist/assets/{workspace-tree-query-COH0vdQ-.js → workspace-tree-query-B1A-efgV.js} +1 -1
- package/dist/index.html +61 -61
- package/package.json +1 -1
- package/dist/assets/access-CHoOc28F.js +0 -1
- package/dist/assets/build-state-DaLynPsy.js +0 -1
- package/dist/assets/conversation-navigation-Bo95jhXQ.js +0 -1
- package/dist/assets/feature-flag-catalog-TjLF99gJ.js +0 -1
- package/dist/assets/hatching-screen-Btkqf3MF.js +0 -1
- package/dist/assets/navigation-resolver-D4jPigYv.js +0 -1
- package/dist/assets/privacy-screen-DXkQbNvk.js +0 -1
- package/dist/assets/subagent-store-CQKOOAm6.js +0 -3
- package/dist/assets/workspace-page-BZBNul96.js +0 -1
|
@@ -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-C4J1lG_r.js";import{t as C}from"./brain-BIzJCPA6.js";import{n as w,t as T}from"./settings-CfuLzwIw.js";import{t as E}from"./check-sC49_hjU.js";import{n as D,r as O,t as te}from"./invalidate-plugin-queries-DamxiwYv.js";import{t as k}from"./circle-check-big-DSsDH5_6.js";import{t as ne}from"./cloud-off-BCBGTmt0.js";import{t as re}from"./code-qafFA0_-.js";import{t as ie}from"./download-CywcQLB2.js";import{t as A}from"./external-link-CS0aVYGt.js";import{t as j}from"./globe-CMtjL_s_.js";import{t as ae}from"./hard-drive-DWFPKcXI.js";import{t as M}from"./heart-789ajxtB.js";import{t as N}from"./layout-grid-DA_CfD6d.js";import{t as oe}from"./link-2-BKL8QWRX.js";import{t as P}from"./loader-circle-XREx3i4W.js";import{t as se}from"./mail-CMdPNysl.js";import{t as ce}from"./message-circle-BsH7vHtN.js";import{t as le}from"./mic-xmDFUbCL.js";import{t as ue}from"./puzzle-BVC3TGko.js";import{t as de}from"./search-BVW-n8to.js";import{t as fe}from"./sparkles-Ccrj7hxd.js";import{t as pe}from"./terminal-CdCI6wMV.js";import{t as F}from"./trash-2-L5LNgw9o.js";import{t as me}from"./triangle-alert-CQfiAg_t.js";import{t as he}from"./user-_zNqL48O.js";import{t as ge}from"./x-JBAsSOmg.js";import{n as I,t as _e}from"./installed-plugins-query-C29LGAEV.js";import"./src-te3YTBG-.js";import{t as L}from"./tag-NXcyiTkK.js";import{t as ve}from"./popover-BRpYVASI.js";import{t as ye}from"./input-hw3el2GJ.js";import{t as be}from"./toggle-lfnhEAcN.js";import{n as R,t as xe}from"./panel-item-CrtoJCrd.js";import{n as z}from"./toast-LgLp4obE.js";import{t as Se}from"./confirm-dialog-UYFm4osC.js";import{t as Ce}from"./file-markdown-DaflJFk7.js";import{Bn as we,Ln as B,Rn as Te,Un as Ee}from"./sdk.gen-BVAVE6A_.js";import{St as De,an as Oe,at as ke,ct as Ae,in as je,rn as Me,rt as Ne,st as Pe,xt as Fe}from"./react-query.gen-r3I6j8-1.js";import{t as Ie}from"./assistant-identity-store-DIyVo8LV.js";import{r as V}from"./utils-CnB60ZJN.js";import{u as Le}from"./routes-D9sNqB_o.js";import{n as Re}from"./use-is-mobile-BlQuzI5Z.js";import{t as H}from"./misc-CuYswARt.js";import{t as ze}from"./plugins-surface-B43Op43l.js";import{t as U}from"./use-active-assistant-id-CldxA_-M.js";import{n as Be,r as Ve}from"./skills-Djg056es.js";var He=m(`funnel`,[[`path`,{d:`M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z`,key:`sc7q7i`}]]),Ue=m(`palette`,[[`path`,{d:`M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z`,key:`e79jfc`}],[`circle`,{cx:`13.5`,cy:`6.5`,r:`.5`,fill:`currentColor`,key:`1okk4w`}],[`circle`,{cx:`17.5`,cy:`10.5`,r:`.5`,fill:`currentColor`,key:`f64h9f`}],[`circle`,{cx:`6.5`,cy:`12.5`,r:`.5`,fill:`currentColor`,key:`qy21gx`}],[`circle`,{cx:`8.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`fotxhn`}]]),W=e(r(),1),G=f(),We={sm:`h-7 w-7`,md:`h-8 w-8 text-3xl`};function K({external:e=!1,icon:t,iconSrc:n,size:r=`sm`,className:i}){let[a,o]=(0,W.useState)(!1);(0,W.useEffect)(()=>{o(!1)},[n]);let s=t||(e?`📦`:`🧩`),c=!!n&&!a;return(0,G.jsx)(`span`,{className:H(`flex shrink-0 items-center justify-center`,We[r],i),children:c?(0,G.jsx)(`img`,{src:n,alt:``,"aria-hidden":!0,loading:`lazy`,className:`h-full w-full object-contain`,onError:()=>o(!0)}):s})}var Ge=e=>`Remove "${e}" from this assistant?`,Ke=e=>`"${e}" has local edits that will be overwritten by the upgrade. Continue?`,qe=`Upgrade anyway`,Je=`Failed to install plugin. Please try again.`,Ye=`Failed to remove plugin. Please try again.`,Xe=`Failed to upgrade plugin. Please try again.`,Ze=`Failed to update plugin. Please try again.`;function Qe(e,t){let n=e.map(e=>({name:e.name,description:e.description??void 0,status:`installed`,external:void 0,version:e.version??void 0,path:e.path,issues:e.issues,enabled:e.enabled,icon:e.icon,hasIcon:e.hasIcon,iconVersion:e.iconVersion})),r=new Set(n.map(e=>e.name)),i=t.filter(e=>!r.has(e.name)).map(e=>({name:e.name,description:e.description,status:`available`,external:!0,path:e.path}));return[...n,...i]}function $e(e,t){let n=t.trim().toLowerCase();return n?[e.name,e.description].some(e=>e?.toLowerCase().includes(n)):!0}function et(e){return[...e].sort((e,t)=>{let n=e.status===`installed`;return n===(t.status===`installed`)?e.name.localeCompare(t.name,void 0,{sensitivity:`base`}):n?-1:1})}function tt(e,t){switch(t){case`all`:return e;case`available`:return e.filter(e=>e.status===`available`);case`installed`:return e.filter(e=>e.status===`installed`);case`active`:return e.filter(e=>e.status===`installed`&&e.enabled!==!1);case`off`:return e.filter(e=>e.status===`installed`&&e.enabled===!1)}}function nt(e){return e?e.slice(0,7):`unknown`}function q({plugin:e,surfaces:t=null,className:n}){let r=[{label:`Source`,value:e.source?.kind===`github`?e.source.repo:`Local`,href:(e.source?.kind===`github`?`https://github.com/${e.source.repo}`:null)??void 0}];return e.homepage&&r.push({label:`Homepage`,value:e.homepage,href:e.homepage}),e.license&&r.push({label:`License`,value:e.license}),t&&(t.skills.length>0&&r.push({label:`Skills`,value:String(t.skills.length)}),t.hooks.length>0&&r.push({label:`Hooks`,value:String(t.hooks.length)}),t.tools.length>0&&r.push({label:`Tools`,value:String(t.tools.length)})),(0,G.jsx)(`dl`,{className:H(`mb-5 grid gap-x-6 gap-y-2 border-b pb-5 sm:grid-cols-[max-content_1fr]`,n),style:{borderColor:`var(--border-base)`},children:r.map(e=>(0,G.jsxs)(`div`,{className:`contents`,children:[(0,G.jsx)(`dt`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:e.label}),(0,G.jsx)(`dd`,{className:`min-w-0 truncate text-body-small-default`,style:{color:`var(--content-secondary)`},children:e.href?(0,G.jsxs)(`a`,{href:e.href,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-1 underline`,style:{color:`var(--primary-base, #60a5fa)`},children:[e.value,(0,G.jsx)(A,{className:`h-3 w-3`,"aria-hidden":!0})]}):e.value})]},e.label))})}function rt({plugin:e,drift:t,onInstall:n,onRemove:r,onUpgrade:i,isInstalling:o,isRemoving:s,isUpgrading:c,hasLocalEdits:l,enabled:u,onToggle:d,isToggling:f}){let[p,m]=(0,W.useState)(!1),[g,_]=(0,W.useState)(!1),v=e.installed??!1,y=e.artifact??null,b=t?.status===`update-available`,x=b?`Upgrade ${nt(t?.local?.commit??null)} → ${nt(t?.remote?.commit??null)}`:void 0;return(0,G.jsxs)(G.Fragment,{children:[v?(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 md:flex-nowrap md:shrink-0`,children:[u!==void 0&&d?(0,G.jsx)(be,{label:`Auto-include in chat`,checked:u,onChange:()=>d(),disabled:f}):null,y?(0,G.jsx)(a,{asChild:!0,leftIcon:(0,G.jsx)(ie,{"aria-hidden":!0}),children:(0,G.jsx)(`a`,{href:y.url,download:!0,children:y.label??`Download`})}):null,b?(0,G.jsx)(a,{type:`button`,onClick:()=>{if(l){_(!0);return}i()},disabled:c,title:x,leftIcon:c?(0,G.jsx)(P,{className:`animate-spin`,"aria-hidden":!0}):(0,G.jsx)(O,{"aria-hidden":!0}),children:`Upgrade`}):null,(0,G.jsx)(a,{type:`button`,variant:`dangerOutline`,onClick:()=>m(!0),disabled:s,leftIcon:s?(0,G.jsx)(P,{className:`animate-spin`,"aria-hidden":!0}):(0,G.jsx)(F,{"aria-hidden":!0}),children:`Remove`})]}):(0,G.jsx)(a,{type:`button`,onClick:n,disabled:o,leftIcon:o?(0,G.jsx)(P,{className:`animate-spin`,"aria-hidden":!0}):(0,G.jsx)(h,{"aria-hidden":!0}),children:`Install`}),(0,G.jsx)(Se,{open:p,title:`Remove plugin`,message:Ge(e.name),confirmLabel:`Remove`,destructive:!0,onConfirm:()=>{m(!1),r()},onCancel:()=>m(!1)}),(0,G.jsx)(Se,{open:g,title:`Upgrade plugin`,message:Ke(e.name),confirmLabel:qe,destructive:!0,onConfirm:()=>{_(!1),i()},onCancel:()=>_(!1)})]})}function it(){return(0,G.jsx)(`div`,{className:`flex items-center justify-center py-12`,children:(0,G.jsx)(P,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})})}function J(){return(0,G.jsxs)(`div`,{className:`flex flex-col items-center justify-center gap-2 py-12 text-center`,style:{color:`var(--content-tertiary)`},children:[(0,G.jsx)(me,{className:`h-6 w-6`,"aria-hidden":!0}),(0,G.jsx)(`p`,{className:`text-body-medium-default`,children:`We couldn't load this plugin.`}),(0,G.jsx)(`p`,{className:`text-body-small-default`,children:`It may not exist, or your assistant may be on an older build.`})]})}function at({isInstallError:e,isRemoveError:t,isUpgradeError:n}){let r=e?Je:t?Ye:n?Xe:null;return r?(0,G.jsxs)(`div`,{className:`mb-3 flex items-center gap-2 rounded px-3 py-2 text-body-small-default`,style:{backgroundColor:`var(--surface-secondary)`,color:`var(--content-warning, var(--content-tertiary))`},role:`alert`,children:[(0,G.jsx)(me,{className:`h-4 w-4 shrink-0`,"aria-hidden":!0}),r]}):null}function ot({external:e,className:t}){let n=e?{label:`External`,icon:j}:{label:`Local`,icon:ae};return(0,G.jsx)(L,{tone:`neutral`,leftIcon:(0,W.createElement)(n.icon),className:t,children:n.label})}function Y({onClick:e,isUpgrading:t=!1}={}){let n=(0,G.jsx)(L,{tone:`warning`,leftIcon:(0,W.createElement)(t?P:O,{className:t?`animate-spin`:void 0}),className:`shrink-0`,children:`Update available`});return e?(0,G.jsx)(`button`,{type:`button`,onClick:t=>{t.stopPropagation(),e()},disabled:t,"aria-label":`Upgrade plugin`,className:`shrink-0 rounded-[6px] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)] disabled:cursor-not-allowed`,children:n}):n}var st=300*1e3;function X({assistantId:e,name:t,enabled:n=!0}){return u({...ke({path:{assistant_id:e,name:t}}),enabled:!!e&&!!t&&n,staleTime:st,retry:!1})}function ct(e){let t=e?.local?.localChanges;return!!t&&t?.clean===!1}function lt(e,t,n){let r=l(),i=n?.onRemoved,a=u({...Ne({path:{assistant_id:e,name:t}}),enabled:!!e&&!!t}),o=X({assistantId:e,name:t,enabled:a.data?.installed??!1}).data,s=(0,W.useCallback)(()=>te(r,e,t),[e,t,r]),c=Oe({onSuccess:()=>{s(),z.success(`Installed ${t||`plugin`}`)}}),d=Me({onSuccess:()=>{s(),i?.()}}),f=je({onSuccess:e=>{s(),z.success(e.outcome===`already-up-to-date`?`${t||`Plugin`} is already up to date`:`Upgraded ${t||`plugin`} to ${nt(e.toCommit)}`)}});return{plugin:a.data??null,drift:o,isLoading:a.isLoading,isError:a.isError,install:()=>{c.mutate({path:{assistant_id:e},body:{name:t}})},remove:()=>{d.mutate({path:{assistant_id:e,name:t}})},upgrade:()=>{f.mutate({path:{assistant_id:e,name:t},body:{}})},isInstalling:c.isPending,isRemoving:d.isPending,isUpgrading:f.isPending,isInstallError:c.isError,isRemoveError:d.isError,isUpgradeError:f.isError,hasLocalEdits:ct(o)}}var ut=`0.10.5`;function dt(){return V(ut)}function Z(e,t,n,r){let i=dt(),{data:a}=u({queryKey:[`pluginIcon`,e,t,r],queryFn:async()=>{let{data:n,error:r}=await we({path:{assistant_id:e,name:t},parseAs:`blob`,throwOnError:!1});if(r||!(n instanceof Blob))throw Error(`Failed to load plugin icon`);return n},enabled:!!(i&&n&&r),staleTime:1/0,retry:!1}),[o,s]=(0,W.useState)(void 0);return(0,W.useEffect)(()=>{if(!a){s(void 0);return}let e=URL.createObjectURL(a);return s(e),()=>{URL.revokeObjectURL(e)}},[a]),o}function ft(e){let t=l(),n={queryKey:Pe({path:{assistant_id:e}})},r=(e,r)=>{t.setQueriesData(n,t=>t&&{...t,plugins:t.plugins.map(t=>t.name===e?{...t,enabled:r}:t)})},i=d({mutationFn:async({name:t,nextEnabled:n})=>{let r=await(n?Te({path:{assistant_id:e,name:t},throwOnError:!1}):B({path:{assistant_id:e,name:t},throwOnError:!1})),i=r.response?.status;if(r.response?.ok||i===409)return r;throw Error(`Plugin toggle failed (${i??`network error`})`)},onMutate:async({name:e,nextEnabled:i})=>{await t.cancelQueries(n),r(e,i)},onError:(e,{name:t,nextEnabled:n})=>{r(t,!n),z.error(Ze)},onSettled:(n,r,i)=>{te(t,e,i.name)}});return{toggle:(e,t)=>{i.mutate({name:e,nextEnabled:t})},togglingName:i.isPending?i.variables?.name??null:null}}function pt({assistantId:e,name:t,onBack:n,externalHint:r,enabled:i}){let{plugin:o,drift:s,isLoading:c,isError:l,install:u,remove:d,upgrade:f,isInstalling:m,isRemoving:h,isUpgrading:_,isInstallError:v,isRemoveError:y,isUpgradeError:b,hasLocalEdits:x}=lt(e,t,{onRemoved:n}),{toggle:S,togglingName:ee}=ft(e),C=Z(e,t,o?.hasIcon,o?.iconVersion);return(0,G.jsxs)(`div`,{className:`flex h-full min-h-0 flex-1 flex-col`,children:[(0,G.jsxs)(`div`,{className:`mb-4 flex items-start gap-3`,children:[(0,G.jsx)(a,{type:`button`,variant:`ghost`,iconOnly:(0,G.jsx)(g,{"aria-hidden":!0}),"aria-label":`Back to plugins`,onClick:n}),(0,G.jsx)(Q,{name:t,plugin:o,externalHint:r,iconSrc:C,drift:s,onInstall:u,onRemove:d,onUpgrade:f,isInstalling:m,isRemoving:h,isUpgrading:_,hasLocalEdits:x,enabled:i,onToggle:()=>S(t,!i),isToggling:ee===t})]}),(v||y||b)&&(0,G.jsx)(at,{isInstallError:v,isRemoveError:y,isUpgradeError:b}),(0,G.jsx)(p.Root,{asChild:!0,children:(0,G.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-6 py-5`,children:c?(0,G.jsx)(it,{}):l||!o?(0,G.jsx)(J,{}):(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(q,{plugin:o,surfaces:s?.surfaces??null}),o.readme?(0,G.jsx)(Ce,{content:o.readme}):(0,G.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`This plugin doesn't ship a README.`})]})})})]})}function Q({name:e,plugin:t,externalHint:n,iconSrc:r,drift:i,onInstall:a,onRemove:o,onUpgrade:s,isInstalling:c,isRemoving:l,isUpgrading:u,hasLocalEdits:d,enabled:f,onToggle:p,isToggling:m}){let h=t?.source?.kind===`github`,g=t?h:n,_=i?.status===`update-available`;return(0,G.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-3 sm:flex-row sm:items-center`,children:[(0,G.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-start gap-3`,children:[g===void 0?(0,G.jsx)(`span`,{"aria-hidden":!0,className:`h-8 w-8 shrink-0`}):(0,G.jsx)(K,{external:g,icon:t?.icon??void 0,iconSrc:r,size:`md`}),(0,G.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-2 gap-y-1`,children:[(0,G.jsx)(`h2`,{className:`text-title-medium`,style:{color:`var(--content-default)`},children:t?.name??e}),t?.version?(0,G.jsxs)(`span`,{className:`shrink-0 text-body-small-default`,style:{color:`var(--content-tertiary)`},children:[`v`,t.version]}):null,t?(0,G.jsx)(ot,{external:h}):null,_?(0,G.jsx)(Y,{}):null]}),t?.description?(0,G.jsx)(`p`,{className:`mt-0.5 line-clamp-2 text-body-medium-lighter`,style:{color:`var(--content-secondary)`},children:t.description}):null]})]}),t?(0,G.jsx)(rt,{plugin:t,drift:i,onInstall:a,onRemove:o,onUpgrade:s,isInstalling:c,isRemoving:l,isUpgrading:u,hasLocalEdits:d,enabled:f,onToggle:p,isToggling:m}):null]})}var mt=e(i(),1);function ht({assistantId:e,name:t,onBack:n,externalHint:r,enabled:i}){let{plugin:o,drift:s,isLoading:c,isError:l,install:u,remove:d,upgrade:f,isInstalling:m,isRemoving:h,isUpgrading:_,isInstallError:v,isRemoveError:y,isUpgradeError:b,hasLocalEdits:x}=lt(e,t,{onRemoved:n}),{toggle:S,togglingName:ee}=ft(e),[C,w]=(0,W.useState)(null);(0,W.useEffect)(()=>{w(document.getElementById(`viewport-overlays`))},[]);let T=o?.source?.kind===`github`,E=o?T:r,D=s?.status===`update-available`,O=o?.name??t,te=Z(e,t,o?.hasIcon,o?.iconVersion),k=(0,G.jsxs)(`div`,{className:`fixed inset-0 z-40 flex flex-col overflow-hidden bg-[var(--surface-overlay)]`,style:{paddingTop:`calc(8px + var(--safe-area-inset-top, env(safe-area-inset-top, 0px)))`,paddingBottom:`calc(8px + var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px)))`,paddingLeft:`calc(12px + var(--safe-area-inset-left, env(safe-area-inset-left, 0px)))`,paddingRight:`calc(12px + var(--safe-area-inset-right, env(safe-area-inset-right, 0px)))`},children:[(0,G.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,G.jsx)(a,{variant:`ghost`,iconOnly:(0,G.jsx)(g,{"aria-hidden":!0}),expandOnMobile:!0,"aria-label":`Back to plugins`,onClick:n,className:`max-md:bg-[var(--surface-active)]`}),(0,G.jsx)(`span`,{className:`min-w-0 flex-1 truncate px-2 text-center text-body-medium-default`,style:{color:`var(--content-secondary)`},children:O}),(0,G.jsx)(`span`,{"aria-hidden":!0,className:`h-8 w-8 shrink-0 touch-mobile:h-10 touch-mobile:w-10`})]}),(0,G.jsxs)(`div`,{className:`mt-4 flex flex-col gap-2`,children:[(0,G.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,G.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[E===void 0?(0,G.jsx)(`span`,{"aria-hidden":!0,className:`h-8 w-8 shrink-0`}):(0,G.jsx)(K,{external:E,icon:o?.icon??void 0,iconSrc:te,size:`md`}),(0,G.jsx)(`h2`,{className:`min-w-0 truncate text-title-medium`,style:{color:`var(--content-emphasised)`},children:O})]}),(0,G.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1.5`,children:[D?(0,G.jsx)(Y,{}):null,o?(0,G.jsx)(ot,{external:T}):null]})]}),o?.description?(0,G.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:o.description}):null]}),o?(0,G.jsx)(`div`,{className:`mt-3 flex flex-wrap items-center gap-2`,children:(0,G.jsx)(rt,{plugin:o,drift:s,enabled:i,onToggle:()=>S(t,!i),isToggling:ee===t,onInstall:u,onRemove:d,onUpgrade:f,isInstalling:m,isRemoving:h,isUpgrading:_,hasLocalEdits:x})}):null,(v||y||b)&&(0,G.jsx)(`div`,{className:`mt-3`,children:(0,G.jsx)(at,{isInstallError:v,isRemoveError:y,isUpgradeError:b})}),(0,G.jsx)(p.Root,{asChild:!0,noPadding:!0,children:(0,G.jsx)(`div`,{className:`mt-6 flex min-h-0 flex-1 flex-col overflow-hidden rounded-2xl border bg-[var(--surface-lift)]`,style:{borderColor:`var(--border-hover)`},children:(0,G.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-4 py-4`,children:c?(0,G.jsx)(it,{}):l||!o?(0,G.jsx)(J,{}):(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(q,{plugin:o,surfaces:s?.surfaces??null}),o.readme?(0,G.jsx)(Ce,{content:o.readme}):(0,G.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`This plugin doesn't ship a README.`})]})})})})]});return C?(0,mt.createPortal)(k,C):k}function gt({assistantId:e,item:t,drift:n,onSelect:r,onInstall:i,onRemove:o,onUpgrade:s,isInstalling:c=!1,isRemoving:l=!1,isUpgrading:u=!1}){let d=t.status===`available`,f=n?.status===`update-available`,m=t.enabled!==void 0,g=t.enabled===!1,_=Z(e,t.name,t.hasIcon,t.iconVersion);return(0,G.jsx)(p.Root,{asChild:!0,children:(0,G.jsxs)(`div`,{role:`button`,tabIndex:0,onClick:r,onKeyDown:e=>{e.target===e.currentTarget&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),r())},className:`flex cursor-pointer items-center gap-3 px-3 py-2 text-left transition-colors hover:bg-[var(--surface-hover)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`,children:[(0,G.jsx)(K,{size:`sm`,external:t.external,icon:t.icon,iconSrc:_,className:g?`opacity-50`:void 0}),(0,G.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,G.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,G.jsx)(`span`,{className:`truncate text-body-medium-default`,style:{color:g?`var(--content-tertiary)`:`var(--content-emphasised)`},children:t.name}),t.version?(0,G.jsxs)(`span`,{className:`shrink-0 text-body-small-default`,style:{color:`var(--content-tertiary)`},children:[`v`,t.version]}):null,(0,G.jsx)(L,{tone:`neutral`,leftIcon:(0,G.jsx)(ue,{"aria-hidden":!0}),children:`Plugin`}),f?(0,G.jsx)(Y,{onClick:s,isUpgrading:u}):null]}),(0,G.jsx)(`p`,{className:`mt-1 truncate text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:t.description??`No description provided.`}),t.issues&&t.issues.length>0?(0,G.jsxs)(`p`,{className:`mt-1 truncate text-body-small-default`,style:{color:`var(--content-warning, var(--content-tertiary))`},title:t.issues.join(`; `),children:[t.issues[0],t.issues.length>1?` (+${t.issues.length-1} more)`:``]}):null]}),d?c?(0,G.jsx)(a,{type:`button`,iconOnly:(0,G.jsx)(P,{className:`animate-spin`,"aria-hidden":!0}),disabled:!0,"aria-label":`Installing`,expandOnMobile:!1}):(0,G.jsx)(a,{type:`button`,iconOnly:(0,G.jsx)(h,{"aria-hidden":!0}),onClick:e=>{e.stopPropagation(),i?.()},disabled:!i,"aria-label":`Install plugin`,expandOnMobile:!1}):(0,G.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[m?(0,G.jsx)(L,{tone:t.enabled?`positive`:`neutral`,children:t.enabled?`Enabled`:`Disabled`}):null,(0,G.jsx)(a,{type:`button`,variant:`dangerOutline`,iconOnly:l?(0,G.jsx)(P,{className:`animate-spin`,"aria-hidden":!0}):(0,G.jsx)(F,{"aria-hidden":!0}),onClick:e=>{e.stopPropagation(),o?.()},disabled:l||u||!o,"aria-label":`Remove plugin`,expandOnMobile:!1})]})]})})}var _t={mail:se,calendar:w,"message-circle":ce,globe:j,zap:I,code:re,mic:le,"shopping-cart":D,palette:Ue,heart:M,settings:T,"link-2":oe};function vt(e){return _t[e]}function yt({selected:e,onSelect:t,counts:n,totalCount:r,showCounts:i,categories:a,ariaLabel:o=`Skill categories`}){let s=[...a].sort((e,t)=>e.label.localeCompare(t.label));return(0,G.jsxs)(`nav`,{className:`flex flex-col gap-1`,"aria-label":o,children:[(0,G.jsx)(bt,{icon:N,label:`All`,count:r,isActive:e===null,showCount:i,onClick:()=>t(null)}),s.map(r=>(0,G.jsx)(bt,{icon:vt(r.icon)??N,label:r.label,count:n[r.slug]??0,isActive:e===r.slug,showCount:i,onClick:()=>t(r.slug)},r.slug))]})}function bt({icon:e,label:t,count:n,isActive:r,showCount:i,onClick:o}){return(0,G.jsxs)(a,{variant:`ghost`,onClick:o,"aria-pressed":r,className:`h-auto justify-between gap-3 rounded-lg border-0 bg-transparent px-3 py-2 text-left hover:bg-[var(--ghost-hover)]`,style:{backgroundColor:r?`var(--surface-active)`:void 0,color:r?`var(--content-default)`:`var(--content-secondary)`},children:[(0,G.jsxs)(`span`,{className:`flex items-center gap-2.5`,children:[(0,G.jsx)(e,{className:`h-4 w-4 shrink-0`,"aria-hidden":!0}),(0,G.jsx)(`span`,{className:`text-body-medium-default`,children:t})]}),i&&(0,G.jsx)(`span`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:n})]})}function xt({skill:e,onSelect:t,onInstall:n,onRemove:r,isInstalling:i=!1,isRemoving:o=!1}){let s=x(e),c=Be(e);return(0,G.jsx)(p.Root,{asChild:!0,children:(0,G.jsxs)(`div`,{role:`button`,tabIndex:0,onClick:t,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),t())},className:`flex cursor-pointer items-center gap-3 px-3 py-2 text-left transition-colors hover:bg-[var(--surface-hover)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`,children:[(0,G.jsx)(`div`,{className:`flex shrink-0 items-center justify-center text-[28px] leading-none`,children:(0,G.jsx)(b,{skill:e,className:`h-7 w-7`})}),(0,G.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,G.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,G.jsx)(`span`,{className:`truncate text-body-medium-default`,style:{color:`var(--content-emphasised)`},children:e.name}),(0,G.jsx)(_,{origin:e.origin})]}),(0,G.jsx)(`p`,{className:`mt-1 truncate text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:e.description})]}),s?i?(0,G.jsx)(a,{type:`button`,iconOnly:(0,G.jsx)(P,{className:`animate-spin`,"aria-hidden":!0}),disabled:!0,"aria-label":`Installing`,expandOnMobile:!1}):(0,G.jsx)(a,{type:`button`,iconOnly:(0,G.jsx)(h,{"aria-hidden":!0}),onClick:e=>{e.stopPropagation(),n?.()},disabled:!n,"aria-label":`Install skill`,expandOnMobile:!1}):(0,G.jsx)(a,{type:`button`,variant:`dangerOutline`,iconOnly:o?(0,G.jsx)(P,{className:`animate-spin`,"aria-hidden":!0}):(0,G.jsx)(F,{"aria-hidden":!0}),onClick:e=>{e.stopPropagation(),r?.()},disabled:!c||o||!r,"aria-label":c?`Remove skill`:`Bundled skill cannot be removed`,title:c?void 0:`Bundled skills cannot be removed`,expandOnMobile:!1})]})})}var St=[{value:`all`,label:`All`,icon:N},{value:`installed`,label:`Installed`,icon:k},{value:`available`,label:`Available`,icon:h}],Ct=[{value:`skills`,label:`Skills`,icon:I},{value:`plugins`,label:`Plugins`,icon:ue}],wt=[{value:`vellum`,label:`Vellum`,icon:S},{value:`clawhub`,label:`Clawhub`,icon:j},{value:`skillssh`,label:`skills.sh`,icon:pe},{value:`custom`,label:`Custom`,icon:he},{value:`assistant-memory`,label:`Assistant's Memory`,icon:C}];function Tt({search:e,onSearchChange:t,filter:n,onFilterChange:r,isSearching:i,categories:a,category:o,onCategoryChange:s,counts:c,totalCount:l,showCounts:u,pluginsSupported:d}){return(0,G.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,G.jsx)(ye,{type:`search`,value:e,onChange:e=>{t(e.target.value)},placeholder:`Search superpowers`,"aria-label":`Search superpowers`,leftIcon:(0,G.jsx)(de,{className:`h-4 w-4`,"aria-hidden":!0}),rightIcon:i?(0,G.jsx)(P,{className:`h-4 w-4 animate-spin`,"aria-hidden":!0}):void 0,fullWidth:!0,wrapperClassName:`flex-1`}),(0,G.jsx)(Et,{filter:n,onFilterChange:r,categories:a,category:o,onCategoryChange:s,counts:c,totalCount:l,showCounts:u,pluginsSupported:d})]})}function Et(e){let t=Re(),[n,r]=(0,W.useState)(!1),i=(0,G.jsx)(a,{type:`button`,variant:`outlined`,iconOnly:(0,G.jsx)(He,{"aria-hidden":!0}),"aria-label":`Filter superpowers`,"aria-haspopup":t?`dialog`:`listbox`,"aria-expanded":n,tintColor:`var(--primary-base)`});if(t)return(0,G.jsx)(Dt,{...e,open:n,onOpenChange:r,trigger:i});let o=t=>{e.onFilterChange(t),r(!1)};return(0,G.jsxs)(ve.Root,{open:n,onOpenChange:r,children:[(0,G.jsx)(ve.Trigger,{asChild:!0,children:i}),(0,G.jsx)(ve.Content,{align:`end`,sideOffset:4,className:`w-44 overflow-hidden p-0`,children:(0,G.jsxs)(`ul`,{role:`listbox`,children:[(0,G.jsx)(kt,{label:`Status`,options:St,selected:e.filter,onSelect:o}),e.pluginsSupported&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}),(0,G.jsx)(kt,{label:`Type`,options:Ct,selected:e.filter,onSelect:o})]}),(0,G.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}),(0,G.jsx)(kt,{label:`Source`,options:wt,selected:e.filter,onSelect:o})]})})]})}function Dt({filter:e,onFilterChange:t,categories:n,category:r,onCategoryChange:i,counts:o,totalCount:s,showCounts:c,pluginsSupported:l,open:u,onOpenChange:d,trigger:f}){let p=[...n].sort((e,t)=>e.label.localeCompare(t.label));return(0,G.jsxs)(R.Root,{open:u,onOpenChange:d,children:[(0,G.jsx)(R.Trigger,{asChild:!0,children:f}),(0,G.jsxs)(R.Content,{className:`max-h-[85dvh]`,"aria-describedby":void 0,children:[(0,G.jsx)(`div`,{"aria-hidden":!0,className:`mx-auto mb-3 h-1 w-9 shrink-0 rounded-full bg-[var(--border-element)]`}),(0,G.jsx)(R.Header,{children:(0,G.jsx)(R.Title,{children:`Filters`})}),(0,G.jsxs)(R.Body,{className:`flex flex-col gap-3 pt-2`,children:[(0,G.jsx)(Ot,{label:`Status`,children:St.map(n=>(0,G.jsx)($,{icon:n.icon,label:n.label,active:e===n.value,onSelect:()=>t(n.value)},n.value))}),l&&(0,G.jsx)(Ot,{label:`Type`,children:Ct.map(n=>(0,G.jsx)($,{icon:n.icon,label:n.label,active:e===n.value,onSelect:()=>t(n.value)},n.value))}),(0,G.jsx)(Ot,{label:`Source`,children:wt.map(n=>(0,G.jsx)($,{icon:n.icon,label:n.label,active:e===n.value,onSelect:()=>t(n.value)},n.value))}),(0,G.jsxs)(Ot,{label:`Categories`,children:[(0,G.jsx)($,{icon:N,label:`All`,active:r===null,badge:c?s:void 0,onSelect:()=>i(null)}),p.map(e=>(0,G.jsx)($,{icon:vt(e.icon)??N,label:e.label,active:r===e.slug,badge:c?o[e.slug]??0:void 0,onSelect:()=>i(e.slug)},e.slug))]})]}),(0,G.jsx)(R.Footer,{children:(0,G.jsx)(a,{type:`button`,variant:`primary`,fullWidth:!0,onClick:()=>d(!1),children:`Done`})})]})]})}function Ot({label:e,children:t}){return(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`div`,{className:`px-2 pb-1 text-body-small-default uppercase tracking-wide`,style:{color:`var(--content-tertiary)`},children:e}),t]})}function $({icon:e,label:t,active:n,badge:r,onSelect:i}){return(0,G.jsx)(xe,{icon:e,label:t,active:n,activeVariant:`branded`,badge:r,trailingAction:n&&r==null?(0,G.jsx)(E,{className:`h-4 w-4 text-[var(--primary-base)]`,"aria-hidden":!0}):void 0,onSelect:i})}function kt({label:e,options:t,selected:n,onSelect:r}){return(0,G.jsxs)(`li`,{children:[(0,G.jsx)(`div`,{className:`px-3 pb-1 pt-2 text-body-small-default uppercase tracking-wide`,style:{color:`var(--content-tertiary)`},children:e}),(0,G.jsx)(`ul`,{children:t.map(e=>{let t=e.icon,i=n===e.value;return(0,G.jsx)(`li`,{children:(0,G.jsxs)(`button`,{type:`button`,onClick:()=>r(e.value),role:`option`,"aria-selected":i,className:`flex w-full items-center gap-2 px-3 py-1.5 text-left text-body-medium-lighter transition-colors hover:bg-[var(--surface-hover)]`,style:{color:i?`var(--primary-base)`:`var(--content-default)`},children:[(0,G.jsx)(t,{className:`h-4 w-4`,"aria-hidden":!0}),(0,G.jsx)(`span`,{className:`flex-1`,children:e.label}),i&&(0,G.jsx)(k,{className:`h-3.5 w-3.5`,"aria-hidden":!0})]})},e.value)})})]})}var At=300*1e3,jt=[],Mt=[];async function Nt(e,t,n){let r=await Ee({path:{assistant_id:e},query:{q:void 0,category:t},signal:n,throwOnError:!1});if(r.response?.status===404)return{plugins:[]};if(!r.response?.ok)throw Error(`Failed to load plugins`);return r.data??{plugins:[]}}function Pt(e,t){let[n,r]=(0,W.useState)({assistantId:e,latched:!1}),i=n.assistantId===e?n.latched:!1;return n.assistantId!==e&&r({assistantId:e,latched:!1}),(0,W.useEffect)(()=>{t&&r(t=>t.assistantId===e&&t.latched?t:{assistantId:e,latched:!0})},[e,t]),i||t}function Ft(e,t=null,n=!0){let r=t??void 0,i=u({queryKey:Pe({path:{assistant_id:e},query:{q:void 0,category:r}}),queryFn:({signal:t})=>Nt(e,r,t),enabled:!!e&&n,staleTime:At}),a=u({..._e(e),enabled:!!e&&n&&t!==null}),o=u({...Ae({path:{assistant_id:e},query:{q:void 0}}),enabled:!!e&&n,staleTime:At}),s=(0,W.useMemo)(()=>{let e=t===null?i.data?.plugins:a.data?.plugins??i.data?.plugins;return new Set((e??jt).map(e=>e.name))},[t,a.data?.plugins,i.data?.plugins]),c=(0,W.useMemo)(()=>{let e=i.data?.plugins??jt,n=o.data?.matches??Mt;return et(Qe(e,(t===null?n:n.filter(e=>(e.category??`system`)===t)).filter(e=>!s.has(e.name))))},[i.data?.plugins,o.data?.matches,t,s]),d=t===null?i.data:a.data,f=Pt(e,d?.categoryCounts!==void 0),p=Pt(e,(d?.plugins??jt).some(e=>e.enabled!==void 0)),m=l(),h=(0,W.useRef)(null);return(0,W.useEffect)(()=>{if(h.current===e||!o.isSuccess)return;let t=d?.plugins;if(!t?.length)return;let n=new Map((o.data?.matches??Mt).map(e=>[e.name,e.category]));t.some(e=>{let t=n.get(e.name);return t!=null&&t!==`system`&&(e.category??`system`)===`system`})&&(h.current=e,m.invalidateQueries({queryKey:Pe({path:{assistant_id:e},query:{q:void 0}})}))},[e,o.isSuccess,o.data?.matches,d?.plugins,m]),{items:c,isLoading:i.isLoading,catalogLoading:o.isLoading,isError:i.isError,isFetching:i.isFetching||o.isFetching,catalogError:o.isError,categorySupported:f,pluginToggleSupported:p,installedCategoryCounts:d?.categoryCounts,installedPlugins:d?.plugins??jt,installedTotal:d?.totalCount,catalogMatches:o.data?.matches??Mt,unfilteredInstalledNames:s}}function It(e){return u({...Fe({path:{assistant_id:e}}),select:e=>e.categories,staleTime:300*1e3})}var Lt=new Set([`all`,`installed`,`available`,`skills`,`plugins`,`vellum`,`clawhub`,`skillssh`,`custom`,`assistant-memory`]);function Rt(e){let t=e.get(`filter`),n=e.get(`category`);return{q:e.get(`q`)??``,filter:Vt(t)?t:`all`,category:n||null}}function zt(e,t){let n=new URLSearchParams(e);return t.q!==void 0&&Bt(n,`q`,t.q.trim()||null),t.filter!==void 0&&Bt(n,`filter`,t.filter===`all`?null:t.filter),t.category!==void 0&&Bt(n,`category`,t.category),n}function Bt(e,t,n){n===null?e.delete(t):e.set(t,n)}function Vt(e){return e!==null&&Lt.has(e)}function Ht(e){switch(e){case`installed`:return{kind:`installed`};case`available`:return{kind:`available`};case`vellum`:case`clawhub`:case`skillssh`:case`custom`:case`assistant-memory`:return{origin:e};default:return{}}}function Ut(e){return e!==`plugins`}function Wt(e){return e===`all`||e===`installed`||e===`available`||e===`plugins`}function Gt(e){switch(e){case`installed`:return`installed`;case`available`:return`available`;default:return`all`}}function Kt(e,t){let[n,r]=(0,W.useState)(e);return(0,W.useEffect)(()=>{let n=setTimeout(()=>{r(e)},t);return()=>clearTimeout(n)},[e,t]),n}var qt=300,Jt=`vellum:superpowers:tipDismissed`;function Yt(e){return[...e].sort((e,t)=>e.installed===t.installed?e.name.localeCompare(t.name,void 0,{sensitivity:`base`}):e.installed?-1:1)}function Xt({assistantId:e}){let r=c(),i=o(),a=l(),d=Re(),f=Ie.use.version(),p=ze(),[m,h]=s(),{q:g,filter:_,category:y}=(0,W.useMemo)(()=>Rt(m),[m]),b=m.get(`plugin`),x=(0,W.useCallback)(e=>{h(t=>zt(t,e),{replace:!0})},[h]),S=m.get(`success`),C=(0,W.useRef)(!1);(0,W.useEffect)(()=>{S!==`true`||C.current||(C.current=!0,b&&z.success(`Installed ${b}`),h(e=>{let t=new URLSearchParams(e);return t.delete(`success`),t},{replace:!0}))},[S,b,h]);let[w,T]=(0,W.useState)(g),E=Kt(w.trim(),qt),D=(0,W.useRef)(g);(0,W.useEffect)(()=>{if(g!==D.current&&(D.current=g,g!==w.trim())){T(g);return}E!==g&&E===w.trim()&&(D.current=E,x({q:E}))},[E,g,w,x]);let O=(0,W.useCallback)(e=>x({filter:e}),[x]),k=(0,W.useCallback)(e=>x({category:e}),[x]),[ne,re]=(0,W.useState)(()=>n(Jt,!1)),ie=(0,W.useCallback)(()=>{re(!0),t(Jt,!0)},[]),A=!p&&_===`plugins`?`all`:_,j=Ut(A),ae=p&&Wt(A),M=Gt(A),{handleInstall:N,handleRemove:oe,isInstallingSkill:P,isRemovingSkill:se,skillPendingRemoval:ce,confirmRemove:le,cancelRemove:ue}=ee(e),{data:de=[]}=It(e),{origin:fe,kind:pe}=(0,W.useMemo)(()=>Ht(A),[A]),F=u({...De({path:{assistant_id:e},query:{include:`catalog`,origin:fe,kind:pe,q:E||void 0,category:y??void 0}}),select:e=>({skills:e.skills,categoryCounts:e.categoryCounts,totalCount:e.totalCount}),enabled:!!e&&j}),me=u({...De({path:{assistant_id:e},query:{include:`catalog`,origin:fe,kind:pe,q:E||void 0}}),select:e=>({skills:e.skills,categoryCounts:e.categoryCounts,totalCount:e.totalCount}),enabled:!!e&&j&&y!==null}),{items:he,isLoading:ge,catalogLoading:I,isError:_e,isFetching:L,catalogError:ve,categorySupported:ye,installedCategoryCounts:be,installedPlugins:R,installedTotal:xe,catalogMatches:Ce,unfilteredInstalledNames:we}=Ft(e,y,p),B=ae&&(y===null||ye),Te=(0,W.useCallback)(t=>te(a,e,t),[e,a]),[Ee,ke]=(0,W.useState)(null),[Ae,Ne]=(0,W.useState)(null),[Pe,Fe]=(0,W.useState)(null),[V,H]=(0,W.useState)(null),[U,Be]=(0,W.useState)(null),He=Oe({onMutate:e=>ke(e.body.name),onSuccess:(e,t)=>z.success(`Installed ${t.body.name}`),onError:()=>z.error(Je),onSettled:(e,t,n)=>{ke(null),Te(n.body.name)}}),Ue=Me({onMutate:e=>Ne(e.path.name),onSuccess:(e,t)=>z.success(`Removed ${t.path.name}`),onError:()=>z.error(Ye),onSettled:(e,t,n)=>{Ne(null),Te(n.path.name)}}),We=je({onMutate:e=>Fe(e.path.name),onSuccess:(e,t)=>z.success(e.outcome===`already-up-to-date`?`${t.path.name} is already up to date`:`Upgraded ${t.path.name} to ${nt(e.toCommit)}`),onError:()=>z.error(Xe),onSettled:(e,t,n)=>{Fe(null),Te(n.path.name)}}),K=(0,W.useCallback)(e=>h(t=>{let n=new URLSearchParams(t);return n.set(`plugin`,e.name),n}),[h]),Ze=(0,W.useCallback)(()=>h(e=>{let t=new URLSearchParams(e);return t.delete(`plugin`),t},{replace:!0}),[h]),Qe=(0,W.useCallback)(t=>{He.mutate({path:{assistant_id:e},body:{name:t.name}})},[e,He]),et=(0,W.useCallback)(()=>{V&&(Ue.mutate({path:{assistant_id:e,name:V.name}}),H(null))},[e,V,Ue]),q=(0,W.useCallback)(t=>{We.mutate({path:{assistant_id:e,name:t},body:{}})},[e,We]),rt=(0,W.useCallback)(()=>{U&&(q(U.name),Be(null))},[U,q]),it=(0,W.useCallback)((e,t)=>{if(ct(t)){Be(e);return}q(e.name)},[q]),J=(0,W.useMemo)(()=>j?F.data?.skills??[]:[],[j,F.data?.skills]),at=(0,W.useMemo)(()=>B?tt(he,M).filter(e=>$e(e,E)):[],[B,he,M,E]),ot=(0,W.useMemo)(()=>Yt([...J.map(e=>({type:`skill`,key:`skill:${e.id}`,name:e.name,installed:v(e),skill:e})),...at.map(e=>({type:`plugin`,key:`plugin:${e.name}`,name:e.name,installed:e.status===`installed`,item:e}))]),[J,at]),Y=y===null?F.data:me.data,st=Zt(j,Y?.skills??J,Y?.categoryCounts,Y?.totalCount),X=Qt(ae&&ye,be,R,xe,Ce,we,M),{counts:lt,totalCount:ut}=(0,W.useMemo)(()=>{let e={...st.counts};for(let[t,n]of Object.entries(X.counts))e[t]=(e[t]??0)+n;return{counts:e,totalCount:st.totalCount+X.totalCount}},[st,X]),dt=j&&F.isLoading,Z=j&&F.isError,ft=B&&ge,Q=B&&_e,mt=(Z||!j)&&(Q||!B)&&(Z||Q),_t=dt||ft,vt=!!E&&(j&&F.isFetching||B&&L&&!ge),bt=w.trim().length>0;if(b&&!p&&f===null)return null;if(b&&p){let t=he.find(e=>e.name===b),n={assistantId:e,name:b,externalHint:t?.external,enabled:t?.enabled,onBack:Ze};return d?(0,G.jsx)(ht,{...n}):(0,G.jsx)(pt,{...n})}let St=(0,G.jsx)(`div`,{className:`min-w-0 flex-1 overflow-y-auto`,children:_t?(0,G.jsx)(nn,{}):mt?(0,G.jsx)(rn,{}):ot.length===0?B&&I&&M!==`installed`?(0,G.jsx)(nn,{}):(0,G.jsx)(an,{filter:A,category:y}):(0,G.jsx)(`ul`,{className:`flex flex-col gap-2`,children:ot.map(t=>(0,G.jsx)(`li`,{children:t.type===`skill`?(0,G.jsx)(xt,{skill:t.skill,onSelect:()=>r(Le.skills.detail(t.skill.id),{state:{listSearch:i.search}}),onInstall:()=>N(t.skill),onRemove:()=>oe(t.skill),isInstalling:P(t.skill),isRemoving:se(t.skill)}):t.installed?(0,G.jsx)($t,{assistantId:e,item:t.item,onSelect:()=>K(t.item),onRemove:()=>H(t.item),onUpgrade:e=>it(t.item,e),isRemoving:Ae===t.item.name,isUpgrading:Pe===t.item.name}):(0,G.jsx)(gt,{assistantId:e,item:t.item,onSelect:()=>K(t.item),onInstall:()=>Qe(t.item),isInstalling:Ee===t.item.name})},t.key))})});return(0,G.jsxs)(`div`,{className:`flex h-full min-h-0 flex-1 flex-col gap-4`,children:[!ne&&(0,G.jsx)(en,{onDismiss:ie}),(0,G.jsx)(Tt,{search:w,onSearchChange:T,filter:A,onFilterChange:O,isSearching:vt,categories:de,category:y,onCategoryChange:k,counts:lt,totalCount:ut,showCounts:!bt,pluginsSupported:p}),!_t&&!mt&&Z?(0,G.jsx)(tn,{text:`Skills are temporarily unavailable. Plugins are still listed below.`}):null,!_t&&!mt&&Q?(0,G.jsx)(tn,{text:`Plugins are temporarily unavailable. Skills are still listed below.`}):null,B&&ve&&!ft&&!Q?(0,G.jsx)(tn,{text:`Plugin catalog browsing is temporarily unavailable. Installed plugins are still listed below.`}):null,(0,G.jsxs)(`div`,{className:`flex min-h-0 flex-1 gap-6`,children:[(0,G.jsx)(`aside`,{className:`hidden w-56 shrink-0 overflow-y-auto sm:block`,children:(0,G.jsx)(yt,{ariaLabel:`Superpower categories`,selected:y,onSelect:k,counts:lt,totalCount:ut,showCounts:!bt,categories:de})}),St]}),(0,G.jsx)(Ve,{skillName:ce?.name??null,onConfirm:le,onCancel:ue}),(0,G.jsx)(Se,{open:V!==null,title:`Remove plugin`,message:V?Ge(V.name):``,confirmLabel:`Remove`,destructive:!0,onConfirm:et,onCancel:()=>H(null)}),(0,G.jsx)(Se,{open:U!==null,title:`Upgrade plugin`,message:U?Ke(U.name):``,confirmLabel:qe,destructive:!0,onConfirm:rt,onCancel:()=>Be(null)})]})}function Zt(e,t,n,r){return(0,W.useMemo)(()=>{if(!e)return{counts:{},totalCount:0};if(n&&Object.keys(n).length>0)return{counts:n,totalCount:r??t.length};let i={};for(let e of t){let t=e.category??`system`;i[t]=(i[t]??0)+1}return{counts:i,totalCount:r??t.length}},[e,t,n,r])}function Qt(e,t,n,r,i,a,o){return(0,W.useMemo)(()=>{if(!e)return{counts:{},totalCount:0};let s={},c=o!==`available`,l=o===`all`||o===`available`;if(c)if(t&&Object.keys(t).length>0)Object.assign(s,t);else for(let e of n){let t=e.category??`system`;s[t]=(s[t]??0)+1}let u=0;if(l)for(let e of i){if(a.has(e.name))continue;let t=e.category??`system`;s[t]=(s[t]??0)+1,u+=1}let d=r??n.length;return{counts:s,totalCount:(c?d:0)+u}},[e,t,n,r,i,a,o])}function $t({assistantId:e,item:t,onSelect:n,onRemove:r,onUpgrade:i,isRemoving:a,isUpgrading:o}){let s=X({assistantId:e,name:t.name}).data;return(0,G.jsx)(gt,{assistantId:e,item:t,drift:s,onSelect:n,onRemove:r,onUpgrade:()=>i(s),isRemoving:a,isUpgrading:o})}function en({onDismiss:e}){return(0,G.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg px-4 py-2.5 text-body-small-default`,style:{backgroundColor:`var(--surface-base)`,color:`var(--content-secondary)`},children:[(0,G.jsx)(fe,{className:`h-4 w-4 shrink-0`,style:{color:`var(--primary-base)`}}),(0,G.jsx)(`p`,{className:`flex-1`,children:`Create a new custom skill by describing what you want in chat, or install plugins to extend your assistant.`}),(0,G.jsx)(a,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:(0,G.jsx)(ge,{"aria-hidden":!0}),onClick:e,"aria-label":`Dismiss tip`,tintColor:`var(--content-tertiary)`,expandOnMobile:!1})]})}function tn({text:e}){return(0,G.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg px-4 py-2.5 text-body-small-default`,style:{backgroundColor:`var(--surface-base)`,color:`var(--content-secondary)`},children:[(0,G.jsx)(ne,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`},"aria-hidden":!0}),(0,G.jsx)(`p`,{className:`flex-1`,children:e})]})}function nn(){return(0,G.jsx)(`div`,{className:`flex items-center justify-center py-16`,children:(0,G.jsx)(P,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})})}function rn(){return(0,G.jsx)(p.Root,{children:(0,G.jsxs)(p.Body,{className:`flex flex-col items-center justify-center py-16 text-center`,children:[(0,G.jsx)(me,{className:`mb-3 h-8 w-8`,style:{color:`var(--system-danger)`},"aria-hidden":!0}),(0,G.jsx)(`h3`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:`Failed to load superpowers`}),(0,G.jsx)(`p`,{className:`mt-1 max-w-sm text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Something went wrong. Try refreshing the page.`})]})})}function an({filter:e,category:t}){let{title:n,subtitle:r,Icon:i}=on(e,t);return(0,G.jsx)(y,{icon:i,title:n,subtitle:r})}function on(e,t){if(t)return{title:`Nothing in this category`,subtitle:`Try selecting a different category or clearing the filter.`,Icon:N};switch(e){case`installed`:return{title:`No Superpowers Installed`,subtitle:`Ask your assistant in chat to search for and install new skills and plugins.`,Icon:I};case`available`:return{title:`Nothing Left to Install`,subtitle:`All available skills and plugins are installed.`,Icon:k};case`skills`:return{title:`No Skills Found`,subtitle:`Ask your assistant in chat to search for and install new skills.`,Icon:I};case`plugins`:return{title:`No Plugins Found`,subtitle:`Browse the catalog to install plugins that extend your assistant.`,Icon:ue};case`vellum`:return{title:`No Vellum Skills`,subtitle:`No bundled Vellum skills found.`,Icon:I};case`clawhub`:return{title:`No Clawhub Skills`,subtitle:`No Clawhub skills found. Try searching the catalog.`,Icon:I};case`skillssh`:return{title:`No skills.sh Skills`,subtitle:`No skills.sh skills found. Try searching the catalog.`,Icon:I};case`custom`:return{title:`No Custom Skills`,subtitle:`Create a custom skill by describing what you want in chat.`,Icon:I};case`assistant-memory`:return{title:`No Skills From Memory`,subtitle:`Skills your assistant authors from past conversations will appear here.`,Icon:I};default:return{title:`No Superpowers Available`,subtitle:`Check your connection to the Vellum catalog.`,Icon:ne}}}function sn(){return(0,G.jsx)(Xt,{assistantId:U()})}export{sn as SuperpowersPage};
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{o as t,t as n}from"./local-settings-C-dW2vkq.js";import{t as r}from"./react-BFJW0bSv.js";import{F as i,t as a}from"./button-Dy5001j6.js";import{l as o,m as s,u as c}from"./chunk-5KNZJZUH-Bsoom5--.js";import{n as l}from"./QueryClientProvider-CMu7CkQU.js";import{t as u}from"./useQuery-Bz-fbQ-m.js";import{t as d}from"./useMutation-CXGTrp4W.js";import{t as f}from"./jsx-runtime-D3ZM-ToX.js";import{t as p}from"./card-DRIctGVs.js";import{t as m}from"./createLucideIcon-CAM1RhH8.js";import{t as h}from"./arrow-down-to-line-Bh_5sIPp.js";import{t as g}from"./arrow-left-C2ylPLHq.js";import{a as _,i as v,n as y,o as b,r as x,s as S,t as ee}from"./use-skill-actions-BAAx1Eia.js";import{t as C}from"./brain-BIzJCPA6.js";import{n as w,t as T}from"./settings-CfuLzwIw.js";import{t as E}from"./check-sC49_hjU.js";import{n as D,r as O,t as te}from"./invalidate-plugin-queries-C3NTXkCX.js";import{t as k}from"./circle-check-big-DSsDH5_6.js";import{t as ne}from"./cloud-off-BCBGTmt0.js";import{t as re}from"./code-qafFA0_-.js";import{t as ie}from"./download-CywcQLB2.js";import{t as A}from"./external-link-CS0aVYGt.js";import{t as j}from"./globe-CMtjL_s_.js";import{t as ae}from"./hard-drive-DWFPKcXI.js";import{t as M}from"./heart-789ajxtB.js";import{t as N}from"./layout-grid-DA_CfD6d.js";import{t as oe}from"./link-2-BKL8QWRX.js";import{t as P}from"./loader-circle-XREx3i4W.js";import{t as se}from"./mail-CMdPNysl.js";import{t as ce}from"./message-circle-BsH7vHtN.js";import{t as le}from"./mic-xmDFUbCL.js";import{t as ue}from"./puzzle-BVC3TGko.js";import{t as de}from"./search-BVW-n8to.js";import{t as fe}from"./sparkles-Ccrj7hxd.js";import{t as pe}from"./terminal-CdCI6wMV.js";import{t as F}from"./trash-2-L5LNgw9o.js";import{t as me}from"./triangle-alert-CQfiAg_t.js";import{t as he}from"./user-_zNqL48O.js";import{t as ge}from"./x-JBAsSOmg.js";import{n as I,t as _e}from"./installed-plugins-query-Cgek0q7G.js";import"./src-te3YTBG-.js";import{t as L}from"./tag-NXcyiTkK.js";import{t as ve}from"./popover-BRpYVASI.js";import{t as ye}from"./input-hw3el2GJ.js";import{t as be}from"./toggle-lfnhEAcN.js";import{n as R,t as xe}from"./panel-item-CrtoJCrd.js";import{n as z}from"./toast-LgLp4obE.js";import{t as Se}from"./confirm-dialog-UYFm4osC.js";import{t as Ce}from"./file-markdown-DaflJFk7.js";import{Bn as we,Ln as B,Rn as Te,Un as Ee}from"./sdk.gen-BHZ0fJla.js";import{St as De,an as Oe,at as ke,ct as Ae,in as je,rn as Me,rt as Ne,st as Pe,xt as Fe}from"./react-query.gen-C5c1Acuq.js";import{t as Ie}from"./assistant-identity-store-DIyVo8LV.js";import{r as V}from"./utils-CnB60ZJN.js";import{u as Le}from"./routes-D9sNqB_o.js";import{n as Re}from"./use-is-mobile-BlQuzI5Z.js";import{t as H}from"./misc-CuYswARt.js";import{t as ze}from"./plugins-surface-B43Op43l.js";import{t as U}from"./use-active-assistant-id-CldxA_-M.js";import{n as Be,r as Ve}from"./skills-Cum1XWT2.js";var He=m(`funnel`,[[`path`,{d:`M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z`,key:`sc7q7i`}]]),Ue=m(`palette`,[[`path`,{d:`M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z`,key:`e79jfc`}],[`circle`,{cx:`13.5`,cy:`6.5`,r:`.5`,fill:`currentColor`,key:`1okk4w`}],[`circle`,{cx:`17.5`,cy:`10.5`,r:`.5`,fill:`currentColor`,key:`f64h9f`}],[`circle`,{cx:`6.5`,cy:`12.5`,r:`.5`,fill:`currentColor`,key:`qy21gx`}],[`circle`,{cx:`8.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`fotxhn`}]]),W=e(r(),1),G=f(),We={sm:`h-7 w-7`,md:`h-8 w-8 text-3xl`};function K({external:e=!1,icon:t,iconSrc:n,size:r=`sm`,className:i}){let[a,o]=(0,W.useState)(!1);(0,W.useEffect)(()=>{o(!1)},[n]);let s=t||(e?`📦`:`🧩`),c=!!n&&!a;return(0,G.jsx)(`span`,{className:H(`flex shrink-0 items-center justify-center`,We[r],i),children:c?(0,G.jsx)(`img`,{src:n,alt:``,"aria-hidden":!0,loading:`lazy`,className:`h-full w-full object-contain`,onError:()=>o(!0)}):s})}var Ge=e=>`Remove "${e}" from this assistant?`,Ke=e=>`"${e}" has local edits that will be overwritten by the upgrade. Continue?`,qe=`Upgrade anyway`,Je=`Failed to install plugin. Please try again.`,Ye=`Failed to remove plugin. Please try again.`,Xe=`Failed to upgrade plugin. Please try again.`,Ze=`Failed to update plugin. Please try again.`;function Qe(e,t){let n=e.map(e=>({name:e.name,description:e.description??void 0,status:`installed`,external:void 0,version:e.version??void 0,path:e.path,issues:e.issues,enabled:e.enabled,icon:e.icon,hasIcon:e.hasIcon,iconVersion:e.iconVersion})),r=new Set(n.map(e=>e.name)),i=t.filter(e=>!r.has(e.name)).map(e=>({name:e.name,description:e.description,status:`available`,external:!0,path:e.path}));return[...n,...i]}function $e(e,t){let n=t.trim().toLowerCase();return n?[e.name,e.description].some(e=>e?.toLowerCase().includes(n)):!0}function et(e){return[...e].sort((e,t)=>{let n=e.status===`installed`;return n===(t.status===`installed`)?e.name.localeCompare(t.name,void 0,{sensitivity:`base`}):n?-1:1})}function tt(e,t){switch(t){case`all`:return e;case`available`:return e.filter(e=>e.status===`available`);case`installed`:return e.filter(e=>e.status===`installed`);case`active`:return e.filter(e=>e.status===`installed`&&e.enabled!==!1);case`off`:return e.filter(e=>e.status===`installed`&&e.enabled===!1)}}function nt(e){return e?e.slice(0,7):`unknown`}function q({plugin:e,surfaces:t=null,className:n}){let r=[{label:`Source`,value:e.source?.kind===`github`?e.source.repo:`Local`,href:(e.source?.kind===`github`?`https://github.com/${e.source.repo}`:null)??void 0}];return e.homepage&&r.push({label:`Homepage`,value:e.homepage,href:e.homepage}),e.license&&r.push({label:`License`,value:e.license}),t&&(t.skills.length>0&&r.push({label:`Skills`,value:String(t.skills.length)}),t.hooks.length>0&&r.push({label:`Hooks`,value:String(t.hooks.length)}),t.tools.length>0&&r.push({label:`Tools`,value:String(t.tools.length)})),(0,G.jsx)(`dl`,{className:H(`mb-5 grid gap-x-6 gap-y-2 border-b pb-5 sm:grid-cols-[max-content_1fr]`,n),style:{borderColor:`var(--border-base)`},children:r.map(e=>(0,G.jsxs)(`div`,{className:`contents`,children:[(0,G.jsx)(`dt`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:e.label}),(0,G.jsx)(`dd`,{className:`min-w-0 truncate text-body-small-default`,style:{color:`var(--content-secondary)`},children:e.href?(0,G.jsxs)(`a`,{href:e.href,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-1 underline`,style:{color:`var(--primary-base, #60a5fa)`},children:[e.value,(0,G.jsx)(A,{className:`h-3 w-3`,"aria-hidden":!0})]}):e.value})]},e.label))})}function rt({plugin:e,drift:t,onInstall:n,onRemove:r,onUpgrade:i,isInstalling:o,isRemoving:s,isUpgrading:c,hasLocalEdits:l,enabled:u,onToggle:d,isToggling:f}){let[p,m]=(0,W.useState)(!1),[g,_]=(0,W.useState)(!1),v=e.installed??!1,y=e.artifact??null,b=t?.status===`update-available`,x=b?`Upgrade ${nt(t?.local?.commit??null)} → ${nt(t?.remote?.commit??null)}`:void 0;return(0,G.jsxs)(G.Fragment,{children:[v?(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 md:flex-nowrap md:shrink-0`,children:[u!==void 0&&d?(0,G.jsx)(be,{label:`Auto-include in chat`,checked:u,onChange:()=>d(),disabled:f}):null,y?(0,G.jsx)(a,{asChild:!0,leftIcon:(0,G.jsx)(ie,{"aria-hidden":!0}),children:(0,G.jsx)(`a`,{href:y.url,download:!0,children:y.label??`Download`})}):null,b?(0,G.jsx)(a,{type:`button`,onClick:()=>{if(l){_(!0);return}i()},disabled:c,title:x,leftIcon:c?(0,G.jsx)(P,{className:`animate-spin`,"aria-hidden":!0}):(0,G.jsx)(O,{"aria-hidden":!0}),children:`Upgrade`}):null,(0,G.jsx)(a,{type:`button`,variant:`dangerOutline`,onClick:()=>m(!0),disabled:s,leftIcon:s?(0,G.jsx)(P,{className:`animate-spin`,"aria-hidden":!0}):(0,G.jsx)(F,{"aria-hidden":!0}),children:`Remove`})]}):(0,G.jsx)(a,{type:`button`,onClick:n,disabled:o,leftIcon:o?(0,G.jsx)(P,{className:`animate-spin`,"aria-hidden":!0}):(0,G.jsx)(h,{"aria-hidden":!0}),children:`Install`}),(0,G.jsx)(Se,{open:p,title:`Remove plugin`,message:Ge(e.name),confirmLabel:`Remove`,destructive:!0,onConfirm:()=>{m(!1),r()},onCancel:()=>m(!1)}),(0,G.jsx)(Se,{open:g,title:`Upgrade plugin`,message:Ke(e.name),confirmLabel:qe,destructive:!0,onConfirm:()=>{_(!1),i()},onCancel:()=>_(!1)})]})}function it(){return(0,G.jsx)(`div`,{className:`flex items-center justify-center py-12`,children:(0,G.jsx)(P,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})})}function J(){return(0,G.jsxs)(`div`,{className:`flex flex-col items-center justify-center gap-2 py-12 text-center`,style:{color:`var(--content-tertiary)`},children:[(0,G.jsx)(me,{className:`h-6 w-6`,"aria-hidden":!0}),(0,G.jsx)(`p`,{className:`text-body-medium-default`,children:`We couldn't load this plugin.`}),(0,G.jsx)(`p`,{className:`text-body-small-default`,children:`It may not exist, or your assistant may be on an older build.`})]})}function at({isInstallError:e,isRemoveError:t,isUpgradeError:n}){let r=e?Je:t?Ye:n?Xe:null;return r?(0,G.jsxs)(`div`,{className:`mb-3 flex items-center gap-2 rounded px-3 py-2 text-body-small-default`,style:{backgroundColor:`var(--surface-secondary)`,color:`var(--content-warning, var(--content-tertiary))`},role:`alert`,children:[(0,G.jsx)(me,{className:`h-4 w-4 shrink-0`,"aria-hidden":!0}),r]}):null}function ot({external:e,className:t}){let n=e?{label:`External`,icon:j}:{label:`Local`,icon:ae};return(0,G.jsx)(L,{tone:`neutral`,leftIcon:(0,W.createElement)(n.icon),className:t,children:n.label})}function Y({onClick:e,isUpgrading:t=!1}={}){let n=(0,G.jsx)(L,{tone:`warning`,leftIcon:(0,W.createElement)(t?P:O,{className:t?`animate-spin`:void 0}),className:`shrink-0`,children:`Update available`});return e?(0,G.jsx)(`button`,{type:`button`,onClick:t=>{t.stopPropagation(),e()},disabled:t,"aria-label":`Upgrade plugin`,className:`shrink-0 rounded-[6px] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)] disabled:cursor-not-allowed`,children:n}):n}var st=300*1e3;function X({assistantId:e,name:t,enabled:n=!0}){return u({...ke({path:{assistant_id:e,name:t}}),enabled:!!e&&!!t&&n,staleTime:st,retry:!1})}function ct(e){let t=e?.local?.localChanges;return!!t&&t?.clean===!1}function lt(e,t,n){let r=l(),i=n?.onRemoved,a=u({...Ne({path:{assistant_id:e,name:t}}),enabled:!!e&&!!t}),o=X({assistantId:e,name:t,enabled:a.data?.installed??!1}).data,s=(0,W.useCallback)(()=>te(r,e,t),[e,t,r]),c=Oe({onSuccess:()=>{s(),z.success(`Installed ${t||`plugin`}`)}}),d=Me({onSuccess:()=>{s(),i?.()}}),f=je({onSuccess:e=>{s(),z.success(e.outcome===`already-up-to-date`?`${t||`Plugin`} is already up to date`:`Upgraded ${t||`plugin`} to ${nt(e.toCommit)}`)}});return{plugin:a.data??null,drift:o,isLoading:a.isLoading,isError:a.isError,install:()=>{c.mutate({path:{assistant_id:e},body:{name:t}})},remove:()=>{d.mutate({path:{assistant_id:e,name:t}})},upgrade:()=>{f.mutate({path:{assistant_id:e,name:t},body:{}})},isInstalling:c.isPending,isRemoving:d.isPending,isUpgrading:f.isPending,isInstallError:c.isError,isRemoveError:d.isError,isUpgradeError:f.isError,hasLocalEdits:ct(o)}}var ut=`0.10.5`;function dt(){return V(ut)}function Z(e,t,n,r){let i=dt(),{data:a}=u({queryKey:[`pluginIcon`,e,t,r],queryFn:async()=>{let{data:n,error:r}=await we({path:{assistant_id:e,name:t},parseAs:`blob`,throwOnError:!1});if(r||!(n instanceof Blob))throw Error(`Failed to load plugin icon`);return n},enabled:!!(i&&n&&r),staleTime:1/0,retry:!1}),[o,s]=(0,W.useState)(void 0);return(0,W.useEffect)(()=>{if(!a){s(void 0);return}let e=URL.createObjectURL(a);return s(e),()=>{URL.revokeObjectURL(e)}},[a]),o}function ft(e){let t=l(),n={queryKey:Pe({path:{assistant_id:e}})},r=(e,r)=>{t.setQueriesData(n,t=>t&&{...t,plugins:t.plugins.map(t=>t.name===e?{...t,enabled:r}:t)})},i=d({mutationFn:async({name:t,nextEnabled:n})=>{let r=await(n?Te({path:{assistant_id:e,name:t},throwOnError:!1}):B({path:{assistant_id:e,name:t},throwOnError:!1})),i=r.response?.status;if(r.response?.ok||i===409)return r;throw Error(`Plugin toggle failed (${i??`network error`})`)},onMutate:async({name:e,nextEnabled:i})=>{await t.cancelQueries(n),r(e,i)},onError:(e,{name:t,nextEnabled:n})=>{r(t,!n),z.error(Ze)},onSettled:(n,r,i)=>{te(t,e,i.name)}});return{toggle:(e,t)=>{i.mutate({name:e,nextEnabled:t})},togglingName:i.isPending?i.variables?.name??null:null}}function pt({assistantId:e,name:t,onBack:n,externalHint:r,enabled:i}){let{plugin:o,drift:s,isLoading:c,isError:l,install:u,remove:d,upgrade:f,isInstalling:m,isRemoving:h,isUpgrading:_,isInstallError:v,isRemoveError:y,isUpgradeError:b,hasLocalEdits:x}=lt(e,t,{onRemoved:n}),{toggle:S,togglingName:ee}=ft(e),C=Z(e,t,o?.hasIcon,o?.iconVersion);return(0,G.jsxs)(`div`,{className:`flex h-full min-h-0 flex-1 flex-col`,children:[(0,G.jsxs)(`div`,{className:`mb-4 flex items-start gap-3`,children:[(0,G.jsx)(a,{type:`button`,variant:`ghost`,iconOnly:(0,G.jsx)(g,{"aria-hidden":!0}),"aria-label":`Back to plugins`,onClick:n}),(0,G.jsx)(Q,{name:t,plugin:o,externalHint:r,iconSrc:C,drift:s,onInstall:u,onRemove:d,onUpgrade:f,isInstalling:m,isRemoving:h,isUpgrading:_,hasLocalEdits:x,enabled:i,onToggle:()=>S(t,!i),isToggling:ee===t})]}),(v||y||b)&&(0,G.jsx)(at,{isInstallError:v,isRemoveError:y,isUpgradeError:b}),(0,G.jsx)(p.Root,{asChild:!0,children:(0,G.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-6 py-5`,children:c?(0,G.jsx)(it,{}):l||!o?(0,G.jsx)(J,{}):(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(q,{plugin:o,surfaces:s?.surfaces??null}),o.readme?(0,G.jsx)(Ce,{content:o.readme}):(0,G.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`This plugin doesn't ship a README.`})]})})})]})}function Q({name:e,plugin:t,externalHint:n,iconSrc:r,drift:i,onInstall:a,onRemove:o,onUpgrade:s,isInstalling:c,isRemoving:l,isUpgrading:u,hasLocalEdits:d,enabled:f,onToggle:p,isToggling:m}){let h=t?.source?.kind===`github`,g=t?h:n,_=i?.status===`update-available`;return(0,G.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-3 sm:flex-row sm:items-center`,children:[(0,G.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-start gap-3`,children:[g===void 0?(0,G.jsx)(`span`,{"aria-hidden":!0,className:`h-8 w-8 shrink-0`}):(0,G.jsx)(K,{external:g,icon:t?.icon??void 0,iconSrc:r,size:`md`}),(0,G.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-2 gap-y-1`,children:[(0,G.jsx)(`h2`,{className:`text-title-medium`,style:{color:`var(--content-default)`},children:t?.name??e}),t?.version?(0,G.jsxs)(`span`,{className:`shrink-0 text-body-small-default`,style:{color:`var(--content-tertiary)`},children:[`v`,t.version]}):null,t?(0,G.jsx)(ot,{external:h}):null,_?(0,G.jsx)(Y,{}):null]}),t?.description?(0,G.jsx)(`p`,{className:`mt-0.5 line-clamp-2 text-body-medium-lighter`,style:{color:`var(--content-secondary)`},children:t.description}):null]})]}),t?(0,G.jsx)(rt,{plugin:t,drift:i,onInstall:a,onRemove:o,onUpgrade:s,isInstalling:c,isRemoving:l,isUpgrading:u,hasLocalEdits:d,enabled:f,onToggle:p,isToggling:m}):null]})}var mt=e(i(),1);function ht({assistantId:e,name:t,onBack:n,externalHint:r,enabled:i}){let{plugin:o,drift:s,isLoading:c,isError:l,install:u,remove:d,upgrade:f,isInstalling:m,isRemoving:h,isUpgrading:_,isInstallError:v,isRemoveError:y,isUpgradeError:b,hasLocalEdits:x}=lt(e,t,{onRemoved:n}),{toggle:S,togglingName:ee}=ft(e),[C,w]=(0,W.useState)(null);(0,W.useEffect)(()=>{w(document.getElementById(`viewport-overlays`))},[]);let T=o?.source?.kind===`github`,E=o?T:r,D=s?.status===`update-available`,O=o?.name??t,te=Z(e,t,o?.hasIcon,o?.iconVersion),k=(0,G.jsxs)(`div`,{className:`fixed inset-0 z-40 flex flex-col overflow-hidden bg-[var(--surface-overlay)]`,style:{paddingTop:`calc(8px + var(--safe-area-inset-top, env(safe-area-inset-top, 0px)))`,paddingBottom:`calc(8px + var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px)))`,paddingLeft:`calc(12px + var(--safe-area-inset-left, env(safe-area-inset-left, 0px)))`,paddingRight:`calc(12px + var(--safe-area-inset-right, env(safe-area-inset-right, 0px)))`},children:[(0,G.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,G.jsx)(a,{variant:`ghost`,iconOnly:(0,G.jsx)(g,{"aria-hidden":!0}),expandOnMobile:!0,"aria-label":`Back to plugins`,onClick:n,className:`max-md:bg-[var(--surface-active)]`}),(0,G.jsx)(`span`,{className:`min-w-0 flex-1 truncate px-2 text-center text-body-medium-default`,style:{color:`var(--content-secondary)`},children:O}),(0,G.jsx)(`span`,{"aria-hidden":!0,className:`h-8 w-8 shrink-0 touch-mobile:h-10 touch-mobile:w-10`})]}),(0,G.jsxs)(`div`,{className:`mt-4 flex flex-col gap-2`,children:[(0,G.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,G.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[E===void 0?(0,G.jsx)(`span`,{"aria-hidden":!0,className:`h-8 w-8 shrink-0`}):(0,G.jsx)(K,{external:E,icon:o?.icon??void 0,iconSrc:te,size:`md`}),(0,G.jsx)(`h2`,{className:`min-w-0 truncate text-title-medium`,style:{color:`var(--content-emphasised)`},children:O})]}),(0,G.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1.5`,children:[D?(0,G.jsx)(Y,{}):null,o?(0,G.jsx)(ot,{external:T}):null]})]}),o?.description?(0,G.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:o.description}):null]}),o?(0,G.jsx)(`div`,{className:`mt-3 flex flex-wrap items-center gap-2`,children:(0,G.jsx)(rt,{plugin:o,drift:s,enabled:i,onToggle:()=>S(t,!i),isToggling:ee===t,onInstall:u,onRemove:d,onUpgrade:f,isInstalling:m,isRemoving:h,isUpgrading:_,hasLocalEdits:x})}):null,(v||y||b)&&(0,G.jsx)(`div`,{className:`mt-3`,children:(0,G.jsx)(at,{isInstallError:v,isRemoveError:y,isUpgradeError:b})}),(0,G.jsx)(p.Root,{asChild:!0,noPadding:!0,children:(0,G.jsx)(`div`,{className:`mt-6 flex min-h-0 flex-1 flex-col overflow-hidden rounded-2xl border bg-[var(--surface-lift)]`,style:{borderColor:`var(--border-hover)`},children:(0,G.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-4 py-4`,children:c?(0,G.jsx)(it,{}):l||!o?(0,G.jsx)(J,{}):(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(q,{plugin:o,surfaces:s?.surfaces??null}),o.readme?(0,G.jsx)(Ce,{content:o.readme}):(0,G.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`This plugin doesn't ship a README.`})]})})})})]});return C?(0,mt.createPortal)(k,C):k}function gt({assistantId:e,item:t,drift:n,onSelect:r,onInstall:i,onRemove:o,onUpgrade:s,isInstalling:c=!1,isRemoving:l=!1,isUpgrading:u=!1}){let d=t.status===`available`,f=n?.status===`update-available`,m=t.enabled!==void 0,g=t.enabled===!1,_=Z(e,t.name,t.hasIcon,t.iconVersion);return(0,G.jsx)(p.Root,{asChild:!0,children:(0,G.jsxs)(`div`,{role:`button`,tabIndex:0,onClick:r,onKeyDown:e=>{e.target===e.currentTarget&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),r())},className:`flex cursor-pointer items-center gap-3 px-3 py-2 text-left transition-colors hover:bg-[var(--surface-hover)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`,children:[(0,G.jsx)(K,{size:`sm`,external:t.external,icon:t.icon,iconSrc:_,className:g?`opacity-50`:void 0}),(0,G.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,G.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,G.jsx)(`span`,{className:`truncate text-body-medium-default`,style:{color:g?`var(--content-tertiary)`:`var(--content-emphasised)`},children:t.name}),t.version?(0,G.jsxs)(`span`,{className:`shrink-0 text-body-small-default`,style:{color:`var(--content-tertiary)`},children:[`v`,t.version]}):null,(0,G.jsx)(L,{tone:`neutral`,leftIcon:(0,G.jsx)(ue,{"aria-hidden":!0}),children:`Plugin`}),f?(0,G.jsx)(Y,{onClick:s,isUpgrading:u}):null]}),(0,G.jsx)(`p`,{className:`mt-1 truncate text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:t.description??`No description provided.`}),t.issues&&t.issues.length>0?(0,G.jsxs)(`p`,{className:`mt-1 truncate text-body-small-default`,style:{color:`var(--content-warning, var(--content-tertiary))`},title:t.issues.join(`; `),children:[t.issues[0],t.issues.length>1?` (+${t.issues.length-1} more)`:``]}):null]}),d?c?(0,G.jsx)(a,{type:`button`,iconOnly:(0,G.jsx)(P,{className:`animate-spin`,"aria-hidden":!0}),disabled:!0,"aria-label":`Installing`,expandOnMobile:!1}):(0,G.jsx)(a,{type:`button`,iconOnly:(0,G.jsx)(h,{"aria-hidden":!0}),onClick:e=>{e.stopPropagation(),i?.()},disabled:!i,"aria-label":`Install plugin`,expandOnMobile:!1}):(0,G.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[m?(0,G.jsx)(L,{tone:t.enabled?`positive`:`neutral`,children:t.enabled?`Enabled`:`Disabled`}):null,(0,G.jsx)(a,{type:`button`,variant:`dangerOutline`,iconOnly:l?(0,G.jsx)(P,{className:`animate-spin`,"aria-hidden":!0}):(0,G.jsx)(F,{"aria-hidden":!0}),onClick:e=>{e.stopPropagation(),o?.()},disabled:l||u||!o,"aria-label":`Remove plugin`,expandOnMobile:!1})]})]})})}var _t={mail:se,calendar:w,"message-circle":ce,globe:j,zap:I,code:re,mic:le,"shopping-cart":D,palette:Ue,heart:M,settings:T,"link-2":oe};function vt(e){return _t[e]}function yt({selected:e,onSelect:t,counts:n,totalCount:r,showCounts:i,categories:a,ariaLabel:o=`Skill categories`}){let s=[...a].sort((e,t)=>e.label.localeCompare(t.label));return(0,G.jsxs)(`nav`,{className:`flex flex-col gap-1`,"aria-label":o,children:[(0,G.jsx)(bt,{icon:N,label:`All`,count:r,isActive:e===null,showCount:i,onClick:()=>t(null)}),s.map(r=>(0,G.jsx)(bt,{icon:vt(r.icon)??N,label:r.label,count:n[r.slug]??0,isActive:e===r.slug,showCount:i,onClick:()=>t(r.slug)},r.slug))]})}function bt({icon:e,label:t,count:n,isActive:r,showCount:i,onClick:o}){return(0,G.jsxs)(a,{variant:`ghost`,onClick:o,"aria-pressed":r,className:`h-auto justify-between gap-3 rounded-lg border-0 bg-transparent px-3 py-2 text-left hover:bg-[var(--ghost-hover)]`,style:{backgroundColor:r?`var(--surface-active)`:void 0,color:r?`var(--content-default)`:`var(--content-secondary)`},children:[(0,G.jsxs)(`span`,{className:`flex items-center gap-2.5`,children:[(0,G.jsx)(e,{className:`h-4 w-4 shrink-0`,"aria-hidden":!0}),(0,G.jsx)(`span`,{className:`text-body-medium-default`,children:t})]}),i&&(0,G.jsx)(`span`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:n})]})}function xt({skill:e,onSelect:t,onInstall:n,onRemove:r,isInstalling:i=!1,isRemoving:o=!1}){let s=x(e),c=Be(e);return(0,G.jsx)(p.Root,{asChild:!0,children:(0,G.jsxs)(`div`,{role:`button`,tabIndex:0,onClick:t,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),t())},className:`flex cursor-pointer items-center gap-3 px-3 py-2 text-left transition-colors hover:bg-[var(--surface-hover)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`,children:[(0,G.jsx)(`div`,{className:`flex shrink-0 items-center justify-center text-[28px] leading-none`,children:(0,G.jsx)(b,{skill:e,className:`h-7 w-7`})}),(0,G.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,G.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,G.jsx)(`span`,{className:`truncate text-body-medium-default`,style:{color:`var(--content-emphasised)`},children:e.name}),(0,G.jsx)(_,{origin:e.origin})]}),(0,G.jsx)(`p`,{className:`mt-1 truncate text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:e.description})]}),s?i?(0,G.jsx)(a,{type:`button`,iconOnly:(0,G.jsx)(P,{className:`animate-spin`,"aria-hidden":!0}),disabled:!0,"aria-label":`Installing`,expandOnMobile:!1}):(0,G.jsx)(a,{type:`button`,iconOnly:(0,G.jsx)(h,{"aria-hidden":!0}),onClick:e=>{e.stopPropagation(),n?.()},disabled:!n,"aria-label":`Install skill`,expandOnMobile:!1}):(0,G.jsx)(a,{type:`button`,variant:`dangerOutline`,iconOnly:o?(0,G.jsx)(P,{className:`animate-spin`,"aria-hidden":!0}):(0,G.jsx)(F,{"aria-hidden":!0}),onClick:e=>{e.stopPropagation(),r?.()},disabled:!c||o||!r,"aria-label":c?`Remove skill`:`Bundled skill cannot be removed`,title:c?void 0:`Bundled skills cannot be removed`,expandOnMobile:!1})]})})}var St=[{value:`all`,label:`All`,icon:N},{value:`installed`,label:`Installed`,icon:k},{value:`available`,label:`Available`,icon:h}],Ct=[{value:`skills`,label:`Skills`,icon:I},{value:`plugins`,label:`Plugins`,icon:ue}],wt=[{value:`vellum`,label:`Vellum`,icon:S},{value:`clawhub`,label:`Clawhub`,icon:j},{value:`skillssh`,label:`skills.sh`,icon:pe},{value:`custom`,label:`Custom`,icon:he},{value:`assistant-memory`,label:`Assistant's Memory`,icon:C}];function Tt({search:e,onSearchChange:t,filter:n,onFilterChange:r,isSearching:i,categories:a,category:o,onCategoryChange:s,counts:c,totalCount:l,showCounts:u,pluginsSupported:d}){return(0,G.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,G.jsx)(ye,{type:`search`,value:e,onChange:e=>{t(e.target.value)},placeholder:`Search superpowers`,"aria-label":`Search superpowers`,leftIcon:(0,G.jsx)(de,{className:`h-4 w-4`,"aria-hidden":!0}),rightIcon:i?(0,G.jsx)(P,{className:`h-4 w-4 animate-spin`,"aria-hidden":!0}):void 0,fullWidth:!0,wrapperClassName:`flex-1`}),(0,G.jsx)(Et,{filter:n,onFilterChange:r,categories:a,category:o,onCategoryChange:s,counts:c,totalCount:l,showCounts:u,pluginsSupported:d})]})}function Et(e){let t=Re(),[n,r]=(0,W.useState)(!1),i=(0,G.jsx)(a,{type:`button`,variant:`outlined`,iconOnly:(0,G.jsx)(He,{"aria-hidden":!0}),"aria-label":`Filter superpowers`,"aria-haspopup":t?`dialog`:`listbox`,"aria-expanded":n,tintColor:`var(--primary-base)`});if(t)return(0,G.jsx)(Dt,{...e,open:n,onOpenChange:r,trigger:i});let o=t=>{e.onFilterChange(t),r(!1)};return(0,G.jsxs)(ve.Root,{open:n,onOpenChange:r,children:[(0,G.jsx)(ve.Trigger,{asChild:!0,children:i}),(0,G.jsx)(ve.Content,{align:`end`,sideOffset:4,className:`w-44 overflow-hidden p-0`,children:(0,G.jsxs)(`ul`,{role:`listbox`,children:[(0,G.jsx)(kt,{label:`Status`,options:St,selected:e.filter,onSelect:o}),e.pluginsSupported&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}),(0,G.jsx)(kt,{label:`Type`,options:Ct,selected:e.filter,onSelect:o})]}),(0,G.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}),(0,G.jsx)(kt,{label:`Source`,options:wt,selected:e.filter,onSelect:o})]})})]})}function Dt({filter:e,onFilterChange:t,categories:n,category:r,onCategoryChange:i,counts:o,totalCount:s,showCounts:c,pluginsSupported:l,open:u,onOpenChange:d,trigger:f}){let p=[...n].sort((e,t)=>e.label.localeCompare(t.label));return(0,G.jsxs)(R.Root,{open:u,onOpenChange:d,children:[(0,G.jsx)(R.Trigger,{asChild:!0,children:f}),(0,G.jsxs)(R.Content,{className:`max-h-[85dvh]`,"aria-describedby":void 0,children:[(0,G.jsx)(`div`,{"aria-hidden":!0,className:`mx-auto mb-3 h-1 w-9 shrink-0 rounded-full bg-[var(--border-element)]`}),(0,G.jsx)(R.Header,{children:(0,G.jsx)(R.Title,{children:`Filters`})}),(0,G.jsxs)(R.Body,{className:`flex flex-col gap-3 pt-2`,children:[(0,G.jsx)(Ot,{label:`Status`,children:St.map(n=>(0,G.jsx)($,{icon:n.icon,label:n.label,active:e===n.value,onSelect:()=>t(n.value)},n.value))}),l&&(0,G.jsx)(Ot,{label:`Type`,children:Ct.map(n=>(0,G.jsx)($,{icon:n.icon,label:n.label,active:e===n.value,onSelect:()=>t(n.value)},n.value))}),(0,G.jsx)(Ot,{label:`Source`,children:wt.map(n=>(0,G.jsx)($,{icon:n.icon,label:n.label,active:e===n.value,onSelect:()=>t(n.value)},n.value))}),(0,G.jsxs)(Ot,{label:`Categories`,children:[(0,G.jsx)($,{icon:N,label:`All`,active:r===null,badge:c?s:void 0,onSelect:()=>i(null)}),p.map(e=>(0,G.jsx)($,{icon:vt(e.icon)??N,label:e.label,active:r===e.slug,badge:c?o[e.slug]??0:void 0,onSelect:()=>i(e.slug)},e.slug))]})]}),(0,G.jsx)(R.Footer,{children:(0,G.jsx)(a,{type:`button`,variant:`primary`,fullWidth:!0,onClick:()=>d(!1),children:`Done`})})]})]})}function Ot({label:e,children:t}){return(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`div`,{className:`px-2 pb-1 text-body-small-default uppercase tracking-wide`,style:{color:`var(--content-tertiary)`},children:e}),t]})}function $({icon:e,label:t,active:n,badge:r,onSelect:i}){return(0,G.jsx)(xe,{icon:e,label:t,active:n,activeVariant:`branded`,badge:r,trailingAction:n&&r==null?(0,G.jsx)(E,{className:`h-4 w-4 text-[var(--primary-base)]`,"aria-hidden":!0}):void 0,onSelect:i})}function kt({label:e,options:t,selected:n,onSelect:r}){return(0,G.jsxs)(`li`,{children:[(0,G.jsx)(`div`,{className:`px-3 pb-1 pt-2 text-body-small-default uppercase tracking-wide`,style:{color:`var(--content-tertiary)`},children:e}),(0,G.jsx)(`ul`,{children:t.map(e=>{let t=e.icon,i=n===e.value;return(0,G.jsx)(`li`,{children:(0,G.jsxs)(`button`,{type:`button`,onClick:()=>r(e.value),role:`option`,"aria-selected":i,className:`flex w-full items-center gap-2 px-3 py-1.5 text-left text-body-medium-lighter transition-colors hover:bg-[var(--surface-hover)]`,style:{color:i?`var(--primary-base)`:`var(--content-default)`},children:[(0,G.jsx)(t,{className:`h-4 w-4`,"aria-hidden":!0}),(0,G.jsx)(`span`,{className:`flex-1`,children:e.label}),i&&(0,G.jsx)(k,{className:`h-3.5 w-3.5`,"aria-hidden":!0})]})},e.value)})})]})}var At=300*1e3,jt=[],Mt=[];async function Nt(e,t,n){let r=await Ee({path:{assistant_id:e},query:{q:void 0,category:t},signal:n,throwOnError:!1});if(r.response?.status===404)return{plugins:[]};if(!r.response?.ok)throw Error(`Failed to load plugins`);return r.data??{plugins:[]}}function Pt(e,t){let[n,r]=(0,W.useState)({assistantId:e,latched:!1}),i=n.assistantId===e?n.latched:!1;return n.assistantId!==e&&r({assistantId:e,latched:!1}),(0,W.useEffect)(()=>{t&&r(t=>t.assistantId===e&&t.latched?t:{assistantId:e,latched:!0})},[e,t]),i||t}function Ft(e,t=null,n=!0){let r=t??void 0,i=u({queryKey:Pe({path:{assistant_id:e},query:{q:void 0,category:r}}),queryFn:({signal:t})=>Nt(e,r,t),enabled:!!e&&n,staleTime:At}),a=u({..._e(e),enabled:!!e&&n&&t!==null}),o=u({...Ae({path:{assistant_id:e},query:{q:void 0}}),enabled:!!e&&n,staleTime:At}),s=(0,W.useMemo)(()=>{let e=t===null?i.data?.plugins:a.data?.plugins??i.data?.plugins;return new Set((e??jt).map(e=>e.name))},[t,a.data?.plugins,i.data?.plugins]),c=(0,W.useMemo)(()=>{let e=i.data?.plugins??jt,n=o.data?.matches??Mt;return et(Qe(e,(t===null?n:n.filter(e=>(e.category??`system`)===t)).filter(e=>!s.has(e.name))))},[i.data?.plugins,o.data?.matches,t,s]),d=t===null?i.data:a.data,f=Pt(e,d?.categoryCounts!==void 0),p=Pt(e,(d?.plugins??jt).some(e=>e.enabled!==void 0)),m=l(),h=(0,W.useRef)(null);return(0,W.useEffect)(()=>{if(h.current===e||!o.isSuccess)return;let t=d?.plugins;if(!t?.length)return;let n=new Map((o.data?.matches??Mt).map(e=>[e.name,e.category]));t.some(e=>{let t=n.get(e.name);return t!=null&&t!==`system`&&(e.category??`system`)===`system`})&&(h.current=e,m.invalidateQueries({queryKey:Pe({path:{assistant_id:e},query:{q:void 0}})}))},[e,o.isSuccess,o.data?.matches,d?.plugins,m]),{items:c,isLoading:i.isLoading,catalogLoading:o.isLoading,isError:i.isError,isFetching:i.isFetching||o.isFetching,catalogError:o.isError,categorySupported:f,pluginToggleSupported:p,installedCategoryCounts:d?.categoryCounts,installedPlugins:d?.plugins??jt,installedTotal:d?.totalCount,catalogMatches:o.data?.matches??Mt,unfilteredInstalledNames:s}}function It(e){return u({...Fe({path:{assistant_id:e}}),select:e=>e.categories,staleTime:300*1e3})}var Lt=new Set([`all`,`installed`,`available`,`skills`,`plugins`,`vellum`,`clawhub`,`skillssh`,`custom`,`assistant-memory`]);function Rt(e){let t=e.get(`filter`),n=e.get(`category`);return{q:e.get(`q`)??``,filter:Vt(t)?t:`all`,category:n||null}}function zt(e,t){let n=new URLSearchParams(e);return t.q!==void 0&&Bt(n,`q`,t.q.trim()||null),t.filter!==void 0&&Bt(n,`filter`,t.filter===`all`?null:t.filter),t.category!==void 0&&Bt(n,`category`,t.category),n}function Bt(e,t,n){n===null?e.delete(t):e.set(t,n)}function Vt(e){return e!==null&&Lt.has(e)}function Ht(e){switch(e){case`installed`:return{kind:`installed`};case`available`:return{kind:`available`};case`vellum`:case`clawhub`:case`skillssh`:case`custom`:case`assistant-memory`:return{origin:e};default:return{}}}function Ut(e){return e!==`plugins`}function Wt(e){return e===`all`||e===`installed`||e===`available`||e===`plugins`}function Gt(e){switch(e){case`installed`:return`installed`;case`available`:return`available`;default:return`all`}}function Kt(e,t){let[n,r]=(0,W.useState)(e);return(0,W.useEffect)(()=>{let n=setTimeout(()=>{r(e)},t);return()=>clearTimeout(n)},[e,t]),n}var qt=300,Jt=`vellum:superpowers:tipDismissed`;function Yt(e){return[...e].sort((e,t)=>e.installed===t.installed?e.name.localeCompare(t.name,void 0,{sensitivity:`base`}):e.installed?-1:1)}function Xt({assistantId:e}){let r=c(),i=o(),a=l(),d=Re(),f=Ie.use.version(),p=ze(),[m,h]=s(),{q:g,filter:_,category:y}=(0,W.useMemo)(()=>Rt(m),[m]),b=m.get(`plugin`),x=(0,W.useCallback)(e=>{h(t=>zt(t,e),{replace:!0})},[h]),S=m.get(`success`),C=(0,W.useRef)(!1);(0,W.useEffect)(()=>{S!==`true`||C.current||(C.current=!0,b&&z.success(`Installed ${b}`),h(e=>{let t=new URLSearchParams(e);return t.delete(`success`),t},{replace:!0}))},[S,b,h]);let[w,T]=(0,W.useState)(g),E=Kt(w.trim(),qt),D=(0,W.useRef)(g);(0,W.useEffect)(()=>{if(g!==D.current&&(D.current=g,g!==w.trim())){T(g);return}E!==g&&E===w.trim()&&(D.current=E,x({q:E}))},[E,g,w,x]);let O=(0,W.useCallback)(e=>x({filter:e}),[x]),k=(0,W.useCallback)(e=>x({category:e}),[x]),[ne,re]=(0,W.useState)(()=>n(Jt,!1)),ie=(0,W.useCallback)(()=>{re(!0),t(Jt,!0)},[]),A=!p&&_===`plugins`?`all`:_,j=Ut(A),ae=p&&Wt(A),M=Gt(A),{handleInstall:N,handleRemove:oe,isInstallingSkill:P,isRemovingSkill:se,skillPendingRemoval:ce,confirmRemove:le,cancelRemove:ue}=ee(e),{data:de=[]}=It(e),{origin:fe,kind:pe}=(0,W.useMemo)(()=>Ht(A),[A]),F=u({...De({path:{assistant_id:e},query:{include:`catalog`,origin:fe,kind:pe,q:E||void 0,category:y??void 0}}),select:e=>({skills:e.skills,categoryCounts:e.categoryCounts,totalCount:e.totalCount}),enabled:!!e&&j}),me=u({...De({path:{assistant_id:e},query:{include:`catalog`,origin:fe,kind:pe,q:E||void 0}}),select:e=>({skills:e.skills,categoryCounts:e.categoryCounts,totalCount:e.totalCount}),enabled:!!e&&j&&y!==null}),{items:he,isLoading:ge,catalogLoading:I,isError:_e,isFetching:L,catalogError:ve,categorySupported:ye,installedCategoryCounts:be,installedPlugins:R,installedTotal:xe,catalogMatches:Ce,unfilteredInstalledNames:we}=Ft(e,y,p),B=ae&&(y===null||ye),Te=(0,W.useCallback)(t=>te(a,e,t),[e,a]),[Ee,ke]=(0,W.useState)(null),[Ae,Ne]=(0,W.useState)(null),[Pe,Fe]=(0,W.useState)(null),[V,H]=(0,W.useState)(null),[U,Be]=(0,W.useState)(null),He=Oe({onMutate:e=>ke(e.body.name),onSuccess:(e,t)=>z.success(`Installed ${t.body.name}`),onError:()=>z.error(Je),onSettled:(e,t,n)=>{ke(null),Te(n.body.name)}}),Ue=Me({onMutate:e=>Ne(e.path.name),onSuccess:(e,t)=>z.success(`Removed ${t.path.name}`),onError:()=>z.error(Ye),onSettled:(e,t,n)=>{Ne(null),Te(n.path.name)}}),We=je({onMutate:e=>Fe(e.path.name),onSuccess:(e,t)=>z.success(e.outcome===`already-up-to-date`?`${t.path.name} is already up to date`:`Upgraded ${t.path.name} to ${nt(e.toCommit)}`),onError:()=>z.error(Xe),onSettled:(e,t,n)=>{Fe(null),Te(n.path.name)}}),K=(0,W.useCallback)(e=>h(t=>{let n=new URLSearchParams(t);return n.set(`plugin`,e.name),n}),[h]),Ze=(0,W.useCallback)(()=>h(e=>{let t=new URLSearchParams(e);return t.delete(`plugin`),t},{replace:!0}),[h]),Qe=(0,W.useCallback)(t=>{He.mutate({path:{assistant_id:e},body:{name:t.name}})},[e,He]),et=(0,W.useCallback)(()=>{V&&(Ue.mutate({path:{assistant_id:e,name:V.name}}),H(null))},[e,V,Ue]),q=(0,W.useCallback)(t=>{We.mutate({path:{assistant_id:e,name:t},body:{}})},[e,We]),rt=(0,W.useCallback)(()=>{U&&(q(U.name),Be(null))},[U,q]),it=(0,W.useCallback)((e,t)=>{if(ct(t)){Be(e);return}q(e.name)},[q]),J=(0,W.useMemo)(()=>j?F.data?.skills??[]:[],[j,F.data?.skills]),at=(0,W.useMemo)(()=>B?tt(he,M).filter(e=>$e(e,E)):[],[B,he,M,E]),ot=(0,W.useMemo)(()=>Yt([...J.map(e=>({type:`skill`,key:`skill:${e.id}`,name:e.name,installed:v(e),skill:e})),...at.map(e=>({type:`plugin`,key:`plugin:${e.name}`,name:e.name,installed:e.status===`installed`,item:e}))]),[J,at]),Y=y===null?F.data:me.data,st=Zt(j,Y?.skills??J,Y?.categoryCounts,Y?.totalCount),X=Qt(ae&&ye,be,R,xe,Ce,we,M),{counts:lt,totalCount:ut}=(0,W.useMemo)(()=>{let e={...st.counts};for(let[t,n]of Object.entries(X.counts))e[t]=(e[t]??0)+n;return{counts:e,totalCount:st.totalCount+X.totalCount}},[st,X]),dt=j&&F.isLoading,Z=j&&F.isError,ft=B&&ge,Q=B&&_e,mt=(Z||!j)&&(Q||!B)&&(Z||Q),_t=dt||ft,vt=!!E&&(j&&F.isFetching||B&&L&&!ge),bt=w.trim().length>0;if(b&&!p&&f===null)return null;if(b&&p){let t=he.find(e=>e.name===b),n={assistantId:e,name:b,externalHint:t?.external,enabled:t?.enabled,onBack:Ze};return d?(0,G.jsx)(ht,{...n}):(0,G.jsx)(pt,{...n})}let St=(0,G.jsx)(`div`,{className:`min-w-0 flex-1 overflow-y-auto`,children:_t?(0,G.jsx)(nn,{}):mt?(0,G.jsx)(rn,{}):ot.length===0?B&&I&&M!==`installed`?(0,G.jsx)(nn,{}):(0,G.jsx)(an,{filter:A,category:y}):(0,G.jsx)(`ul`,{className:`flex flex-col gap-2`,children:ot.map(t=>(0,G.jsx)(`li`,{children:t.type===`skill`?(0,G.jsx)(xt,{skill:t.skill,onSelect:()=>r(Le.skills.detail(t.skill.id),{state:{listSearch:i.search}}),onInstall:()=>N(t.skill),onRemove:()=>oe(t.skill),isInstalling:P(t.skill),isRemoving:se(t.skill)}):t.installed?(0,G.jsx)($t,{assistantId:e,item:t.item,onSelect:()=>K(t.item),onRemove:()=>H(t.item),onUpgrade:e=>it(t.item,e),isRemoving:Ae===t.item.name,isUpgrading:Pe===t.item.name}):(0,G.jsx)(gt,{assistantId:e,item:t.item,onSelect:()=>K(t.item),onInstall:()=>Qe(t.item),isInstalling:Ee===t.item.name})},t.key))})});return(0,G.jsxs)(`div`,{className:`flex h-full min-h-0 flex-1 flex-col gap-4`,children:[!ne&&(0,G.jsx)(en,{onDismiss:ie}),(0,G.jsx)(Tt,{search:w,onSearchChange:T,filter:A,onFilterChange:O,isSearching:vt,categories:de,category:y,onCategoryChange:k,counts:lt,totalCount:ut,showCounts:!bt,pluginsSupported:p}),!_t&&!mt&&Z?(0,G.jsx)(tn,{text:`Skills are temporarily unavailable. Plugins are still listed below.`}):null,!_t&&!mt&&Q?(0,G.jsx)(tn,{text:`Plugins are temporarily unavailable. Skills are still listed below.`}):null,B&&ve&&!ft&&!Q?(0,G.jsx)(tn,{text:`Plugin catalog browsing is temporarily unavailable. Installed plugins are still listed below.`}):null,(0,G.jsxs)(`div`,{className:`flex min-h-0 flex-1 gap-6`,children:[(0,G.jsx)(`aside`,{className:`hidden w-56 shrink-0 overflow-y-auto sm:block`,children:(0,G.jsx)(yt,{ariaLabel:`Superpower categories`,selected:y,onSelect:k,counts:lt,totalCount:ut,showCounts:!bt,categories:de})}),St]}),(0,G.jsx)(Ve,{skillName:ce?.name??null,onConfirm:le,onCancel:ue}),(0,G.jsx)(Se,{open:V!==null,title:`Remove plugin`,message:V?Ge(V.name):``,confirmLabel:`Remove`,destructive:!0,onConfirm:et,onCancel:()=>H(null)}),(0,G.jsx)(Se,{open:U!==null,title:`Upgrade plugin`,message:U?Ke(U.name):``,confirmLabel:qe,destructive:!0,onConfirm:rt,onCancel:()=>Be(null)})]})}function Zt(e,t,n,r){return(0,W.useMemo)(()=>{if(!e)return{counts:{},totalCount:0};if(n&&Object.keys(n).length>0)return{counts:n,totalCount:r??t.length};let i={};for(let e of t){let t=e.category??`system`;i[t]=(i[t]??0)+1}return{counts:i,totalCount:r??t.length}},[e,t,n,r])}function Qt(e,t,n,r,i,a,o){return(0,W.useMemo)(()=>{if(!e)return{counts:{},totalCount:0};let s={},c=o!==`available`,l=o===`all`||o===`available`;if(c)if(t&&Object.keys(t).length>0)Object.assign(s,t);else for(let e of n){let t=e.category??`system`;s[t]=(s[t]??0)+1}let u=0;if(l)for(let e of i){if(a.has(e.name))continue;let t=e.category??`system`;s[t]=(s[t]??0)+1,u+=1}let d=r??n.length;return{counts:s,totalCount:(c?d:0)+u}},[e,t,n,r,i,a,o])}function $t({assistantId:e,item:t,onSelect:n,onRemove:r,onUpgrade:i,isRemoving:a,isUpgrading:o}){let s=X({assistantId:e,name:t.name}).data;return(0,G.jsx)(gt,{assistantId:e,item:t,drift:s,onSelect:n,onRemove:r,onUpgrade:()=>i(s),isRemoving:a,isUpgrading:o})}function en({onDismiss:e}){return(0,G.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg px-4 py-2.5 text-body-small-default`,style:{backgroundColor:`var(--surface-base)`,color:`var(--content-secondary)`},children:[(0,G.jsx)(fe,{className:`h-4 w-4 shrink-0`,style:{color:`var(--primary-base)`}}),(0,G.jsx)(`p`,{className:`flex-1`,children:`Create a new custom skill by describing what you want in chat, or install plugins to extend your assistant.`}),(0,G.jsx)(a,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:(0,G.jsx)(ge,{"aria-hidden":!0}),onClick:e,"aria-label":`Dismiss tip`,tintColor:`var(--content-tertiary)`,expandOnMobile:!1})]})}function tn({text:e}){return(0,G.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg px-4 py-2.5 text-body-small-default`,style:{backgroundColor:`var(--surface-base)`,color:`var(--content-secondary)`},children:[(0,G.jsx)(ne,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`},"aria-hidden":!0}),(0,G.jsx)(`p`,{className:`flex-1`,children:e})]})}function nn(){return(0,G.jsx)(`div`,{className:`flex items-center justify-center py-16`,children:(0,G.jsx)(P,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})})}function rn(){return(0,G.jsx)(p.Root,{children:(0,G.jsxs)(p.Body,{className:`flex flex-col items-center justify-center py-16 text-center`,children:[(0,G.jsx)(me,{className:`mb-3 h-8 w-8`,style:{color:`var(--system-danger)`},"aria-hidden":!0}),(0,G.jsx)(`h3`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:`Failed to load superpowers`}),(0,G.jsx)(`p`,{className:`mt-1 max-w-sm text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Something went wrong. Try refreshing the page.`})]})})}function an({filter:e,category:t}){let{title:n,subtitle:r,Icon:i}=on(e,t);return(0,G.jsx)(y,{icon:i,title:n,subtitle:r})}function on(e,t){if(t)return{title:`Nothing in this category`,subtitle:`Try selecting a different category or clearing the filter.`,Icon:N};switch(e){case`installed`:return{title:`No Superpowers Installed`,subtitle:`Ask your assistant in chat to search for and install new skills and plugins.`,Icon:I};case`available`:return{title:`Nothing Left to Install`,subtitle:`All available skills and plugins are installed.`,Icon:k};case`skills`:return{title:`No Skills Found`,subtitle:`Ask your assistant in chat to search for and install new skills.`,Icon:I};case`plugins`:return{title:`No Plugins Found`,subtitle:`Browse the catalog to install plugins that extend your assistant.`,Icon:ue};case`vellum`:return{title:`No Vellum Skills`,subtitle:`No bundled Vellum skills found.`,Icon:I};case`clawhub`:return{title:`No Clawhub Skills`,subtitle:`No Clawhub skills found. Try searching the catalog.`,Icon:I};case`skillssh`:return{title:`No skills.sh Skills`,subtitle:`No skills.sh skills found. Try searching the catalog.`,Icon:I};case`custom`:return{title:`No Custom Skills`,subtitle:`Create a custom skill by describing what you want in chat.`,Icon:I};case`assistant-memory`:return{title:`No Skills From Memory`,subtitle:`Skills your assistant authors from past conversations will appear here.`,Icon:I};default:return{title:`No Superpowers Available`,subtitle:`Check your connection to the Vellum catalog.`,Icon:ne}}}function sn(){return(0,G.jsx)(Xt,{assistantId:U()})}export{sn as SuperpowersPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{n}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as r}from"./useInfiniteQuery-Dk8q0n49.js";import{t as i}from"./jsx-runtime-D3ZM-ToX.js";import{t as a}from"./chevron-down-B5A-0g8A.js";import{t as o}from"./circle-check-big-DSsDH5_6.js";import{t as s}from"./circle-x-17dBxF06.js";import{t as c}from"./clock-BYTc0Ds9.js";import{t as l}from"./loader-circle-XREx3i4W.js";import{t as u}from"./triangle-alert-CQfiAg_t.js";import{t as d}from"./notice-BMK7xqUw.js";import"./src-te3YTBG-.js";import{t as f}from"./tag-NXcyiTkK.js";import{u as p}from"./routes-D9sNqB_o.js";import{i as m,t as h}from"./use-platform-gate-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{n}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as r}from"./useInfiniteQuery-Dk8q0n49.js";import{t as i}from"./jsx-runtime-D3ZM-ToX.js";import{t as a}from"./chevron-down-B5A-0g8A.js";import{t as o}from"./circle-check-big-DSsDH5_6.js";import{t as s}from"./circle-x-17dBxF06.js";import{t as c}from"./clock-BYTc0Ds9.js";import{t as l}from"./loader-circle-XREx3i4W.js";import{t as u}from"./triangle-alert-CQfiAg_t.js";import{t as d}from"./notice-BMK7xqUw.js";import"./src-te3YTBG-.js";import{t as f}from"./tag-NXcyiTkK.js";import{u as p}from"./routes-D9sNqB_o.js";import{i as m,t as h}from"./use-platform-gate-C65D14xY.js";import{M as g}from"./react-query.gen-BC3STDmV.js";import{t as _}from"./platform-login-notice-CdYiKsE8.js";import{t as v}from"./use-active-assistant-id-CldxA_-M.js";var y=e(t(),1),b=i();function x(e){switch(e){case`lifecycle`:return`Lifecycle`;case`upgrade`:return`Upgrade`;case`rollback`:return`Rollback`;case`crash`:return`Crash`;case`idle_sleep`:return`Idle Sleep`;case`wake`:return`Wake`;case`profiler`:return`Profiler`;case`other`:return`Other`;default:return e}}function S(e){switch(e){case`started`:return`Started`;case`succeeded`:return`Succeeded`;case`failed`:return`Failed`;case`in_progress`:return`In Progress`;default:return e}}function C(e){return e===`succeeded`}function w(e){return e===`failed`}function T(e){return new Date(e).toLocaleString(void 0,{year:`numeric`,month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`})}function E(e){if(e.type!==`idle_sleep`)return!1;let t=e.details?.idle_timeout_seconds;return typeof t==`number`&&t>=21600}function D(e,t){switch(e){case`wake`:return`positive`;case`rollback`:return`warning`;case`crash`:return`negative`;case`idle_sleep`:return t&&E(t)?`warning`:`neutral`;default:return`neutral`}}function O({type:e,event:t}){return(0,b.jsx)(f,{tone:D(e,t),children:x(e)})}function k({status:e}){let t=S(e);return C(e)?(0,b.jsx)(f,{tone:`positive`,leftIcon:(0,b.jsx)(o,{}),children:t}):w(e)?(0,b.jsx)(f,{tone:`negative`,leftIcon:(0,b.jsx)(s,{}),children:t}):(0,b.jsx)(f,{tone:`neutral`,children:t})}function A({event:e}){let[t,n]=(0,y.useState)(!1),r=e.details!==null&&e.details!==void 0&&Object.keys(e.details).length>0;return(0,b.jsxs)(`div`,{className:`rounded-xl border p-4`,style:{background:`var(--surface-lift)`,borderColor:`var(--border-base)`},children:[(0,b.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row sm:items-start sm:justify-between`,children:[(0,b.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-1.5`,children:[(0,b.jsx)(`p`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:e.display_text}),(0,b.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5`,children:[(0,b.jsx)(O,{type:e.type,event:e}),(0,b.jsx)(k,{status:e.event_status}),E(e)&&(0,b.jsx)(f,{tone:`warning`,leftIcon:(0,b.jsx)(u,{className:`h-3 w-3`}),children:`Long sleep`})]})]}),(0,b.jsxs)(`div`,{className:`text-body-small-default flex shrink-0 items-center gap-1.5`,style:{color:`var(--content-tertiary)`},children:[(0,b.jsx)(c,{className:`h-3 w-3`}),(0,b.jsx)(`span`,{children:T(e.occurred_at)})]})]}),r&&(0,b.jsxs)(`div`,{className:`mt-2`,children:[(0,b.jsxs)(`button`,{type:`button`,onClick:()=>n(e=>!e),className:`text-body-small-default flex items-center gap-1`,style:{color:`var(--content-tertiary)`},children:[(0,b.jsx)(a,{className:`h-3 w-3 transition-transform ${t?`rotate-180`:``}`}),t?`Hide details`:`Show details`]}),t&&(0,b.jsx)(`pre`,{className:`mt-2 overflow-x-auto rounded-md p-3 text-body-small-default`,style:{background:`var(--surface-base)`,color:`var(--content-default)`},children:JSON.stringify(e.details,null,2)})]})]})}function j({assistantId:e}){let{data:t,isLoading:n,isError:i,isFetchingNextPage:a,hasNextPage:o,fetchNextPage:s}=r({...g({path:{assistant_id:e}}),initialPageParam:0,getNextPageParam:(e,t)=>{if(e.next)return t.reduce((e,t)=>e+t.results.length,0)}}),c=t?.pages.flatMap(e=>e.results)??[];return(0,b.jsxs)(`div`,{className:`space-y-4`,children:[(0,b.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Lifecycle events for your assistant from the last 30 days, newest first.`}),n?(0,b.jsxs)(`div`,{className:`text-body-medium-lighter flex items-center gap-2`,style:{color:`var(--content-tertiary)`},children:[(0,b.jsx)(l,{className:`h-4 w-4 animate-spin`}),`Loading system events...`]}):i?(0,b.jsxs)(`div`,{className:`text-body-medium-lighter flex items-center gap-2`,style:{color:`var(--system-negative-strong)`},children:[(0,b.jsx)(u,{className:`h-4 w-4 shrink-0`}),`Failed to load system events. Please refresh and try again.`]}):c.length===0?(0,b.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`No system events recorded in the last 30 days.`}):(0,b.jsxs)(`div`,{className:`space-y-2`,children:[c.map(e=>(0,b.jsx)(A,{event:e},e.id)),o&&(0,b.jsx)(`div`,{className:`pt-2 text-center`,children:(0,b.jsx)(`button`,{type:`button`,onClick:()=>s(),disabled:a,className:`text-body-medium-default flex w-full items-center justify-center gap-2 rounded-md border px-4 py-2 transition-colors disabled:cursor-not-allowed disabled:opacity-50`,style:{borderColor:`var(--border-element)`,color:`var(--content-secondary)`},children:a?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(l,{className:`h-4 w-4 animate-spin`}),`Loading older events...`]}):`Load older events`})})]})]})}function M(){let e=m({platformHostedOnly:!0}),t=h(),r=v();return e===`gated`?(0,b.jsx)(n,{replace:!0,to:p.logs.root}):e===`disabled`?(0,b.jsx)(_,{children:`Log in to the Vellum platform to view system events.`}):t?(0,b.jsx)(j,{assistantId:r}):(0,b.jsx)(d,{tone:`warning`,children:`System events aren't available for the current assistant.`})}export{M as SystemEventsPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-Dy5001j6.js";import{f as r,m as i}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as a}from"./jsx-runtime-D3ZM-ToX.js";import{t as o}from"./card-DRIctGVs.js";import"./src-te3YTBG-.js";import{n as s,t as c}from"./input-hw3el2GJ.js";import{t as l}from"./use-app-theme-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-Dy5001j6.js";import{f as r,m as i}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as a}from"./jsx-runtime-D3ZM-ToX.js";import{t as o}from"./card-DRIctGVs.js";import"./src-te3YTBG-.js";import{n as s,t as c}from"./input-hw3el2GJ.js";import{t as l}from"./use-app-theme-Dg8A6vPA.js";import{t as u}from"./workspace-theme-tokens-DNNwX-XS.js";var d=e(t(),1),f=a(),p=`__THEME_STAGE_READY__`;function m(e){return e===`chat`?`chat`:`sampler`}function h(e){if(e)try{let t=JSON.parse(e);if(typeof t!=`object`||!t||Array.isArray(t))return;let n={};for(let[e,r]of Object.entries(t))typeof r==`string`&&(n[e]=r);return n}catch{return}}var g=`w-[720px]`;function _({children:e}){return(0,f.jsx)(`div`,{className:`text-xs font-medium uppercase tracking-wide text-[var(--content-tertiary)]`,children:e})}function v(){return(0,f.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,f.jsx)(_,{children:`Text`}),(0,f.jsx)(`div`,{className:`text-[15px] text-[var(--content-default)]`,children:`Primary text — the main reading surface of the app.`}),(0,f.jsx)(`div`,{className:`text-[15px] text-[var(--content-secondary)]`,children:`Secondary text — supporting copy and descriptions.`}),(0,f.jsx)(`div`,{className:`text-sm text-[var(--content-tertiary)]`,children:`Tertiary text — captions, labels, and placeholders.`}),(0,f.jsx)(`div`,{className:`text-sm text-[var(--content-quiet)]`,children:`Quiet text — metadata and timestamps.`}),(0,f.jsx)(`div`,{className:`text-sm text-[var(--content-faint)]`,children:`Faint text — the last legible step of the ramp.`})]})}function y(){return(0,f.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,f.jsx)(_,{children:`Buttons`}),(0,f.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,f.jsx)(n,{children:`Primary`}),(0,f.jsx)(n,{variant:`outlined`,children:`Secondary`}),(0,f.jsx)(n,{disabled:!0,children:`Disabled`})]})]})}function b(){return(0,f.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,f.jsx)(_,{children:`Accent`}),(0,f.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,f.jsx)(`div`,{className:`rounded-md bg-[var(--primary-base)] px-4 py-2 text-sm font-medium text-[var(--content-inset)]`,children:`Accent fill`}),(0,f.jsx)(`div`,{className:`rounded-md border border-[var(--border-active)] px-4 py-2 text-sm text-[var(--content-default)]`,children:`Active border`}),(0,f.jsx)(`div`,{className:`h-6 w-6 rounded-full bg-[var(--primary-hover)]`}),(0,f.jsx)(`div`,{className:`h-6 w-6 rounded-full bg-[var(--primary-active)]`})]})]})}function x(){return(0,f.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,f.jsx)(_,{children:`Surfaces and borders`}),(0,f.jsx)(o,{elevated:!0,children:(0,f.jsxs)(`div`,{className:`flex flex-col gap-2 p-4`,children:[(0,f.jsx)(`div`,{className:`text-[15px] font-medium text-[var(--content-default)]`,children:`Raised card`}),(0,f.jsx)(`div`,{className:`text-sm text-[var(--content-secondary)]`,children:`Elevated surfaces sit above panels and the page background.`}),(0,f.jsx)(`div`,{className:`border-t border-[var(--border-subtle)] pt-2 text-sm text-[var(--content-tertiary)]`,children:`Subtle divider above this line.`})]})}),(0,f.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,f.jsx)(`div`,{className:`rounded-md border border-[var(--border-base)] bg-[var(--surface-overlay)] px-3 py-2 text-sm text-[var(--content-secondary)]`,children:`Overlay surface`}),(0,f.jsx)(`div`,{className:`rounded-md border border-[var(--border-element)] bg-[var(--surface-active)] px-3 py-2 text-sm text-[var(--content-secondary)]`,children:`Active surface`})]})]})}function S(){return(0,f.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,f.jsx)(_,{children:`Inputs`}),(0,f.jsx)(c,{fullWidth:!0,placeholder:`A placeholder in an empty field`,readOnly:!0}),(0,f.jsx)(s,{fullWidth:!0,readOnly:!0,rows:2,value:`Text someone has already typed into a field.`})]})}function C({children:e}){return(0,f.jsx)(`div`,{className:`group/msg flex justify-end`,children:(0,f.jsx)(`div`,{className:`flex w-full min-w-0 flex-col gap-2 items-end`,children:(0,f.jsx)(`div`,{className:`max-w-[80%] rounded-lg bg-[var(--user-bubble-bg,var(--surface-lift))] px-4 py-3 text-[var(--user-bubble-text,var(--content-default))] flex flex-col gap-2`,children:(0,f.jsx)(`div`,{className:`break-words text-[15px]`,children:e})})})})}function w({children:e}){return(0,f.jsx)(`div`,{className:`group/msg flex justify-start`,children:(0,f.jsx)(`div`,{className:`flex w-full min-w-0 flex-col gap-2 items-start`,children:(0,f.jsx)(`div`,{className:`w-full text-[var(--content-default)]`,children:(0,f.jsx)(`div`,{className:`break-words text-[15px] w-full`,children:e})})})})}function T(){return(0,f.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,f.jsx)(_,{children:`Messages`}),(0,f.jsx)(C,{children:`A message from the user, in its bubble.`}),(0,f.jsx)(w,{children:`A reply from the assistant, rendered full-width on the page surface.`})]})}function E(){return(0,f.jsxs)(`div`,{"data-testid":`theme-stage-sampler`,className:`${g} flex min-h-[1080px] flex-col gap-6 bg-[var(--background)] p-8`,children:[(0,f.jsx)(`div`,{className:`text-lg font-semibold text-[var(--content-default)]`,children:`Theme sampler`}),(0,f.jsx)(v,{}),(0,f.jsx)(b,{}),(0,f.jsx)(y,{}),(0,f.jsx)(x,{}),(0,f.jsx)(S,{}),(0,f.jsx)(T,{})]})}function D(){return(0,f.jsxs)(`div`,{"data-testid":`theme-stage-chat`,className:`${g} flex h-[760px] flex-col bg-[var(--background)]`,children:[(0,f.jsx)(`div`,{className:`flex items-center border-b border-[var(--border-base)] bg-[var(--surface-overlay)] px-5 py-3`,children:(0,f.jsx)(`div`,{className:`text-[15px] font-medium text-[var(--content-default)]`,children:`New conversation`})}),(0,f.jsxs)(`div`,{className:`flex flex-1 flex-col justify-end gap-4 overflow-hidden px-5 py-4`,children:[(0,f.jsx)(C,{children:`Can you summarize the quarterly report before tomorrow's meeting?`}),(0,f.jsx)(w,{children:`Done — the summary is ready. Revenue grew steadily, the two flagged risks from last quarter are resolved, and I pulled the three charts worth showing into a separate page.`}),(0,f.jsx)(C,{children:`Perfect. Send it to the team in the morning.`}),(0,f.jsx)(w,{children:`Scheduled for 9am. I'll include the charts and a one-paragraph version for anyone skimming on their phone.`})]}),(0,f.jsxs)(`div`,{className:`flex items-end gap-2 border-t border-[var(--border-base)] px-5 py-4`,children:[(0,f.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,f.jsx)(s,{fullWidth:!0,readOnly:!0,rows:1,placeholder:`Message your assistant`})}),(0,f.jsx)(n,{children:`Send`})]})]})}function O(){let e=r(),[t]=i(),n=m(e.view),a=t.get(`tokens`),o=(0,d.useMemo)(()=>h(a),[a]);return l(),(0,d.useEffect)(()=>(u(o),()=>{u(void 0)}),[o]),(0,d.useEffect)(()=>{let e=!1;return document.title=`theme-stage`,(document.fonts?.ready??Promise.resolve()).then(()=>{requestAnimationFrame(()=>{requestAnimationFrame(()=>{e||(document.title=p)})})}),()=>{e=!0}},[n,o]),(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(`style`,{children:`* { transition: none !important; animation: none !important; caret-color: transparent !important; } html, body { background: var(--background); }`}),n===`chat`?(0,f.jsx)(D,{}):(0,f.jsx)(E,{})]})}export{O as ThemeStagePage};
|
|
@@ -1,2 +1,2 @@
|
|
|
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{H as i,S as a,_t as o,a as s,b as c,gt as l,h as u,ht as d,i as f,l as p,vt as m}from"./risk-
|
|
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{H as i,S as a,_t as o,a as s,b as c,gt as l,h as u,ht as d,i as f,l as p,vt as m}from"./risk-CdT92Vqr.js";import{t as h}from"./brain-BIzJCPA6.js";import{t as g}from"./check-sC49_hjU.js";import{t as _}from"./code-qafFA0_-.js";import{o as v}from"./list-row-B1wPb2Au.js";import{t as y}from"./file-text-Br730Q4B.js";import{t as b}from"./globe-CMtjL_s_.js";import{t as x}from"./monitor-B1y28fS1.js";import{t as S}from"./sparkles-Ccrj7hxd.js";import{t as C}from"./user-plus-oiIr9ey8.js";import"./src-te3YTBG-.js";import{t as w}from"./chat-markdown-message-rxPKNeTx.js";import{D as T}from"./chat-CDFCY8f0.js";import{t as E}from"./misc-CuYswARt.js";import{t as D}from"./detail-shell-Cyqr5FXJ.js";var O=e(t(),1),k=n();function A({level:e,className:t,onClick:n}){if(!e)return null;let{bg:i,text:a,label:o}=f(e),s=E(`inline-flex items-center justify-center rounded-[100px] px-[6px] pt-[2px] pb-[3px]`,i,t);return n?(0,k.jsx)(`button`,{type:`button`,"data-testid":`risk-badge`,"data-risk-level":e,className:E(s,`cursor-pointer hover:opacity-80`),onClick:e=>{e.stopPropagation(),n()},children:(0,k.jsx)(r,{variant:`label-medium-default`,className:a,children:o})}):(0,k.jsx)(`span`,{"data-testid":`risk-badge`,"data-risk-level":e,className:s,children:(0,k.jsx)(r,{variant:`label-medium-default`,className:a,children:o})})}function j(e,t,n){let r=a();return(0,O.useMemo)(()=>{if(!e||t==null)return null;let a=r.find(t=>i(t).includes(e));if(!a)return null;let o=p(a.contentBlocks??[],{splitInlineThinking:a.role!==`user`})[t];if(!o||o.type!==`activity`)return null;let s=o.items.flatMap(e=>e.type===`thinking`&&e.thinking?[e.thinking]:[]);return n==null?s.join(`
|
|
2
2
|
`):s[n]??null},[r,e,t,n])}function M(e){let t=a();return(0,O.useMemo)(()=>{if(!e)return null;for(let n of t){let t=n.toolCalls?.find(t=>t.id===e);if(t)return t}return null},[t,e])}var N={code:_,terminal:d,file:y,globe:b,pen:o,monitor:x,plug:l,sparkle:S,"user-plus":C,bolt:m,brain:h},P=1500;function F({text:e}){let[t,n]=(0,O.useState)(!1),r=(0,O.useRef)(null);return(0,O.useEffect)(()=>()=>{r.current&&clearTimeout(r.current)},[]),(0,k.jsxs)(`button`,{type:`button`,onClick:()=>{navigator.clipboard.writeText(e),n(!0),r.current&&clearTimeout(r.current),r.current=setTimeout(()=>n(!1),P)},"aria-label":t?`Copied`:`Copy`,className:`absolute right-2 top-2 flex items-center gap-1 rounded p-1 text-label-small-default text-[var(--content-tertiary)] transition-colors hover:bg-[var(--ghost-hover)] hover:text-[var(--content-default)]`,children:[t?(0,k.jsx)(g,{className:`h-3.5 w-3.5`}):(0,k.jsx)(v,{className:`h-3.5 w-3.5`}),t?`Copied`:null]})}function I({text:e}){return(0,k.jsxs)(`div`,{className:`relative`,children:[(0,k.jsx)(`pre`,{className:`rounded-lg border border-[var(--border-base)] bg-[var(--surface-overlay)] p-3 font-mono text-xs whitespace-pre-wrap break-words text-[var(--content-default)]`,children:e}),(0,k.jsx)(F,{text:e})]})}function L({children:e,className:t=`mb-1.5`}){return(0,k.jsx)(r,{variant:`label-small-default`,as:`div`,className:`uppercase tracking-wider text-[var(--content-tertiary)] ${t}`,children:e})}function R({detail:e,onClose:t}){let n=j(e.messageId,e.thinkingGroupIndex,e.thinkingItemIndex);return(0,k.jsx)(D,{Glyph:h,title:e.title,closeLabel:`Close tool details`,onClose:t,children:(0,k.jsx)(w,{content:n??e.thinkingText??``,hardLineBreaks:!0})})}function z({detail:e}){let t=M(e.toolCallId),n=t?.result??e.result,i=t?.streamedOutput??e.streamedOutput,a=n!==void 0&&n!==``,o=t?T(t):e.status===`running`,l=!!i,u=JSON.stringify(e.input,null,2),d=t?.riskLevel??e.riskLevel,f=s(d);return(0,k.jsxs)(k.Fragment,{children:[d&&(0,k.jsxs)(`div`,{className:`mb-5`,children:[(0,k.jsx)(L,{children:`Risk Level`}),(0,k.jsxs)(`div`,{className:`rounded-lg border border-[var(--border-base)] bg-[var(--surface-overlay)] p-3`,children:[(0,k.jsx)(A,{level:d}),f&&(0,k.jsx)(r,{variant:`body-small-default`,as:`p`,className:`mt-1.5 text-[var(--content-secondary)]`,children:f})]})]}),(0,k.jsxs)(`div`,{children:[(0,k.jsx)(r,{variant:`body-medium-default`,as:`div`,className:`text-[var(--content-default)]`,children:c(e.toolName)}),e.activity&&(0,k.jsx)(r,{variant:`body-small-default`,as:`p`,className:`mt-0.5 text-[var(--content-secondary)]`,children:e.activity}),(0,k.jsx)(`div`,{className:`mt-2`,children:(0,k.jsx)(I,{text:u})})]}),(a||o)&&(0,k.jsxs)(`div`,{className:`mt-5`,children:[(0,k.jsx)(L,{children:`Output`}),a?(0,k.jsx)(I,{text:n}):l?(0,k.jsx)(I,{text:i}):(0,k.jsx)(r,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:`Running…`})]})]})}function B({detail:e,onClose:t}){if(e.kind===`thinking`)return(0,k.jsx)(R,{detail:e,onClose:t});let{iconName:n}=u(e.toolName,e.input);return(0,k.jsx)(D,{Glyph:N[n]??m,title:e.activity||e.title,closeLabel:`Close tool details`,onClose:t,children:(0,k.jsx)(z,{detail:e})})}export{I as CodeBlock,L as SectionLabel,z as ToolDetailBody,B as ToolDetailPanel,j 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{t as r}from"./preload-helper-Cv2QeVDK.js";import{t as i}from"./jsx-runtime-D3ZM-ToX.js";import{t as a}from"./cn-CJf7MmLX.js";import{t as o}from"./typography-DEI9Ra9z.js";import{t as s}from"./createLucideIcon-CAM1RhH8.js";import{_ as c,d as l,f as u,g as d,m as f,n as p,ot as m,p as h,r as g,s as ee,t as _,u as v,v as y,w as b,x,y as S}from"./risk-DmicWnoH.js";import{t as C}from"./brain-BIzJCPA6.js";import{t as w}from"./chevron-down-B5A-0g8A.js";import{t as T}from"./chevron-right-HU6H84S0.js";import{t as E}from"./chevron-up-2Qqarz0p.js";import{t as D}from"./circle-alert-DVCpoZrc.js";import{t as O}from"./circle-check-CjGnAahM.js";import{t as k}from"./circle-x-17dBxF06.js";import{t as A}from"./file-plus-C3SBA8ll.js";import{t as j}from"./file-text-Br730Q4B.js";import{t as M}from"./globe-CMtjL_s_.js";import{t as N}from"./loader-circle-XREx3i4W.js";import{t as te}from"./pencil-D38YNe2r.js";import{t as P}from"./search-BVW-n8to.js";import{t as F}from"./terminal-CdCI6wMV.js";import{t as ne}from"./triangle-alert-CQfiAg_t.js";import{t as I}from"./wrench-0WW0zkkG.js";import{t as re}from"./x-JBAsSOmg.js";import"./src-te3YTBG-.js";import{n as ie,r as L,t as ae}from"./viewer-store-Ct0SDE-n.js";import{t as oe}from"./subagent-store-CQKOOAm6.js";import{D as se,O as ce}from"./chat-CDFCY8f0.js";import{t as R}from"./misc-CuYswARt.js";import{t as z}from"./proxy-D7UPVac3.js";import{t as B}from"./AnimatePresence-DPfyu3ET.js";import{t as V}from"./use-reduced-motion-W1fCe3vS.js";import{C as H,S as le,g as ue,n as de,r as fe,t as pe,v as me,y as he}from"./site-favicon-DzmWythg.js";import"./three-dot-indicator-BMvKQ_On.js";var U=s(`camera`,[[`path`,{d:`M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z`,key:`18u6gg`}],[`circle`,{cx:`12`,cy:`13`,r:`3`,key:`1vg3eu`}]]),W=s(`clipboard`,[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`,key:`tgr4d6`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`,key:`116196`}]]),G=s(`compass`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z`,key:`9ktpf1`}]]),K=e(t(),1),q=i(),ge=`a, button, [role="button"], input, textarea, select`;function _e(e){return!!e?.closest(ge)}function ve(e,t){let n=(e&&e.length>0?e:t).charAt(0);return n?n.toUpperCase():``}function ye({faviconUrl:e,title:t,domain:n,className:r}){let[i,s]=(0,K.useState)(!1);(0,K.useEffect)(()=>{s(!1)},[e]);let c=!!e&&!i,l=ve(n,t);return(0,q.jsxs)(`span`,{className:a(`inline-flex items-center gap-1 px-[10px] py-[6px]`,`rounded-[var(--radius-pill)] bg-[var(--surface-base)] max-w-full`,r),children:[(0,q.jsx)(`span`,{"aria-hidden":`true`,className:a(`inline-flex items-center justify-center`,`h-[14px] w-[14px] rounded-[var(--radius-sm)] overflow-hidden shrink-0`,`bg-[var(--surface-overlay)]`),children:c?(0,q.jsx)(`img`,{src:e,alt:``,loading:`lazy`,referrerPolicy:`no-referrer`,className:`h-full w-full object-contain`,onError:()=>s(!0)}):(0,q.jsx)(`span`,{className:`text-[10px] font-medium leading-none text-[var(--content-default)]`,children:l})}),(0,q.jsx)(o,{variant:`body-small-default`,className:`truncate max-w-[200px] text-[var(--content-default)]`,children:t})]})}function be({items:e,minDwellMs:t=500}){let n=V(),[r,i]=(0,K.useState)(0),a=Math.max(e.length-1,0);if((0,K.useEffect)(()=>{if(r>=a)return;let e=setTimeout(()=>i(e=>Math.min(e+1,a)),t);return()=>clearTimeout(e)},[r,a,t]),e.length===0)return null;let o=n?{duration:0}:{duration:.35,ease:[.16,1,.3,1]},s=n?{opacity:0}:{y:-28,opacity:0},c=n?{opacity:1}:{y:0,opacity:1},l=n?{opacity:0}:{y:28,opacity:0};if(e.length===1){let t=e[0];return(0,q.jsx)(`div`,{className:`relative overflow-hidden h-[28px] max-w-full`,children:(0,q.jsx)(`div`,{className:`absolute inset-0 flex items-center`,children:(0,q.jsx)(ye,{faviconUrl:t.faviconUrl,title:t.title,domain:t.domain})})})}let u=Math.min(r,a),d=e[u],f=`${u}:${d.domain??``}:${d.title}`;return(0,q.jsx)(`div`,{className:`relative overflow-hidden h-[28px] max-w-full`,children:(0,q.jsx)(B,{initial:!1,mode:`popLayout`,children:(0,q.jsx)(z.div,{initial:s,animate:c,exit:l,transition:o,className:`absolute inset-0 flex items-center`,children:(0,q.jsx)(ye,{faviconUrl:d.faviconUrl,title:d.title,domain:d.domain})},f)})})}function xe(e){let t=L.use.toggleToolDetail(),n=L.use.activeToolDetail(),r=e.variant===`web`?e.carouselItems:void 0,i=(0,K.useMemo)(()=>r&&r.length>0?(0,q.jsx)(be,{items:r}):null,[r]);if(e.variant===`web`){let{info:t,carouselItems:n,state:r,step:a,expanded:o,onExpandChange:s}=e,c=r===`error`,l=n.at(-1),u=o?E:w;return(0,q.jsxs)(`div`,{className:`flex flex-col items-start`,children:[(0,q.jsxs)(`button`,{type:`button`,"data-testid":`inline-web-link`,"aria-expanded":o,"aria-label":`Web Search`,onClick:()=>s(!o),className:R(`group inline-flex items-center gap-2 -mx-1.5 px-1.5 py-1 rounded-md text-left text-[13px] font-medium transition-colors cursor-pointer`,`focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--border-focus)]`,`text-[var(--content-secondary)] hover:bg-[var(--surface-hover)] hover:text-[var(--content-default)]`,c&&`text-[var(--system-negative-strong)]`),children:[(0,q.jsx)(`span`,{className:R(`inline-flex shrink-0 items-center text-[var(--content-tertiary)]`,c&&`text-[var(--system-negative-strong)]`),children:(0,q.jsx)(M,{className:`size-4 shrink-0`,"aria-hidden":!0})}),r===`loading`?(0,q.jsx)(H,{"data-testid":`inline-web-loading`,className:`shrink-0`,children:`Web Search`}):(0,q.jsx)(`span`,{className:`shrink-0`,children:`Web Search`}),(0,q.jsx)(`span`,{"aria-hidden":!0,className:`shrink-0 text-[var(--content-tertiary)]`,children:`|`}),r===`loading`&&i?(0,q.jsx)(`span`,{className:`inline-flex w-[220px] min-w-0 items-center`,children:i}):l&&(l.faviconUrl||l.domain||l.title)?(0,q.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-1.5`,children:[(0,q.jsx)(pe,{faviconUrl:l.faviconUrl,domain:l.domain,title:t,className:`shrink-0`}),(0,q.jsx)(`span`,{className:`min-w-0 max-w-[280px] truncate text-[var(--content-default)]`,children:t})]}):(0,q.jsx)(`span`,{className:`min-w-0 max-w-[280px] truncate text-[var(--content-default)]`,children:t}),(0,q.jsx)(u,{className:`size-3.5 shrink-0 text-[var(--content-tertiary)]`,"aria-hidden":!0})]}),o&&a!=null?(0,q.jsx)(`div`,{className:`pl-6`,children:a.kind===`web_search_error`?(0,q.jsx)(de,{step:a}):(0,q.jsx)(fe,{step:a})}):null]})}let a;if(e.variant===`thinking`){let{content:r,isStreaming:i=!1,messageId:o,groupIndex:s}=e;if(!r&&!i)return null;a={dataTestId:`thought-process-link`,ariaLabel:`View thinking`,label:`Thinking`,shimmerLabel:i,tone:`default`,active:n?.kind===`thinking`&&ie(n,{messageId:o,thinkingGroupIndex:s,thinkingText:r}),onClick:()=>t({kind:`thinking`,toolCallId:``,toolName:``,title:`Thought process`,activity:``,input:{},status:`completed`,thinkingText:r,messageId:o,thinkingGroupIndex:s})}}else{let{toolCall:r}=e,{activity:i,info:o,title:s}=f(r),c=i||o||s,l=!!r.isError||r.confirmationDecision===`denied`||r.confirmationDecision===`timed_out`;a={dataTestId:`inline-tool-link`,ariaLabel:`View details: ${c}`,label:c,tone:l?`error`:`default`,active:n!=null&&n.kind!==`thinking`&&n.toolCallId===r.id,onClick:()=>t(he(r))}}let o=a.tone===`error`;return(0,q.jsxs)(`button`,{type:`button`,"data-testid":a.dataTestId,"data-active":a.active?`true`:`false`,"aria-label":a.ariaLabel,onClick:a.onClick,className:R(`group inline-flex items-center gap-2 -mx-1.5 px-1.5 py-1 rounded-md text-left text-[13px] font-medium transition-colors cursor-pointer`,`focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--border-focus)]`,a.active?`bg-[var(--surface-active)] text-[var(--content-default)]`:`text-[var(--content-secondary)] hover:bg-[var(--surface-hover)] hover:text-[var(--content-default)]`,o&&`text-[var(--system-negative-strong)]`),children:[(0,q.jsx)(`span`,{className:`min-w-0 max-w-[min(520px,calc(100vw-8rem))] truncate`,children:a.shimmerLabel?(0,q.jsx)(H,{"data-testid":`thought-process-loading`,children:a.label}):a.label}),(0,q.jsx)(T,{className:`size-3.5 shrink-0 text-[var(--content-tertiary)]`,"aria-hidden":!0})]})}function Se({size:e=8}){return(0,q.jsx)(`span`,{"aria-hidden":`true`,className:`busy-indicator inline-block shrink-0 rounded-full`,style:{width:e,height:e,backgroundColor:`var(--primary-base)`}})}function Ce(e){if(e===void 0)return;let t=new Date(e),n=new Date,r=t.getFullYear()===n.getFullYear()&&t.getMonth()===n.getMonth()&&t.getDate()===n.getDate(),i=t.toLocaleTimeString(void 0,{hour:`numeric`,minute:`2-digit`,second:`2-digit`});return r?`Started ${i}`:`Started ${t.toLocaleDateString(void 0,{month:`short`,day:`numeric`})}, ${i}`}function we(e){return e<60?`${e.toFixed(1)}s`:`${Math.floor(e/60)}m ${Math.floor(e%60)}s`}function J(e){let t=Math.floor(e);return t<60?`${t}s`:`${Math.floor(t/60)}m ${t%60}s`}function Te(e,t,n,r=`step`){let[i,a]=(0,K.useState)(Date.now);if((0,K.useEffect)(()=>{if(e===void 0||t)return;let n=setInterval(()=>a(Date.now()),1e3);return()=>clearInterval(n)},[e,t]),e===void 0)return null;if(r===`step`)return t?n===void 0?null:we((n-e)/1e3):J(Math.max(0,i-e)/1e3);if(t&&n!==void 0){let t=(n-e)/1e3;return t<5?null:J(t)}if(!t){let t=(i-e)/1e3;return t<5?null:J(t)}return null}var Ee={terminal:(0,q.jsx)(F,{className:`h-3.5 w-3.5`}),"file-text":(0,q.jsx)(j,{className:`h-3.5 w-3.5`}),"file-plus":(0,q.jsx)(A,{className:`h-3.5 w-3.5`}),pencil:(0,q.jsx)(te,{className:`h-3.5 w-3.5`}),search:(0,q.jsx)(P,{className:`h-3.5 w-3.5`}),globe:(0,q.jsx)(M,{className:`h-3.5 w-3.5`}),compass:(0,q.jsx)(G,{className:`h-3.5 w-3.5`}),camera:(0,q.jsx)(U,{className:`h-3.5 w-3.5`}),wrench:(0,q.jsx)(I,{className:`h-3.5 w-3.5`})};function De(e,t=``){return Ee[y(e,t)]??(0,q.jsx)(I,{className:`h-3.5 w-3.5`})}function Oe({isRunning:e,isError:t}){return e?(0,q.jsx)(`span`,{className:`flex h-4 w-4 shrink-0 items-center justify-center`,children:(0,q.jsx)(Se,{size:6})}):t?(0,q.jsx)(k,{className:`h-4 w-4 text-[var(--system-negative-strong)] shrink-0`}):(0,q.jsx)(O,{className:`h-4 w-4 text-[var(--system-positive-strong)] shrink-0`})}function ke({toolCall:e,isSubmitting:t,onSubmit:r,onAllowAndCreateRule:i}){let[a,o]=(0,K.useState)(!1),[s,c]=(0,K.useState)(!1),l=(0,K.useRef)(null);(0,K.useEffect)(()=>{if(!s)return;let e=e=>{l.current&&!l.current.contains(e.target)&&c(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[s]);let u=e.pendingConfirmation;if(!u)return null;let f=!!u.input,p=(u.allowlistOptions?.length??0)>0,m=e.input?.activity??e.input?.reason,h=typeof m==`string`&&m.trim()||u.title||S(e.name,d(e.name,e.input)),g=u.description||u.riskReason||null;return(0,q.jsxs)(`div`,{"data-testid":`inline-confirmation-card`,className:`flex w-full flex-col gap-4 rounded-xl bg-[var(--surface-overlay)] p-3`,children:[(0,q.jsxs)(`div`,{className:`flex w-full flex-col gap-2`,children:[(0,q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5 text-[12px] font-medium text-[var(--content-secondary)]`,children:[(0,q.jsx)(`span`,{className:`shrink-0 whitespace-nowrap`,children:`Confirmation required`}),h?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{"aria-hidden":!0,className:`size-[3px] shrink-0 rounded-full bg-[var(--content-tertiary)]`}),(0,q.jsx)(`span`,{className:`min-w-0 truncate`,children:h})]}):null]}),g&&(0,q.jsx)(`p`,{className:`w-full text-body-medium-default text-[var(--content-default)]`,children:g})]}),(0,q.jsxs)(`div`,{className:`flex items-start gap-2`,children:[p&&i?(0,q.jsxs)(`div`,{ref:l,className:`relative flex`,children:[(0,q.jsxs)(n,{variant:`primary`,disabled:t,onClick:()=>r?.(`allow`),className:`rounded-r-none`,children:[t&&(0,q.jsx)(N,{className:`h-3.5 w-3.5 animate-spin`}),`Allow`]}),(0,q.jsx)(`span`,{"aria-hidden":!0,className:`h-5 w-px self-center bg-[var(--content-inset)] opacity-20`}),(0,q.jsx)(n,{variant:`primary`,disabled:t,onClick:()=>c(e=>!e),className:`rounded-l-none px-1.5`,"aria-label":`More allow options`,"aria-haspopup":`menu`,"aria-expanded":s,children:(0,q.jsx)(w,{className:`h-3.5 w-3.5`})}),s&&(0,q.jsx)(`div`,{className:`absolute left-0 top-full z-10 mt-1 min-w-[180px] rounded-md border border-[var(--border-base)] bg-[var(--surface-lift)] py-1 shadow-lg`,children:(0,q.jsx)(`button`,{type:`button`,onClick:()=>{c(!1),i()},className:`flex w-full items-center px-3 py-2 text-body-small-default text-[var(--content-default)] transition-colors hover:bg-[var(--ghost-hover)]`,children:`Allow & Create Rule`})})]}):(0,q.jsxs)(n,{variant:`primary`,disabled:t,onClick:()=>r?.(`allow`),children:[t&&(0,q.jsx)(N,{className:`h-3.5 w-3.5 animate-spin`}),`Allow`]}),(0,q.jsx)(n,{variant:`danger`,disabled:t,onClick:()=>r?.(`deny`),children:`Deny`})]}),f&&(0,q.jsxs)(`div`,{className:`flex w-full flex-col gap-3`,children:[(0,q.jsx)(`div`,{className:`h-px w-full bg-[var(--border-base)]`}),(0,q.jsxs)(`button`,{type:`button`,onClick:()=>o(!a),className:`flex items-center gap-1 self-start text-[11px] font-medium text-[var(--content-tertiary)] transition-colors hover:text-[var(--content-secondary)]`,children:[a?`Hide Details`:`Show Details`,(0,q.jsx)(w,{className:`size-2.5 transition-transform ${a?`rotate-180`:``}`})]}),a&&u.input&&(0,q.jsx)(`div`,{className:`max-h-[220px] overflow-y-auto rounded bg-[var(--surface-base)] p-2`,children:(0,q.jsx)(`pre`,{className:`whitespace-pre-wrap break-words font-mono text-body-small-default text-[var(--content-secondary)]`,children:JSON.stringify(u.input,null,2)})})]})]})}function Ae({toolCall:e,onOpenRuleEditor:t,onConfirmationSubmit:n,onAllowAndCreateRule:r,embedded:i=!1}){let a=b(t=>t.expandedToolCallIds.has(e.id)),o=(0,K.useCallback)(t=>{b.getState().setExpandedToolCallId(e.id,t)},[e.id]),[s,l]=(0,K.useState)(!1),u=!!e.isError,f=!u&&e.result===void 0&&e.completedAt==null,m=!!e.pendingConfirmation,h=ce(e),v=Te(h,!f,e.completedAt),y=Ce(h),x=Te(e.startedAt,!f,e.completedAt),C=d(e.name,e.input),D=e.input?.activity??e.input?.reason,O=(typeof D==`string`&&D.trim()?D.trim():null)??(f?c(e.name,C):S(e.name,C)),k=m||!f&&(e.result!==void 0||Object.keys(e.input).length>0),A=(0,K.useRef)(!1);(0,K.useEffect)(()=>{let t=A.current;A.current=!!e.pendingConfirmation,e.pendingConfirmation&&!t&&o(!0)},[e.pendingConfirmation,o]);let j=(0,K.useCallback)(async t=>{if(n){l(!0);try{await n(t,e)}finally{l(!1)}}},[n,e]),M=(0,K.useCallback)(async()=>{if(r){l(!0);try{await r(e)}finally{l(!1)}}},[r,e]),N=(0,K.useCallback)(()=>{e.result!==void 0&&navigator.clipboard.writeText(e.result)},[e.result]),te=f?`Running 1 step`:u?`Failed 1 step`:`Completed 1 step`,P=(0,q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2 py-2 ${i?`pl-6 pr-3 text-body-small-default`:``}`,children:[(0,q.jsx)(Oe,{isRunning:f,isError:u}),!i&&De(e.name,C),(0,q.jsx)(`span`,{className:`min-w-0 truncate text-[var(--content-secondary)]`,children:O}),e.riskLevel&&!f&&!m&&(()=>{let{displayLevel:n,inherentRisk:r}=_(e.approvalReason,e.riskLevel),a=g(n),o=n===`workspace`,s=!o&&!ee(e.approvalMode,e.riskLevel,e.riskThreshold)?p(e.approvalReason):null,c;return c=o?`Workspace · Inherent risk: ${r?r.charAt(0).toUpperCase()+r.slice(1):`Unknown`}`:s?`${a.label} ${s}`:a.label,(0,q.jsxs)(`button`,{type:`button`,onClick:n=>{n.stopPropagation(),t?.({toolName:e.name,riskLevel:e.riskLevel,riskReason:e.riskReason,input:e.input,allowlistOptions:e.riskAllowlistOptions??[],scopeOptions:e.scopeOptions??[],directoryScopeOptions:e.riskDirectoryScopeOptions??[],matchedTrustRuleId:e.matchedTrustRuleId})},className:`${i?``:`ml-auto `}max-w-[45%] shrink-0 truncate rounded-full px-2 py-0.5 text-[11px] font-medium leading-tight ${a.bg} ${a.text} ${a.border??``} ${t?`cursor-pointer hover:opacity-80`:`cursor-default`}`,title:c,children:[(0,q.jsx)(`span`,{className:`sm:hidden`,children:a.label}),(0,q.jsx)(`span`,{className:`hidden sm:inline`,children:o?a.label:c})]})})(),i&&(0,q.jsxs)(`span`,{className:`ml-auto flex items-center gap-1.5 text-[var(--content-tertiary)]`,children:[v&&(0,q.jsx)(`span`,{className:`text-label-small-default`,title:y,children:v}),k&&(a?(0,q.jsx)(w,{className:`h-3.5 w-3.5`}):(0,q.jsx)(T,{className:`h-3.5 w-3.5`}))]})]}),F=(0,q.jsxs)(q.Fragment,{children:[m&&(0,q.jsx)(ke,{toolCall:e,isSubmitting:s,onSubmit:j,onAllowAndCreateRule:M}),!m&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`div`,{className:`mt-2.5`,children:[(0,q.jsx)(`div`,{className:`mb-1.5 text-label-small-default uppercase tracking-wider text-[var(--content-tertiary)]`,children:`Technical Details`}),(0,q.jsx)(`div`,{className:`text-[var(--content-secondary)]`,children:`Tool Name`}),(0,q.jsx)(`div`,{className:`text-[var(--content-secondary)]`,children:e.name.replace(/_/g,` `).replace(/\b\w/g,e=>e.toUpperCase())}),y&&(0,q.jsx)(`div`,{className:`mt-0.5 text-[var(--content-tertiary)]`,children:y}),x&&(0,q.jsxs)(`div`,{className:`mt-0.5`,children:[(0,q.jsx)(`span`,{className:`text-label-medium-default text-[var(--content-default)]`,children:`Tool latency:`}),` `,(0,q.jsx)(`span`,{className:`text-[var(--content-tertiary)]`,children:x})]}),Object.entries(e.input).map(([e,t])=>(0,q.jsxs)(`div`,{className:`mt-0.5`,children:[(0,q.jsxs)(`span`,{className:`text-label-medium-default text-[var(--content-default)]`,children:[e,`:`]}),` `,(0,q.jsx)(`span`,{className:`text-[var(--content-tertiary)]`,children:typeof t==`string`?t.length>200?t.slice(0,200)+`...`:t:JSON.stringify(t)})]},e))]}),e.result!==void 0&&(0,q.jsxs)(`div`,{className:`mt-3`,children:[(0,q.jsx)(`div`,{className:`mb-1.5 text-label-small-default uppercase tracking-wider text-[var(--content-tertiary)]`,children:`Output`}),(0,q.jsxs)(`div`,{className:`relative rounded-md border p-3 ${u?`border-[var(--system-negative-weak)] bg-[var(--system-negative-weak)]`:`border-[var(--border-element)] bg-[var(--surface-base)]`}`,children:[(0,q.jsx)(`pre`,{className:`whitespace-pre-wrap break-words text-body-small-default max-h-60 overflow-y-auto pr-8 ${u?`text-[var(--system-negative-strong)]`:`text-[var(--content-default)]`}`,children:e.result.length>2e3?e.result.slice(0,2e3)+`...`:e.result}),(0,q.jsx)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),N()},className:`absolute right-2 top-2 rounded p-1 text-[var(--content-tertiary)] hover:bg-[var(--ghost-hover)] hover:text-[var(--content-default)]`,title:`Copy output`,children:(0,q.jsx)(W,{className:`h-4 w-4`})})]})]})]})]});return i?(0,q.jsxs)(`div`,{className:`w-full`,children:[(0,q.jsx)(`div`,{role:`button`,tabIndex:k?0:void 0,onClick:()=>{k&&o(!a)},onKeyDown:e=>{k&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),o(!a))},className:`w-full ${k?`cursor-pointer`:`cursor-default`}`,children:P}),a&&k&&(m?(0,q.jsx)(`div`,{className:`px-3 pt-1 pb-2`,children:(0,q.jsx)(ke,{toolCall:e,isSubmitting:s,onSubmit:j,onAllowAndCreateRule:M})}):(0,q.jsx)(`div`,{className:`pl-6 pr-3 pb-2 text-label-medium-default`,children:F}))]}):(0,q.jsxs)(`div`,{className:`my-1 w-full`,children:[(0,q.jsxs)(`button`,{type:`button`,onClick:()=>{k&&o(!a)},className:`flex w-full items-center gap-2 rounded-lg px-3 py-2 text-body-medium-default transition-colors ${u?`bg-[var(--system-negative-weak)]`:`bg-[var(--surface-base)]`} ${k?`cursor-pointer hover:bg-[var(--surface-active)]`:`cursor-default`} ${a?`rounded-b-none`:``}`,children:[(0,q.jsx)(Oe,{isRunning:f,isError:u}),(0,q.jsx)(`span`,{className:u?`text-[var(--system-negative-strong)]`:`text-[var(--content-default)]`,children:te}),(0,q.jsxs)(`span`,{className:`ml-auto flex items-center gap-1.5 text-[var(--content-tertiary)]`,children:[v&&(0,q.jsx)(`span`,{className:`text-label-small-default text-[var(--content-tertiary)]`,title:y,children:v}),k&&(a?(0,q.jsx)(E,{className:`h-4 w-4`}):(0,q.jsx)(w,{className:`h-4 w-4`}))]})]}),a&&k&&(0,q.jsxs)(`div`,{className:`rounded-b-lg border-t px-3 pb-3 text-label-medium-default ${u?`border-[var(--system-negative-weak)] bg-[var(--system-negative-weak)]`:`border-[var(--border-element)] bg-[var(--surface-base)]`}`,children:[P,F]})]})}function je({state:e,testId:t}){switch(e){case`loading`:return null;case`complete`:return(0,q.jsx)(O,{"data-testid":t,"aria-hidden":`true`,"data-state":`complete`,className:`h-[14px] w-[14px] shrink-0 text-[var(--system-positive-strong)]`});case`warning`:return(0,q.jsx)(ne,{"data-testid":t,"aria-hidden":`true`,"data-state":`warning`,className:`h-[14px] w-[14px] shrink-0 text-[var(--system-mid-strong)]`});default:return(0,q.jsx)(D,{"data-testid":t,"aria-hidden":`true`,"data-state":e,className:`h-[14px] w-[14px] shrink-0 text-[var(--system-negative-strong)]`})}}function Me({state:e,leadingIcon:t,currentStepTitle:r,currentStepInfo:i,headerAnimationKey:a,hideStatusIndicator:s=!1,headerActive:c=!1,stepCount:l,defaultExpanded:u=!1,expanded:d,onExpandChange:f,disableExpand:p=!1,bare:m=!1,children:h,"data-testid":g=`tool-progress-card-shell`,statusIndicatorTestId:ee=`tool-progress-card-status-indicator`,headerActionSlot:_,onHeaderClick:v,headerAriaLabel:y}){let[b,x]=(0,K.useState)(u),S=d!==void 0,C=S?d:b,w=V(),T=()=>{if(v){v();return}if(p)return;let e=!C;S||x(e),f?.(e)},E=w?{duration:0}:{duration:.25,ease:[.16,1,.3,1]};return(0,q.jsxs)(`div`,{"data-testid":g,className:m?`flex w-full flex-col`:`flex w-full flex-col rounded-[var(--radius-lg)] border-b border-[var(--border-base)] bg-[var(--surface-overlay)]`,children:[(()=>{let u=(0,q.jsxs)(`span`,{className:m?`flex min-w-0 items-center gap-1`:`flex min-w-0 flex-1 items-center gap-1`,children:[s||e===`loading`?null:(0,q.jsx)(B,{mode:`wait`,initial:!1,children:(0,q.jsx)(z.span,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:w?{duration:0}:{duration:.15,ease:[.16,1,.3,1]},className:`inline-flex shrink-0`,children:(0,q.jsx)(je,{state:e,testId:ee})},e)}),t?(0,q.jsx)(`span`,{className:`mx-1 flex shrink-0 items-center`,children:t}):null,(0,q.jsx)(le,{currentStepTitle:r,currentStepInfo:i,animationKey:a,bypassDwell:e!==`loading`,shimmer:e===`loading`,inline:m})]}),d=l&&!l.startsWith(`0 `)&&!l.startsWith(`1 `)?(0,q.jsx)(`span`,{"data-testid":`tool-progress-card-step-count-pill`,className:`flex shrink-0 items-center rounded-[var(--radius-pill)] bg-[var(--surface-overlay)] px-[6px] py-[4px]`,children:(0,q.jsx)(o,{variant:`body-small-default`,className:`text-[var(--content-emphasised)]`,children:l})}):null,f={variant:`ghost`,size:`compact`,"aria-expanded":v?void 0:C,"aria-label":y??(C?`Collapse steps`:`Expand steps`),onClick:T,disabled:!v&&p};return _?(0,q.jsxs)(`div`,{className:`flex w-full items-center`,children:[(0,q.jsx)(n,{...f,className:`h-auto min-w-0 flex-1 justify-start gap-2 p-3 ${C?`rounded-tl-[var(--radius-lg)] rounded-b-none`:`rounded-l-[var(--radius-lg)]`}`,children:u}),(0,q.jsxs)(`div`,{"data-testid":`tool-progress-card-action-slot`,className:`flex shrink-0 items-center gap-2 pr-3`,children:[_,d]})]}):(0,q.jsxs)(n,{...f,className:m?`h-auto w-fit min-w-0 max-w-[calc(100%+0.375rem)] justify-start gap-2 rounded-md border-0 px-1.5 py-1.5 -ml-1.5 hover:bg-[var(--surface-hover)]${C||c?` bg-[var(--surface-hover)]`:``}`:`h-auto w-full min-w-0 justify-between gap-2 p-3 ${C?`rounded-t-[var(--radius-lg)] rounded-b-none`:`rounded-[var(--radius-lg)]`}`,children:[u,d]})})(),(0,q.jsx)(B,{initial:!1,children:C&&h!=null?(0,q.jsx)(z.div,{initial:{height:0,opacity:0},animate:{height:`auto`,opacity:1},exit:{height:0,opacity:0},transition:E,className:`overflow-hidden`,children:(0,q.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[m?null:(0,q.jsx)(`div`,{className:`h-px w-full bg-[var(--surface-base)]`}),h]})},`expanded-body`):null})]})}function Ne(e){let[t,n]=(0,K.useState)(()=>Date.now());return(0,K.useEffect)(()=>{if(!e)return;n(Date.now());let t=setInterval(()=>n(Date.now()),1e3);return()=>clearInterval(t)},[e]),e?t:void 0}function Pe(e){return ue(e,m.use.liveWebActivity(),Ne(me(e)))}var Fe=80;function Ie(e){return e.map(e=>({kind:`toolCall`,toolCall:e}))}function Le(e){let t=0,n=0;for(let r of e)r.kind!==`thinking`&&(t+=1,(r.kind===`tool_error`||r.kind===`web_search_error`||r.kind===`tool`&&(r.status===`error`||r.status===`denied`))&&(n+=1));return{total:t,failed:n}}function Re(e,t){if(e===`loading`||e===`complete`)return e;let{total:n,failed:r}=Le(t);return r>0&&r<n?`warning`:`error`}function ze(e,t,n){if(e===`loading`)return t&&t!==`<1s`?`Working for ${t}`:`Working`;if(t)return`Worked for ${t}`;switch(e){case`warning`:return`${n} ${n===1?`tool`:`tools`} failed`;case`error`:case`denied`:return`Failed`;default:return`Completed`}}function Be(e){let{toolCalls:t}=e,n=t.some(e=>!!e.pendingConfirmation),r=(0,K.useMemo)(()=>e.items??Ie(t),[e.items,t]),i=Pe(r),a=Ue(t[0]?.id??null);return n?(0,q.jsx)(Ge,{...e}):i.steps.length===0?null:t.length===1&&t[0].name===`web_search`?(0,q.jsx)(Ve,{toolCalls:t,cardData:i,expanded:a.value,onExpandChange:a.onChange}):(0,q.jsx)(He,{...e,cardData:i,effectiveItems:r})}function Ve({toolCalls:e,cardData:t,expanded:n,onExpandChange:r}){let i=e.some(e=>se(e))?`loading`:t.state===`error`||t.state===`denied`?`error`:`complete`,a=t.steps.find(e=>e.kind===`web_search`||e.kind===`web_search_error`)??null;return(0,q.jsx)(xe,{variant:`web`,info:t.currentStepInfo,carouselItems:t.carouselItems,state:i,step:a,expanded:n,onExpandChange:r})}function He({toolCalls:e,cardData:t,effectiveItems:n,onOpenRuleEditor:r,unknownNudgeToolCallIds:i,onDismissUnknownNudge:a,messageId:s,groupIndex:c}){let l=L.use.toggleActivitySteps(),u=L.use.mainView(),d=L.use.activeActivitySteps(),f=Re(t.state,t.steps),p=(0,K.useMemo)(()=>({messageId:s,groupIndex:c,items:n,toolCalls:e}),[s,c,n,e]),m=u===`activity-steps`&&d!=null&&ae(d,p),h=(0,K.useMemo)(()=>t.currentStepKind===`thinking`?(0,q.jsxs)(`span`,{className:`flex w-full min-w-0 items-center gap-1`,children:[(0,q.jsx)(C,{"aria-hidden":`true`,className:`size-3.5 shrink-0 text-[var(--content-tertiary)]`}),(0,q.jsx)(o,{variant:`body-small-default`,className:`min-w-0 flex-1 truncate text-left leading-[16px] text-[var(--content-tertiary)]`,children:x(t.currentStepInfo,Fe)})]}):t.currentStepInfo,[t.currentStepKind,t.currentStepInfo]),g=i&&r?e.filter(e=>i.has(e.id)):[];return(0,q.jsxs)(`div`,{className:`flex w-full flex-col gap-1`,children:[(0,q.jsx)(Me,{bare:!0,hideStatusIndicator:!0,state:f,currentStepTitle:t.currentStepTitle,currentStepInfo:h,stepCount:t.stepCount,onHeaderClick:()=>l(p),headerAriaLabel:`View steps`,headerActive:m}),g.map(e=>(0,q.jsx)(We,{toolCall:e,onOpenRuleEditor:r,onDismiss:a},e.id))]})}function Ue(e){return{value:b(t=>e==null?void 0:t.expandedCardIds.get(e))??!1,onChange:(0,K.useCallback)(t=>{e!=null&&b.getState().setExpandedCardId(e,t)},[e])}}function We({toolCall:e,onOpenRuleEditor:t,onDismiss:n}){return(0,q.jsxs)(`div`,{className:`flex items-center gap-1 pl-6 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,q.jsx)(`span`,{children:`This command wasn't recognized.`}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>t({toolName:e.name,riskLevel:e.riskLevel,riskReason:e.riskReason,input:e.input??{},allowlistOptions:e.riskAllowlistOptions??[],scopeOptions:e.scopeOptions??[],directoryScopeOptions:e.riskDirectoryScopeOptions??[]}),className:`font-medium text-[var(--content-default)] underline underline-offset-2 hover:text-[var(--content-secondary)]`,children:`Create a rule`}),(0,q.jsx)(`span`,{children:`to classify it for next time.`}),n&&(0,q.jsx)(`button`,{type:`button`,"aria-label":`Dismiss`,onClick:()=>n(e.id),className:`ml-1 text-[var(--content-disabled)] hover:text-[var(--content-tertiary)]`,children:(0,q.jsx)(re,{className:`h-3.5 w-3.5`})})]})}function Ge({toolCalls:e,onOpenRuleEditor:t,onConfirmationSubmit:n,onAllowAndCreateRule:r,unknownNudgeToolCallIds:i,onDismissUnknownNudge:a}){return(0,q.jsx)(`div`,{className:`my-1 w-full`,children:(0,q.jsx)(`div`,{className:`space-y-0 rounded-lg bg-[var(--surface-overlay)]`,children:e.map(e=>(0,q.jsxs)(K.Fragment,{children:[(0,q.jsx)(Ae,{toolCall:e,onOpenRuleEditor:t,embedded:!0,...e.pendingConfirmation?{onConfirmationSubmit:n,onAllowAndCreateRule:r}:{}}),i?.has(e.id)&&t&&(0,q.jsx)(We,{toolCall:e,onOpenRuleEditor:t,onDismiss:a})]},e.id))})})}var Ke=/:([\w+-]+)$/,qe=[],Je=()=>qe,Y=null,X=null,Z=null;function Ye(){return Y&&X?Promise.resolve():Z||(Z=r(()=>import(`./emoji-catalog-data-BCc1YNMR.js`).then(e=>{Y=e.searchEmoji;let t=new Map(e.EMOJI_CATALOG.map(e=>[e.shortcode,e.emoji]));X=e=>t.get(e)}),[]),Z)}function Xe(){let[e,t]=(0,K.useState)(()=>Y??Je);return(0,K.useEffect)(()=>{if(Y)return;let e=!1;return Ye().then(()=>{!e&&Y&&t(()=>Y)}),()=>{e=!0}},[]),e}var Ze=()=>void 0;function Qe(){let[e,t]=(0,K.useState)(()=>X??Ze);return(0,K.useEffect)(()=>{if(X)return;let e=!1;return Ye().then(()=>{!e&&X&&t(()=>X)}),()=>{e=!0}},[]),e}function $e(e){if(h(e)&&!(typeof e.result!=`string`||!e.result))try{let t=JSON.parse(e.result);return typeof t.subagentId==`string`?t.subagentId:void 0}catch{return}}function et(e,t){return e.size===0?oe:e.get(t.id)??oe}function tt(e,t,n,r){let i=e.filter(h);if(i.length===0)return[];let a=[];for(let e of i){let i=n.get(e.id);if(i&&!r.has(i)){a.push(i),r.add(i);continue}let o=$e(e);if(o){a.push(o),r.add(o);continue}let s=t.find(e=>!r.has(e.subagentId));s&&(a.push(s.subagentId),r.add(s.subagentId))}return a}function nt(e){if(!u(e)||typeof e.result!=`string`||!e.result)return null;try{let t=JSON.parse(e.result);return typeof t.runId==`string`?t.runId:null}catch{return null}}function Q(e,t){return u(e)?t.get(e.id)??nt(e):null}function rt(e,t,n){let r=[];for(let i of e){if(!u(i))continue;let e=t.get(i.id);if(e&&!n.has(e)){r.push(e),n.add(e);continue}let a=nt(i);a&&!n.has(a)&&(r.push(a),n.add(a))}return r}function it(e,t){let n=new Set;for(let r of e){let e=Q(r,t.byToolUseId);if(e!==null){if(t.byId[e]!==void 0){n.add(e);continue}t.notFoundRunIds.has(e)||t.hydrationFailedRunIds.has(e)||n.add(e)}}return n}function at(e){if(!v(e)||typeof e.result!=`string`||!e.result)return null;try{let t=JSON.parse(e.result);return typeof t.acpSessionId==`string`?t.acpSessionId:null}catch{return null}}function ot(e){if(l(e)&&!(typeof e.result!=`string`||!e.result))try{let t=JSON.parse(e.result);return t.backgrounded===!0&&typeof t.id==`string`?t.id:void 0}catch{return}}function st(e,t){let n=[];for(let r of e){if(!l(r))continue;let e=ot(r);e&&!t.has(e)&&(n.push(e),t.add(e))}return n}function ct(e,t){return v(e)?t.get(e.id)??at(e):null}function lt(e,t,n){let r=[];for(let i of e){if(!v(i))continue;let e=t.get(i.id);if(e&&!n.has(e)){r.push(e),n.add(e);continue}let a=at(i);a&&!n.has(a)&&(r.push(a),n.add(a))}return r}function ut(e,t){return e===`assistant`?$(t)??`Assistant`:`User`}function $(...e){for(let t of e){let e=t?.trim();if(e)return e}}function dt(e,t){if(!e.slackMessage)return null;let n=e.slackMessage.sender;return $(n?.displayName,n?.name,n?.username,n?.externalUserId)??ut(e.role,t)}function ft(e){return _e(e)}function pt({message:e,assistantDisplayName:t}){let n=dt(e,t);return n?(0,q.jsx)(`div`,{"data-testid":`slack-message-attribution`,className:`inline-flex items-center gap-1.5 text-body-small-default text-[var(--content-tertiary)]`,children:(0,q.jsx)(`span`,{children:n})}):null}function mt({message:e}){let t=Qe(),n=e.slackMessage?.reaction;if(!n)return null;let r=t(n.emoji)??`:${n.emoji}:`,i=n.actorDisplayName??e.slackMessage?.sender?.displayName??e.slackMessage?.sender?.name,a=n.op===`added`?`reacted`:`removed reaction`;return(0,q.jsxs)(`div`,{"data-testid":`slack-reaction-line`,className:`flex items-center gap-1.5 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,q.jsx)(`span`,{className:`text-base`,children:r}),i&&(0,q.jsx)(`span`,{children:i}),(0,q.jsx)(`span`,{children:a})]})}export{G as C,_e as S,U as T,Le as _,ot as a,Se as b,lt as c,rt as d,Q as f,ze as g,Be as h,it as i,st as l,Xe as m,mt as n,ft as o,Ke as p,ct as r,et as s,pt as t,tt as u,Re as v,W as w,xe as x,Pe as y};
|
|
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"./preload-helper-Cv2QeVDK.js";import{t as i}from"./jsx-runtime-D3ZM-ToX.js";import{t as a}from"./cn-CJf7MmLX.js";import{t as o}from"./typography-DEI9Ra9z.js";import{t as s}from"./createLucideIcon-CAM1RhH8.js";import{_ as c,d as l,f as u,g as d,m as f,n as p,ot as m,p as h,r as g,s as ee,t as _,u as v,v as y,w as b,x,y as S}from"./risk-CdT92Vqr.js";import{t as C}from"./brain-BIzJCPA6.js";import{t as w}from"./chevron-down-B5A-0g8A.js";import{t as T}from"./chevron-right-HU6H84S0.js";import{t as E}from"./chevron-up-2Qqarz0p.js";import{t as D}from"./circle-alert-DVCpoZrc.js";import{t as O}from"./circle-check-CjGnAahM.js";import{t as k}from"./circle-x-17dBxF06.js";import{t as A}from"./file-plus-C3SBA8ll.js";import{t as j}from"./file-text-Br730Q4B.js";import{t as M}from"./globe-CMtjL_s_.js";import{t as N}from"./loader-circle-XREx3i4W.js";import{t as te}from"./pencil-D38YNe2r.js";import{t as P}from"./search-BVW-n8to.js";import{t as F}from"./terminal-CdCI6wMV.js";import{t as ne}from"./triangle-alert-CQfiAg_t.js";import{t as I}from"./wrench-0WW0zkkG.js";import{t as re}from"./x-JBAsSOmg.js";import"./src-te3YTBG-.js";import{n as ie,r as L,t as ae}from"./viewer-store-DLk-jp8U.js";import{t as oe}from"./subagent-store-MDi6lBXs.js";import{D as se,O as ce}from"./chat-CDFCY8f0.js";import{t as R}from"./misc-CuYswARt.js";import{t as z}from"./proxy-D7UPVac3.js";import{t as B}from"./AnimatePresence-DPfyu3ET.js";import{t as V}from"./use-reduced-motion-W1fCe3vS.js";import{C as H,S as le,g as ue,n as de,r as fe,t as pe,v as me,y as he}from"./site-favicon-BB1pYWLF.js";import"./three-dot-indicator-BMvKQ_On.js";var U=s(`camera`,[[`path`,{d:`M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z`,key:`18u6gg`}],[`circle`,{cx:`12`,cy:`13`,r:`3`,key:`1vg3eu`}]]),W=s(`clipboard`,[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`,key:`tgr4d6`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`,key:`116196`}]]),G=s(`compass`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z`,key:`9ktpf1`}]]),K=e(t(),1),q=i(),ge=`a, button, [role="button"], input, textarea, select`;function _e(e){return!!e?.closest(ge)}function ve(e,t){let n=(e&&e.length>0?e:t).charAt(0);return n?n.toUpperCase():``}function ye({faviconUrl:e,title:t,domain:n,className:r}){let[i,s]=(0,K.useState)(!1);(0,K.useEffect)(()=>{s(!1)},[e]);let c=!!e&&!i,l=ve(n,t);return(0,q.jsxs)(`span`,{className:a(`inline-flex items-center gap-1 px-[10px] py-[6px]`,`rounded-[var(--radius-pill)] bg-[var(--surface-base)] max-w-full`,r),children:[(0,q.jsx)(`span`,{"aria-hidden":`true`,className:a(`inline-flex items-center justify-center`,`h-[14px] w-[14px] rounded-[var(--radius-sm)] overflow-hidden shrink-0`,`bg-[var(--surface-overlay)]`),children:c?(0,q.jsx)(`img`,{src:e,alt:``,loading:`lazy`,referrerPolicy:`no-referrer`,className:`h-full w-full object-contain`,onError:()=>s(!0)}):(0,q.jsx)(`span`,{className:`text-[10px] font-medium leading-none text-[var(--content-default)]`,children:l})}),(0,q.jsx)(o,{variant:`body-small-default`,className:`truncate max-w-[200px] text-[var(--content-default)]`,children:t})]})}function be({items:e,minDwellMs:t=500}){let n=V(),[r,i]=(0,K.useState)(0),a=Math.max(e.length-1,0);if((0,K.useEffect)(()=>{if(r>=a)return;let e=setTimeout(()=>i(e=>Math.min(e+1,a)),t);return()=>clearTimeout(e)},[r,a,t]),e.length===0)return null;let o=n?{duration:0}:{duration:.35,ease:[.16,1,.3,1]},s=n?{opacity:0}:{y:-28,opacity:0},c=n?{opacity:1}:{y:0,opacity:1},l=n?{opacity:0}:{y:28,opacity:0};if(e.length===1){let t=e[0];return(0,q.jsx)(`div`,{className:`relative overflow-hidden h-[28px] max-w-full`,children:(0,q.jsx)(`div`,{className:`absolute inset-0 flex items-center`,children:(0,q.jsx)(ye,{faviconUrl:t.faviconUrl,title:t.title,domain:t.domain})})})}let u=Math.min(r,a),d=e[u],f=`${u}:${d.domain??``}:${d.title}`;return(0,q.jsx)(`div`,{className:`relative overflow-hidden h-[28px] max-w-full`,children:(0,q.jsx)(B,{initial:!1,mode:`popLayout`,children:(0,q.jsx)(z.div,{initial:s,animate:c,exit:l,transition:o,className:`absolute inset-0 flex items-center`,children:(0,q.jsx)(ye,{faviconUrl:d.faviconUrl,title:d.title,domain:d.domain})},f)})})}function xe(e){let t=L.use.toggleToolDetail(),n=L.use.activeToolDetail(),r=e.variant===`web`?e.carouselItems:void 0,i=(0,K.useMemo)(()=>r&&r.length>0?(0,q.jsx)(be,{items:r}):null,[r]);if(e.variant===`web`){let{info:t,carouselItems:n,state:r,step:a,expanded:o,onExpandChange:s}=e,c=r===`error`,l=n.at(-1),u=o?E:w;return(0,q.jsxs)(`div`,{className:`flex flex-col items-start`,children:[(0,q.jsxs)(`button`,{type:`button`,"data-testid":`inline-web-link`,"aria-expanded":o,"aria-label":`Web Search`,onClick:()=>s(!o),className:R(`group inline-flex items-center gap-2 -mx-1.5 px-1.5 py-1 rounded-md text-left text-[13px] font-medium transition-colors cursor-pointer`,`focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--border-focus)]`,`text-[var(--content-secondary)] hover:bg-[var(--surface-hover)] hover:text-[var(--content-default)]`,c&&`text-[var(--system-negative-strong)]`),children:[(0,q.jsx)(`span`,{className:R(`inline-flex shrink-0 items-center text-[var(--content-tertiary)]`,c&&`text-[var(--system-negative-strong)]`),children:(0,q.jsx)(M,{className:`size-4 shrink-0`,"aria-hidden":!0})}),r===`loading`?(0,q.jsx)(H,{"data-testid":`inline-web-loading`,className:`shrink-0`,children:`Web Search`}):(0,q.jsx)(`span`,{className:`shrink-0`,children:`Web Search`}),(0,q.jsx)(`span`,{"aria-hidden":!0,className:`shrink-0 text-[var(--content-tertiary)]`,children:`|`}),r===`loading`&&i?(0,q.jsx)(`span`,{className:`inline-flex w-[220px] min-w-0 items-center`,children:i}):l&&(l.faviconUrl||l.domain||l.title)?(0,q.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-1.5`,children:[(0,q.jsx)(pe,{faviconUrl:l.faviconUrl,domain:l.domain,title:t,className:`shrink-0`}),(0,q.jsx)(`span`,{className:`min-w-0 max-w-[280px] truncate text-[var(--content-default)]`,children:t})]}):(0,q.jsx)(`span`,{className:`min-w-0 max-w-[280px] truncate text-[var(--content-default)]`,children:t}),(0,q.jsx)(u,{className:`size-3.5 shrink-0 text-[var(--content-tertiary)]`,"aria-hidden":!0})]}),o&&a!=null?(0,q.jsx)(`div`,{className:`pl-6`,children:a.kind===`web_search_error`?(0,q.jsx)(de,{step:a}):(0,q.jsx)(fe,{step:a})}):null]})}let a;if(e.variant===`thinking`){let{content:r,isStreaming:i=!1,messageId:o,groupIndex:s}=e;if(!r&&!i)return null;a={dataTestId:`thought-process-link`,ariaLabel:`View thinking`,label:`Thinking`,shimmerLabel:i,tone:`default`,active:n?.kind===`thinking`&&ie(n,{messageId:o,thinkingGroupIndex:s,thinkingText:r}),onClick:()=>t({kind:`thinking`,toolCallId:``,toolName:``,title:`Thought process`,activity:``,input:{},status:`completed`,thinkingText:r,messageId:o,thinkingGroupIndex:s})}}else{let{toolCall:r}=e,{activity:i,info:o,title:s}=f(r),c=i||o||s,l=!!r.isError||r.confirmationDecision===`denied`||r.confirmationDecision===`timed_out`;a={dataTestId:`inline-tool-link`,ariaLabel:`View details: ${c}`,label:c,tone:l?`error`:`default`,active:n!=null&&n.kind!==`thinking`&&n.toolCallId===r.id,onClick:()=>t(he(r))}}let o=a.tone===`error`;return(0,q.jsxs)(`button`,{type:`button`,"data-testid":a.dataTestId,"data-active":a.active?`true`:`false`,"aria-label":a.ariaLabel,onClick:a.onClick,className:R(`group inline-flex items-center gap-2 -mx-1.5 px-1.5 py-1 rounded-md text-left text-[13px] font-medium transition-colors cursor-pointer`,`focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--border-focus)]`,a.active?`bg-[var(--surface-active)] text-[var(--content-default)]`:`text-[var(--content-secondary)] hover:bg-[var(--surface-hover)] hover:text-[var(--content-default)]`,o&&`text-[var(--system-negative-strong)]`),children:[(0,q.jsx)(`span`,{className:`min-w-0 max-w-[min(520px,calc(100vw-8rem))] truncate`,children:a.shimmerLabel?(0,q.jsx)(H,{"data-testid":`thought-process-loading`,children:a.label}):a.label}),(0,q.jsx)(T,{className:`size-3.5 shrink-0 text-[var(--content-tertiary)]`,"aria-hidden":!0})]})}function Se({size:e=8}){return(0,q.jsx)(`span`,{"aria-hidden":`true`,className:`busy-indicator inline-block shrink-0 rounded-full`,style:{width:e,height:e,backgroundColor:`var(--primary-base)`}})}function Ce(e){if(e===void 0)return;let t=new Date(e),n=new Date,r=t.getFullYear()===n.getFullYear()&&t.getMonth()===n.getMonth()&&t.getDate()===n.getDate(),i=t.toLocaleTimeString(void 0,{hour:`numeric`,minute:`2-digit`,second:`2-digit`});return r?`Started ${i}`:`Started ${t.toLocaleDateString(void 0,{month:`short`,day:`numeric`})}, ${i}`}function we(e){return e<60?`${e.toFixed(1)}s`:`${Math.floor(e/60)}m ${Math.floor(e%60)}s`}function J(e){let t=Math.floor(e);return t<60?`${t}s`:`${Math.floor(t/60)}m ${t%60}s`}function Te(e,t,n,r=`step`){let[i,a]=(0,K.useState)(Date.now);if((0,K.useEffect)(()=>{if(e===void 0||t)return;let n=setInterval(()=>a(Date.now()),1e3);return()=>clearInterval(n)},[e,t]),e===void 0)return null;if(r===`step`)return t?n===void 0?null:we((n-e)/1e3):J(Math.max(0,i-e)/1e3);if(t&&n!==void 0){let t=(n-e)/1e3;return t<5?null:J(t)}if(!t){let t=(i-e)/1e3;return t<5?null:J(t)}return null}var Ee={terminal:(0,q.jsx)(F,{className:`h-3.5 w-3.5`}),"file-text":(0,q.jsx)(j,{className:`h-3.5 w-3.5`}),"file-plus":(0,q.jsx)(A,{className:`h-3.5 w-3.5`}),pencil:(0,q.jsx)(te,{className:`h-3.5 w-3.5`}),search:(0,q.jsx)(P,{className:`h-3.5 w-3.5`}),globe:(0,q.jsx)(M,{className:`h-3.5 w-3.5`}),compass:(0,q.jsx)(G,{className:`h-3.5 w-3.5`}),camera:(0,q.jsx)(U,{className:`h-3.5 w-3.5`}),wrench:(0,q.jsx)(I,{className:`h-3.5 w-3.5`})};function De(e,t=``){return Ee[y(e,t)]??(0,q.jsx)(I,{className:`h-3.5 w-3.5`})}function Oe({isRunning:e,isError:t}){return e?(0,q.jsx)(`span`,{className:`flex h-4 w-4 shrink-0 items-center justify-center`,children:(0,q.jsx)(Se,{size:6})}):t?(0,q.jsx)(k,{className:`h-4 w-4 text-[var(--system-negative-strong)] shrink-0`}):(0,q.jsx)(O,{className:`h-4 w-4 text-[var(--system-positive-strong)] shrink-0`})}function ke({toolCall:e,isSubmitting:t,onSubmit:r,onAllowAndCreateRule:i}){let[a,o]=(0,K.useState)(!1),[s,c]=(0,K.useState)(!1),l=(0,K.useRef)(null);(0,K.useEffect)(()=>{if(!s)return;let e=e=>{l.current&&!l.current.contains(e.target)&&c(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[s]);let u=e.pendingConfirmation;if(!u)return null;let f=!!u.input,p=(u.allowlistOptions?.length??0)>0,m=e.input?.activity??e.input?.reason,h=typeof m==`string`&&m.trim()||u.title||S(e.name,d(e.name,e.input)),g=u.description||u.riskReason||null;return(0,q.jsxs)(`div`,{"data-testid":`inline-confirmation-card`,className:`flex w-full flex-col gap-4 rounded-xl bg-[var(--surface-overlay)] p-3`,children:[(0,q.jsxs)(`div`,{className:`flex w-full flex-col gap-2`,children:[(0,q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5 text-[12px] font-medium text-[var(--content-secondary)]`,children:[(0,q.jsx)(`span`,{className:`shrink-0 whitespace-nowrap`,children:`Confirmation required`}),h?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{"aria-hidden":!0,className:`size-[3px] shrink-0 rounded-full bg-[var(--content-tertiary)]`}),(0,q.jsx)(`span`,{className:`min-w-0 truncate`,children:h})]}):null]}),g&&(0,q.jsx)(`p`,{className:`w-full text-body-medium-default text-[var(--content-default)]`,children:g})]}),(0,q.jsxs)(`div`,{className:`flex items-start gap-2`,children:[p&&i?(0,q.jsxs)(`div`,{ref:l,className:`relative flex`,children:[(0,q.jsxs)(n,{variant:`primary`,disabled:t,onClick:()=>r?.(`allow`),className:`rounded-r-none`,children:[t&&(0,q.jsx)(N,{className:`h-3.5 w-3.5 animate-spin`}),`Allow`]}),(0,q.jsx)(`span`,{"aria-hidden":!0,className:`h-5 w-px self-center bg-[var(--content-inset)] opacity-20`}),(0,q.jsx)(n,{variant:`primary`,disabled:t,onClick:()=>c(e=>!e),className:`rounded-l-none px-1.5`,"aria-label":`More allow options`,"aria-haspopup":`menu`,"aria-expanded":s,children:(0,q.jsx)(w,{className:`h-3.5 w-3.5`})}),s&&(0,q.jsx)(`div`,{className:`absolute left-0 top-full z-10 mt-1 min-w-[180px] rounded-md border border-[var(--border-base)] bg-[var(--surface-lift)] py-1 shadow-lg`,children:(0,q.jsx)(`button`,{type:`button`,onClick:()=>{c(!1),i()},className:`flex w-full items-center px-3 py-2 text-body-small-default text-[var(--content-default)] transition-colors hover:bg-[var(--ghost-hover)]`,children:`Allow & Create Rule`})})]}):(0,q.jsxs)(n,{variant:`primary`,disabled:t,onClick:()=>r?.(`allow`),children:[t&&(0,q.jsx)(N,{className:`h-3.5 w-3.5 animate-spin`}),`Allow`]}),(0,q.jsx)(n,{variant:`danger`,disabled:t,onClick:()=>r?.(`deny`),children:`Deny`})]}),f&&(0,q.jsxs)(`div`,{className:`flex w-full flex-col gap-3`,children:[(0,q.jsx)(`div`,{className:`h-px w-full bg-[var(--border-base)]`}),(0,q.jsxs)(`button`,{type:`button`,onClick:()=>o(!a),className:`flex items-center gap-1 self-start text-[11px] font-medium text-[var(--content-tertiary)] transition-colors hover:text-[var(--content-secondary)]`,children:[a?`Hide Details`:`Show Details`,(0,q.jsx)(w,{className:`size-2.5 transition-transform ${a?`rotate-180`:``}`})]}),a&&u.input&&(0,q.jsx)(`div`,{className:`max-h-[220px] overflow-y-auto rounded bg-[var(--surface-base)] p-2`,children:(0,q.jsx)(`pre`,{className:`whitespace-pre-wrap break-words font-mono text-body-small-default text-[var(--content-secondary)]`,children:JSON.stringify(u.input,null,2)})})]})]})}function Ae({toolCall:e,onOpenRuleEditor:t,onConfirmationSubmit:n,onAllowAndCreateRule:r,embedded:i=!1}){let a=b(t=>t.expandedToolCallIds.has(e.id)),o=(0,K.useCallback)(t=>{b.getState().setExpandedToolCallId(e.id,t)},[e.id]),[s,l]=(0,K.useState)(!1),u=!!e.isError,f=!u&&e.result===void 0&&e.completedAt==null,m=!!e.pendingConfirmation,h=ce(e),v=Te(h,!f,e.completedAt),y=Ce(h),x=Te(e.startedAt,!f,e.completedAt),C=d(e.name,e.input),D=e.input?.activity??e.input?.reason,O=(typeof D==`string`&&D.trim()?D.trim():null)??(f?c(e.name,C):S(e.name,C)),k=m||!f&&(e.result!==void 0||Object.keys(e.input).length>0),A=(0,K.useRef)(!1);(0,K.useEffect)(()=>{let t=A.current;A.current=!!e.pendingConfirmation,e.pendingConfirmation&&!t&&o(!0)},[e.pendingConfirmation,o]);let j=(0,K.useCallback)(async t=>{if(n){l(!0);try{await n(t,e)}finally{l(!1)}}},[n,e]),M=(0,K.useCallback)(async()=>{if(r){l(!0);try{await r(e)}finally{l(!1)}}},[r,e]),N=(0,K.useCallback)(()=>{e.result!==void 0&&navigator.clipboard.writeText(e.result)},[e.result]),te=f?`Running 1 step`:u?`Failed 1 step`:`Completed 1 step`,P=(0,q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2 py-2 ${i?`pl-6 pr-3 text-body-small-default`:``}`,children:[(0,q.jsx)(Oe,{isRunning:f,isError:u}),!i&&De(e.name,C),(0,q.jsx)(`span`,{className:`min-w-0 truncate text-[var(--content-secondary)]`,children:O}),e.riskLevel&&!f&&!m&&(()=>{let{displayLevel:n,inherentRisk:r}=_(e.approvalReason,e.riskLevel),a=g(n),o=n===`workspace`,s=!o&&!ee(e.approvalMode,e.riskLevel,e.riskThreshold)?p(e.approvalReason):null,c;return c=o?`Workspace · Inherent risk: ${r?r.charAt(0).toUpperCase()+r.slice(1):`Unknown`}`:s?`${a.label} ${s}`:a.label,(0,q.jsxs)(`button`,{type:`button`,onClick:n=>{n.stopPropagation(),t?.({toolName:e.name,riskLevel:e.riskLevel,riskReason:e.riskReason,input:e.input,allowlistOptions:e.riskAllowlistOptions??[],scopeOptions:e.scopeOptions??[],directoryScopeOptions:e.riskDirectoryScopeOptions??[],matchedTrustRuleId:e.matchedTrustRuleId})},className:`${i?``:`ml-auto `}max-w-[45%] shrink-0 truncate rounded-full px-2 py-0.5 text-[11px] font-medium leading-tight ${a.bg} ${a.text} ${a.border??``} ${t?`cursor-pointer hover:opacity-80`:`cursor-default`}`,title:c,children:[(0,q.jsx)(`span`,{className:`sm:hidden`,children:a.label}),(0,q.jsx)(`span`,{className:`hidden sm:inline`,children:o?a.label:c})]})})(),i&&(0,q.jsxs)(`span`,{className:`ml-auto flex items-center gap-1.5 text-[var(--content-tertiary)]`,children:[v&&(0,q.jsx)(`span`,{className:`text-label-small-default`,title:y,children:v}),k&&(a?(0,q.jsx)(w,{className:`h-3.5 w-3.5`}):(0,q.jsx)(T,{className:`h-3.5 w-3.5`}))]})]}),F=(0,q.jsxs)(q.Fragment,{children:[m&&(0,q.jsx)(ke,{toolCall:e,isSubmitting:s,onSubmit:j,onAllowAndCreateRule:M}),!m&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`div`,{className:`mt-2.5`,children:[(0,q.jsx)(`div`,{className:`mb-1.5 text-label-small-default uppercase tracking-wider text-[var(--content-tertiary)]`,children:`Technical Details`}),(0,q.jsx)(`div`,{className:`text-[var(--content-secondary)]`,children:`Tool Name`}),(0,q.jsx)(`div`,{className:`text-[var(--content-secondary)]`,children:e.name.replace(/_/g,` `).replace(/\b\w/g,e=>e.toUpperCase())}),y&&(0,q.jsx)(`div`,{className:`mt-0.5 text-[var(--content-tertiary)]`,children:y}),x&&(0,q.jsxs)(`div`,{className:`mt-0.5`,children:[(0,q.jsx)(`span`,{className:`text-label-medium-default text-[var(--content-default)]`,children:`Tool latency:`}),` `,(0,q.jsx)(`span`,{className:`text-[var(--content-tertiary)]`,children:x})]}),Object.entries(e.input).map(([e,t])=>(0,q.jsxs)(`div`,{className:`mt-0.5`,children:[(0,q.jsxs)(`span`,{className:`text-label-medium-default text-[var(--content-default)]`,children:[e,`:`]}),` `,(0,q.jsx)(`span`,{className:`text-[var(--content-tertiary)]`,children:typeof t==`string`?t.length>200?t.slice(0,200)+`...`:t:JSON.stringify(t)})]},e))]}),e.result!==void 0&&(0,q.jsxs)(`div`,{className:`mt-3`,children:[(0,q.jsx)(`div`,{className:`mb-1.5 text-label-small-default uppercase tracking-wider text-[var(--content-tertiary)]`,children:`Output`}),(0,q.jsxs)(`div`,{className:`relative rounded-md border p-3 ${u?`border-[var(--system-negative-weak)] bg-[var(--system-negative-weak)]`:`border-[var(--border-element)] bg-[var(--surface-base)]`}`,children:[(0,q.jsx)(`pre`,{className:`whitespace-pre-wrap break-words text-body-small-default max-h-60 overflow-y-auto pr-8 ${u?`text-[var(--system-negative-strong)]`:`text-[var(--content-default)]`}`,children:e.result.length>2e3?e.result.slice(0,2e3)+`...`:e.result}),(0,q.jsx)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),N()},className:`absolute right-2 top-2 rounded p-1 text-[var(--content-tertiary)] hover:bg-[var(--ghost-hover)] hover:text-[var(--content-default)]`,title:`Copy output`,children:(0,q.jsx)(W,{className:`h-4 w-4`})})]})]})]})]});return i?(0,q.jsxs)(`div`,{className:`w-full`,children:[(0,q.jsx)(`div`,{role:`button`,tabIndex:k?0:void 0,onClick:()=>{k&&o(!a)},onKeyDown:e=>{k&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),o(!a))},className:`w-full ${k?`cursor-pointer`:`cursor-default`}`,children:P}),a&&k&&(m?(0,q.jsx)(`div`,{className:`px-3 pt-1 pb-2`,children:(0,q.jsx)(ke,{toolCall:e,isSubmitting:s,onSubmit:j,onAllowAndCreateRule:M})}):(0,q.jsx)(`div`,{className:`pl-6 pr-3 pb-2 text-label-medium-default`,children:F}))]}):(0,q.jsxs)(`div`,{className:`my-1 w-full`,children:[(0,q.jsxs)(`button`,{type:`button`,onClick:()=>{k&&o(!a)},className:`flex w-full items-center gap-2 rounded-lg px-3 py-2 text-body-medium-default transition-colors ${u?`bg-[var(--system-negative-weak)]`:`bg-[var(--surface-base)]`} ${k?`cursor-pointer hover:bg-[var(--surface-active)]`:`cursor-default`} ${a?`rounded-b-none`:``}`,children:[(0,q.jsx)(Oe,{isRunning:f,isError:u}),(0,q.jsx)(`span`,{className:u?`text-[var(--system-negative-strong)]`:`text-[var(--content-default)]`,children:te}),(0,q.jsxs)(`span`,{className:`ml-auto flex items-center gap-1.5 text-[var(--content-tertiary)]`,children:[v&&(0,q.jsx)(`span`,{className:`text-label-small-default text-[var(--content-tertiary)]`,title:y,children:v}),k&&(a?(0,q.jsx)(E,{className:`h-4 w-4`}):(0,q.jsx)(w,{className:`h-4 w-4`}))]})]}),a&&k&&(0,q.jsxs)(`div`,{className:`rounded-b-lg border-t px-3 pb-3 text-label-medium-default ${u?`border-[var(--system-negative-weak)] bg-[var(--system-negative-weak)]`:`border-[var(--border-element)] bg-[var(--surface-base)]`}`,children:[P,F]})]})}function je({state:e,testId:t}){switch(e){case`loading`:return null;case`complete`:return(0,q.jsx)(O,{"data-testid":t,"aria-hidden":`true`,"data-state":`complete`,className:`h-[14px] w-[14px] shrink-0 text-[var(--system-positive-strong)]`});case`warning`:return(0,q.jsx)(ne,{"data-testid":t,"aria-hidden":`true`,"data-state":`warning`,className:`h-[14px] w-[14px] shrink-0 text-[var(--system-mid-strong)]`});default:return(0,q.jsx)(D,{"data-testid":t,"aria-hidden":`true`,"data-state":e,className:`h-[14px] w-[14px] shrink-0 text-[var(--system-negative-strong)]`})}}function Me({state:e,leadingIcon:t,currentStepTitle:r,currentStepInfo:i,headerAnimationKey:a,hideStatusIndicator:s=!1,headerActive:c=!1,stepCount:l,defaultExpanded:u=!1,expanded:d,onExpandChange:f,disableExpand:p=!1,bare:m=!1,children:h,"data-testid":g=`tool-progress-card-shell`,statusIndicatorTestId:ee=`tool-progress-card-status-indicator`,headerActionSlot:_,onHeaderClick:v,headerAriaLabel:y}){let[b,x]=(0,K.useState)(u),S=d!==void 0,C=S?d:b,w=V(),T=()=>{if(v){v();return}if(p)return;let e=!C;S||x(e),f?.(e)},E=w?{duration:0}:{duration:.25,ease:[.16,1,.3,1]};return(0,q.jsxs)(`div`,{"data-testid":g,className:m?`flex w-full flex-col`:`flex w-full flex-col rounded-[var(--radius-lg)] border-b border-[var(--border-base)] bg-[var(--surface-overlay)]`,children:[(()=>{let u=(0,q.jsxs)(`span`,{className:m?`flex min-w-0 items-center gap-1`:`flex min-w-0 flex-1 items-center gap-1`,children:[s||e===`loading`?null:(0,q.jsx)(B,{mode:`wait`,initial:!1,children:(0,q.jsx)(z.span,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:w?{duration:0}:{duration:.15,ease:[.16,1,.3,1]},className:`inline-flex shrink-0`,children:(0,q.jsx)(je,{state:e,testId:ee})},e)}),t?(0,q.jsx)(`span`,{className:`mx-1 flex shrink-0 items-center`,children:t}):null,(0,q.jsx)(le,{currentStepTitle:r,currentStepInfo:i,animationKey:a,bypassDwell:e!==`loading`,shimmer:e===`loading`,inline:m})]}),d=l&&!l.startsWith(`0 `)&&!l.startsWith(`1 `)?(0,q.jsx)(`span`,{"data-testid":`tool-progress-card-step-count-pill`,className:`flex shrink-0 items-center rounded-[var(--radius-pill)] bg-[var(--surface-overlay)] px-[6px] py-[4px]`,children:(0,q.jsx)(o,{variant:`body-small-default`,className:`text-[var(--content-emphasised)]`,children:l})}):null,f={variant:`ghost`,size:`compact`,"aria-expanded":v?void 0:C,"aria-label":y??(C?`Collapse steps`:`Expand steps`),onClick:T,disabled:!v&&p};return _?(0,q.jsxs)(`div`,{className:`flex w-full items-center`,children:[(0,q.jsx)(n,{...f,className:`h-auto min-w-0 flex-1 justify-start gap-2 p-3 ${C?`rounded-tl-[var(--radius-lg)] rounded-b-none`:`rounded-l-[var(--radius-lg)]`}`,children:u}),(0,q.jsxs)(`div`,{"data-testid":`tool-progress-card-action-slot`,className:`flex shrink-0 items-center gap-2 pr-3`,children:[_,d]})]}):(0,q.jsxs)(n,{...f,className:m?`h-auto w-fit min-w-0 max-w-[calc(100%+0.375rem)] justify-start gap-2 rounded-md border-0 px-1.5 py-1.5 -ml-1.5 hover:bg-[var(--surface-hover)]${C||c?` bg-[var(--surface-hover)]`:``}`:`h-auto w-full min-w-0 justify-between gap-2 p-3 ${C?`rounded-t-[var(--radius-lg)] rounded-b-none`:`rounded-[var(--radius-lg)]`}`,children:[u,d]})})(),(0,q.jsx)(B,{initial:!1,children:C&&h!=null?(0,q.jsx)(z.div,{initial:{height:0,opacity:0},animate:{height:`auto`,opacity:1},exit:{height:0,opacity:0},transition:E,className:`overflow-hidden`,children:(0,q.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[m?null:(0,q.jsx)(`div`,{className:`h-px w-full bg-[var(--surface-base)]`}),h]})},`expanded-body`):null})]})}function Ne(e){let[t,n]=(0,K.useState)(()=>Date.now());return(0,K.useEffect)(()=>{if(!e)return;n(Date.now());let t=setInterval(()=>n(Date.now()),1e3);return()=>clearInterval(t)},[e]),e?t:void 0}function Pe(e){return ue(e,m.use.liveWebActivity(),Ne(me(e)))}var Fe=80;function Ie(e){return e.map(e=>({kind:`toolCall`,toolCall:e}))}function Le(e){let t=0,n=0;for(let r of e)r.kind!==`thinking`&&(t+=1,(r.kind===`tool_error`||r.kind===`web_search_error`||r.kind===`tool`&&(r.status===`error`||r.status===`denied`))&&(n+=1));return{total:t,failed:n}}function Re(e,t){if(e===`loading`||e===`complete`)return e;let{total:n,failed:r}=Le(t);return r>0&&r<n?`warning`:`error`}function ze(e,t,n){if(e===`loading`)return t&&t!==`<1s`?`Working for ${t}`:`Working`;if(t)return`Worked for ${t}`;switch(e){case`warning`:return`${n} ${n===1?`tool`:`tools`} failed`;case`error`:case`denied`:return`Failed`;default:return`Completed`}}function Be(e){let{toolCalls:t}=e,n=t.some(e=>!!e.pendingConfirmation),r=(0,K.useMemo)(()=>e.items??Ie(t),[e.items,t]),i=Pe(r),a=Ue(t[0]?.id??null);return n?(0,q.jsx)(Ge,{...e}):i.steps.length===0?null:t.length===1&&t[0].name===`web_search`?(0,q.jsx)(Ve,{toolCalls:t,cardData:i,expanded:a.value,onExpandChange:a.onChange}):(0,q.jsx)(He,{...e,cardData:i,effectiveItems:r})}function Ve({toolCalls:e,cardData:t,expanded:n,onExpandChange:r}){let i=e.some(e=>se(e))?`loading`:t.state===`error`||t.state===`denied`?`error`:`complete`,a=t.steps.find(e=>e.kind===`web_search`||e.kind===`web_search_error`)??null;return(0,q.jsx)(xe,{variant:`web`,info:t.currentStepInfo,carouselItems:t.carouselItems,state:i,step:a,expanded:n,onExpandChange:r})}function He({toolCalls:e,cardData:t,effectiveItems:n,onOpenRuleEditor:r,unknownNudgeToolCallIds:i,onDismissUnknownNudge:a,messageId:s,groupIndex:c}){let l=L.use.toggleActivitySteps(),u=L.use.mainView(),d=L.use.activeActivitySteps(),f=Re(t.state,t.steps),p=(0,K.useMemo)(()=>({messageId:s,groupIndex:c,items:n,toolCalls:e}),[s,c,n,e]),m=u===`activity-steps`&&d!=null&&ae(d,p),h=(0,K.useMemo)(()=>t.currentStepKind===`thinking`?(0,q.jsxs)(`span`,{className:`flex w-full min-w-0 items-center gap-1`,children:[(0,q.jsx)(C,{"aria-hidden":`true`,className:`size-3.5 shrink-0 text-[var(--content-tertiary)]`}),(0,q.jsx)(o,{variant:`body-small-default`,className:`min-w-0 flex-1 truncate text-left leading-[16px] text-[var(--content-tertiary)]`,children:x(t.currentStepInfo,Fe)})]}):t.currentStepInfo,[t.currentStepKind,t.currentStepInfo]),g=i&&r?e.filter(e=>i.has(e.id)):[];return(0,q.jsxs)(`div`,{className:`flex w-full flex-col gap-1`,children:[(0,q.jsx)(Me,{bare:!0,hideStatusIndicator:!0,state:f,currentStepTitle:t.currentStepTitle,currentStepInfo:h,stepCount:t.stepCount,onHeaderClick:()=>l(p),headerAriaLabel:`View steps`,headerActive:m}),g.map(e=>(0,q.jsx)(We,{toolCall:e,onOpenRuleEditor:r,onDismiss:a},e.id))]})}function Ue(e){return{value:b(t=>e==null?void 0:t.expandedCardIds.get(e))??!1,onChange:(0,K.useCallback)(t=>{e!=null&&b.getState().setExpandedCardId(e,t)},[e])}}function We({toolCall:e,onOpenRuleEditor:t,onDismiss:n}){return(0,q.jsxs)(`div`,{className:`flex items-center gap-1 pl-6 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,q.jsx)(`span`,{children:`This command wasn't recognized.`}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>t({toolName:e.name,riskLevel:e.riskLevel,riskReason:e.riskReason,input:e.input??{},allowlistOptions:e.riskAllowlistOptions??[],scopeOptions:e.scopeOptions??[],directoryScopeOptions:e.riskDirectoryScopeOptions??[]}),className:`font-medium text-[var(--content-default)] underline underline-offset-2 hover:text-[var(--content-secondary)]`,children:`Create a rule`}),(0,q.jsx)(`span`,{children:`to classify it for next time.`}),n&&(0,q.jsx)(`button`,{type:`button`,"aria-label":`Dismiss`,onClick:()=>n(e.id),className:`ml-1 text-[var(--content-disabled)] hover:text-[var(--content-tertiary)]`,children:(0,q.jsx)(re,{className:`h-3.5 w-3.5`})})]})}function Ge({toolCalls:e,onOpenRuleEditor:t,onConfirmationSubmit:n,onAllowAndCreateRule:r,unknownNudgeToolCallIds:i,onDismissUnknownNudge:a}){return(0,q.jsx)(`div`,{className:`my-1 w-full`,children:(0,q.jsx)(`div`,{className:`space-y-0 rounded-lg bg-[var(--surface-overlay)]`,children:e.map(e=>(0,q.jsxs)(K.Fragment,{children:[(0,q.jsx)(Ae,{toolCall:e,onOpenRuleEditor:t,embedded:!0,...e.pendingConfirmation?{onConfirmationSubmit:n,onAllowAndCreateRule:r}:{}}),i?.has(e.id)&&t&&(0,q.jsx)(We,{toolCall:e,onOpenRuleEditor:t,onDismiss:a})]},e.id))})})}var Ke=/:([\w+-]+)$/,qe=[],Je=()=>qe,Y=null,X=null,Z=null;function Ye(){return Y&&X?Promise.resolve():Z||(Z=r(()=>import(`./emoji-catalog-data-BCc1YNMR.js`).then(e=>{Y=e.searchEmoji;let t=new Map(e.EMOJI_CATALOG.map(e=>[e.shortcode,e.emoji]));X=e=>t.get(e)}),[]),Z)}function Xe(){let[e,t]=(0,K.useState)(()=>Y??Je);return(0,K.useEffect)(()=>{if(Y)return;let e=!1;return Ye().then(()=>{!e&&Y&&t(()=>Y)}),()=>{e=!0}},[]),e}var Ze=()=>void 0;function Qe(){let[e,t]=(0,K.useState)(()=>X??Ze);return(0,K.useEffect)(()=>{if(X)return;let e=!1;return Ye().then(()=>{!e&&X&&t(()=>X)}),()=>{e=!0}},[]),e}function $e(e){if(h(e)&&!(typeof e.result!=`string`||!e.result))try{let t=JSON.parse(e.result);return typeof t.subagentId==`string`?t.subagentId:void 0}catch{return}}function et(e,t){return e.size===0?oe:e.get(t.id)??oe}function tt(e,t,n,r){let i=e.filter(h);if(i.length===0)return[];let a=[];for(let e of i){let i=n.get(e.id);if(i&&!r.has(i)){a.push(i),r.add(i);continue}let o=$e(e);if(o){a.push(o),r.add(o);continue}let s=t.find(e=>!r.has(e.subagentId));s&&(a.push(s.subagentId),r.add(s.subagentId))}return a}function nt(e){if(!u(e)||typeof e.result!=`string`||!e.result)return null;try{let t=JSON.parse(e.result);return typeof t.runId==`string`?t.runId:null}catch{return null}}function Q(e,t){return u(e)?t.get(e.id)??nt(e):null}function rt(e,t,n){let r=[];for(let i of e){if(!u(i))continue;let e=t.get(i.id);if(e&&!n.has(e)){r.push(e),n.add(e);continue}let a=nt(i);a&&!n.has(a)&&(r.push(a),n.add(a))}return r}function it(e,t){let n=new Set;for(let r of e){let e=Q(r,t.byToolUseId);if(e!==null){if(t.byId[e]!==void 0){n.add(e);continue}t.notFoundRunIds.has(e)||t.hydrationFailedRunIds.has(e)||n.add(e)}}return n}function at(e){if(!v(e)||typeof e.result!=`string`||!e.result)return null;try{let t=JSON.parse(e.result);return typeof t.acpSessionId==`string`?t.acpSessionId:null}catch{return null}}function ot(e){if(l(e)&&!(typeof e.result!=`string`||!e.result))try{let t=JSON.parse(e.result);return t.backgrounded===!0&&typeof t.id==`string`?t.id:void 0}catch{return}}function st(e,t){let n=[];for(let r of e){if(!l(r))continue;let e=ot(r);e&&!t.has(e)&&(n.push(e),t.add(e))}return n}function ct(e,t){return v(e)?t.get(e.id)??at(e):null}function lt(e,t,n){let r=[];for(let i of e){if(!v(i))continue;let e=t.get(i.id);if(e&&!n.has(e)){r.push(e),n.add(e);continue}let a=at(i);a&&!n.has(a)&&(r.push(a),n.add(a))}return r}function ut(e,t){return e===`assistant`?$(t)??`Assistant`:`User`}function $(...e){for(let t of e){let e=t?.trim();if(e)return e}}function dt(e,t){if(!e.slackMessage)return null;let n=e.slackMessage.sender;return $(n?.displayName,n?.name,n?.username,n?.externalUserId)??ut(e.role,t)}function ft(e){return _e(e)}function pt({message:e,assistantDisplayName:t}){let n=dt(e,t);return n?(0,q.jsx)(`div`,{"data-testid":`slack-message-attribution`,className:`inline-flex items-center gap-1.5 text-body-small-default text-[var(--content-tertiary)]`,children:(0,q.jsx)(`span`,{children:n})}):null}function mt({message:e}){let t=Qe(),n=e.slackMessage?.reaction;if(!n)return null;let r=t(n.emoji)??`:${n.emoji}:`,i=n.actorDisplayName??e.slackMessage?.sender?.displayName??e.slackMessage?.sender?.name,a=n.op===`added`?`reacted`:`removed reaction`;return(0,q.jsxs)(`div`,{"data-testid":`slack-reaction-line`,className:`flex items-center gap-1.5 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,q.jsx)(`span`,{className:`text-base`,children:r}),i&&(0,q.jsx)(`span`,{children:i}),(0,q.jsx)(`span`,{children:a})]})}export{G as C,_e as S,U as T,Le as _,ot as a,Se as b,lt as c,rt as d,Q as f,ze as g,Be as h,it as i,st as l,Xe as m,mt as n,ft as o,Ke as p,ct as r,et as s,pt as t,tt as u,Re as v,W as w,xe as x,Pe as y};
|
|
@@ -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{n as r,u as i}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as a}from"./jsx-runtime-D3ZM-ToX.js";import{t as o}from"./typography-DEI9Ra9z.js";import{t as s}from"./card-DRIctGVs.js";import{t as c}from"./notice-BMK7xqUw.js";import{n as l}from"./toast-LgLp4obE.js";import{u}from"./routes-D9sNqB_o.js";import{i as d,r as f,t as p}from"./use-platform-gate-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-Dy5001j6.js";import{n as r,u as i}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as a}from"./jsx-runtime-D3ZM-ToX.js";import{t as o}from"./typography-DEI9Ra9z.js";import{t as s}from"./card-DRIctGVs.js";import{t as c}from"./notice-BMK7xqUw.js";import{n as l}from"./toast-LgLp4obE.js";import{u}from"./routes-D9sNqB_o.js";import{i as d,r as f,t as p}from"./use-platform-gate-C65D14xY.js";import{t as m}from"./platform-login-notice-CdYiKsE8.js";var h=e(t(),1),g=a();function _(){let e=d({platformHostedOnly:!0}),t=p(),a=f(),_=i();return(0,h.useEffect)(()=>{t&&(l.info(`Upgrade canceled. No changes to your plan.`,{id:`pro-upgrade-cancel`}),_(u.settings.usageBilling,{replace:!0}))},[_,t]),e===`gated`?(0,g.jsx)(r,{replace:!0,to:u.settings.general}):e===`disabled`?(0,g.jsx)(`div`,{className:`max-w-4xl space-y-6`,children:(0,g.jsx)(m,{children:`Log in to the Vellum platform to manage billing and usage.`})}):!t&&!a?(0,g.jsxs)(`div`,{className:`max-w-4xl space-y-6`,children:[(0,g.jsx)(c,{tone:`warning`,children:`Billing isn't available for the current assistant state.`}),(0,g.jsx)(`div`,{className:`flex justify-end`,children:(0,g.jsx)(n,{variant:`primary`,onClick:()=>_(u.settings.usageBilling,{replace:!0}),children:`Return to billing`})})]}):(0,g.jsx)(`div`,{className:`max-w-4xl space-y-6`,children:(0,g.jsxs)(s,{padding:`lg`,children:[(0,g.jsx)(o,{as:`h1`,variant:`title-large`,children:`Upgrade canceled`}),(0,g.jsx)(o,{as:`p`,variant:`body-medium-default`,className:`mt-2`,children:`Returning you to billing settings…`})]})})}export{_ as UpgradeCancelPage};
|
|
@@ -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{n as r,u as i}from"./chunk-5KNZJZUH-Bsoom5--.js";import{n as a}from"./QueryClientProvider-CMu7CkQU.js";import{t as o}from"./useQuery-Bz-fbQ-m.js";import{t as s}from"./jsx-runtime-D3ZM-ToX.js";import{t as c}from"./typography-DEI9Ra9z.js";import{t as l}from"./card-DRIctGVs.js";import{t as u}from"./circle-alert-DVCpoZrc.js";import{t as d}from"./circle-check-CjGnAahM.js";import{t as f}from"./loader-circle-XREx3i4W.js";import{t as p}from"./notice-BMK7xqUw.js";import{u as m}from"./routes-D9sNqB_o.js";import{i as h,r as g,t as _}from"./use-platform-gate-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-Dy5001j6.js";import{n as r,u as i}from"./chunk-5KNZJZUH-Bsoom5--.js";import{n as a}from"./QueryClientProvider-CMu7CkQU.js";import{t as o}from"./useQuery-Bz-fbQ-m.js";import{t as s}from"./jsx-runtime-D3ZM-ToX.js";import{t as c}from"./typography-DEI9Ra9z.js";import{t as l}from"./card-DRIctGVs.js";import{t as u}from"./circle-alert-DVCpoZrc.js";import{t as d}from"./circle-check-CjGnAahM.js";import{t as f}from"./loader-circle-XREx3i4W.js";import{t as p}from"./notice-BMK7xqUw.js";import{u as m}from"./routes-D9sNqB_o.js";import{i as h,r as g,t as _}from"./use-platform-gate-C65D14xY.js";import{lt as v,ut as y}from"./react-query.gen-BC3STDmV.js";import{t as b}from"./platform-login-notice-CdYiKsE8.js";var x=e(t(),1),S=s(),C=1e3,w=1e4,T=2500;function E(){let e=h({platformHostedOnly:!0}),t=_(),s=g(),c=e===`full`&&t,u=i(),d=a(),[f,E]=(0,x.useState)(!1);(0,x.useEffect)(()=>{d.invalidateQueries({queryKey:y()})},[d]);let{data:j,isError:M}=o({...v(),enabled:c,refetchInterval:e=>e.state.data?.plan_id===`pro`||f?!1:C,refetchIntervalInBackground:!1}),N=c?j:void 0,P=c?M:!1;(0,x.useEffect)(()=>{if(!c)return;let e=setTimeout(()=>E(!0),w);return()=>clearTimeout(e)},[c]);let F=N?.plan_id===`pro`;(0,x.useEffect)(()=>{if(!F)return;let e=setTimeout(()=>{u(m.settings.usageBilling,{replace:!0})},T);return()=>clearTimeout(e)},[F,u]);let I=()=>u(m.settings.usageBilling,{replace:!0});return e===`gated`?(0,S.jsx)(r,{replace:!0,to:m.settings.general}):e===`disabled`?(0,S.jsx)(`div`,{className:`max-w-4xl space-y-6`,children:(0,S.jsx)(b,{children:`Log in to the Vellum platform to manage billing and usage.`})}):!c&&!s?(0,S.jsxs)(`div`,{className:`max-w-4xl space-y-6`,children:[(0,S.jsx)(p,{tone:`warning`,children:`We can't confirm your upgrade for the current assistant. Return to billing to retry.`}),(0,S.jsx)(`div`,{className:`flex justify-end`,children:(0,S.jsx)(n,{variant:`primary`,"data-testid":`upgrade-success-go-to-billing`,onClick:I,children:`Go to billing`})})]}):(0,S.jsx)(`div`,{className:`max-w-4xl space-y-6`,children:(0,S.jsxs)(l,{padding:`lg`,children:[F?(0,S.jsx)(O,{}):P?(0,S.jsx)(A,{}):f?(0,S.jsx)(k,{}):(0,S.jsx)(D,{}),(F||P||f)&&(0,S.jsx)(`div`,{className:`mt-4 flex justify-end`,children:(0,S.jsx)(n,{variant:F||P?`primary`:`outlined`,"data-testid":`upgrade-success-go-to-billing`,onClick:I,children:`Go to billing`})})]})})}function D(){return(0,S.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-6 text-center`,children:[(0,S.jsx)(f,{className:`h-6 w-6 animate-spin text-[var(--content-secondary)]`,"aria-hidden":`true`}),(0,S.jsx)(c,{variant:`title-small`,as:`h1`,children:`Finalizing your upgrade…`}),(0,S.jsx)(c,{variant:`body-medium-lighter`,as:`p`,className:`text-[var(--content-secondary)]`,children:`Stripe is confirming your subscription. This usually takes a few seconds.`})]})}function O(){return(0,S.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-6 text-center`,children:[(0,S.jsx)(d,{className:`h-8 w-8 text-[var(--system-positive-strong)]`,"aria-hidden":`true`}),(0,S.jsx)(c,{variant:`title-small`,as:`h1`,children:`Welcome to Pro`}),(0,S.jsx)(c,{variant:`body-medium-lighter`,as:`p`,className:`text-[var(--content-secondary)]`,children:`Your Pro plan is active. You'll be redirected back to billing in a moment.`})]})}function k(){return(0,S.jsx)(p,{tone:`warning`,children:`We're processing your upgrade — refresh in a moment to see your new plan.`})}function A(){return(0,S.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-6 text-center`,children:[(0,S.jsx)(u,{className:`h-8 w-8 text-[var(--system-negative-strong)]`,"aria-hidden":`true`}),(0,S.jsx)(c,{variant:`title-small`,as:`h1`,children:`Couldn't reach billing`}),(0,S.jsx)(c,{variant:`body-medium-lighter`,as:`p`,className:`text-[var(--content-secondary)]`,children:`We hit a problem checking your subscription. Your upgrade may still be processing — return to billing to refresh.`})]})}export{E as UpgradeSuccessPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./client-feature-flag-store-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./client-feature-flag-store-CMncoan8.js";import{n as r,t as i}from"./theme-preferences-Bb2pPRXa.js";var a=e(t(),1);function o(){let e=n.use.velvet();(0,a.useEffect)(()=>{i(r({velvetEnabled:e}));let t=window.matchMedia(`(prefers-color-scheme: dark)`),n=()=>{let t=r({velvetEnabled:e});t===`system`&&i(t)};return t.addEventListener(`change`,n),()=>t.removeEventListener(`change`,n)},[e])}export{o as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{n}from"./QueryClientProvider-CMu7CkQU.js";import{t as r}from"./useQuery-Bz-fbQ-m.js";import{
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{n}from"./QueryClientProvider-CMu7CkQU.js";import{t as r}from"./useQuery-Bz-fbQ-m.js";import{Ir as i,Lr as a,Rr as o,Ur as s,d as c,f as l,m as u,p as d}from"./sdk.gen-BHZ0fJla.js";import{i as f,r as p,t as m}from"./utils-CnB60ZJN.js";import{n as h}from"./api-errors-CFiCT7Ap.js";var g=e(t(),1),_=`0.8.7`;function v(){return m(_)}function y(){return p(_)}async function b(){return await f(),v()}function x(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.bodyShape==`string`&&typeof t.eyeStyle==`string`&&typeof t.color==`string`}function S(e){return e===`character`||e===`image`||e===`none`}function C(e){return e===`builder`||e===`upload`||e===`ai`}function w(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.updatedAt==`string`&&typeof t.etag==`string`}function T(e){if(typeof e!=`object`||!e)return!1;let t=e;return S(t.kind)&&(t.traits===null||x(t.traits))&&(t.source===null||C(t.source))&&(t.image===null||w(t.image))}async function E(e){try{let{data:t,error:n,response:r}=await u({path:{assistant_id:e},throwOnError:!1});return h(r,n,`Failed to fetch avatar state`),!r.ok||!T(t)?null:t}catch{return null}}async function D(e){try{let{data:t,error:n,response:r}=await c({path:{assistant_id:e},throwOnError:!1});return h(r,n,`Failed to fetch character components`),!r.ok||!t?null:t}catch{return null}}async function O(e){try{let{data:t,error:n,response:r}=await o({path:{assistant_id:e},query:{path:`data/avatar/character-traits.json`},throwOnError:!1});if(h(r,n,`Failed to fetch character traits`),!r.ok||!t)return null;let i=JSON.parse(t.content);return x(i)?i:null}catch{return null}}async function k(e,t){try{let{error:n,response:r}=await d({path:{assistant_id:e},body:t,throwOnError:!1});return h(r,n,`Failed to save character traits`),r.ok}catch{return!1}}async function A(e,t){try{let n=await t.arrayBuffer(),r=btoa(new Uint8Array(n).reduce((e,t)=>e+String.fromCharCode(t),``));if(!await b())return j(e,r);let{error:i,response:a}=await l({path:{assistant_id:e},body:{content:r,encoding:`base64`},throwOnError:!1});return h(a,i,`Failed to upload avatar image`),a.ok}catch{return!1}}async function j(e,t){let{error:n,response:r}=await s({path:{assistant_id:e},body:{path:`data/avatar/avatar-image.png`,content:t,encoding:`base64`},throwOnError:!1});return h(r,n,`Failed to upload avatar image`),r.ok?(await i({path:{assistant_id:e},body:{path:`data/avatar/character-traits.json`},throwOnError:!1}),!0):!1}async function M(e){try{let{data:t,error:n,response:r}=await a({path:{assistant_id:e},query:{path:`data/avatar/avatar-image.png`},parseAs:`blob`,throwOnError:!1});return h(r,n,`Failed to fetch avatar image`),!r.ok||!t?null:URL.createObjectURL(t)}catch{return null}}var N=`assistantAvatar`;function P(e){return[N,e]}var F=new Map;async function I(e){let t=await E(e);if(t===null)throw Error(`Failed to fetch avatar state`);return t.kind===`character`?{traits:t.traits,imageUrl:null}:t.kind===`image`?{traits:null,imageUrl:await M(e)}:{traits:null,imageUrl:null}}async function L(e){let t=await M(e);return{traits:t?null:await O(e),imageUrl:t}}function R(e){let t=n(),i=y(),{data:a,isLoading:o}=r({queryKey:[...P(e??``),i],queryFn:async()=>{let t=e,[n,{traits:r,imageUrl:a}]=await Promise.all([D(t),i?I(t):L(t)]);if(!n&&!a)throw Error(`Failed to fetch character components`);let o=F.get(t);return o&&o!==a&&URL.revokeObjectURL(o),a?F.set(t,a):F.delete(t),{components:n,traits:r,customImageUrl:a}},enabled:!!e,staleTime:1/0,structuralSharing:!1,retry:1}),s=(0,g.useCallback)(()=>{e&&t.invalidateQueries({queryKey:P(e)})},[e,t]);return{components:a?.components??null,traits:a?.traits??null,customImageUrl:a?.customImageUrl??null,isLoading:o,invalidate:s}}export{k as a,O as i,R as n,A as o,D as r,P as t};
|
package/dist/assets/{use-assistant-capability-C8pZDYlr.js → use-assistant-capability-CDS7GbSO.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./useQuery-Bz-fbQ-m.js";import{n as t}from"./resolved-assistants-store-Dw5UuGyB.js";import{a as n}from"./api-
|
|
1
|
+
import{t as e}from"./useQuery-Bz-fbQ-m.js";import{n as t}from"./resolved-assistants-store-Dw5UuGyB.js";import{a as n}from"./api-LG8zI3nK.js";function r(r){let i=t.use.activeAssistantId(),{data:a=!1}=e({queryKey:[`assistant-capability`,r,i],enabled:i!=null,queryFn:async()=>{if(!i)return!1;let e=await n(i);return e.ok&&e.data.capabilities?.[r]===!0},retry:!1,staleTime:6e4});return a}export{r as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-Bj8_eutd.js";import{t as n}from"./react-BFJW0bSv.js";import{t as r}from"./useQuery-Bz-fbQ-m.js";import{t as i}from"./jsx-runtime-D3ZM-ToX.js";import{t as a}from"./cn-CJf7MmLX.js";import"./src-te3YTBG-.js";import{V as o,bn as s,tt as c,xn as l}from"./sdk.gen-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-Bj8_eutd.js";import{t as n}from"./react-BFJW0bSv.js";import{t as r}from"./useQuery-Bz-fbQ-m.js";import{t as i}from"./jsx-runtime-D3ZM-ToX.js";import{t as a}from"./cn-CJf7MmLX.js";import"./src-te3YTBG-.js";import{V as o,bn as s,tt as c,xn as l}from"./sdk.gen-BHZ0fJla.js";import{r as u}from"./api-LG8zI3nK.js";import{n as d,r as f,t as p}from"./eye-bbox-C_V87iLg.js";import{t as m}from"./proxy-D7UPVac3.js";import{t as h}from"./use-reduced-motion-W1fCe3vS.js";import{i as g}from"./avatar-tone-BKwvoDSj.js";import{l as _,n as v,t as y}from"./latest-assistant-text-DOepZ_Io.js";var b=e(n(),1),x=i(),S=.25,C=.46,w=.3,T=.85,E=.4,D=14,O=8;function k({components:e,traits:t,stage:n,entrance:r=!1,entranceDelay:i=0}){let a=h(),{w:o,h:s}=n,[c,l]=(0,b.useState)({x:0,y:0});(0,b.useEffect)(()=>{if(a)return;let e=e=>{l({x:(e.clientX/window.innerWidth-.5)*2,y:(e.clientY/window.innerHeight-.5)*2})};return window.addEventListener(`mousemove`,e),()=>window.removeEventListener(`mousemove`,e)},[a]);let u=r&&!a,[f,g]=(0,b.useState)(!1),[_,v]=(0,b.useState)(!r);(0,b.useEffect)(()=>{if(a||!_)return;let e=!1,t,n=n=>{e||(g(!0),t=setTimeout(()=>{e||(g(!1),t=setTimeout(n,140))},140))},i=()=>{t=setTimeout(()=>n(i),2500+Math.random()*4e3)};return r?n(()=>n(i)):i(),()=>{e=!0,clearTimeout(t)}},[a,_,r]);let y=(0,b.useMemo)(()=>{let n=e.eyeStyles.find(e=>e.id===t.eyeStyle);return n?{paths:n.paths,bbox:d(n.paths.map(e=>p(e.svgPath)))}:null},[e,t.eyeStyle]);if(!y||o===0||s===0)return null;let k=o*T,A=Math.min(Math.min(o,s)*w,k*y.bbox.h/y.bbox.w),j=A*y.bbox.w/y.bbox.h,M=(o-j)/2,N=s-(1-S)*A,P=E*s-(N+A/2),F=(C-S)*A,I=y.bbox.x+y.bbox.w/2,L=y.bbox.y+y.bbox.h/2;return(0,x.jsx)(m.div,{"aria-hidden":`true`,className:`pointer-events-none absolute z-[2]`,style:{left:M,top:N,width:j,height:A,transformOrigin:`center`},initial:u?{y:P,scale:.35}:!1,animate:u?{y:[P,F,0],scale:[.35,1,1]}:{y:0,scale:1},transition:u?{duration:1,delay:i,times:[0,.7,1],ease:`easeInOut`}:{duration:0},onAnimationComplete:()=>v(!0),children:(0,x.jsx)(`div`,{style:{transform:`translate(${c.x*D}px, ${c.y*O}px)`,transition:`transform 0.5s cubic-bezier(0.22, 1, 0.36, 1)`},children:(0,x.jsx)(`svg`,{viewBox:`${y.bbox.x} ${y.bbox.y} ${y.bbox.w} ${y.bbox.h}`,width:j,height:A,style:{overflow:`visible`,display:`block`},children:(0,x.jsx)(`g`,{style:{transform:f?`scaleY(0.1)`:`scaleY(1)`,transformOrigin:`${I}px ${L}px`,transition:`transform 0.14s ease-in-out`},children:y.paths.map((e,t)=>(0,x.jsx)(`path`,{d:e.svgPath,fill:e.color},t))})})})})}var A=w*(1-S),j=`#17191C`,M=24,N=.2,P=96,F=160,I=(0,b.createContext)(null);function L(){let e=(0,b.useContext)(I);if(!e)throw Error(`useAssistantStage must be used inside <AssistantStage>`);return e}function R(e,t){return!e||!t?null:e.colors.find(e=>e.id===t.color)?.hex??null}function z({components:e,traits:t,customImageUrl:n,entrance:r=!1,children:i,className:o}){let{ref:s,size:c}=v(),l=R(e,t)??j,u=g(l),d=!!(e&&t),f=!d&&!!n,p=Math.round(Math.min(F,Math.max(P,Math.min(c.w,c.h)*N))),m=c.h-p-M,h=d?Math.round(A*Math.min(c.w,c.h))+16:f?p+M+16:24;return(0,x.jsxs)(`div`,{ref:s,className:a(`relative flex min-h-0 flex-1 flex-col overflow-hidden rounded-lg border border-[var(--border-base)]`,o),style:{backgroundColor:l,color:u.fg},children:[d&&e&&t&&(0,x.jsx)(k,{components:e,traits:t,stage:c,entrance:r}),f&&n&&(0,x.jsx)(`div`,{"aria-hidden":`true`,className:`pointer-events-none absolute z-[2] overflow-hidden rounded-full ring-4 ring-white/25`,style:{left:(c.w-p)/2,top:m,width:p,height:p},children:(0,x.jsx)(`img`,{src:n,alt:``,className:`h-full w-full object-cover`,draggable:!1})}),(0,x.jsx)(I.Provider,{value:{stage:c,tone:u,bottomReserve:h},children:(0,x.jsx)(`div`,{className:`relative z-10 flex min-h-0 flex-1 flex-col`,children:i})})]})}var B=[{id:`companion-coworker`,left:`Companion`,right:`Coworker`},{id:`genz-boomer`,left:`Gen Z`,right:`Baby Boomer`},{id:`execute-collaborate`,left:`Independent`,right:`Collaborative`},{id:`playful-serious`,left:`Playful`,right:`Serious`},{id:`polite-unfiltered`,left:`Polite`,right:`Unfiltered`}],V=50,H=1500,U=12e4,W=e=>new Promise(t=>setTimeout(t,e));async function G({assistantId:e,content:n,title:r,context:i}){let a,u=!1;try{let t=await c({path:{assistant_id:e},body:{conversationType:`standard`,title:r},throwOnError:!1});if(a=t.data?.id,!t.response?.ok||!a)return!1;let i={conversationId:a,content:n,sourceChannel:`vellum`,interface:`vellum`,clientMessageId:crypto.randomUUID()};if(!(await l({path:{assistant_id:e},body:i,throwOnError:!1})).response?.ok)return!1;let o=Date.now()+U,d=``,f=0,p=!1;for(;Date.now()<o;){await W(H);let t=await s({path:{assistant_id:e},query:{conversationId:a},throwOnError:!1}),n=y(t.data?.messages??[]);if(n&&(f=n===d?f+1:0,d=n),t.data?.processing===!0&&(p=!0),_({processing:t.data?.processing,sawProcessing:p,hasReply:n.length>0,stableReads:f})){u=!0;break}}}catch(e){t(e,{context:i})}finally{if(a)try{await o({path:{assistant_id:e,id:a},throwOnError:!1})}catch(e){t(e,{context:`${i}_archive`})}}return u}function K(e){return[`assistant-identity-details`,e]}function q(e){return r({queryKey:K(e),queryFn:async()=>{let[t,n]=await Promise.all([f(e),u(e).catch(()=>({ok:!1,status:0,error:{}}))]);return{identity:t,createdAt:n.ok?n.data.created:null}}})}export{V as a,L as c,B as i,q as n,z as o,G as r,R as s,K as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-Bj8_eutd.js";import{t as n}from"./react-BFJW0bSv.js";import{n as r}from"./QueryClientProvider-CMu7CkQU.js";import{t as i}from"./useQuery-Bz-fbQ-m.js";import{t as a}from"./use-supports-bookmarks-C3J7FtDn.js";import"./src-te3YTBG-.js";import{n as o}from"./toast-LgLp4obE.js";import{n as s}from"./resolved-assistants-store-Dw5UuGyB.js";import{S as c,b as l}from"./sdk.gen-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-Bj8_eutd.js";import{t as n}from"./react-BFJW0bSv.js";import{n as r}from"./QueryClientProvider-CMu7CkQU.js";import{t as i}from"./useQuery-Bz-fbQ-m.js";import{t as a}from"./use-supports-bookmarks-C3J7FtDn.js";import"./src-te3YTBG-.js";import{n as o}from"./toast-LgLp4obE.js";import{n as s}from"./resolved-assistants-store-Dw5UuGyB.js";import{S as c,b as l}from"./sdk.gen-BHZ0fJla.js";import{i as u,r as d}from"./react-query.gen-C5c1Acuq.js";var f=e(n(),1),p=[];function m(){let e=s.use.activeAssistantId();return{assistantId:e,enabled:a(e)&&!!e}}function h(){let{assistantId:e,enabled:t}=m(),n=i({...d({path:{assistant_id:e??``}}),enabled:t});return{bookmarks:n.data?.bookmarks??p,isLoading:n.isLoading,isError:n.isError,refetch:()=>{n.refetch()}}}function g(e){let{assistantId:t,enabled:n}=m();return i({...d({path:{assistant_id:t??``}}),enabled:n,select:t=>e?t.bookmarks.some(t=>t.messageId===e):!1}).data??!1}function _(e,t){return a(s.use.activeAssistantId())&&!!t&&!!e.id&&!e.isOptimistic}function v(){let e=s.use.activeAssistantId(),n=r();return(0,f.useCallback)(async(r,i,a)=>{if(!e)return;let s=u({path:{assistant_id:e}});await n.cancelQueries({queryKey:s});let d=n.getQueryData(s);n.setQueryData(s,e=>{let t=e?.bookmarks??[];if(a)return{bookmarks:t.filter(e=>e.messageId!==r)};if(t.some(e=>e.messageId===r))return e;let n=Date.now();return{bookmarks:[{id:`optimistic-${r}`,messageId:r,conversationId:i,conversationTitle:null,messagePreview:``,messageRole:``,messageCreatedAt:n,createdAt:n},...t]}});try{a?await l({path:{assistant_id:e,messageId:r},throwOnError:!0}):await c({path:{assistant_id:e},body:{messageId:r,conversationId:i},throwOnError:!0})}catch(e){d!==void 0&&n.setQueryData(s,d),t(e,{context:`bookmark_toggle`}),o.error(a?`Failed to remove bookmark.`:`Failed to bookmark message.`)}finally{n.invalidateQueries({queryKey:s})}},[e,n])}export{g as i,h as n,_ as r,v as t};
|