@vellumai/web 0.10.8-dev.202607142125.4cfef21 → 0.10.8-dev.202607142322.265489c
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{AnimatePresence-TZWSGjkI.js → AnimatePresence-C8APSgIu.js} +1 -1
- package/dist/assets/{BundleConfirmPage-DwVI7U0b.js → BundleConfirmPage-csl_-Nye.js} +1 -1
- package/dist/assets/{a2a-invite-CwD3hY_-.js → a2a-invite-fHwl0Epx.js} +1 -1
- package/dist/assets/{about-page-vayMMPxH.js → about-page-CTqRcFvb.js} +1 -1
- package/dist/assets/{account-page-uVMhWTmh.js → account-page-CREIbo8r.js} +1 -1
- package/dist/assets/{account-shell-DaECsri2.js → account-shell-DQw5Mu9M.js} +1 -1
- package/dist/assets/{acp-run-detail-panel-DKXp8jTf.js → acp-run-detail-panel-BQ7oB3Kz.js} +4 -4
- package/dist/assets/{activity-steps-panel-Bq9yj1qu.js → activity-steps-panel-BuLfnLrL.js} +1 -1
- package/dist/assets/{add-credits-modal-DjQdNLWh.js → add-credits-modal-DCjjbsdC.js} +1 -1
- package/dist/assets/advanced-page-BNtmbTE9.js +1 -0
- package/dist/assets/ai-page-BdTGKtrn.js +1 -0
- package/dist/assets/{animated-avatar-DMwzREGQ.js → animated-avatar-sv1Uybgk.js} +1 -1
- package/dist/assets/{api-DHuLwcqq.js → api-Bevr0pGX.js} +1 -1
- package/dist/assets/{api-Dfrm6N2I.js → api-DkSxu9mt.js} +1 -1
- package/dist/assets/{api-key-screen-DhFeDT-n.js → api-key-screen-BQ6XB3zX.js} +1 -1
- package/dist/assets/{app-info-BxdEjcok.js → app-info-BezApPMu.js} +1 -1
- package/dist/assets/{archive-page-BLEqhIZ8.js → archive-page-B9BC21rD.js} +1 -1
- package/dist/assets/{assistant-feature-flag-store-BA3GR2m5.js → assistant-feature-flag-store-C6uBkduo.js} +1 -1
- package/dist/assets/assistant-identity-store-BYhArr-D.js +1 -0
- package/dist/assets/{assistant-status-panel-CW7lTRBE.js → assistant-status-panel-C7kL3Fc9.js} +1 -1
- package/dist/assets/{auth-store-65JKPW7C.js → auth-store-g_yS_oCN.js} +2 -2
- package/dist/assets/{background-task-detail-panel-ChfmmS5C.js → background-task-detail-panel-CP-u3R1_.js} +1 -1
- package/dist/assets/billing-page-CBJTzlrQ.js +3 -0
- package/dist/assets/{bookmarks-page-BdcnBpJK.js → bookmarks-page-DkfushU5.js} +1 -1
- package/dist/assets/{browser-Cnr7iqbJ.js → browser-CVeP58LI.js} +2 -2
- package/dist/assets/{build-state-D-aPe0DY.js → build-state-t-JUBX2c.js} +1 -1
- package/dist/assets/{capture-error-Dhiismgm.js → capture-error-DVAJKNAr.js} +1 -1
- package/dist/assets/channels-page-route-BOXNIXmJ.js +9 -0
- package/dist/assets/chat-markdown-message-DCX0m-SI.js +2 -0
- package/dist/assets/{client-feature-flag-store-Ri-a_LuI.js → client-feature-flag-store-DNBCLZIZ.js} +1 -1
- package/dist/assets/{client-identity-DfC94VQ4.js → client-identity-CwQmFQji.js} +1 -1
- package/dist/assets/{command-palette-Bu2Qjyle.js → command-palette-BMG34zf3.js} +1 -1
- package/dist/assets/{command-palette-window-page-CtQ40jMw.js → command-palette-window-page-p_F6cb4w.js} +1 -1
- package/dist/assets/{community-page-DL_oR63v.js → community-page-HxmWdthP.js} +1 -1
- package/dist/assets/{confirm-dialog-CSkhRFRk.js → confirm-dialog-BZvq8PhO.js} +1 -1
- package/dist/assets/{connect-page-BCb6nr8x.js → connect-page-CN1z98GY.js} +1 -1
- package/dist/assets/{consent-controls-udcijSAB.js → consent-controls-DfdDxos6.js} +1 -1
- package/dist/assets/{contacts-gateway-DfyjoqNo.js → contacts-gateway-Blx1MZT7.js} +1 -1
- package/dist/assets/contacts-page-route-2j45PY23.js +1 -0
- package/dist/assets/{conversation-list-fetchers-_PUdRqRZ.js → conversation-list-fetchers-Bj9nBKoX.js} +1 -1
- package/dist/assets/{conversation-store-CynXqAcO.js → conversation-store-CGnszPFj.js} +1 -1
- package/dist/assets/{credential-entry-page-CRTZY2VD.js → credential-entry-page-BrU5f0Ot.js} +1 -1
- package/dist/assets/credentials-page-BYKLlQ44.js +1 -0
- package/dist/assets/{danger-zone-redirect-page-BpM01x_c.js → danger-zone-redirect-page-k8Yz0X-5.js} +1 -1
- package/dist/assets/debug-page-BvplcBeV.js +4 -0
- package/dist/assets/{deploy-dialogs-C6pCnoVj.js → deploy-dialogs-CGm52wDM.js} +1 -1
- package/dist/assets/{detail-card-GPqFZVmX.js → detail-card-B5I6aXNi.js} +1 -1
- package/dist/assets/{detail-panel-stop-button-H9sXvWGa.js → detail-panel-stop-button-CHbxMggg.js} +1 -1
- package/dist/assets/{developer-page-DZdwzLQu.js → developer-page-DR5YhfNd.js} +1 -1
- package/dist/assets/{devices-page-ChwagiFL.js → devices-page-CHW1sKFf.js} +1 -1
- package/dist/assets/{diagnostics-CUmYxbmM.js → diagnostics-CQZr8zYd.js} +1 -1
- package/dist/assets/{dictation-overlay-page-BmLNyGeD.js → dictation-overlay-page-ysmM3hSl.js} +1 -1
- package/dist/assets/document-viewer-page-BN-X2IUi.js +1 -0
- package/dist/assets/earn-credits-modal-CWzv3Fjx.js +1 -0
- package/dist/assets/{edge-swipe-arbiter-store-VEaUoy3F.js → edge-swipe-arbiter-store-C5XmK_JQ.js} +1 -1
- package/dist/assets/effective-timezone-C7oLHXZe.js +1 -0
- package/dist/assets/{emails-page-D_ZdkIHT.js → emails-page-CYyH_pYA.js} +1 -1
- package/dist/assets/{environment-store-Bxe2pTvW.js → environment-store-DyMUUr1E.js} +1 -1
- package/dist/assets/esm--MFihM2h.js +2 -0
- package/dist/assets/{esm-CE4Ehw9K.js → esm-BIArZ03C.js} +2 -2
- package/dist/assets/esm-BT8CmhPM.js +2 -0
- package/dist/assets/esm-BjWZJD7k.js +2 -0
- package/dist/assets/esm-CxJJMk-j.js +2 -0
- package/dist/assets/esm-DtkJfG7y.js +2 -0
- package/dist/assets/esm-JoFZb0u6.js +1 -0
- package/dist/assets/file-editor-B5TY0UEr.js +1 -0
- package/dist/assets/file-markdown-Cup-RHth.js +2 -0
- package/dist/assets/general-page-CaJ4KOpT.js +1 -0
- package/dist/assets/{haptics-BOswdY5A.js → haptics-DWu_sa-d.js} +2 -2
- package/dist/assets/{hatching-screen-DiUygZtk.js → hatching-screen-CjnpNzIg.js} +1 -1
- package/dist/assets/home-page-route-DoRSHbpu.js +1 -0
- package/dist/assets/{hosting-screen-nru73FGU.js → hosting-screen-GEFIG0JZ.js} +1 -1
- package/dist/assets/{identity-page-route-CbHcVb6m.js → identity-page-route-__qpnxPT.js} +1 -1
- package/dist/assets/index-B80w6ZQS.css +2 -0
- package/dist/assets/index-KzfXKHkT.js +209 -0
- package/dist/assets/{inspect-page-DoA1sfxg.js → inspect-page-DzSo6xjZ.js} +4 -4
- package/dist/assets/integrations-page-Dezw6v3C.js +1 -0
- package/dist/assets/{intelligence-layout-oIGPC8W1.js → intelligence-layout-CJvaBuNa.js} +1 -1
- package/dist/assets/{keyboard-shortcuts-page-BzeIMUpj.js → keyboard-shortcuts-page-BJo7kTtr.js} +1 -1
- package/dist/assets/{library-detail-page-D0Dv3ZLJ.js → library-detail-page-DfbyncHP.js} +1 -1
- package/dist/assets/{library-page-D7I-sk41.js → library-page-CZhpOdhW.js} +1 -1
- package/dist/assets/list-row-BZaww4d3.js +1 -0
- package/dist/assets/{local-mode-Bskd5bsT.js → local-mode-EJ8VbJUL.js} +1 -1
- package/dist/assets/{login-flow-DYLpX6IU.js → login-flow-BIkFfhNZ.js} +1 -1
- package/dist/assets/{login-page-UotBWZu9.js → login-page-OePvFtAB.js} +1 -1
- package/dist/assets/{logout-page-xucijGcq.js → logout-page-DI9LSGC0.js} +1 -1
- package/dist/assets/logs-layout-DrKcGO_f.js +1 -0
- package/dist/assets/{memory-page-route-DqM6EMFu.js → memory-page-route-Dmx49_kB.js} +1 -1
- package/dist/assets/{memory-router-playground-page-DikxzmKT.js → memory-router-playground-page-C3KZOfYP.js} +1 -1
- package/dist/assets/{messages-B2CZAuPN.js → messages-BW1vovEU.js} +1 -1
- package/dist/assets/{metric-card-cvhtzRdM.js → metric-card---E9LVV5.js} +1 -1
- package/dist/assets/{mobile-sidebar-drawer-BaL8el3Y.js → mobile-sidebar-drawer-BfjXol2z.js} +1 -1
- package/dist/assets/{modal-D5nLWNN9.js → modal-DrypPaMu.js} +1 -1
- package/dist/assets/mutation-error-Bcu_RZRD.js +1 -0
- package/dist/assets/{native-biometric-B2cBAQ1U.js → native-biometric-CJRgzVOl.js} +1 -1
- package/dist/assets/{native-file-BZDk5eyB.js → native-file-B7-DBeYw.js} +2 -2
- package/dist/assets/{notifications-page-BISnBOYH.js → notifications-page-BuA7SRAr.js} +1 -1
- package/dist/assets/{oauth-complete-page-SfFEsa_M.js → oauth-complete-page-DtkQw59b.js} +1 -1
- package/dist/assets/{oauth-popup-complete-page-D4Xoa-Gr.js → oauth-popup-complete-page-D40C_YJg.js} +1 -1
- package/dist/assets/{page-shell-1qU5DIUF.js → page-shell-DisoNeSZ.js} +1 -1
- package/dist/assets/{pairing-page-B5xnM6XX.js → pairing-page-BGHV9d66.js} +1 -1
- package/dist/assets/{panel-item-CouW2A55.js → panel-item-D2T7lXtD.js} +1 -1
- package/dist/assets/{password-reset-page-NF13YMiM.js → password-reset-page-DfvTWbbN.js} +1 -1
- package/dist/assets/{platform-detection-DGxL0AsS.js → platform-detection-0_8aW1uL.js} +1 -1
- package/dist/assets/{platform-loopback-page-_IbNDHN2.js → platform-loopback-page-sckhr8jw.js} +1 -1
- package/dist/assets/{plugin-detail-page-_iCqtxl9.js → plugin-detail-page-ho7nwryp.js} +1 -1
- package/dist/assets/plugins-page--AVY_OkR.js +1 -0
- package/dist/assets/plugins-surface-CVS7-9P3.js +1 -0
- package/dist/assets/prechat-route-Bdr1J7gt.js +1 -0
- package/dist/assets/{prefs-DNYLVDvB.js → prefs-Dl-v2TTW.js} +1 -1
- package/dist/assets/{privacy-page-DhxWA9mA.js → privacy-page-DRwQJo_a.js} +1 -1
- package/dist/assets/{privacy-screen-DRGDGj0W.js → privacy-screen-B-wAXquF.js} +1 -1
- package/dist/assets/{provider-callback-page-BoO2JgZt.js → provider-callback-page--508KjeJ.js} +1 -1
- package/dist/assets/{provider-key-B-hx1r3c.js → provider-key-BEtsSmaI.js} +1 -1
- package/dist/assets/{provider-signup-page-DLVKMYZh.js → provider-signup-page-CJMx_8yH.js} +1 -1
- package/dist/assets/{quick-input-page-7z8Ti2GI.js → quick-input-page-Cyrc0KfM.js} +1 -1
- package/dist/assets/{react-query.gen-DV9K_z-o.js → react-query.gen-D_KTCpc9.js} +1 -1
- package/dist/assets/{react-query.gen-LsPzqPq6.js → react-query.gen-DuTdhK0R.js} +1 -1
- package/dist/assets/{remote-gateway-session-CBKZhJak.js → remote-gateway-session-C2KbM_ll.js} +1 -1
- package/dist/assets/{research-mock-page-CoMthbl4.js → research-mock-page-D2fVQRbG.js} +1 -1
- package/dist/assets/{research-onboarding-persistence-D_h0dT1o.js → research-onboarding-persistence-1pcoMo9a.js} +1 -1
- package/dist/assets/{research-onboarding-route-CeTflgoE.js → research-onboarding-route-CdI5h2LV.js} +3 -3
- package/dist/assets/{resize-errors-DqIkO0UI.js → resize-errors-C2tL2tLQ.js} +1 -1
- package/dist/assets/{resolved-assistants-store-DAzPZ1eV.js → resolved-assistants-store-DlAmO-LO.js} +1 -1
- package/dist/assets/{return-to-ugSGJ0dm.js → return-to-Xo7wdaST.js} +1 -1
- package/dist/assets/{review-terms-screen-DAZ66rIh.js → review-terms-screen-tMesMZNH.js} +1 -1
- package/dist/assets/{risk-BQ3NV8r8.js → risk-5ua-xzrm.js} +1 -1
- package/dist/assets/routes-CPNLHbhb.js +1 -0
- package/dist/assets/schedules-DcRg_Puh.js +1 -0
- package/dist/assets/{sdk.gen-9Cdt87h5.js → sdk.gen-CTNNX-UL.js} +1 -1
- package/dist/assets/security-page-DhLynKYh.js +1 -0
- package/dist/assets/select-assistant-screen-E2gZ_Y5q.js +1 -0
- package/dist/assets/settings-layout-CPH7hvjC.js +1 -0
- package/dist/assets/share-feedback-modal-BgbddjVD.js +1 -0
- package/dist/assets/{sidebar-tree-DWJkYLPh.js → sidebar-tree-CEUIFF6o.js} +1 -1
- package/dist/assets/{signup-page-D2LQXMnG.js → signup-page-BSoxHalt.js} +1 -1
- package/dist/assets/{signup-shell-DCGARCES.js → signup-shell-Cdfe8uQF.js} +1 -1
- package/dist/assets/{site-favicon-DsYdnaxV.js → site-favicon-CQ3uzYnv.js} +1 -1
- package/dist/assets/skill-detail-page-BS26FjK6.js +1 -0
- package/dist/assets/{skill-detail-panel-B4WEYtK9.js → skill-detail-panel-C24If6zU.js} +1 -1
- package/dist/assets/{skills-D0rhLW1_.js → skills-DjZ74JzZ.js} +1 -1
- package/dist/assets/{skills-page-Di8dGQGo.js → skills-page-Cai_B8_L.js} +1 -1
- package/dist/assets/{sound-manager-CRFoAxE4.js → sound-manager-BzHxsxwE.js} +1 -1
- package/dist/assets/{sounds-page-CF3gwgc9.js → sounds-page-ruMF0AFV.js} +1 -1
- package/dist/assets/{src-DZbMXyC2.js → src-0Ri4-JTJ.js} +39 -39
- package/dist/assets/{subagent-detail-panel-BqYWP0b9.js → subagent-detail-panel-mVIamthD.js} +1 -1
- package/dist/assets/{subagent-store-B4PMGakL.js → subagent-store-CfHKY8RS.js} +1 -1
- package/dist/assets/{system-events-page-DdvtYv0_.js → system-events-page-DWD635bu.js} +1 -1
- package/dist/assets/{system-events-redirect-page-HeBGwZCZ.js → system-events-redirect-page-C2oGI3lp.js} +1 -1
- package/dist/assets/{theme-stage-page-8v_hsKXd.js → theme-stage-page-D07NYuPe.js} +1 -1
- package/dist/assets/{tiptap-document-editor-1QvKHdlQ.js → tiptap-document-editor-DdrsnBde.js} +2 -2
- package/dist/assets/{tool-detail-panel-DarSpKEx.js → tool-detail-panel-Dh4aTVQ0.js} +1 -1
- package/dist/assets/{upgrade-cancel-page-wop4boqC.js → upgrade-cancel-page-DD3tPK9p.js} +1 -1
- package/dist/assets/{upgrade-success-page-DWPEHzlo.js → upgrade-success-page-BGOvHvVM.js} +1 -1
- package/dist/assets/usage-redirect-page-BwncBpry.js +1 -0
- package/dist/assets/{use-active-assistant-id-CGeH4Gl6.js → use-active-assistant-id-Cv36_-K3.js} +1 -1
- package/dist/assets/{use-edge-swipe-back-R9ItWgTp.js → use-edge-swipe-back-7ZhMAAQC.js} +1 -1
- package/dist/assets/use-invite-link-dialog-CnKlbE7X.js +1 -0
- package/dist/assets/use-is-org-ready-Cc0sitDm.js +1 -0
- package/dist/assets/{use-onboarding-login-BHrngniO.js → use-onboarding-login-Cl8GCPuG.js} +1 -1
- package/dist/assets/{use-reduced-motion-BPBlq9_a.js → use-reduced-motion-CcGT6CHV.js} +1 -1
- package/dist/assets/{use-skill-actions-mJaMNpfO.js → use-skill-actions-DRqoGSoQ.js} +1 -1
- package/dist/assets/{use-skill-categories-Bit2V2fA.js → use-skill-categories-Dlmd1O2g.js} +1 -1
- package/dist/assets/{use-skill-detail-files-DDUUobr0.js → use-skill-detail-files-C40aywhH.js} +1 -1
- package/dist/assets/{utils-xg2dl_KJ.js → utils-Bfz_XJ3g.js} +1 -1
- package/dist/assets/{viewer-store-90zmUKZ4.js → viewer-store-BRH-haIp.js} +1 -1
- package/dist/assets/voice-page-Kb6g92Ge.js +1 -0
- package/dist/assets/{weather-forecast-display-DOXofTcV.js → weather-forecast-display-CCYIMcwL.js} +1 -1
- package/dist/assets/{web-6YTn0Mpt.js → web-4aYn9b05.js} +1 -1
- package/dist/assets/{web-B6BDTvZe.js → web-BHpRMJ3m.js} +1 -1
- package/dist/assets/{web-BEtTYpif.js → web-BeG87uLU.js} +1 -1
- package/dist/assets/{web-DGaEiOw7.js → web-CdRSUz1G.js} +1 -1
- package/dist/assets/{web-C3rsbCeg.js → web-DD1EXkfh.js} +1 -1
- package/dist/assets/{web-CIdUPUaN.js → web-DDr-E3WZ.js} +1 -1
- package/dist/assets/{web-CBHy41qN.js → web-DcCrDga4.js} +1 -1
- package/dist/assets/{web-BrbVmY32.js → web-Lfycvuw7.js} +1 -1
- package/dist/assets/{welcome-screen-kc41a0yS.js → welcome-screen-t1wAFPFR.js} +1 -1
- package/dist/assets/{workflow-detail-panel-Dctg7w-3.js → workflow-detail-panel-mO7E5EIN.js} +1 -1
- package/dist/assets/{workflow-store-CDrDxW5J.js → workflow-store-DfexPIHb.js} +1 -1
- package/dist/assets/workspace-page-CifXW0ga.js +1 -0
- package/dist/index.html +87 -90
- package/package.json +1 -1
- package/dist/assets/advanced-page-CQPwr2B4.js +0 -1
- package/dist/assets/ai-page-CO4dBJpg.js +0 -1
- package/dist/assets/assistant-identity-store-CX03CK8q.js +0 -1
- package/dist/assets/billing-page-CaP8_CF9.js +0 -3
- package/dist/assets/channels-page-route-DKkdGS4b.js +0 -9
- package/dist/assets/chat-markdown-message-Cp8stHaU.js +0 -2
- package/dist/assets/contacts-page-route-CicU-jSI.js +0 -1
- package/dist/assets/copy-Cn1FKrEp.js +0 -1
- package/dist/assets/credentials-page-DDM2V8iZ.js +0 -1
- package/dist/assets/debug-page-BGhdwv9M.js +0 -4
- package/dist/assets/document-viewer-page-B-ShLH6Y.js +0 -1
- package/dist/assets/earn-credits-modal-BILKTI_F.js +0 -1
- package/dist/assets/effective-timezone-DYvVVpXt.js +0 -1
- package/dist/assets/esm-BC-IlNg6.js +0 -2
- package/dist/assets/esm-BVzHqFEK.js +0 -2
- package/dist/assets/esm-D4S5VlIC.js +0 -2
- package/dist/assets/esm-Ddwl5DWt.js +0 -2
- package/dist/assets/esm-ZgeaRH-O.js +0 -2
- package/dist/assets/esm-wMYgN14J.js +0 -1
- package/dist/assets/file-editor-CgjwckHX.js +0 -1
- package/dist/assets/file-markdown-ZKvQUuGy.js +0 -2
- package/dist/assets/general-page-61s8VehJ.js +0 -1
- package/dist/assets/home-page-route-1hEkRjdv.js +0 -1
- package/dist/assets/index-B4Qq7TL7.js +0 -209
- package/dist/assets/index-CCPsEVwr.css +0 -2
- package/dist/assets/integrations-page-vFP_lh3w.js +0 -1
- package/dist/assets/list-row-D5MFdbkH.js +0 -1
- package/dist/assets/llm-dimension-Tz2Fx8qB.js +0 -1
- package/dist/assets/logs-layout-JUd7Ag6q.js +0 -1
- package/dist/assets/mutation-error-Bk_4pjgm.js +0 -1
- package/dist/assets/plugins-page-DHiFqgxf.js +0 -1
- package/dist/assets/plugins-surface-B3Ro34dC.js +0 -1
- package/dist/assets/prechat-route-BwML3ZL1.js +0 -1
- package/dist/assets/routes-BXlWEOF0.js +0 -1
- package/dist/assets/schedules-Dz6392n3.js +0 -1
- package/dist/assets/security-page-BS1WxY0d.js +0 -1
- package/dist/assets/select-assistant-screen-z3B8ngdP.js +0 -1
- package/dist/assets/settings-layout-DFzwR63d.js +0 -1
- package/dist/assets/share-feedback-modal-DH2dhWbo.js +0 -1
- package/dist/assets/skill-detail-page-CcZFUjdw.js +0 -1
- package/dist/assets/stat-square-CTHnQ1jc.js +0 -1
- package/dist/assets/usage-page-CB5oigmL.js +0 -1
- package/dist/assets/usage-window-CCdJWJ0U.js +0 -1
- package/dist/assets/use-bus-subscription-Cslzk2dW.js +0 -1
- package/dist/assets/use-invite-link-dialog-_LChrtmw.js +0 -1
- package/dist/assets/use-is-org-ready-1Xighdsa.js +0 -1
- package/dist/assets/voice-page-Dfl4T4_g.js +0 -1
- package/dist/assets/workspace-page-BWn-Je40.js +0 -1
- /package/dist/assets/{api-errors-CrWDzVca.js → api-errors-0nSIbmmG.js} +0 -0
- /package/dist/assets/{avatar-bundled-components-CMIiT9CS.js → avatar-bundled-components-ELDcio1Z.js} +0 -0
- /package/dist/assets/{avatar-svg-compositor-DQyPgWSC.js → avatar-svg-compositor-D7Dy9s1k.js} +0 -0
- /package/dist/assets/{browser-timezone-B2VEIYkv.js → browser-timezone-viO2H3SD.js} +0 -0
- /package/dist/assets/{build.umd-t16r8k1T.js → build.umd-CxdKgGWo.js} +0 -0
- /package/dist/assets/{by-tool-use-id-index-C6QlfuXA.js → by-tool-use-id-index-D9Ubci08.js} +0 -0
- /package/dist/assets/{chat-0L0NBUcq.js → chat-Rlp5eStK.js} +0 -0
- /package/dist/assets/{client.gen-DVfIRXUZ.js → client.gen-D41nX-pp.js} +0 -0
- /package/dist/assets/{composer-focus-8EISjLd_.js → composer-focus-2n-cfJJQ.js} +0 -0
- /package/dist/assets/{constants-BQVXM0At.js → constants-BoX4fzt0.js} +0 -0
- /package/dist/assets/{conversation-selection-CfSCgJxD.js → conversation-selection-C5YNfBdw.js} +0 -0
- /package/dist/assets/{create-selectors-8NePGNlX.js → create-selectors-DDPM3N-z.js} +0 -0
- /package/dist/assets/{definitions-CK0CSdwt.js → definitions-CaYcW4Yq.js} +0 -0
- /package/dist/assets/{definitions-Dj7uajgZ.js → definitions-DScTW2c-.js} +0 -0
- /package/dist/assets/{dist-RkT480s0.js → dist-BvZlbxlW.js} +0 -0
- /package/dist/assets/{dist-DqmYHxdg.js → dist-UKPLRFjY.js} +0 -0
- /package/dist/assets/{domains-CIIVdIa8.js → domains-Cppe2cjB.js} +0 -0
- /package/dist/assets/{dropdown-ByHOpeOU.js → dropdown-CQxYW9Pf.js} +0 -0
- /package/dist/assets/{emoji-catalog-data-Cp4IpzLe.js → emoji-catalog-data-D8lRMt3A.js} +0 -0
- /package/dist/assets/{event-bus-BNx4a0Ds.js → event-bus-De_PCbQV.js} +0 -0
- /package/dist/assets/{feature-flag-catalog-DjfXrBPD.js → feature-flag-catalog-Bjc1LL65.js} +0 -0
- /package/dist/assets/{format-date-cTplgJ8P.js → format-date-CghpPTDc.js} +0 -0
- /package/dist/assets/{format-file-size-BLrV7wUA.js → format-file-size-tDC_9gZM.js} +0 -0
- /package/dist/assets/{impersonate-version-flag-BhxfH6iZ.js → impersonate-version-flag-Czs00oTq.js} +0 -0
- /package/dist/assets/{is-electron-y5bNUVyG.js → is-electron-DVNj-pbz.js} +0 -0
- /package/dist/assets/{misc-DnHIYCE9.js → misc-iHjpjkrj.js} +0 -0
- /package/dist/assets/{native-deep-link-CPCbJkSt.js → native-deep-link-CJGNy9bj.js} +0 -0
- /package/dist/assets/{onboarding-step-layout-Cup_f9lB.js → onboarding-step-layout-DqnFzQ2Q.js} +0 -0
- /package/dist/assets/{optimistic-lifecycle-C4YFdBr3.js → optimistic-lifecycle-DTggtDfs.js} +0 -0
- /package/dist/assets/{pdf-jCZ1S_t-.js → pdf-C3Qukw-J.js} +0 -0
- /package/dist/assets/{pointer-qy7F2Zff.js → pointer-DcD0Nt7Z.js} +0 -0
- /package/dist/assets/{prechat-BBwYr5Qb.js → prechat-DWZ8cBD9.js} +0 -0
- /package/dist/assets/{prechat-names-Cjl3JzzN.js → prechat-names-BrKNpAcz.js} +0 -0
- /package/dist/assets/{proxy-Cadlowdl.js → proxy-BzlH_XAe.js} +0 -0
- /package/dist/assets/{public-asset-WikBpVQd.js → public-asset-Di3QykUd.js} +0 -0
- /package/dist/assets/{sdk.gen-CenbOmmb.js → sdk.gen-8pCB8ehU.js} +0 -0
- /package/dist/assets/{sdk.gen-CFgJ4K6f.js → sdk.gen-B6w0Rx7D.js} +0 -0
- /package/dist/assets/{semver-DIkpaM51.js → semver-C4nKCHcy.js} +0 -0
- /package/dist/assets/{setting-row-imtQqr9o.js → setting-row-C_BDjy9H.js} +0 -0
- /package/dist/assets/{shortcut-keys-B2EE-634.js → shortcut-keys-ClleSjaq.js} +0 -0
- /package/dist/assets/{skill-icon-CgzIQCTT.js → skill-icon-cNkD2w1X.js} +0 -0
- /package/dist/assets/{status-badge-pill-B_ninpnM.js → status-badge-pill-0N6rTEBg.js} +0 -0
- /package/dist/assets/{step-indicator-dots-B-KCGh9e.js → step-indicator-dots-WPW5s3H9.js} +0 -0
- /package/dist/assets/{theme-preferences-D1vs2UH8.js → theme-preferences-DAllWLBa.js} +0 -0
- /package/dist/assets/{three-dot-indicator-BuZzHFUJ.js → three-dot-indicator-BVtP8eei.js} +0 -0
- /package/dist/assets/{toast-xTp-xwYL.js → toast-BoUAg5zA.js} +0 -0
- /package/dist/assets/{typed-storage-BRvgA7pX.js → typed-storage-BpxzR3Qf.js} +0 -0
- /package/dist/assets/{use-copy-to-clipboard-Ap1ESW2j.js → use-copy-to-clipboard-tXJpCn2M.js} +0 -0
- /package/dist/assets/{workflow-status-PqQ1OqJN.js → workflow-status-B53qU9DS.js} +0 -0
- /package/dist/assets/{xterm-CJZcgQLM.js → xterm-CBmd_y-b.js} +0 -0
- /package/dist/assets/{xterm-addon-fit-BmGG02AS.js → xterm-addon-fit-THPW0uy0.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{n}from"./button-amTXFI-2.js";import{t as r}from"./jsx-runtime-CVSDxk6A.js";import{t as i}from"./typography-D5f7kt80.js";import{ft as a,ht as o,m as s,mt as c,p as l,pt as u}from"./risk-BQ3NV8r8.js";import{t as d}from"./brain-BLDXGaUy.js";import{t as f}from"./check-DFNrQERi.js";import{t as p}from"./circle-check-VSiny8yl.js";import{t as m}from"./code-Czx7d7SK.js";import{t as h}from"./file-text-CYJz-GvF.js";import{t as g}from"./globe-4qSOWE2N.js";import{t as _}from"./monitor-DfbL8_59.js";import{t as v}from"./sparkles-PGiR5v1g.js";import{t as y}from"./user-plus-DMh4_UTz.js";import"./src-DZbMXyC2.js";import{t as b}from"./popover-CFL4WZTr.js";import{T as x,w as S}from"./chat-0L0NBUcq.js";import{t as C}from"./misc-DnHIYCE9.js";import{t as ee}from"./proxy-Cadlowdl.js";import{t as te}from"./AnimatePresence-TZWSGjkI.js";import{t as ne}from"./use-reduced-motion-BPBlq9_a.js";import{t as w}from"./three-dot-indicator-BuZzHFUJ.js";var T=e(t(),1),re=.44;function ie(e,t){let n=[...e].sort((e,t)=>e.position-t.position),r=n[0]?.color??`white`,i=n[n.length-1]?.color??`white`,a=n.map(e=>{let t=(e.position-.5)*2*re;return`${e.color} calc(50% + var(--gs-spread-mid) * ${t.toFixed(4)})`}).join(`, `);return[`linear-gradient(${t}deg`,`var(--gs-base) calc(50% - var(--gs-spread))`,`color-mix(in oklab, var(--gs-base) 42%, ${r}) calc(50% - var(--gs-spread-mid))`,a,`color-mix(in oklab, var(--gs-base) 42%, ${i}) calc(50% + var(--gs-spread-mid))`,`var(--gs-base) calc(50% + var(--gs-spread)))`].join(`, `)}var E={sunrise:[{color:`#B6D3EF`,position:0},{color:`#CAD1D7`,position:.153},{color:`#D7CFC8`,position:.252},{color:`#E1CDB9`,position:.341},{color:`#EAC6A5`,position:.424},{color:`#EDB185`,position:.505},{color:`#EF9B62`,position:.586},{color:`#F18F60`,position:.669},{color:`#F48D7A`,position:.758},{color:`#F78A94`,position:.857},{color:`#F888A0`,position:1}],bubble:[{color:`#F5EBD9`,position:0},{color:`#F2D4DB`,position:.31},{color:`#EBBDDE`,position:.5},{color:`#CCBAE3`,position:.65},{color:`#8CBFF0`,position:.82},{color:`#78B0FF`,position:1}],peach:[{color:`#D9F5FA`,position:0},{color:`#FCD9D6`,position:.31},{color:`#FCBAC9`,position:.61},{color:`#F0B3F5`,position:1}],tonic:[{color:`#E3EDF0`,position:0},{color:`#E8EBB8`,position:.27},{color:`#F0DEA3`,position:.43},{color:`#E8B078`,position:.75},{color:`#F29682`,position:1}],mint:[{color:`#DECEE8`,position:0},{color:`#CBBAEE`,position:.21},{color:`#7DC0FB`,position:.46},{color:`#00C7A6`,position:1}],spring:[{color:`#F7D5C5`,position:.07},{color:`#46A8C0`,position:.58},{color:`#43AE7D`,position:1}],twilight:[{color:`#E3CCE6`,position:0},{color:`#4E8CD5`,position:.35},{color:`#6068C2`,position:.64},{color:`#38364E`,position:1}],bay:[{color:`#DBE3D0`,position:0},{color:`#8DB8A7`,position:.23},{color:`#2D8E9A`,position:.42},{color:`#076492`,position:.59},{color:`#154288`,position:.79},{color:`#262C81`,position:1}]},D={smooth:`cubic-bezier(0.45, 0, 0.55, 1)`,gentle:`cubic-bezier(0.76, 0, 0.24, 1)`,snappy:`cubic-bezier(0.3, 0, 0.2, 1)`};function ae(){return typeof window>`u`?!0:typeof window.CSS?.supports==`function`?window.CSS.supports(`background-clip`,`text`)||window.CSS.supports(`-webkit-background-clip`,`text`):!1}function oe(){return typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches}var se=`160px`,ce=120;function le(e,{pauseOnScroll:t,pauseWhenOffscreen:n},r){if(typeof window>`u`)return()=>{};let i=!n||typeof IntersectionObserver>`u`,a=typeof document>`u`?!0:!document.hidden,o=!0,s=()=>r(i&&a&&o),c;n&&typeof IntersectionObserver<`u`&&(c=new IntersectionObserver(e=>{let t=e[e.length-1];t&&(i=t.isIntersecting,s())},{rootMargin:se}),c.observe(e));let l=()=>{a=!document.hidden,s()};document.addEventListener(`visibilitychange`,l);let u,d=()=>{o=!1,s(),clearTimeout(u),u=setTimeout(()=>{o=!0,s()},ce)};return t&&window.addEventListener(`scroll`,d,{passive:!0,capture:!0}),s(),()=>{c?.disconnect(),document.removeEventListener(`visibilitychange`,l),t&&window.removeEventListener(`scroll`,d,{capture:!0}),clearTimeout(u)}}var ue=96,de=48,fe=.72,pe=14,me=1.45,he=3,ge=105;function _e(e){return e?typeof e==`string`?E[e]??E.sunrise:e:E.sunrise}function O(e,t){return Number.isFinite(e)?e:t}function ve(e){e.style.removeProperty(`background-image`),e.style.removeProperty(`-webkit-text-fill-color`)}function ye({children:e,gradient:t,easing:n=`smooth`,duration:r=me,spread:i=he,angle:a=ge,pauseBetween:o=1e3,baseColor:s=`currentColor`,pauseOnScroll:c=!0,pauseWhenOffscreen:l=!0,respectReducedMotion:u=!0,as:d=`span`,className:f,style:p,...m}){let h=(0,T.useRef)(null),g=Math.max(.001,O(r,me)),_=Math.max(0,O(i,he)),v=O(a,ge),y=(0,T.useMemo)(()=>_e(t),[t]),b=(0,T.useMemo)(()=>ie(y,v),[y,v]),x=D[n]??D.smooth,S=Math.min(e.length*_,de);(0,T.useEffect)(()=>{let t=h.current;if(!t)return;let n=()=>{let n=t.getBoundingClientRect().width||ue,r=(Number.parseFloat(getComputedStyle(t).fontSize)||pe)/pe,i=Math.min(e.length*_*r,de*r),a=Math.max(1,n+i*2),o=-i-a/2,s=n+i-a/2,c=g*1e3;return t.style.setProperty(`--gs-spread`,`${i}px`),t.style.setProperty(`--gs-spread-mid`,`${i*fe}px`),t.style.backgroundSize=`${a}px 100%`,{start:o,end:s,durationMs:c}};if(!ae()){ve(t);return}if(n(),u&&oe()||typeof t.animate!=`function`)return;let r=null,i,a=!0,s=!1,d=()=>{if(s)return;let{start:e,end:c,durationMs:l}=n(),u=t.animate([{backgroundPosition:`${e}px center`},{backgroundPosition:`${c}px center`}],{duration:l,easing:x,fill:`forwards`});a||u.pause(),r?.cancel(),r=u,u.onfinish=()=>{i=setTimeout(d,Math.max(0,o))}},f=le(t,{pauseOnScroll:c,pauseWhenOffscreen:l},e=>{a=e,r&&(a?r.play():r.pause())});return d(),()=>{s=!0,r?.cancel(),clearTimeout(i),f()}},[e,_,g,x,o,c,l,u]);let C={position:`relative`,display:`inline-block`,backgroundImage:b,backgroundRepeat:`no-repeat`,backgroundSize:`100% 100%`,backgroundColor:`var(--gs-base)`,WebkitBackgroundClip:`text`,backgroundClip:`text`,WebkitTextFillColor:`transparent`,"--gs-base":s,"--gs-spread":`${S}px`,"--gs-spread-mid":`${S*fe}px`,...p};return(0,T.createElement)(d,{...m,ref:h,className:f,style:C},e)}var k=r();function be(e){let t=`color-mix(in srgb, ${e} 40%, white)`;return[{position:0,color:t},{position:.5,color:e},{position:1,color:t}]}var xe=`var(--avatar-accent, var(--content-emphasised))`;function A({children:e,colorHex:t,className:n,"data-testid":r}){let i=t??xe;return(0,k.jsx)(ye,{gradient:(0,T.useMemo)(()=>be(i),[i]),easing:`gentle`,duration:1.5,spread:6,angle:106,pauseBetween:0,pauseOnScroll:!1,baseColor:`color-mix(in srgb, currentColor 45%, transparent)`,className:n,"data-testid":r,children:e})}var Se=400;function Ce(e,t,n){let[r,i]=(0,T.useState)(e),a=(0,T.useRef)(null),o=(0,T.useRef)(null),s=(0,T.useRef)(null);return(0,T.useEffect)(()=>{if(Object.is(r,e)){o.current=null;return}if(n){s.current&&=(clearTimeout(s.current),null),o.current=null,i(e),a.current=Date.now();return}o.current=e;let c=Date.now();a.current===null&&(a.current=c);let l=c-a.current,u=Math.max(0,t-l);return s.current&&clearTimeout(s.current),s.current=setTimeout(()=>{o.current!==null&&(i(o.current),a.current=Date.now(),o.current=null),s.current=null},u),()=>{s.current&&=(clearTimeout(s.current),null)}},[e,r,t,n]),r}function we({currentStepTitle:e,currentStepInfo:t,bypassDwell:n=!1,animationKey:r,shimmer:a=!1,inline:o=!1}){let s=ne(),c=Ce((0,T.useMemo)(()=>({title:e,info:t}),[e,t]),Se,n),l=s?{duration:0}:{duration:.25,ease:[.16,1,.3,1]},u=s?{opacity:0}:{y:-16,opacity:0},d=s?{opacity:1}:{y:0,opacity:1},f=s?{opacity:0}:{y:16,opacity:0},p=typeof c.info==`string`||typeof c.info==`number`,m=p?String(c.info):c.info==null?``:`node`,h=r??`${c.title}::${m}`,g=p?c.info!==``:c.info!=null,_=c.title.trim()!==``;return(0,k.jsx)(te,{initial:!1,mode:`popLayout`,children:(0,k.jsxs)(ee.span,{initial:u,animate:d,exit:f,transition:l,className:`flex min-w-0 flex-1 items-center gap-1`,children:[_?o?(0,k.jsx)(`span`,{className:g?`shrink-0 whitespace-nowrap text-[13px] font-medium leading-[16px] text-[var(--content-secondary)]`:`block min-w-0 flex-1 truncate text-left text-[13px] font-medium leading-[16px] text-[var(--content-secondary)]`,children:a?(0,k.jsx)(A,{children:c.title}):c.title}):(0,k.jsx)(i,{variant:`body-medium-default`,className:g?`ml-1 shrink-0 whitespace-nowrap text-[var(--content-emphasised)]`:`ml-1 block min-w-0 flex-1 truncate text-left text-[var(--content-emphasised)]`,children:a?(0,k.jsx)(A,{children:c.title}):c.title}):null,g?(0,k.jsxs)(k.Fragment,{children:[_?(0,k.jsx)(`span`,{"aria-hidden":`true`,className:`ml-1 h-3.5 w-px shrink-0 bg-[var(--border-element)]`}):null,p?o&&!_?(0,k.jsx)(`span`,{className:`block min-w-0 flex-1 truncate text-left text-[13px] font-medium leading-[16px] text-[var(--content-secondary)]`,children:a&&typeof c.info==`string`?(0,k.jsx)(A,{children:c.info}):c.info}):(0,k.jsx)(i,{variant:_?`body-small-default`:`body-medium-default`,className:`ml-1 block min-w-0 flex-1 truncate text-left leading-[16px] ${_?`text-[var(--content-tertiary)]`:`text-[var(--content-emphasised)]`}`,children:a&&!_&&typeof c.info==`string`?(0,k.jsx)(A,{children:c.info}):c.info}):(0,k.jsx)(`span`,{className:`ml-1 block min-w-0 flex-1`,children:c.info})]}):null]},h)})}var Te=/^https?:\/\/\S+/,Ee=/^URL:\s*(https?:\/\/\S+)/i,De=/^\[\d+\]\s*(https?:\/\/\S+)/;function j(e){try{return new URL(e).hostname.replace(/^www\./,``)}catch{return``}}function Oe(e){let t=e.trim();return Ee.exec(t)?.[1]??De.exec(t)?.[1]??t}function ke(e){return e.trim().replace(/^\d+\.\s+/,``)}function Ae(e){let t=e.split(/\r?\n/),n=[],r=new Set,i=``;for(let e of t){let t=e.trim();if(!t){i=``;continue}let a=Oe(t);if(Te.test(a)){r.has(a)||(r.add(a),n.push({title:i,url:a})),i=``;continue}/^Web search results for /i.test(t)||/^Sources:?$/i.test(t)||(i=ke(t))}return n}function M(e){return!e||!e.trim()?[]:Ae(e).map((e,t)=>{let n=j(e.url);return{rank:t+1,title:e.title,url:e.url,domain:n}})}var N=5,P=new Set([`web_search`,`web_fetch`]);function F(e){if(!Number.isFinite(e)||e<1e3)return`<1s`;let t=Math.round(e/1e3);if(t<60)return`${t}s`;let n=Math.round(t/60);return n<60?`${n}m`:`${Math.round(n/60)}h`}function I(e){return P.has(e.name)}function L(e){return e?`Searched the web`:`Searching the web`}function R(e){return{visible:e.slice(0,N),overflowResults:e.slice(N)}}function je(e,t){let{visible:n,overflowResults:r}=R(e.results);return{kind:`web_search`,title:L(t),durationLabel:F(e.durationMs),linkCount:e.resultCount,results:n,overflowResults:r}}function Me(e){let t=e.title??e.domain;return{kind:`thinking`,durationLabel:F(e.durationMs),text:`Reading ${t}`}}function Ne(){return{kind:`web_search`,title:`Searching the web`,durationLabel:``,linkCount:0,results:[]}}function Pe(){return{kind:`thinking`,durationLabel:``,text:`Reading…`}}function Fe(e){let t=M(e);if(t.length===0)return null;let{visible:n,overflowResults:r}=R(t);return{kind:`web_search`,title:L(!0),durationLabel:``,linkCount:t.length,results:n,overflowResults:r}}function Ie(e){return{kind:`web_search_error`,title:`Web search failed`,durationLabel:F(e.durationMs),errorMessage:e.errorMessage??`Search is having trouble right now. You can try again in a moment, continue without web search, or paste the relevant details here and I'll use those.`}}function z(){return{kind:`web_search`,title:L(!0),durationLabel:``,linkCount:0,results:[]}}function B(e,t){return t[e.id]??e.activityMetadata}function V(e){return!S(e)}function H(e,t){return e.results.length>0?!1:!!e.errorMessage||!!t.isError}function U(e){return e.confirmationDecision===`denied`||e.confirmationDecision===`timed_out`?`denied`:e.isError?`error`:S(e)?`running`:`completed`}function W(e,t){return e==null||t==null?null:Math.max(0,t-e)}function G(e,t){let n=W(e,t);return n==null?``:F(n)}function K(e){return G(e.startedAt??void 0,e.completedAt??void 0)}function Le(e){return!l(e)&&S(e)}function Re(e,t){if(e.kind===`thinking`)return e.text?e.completedAt==null?e.startedAt!=null&&t!=null?Math.max(0,t-e.startedAt):null:W(e.startedAt,e.completedAt):null;let n=e.toolCall;if(l(n))return null;let r=x(n);return n.completedAt==null?S(n)&&r!=null&&t!=null?Math.max(0,t-r):null:W(r,n.completedAt)}function ze(e){return e.some(e=>e.kind===`thinking`?!!e.text&&e.startedAt!=null&&e.completedAt==null:Le(e.toolCall))}function Be(e,t){let n=0,r=!1;for(let i of e){let e=Re(i,t);e!=null&&(r=!0,n+=e)}return r?F(n):``}function Ve(e){let{title:t,activity:n}=s(e);return{toolCallId:e.id,toolName:e.name,title:t,activity:n,input:e.input??{},result:e.result,streamedOutput:e.streamedOutput,status:U(e),riskLevel:e.riskLevel,riskReason:e.riskReason,durationLabel:K(e)}}function He(e){let{title:t,info:n,activity:r,iconName:i}=s(e);return{kind:`tool`,durationLabel:K(e),startedAt:e.startedAt??void 0,title:t,info:n,activity:r,riskLevel:e.riskLevel,iconName:i,toolCallId:e.id,status:U(e)}}function Ue(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n];if(I(r)){let e=B(r,t),n=V(r);if(e?.webSearch&&H(e.webSearch,r))return`Web search failed`;if(r.name===`web_search`)return L(n);if(r.name===`web_fetch`)return`Thinking`}else return s(r).title}return``}function We(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n];if(!I(r)){let{info:e,activity:t}=s(r);return t||e}let i=B(r,t),a=V(r);if(i?.webSearch){let e=i.webSearch;if(H(e,r))return e.errorMessage??`Search is having trouble right now. You can try again in a moment, continue without web search, or paste the relevant details here and I'll use those.`;if(e.results.length>0)return e.results[e.results.length-1].title;if(!a&&e.query)return`Searching ${e.query}`}if(i?.webFetch){let e=i.webFetch;return a?e.title??e.domain:`Reading ${e.domain}`}if(r.name===`web_search`){if(!a){let e=typeof r.input?.query==`string`?r.input.query.trim():``;return e?`Searching ${e}`:``}if(typeof r.result==`string`){let e=M(r.result);if(e.length>0){let t=e[e.length-1].title;if(t)return t}}}if(r.name===`web_fetch`){let e=typeof r.input?.url==`string`?r.input.url:``,t=e?j(e):``;if(t)return a?t:`Reading ${t}`}}return``}function Ge(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n];if(r.name!==`web_search`)continue;let i=B(r,t)?.webSearch?.results;if(i&&i.length>0)return i}return[]}function Ke(e){return e.includes(`denied`)?`denied`:e.includes(`loading`)?`loading`:e.includes(`error`)?`error`:`complete`}function qe(e){return Ke(e.map(e=>e.confirmationDecision===`denied`||e.confirmationDecision===`timed_out`?`denied`:S(e)?`loading`:e.isError?`error`:`complete`))}function Je(e,t){if(l(e))return null;if(!I(e))return He(e);let n=B(e,t),r=V(e);if(n?.webSearch){let t=n.webSearch;return H(t,e)?Ie(t):je(t,r)}return n?.webFetch?Me(n.webFetch):r?e.name===`web_search`&&typeof e.result==`string`?Fe(e.result)??z():z():e.name===`web_search`?Ne():Pe()}function Ye(e,t,n){let r=e.filter(e=>e.kind===`toolCall`).map(e=>e.toolCall).filter(e=>!l(e)),i=[],a=null,o=0;for(let n of e){if(n.kind===`thinking`){n.text&&(i.push({kind:`thinking`,durationLabel:G(n.startedAt,n.completedAt),text:n.text,startedAt:n.startedAt,completedAt:n.completedAt,thinkingItemIndex:o++}),a=n.text);continue}let e=Je(n.toolCall,t);e&&(i.push(e),a=null)}let s=qe(r),c,u,d;a===null?(c=Ue(r,t),u=We(r,t),d=`tool`):(c=`Thinking`,u=a,d=`thinking`);let f=Ge(r,t),p=`${i.length} step${i.length===1?``:`s`}`,m=Be(e,n);return{currentStepTitle:c,currentStepInfo:u,currentStepKind:d,stepCount:p,totalDurationLabel:m,steps:i,state:s,carouselItems:f}}var q={code:m,terminal:a,file:h,globe:g,pen:c,monitor:_,plug:u,sparkle:v,"user-plus":y,bolt:o,brain:d};function Xe(e){if(e.kind===`thinking`)return`Thinking`;if(e.kind===`web_search`||e.kind===`web_search_error`)return`Searching the web`;if(e.kind===`tool_error`)return`Error`;let t=e.title;return t.startsWith(`Working`)?t:t===`Reading`||t===`Editing`||t.startsWith(`Running`)?`Working`:t===`Using a skill`?`Using a skill`:(t.startsWith(`Using `),t)}function Ze(e){if(!e||e===`<1s`)return 0;let t=/^(\d+)(s|m|h)$/.exec(e);if(!t)return 0;let n=Number(t[1]);switch(t[2]){case`h`:return n*36e5;case`m`:return n*6e4;default:return n*1e3}}function Qe(e){let t=null;for(let n of e)(n.kind===`tool`||n.kind===`thinking`)&&n.startedAt!=null&&(t=t==null?n.startedAt:Math.min(t,n.startedAt));return t}function $e(e){return new Date(e).toLocaleTimeString([],{hour:`numeric`,minute:`2-digit`,second:`2-digit`})}function et({durationLabel:e,startedAt:t}){let r=(0,k.jsx)(i,{variant:`label-medium-default`,className:`text-[var(--content-tertiary)]`,children:e});return t==null?r:(0,k.jsx)(n,{content:`Started at ${$e(t)}`,side:`top`,align:`end`,children:(0,k.jsx)(`span`,{className:`cursor-default`,children:r})})}function J(e){let t=0,n=!1;for(let r of e)r&&(n=!0,t+=Ze(r));return n?F(t):``}function Y(e){if(e.length===0)return`running`;for(let t of e){if(t.kind===`tool`){if(t.status===`running`)return`running`;continue}if(t.kind===`web_search`&&t.title===`Searching the web`)return`running`}return`completed`}function tt(e){let t=[];for(let n of e){let e=Xe(n),r=t[t.length-1];r&&r.label===e?r.steps.push(n):t.push({label:e,steps:[n]})}return t}function nt({steps:e,renderStep:t,timeline:n=!1}){if(e.length===0)return null;let r=tt(e),i=[],a=0;for(let e of r)i.push(a),a+=e.steps.length;let o=(e,n)=>e.steps.map((e,r)=>{let i=st(e,n+r);return(0,k.jsx)(T.Fragment,{children:t?t(e):(0,k.jsx)(ut,{step:e})},i)});return n?(0,k.jsx)(`div`,{className:`flex w-full flex-col`,children:r.map((e,t)=>(0,k.jsx)(rt,{section:e,baseIndex:i[t],isLast:t===r.length-1,renderSectionSteps:o},`${e.label}-${t}`))}):(0,k.jsx)(`div`,{className:`flex w-full flex-col gap-3`,children:r.map((e,t)=>{let n=J(e.steps.map(e=>`durationLabel`in e?e.durationLabel:``)),r=Y(e.steps),a=i[t];return(0,k.jsxs)(`div`,{"data-testid":`phase-section`,"data-phase-label":e.label,className:`flex flex-col gap-1`,children:[(0,k.jsx)(ct,{label:e.label,durationLabel:n,status:r}),(0,k.jsx)(`div`,{className:`flex min-w-0 flex-col items-start gap-1 pl-[24px]`,children:o(e,a)})]},`${e.label}-${t}`)})})}function rt({section:e,baseIndex:t,isLast:n,renderSectionSteps:r}){let a=J(e.steps.map(e=>`durationLabel`in e?e.durationLabel:``)),o=Y(e.steps),s=e.steps[0]?.kind===`thinking`;return(0,k.jsxs)(`div`,{"data-testid":`phase-section`,"data-phase-label":e.label,className:`relative flex flex-col gap-2`,children:[!n&&(0,k.jsx)(it,{}),(0,k.jsxs)(`div`,{"data-testid":`phase-header`,className:`flex items-center justify-between gap-2 py-[2px]`,children:[(0,k.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,k.jsx)(at,{status:o,isThinking:s}),(0,k.jsx)(i,{variant:`body-medium-default`,className:`text-[var(--content-default)]`,children:e.label})]}),a?(0,k.jsx)(et,{durationLabel:a,startedAt:Qe(e.steps)}):null]}),(0,k.jsx)(`div`,{className:C(`flex min-w-0 flex-col items-start gap-1 pl-[22px]`,!n&&`pb-3`),children:r(e,t)})]})}function it({className:e}){return(0,k.jsx)(`div`,{"aria-hidden":!0,className:C(`absolute bottom-0 left-[6.5px] top-6 w-px bg-[var(--border-subtle)]`,e)})}function at({status:e,isThinking:t}){return t?(0,k.jsx)(d,{"aria-hidden":`true`,"data-testid":`phase-header-status-icon`,"data-status":`thinking`,className:`h-[14px] w-[14px] shrink-0 text-[var(--content-secondary)]`}):(0,k.jsx)(ot,{status:e,testId:`phase-header-status-icon`})}function ot({status:e,testId:t}){return e===`completed`?(0,k.jsx)(p,{"aria-hidden":`true`,"data-testid":t,"data-status":`completed`,className:`h-[14px] w-[14px] shrink-0 text-[var(--system-positive-strong)]`}):(0,k.jsx)(w,{"data-testid":t,className:`shrink-0`})}function st(e,t){return e.kind===`tool`&&e.toolCallId?e.toolCallId:`${e.kind}-${t}`}function ct({label:e,durationLabel:t,status:n}){return(0,k.jsxs)(`div`,{"data-testid":`phase-header`,className:`flex items-center justify-between py-[2px]`,children:[(0,k.jsxs)(`div`,{className:`flex items-center gap-1`,children:[n===`completed`?(0,k.jsx)(f,{"aria-hidden":`true`,"data-testid":`phase-header-status-icon`,"data-status":`completed`,className:`h-[14px] w-[14px] text-[var(--system-positive-strong)]`}):(0,k.jsx)(w,{"data-testid":`phase-header-status-icon`,className:`shrink-0`}),(0,k.jsx)(i,{variant:`body-medium-default`,className:`text-[var(--content-default)]`,children:e})]}),t?(0,k.jsx)(i,{variant:`label-medium-default`,className:`text-[var(--content-tertiary)]`,children:t}):null]})}function lt(e){switch(e.kind){case`thinking`:return!0;case`tool`:return e.info.length>0;case`tool_error`:case`web_search_error`:case`web_search`:return!0}}function ut({step:e}){if(e.kind===`thinking`)return(0,k.jsx)(Z,{children:(0,k.jsx)(X,{children:e.text})});if(e.kind===`tool`){let t=q[e.iconName]??o;return lt(e)?(0,k.jsxs)(Z,{children:[(0,k.jsx)(t,{"aria-hidden":`true`,className:`h-3.5 w-3.5 shrink-0 text-[var(--content-secondary)]`}),(0,k.jsx)(X,{children:e.info})]}):null}return e.kind===`tool_error`?(0,k.jsx)(Z,{children:(0,k.jsx)(X,{children:e.message})}):e.kind===`web_search_error`?(0,k.jsx)(Z,{children:(0,k.jsx)(X,{children:e.errorMessage})}):(0,k.jsx)(Z,{children:(0,k.jsx)(X,{children:e.title})})}function X({children:e}){return(0,k.jsx)(i,{variant:`body-small-default`,className:`min-w-0 truncate text-inherit`,children:e})}function Z({children:e}){return(0,k.jsx)(`div`,{"data-testid":`phase-step-pill`,className:`inline-flex min-w-0 max-w-full items-center gap-1 self-start rounded-full border border-[var(--border-element)] bg-transparent px-2 py-1 text-[var(--content-default)]`,children:e})}var Q=`inline-flex min-w-0 items-center gap-1 self-start rounded-full px-2 py-1 text-left leading-normal`,dt=`transition-colors cursor-pointer focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--border-focus)]`,ft=`bg-[var(--surface-overlay)] text-[var(--content-default)]`;function pt({faviconUrl:e,domain:t,label:n}){let[r,i]=(0,T.useState)(!1),a=!!e&&!r,o=(t&&t.length>0?t:n).charAt(0).toUpperCase();return(0,k.jsx)(`span`,{"aria-hidden":`true`,className:`inline-flex h-3.5 w-3.5 shrink-0 items-center justify-center overflow-hidden rounded-[var(--radius-sm)]`,children:a?(0,k.jsx)(`img`,{src:e,alt:``,loading:`lazy`,referrerPolicy:`no-referrer`,className:`h-full w-full object-contain`,onError:()=>i(!0)}):(0,k.jsx)(`span`,{className:`text-[10px] font-medium leading-none text-[var(--content-tertiary)]`,children:o})})}function mt({label:e,url:t,faviconUrl:n,domain:r,ariaLabel:a}){return(0,k.jsxs)(`a`,{href:t,target:`_blank`,rel:`noopener noreferrer`,"data-testid":`tool-step-pill`,"data-variant":`web`,"aria-label":a??`Open ${e}`,className:`${Q} ${dt} max-w-[240px] no-underline hover:bg-[var(--surface-active)] ${ft}`,children:[(0,k.jsx)(pt,{faviconUrl:n,domain:r,label:e}),(0,k.jsx)(i,{variant:`body-small-default`,className:`min-w-0 truncate text-inherit leading-normal`,children:e})]})}function $(e){if(e.variant===`web`)return(0,k.jsx)(mt,{...e});let{iconName:t,label:n,onClick:r,active:a=!1,ariaLabel:s}=e,c=a?`bg-[var(--surface-active)] text-[var(--content-default)]`:ft,l=(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(q[t]??o,{"aria-hidden":`true`,className:`h-3.5 w-3.5 shrink-0 text-[var(--content-tertiary)]`}),(0,k.jsx)(i,{variant:`body-small-default`,className:`min-w-0 truncate text-inherit leading-normal`,children:n})]});return r?(0,k.jsx)(`button`,{type:`button`,"data-testid":`tool-step-pill`,"data-active":a?``:void 0,"aria-pressed":a,"aria-label":s??`View details: ${n}`,onClick:r,className:`${Q} ${dt} max-w-full hover:bg-[var(--surface-active)] ${c}`,children:l}):(0,k.jsx)(`span`,{"data-testid":`tool-step-pill`,className:`${Q} max-w-full ${c}`,children:l})}function ht(e){let t=(e.domain&&e.domain.length>0?e.domain:e.title).charAt(0);return t?t.toUpperCase():``}function gt({item:e}){let[t,n]=(0,T.useState)(!1),r=!!e.faviconUrl&&!t;return(0,k.jsxs)(`a`,{href:e.url,target:`_blank`,rel:`noopener noreferrer`,className:`flex items-center gap-2 rounded-[var(--radius-md)] px-2 py-1.5 hover:bg-[var(--surface-hover)]`,children:[(0,k.jsx)(`span`,{"aria-hidden":`true`,className:`inline-flex h-[14px] w-[14px] shrink-0 items-center justify-center overflow-hidden rounded-[var(--radius-sm)] bg-[var(--surface-overlay)]`,children:r?(0,k.jsx)(`img`,{src:e.faviconUrl,alt:``,loading:`lazy`,referrerPolicy:`no-referrer`,className:`h-full w-full object-contain`,onError:()=>n(!0)}):(0,k.jsx)(`span`,{className:`text-[10px] font-medium leading-none text-[var(--content-default)]`,children:ht(e)})}),(0,k.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[(0,k.jsx)(i,{variant:`body-small-default`,className:`truncate text-[var(--content-default)]`,children:e.title}),(0,k.jsx)(i,{variant:`body-small-default`,className:`truncate text-[var(--content-secondary)]`,children:e.domain})]})]})}function _t({results:e}){return(0,k.jsxs)(b.Root,{children:[(0,k.jsx)(b.Trigger,{asChild:!0,children:(0,k.jsx)(`button`,{type:`button`,"data-testid":`web-search-overflow-chip`,className:`inline-flex min-h-[26px] cursor-pointer items-center rounded-[var(--radius-pill)] bg-[var(--surface-base)] px-[10px] py-[6px] outline-none hover:bg-[var(--surface-hover)] focus-visible:ring-2 focus-visible:ring-[var(--ring)]`,children:(0,k.jsxs)(i,{variant:`body-small-default`,className:`text-[var(--content-default)]`,children:[`+`,e.length,` more`]})})}),(0,k.jsx)(b.Content,{align:`start`,side:`bottom`,className:`flex max-h-[260px] w-[280px] flex-col gap-0.5 overflow-y-auto`,children:e.map(e=>(0,k.jsx)(gt,{item:e},e.rank))})]})}function vt({message:e}){return(0,k.jsx)(`div`,{"data-testid":`web-search-error-chip`,className:`inline-flex items-center gap-1 rounded-[var(--radius-pill)] border border-[var(--border-element)] bg-transparent px-[10px] py-[6px]`,children:(0,k.jsx)(i,{variant:`body-small-default`,className:`text-[var(--content-default)]`,children:e})})}function yt({step:e}){let t=e.overflowResults??[];return(0,k.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1`,children:[(e.results??[]).map(e=>(0,k.jsx)($,{variant:`web`,url:e.url,faviconUrl:e.faviconUrl,domain:e.domain,label:e.title},e.rank)),t.length>0?(0,k.jsx)(_t,{results:t}):null]})}function bt({step:e}){return(0,k.jsx)(vt,{message:e.errorMessage})}function xt({faviconUrl:e,domain:t,title:n,className:r}){let[i,a]=(0,T.useState)(!1);(0,T.useEffect)(()=>{a(!1)},[e]);let o=!!e&&!i,s=(t&&t.length>0?t:n).charAt(0).toUpperCase();return(0,k.jsx)(`span`,{"aria-hidden":`true`,"data-testid":`site-favicon`,className:C(`inline-flex h-3.5 w-3.5 shrink-0 items-center justify-center overflow-hidden rounded-[var(--radius-sm)]`,r),children:o?(0,k.jsx)(`img`,{src:e,alt:``,loading:`lazy`,referrerPolicy:`no-referrer`,className:`h-full w-full object-contain`,onError:()=>a(!0)}):(0,k.jsx)(`span`,{className:`text-[10px] font-medium leading-none text-[var(--content-tertiary)]`,children:s})})}export{A as C,we as S,F as _,ut as a,j as b,it as c,Y as d,st as f,Ye as g,P as h,$ as i,at as l,J as m,bt as n,q as o,lt as p,yt as r,nt as s,xt as t,tt as u,ze as v,M as x,Ve as y};
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{n}from"./button-amTXFI-2.js";import{t as r}from"./jsx-runtime-CVSDxk6A.js";import{t as i}from"./typography-D5f7kt80.js";import{ft as a,ht as o,m as s,mt as c,p as l,pt as u}from"./risk-5ua-xzrm.js";import{t as d}from"./brain-BLDXGaUy.js";import{t as f}from"./check-DFNrQERi.js";import{t as p}from"./circle-check-VSiny8yl.js";import{t as m}from"./code-Czx7d7SK.js";import{t as h}from"./file-text-CYJz-GvF.js";import{t as g}from"./globe-4qSOWE2N.js";import{t as _}from"./monitor-DfbL8_59.js";import{t as v}from"./sparkles-PGiR5v1g.js";import{t as y}from"./user-plus-DMh4_UTz.js";import"./src-0Ri4-JTJ.js";import{t as b}from"./popover-CFL4WZTr.js";import{T as x,w as S}from"./chat-Rlp5eStK.js";import{t as C}from"./misc-iHjpjkrj.js";import{t as ee}from"./proxy-BzlH_XAe.js";import{t as te}from"./AnimatePresence-C8APSgIu.js";import{t as ne}from"./use-reduced-motion-CcGT6CHV.js";import{t as w}from"./three-dot-indicator-BVtP8eei.js";var T=e(t(),1),re=.44;function ie(e,t){let n=[...e].sort((e,t)=>e.position-t.position),r=n[0]?.color??`white`,i=n[n.length-1]?.color??`white`,a=n.map(e=>{let t=(e.position-.5)*2*re;return`${e.color} calc(50% + var(--gs-spread-mid) * ${t.toFixed(4)})`}).join(`, `);return[`linear-gradient(${t}deg`,`var(--gs-base) calc(50% - var(--gs-spread))`,`color-mix(in oklab, var(--gs-base) 42%, ${r}) calc(50% - var(--gs-spread-mid))`,a,`color-mix(in oklab, var(--gs-base) 42%, ${i}) calc(50% + var(--gs-spread-mid))`,`var(--gs-base) calc(50% + var(--gs-spread)))`].join(`, `)}var E={sunrise:[{color:`#B6D3EF`,position:0},{color:`#CAD1D7`,position:.153},{color:`#D7CFC8`,position:.252},{color:`#E1CDB9`,position:.341},{color:`#EAC6A5`,position:.424},{color:`#EDB185`,position:.505},{color:`#EF9B62`,position:.586},{color:`#F18F60`,position:.669},{color:`#F48D7A`,position:.758},{color:`#F78A94`,position:.857},{color:`#F888A0`,position:1}],bubble:[{color:`#F5EBD9`,position:0},{color:`#F2D4DB`,position:.31},{color:`#EBBDDE`,position:.5},{color:`#CCBAE3`,position:.65},{color:`#8CBFF0`,position:.82},{color:`#78B0FF`,position:1}],peach:[{color:`#D9F5FA`,position:0},{color:`#FCD9D6`,position:.31},{color:`#FCBAC9`,position:.61},{color:`#F0B3F5`,position:1}],tonic:[{color:`#E3EDF0`,position:0},{color:`#E8EBB8`,position:.27},{color:`#F0DEA3`,position:.43},{color:`#E8B078`,position:.75},{color:`#F29682`,position:1}],mint:[{color:`#DECEE8`,position:0},{color:`#CBBAEE`,position:.21},{color:`#7DC0FB`,position:.46},{color:`#00C7A6`,position:1}],spring:[{color:`#F7D5C5`,position:.07},{color:`#46A8C0`,position:.58},{color:`#43AE7D`,position:1}],twilight:[{color:`#E3CCE6`,position:0},{color:`#4E8CD5`,position:.35},{color:`#6068C2`,position:.64},{color:`#38364E`,position:1}],bay:[{color:`#DBE3D0`,position:0},{color:`#8DB8A7`,position:.23},{color:`#2D8E9A`,position:.42},{color:`#076492`,position:.59},{color:`#154288`,position:.79},{color:`#262C81`,position:1}]},D={smooth:`cubic-bezier(0.45, 0, 0.55, 1)`,gentle:`cubic-bezier(0.76, 0, 0.24, 1)`,snappy:`cubic-bezier(0.3, 0, 0.2, 1)`};function ae(){return typeof window>`u`?!0:typeof window.CSS?.supports==`function`?window.CSS.supports(`background-clip`,`text`)||window.CSS.supports(`-webkit-background-clip`,`text`):!1}function oe(){return typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches}var se=`160px`,ce=120;function le(e,{pauseOnScroll:t,pauseWhenOffscreen:n},r){if(typeof window>`u`)return()=>{};let i=!n||typeof IntersectionObserver>`u`,a=typeof document>`u`?!0:!document.hidden,o=!0,s=()=>r(i&&a&&o),c;n&&typeof IntersectionObserver<`u`&&(c=new IntersectionObserver(e=>{let t=e[e.length-1];t&&(i=t.isIntersecting,s())},{rootMargin:se}),c.observe(e));let l=()=>{a=!document.hidden,s()};document.addEventListener(`visibilitychange`,l);let u,d=()=>{o=!1,s(),clearTimeout(u),u=setTimeout(()=>{o=!0,s()},ce)};return t&&window.addEventListener(`scroll`,d,{passive:!0,capture:!0}),s(),()=>{c?.disconnect(),document.removeEventListener(`visibilitychange`,l),t&&window.removeEventListener(`scroll`,d,{capture:!0}),clearTimeout(u)}}var ue=96,de=48,fe=.72,pe=14,me=1.45,he=3,ge=105;function _e(e){return e?typeof e==`string`?E[e]??E.sunrise:e:E.sunrise}function O(e,t){return Number.isFinite(e)?e:t}function ve(e){e.style.removeProperty(`background-image`),e.style.removeProperty(`-webkit-text-fill-color`)}function ye({children:e,gradient:t,easing:n=`smooth`,duration:r=me,spread:i=he,angle:a=ge,pauseBetween:o=1e3,baseColor:s=`currentColor`,pauseOnScroll:c=!0,pauseWhenOffscreen:l=!0,respectReducedMotion:u=!0,as:d=`span`,className:f,style:p,...m}){let h=(0,T.useRef)(null),g=Math.max(.001,O(r,me)),_=Math.max(0,O(i,he)),v=O(a,ge),y=(0,T.useMemo)(()=>_e(t),[t]),b=(0,T.useMemo)(()=>ie(y,v),[y,v]),x=D[n]??D.smooth,S=Math.min(e.length*_,de);(0,T.useEffect)(()=>{let t=h.current;if(!t)return;let n=()=>{let n=t.getBoundingClientRect().width||ue,r=(Number.parseFloat(getComputedStyle(t).fontSize)||pe)/pe,i=Math.min(e.length*_*r,de*r),a=Math.max(1,n+i*2),o=-i-a/2,s=n+i-a/2,c=g*1e3;return t.style.setProperty(`--gs-spread`,`${i}px`),t.style.setProperty(`--gs-spread-mid`,`${i*fe}px`),t.style.backgroundSize=`${a}px 100%`,{start:o,end:s,durationMs:c}};if(!ae()){ve(t);return}if(n(),u&&oe()||typeof t.animate!=`function`)return;let r=null,i,a=!0,s=!1,d=()=>{if(s)return;let{start:e,end:c,durationMs:l}=n(),u=t.animate([{backgroundPosition:`${e}px center`},{backgroundPosition:`${c}px center`}],{duration:l,easing:x,fill:`forwards`});a||u.pause(),r?.cancel(),r=u,u.onfinish=()=>{i=setTimeout(d,Math.max(0,o))}},f=le(t,{pauseOnScroll:c,pauseWhenOffscreen:l},e=>{a=e,r&&(a?r.play():r.pause())});return d(),()=>{s=!0,r?.cancel(),clearTimeout(i),f()}},[e,_,g,x,o,c,l,u]);let C={position:`relative`,display:`inline-block`,backgroundImage:b,backgroundRepeat:`no-repeat`,backgroundSize:`100% 100%`,backgroundColor:`var(--gs-base)`,WebkitBackgroundClip:`text`,backgroundClip:`text`,WebkitTextFillColor:`transparent`,"--gs-base":s,"--gs-spread":`${S}px`,"--gs-spread-mid":`${S*fe}px`,...p};return(0,T.createElement)(d,{...m,ref:h,className:f,style:C},e)}var k=r();function be(e){let t=`color-mix(in srgb, ${e} 40%, white)`;return[{position:0,color:t},{position:.5,color:e},{position:1,color:t}]}var xe=`var(--avatar-accent, var(--content-emphasised))`;function A({children:e,colorHex:t,className:n,"data-testid":r}){let i=t??xe;return(0,k.jsx)(ye,{gradient:(0,T.useMemo)(()=>be(i),[i]),easing:`gentle`,duration:1.5,spread:6,angle:106,pauseBetween:0,pauseOnScroll:!1,baseColor:`color-mix(in srgb, currentColor 45%, transparent)`,className:n,"data-testid":r,children:e})}var Se=400;function Ce(e,t,n){let[r,i]=(0,T.useState)(e),a=(0,T.useRef)(null),o=(0,T.useRef)(null),s=(0,T.useRef)(null);return(0,T.useEffect)(()=>{if(Object.is(r,e)){o.current=null;return}if(n){s.current&&=(clearTimeout(s.current),null),o.current=null,i(e),a.current=Date.now();return}o.current=e;let c=Date.now();a.current===null&&(a.current=c);let l=c-a.current,u=Math.max(0,t-l);return s.current&&clearTimeout(s.current),s.current=setTimeout(()=>{o.current!==null&&(i(o.current),a.current=Date.now(),o.current=null),s.current=null},u),()=>{s.current&&=(clearTimeout(s.current),null)}},[e,r,t,n]),r}function we({currentStepTitle:e,currentStepInfo:t,bypassDwell:n=!1,animationKey:r,shimmer:a=!1,inline:o=!1}){let s=ne(),c=Ce((0,T.useMemo)(()=>({title:e,info:t}),[e,t]),Se,n),l=s?{duration:0}:{duration:.25,ease:[.16,1,.3,1]},u=s?{opacity:0}:{y:-16,opacity:0},d=s?{opacity:1}:{y:0,opacity:1},f=s?{opacity:0}:{y:16,opacity:0},p=typeof c.info==`string`||typeof c.info==`number`,m=p?String(c.info):c.info==null?``:`node`,h=r??`${c.title}::${m}`,g=p?c.info!==``:c.info!=null,_=c.title.trim()!==``;return(0,k.jsx)(te,{initial:!1,mode:`popLayout`,children:(0,k.jsxs)(ee.span,{initial:u,animate:d,exit:f,transition:l,className:`flex min-w-0 flex-1 items-center gap-1`,children:[_?o?(0,k.jsx)(`span`,{className:g?`shrink-0 whitespace-nowrap text-[13px] font-medium leading-[16px] text-[var(--content-secondary)]`:`block min-w-0 flex-1 truncate text-left text-[13px] font-medium leading-[16px] text-[var(--content-secondary)]`,children:a?(0,k.jsx)(A,{children:c.title}):c.title}):(0,k.jsx)(i,{variant:`body-medium-default`,className:g?`ml-1 shrink-0 whitespace-nowrap text-[var(--content-emphasised)]`:`ml-1 block min-w-0 flex-1 truncate text-left text-[var(--content-emphasised)]`,children:a?(0,k.jsx)(A,{children:c.title}):c.title}):null,g?(0,k.jsxs)(k.Fragment,{children:[_?(0,k.jsx)(`span`,{"aria-hidden":`true`,className:`ml-1 h-3.5 w-px shrink-0 bg-[var(--border-element)]`}):null,p?o&&!_?(0,k.jsx)(`span`,{className:`block min-w-0 flex-1 truncate text-left text-[13px] font-medium leading-[16px] text-[var(--content-secondary)]`,children:a&&typeof c.info==`string`?(0,k.jsx)(A,{children:c.info}):c.info}):(0,k.jsx)(i,{variant:_?`body-small-default`:`body-medium-default`,className:`ml-1 block min-w-0 flex-1 truncate text-left leading-[16px] ${_?`text-[var(--content-tertiary)]`:`text-[var(--content-emphasised)]`}`,children:a&&!_&&typeof c.info==`string`?(0,k.jsx)(A,{children:c.info}):c.info}):(0,k.jsx)(`span`,{className:`ml-1 block min-w-0 flex-1`,children:c.info})]}):null]},h)})}var Te=/^https?:\/\/\S+/,Ee=/^URL:\s*(https?:\/\/\S+)/i,De=/^\[\d+\]\s*(https?:\/\/\S+)/;function j(e){try{return new URL(e).hostname.replace(/^www\./,``)}catch{return``}}function Oe(e){let t=e.trim();return Ee.exec(t)?.[1]??De.exec(t)?.[1]??t}function ke(e){return e.trim().replace(/^\d+\.\s+/,``)}function Ae(e){let t=e.split(/\r?\n/),n=[],r=new Set,i=``;for(let e of t){let t=e.trim();if(!t){i=``;continue}let a=Oe(t);if(Te.test(a)){r.has(a)||(r.add(a),n.push({title:i,url:a})),i=``;continue}/^Web search results for /i.test(t)||/^Sources:?$/i.test(t)||(i=ke(t))}return n}function M(e){return!e||!e.trim()?[]:Ae(e).map((e,t)=>{let n=j(e.url);return{rank:t+1,title:e.title,url:e.url,domain:n}})}var N=5,P=new Set([`web_search`,`web_fetch`]);function F(e){if(!Number.isFinite(e)||e<1e3)return`<1s`;let t=Math.round(e/1e3);if(t<60)return`${t}s`;let n=Math.round(t/60);return n<60?`${n}m`:`${Math.round(n/60)}h`}function I(e){return P.has(e.name)}function L(e){return e?`Searched the web`:`Searching the web`}function R(e){return{visible:e.slice(0,N),overflowResults:e.slice(N)}}function je(e,t){let{visible:n,overflowResults:r}=R(e.results);return{kind:`web_search`,title:L(t),durationLabel:F(e.durationMs),linkCount:e.resultCount,results:n,overflowResults:r}}function Me(e){let t=e.title??e.domain;return{kind:`thinking`,durationLabel:F(e.durationMs),text:`Reading ${t}`}}function Ne(){return{kind:`web_search`,title:`Searching the web`,durationLabel:``,linkCount:0,results:[]}}function Pe(){return{kind:`thinking`,durationLabel:``,text:`Reading…`}}function Fe(e){let t=M(e);if(t.length===0)return null;let{visible:n,overflowResults:r}=R(t);return{kind:`web_search`,title:L(!0),durationLabel:``,linkCount:t.length,results:n,overflowResults:r}}function Ie(e){return{kind:`web_search_error`,title:`Web search failed`,durationLabel:F(e.durationMs),errorMessage:e.errorMessage??`Search is having trouble right now. You can try again in a moment, continue without web search, or paste the relevant details here and I'll use those.`}}function z(){return{kind:`web_search`,title:L(!0),durationLabel:``,linkCount:0,results:[]}}function B(e,t){return t[e.id]??e.activityMetadata}function V(e){return!S(e)}function H(e,t){return e.results.length>0?!1:!!e.errorMessage||!!t.isError}function U(e){return e.confirmationDecision===`denied`||e.confirmationDecision===`timed_out`?`denied`:e.isError?`error`:S(e)?`running`:`completed`}function W(e,t){return e==null||t==null?null:Math.max(0,t-e)}function G(e,t){let n=W(e,t);return n==null?``:F(n)}function K(e){return G(e.startedAt??void 0,e.completedAt??void 0)}function Le(e){return!l(e)&&S(e)}function Re(e,t){if(e.kind===`thinking`)return e.text?e.completedAt==null?e.startedAt!=null&&t!=null?Math.max(0,t-e.startedAt):null:W(e.startedAt,e.completedAt):null;let n=e.toolCall;if(l(n))return null;let r=x(n);return n.completedAt==null?S(n)&&r!=null&&t!=null?Math.max(0,t-r):null:W(r,n.completedAt)}function ze(e){return e.some(e=>e.kind===`thinking`?!!e.text&&e.startedAt!=null&&e.completedAt==null:Le(e.toolCall))}function Be(e,t){let n=0,r=!1;for(let i of e){let e=Re(i,t);e!=null&&(r=!0,n+=e)}return r?F(n):``}function Ve(e){let{title:t,activity:n}=s(e);return{toolCallId:e.id,toolName:e.name,title:t,activity:n,input:e.input??{},result:e.result,streamedOutput:e.streamedOutput,status:U(e),riskLevel:e.riskLevel,riskReason:e.riskReason,durationLabel:K(e)}}function He(e){let{title:t,info:n,activity:r,iconName:i}=s(e);return{kind:`tool`,durationLabel:K(e),startedAt:e.startedAt??void 0,title:t,info:n,activity:r,riskLevel:e.riskLevel,iconName:i,toolCallId:e.id,status:U(e)}}function Ue(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n];if(I(r)){let e=B(r,t),n=V(r);if(e?.webSearch&&H(e.webSearch,r))return`Web search failed`;if(r.name===`web_search`)return L(n);if(r.name===`web_fetch`)return`Thinking`}else return s(r).title}return``}function We(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n];if(!I(r)){let{info:e,activity:t}=s(r);return t||e}let i=B(r,t),a=V(r);if(i?.webSearch){let e=i.webSearch;if(H(e,r))return e.errorMessage??`Search is having trouble right now. You can try again in a moment, continue without web search, or paste the relevant details here and I'll use those.`;if(e.results.length>0)return e.results[e.results.length-1].title;if(!a&&e.query)return`Searching ${e.query}`}if(i?.webFetch){let e=i.webFetch;return a?e.title??e.domain:`Reading ${e.domain}`}if(r.name===`web_search`){if(!a){let e=typeof r.input?.query==`string`?r.input.query.trim():``;return e?`Searching ${e}`:``}if(typeof r.result==`string`){let e=M(r.result);if(e.length>0){let t=e[e.length-1].title;if(t)return t}}}if(r.name===`web_fetch`){let e=typeof r.input?.url==`string`?r.input.url:``,t=e?j(e):``;if(t)return a?t:`Reading ${t}`}}return``}function Ge(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n];if(r.name!==`web_search`)continue;let i=B(r,t)?.webSearch?.results;if(i&&i.length>0)return i}return[]}function Ke(e){return e.includes(`denied`)?`denied`:e.includes(`loading`)?`loading`:e.includes(`error`)?`error`:`complete`}function qe(e){return Ke(e.map(e=>e.confirmationDecision===`denied`||e.confirmationDecision===`timed_out`?`denied`:S(e)?`loading`:e.isError?`error`:`complete`))}function Je(e,t){if(l(e))return null;if(!I(e))return He(e);let n=B(e,t),r=V(e);if(n?.webSearch){let t=n.webSearch;return H(t,e)?Ie(t):je(t,r)}return n?.webFetch?Me(n.webFetch):r?e.name===`web_search`&&typeof e.result==`string`?Fe(e.result)??z():z():e.name===`web_search`?Ne():Pe()}function Ye(e,t,n){let r=e.filter(e=>e.kind===`toolCall`).map(e=>e.toolCall).filter(e=>!l(e)),i=[],a=null,o=0;for(let n of e){if(n.kind===`thinking`){n.text&&(i.push({kind:`thinking`,durationLabel:G(n.startedAt,n.completedAt),text:n.text,startedAt:n.startedAt,completedAt:n.completedAt,thinkingItemIndex:o++}),a=n.text);continue}let e=Je(n.toolCall,t);e&&(i.push(e),a=null)}let s=qe(r),c,u,d;a===null?(c=Ue(r,t),u=We(r,t),d=`tool`):(c=`Thinking`,u=a,d=`thinking`);let f=Ge(r,t),p=`${i.length} step${i.length===1?``:`s`}`,m=Be(e,n);return{currentStepTitle:c,currentStepInfo:u,currentStepKind:d,stepCount:p,totalDurationLabel:m,steps:i,state:s,carouselItems:f}}var q={code:m,terminal:a,file:h,globe:g,pen:c,monitor:_,plug:u,sparkle:v,"user-plus":y,bolt:o,brain:d};function Xe(e){if(e.kind===`thinking`)return`Thinking`;if(e.kind===`web_search`||e.kind===`web_search_error`)return`Searching the web`;if(e.kind===`tool_error`)return`Error`;let t=e.title;return t.startsWith(`Working`)?t:t===`Reading`||t===`Editing`||t.startsWith(`Running`)?`Working`:t===`Using a skill`?`Using a skill`:(t.startsWith(`Using `),t)}function Ze(e){if(!e||e===`<1s`)return 0;let t=/^(\d+)(s|m|h)$/.exec(e);if(!t)return 0;let n=Number(t[1]);switch(t[2]){case`h`:return n*36e5;case`m`:return n*6e4;default:return n*1e3}}function Qe(e){let t=null;for(let n of e)(n.kind===`tool`||n.kind===`thinking`)&&n.startedAt!=null&&(t=t==null?n.startedAt:Math.min(t,n.startedAt));return t}function $e(e){return new Date(e).toLocaleTimeString([],{hour:`numeric`,minute:`2-digit`,second:`2-digit`})}function et({durationLabel:e,startedAt:t}){let r=(0,k.jsx)(i,{variant:`label-medium-default`,className:`text-[var(--content-tertiary)]`,children:e});return t==null?r:(0,k.jsx)(n,{content:`Started at ${$e(t)}`,side:`top`,align:`end`,children:(0,k.jsx)(`span`,{className:`cursor-default`,children:r})})}function J(e){let t=0,n=!1;for(let r of e)r&&(n=!0,t+=Ze(r));return n?F(t):``}function Y(e){if(e.length===0)return`running`;for(let t of e){if(t.kind===`tool`){if(t.status===`running`)return`running`;continue}if(t.kind===`web_search`&&t.title===`Searching the web`)return`running`}return`completed`}function tt(e){let t=[];for(let n of e){let e=Xe(n),r=t[t.length-1];r&&r.label===e?r.steps.push(n):t.push({label:e,steps:[n]})}return t}function nt({steps:e,renderStep:t,timeline:n=!1}){if(e.length===0)return null;let r=tt(e),i=[],a=0;for(let e of r)i.push(a),a+=e.steps.length;let o=(e,n)=>e.steps.map((e,r)=>{let i=st(e,n+r);return(0,k.jsx)(T.Fragment,{children:t?t(e):(0,k.jsx)(ut,{step:e})},i)});return n?(0,k.jsx)(`div`,{className:`flex w-full flex-col`,children:r.map((e,t)=>(0,k.jsx)(rt,{section:e,baseIndex:i[t],isLast:t===r.length-1,renderSectionSteps:o},`${e.label}-${t}`))}):(0,k.jsx)(`div`,{className:`flex w-full flex-col gap-3`,children:r.map((e,t)=>{let n=J(e.steps.map(e=>`durationLabel`in e?e.durationLabel:``)),r=Y(e.steps),a=i[t];return(0,k.jsxs)(`div`,{"data-testid":`phase-section`,"data-phase-label":e.label,className:`flex flex-col gap-1`,children:[(0,k.jsx)(ct,{label:e.label,durationLabel:n,status:r}),(0,k.jsx)(`div`,{className:`flex min-w-0 flex-col items-start gap-1 pl-[24px]`,children:o(e,a)})]},`${e.label}-${t}`)})})}function rt({section:e,baseIndex:t,isLast:n,renderSectionSteps:r}){let a=J(e.steps.map(e=>`durationLabel`in e?e.durationLabel:``)),o=Y(e.steps),s=e.steps[0]?.kind===`thinking`;return(0,k.jsxs)(`div`,{"data-testid":`phase-section`,"data-phase-label":e.label,className:`relative flex flex-col gap-2`,children:[!n&&(0,k.jsx)(it,{}),(0,k.jsxs)(`div`,{"data-testid":`phase-header`,className:`flex items-center justify-between gap-2 py-[2px]`,children:[(0,k.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,k.jsx)(at,{status:o,isThinking:s}),(0,k.jsx)(i,{variant:`body-medium-default`,className:`text-[var(--content-default)]`,children:e.label})]}),a?(0,k.jsx)(et,{durationLabel:a,startedAt:Qe(e.steps)}):null]}),(0,k.jsx)(`div`,{className:C(`flex min-w-0 flex-col items-start gap-1 pl-[22px]`,!n&&`pb-3`),children:r(e,t)})]})}function it({className:e}){return(0,k.jsx)(`div`,{"aria-hidden":!0,className:C(`absolute bottom-0 left-[6.5px] top-6 w-px bg-[var(--border-subtle)]`,e)})}function at({status:e,isThinking:t}){return t?(0,k.jsx)(d,{"aria-hidden":`true`,"data-testid":`phase-header-status-icon`,"data-status":`thinking`,className:`h-[14px] w-[14px] shrink-0 text-[var(--content-secondary)]`}):(0,k.jsx)(ot,{status:e,testId:`phase-header-status-icon`})}function ot({status:e,testId:t}){return e===`completed`?(0,k.jsx)(p,{"aria-hidden":`true`,"data-testid":t,"data-status":`completed`,className:`h-[14px] w-[14px] shrink-0 text-[var(--system-positive-strong)]`}):(0,k.jsx)(w,{"data-testid":t,className:`shrink-0`})}function st(e,t){return e.kind===`tool`&&e.toolCallId?e.toolCallId:`${e.kind}-${t}`}function ct({label:e,durationLabel:t,status:n}){return(0,k.jsxs)(`div`,{"data-testid":`phase-header`,className:`flex items-center justify-between py-[2px]`,children:[(0,k.jsxs)(`div`,{className:`flex items-center gap-1`,children:[n===`completed`?(0,k.jsx)(f,{"aria-hidden":`true`,"data-testid":`phase-header-status-icon`,"data-status":`completed`,className:`h-[14px] w-[14px] text-[var(--system-positive-strong)]`}):(0,k.jsx)(w,{"data-testid":`phase-header-status-icon`,className:`shrink-0`}),(0,k.jsx)(i,{variant:`body-medium-default`,className:`text-[var(--content-default)]`,children:e})]}),t?(0,k.jsx)(i,{variant:`label-medium-default`,className:`text-[var(--content-tertiary)]`,children:t}):null]})}function lt(e){switch(e.kind){case`thinking`:return!0;case`tool`:return e.info.length>0;case`tool_error`:case`web_search_error`:case`web_search`:return!0}}function ut({step:e}){if(e.kind===`thinking`)return(0,k.jsx)(Z,{children:(0,k.jsx)(X,{children:e.text})});if(e.kind===`tool`){let t=q[e.iconName]??o;return lt(e)?(0,k.jsxs)(Z,{children:[(0,k.jsx)(t,{"aria-hidden":`true`,className:`h-3.5 w-3.5 shrink-0 text-[var(--content-secondary)]`}),(0,k.jsx)(X,{children:e.info})]}):null}return e.kind===`tool_error`?(0,k.jsx)(Z,{children:(0,k.jsx)(X,{children:e.message})}):e.kind===`web_search_error`?(0,k.jsx)(Z,{children:(0,k.jsx)(X,{children:e.errorMessage})}):(0,k.jsx)(Z,{children:(0,k.jsx)(X,{children:e.title})})}function X({children:e}){return(0,k.jsx)(i,{variant:`body-small-default`,className:`min-w-0 truncate text-inherit`,children:e})}function Z({children:e}){return(0,k.jsx)(`div`,{"data-testid":`phase-step-pill`,className:`inline-flex min-w-0 max-w-full items-center gap-1 self-start rounded-full border border-[var(--border-element)] bg-transparent px-2 py-1 text-[var(--content-default)]`,children:e})}var Q=`inline-flex min-w-0 items-center gap-1 self-start rounded-full px-2 py-1 text-left leading-normal`,dt=`transition-colors cursor-pointer focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--border-focus)]`,ft=`bg-[var(--surface-overlay)] text-[var(--content-default)]`;function pt({faviconUrl:e,domain:t,label:n}){let[r,i]=(0,T.useState)(!1),a=!!e&&!r,o=(t&&t.length>0?t:n).charAt(0).toUpperCase();return(0,k.jsx)(`span`,{"aria-hidden":`true`,className:`inline-flex h-3.5 w-3.5 shrink-0 items-center justify-center overflow-hidden rounded-[var(--radius-sm)]`,children:a?(0,k.jsx)(`img`,{src:e,alt:``,loading:`lazy`,referrerPolicy:`no-referrer`,className:`h-full w-full object-contain`,onError:()=>i(!0)}):(0,k.jsx)(`span`,{className:`text-[10px] font-medium leading-none text-[var(--content-tertiary)]`,children:o})})}function mt({label:e,url:t,faviconUrl:n,domain:r,ariaLabel:a}){return(0,k.jsxs)(`a`,{href:t,target:`_blank`,rel:`noopener noreferrer`,"data-testid":`tool-step-pill`,"data-variant":`web`,"aria-label":a??`Open ${e}`,className:`${Q} ${dt} max-w-[240px] no-underline hover:bg-[var(--surface-active)] ${ft}`,children:[(0,k.jsx)(pt,{faviconUrl:n,domain:r,label:e}),(0,k.jsx)(i,{variant:`body-small-default`,className:`min-w-0 truncate text-inherit leading-normal`,children:e})]})}function $(e){if(e.variant===`web`)return(0,k.jsx)(mt,{...e});let{iconName:t,label:n,onClick:r,active:a=!1,ariaLabel:s}=e,c=a?`bg-[var(--surface-active)] text-[var(--content-default)]`:ft,l=(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(q[t]??o,{"aria-hidden":`true`,className:`h-3.5 w-3.5 shrink-0 text-[var(--content-tertiary)]`}),(0,k.jsx)(i,{variant:`body-small-default`,className:`min-w-0 truncate text-inherit leading-normal`,children:n})]});return r?(0,k.jsx)(`button`,{type:`button`,"data-testid":`tool-step-pill`,"data-active":a?``:void 0,"aria-pressed":a,"aria-label":s??`View details: ${n}`,onClick:r,className:`${Q} ${dt} max-w-full hover:bg-[var(--surface-active)] ${c}`,children:l}):(0,k.jsx)(`span`,{"data-testid":`tool-step-pill`,className:`${Q} max-w-full ${c}`,children:l})}function ht(e){let t=(e.domain&&e.domain.length>0?e.domain:e.title).charAt(0);return t?t.toUpperCase():``}function gt({item:e}){let[t,n]=(0,T.useState)(!1),r=!!e.faviconUrl&&!t;return(0,k.jsxs)(`a`,{href:e.url,target:`_blank`,rel:`noopener noreferrer`,className:`flex items-center gap-2 rounded-[var(--radius-md)] px-2 py-1.5 hover:bg-[var(--surface-hover)]`,children:[(0,k.jsx)(`span`,{"aria-hidden":`true`,className:`inline-flex h-[14px] w-[14px] shrink-0 items-center justify-center overflow-hidden rounded-[var(--radius-sm)] bg-[var(--surface-overlay)]`,children:r?(0,k.jsx)(`img`,{src:e.faviconUrl,alt:``,loading:`lazy`,referrerPolicy:`no-referrer`,className:`h-full w-full object-contain`,onError:()=>n(!0)}):(0,k.jsx)(`span`,{className:`text-[10px] font-medium leading-none text-[var(--content-default)]`,children:ht(e)})}),(0,k.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[(0,k.jsx)(i,{variant:`body-small-default`,className:`truncate text-[var(--content-default)]`,children:e.title}),(0,k.jsx)(i,{variant:`body-small-default`,className:`truncate text-[var(--content-secondary)]`,children:e.domain})]})]})}function _t({results:e}){return(0,k.jsxs)(b.Root,{children:[(0,k.jsx)(b.Trigger,{asChild:!0,children:(0,k.jsx)(`button`,{type:`button`,"data-testid":`web-search-overflow-chip`,className:`inline-flex min-h-[26px] cursor-pointer items-center rounded-[var(--radius-pill)] bg-[var(--surface-base)] px-[10px] py-[6px] outline-none hover:bg-[var(--surface-hover)] focus-visible:ring-2 focus-visible:ring-[var(--ring)]`,children:(0,k.jsxs)(i,{variant:`body-small-default`,className:`text-[var(--content-default)]`,children:[`+`,e.length,` more`]})})}),(0,k.jsx)(b.Content,{align:`start`,side:`bottom`,className:`flex max-h-[260px] w-[280px] flex-col gap-0.5 overflow-y-auto`,children:e.map(e=>(0,k.jsx)(gt,{item:e},e.rank))})]})}function vt({message:e}){return(0,k.jsx)(`div`,{"data-testid":`web-search-error-chip`,className:`inline-flex items-center gap-1 rounded-[var(--radius-pill)] border border-[var(--border-element)] bg-transparent px-[10px] py-[6px]`,children:(0,k.jsx)(i,{variant:`body-small-default`,className:`text-[var(--content-default)]`,children:e})})}function yt({step:e}){let t=e.overflowResults??[];return(0,k.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1`,children:[(e.results??[]).map(e=>(0,k.jsx)($,{variant:`web`,url:e.url,faviconUrl:e.faviconUrl,domain:e.domain,label:e.title},e.rank)),t.length>0?(0,k.jsx)(_t,{results:t}):null]})}function bt({step:e}){return(0,k.jsx)(vt,{message:e.errorMessage})}function xt({faviconUrl:e,domain:t,title:n,className:r}){let[i,a]=(0,T.useState)(!1);(0,T.useEffect)(()=>{a(!1)},[e]);let o=!!e&&!i,s=(t&&t.length>0?t:n).charAt(0).toUpperCase();return(0,k.jsx)(`span`,{"aria-hidden":`true`,"data-testid":`site-favicon`,className:C(`inline-flex h-3.5 w-3.5 shrink-0 items-center justify-center overflow-hidden rounded-[var(--radius-sm)]`,r),children:o?(0,k.jsx)(`img`,{src:e,alt:``,loading:`lazy`,referrerPolicy:`no-referrer`,className:`h-full w-full object-contain`,onError:()=>a(!0)}):(0,k.jsx)(`span`,{className:`text-[10px] font-medium leading-none text-[var(--content-tertiary)]`,children:s})})}export{A as C,we as S,F as _,ut as a,j as b,it as c,Y as d,st as f,Ye as g,P as h,$ as i,at as l,J as m,bt as n,q as o,lt as p,yt as r,nt as s,xt as t,tt as u,ze as v,M as x,Ve as y};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-DVAJKNAr.js";import{t as n}from"./react-DJZBPgpf.js";import{F as r,t as i}from"./button-amTXFI-2.js";import{d as a,p as o,r as s,u as c}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{n as l}from"./QueryClientProvider-DKhXIxGb.js";import{t as u}from"./useQuery-B45lW1Kk.js";import{t as d}from"./jsx-runtime-CVSDxk6A.js";import{t as f}from"./card-Bv5O5juh.js";import{t as p}from"./createLucideIcon-IRfcSUxS.js";import{t as m}from"./arrow-left-DI9551VI.js";import{a as h,i as g,n as _,r as v,s as y,t as b}from"./use-skill-actions-DRqoGSoQ.js";import{t as x}from"./chevron-down-qD-re7AW.js";import{t as S}from"./menu-Dy5QbnTj.js";import{t as C}from"./code-Czx7d7SK.js";import{t as w}from"./external-link-Dqpx9nRm.js";import{t as T}from"./file-text-CYJz-GvF.js";import{t as E}from"./loader-circle-Cz7opInR.js";import{A as D}from"./src-0Ri4-JTJ.js";import{n as O,t as k}from"./file-markdown-Cup-RHth.js";import{St as A,bt as j,on as M}from"./react-query.gen-DuTdhK0R.js";import{c as N}from"./routes-CPNLHbhb.js";import{Ci as P,Ia as F,Tr as I,fa as L,ha as R}from"./index-KzfXKHkT.js";import{t as z}from"./use-active-assistant-id-Cv36_-K3.js";import{n as B,t as V}from"./use-skill-detail-files-C40aywhH.js";import{n as H,r as U,t as ee}from"./skills-DjZ74JzZ.js";import{t as te}from"./use-edge-swipe-back-7ZhMAAQC.js";import{i as W,n as G,r as K,t as q}from"./file-editor-B5TY0UEr.js";import{t as J}from"./skill-icon-cNkD2w1X.js";var Y=p(`search-x`,[[`path`,{d:`m13.5 8.5-5 5`,key:`1cs55j`}],[`path`,{d:`m8.5 8.5 5 5`,key:`a8mexj`}],[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}],[`path`,{d:`m21 21-4.3-4.3`,key:`1qie3q`}]]),X=e(n(),1),Z=d();function ne({assistantId:e,skill:t,onBack:n,onInstall:r,onRemove:a,isInstalling:o=!1,isRemoving:s=!1,sourceConversationId:c}){let l=h(t),u=H(t),{fileEntries:d,setSelectedPath:p,activePath:g,activeFile:_,isFilesLoading:v,fileContent:b,isBinary:x,isContentLoading:S}=V(e,t.id);return(0,Z.jsxs)(`div`,{className:`flex h-[calc(100vh-14rem)] flex-col`,children:[(0,Z.jsxs)(`div`,{className:`mb-4 flex items-start gap-3`,children:[(0,Z.jsx)(i,{type:`button`,variant:`ghost`,iconOnly:(0,Z.jsx)(m,{"aria-hidden":!0}),"aria-label":`Back to skills`,onClick:n}),(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-3 sm:flex-row sm:items-center`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-3`,children:[(0,Z.jsx)(J,{skill:t,className:`h-8 w-8 text-3xl`}),(0,Z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-2 gap-y-1`,children:[(0,Z.jsx)(`h2`,{className:`text-title-medium`,style:{color:`var(--content-default)`},children:t.name}),(0,Z.jsx)(y,{origin:t.origin})]}),(0,Z.jsx)(`p`,{className:`mt-0.5 line-clamp-2 text-body-medium-lighter`,style:{color:`var(--content-secondary)`},children:t.description}),(0,Z.jsx)(B,{skill:{origin:t.origin,sourceConversationId:c},className:`mt-1`})]})]}),l?o?(0,Z.jsx)(`div`,{className:`flex h-9 items-center px-3`,children:(0,Z.jsx)(E,{className:`h-4 w-4 animate-spin`,style:{color:`var(--content-tertiary)`}})}):(0,Z.jsx)(i,{type:`button`,onClick:r,disabled:!r,leftIcon:(0,Z.jsx)(F,{"aria-hidden":!0}),children:`Install`}):(0,Z.jsx)(i,{type:`button`,variant:u?`dangerOutline`:`outlined`,onClick:a,disabled:!u||s||!a,leftIcon:s?(0,Z.jsx)(E,{className:`animate-spin`,"aria-hidden":!0}):(0,Z.jsx)(P,{"aria-hidden":!0}),children:`Remove`})]})]}),(0,Z.jsx)(f.Root,{asChild:!0,noPadding:!0,children:(0,Z.jsxs)(`div`,{className:`flex flex-1 flex-col overflow-hidden sm:grid`,style:{gridTemplateColumns:`240px 1fr`},children:[(0,Z.jsx)(`div`,{className:`max-h-40 shrink-0 overflow-y-auto border-b p-2 sm:max-h-none sm:border-b-0 sm:border-r`,style:{borderColor:`var(--border-base)`},children:v?(0,Z.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,Z.jsx)(E,{className:`h-4 w-4 animate-spin`,style:{color:`var(--content-tertiary)`}})}):d.length===0?(0,Z.jsx)(`p`,{className:`px-3 py-4 text-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`No files available.`}):d.map(e=>{let t=g===e.path,n=(e.mimeType??``).endsWith(`/directory`);return(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>p(e.path),className:`flex w-full items-center gap-2 rounded px-2 py-1.5 text-left text-body-medium-lighter transition-colors hover:bg-[var(--surface-hover)]`,style:{color:t?`var(--primary-base)`:`var(--content-default)`,backgroundColor:t?`color-mix(in oklab, var(--primary-base) 10%, transparent)`:void 0},children:[n?(0,Z.jsx)(L,{className:`h-4 w-4 shrink-0`,style:{color:`var(--system-mid-strong)`}}):(0,Z.jsx)(T,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),(0,Z.jsx)(`span`,{className:`truncate`,children:e.name})]},e.path)})}),(0,Z.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:S?(0,Z.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,Z.jsx)(E,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})}):_?(0,Z.jsx)(re,{assistantId:e,skillId:t.id,fileName:_.name,filePath:_.path,content:b,isBinary:x,editable:t.kind===`installed`},`${t.id}/${_.path}`):(0,Z.jsx)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Select a file to view its contents.`})})]})})]})}function re({assistantId:e,skillId:n,fileName:r,filePath:o,content:s,isBinary:c,editable:u}){let d=a(),f=l(),[p,m]=(0,X.useState)(!1),[h,g]=(0,X.useState)(``),_=`skills/${n}/${o}`,v=M({onSuccess:()=>{m(!1),g(``),f.invalidateQueries({queryKey:[{_id:`skillsByIdFilesContentGet`}]}),f.invalidateQueries({queryKey:[{_id:`skillsByIdFilesGet`}]}),o===`SKILL.md`&&ee(f,e)},onError:e=>{t(e,{context:`skill-file-save`,bestEffort:!0})}}),y=p&&h!==(s??``),b=(0,X.useCallback)(()=>{!y||v.isPending||v.mutate({path:{assistant_id:e},body:{path:_,content:h,encoding:`utf8`}})},[y,v,e,_,h]),x=(0,X.useCallback)(()=>{m(!0),g(s??``),v.reset()},[s,v]),S=(0,X.useCallback)(()=>{m(!1),g(``),v.reset()},[v]);if(c)return(0,Z.jsx)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Binary file — no preview available.`});if(s===null)return(0,Z.jsxs)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:[`No preview available for `,r,`.`]});let C=u?(0,Z.jsx)(i,{variant:`ghost`,size:`regular`,iconOnly:(0,Z.jsx)(w,{"aria-hidden":!0}),onClick:()=>d(`${N.workspace}?file=${encodeURIComponent(_)}`),"aria-label":`Open in Workspace`,className:`hover:bg-[var(--surface-base)]`}):void 0;return O(r,void 0)&&!p?(0,Z.jsx)(`div`,{className:`relative flex h-full flex-col`,children:(0,Z.jsxs)(`div`,{className:`relative flex-1 overflow-auto px-6 py-4`,style:{color:`var(--content-default)`},children:[(0,Z.jsx)(q,{content:s,fileName:r,showEdit:u,isEditing:!1,onToggleEdit:x,extraActions:C}),(0,Z.jsx)(k,{content:s})]})}):(0,Z.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,Z.jsxs)(`div`,{className:`relative flex-1 overflow-hidden`,children:[(0,Z.jsx)(q,{content:p?h:s,fileName:r,showEdit:u,isEditing:p,onToggleEdit:()=>p?S():x(),extraActions:C}),p?(0,Z.jsx)(K,{value:h,onChange:g,onSave:b}):(0,Z.jsx)(W,{content:s,readOnly:!u,onStartEdit:x})]}),p&&(0,Z.jsx)(G,{isDirty:y,isSaving:v.isPending,error:v.isError?`Save failed`:null,onSave:b,onDiscard:S})]})}var ie=e(r(),1);function ae({fileName:e,content:t,isBinary:n,viewMode:r=`preview`}){return n?(0,Z.jsx)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Binary file — no preview available.`}):t===null?(0,Z.jsxs)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:[`No preview available for `,e,`.`]}):O(e,void 0)&&r===`preview`?(0,Z.jsx)(`div`,{className:`h-full overflow-auto px-6 py-4`,style:{color:`var(--content-default)`},children:(0,Z.jsx)(k,{content:t})}):(0,Z.jsx)(`pre`,{className:`h-full overflow-y-auto whitespace-pre-wrap break-words p-4 font-mono text-body-small-default`,style:{color:`var(--content-default)`},children:t})}function oe({assistantId:e,skill:t,onBack:n,onInstall:r,onRemove:a,isInstalling:o=!1,isRemoving:s=!1,swipeContainerRef:c,sourceConversationId:l}){let u=h(t),d=H(t),{fileEntries:p,setSelectedPath:g,activePath:_,activeFile:v,isFilesLoading:b,fileContent:x,isBinary:S,isContentLoading:w}=V(e,t.id),[T,k]=(0,X.useState)(`preview`);(0,X.useEffect)(()=>{k(`preview`)},[_]);let[A,j]=(0,X.useState)(null);(0,X.useEffect)(()=>{j(document.getElementById(`viewport-overlays`))},[]);let M=v?O(v.name,void 0):!1,N=M?T:`raw`,P=(0,Z.jsxs)(`div`,{ref:c,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,Z.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Z.jsx)(i,{variant:`ghost`,iconOnly:(0,Z.jsx)(m,{"aria-hidden":!0}),expandOnMobile:!0,"aria-label":`Back to skills`,onClick:n,className:`max-md:bg-[var(--surface-active)]`}),(0,Z.jsx)(`span`,{className:`min-w-0 flex-1 truncate px-2 text-center text-body-medium-default`,style:{color:`var(--content-secondary)`},children:t.name}),(0,Z.jsx)(se,{available:u,removable:d,isInstalling:o,isRemoving:s,onInstall:r,onRemove:a})]}),(0,Z.jsxs)(`div`,{className:`mt-4 flex flex-col gap-2`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,Z.jsx)(J,{skill:t,className:`h-6 w-6 shrink-0 text-[22px] leading-none`}),(0,Z.jsx)(`h2`,{className:`min-w-0 truncate text-title-medium`,style:{color:`var(--content-emphasised)`},children:t.name})]}),(0,Z.jsx)(y,{origin:t.origin})]}),(0,Z.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:t.description}),(0,Z.jsx)(B,{skill:{origin:t.origin,sourceConversationId:l}})]}),(0,Z.jsx)(f.Root,{asChild:!0,noPadding:!0,children:(0,Z.jsxs)(`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,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-2 border-b px-3 py-2`,style:{borderColor:`var(--border-hover)`},children:[(0,Z.jsx)(ce,{fileEntries:p,activePath:_,activeName:v?.name??null,onSelect:g}),(0,Z.jsx)(D,{iconOnly:!0,ariaLabel:`File view mode`,value:N,onChange:k,items:[{value:`preview`,label:`Preview`,icon:(0,Z.jsx)(R,{"aria-hidden":!0}),disabled:!M},{value:`raw`,label:`Source`,icon:(0,Z.jsx)(C,{"aria-hidden":!0})}]})]}),(0,Z.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:b||w?(0,Z.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,Z.jsx)(E,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})}):v?(0,Z.jsx)(ae,{fileName:v.name,content:x,isBinary:S,viewMode:N}):(0,Z.jsx)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Select a file to view its contents.`})})]})})]});return A?(0,ie.createPortal)(P,A):P}function se({available:e,removable:t,isInstalling:n,isRemoving:r,onInstall:a,onRemove:o}){return n||r?(0,Z.jsx)(i,{variant:`ghost`,iconOnly:(0,Z.jsx)(E,{className:`animate-spin`,"aria-hidden":!0}),expandOnMobile:!0,disabled:!0,"aria-label":`Pending`,className:`max-md:bg-[var(--surface-active)]`}):e?(0,Z.jsx)(i,{variant:`ghost`,iconOnly:(0,Z.jsx)(F,{"aria-hidden":!0}),expandOnMobile:!0,"aria-label":`Install skill`,onClick:a,disabled:!a,className:`max-md:bg-[var(--surface-active)]`}):t?(0,Z.jsx)(i,{variant:`dangerGhost`,iconOnly:(0,Z.jsx)(P,{"aria-hidden":!0}),expandOnMobile:!0,"aria-label":`Remove skill`,onClick:o,disabled:!o,className:`max-md:rounded-full max-md:bg-[var(--system-negative-weak)]`}):(0,Z.jsx)(i,{variant:`dangerGhost`,iconOnly:(0,Z.jsx)(P,{"aria-hidden":!0}),expandOnMobile:!0,disabled:!0,title:`Bundled skills cannot be removed`,"aria-label":`Bundled skill cannot be removed`,className:`max-md:rounded-full max-md:bg-[var(--system-negative-weak)]`})}function Q(e){return(e??``).endsWith(`/directory`)}function ce({fileEntries:e,activePath:t,activeName:n,onSelect:r}){let i=n??`Select a file`;return e.length===0?(0,Z.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2 text-body-medium-default`,style:{color:`var(--content-emphasised)`},children:[(0,Z.jsx)($,{}),(0,Z.jsx)(`span`,{className:`truncate`,children:i})]}):(0,Z.jsxs)(S.Root,{children:[(0,Z.jsx)(S.Trigger,{children:(0,Z.jsxs)(`button`,{type:`button`,className:`flex min-w-0 items-center gap-2 rounded-md text-body-medium-default`,style:{color:`var(--content-emphasised)`},children:[(0,Z.jsx)($,{}),(0,Z.jsx)(`span`,{className:`truncate`,children:i}),(0,Z.jsx)(x,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`},"aria-hidden":!0})]})}),(0,Z.jsx)(S.Content,{align:`start`,children:e.map(e=>{let n=Q(e.mimeType);return(0,Z.jsx)(S.Item,{onSelect:()=>r(e.path),leftIcon:n?(0,Z.jsx)(L,{}):(0,Z.jsx)(T,{}),"aria-current":e.path===t?`true`:void 0,children:e.name},e.path)})})]})}function $(){return(0,Z.jsx)(`span`,{className:`flex h-6 w-6 shrink-0 items-center justify-center rounded-md bg-[var(--surface-base)]`,"aria-hidden":!0,children:(0,Z.jsx)(T,{className:`h-4 w-4`,style:{color:`var(--content-secondary)`}})})}function le(){let e=z(),{skillId:t}=o(),n=a(),r=c(),{pathname:l}=r,d=I(),f=(0,X.useRef)(null),p=r.state,h=typeof p?.listSearch==`string`?p.listSearch:``,y=u({...A({path:{assistant_id:e},query:{include:`catalog`}}),select:e=>e.skills,refetchOnMount:`always`}),x=(0,X.useCallback)(()=>{n(`${N.skills.root}${h}`,{replace:!0})},[n,h]);te({containerRef:f,onBack:x,enabled:d,navKey:l});let{handleInstall:S,handleRemove:C,isInstallingSkill:w,isRemovingSkill:T,skillPendingRemoval:E,confirmRemove:D,cancelRemove:O}=b(e,{onRemoved:x}),k=y.data,M=(0,X.useMemo)(()=>k?.find(e=>e.id===t)??null,[k,t]),P=u({...j({path:{assistant_id:e,id:t??``}}),enabled:!!t&&M?.origin===`assistant-memory`,select:e=>e.skill.origin===`assistant-memory`?e.skill.sourceConversationId??null:null});if(!t)return(0,Z.jsx)(s,{to:N.skills.root,replace:!0});if(y.isLoading)return(0,Z.jsx)(_,{});if(y.isError&&!M)return(0,Z.jsx)(v,{});if(!M&&y.isFetching)return(0,Z.jsx)(_,{});if(!M)return(0,Z.jsx)(g,{icon:Y,title:`Skill not found`,subtitle:`This skill may have been removed, or the link is out of date.`,children:(0,Z.jsx)(i,{type:`button`,variant:`outlined`,className:`mt-4`,leftIcon:(0,Z.jsx)(m,{"aria-hidden":!0}),onClick:x,children:`Back to skills`})});let F={assistantId:e,skill:M,onBack:x,onInstall:()=>S(M),onRemove:()=>C(M),isInstalling:w(M),isRemoving:T(M),sourceConversationId:P.data??void 0};return(0,Z.jsxs)(Z.Fragment,{children:[d?(0,Z.jsx)(oe,{...F,swipeContainerRef:f}):(0,Z.jsx)(ne,{...F}),(0,Z.jsx)(U,{skillName:E?.name??null,onConfirm:D,onCancel:O})]})}export{le as SkillDetailPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-DVAJKNAr.js";import{t as n}from"./react-DJZBPgpf.js";import{t as r}from"./button-amTXFI-2.js";import{d as i}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{n as a}from"./QueryClientProvider-DKhXIxGb.js";import{t as o}from"./useQuery-B45lW1Kk.js";import{t as s}from"./jsx-runtime-CVSDxk6A.js";import{t as c}from"./typography-D5f7kt80.js";import{t as l}from"./brain-BLDXGaUy.js";import{t as u}from"./menu-Dy5QbnTj.js";import{t as d}from"./loader-circle-Cz7opInR.js";import"./src-0Ri4-JTJ.js";import{t as f}from"./file-markdown-Cup-RHth.js";import{n as p}from"./resolved-assistants-store-DlAmO-LO.js";import{an as m,bt as h}from"./react-query.gen-DuTdhK0R.js";import{c as g}from"./routes-CPNLHbhb.js";import{Ci as _,_a as v,u as y}from"./index-KzfXKHkT.js";import{n as b,t as x}from"./use-skill-detail-files-C40aywhH.js";import{n as S,r as C,t as w}from"./skills-DjZ74JzZ.js";var T=e(n(),1),E=s();function D({skillId:e,onClose:n}){let s=i(),D=a(),O=p.use.activeAssistantId(),[k,A]=(0,T.useState)(!1),j=o({...h({path:{assistant_id:O??``,id:e}}),select:e=>e.skill,enabled:!!O}),M=j.data,{skillMd:N,fileContent:P,isFilesPending:F,isContentPending:I}=x(O,e),L=m({onSuccess:()=>{O&&w(D,O),n()},onError:e=>{t(e,{context:`skill-detail-panel-remove`})}}),R=()=>{O&&(L.mutate({path:{assistant_id:O,id:e}}),A(!1))},z=j.isPending||F||N!=null&&I,B=M!=null&&S(M);return(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(y,{icon:M?.emoji?(0,E.jsx)(`span`,{className:`text-xl leading-none`,"aria-hidden":!0,children:M.emoji}):void 0,Glyph:l,title:M?.name??`Skill`,closeLabel:`Close skill details`,onClose:n,headerActions:B?(0,E.jsxs)(u.Root,{children:[(0,E.jsx)(u.Trigger,{asChild:!0,children:(0,E.jsx)(r,{variant:`ghost`,iconOnly:(0,E.jsx)(v,{}),"aria-label":`Skill actions`,className:`shrink-0`})}),(0,E.jsx)(u.Content,{side:`bottom`,align:`end`,children:(0,E.jsx)(u.Item,{leftIcon:(0,E.jsx)(_,{size:14}),onSelect:()=>A(!0),children:`Remove skill`})})]}):void 0,footer:(0,E.jsx)(r,{fullWidth:!0,onClick:()=>s(g.skills.detail(e)),children:`Go to Skill`}),children:j.isError&&!M?(0,E.jsx)(c,{variant:`body-medium-lighter`,as:`p`,className:`py-8 text-center text-[var(--content-tertiary)]`,children:`This skill could not be loaded. It may have been removed.`}):z?(0,E.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,E.jsx)(d,{className:`h-5 w-5 animate-spin text-[var(--content-tertiary)]`})}):(0,E.jsxs)(E.Fragment,{children:[M?.description&&(0,E.jsx)(c,{variant:`body-medium-lighter`,as:`p`,className:`mb-4 text-[var(--content-secondary)]`,children:M.description}),M&&(0,E.jsx)(b,{skill:M,className:`mb-4`,onNavigate:n}),P&&(0,E.jsx)(f,{content:P})]})}),(0,E.jsx)(C,{skillName:k&&M?M.name:null,onConfirm:R,onCancel:()=>A(!1)})]})}export{D as SkillDetailPanel};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./jsx-runtime-CVSDxk6A.js";import"./src-
|
|
1
|
+
import{t as e}from"./jsx-runtime-CVSDxk6A.js";import"./src-0Ri4-JTJ.js";import{t}from"./confirm-dialog-BZvq8PhO.js";import{Ct as n}from"./react-query.gen-DuTdhK0R.js";var r=e();function i({skillName:e,onConfirm:n,onCancel:i}){return(0,r.jsx)(t,{open:e!==null,title:`Remove skill`,message:e?`Remove "${e}" from this assistant?`:``,confirmLabel:`Remove`,destructive:!0,onConfirm:n,onCancel:i})}function a(e){return e.kind===`installed`}function o(e,t){e.invalidateQueries({queryKey:n({path:{assistant_id:t}})})}export{a as n,i as r,o as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{a as t,t as n}from"./local-settings-lVNyIOJ_.js";import{t as r}from"./react-DJZBPgpf.js";import{t as i}from"./button-amTXFI-2.js";import{d as a,h as o,r as s,u as c}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as l}from"./useQuery-B45lW1Kk.js";import{t as u}from"./jsx-runtime-CVSDxk6A.js";import{t as d}from"./card-Bv5O5juh.js";import{a as f,c as p,i as m,n as ee,o as h,r as te,s as g,t as ne}from"./use-skill-actions-mJaMNpfO.js";import{t as _}from"./brain-BLDXGaUy.js";import{t as v}from"./check-DFNrQERi.js";import{t as y}from"./cloud-off-Db1nySkc.js";import{i as b,n as re,r as x,t as ie}from"./use-skill-categories-Bit2V2fA.js";import{t as S}from"./globe-4qSOWE2N.js";import{t as C}from"./loader-circle-Cz7opInR.js";import{t as w}from"./sparkles-PGiR5v1g.js";import{t as T}from"./x-CkSVp1Ok.js";import"./src-DZbMXyC2.js";import{t as E}from"./popover-CFL4WZTr.js";import{t as D}from"./input-CoUmPnRU.js";import{n as O,t as k}from"./panel-item-CouW2A55.js";import{St as A}from"./react-query.gen-LsPzqPq6.js";import{c as j}from"./routes-BXlWEOF0.js";import{Ea as M,Hi as N,Na as P,Sr as F,bi as I,fi as L,ji as R,ta as z,vi as B,yi as V}from"./index-B4Qq7TL7.js";import{t as H}from"./use-active-assistant-id-CGeH4Gl6.js";import{n as U,r as ae}from"./skills-D0rhLW1_.js";import{t as oe}from"./skill-icon-CgzIQCTT.js";var W=e(r(),1),G=u(),K=[{value:`all`,label:`All`,icon:z},{value:`installed`,label:`Installed`,icon:M},{value:`available`,label:`Available`,icon:P}],q=[{value:`vellum`,label:`Vellum`,icon:p},{value:`clawhub`,label:`Clawhub`,icon:S},{value:`skillssh`,label:`skills.sh`,icon:I},{value:`custom`,label:`Custom`,icon:B},{value:`assistant-memory`,label:`Assistant's Memory`,icon:_}];function se({search:e,onSearchChange:t,filter:n,onFilterChange:r,isSearching:i,categories:a,category:o,onCategoryChange:s,counts:c,totalCount:l,showCounts:u}){return(0,G.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,G.jsx)(D,{type:`search`,value:e,onChange:e=>{t(e.target.value)},placeholder:`Search skills`,"aria-label":`Search skills`,leftIcon:(0,G.jsx)(R,{className:`h-4 w-4`,"aria-hidden":!0}),rightIcon:i?(0,G.jsx)(C,{className:`h-4 w-4 animate-spin`,"aria-hidden":!0}):void 0,fullWidth:!0,wrapperClassName:`flex-1`}),(0,G.jsx)(ce,{filter:n,onFilterChange:r,categories:a,category:o,onCategoryChange:s,counts:c,totalCount:l,showCounts:u})]})}function ce(e){let t=F(),[n,r]=(0,W.useState)(!1),a=(0,G.jsx)(i,{type:`button`,variant:`outlined`,iconOnly:(0,G.jsx)(b,{"aria-hidden":!0}),"aria-label":`Filter skills`,"aria-haspopup":t?`dialog`:`listbox`,"aria-expanded":n,tintColor:`var(--primary-base)`});return t?(0,G.jsx)(le,{...e,open:n,onOpenChange:r,trigger:a}):(0,G.jsxs)(E.Root,{open:n,onOpenChange:r,children:[(0,G.jsx)(E.Trigger,{asChild:!0,children:a}),(0,G.jsx)(E.Content,{align:`end`,sideOffset:4,className:`w-44 overflow-hidden p-0`,children:(0,G.jsxs)(`ul`,{role:`listbox`,children:[(0,G.jsx)(X,{label:`Status`,options:K,selected:e.filter,onSelect:t=>{e.onFilterChange(t),r(!1)}}),(0,G.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}),(0,G.jsx)(X,{label:`Source`,options:q,selected:e.filter,onSelect:t=>{e.onFilterChange(t),r(!1)}})]})})]})}function le({filter:e,onFilterChange:t,categories:n,category:r,onCategoryChange:a,counts:o,totalCount:s,showCounts:c,open:l,onOpenChange:u,trigger:d}){let f=[...n].sort((e,t)=>e.label.localeCompare(t.label));return(0,G.jsxs)(O.Root,{open:l,onOpenChange:u,children:[(0,G.jsx)(O.Trigger,{asChild:!0,children:d}),(0,G.jsxs)(O.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)(O.Header,{children:(0,G.jsx)(O.Title,{children:`Filters`})}),(0,G.jsxs)(O.Body,{className:`flex flex-col gap-3 pt-2`,children:[(0,G.jsx)(J,{label:`Status`,children:K.map(n=>(0,G.jsx)(Y,{icon:n.icon,label:n.label,active:e===n.value,onSelect:()=>t(n.value)},n.value))}),(0,G.jsx)(J,{label:`Source`,children:q.map(n=>(0,G.jsx)(Y,{icon:n.icon,label:n.label,active:e===n.value,onSelect:()=>t(n.value)},n.value))}),(0,G.jsxs)(J,{label:`Categories`,children:[(0,G.jsx)(Y,{icon:z,label:`All`,active:r===null,badge:c?s:void 0,onSelect:()=>a(null)}),f.map(e=>(0,G.jsx)(Y,{icon:x(e.icon)??z,label:e.label,active:r===e.slug,badge:c?o[e.slug]??0:void 0,onSelect:()=>a(e.slug)},e.slug))]})]}),(0,G.jsx)(O.Footer,{children:(0,G.jsx)(i,{type:`button`,variant:`primary`,fullWidth:!0,onClick:()=>u(!1),children:`Done`})})]})]})}function J({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 Y({icon:e,label:t,active:n,badge:r,onSelect:i}){return(0,G.jsx)(k,{icon:e,label:t,active:n,activeVariant:`branded`,badge:r,trailingAction:n&&r==null?(0,G.jsx)(v,{className:`h-4 w-4 text-[var(--primary-base)]`,"aria-hidden":!0}):void 0,onSelect:i})}function X({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)(M,{className:`h-3.5 w-3.5`,"aria-hidden":!0})]})},e.value)})})]})}function ue({skill:e,onSelect:t,onInstall:n,onRemove:r,isInstalling:a=!1,isRemoving:o=!1}){let s=f(e),c=U(e);return(0,G.jsx)(d.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)(oe,{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)(g,{origin:e.origin})]}),(0,G.jsx)(`p`,{className:`mt-1 truncate text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:e.description})]}),s?a?(0,G.jsx)(i,{type:`button`,iconOnly:(0,G.jsx)(C,{className:`animate-spin`,"aria-hidden":!0}),disabled:!0,"aria-label":`Installing`,expandOnMobile:!1}):(0,G.jsx)(i,{type:`button`,iconOnly:(0,G.jsx)(P,{"aria-hidden":!0}),onClick:e=>{e.stopPropagation(),n?.()},disabled:!n,"aria-label":`Install skill`,expandOnMobile:!1}):(0,G.jsx)(i,{type:`button`,variant:`dangerOutline`,iconOnly:o?(0,G.jsx)(C,{className:`animate-spin`,"aria-hidden":!0}):(0,G.jsx)(V,{"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 de=new Set([`all`,`installed`,`available`,`vellum`,`clawhub`,`skillssh`,`custom`,`assistant-memory`]);function fe(e){let t=e.get(`filter`),n=e.get(`category`);return{q:e.get(`q`)??``,filter:me(t)?t:`all`,category:n||null}}function pe(e,t){let n=new URLSearchParams(e);return t.q!==void 0&&Z(n,`q`,t.q.trim()||null),t.filter!==void 0&&Z(n,`filter`,t.filter===`all`?null:t.filter),t.category!==void 0&&Z(n,`category`,t.category),n}function Z(e,t,n){n===null?e.delete(t):e.set(t,n)}function me(e){return e!==null&&de.has(e)}function Q(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 he(e){return[...e].sort((e,t)=>{let n=h(e);return n===h(t)?e.name.localeCompare(t.name,void 0,{sensitivity:`base`}):n?-1:1})}function ge(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 _e=300,$=`vellum:skills:tipDismissed`;function ve({assistantId:e}){let r=a(),i=c(),[s,u]=o(),{q:d,filter:f,category:p}=(0,W.useMemo)(()=>fe(s),[s]),m=(0,W.useCallback)(e=>{u(t=>pe(t,e),{replace:!0})},[u]),[h,g]=(0,W.useState)(d),_=ge(h.trim(),_e),v=(0,W.useRef)(d);(0,W.useEffect)(()=>{if(d!==v.current&&(v.current=d,d!==h.trim())){g(d);return}_!==d&&_===h.trim()&&(v.current=_,m({q:_}))},[_,d,h,m]);let y=(0,W.useCallback)(e=>m({filter:e}),[m]),b=(0,W.useCallback)(e=>m({category:e}),[m]),[x,S]=(0,W.useState)(()=>n($,!1)),{handleInstall:C,handleRemove:w,isInstallingSkill:T,isRemovingSkill:E,skillPendingRemoval:D,confirmRemove:O,cancelRemove:k}=ne(e),{data:M=[]}=ie(e),{origin:N,kind:P}=(0,W.useMemo)(()=>Q(f),[f]),F=l({...A({path:{assistant_id:e},query:{include:`catalog`,origin:N,kind:P,q:_||void 0,category:p??void 0}}),select:e=>({skills:e.skills,categoryCounts:e.categoryCounts,totalCount:e.totalCount}),enabled:!!e}),I=l({...A({path:{assistant_id:e},query:{include:`catalog`,origin:N,kind:P,q:_||void 0}}),select:e=>({skills:e.skills,categoryCounts:e.categoryCounts,totalCount:e.totalCount}),enabled:!!e&&p!==null}),L=(0,W.useCallback)(()=>{S(!0),t($,!0)},[]),R=(0,W.useMemo)(()=>F.data?.skills??[],[F.data?.skills]),z=p===null?F.data:I.data,{counts:B,totalCount:V}=ye(z?.skills??R,z?.categoryCounts,z?.totalCount),H=(0,W.useMemo)(()=>he(R),[R]),U=F.isFetching&&!!_;return(0,G.jsxs)(`div`,{className:`flex h-full min-h-0 flex-1 flex-col gap-4`,children:[!x&&(0,G.jsx)(be,{onDismiss:L}),(0,G.jsx)(se,{search:h,onSearchChange:g,filter:f,onFilterChange:y,isSearching:U,categories:M,category:p,onCategoryChange:b,counts:B,totalCount:V,showCounts:!U}),(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)(re,{selected:p,onSelect:b,counts:B,totalCount:V,showCounts:!U,categories:M})}),(0,G.jsx)(`div`,{className:`min-w-0 flex-1 overflow-y-auto`,children:F.isLoading?(0,G.jsx)(ee,{}):F.isError?(0,G.jsx)(te,{}):H.length===0?(0,G.jsx)(xe,{filter:f,category:p}):(0,G.jsx)(`ul`,{className:`flex flex-col gap-2`,children:H.map(e=>(0,G.jsx)(`li`,{children:(0,G.jsx)(ue,{skill:e,onSelect:()=>r(j.skills.detail(e.id),{state:{listSearch:i.search}}),onInstall:()=>C(e),onRemove:()=>w(e),isInstalling:T(e),isRemoving:E(e)})},e.id))})})]}),(0,G.jsx)(ae,{skillName:D?.name??null,onConfirm:O,onCancel:k})]})}function ye(e,t,n){return(0,W.useMemo)(()=>{if(t&&Object.keys(t).length>0)return{counts:t,totalCount:n??e.length};let r={};for(let t of e){let e=t.category??`system`;r[e]=(r[e]??0)+1}return{counts:r,totalCount:n??e.length}},[e,t,n])}function be({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)(w,{className:`h-4 w-4 shrink-0`,style:{color:`var(--primary-base)`}}),(0,G.jsx)(`p`,{className:`flex-1`,children:`You can create a new custom skill by describing what you want in chat.`}),(0,G.jsx)(i,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:(0,G.jsx)(T,{"aria-hidden":!0}),onClick:e,"aria-label":`Dismiss tip`,tintColor:`var(--content-tertiary)`,expandOnMobile:!1})]})}function xe({filter:e,category:t}){let{title:n,subtitle:r,Icon:i}=Se(e,t);return(0,G.jsx)(m,{icon:i,title:n,subtitle:r})}function Se(e,t){if(t)return{title:`No skills in this category`,subtitle:`Try selecting a different category or clearing the filter.`,Icon:z};switch(e){case`installed`:return{title:`No Skills Installed`,subtitle:`Ask your assistant in chat to search for and install new skills.`,Icon:L};case`available`:return{title:`No Skills Available`,subtitle:`All available skills have been installed.`,Icon:M};case`vellum`:return{title:`No Vellum Skills`,subtitle:`No bundled Vellum skills found.`,Icon:N};case`clawhub`:return{title:`No Clawhub Skills`,subtitle:`No Clawhub skills found. Try searching the catalog.`,Icon:S};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:B};default:return{title:`No Skills Available`,subtitle:`Check your connection to the Vellum catalog.`,Icon:y}}}function Ce(){let e=H(),[t]=o(),n=t.get(`skill`);return n?(0,G.jsx)(s,{to:j.skills.detail(n),replace:!0}):(0,G.jsx)(ve,{assistantId:e})}export{Ce as SkillsPage};
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{a as t,t as n}from"./local-settings-lVNyIOJ_.js";import{t as r}from"./react-DJZBPgpf.js";import{t as i}from"./button-amTXFI-2.js";import{d as a,h as o,r as s,u as c}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as l}from"./useQuery-B45lW1Kk.js";import{t as u}from"./jsx-runtime-CVSDxk6A.js";import{t as d}from"./card-Bv5O5juh.js";import{a as f,c as p,i as m,n as ee,o as h,r as te,s as g,t as ne}from"./use-skill-actions-DRqoGSoQ.js";import{t as _}from"./brain-BLDXGaUy.js";import{t as v}from"./check-DFNrQERi.js";import{t as y}from"./cloud-off-Db1nySkc.js";import{i as b,n as re,r as x,t as ie}from"./use-skill-categories-Dlmd1O2g.js";import{t as S}from"./globe-4qSOWE2N.js";import{t as C}from"./loader-circle-Cz7opInR.js";import{t as w}from"./sparkles-PGiR5v1g.js";import{t as T}from"./x-CkSVp1Ok.js";import"./src-0Ri4-JTJ.js";import{t as E}from"./popover-CFL4WZTr.js";import{t as D}from"./input-CoUmPnRU.js";import{n as O,t as k}from"./panel-item-D2T7lXtD.js";import{St as A}from"./react-query.gen-DuTdhK0R.js";import{c as j}from"./routes-CPNLHbhb.js";import{Aa as M,Ci as N,Fi as P,Ia as F,Ki as I,Si as L,Tr as R,aa as z,gi as B,wi as V}from"./index-KzfXKHkT.js";import{t as H}from"./use-active-assistant-id-Cv36_-K3.js";import{n as U,r as ae}from"./skills-DjZ74JzZ.js";import{t as oe}from"./skill-icon-cNkD2w1X.js";var W=e(r(),1),G=u(),K=[{value:`all`,label:`All`,icon:z},{value:`installed`,label:`Installed`,icon:M},{value:`available`,label:`Available`,icon:F}],q=[{value:`vellum`,label:`Vellum`,icon:p},{value:`clawhub`,label:`Clawhub`,icon:S},{value:`skillssh`,label:`skills.sh`,icon:V},{value:`custom`,label:`Custom`,icon:L},{value:`assistant-memory`,label:`Assistant's Memory`,icon:_}];function se({search:e,onSearchChange:t,filter:n,onFilterChange:r,isSearching:i,categories:a,category:o,onCategoryChange:s,counts:c,totalCount:l,showCounts:u}){return(0,G.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,G.jsx)(D,{type:`search`,value:e,onChange:e=>{t(e.target.value)},placeholder:`Search skills`,"aria-label":`Search skills`,leftIcon:(0,G.jsx)(P,{className:`h-4 w-4`,"aria-hidden":!0}),rightIcon:i?(0,G.jsx)(C,{className:`h-4 w-4 animate-spin`,"aria-hidden":!0}):void 0,fullWidth:!0,wrapperClassName:`flex-1`}),(0,G.jsx)(ce,{filter:n,onFilterChange:r,categories:a,category:o,onCategoryChange:s,counts:c,totalCount:l,showCounts:u})]})}function ce(e){let t=R(),[n,r]=(0,W.useState)(!1),a=(0,G.jsx)(i,{type:`button`,variant:`outlined`,iconOnly:(0,G.jsx)(b,{"aria-hidden":!0}),"aria-label":`Filter skills`,"aria-haspopup":t?`dialog`:`listbox`,"aria-expanded":n,tintColor:`var(--primary-base)`});return t?(0,G.jsx)(le,{...e,open:n,onOpenChange:r,trigger:a}):(0,G.jsxs)(E.Root,{open:n,onOpenChange:r,children:[(0,G.jsx)(E.Trigger,{asChild:!0,children:a}),(0,G.jsx)(E.Content,{align:`end`,sideOffset:4,className:`w-44 overflow-hidden p-0`,children:(0,G.jsxs)(`ul`,{role:`listbox`,children:[(0,G.jsx)(X,{label:`Status`,options:K,selected:e.filter,onSelect:t=>{e.onFilterChange(t),r(!1)}}),(0,G.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}),(0,G.jsx)(X,{label:`Source`,options:q,selected:e.filter,onSelect:t=>{e.onFilterChange(t),r(!1)}})]})})]})}function le({filter:e,onFilterChange:t,categories:n,category:r,onCategoryChange:a,counts:o,totalCount:s,showCounts:c,open:l,onOpenChange:u,trigger:d}){let f=[...n].sort((e,t)=>e.label.localeCompare(t.label));return(0,G.jsxs)(O.Root,{open:l,onOpenChange:u,children:[(0,G.jsx)(O.Trigger,{asChild:!0,children:d}),(0,G.jsxs)(O.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)(O.Header,{children:(0,G.jsx)(O.Title,{children:`Filters`})}),(0,G.jsxs)(O.Body,{className:`flex flex-col gap-3 pt-2`,children:[(0,G.jsx)(J,{label:`Status`,children:K.map(n=>(0,G.jsx)(Y,{icon:n.icon,label:n.label,active:e===n.value,onSelect:()=>t(n.value)},n.value))}),(0,G.jsx)(J,{label:`Source`,children:q.map(n=>(0,G.jsx)(Y,{icon:n.icon,label:n.label,active:e===n.value,onSelect:()=>t(n.value)},n.value))}),(0,G.jsxs)(J,{label:`Categories`,children:[(0,G.jsx)(Y,{icon:z,label:`All`,active:r===null,badge:c?s:void 0,onSelect:()=>a(null)}),f.map(e=>(0,G.jsx)(Y,{icon:x(e.icon)??z,label:e.label,active:r===e.slug,badge:c?o[e.slug]??0:void 0,onSelect:()=>a(e.slug)},e.slug))]})]}),(0,G.jsx)(O.Footer,{children:(0,G.jsx)(i,{type:`button`,variant:`primary`,fullWidth:!0,onClick:()=>u(!1),children:`Done`})})]})]})}function J({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 Y({icon:e,label:t,active:n,badge:r,onSelect:i}){return(0,G.jsx)(k,{icon:e,label:t,active:n,activeVariant:`branded`,badge:r,trailingAction:n&&r==null?(0,G.jsx)(v,{className:`h-4 w-4 text-[var(--primary-base)]`,"aria-hidden":!0}):void 0,onSelect:i})}function X({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)(M,{className:`h-3.5 w-3.5`,"aria-hidden":!0})]})},e.value)})})]})}function ue({skill:e,onSelect:t,onInstall:n,onRemove:r,isInstalling:a=!1,isRemoving:o=!1}){let s=f(e),c=U(e);return(0,G.jsx)(d.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)(oe,{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)(g,{origin:e.origin})]}),(0,G.jsx)(`p`,{className:`mt-1 truncate text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:e.description})]}),s?a?(0,G.jsx)(i,{type:`button`,iconOnly:(0,G.jsx)(C,{className:`animate-spin`,"aria-hidden":!0}),disabled:!0,"aria-label":`Installing`,expandOnMobile:!1}):(0,G.jsx)(i,{type:`button`,iconOnly:(0,G.jsx)(F,{"aria-hidden":!0}),onClick:e=>{e.stopPropagation(),n?.()},disabled:!n,"aria-label":`Install skill`,expandOnMobile:!1}):(0,G.jsx)(i,{type:`button`,variant:`dangerOutline`,iconOnly:o?(0,G.jsx)(C,{className:`animate-spin`,"aria-hidden":!0}):(0,G.jsx)(N,{"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 de=new Set([`all`,`installed`,`available`,`vellum`,`clawhub`,`skillssh`,`custom`,`assistant-memory`]);function fe(e){let t=e.get(`filter`),n=e.get(`category`);return{q:e.get(`q`)??``,filter:Q(t)?t:`all`,category:n||null}}function pe(e,t){let n=new URLSearchParams(e);return t.q!==void 0&&Z(n,`q`,t.q.trim()||null),t.filter!==void 0&&Z(n,`filter`,t.filter===`all`?null:t.filter),t.category!==void 0&&Z(n,`category`,t.category),n}function Z(e,t,n){n===null?e.delete(t):e.set(t,n)}function Q(e){return e!==null&&de.has(e)}function me(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 he(e){return[...e].sort((e,t)=>{let n=h(e);return n===h(t)?e.name.localeCompare(t.name,void 0,{sensitivity:`base`}):n?-1:1})}function ge(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 _e=300,$=`vellum:skills:tipDismissed`;function ve({assistantId:e}){let r=a(),i=c(),[s,u]=o(),{q:d,filter:f,category:p}=(0,W.useMemo)(()=>fe(s),[s]),m=(0,W.useCallback)(e=>{u(t=>pe(t,e),{replace:!0})},[u]),[h,g]=(0,W.useState)(d),_=ge(h.trim(),_e),v=(0,W.useRef)(d);(0,W.useEffect)(()=>{if(d!==v.current&&(v.current=d,d!==h.trim())){g(d);return}_!==d&&_===h.trim()&&(v.current=_,m({q:_}))},[_,d,h,m]);let y=(0,W.useCallback)(e=>m({filter:e}),[m]),b=(0,W.useCallback)(e=>m({category:e}),[m]),[x,S]=(0,W.useState)(()=>n($,!1)),{handleInstall:C,handleRemove:w,isInstallingSkill:T,isRemovingSkill:E,skillPendingRemoval:D,confirmRemove:O,cancelRemove:k}=ne(e),{data:M=[]}=ie(e),{origin:N,kind:P}=(0,W.useMemo)(()=>me(f),[f]),F=l({...A({path:{assistant_id:e},query:{include:`catalog`,origin:N,kind:P,q:_||void 0,category:p??void 0}}),select:e=>({skills:e.skills,categoryCounts:e.categoryCounts,totalCount:e.totalCount}),enabled:!!e}),I=l({...A({path:{assistant_id:e},query:{include:`catalog`,origin:N,kind:P,q:_||void 0}}),select:e=>({skills:e.skills,categoryCounts:e.categoryCounts,totalCount:e.totalCount}),enabled:!!e&&p!==null}),L=(0,W.useCallback)(()=>{S(!0),t($,!0)},[]),R=(0,W.useMemo)(()=>F.data?.skills??[],[F.data?.skills]),z=p===null?F.data:I.data,{counts:B,totalCount:V}=ye(z?.skills??R,z?.categoryCounts,z?.totalCount),H=(0,W.useMemo)(()=>he(R),[R]),U=F.isFetching&&!!_;return(0,G.jsxs)(`div`,{className:`flex h-full min-h-0 flex-1 flex-col gap-4`,children:[!x&&(0,G.jsx)(be,{onDismiss:L}),(0,G.jsx)(se,{search:h,onSearchChange:g,filter:f,onFilterChange:y,isSearching:U,categories:M,category:p,onCategoryChange:b,counts:B,totalCount:V,showCounts:!U}),(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)(re,{selected:p,onSelect:b,counts:B,totalCount:V,showCounts:!U,categories:M})}),(0,G.jsx)(`div`,{className:`min-w-0 flex-1 overflow-y-auto`,children:F.isLoading?(0,G.jsx)(ee,{}):F.isError?(0,G.jsx)(te,{}):H.length===0?(0,G.jsx)(xe,{filter:f,category:p}):(0,G.jsx)(`ul`,{className:`flex flex-col gap-2`,children:H.map(e=>(0,G.jsx)(`li`,{children:(0,G.jsx)(ue,{skill:e,onSelect:()=>r(j.skills.detail(e.id),{state:{listSearch:i.search}}),onInstall:()=>C(e),onRemove:()=>w(e),isInstalling:T(e),isRemoving:E(e)})},e.id))})})]}),(0,G.jsx)(ae,{skillName:D?.name??null,onConfirm:O,onCancel:k})]})}function ye(e,t,n){return(0,W.useMemo)(()=>{if(t&&Object.keys(t).length>0)return{counts:t,totalCount:n??e.length};let r={};for(let t of e){let e=t.category??`system`;r[e]=(r[e]??0)+1}return{counts:r,totalCount:n??e.length}},[e,t,n])}function be({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)(w,{className:`h-4 w-4 shrink-0`,style:{color:`var(--primary-base)`}}),(0,G.jsx)(`p`,{className:`flex-1`,children:`You can create a new custom skill by describing what you want in chat.`}),(0,G.jsx)(i,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:(0,G.jsx)(T,{"aria-hidden":!0}),onClick:e,"aria-label":`Dismiss tip`,tintColor:`var(--content-tertiary)`,expandOnMobile:!1})]})}function xe({filter:e,category:t}){let{title:n,subtitle:r,Icon:i}=Se(e,t);return(0,G.jsx)(m,{icon:i,title:n,subtitle:r})}function Se(e,t){if(t)return{title:`No skills in this category`,subtitle:`Try selecting a different category or clearing the filter.`,Icon:z};switch(e){case`installed`:return{title:`No Skills Installed`,subtitle:`Ask your assistant in chat to search for and install new skills.`,Icon:B};case`available`:return{title:`No Skills Available`,subtitle:`All available skills have been installed.`,Icon:M};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:S};case`skillssh`:return{title:`No skills.sh Skills`,subtitle:`No skills.sh skills found. Try searching the catalog.`,Icon:V};case`custom`:return{title:`No Custom Skills`,subtitle:`Create a custom skill by describing what you want in chat.`,Icon:L};default:return{title:`No Skills Available`,subtitle:`Check your connection to the Vellum catalog.`,Icon:y}}}function Ce(){let e=H(),[t]=o(),n=t.get(`skill`);return n?(0,G.jsx)(s,{to:j.skills.detail(n),replace:!0}):(0,G.jsx)(ve,{assistantId:e})}export{Ce as SkillsPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jr as e}from"./sdk.gen-
|
|
1
|
+
import{jr as e}from"./sdk.gen-B6w0Rx7D.js";import{n as t}from"./api-errors-0nSIbmmG.js";var n=[`aiff`,`wav`,`mp3`,`m4a`,`caf`],r=[`task_complete`,`needs_input`,`task_failed`,`notification`,`new_conversation`,`message_sent`,`character_poke`,`random`],i={task_complete:`Task Complete`,needs_input:`Needs Input`,task_failed:`Task Failed`,notification:`Notification`,new_conversation:`New Conversation`,message_sent:`Message Sent`,character_poke:`Character Poke`,random:`Random`};function a(){let e={};for(let t of r)e[t]={enabled:!1,sounds:[]};return{globalEnabled:!1,volume:.7,events:e}}function o(e){let t=e.lastIndexOf(`.`);return t<0||t===e.length-1?``:e.slice(t+1).toLowerCase()}function s(e){let t=o(e);return n.includes(t)}function c(e){return!e||e.includes(`/`)||e.includes(`\\`)||e.includes(`..`)?!1:s(e)}function l(e){let t=e.lastIndexOf(`.`);return t<=0?e:e.slice(0,t)}var u=`data/sounds`;async function d(n,r){if(!c(r))return null;try{let{data:i,error:a,response:o}=await e({path:{assistant_id:n},query:{path:`${u}/${r}`},parseAs:`blob`,throwOnError:!1});return t(o,a,`Failed to fetch sound file`),!o.ok||!i?null:i}catch{return null}}function f(e){return Number.isFinite(e)?e<0?0:e>1?1:e:.7}var p=class{assistantId=null;config=null;featureEnabled=!1;cache=new Map;pendingFetches=new Map;audioContext=null;setAssistantId(e){e!==this.assistantId&&(this.assistantId=e,this.clearCache())}setConfig(e){this.config=e}setFeatureEnabled(e){this.featureEnabled=e}async play(e){if(!this.featureEnabled)return;let t=this.config;if(!t||!t.globalEnabled)return;let n=t.events[e];if(!n?.enabled)return;let r=f(t.volume),i=n.sounds.filter(c);if(i.length===0){this.playFallbackBlip(r);return}let a=i[Math.floor(Math.random()*i.length)];if(!a){this.playFallbackBlip(r);return}await this.playFile(a,r)||this.playFallbackBlip(r)}async previewSound(e,t){if(!this.featureEnabled)return;let n=f(t??this.config?.volume??.7);await this.playFile(e,n)||this.playFallbackBlip(n)}async previewFallbackBlip(e){if(!this.featureEnabled)return;let t=f(e??this.config?.volume??.7);this.playFallbackBlip(t)}clearCache(){for(let e of this.cache.values())URL.revokeObjectURL(e.url);this.cache.clear(),this.pendingFetches.clear()}async playFile(e,t){if(!c(e))return!1;let n=await this.getOrFetch(e);if(!n)return!1;try{let e=new Audio(n.url);return e.volume=t,await e.play(),!0}catch{return!1}}async getOrFetch(e){let t=this.cache.get(e);if(t)return t;let n=this.pendingFetches.get(e);if(n)return n;let r=this.assistantId;if(!r)return null;let i=(async()=>{try{let t=await d(r,e);if(!t)return null;let n={url:URL.createObjectURL(t)};return this.cache.set(e,n),n}finally{this.pendingFetches.delete(e)}})();return this.pendingFetches.set(e,i),i}playFallbackBlip(e){if(!(typeof window>`u`))try{let t=window.AudioContext||window.webkitAudioContext;if(!t)return;this.audioContext||=new t;let n=this.audioContext;n.state===`suspended`&&n.resume();let r=n.createOscillator(),i=n.createGain();r.type=`sine`,r.frequency.setValueAtTime(880,n.currentTime);let a=Math.max(0,Math.min(1,e))*.25;i.gain.setValueAtTime(0,n.currentTime),i.gain.linearRampToValueAtTime(a,n.currentTime+.01),i.gain.exponentialRampToValueAtTime(1e-4,n.currentTime+.18),r.connect(i),i.connect(n.destination),r.start(),r.stop(n.currentTime+.2)}catch{}}},m=null;function h(){return m||=new p,m}export{l as a,a as i,i as n,r,h as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{n}from"./QueryClientProvider-DKhXIxGb.js";import{t as r}from"./useQuery-B45lW1Kk.js";import{t as i}from"./useMutation-Lj4VunQV.js";import{t as a}from"./jsx-runtime-CVSDxk6A.js";import{t as o}from"./card-Bv5O5juh.js";import{t as s}from"./chevron-down-qD-re7AW.js";import{t as c}from"./toggle-CDfguvUz.js";import{At as l,Mt as u,Nt as d,Ot as f}from"./react-query.gen-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{n}from"./QueryClientProvider-DKhXIxGb.js";import{t as r}from"./useQuery-B45lW1Kk.js";import{t as i}from"./useMutation-Lj4VunQV.js";import{t as a}from"./jsx-runtime-CVSDxk6A.js";import{t as o}from"./card-Bv5O5juh.js";import{t as s}from"./chevron-down-qD-re7AW.js";import{t as c}from"./toggle-CDfguvUz.js";import{At as l,Mt as u,Nt as d,Ot as f}from"./react-query.gen-DuTdhK0R.js";import{a as p,i as m,n as h,r as g,t as _}from"./sound-manager-BzHxsxwE.js";import{Ci as v,Vi as y}from"./index-KzfXKHkT.js";import{t as b}from"./use-active-assistant-id-Cv36_-K3.js";var x=e(t(),1),S=a();function C({label:e,description:t,checked:n,disabled:r,onChange:i}){return(0,S.jsxs)(`div`,{className:`flex items-center justify-between gap-3 py-1`,children:[(0,S.jsxs)(`div`,{children:[(0,S.jsx)(`div`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:e}),t&&(0,S.jsx)(`div`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:t})]}),(0,S.jsx)(c,{checked:n,disabled:r,onChange:i,label:e})]})}function w(){return(0,S.jsx)(`div`,{className:`border-t border-[var(--border-base)]`})}function T({event:e,eventConfig:t,availableSounds:n,globalEnabled:r,onToggle:i,onAddSound:a,onRemoveSound:o,onPreview:l}){let[u,d]=(0,x.useState)(!1),f=n.filter(e=>!t.sounds.includes(e.filename)),m=n.length>0&&f.length===0;return(0,S.jsxs)(`div`,{className:`py-3`,children:[(0,S.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,S.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:h[e]}),(0,S.jsx)(c,{checked:t.enabled,disabled:!r,onChange:i,label:`Enable ${h[e]}`})]}),t.enabled&&(0,S.jsxs)(`div`,{className:`mt-2 space-y-1 pl-2`,children:[t.sounds.length===0?(0,S.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Default Blip`}):t.sounds.map(e=>(0,S.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,S.jsx)(`span`,{className:`truncate text-body-small-default text-[var(--content-secondary)]`,title:e,children:p(e)}),(0,S.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,S.jsx)(`button`,{type:`button`,onClick:()=>l(e),className:`inline-flex items-center rounded-md px-1.5 py-0.5 text-body-small-default text-[var(--content-tertiary)] hover:bg-[var(--surface-base)] dark:text-[var(--content-disabled)] dark:hover:bg-[var(--ghost-hover)]`,"aria-label":`Preview ${e}`,children:(0,S.jsx)(y,{className:`h-3 w-3`})}),(0,S.jsx)(`button`,{type:`button`,onClick:()=>o(e),className:`inline-flex items-center rounded-md px-1.5 py-0.5 text-body-small-default text-[var(--content-tertiary)] hover:bg-[var(--surface-base)] dark:text-[var(--content-disabled)] dark:hover:bg-[var(--ghost-hover)]`,"aria-label":`Remove ${e}`,children:(0,S.jsx)(v,{className:`h-3 w-3`})})]})]},e)),n.length===0?(0,S.jsx)(`p`,{className:`text-body-small-default italic text-[var(--content-disabled)]`,children:`No sound files yet. Drop audio files into data/sounds/ in your workspace.`}):m?(0,S.jsx)(`button`,{type:`button`,disabled:!0,className:`inline-flex items-center gap-1 rounded-md border border-[var(--border-base)] bg-white px-2 py-1 text-body-small-default text-[var(--content-disabled)] disabled:cursor-not-allowed dark:bg-[var(--surface-lift)] dark:text-[var(--content-tertiary)]`,children:`All sounds added`}):(0,S.jsxs)(`div`,{className:`relative inline-block`,children:[(0,S.jsxs)(`button`,{type:`button`,onClick:()=>d(e=>!e),className:`inline-flex items-center gap-1 rounded-md border border-[var(--border-base)] bg-white px-2 py-1 text-body-small-default text-[var(--content-default)] hover:bg-[var(--surface-base)] dark:bg-[var(--surface-lift)] dark:hover:bg-[var(--ghost-hover)]`,children:[`Add sound`,(0,S.jsx)(s,{className:`h-3 w-3`})]}),u&&(0,S.jsx)(`div`,{className:`absolute left-0 z-10 mt-1 max-h-64 w-56 overflow-auto rounded-md border border-[var(--border-base)] bg-white p-1 shadow-lg dark:bg-[var(--surface-lift)]`,onMouseLeave:()=>d(!1),children:f.map(e=>(0,S.jsx)(`button`,{type:`button`,onClick:()=>{a(e.filename),d(!1)},className:`block w-full truncate rounded px-2 py-1 text-left text-body-small-default text-[var(--content-default)] hover:bg-[var(--surface-base)] dark:hover:bg-[var(--ghost-hover)]`,title:e.filename,children:e.label},e.filename))})]})]})]})}function E(){let e=n(),t=b(),a=(0,x.useMemo)(()=>l({path:{assistant_id:t}}),[t]),s=(0,x.useMemo)(()=>f({path:{assistant_id:t}}),[t]),{data:c}=r(a),{data:p}=r(s),h=c??m(),v=p?.sounds??[],E=(0,x.useMemo)(()=>({path:{assistant_id:t}}),[t]),D=i({...d(E),onMutate:async t=>{await e.cancelQueries({queryKey:a.queryKey});let n=e.getQueryData(a.queryKey);return u(e,E,t.body),{previous:n}},onError:(t,n,r)=>{r?.previous!==void 0&&u(e,E,r.previous)},onSettled:()=>{e.invalidateQueries({queryKey:a.queryKey})}}),O=(0,x.useCallback)(n=>{let r=n(e.getQueryData(a.queryKey)??m());D.mutate({path:{assistant_id:t},body:r})},[t,a.queryKey,e,D]),k=e=>{O(t=>({...t,globalEnabled:e}))},A=e=>{O(t=>({...t,volume:e}))},[j,M]=(0,x.useState)(null),N=j??h.volume,P=(e,t)=>{O(n=>({...n,events:{...n.events,[e]:{...n.events[e]??{enabled:!1,sounds:[]},enabled:t}}}))},F=(e,t)=>{O(n=>{let r=n.events[e]??{enabled:!0,sounds:[]};return r.sounds.includes(t)?n:{...n,events:{...n.events,[e]:{...r,sounds:[...r.sounds,t]}}}})},I=(e,t)=>{O(n=>{let r=n.events[e];return r?{...n,events:{...n.events,[e]:{...r,sounds:r.sounds.filter(e=>e!==t)}}}:n})},L=()=>{_().previewFallbackBlip(h.volume)},R=e=>{_().previewSound(e,h.volume)};return(0,S.jsxs)(`div`,{className:`space-y-6`,children:[(0,S.jsxs)(o,{children:[(0,S.jsx)(C,{label:`Enable sound effects`,description:`Master switch for every event-driven sound.`,checked:h.globalEnabled,onChange:k}),(0,S.jsx)(w,{}),(0,S.jsxs)(`div`,{className:`flex items-center gap-3 py-3`,children:[(0,S.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:`Volume`}),(0,S.jsx)(`input`,{type:`range`,min:0,max:1,step:.05,value:N,onChange:e=>M(parseFloat(e.target.value)),onPointerUp:e=>{let t=parseFloat(e.currentTarget.value);M(null),t!==h.volume&&A(t)},onKeyUp:e=>{let t=parseFloat(e.currentTarget.value);M(null),t!==h.volume&&A(t)},onBlur:e=>{let t=parseFloat(e.currentTarget.value);M(null),t!==h.volume&&A(t)},className:`h-1 w-48 cursor-pointer`,disabled:!h.globalEnabled,"aria-label":`Sound effect volume`}),(0,S.jsxs)(`span`,{className:`tabular-nums text-body-small-default text-[var(--content-tertiary)]`,children:[Math.round(N*100),`%`]})]}),(0,S.jsx)(w,{}),(0,S.jsxs)(`div`,{className:`flex items-center justify-between py-3`,children:[(0,S.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:`Preview default blip`}),(0,S.jsxs)(`button`,{type:`button`,onClick:L,disabled:!h.globalEnabled,className:`inline-flex items-center gap-1.5 rounded-md border border-[var(--border-base)] bg-white px-3 py-1.5 text-body-medium-lighter text-[var(--content-default)] hover:bg-[var(--surface-base)] disabled:cursor-not-allowed disabled:opacity-50 dark:bg-[var(--surface-lift)] dark:hover:bg-[var(--ghost-hover)]`,children:[(0,S.jsx)(y,{className:`h-3.5 w-3.5`}),`Preview`]})]})]}),(0,S.jsxs)(o,{children:[(0,S.jsxs)(`div`,{className:`pb-2`,children:[(0,S.jsx)(`h3`,{className:`text-title-small text-[var(--content-default)]`,children:`Sound Events`}),(0,S.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Add one or more sounds per event. When multiple are configured, one plays at random.`})]}),(0,S.jsx)(`div`,{className:`divide-y divide-[var(--border-base)]`,children:g.map(e=>(0,S.jsx)(T,{event:e,eventConfig:h.events[e]??{enabled:!1,sounds:[]},availableSounds:v,globalEnabled:h.globalEnabled,onToggle:t=>P(e,t),onAddSound:t=>F(e,t),onRemoveSound:t=>I(e,t),onPreview:e=>R(e)},e))})]})]})}export{E as SoundsPage};
|