@vellumai/web 0.11.4-staging.1 → 0.11.4-staging.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -8
- package/dist/assets/{BundleConfirmPage-BbdN3tFL.js → BundleConfirmPage-Blq6GhVG.js} +1 -1
- package/dist/assets/{Trans-Ch_EPHgV.js → Trans-CPcWO-v6.js} +1 -1
- package/dist/assets/{about-page-B-1ST2gv.js → about-page-CTTTxSzr.js} +1 -1
- package/dist/assets/{access-DgWVDTc-.js → access-wabdRUmQ.js} +1 -1
- package/dist/assets/{account-page-Bjw-Whl-.js → account-page-DINYg3Rl.js} +1 -1
- package/dist/assets/{account-shell-7DXx2oD4.js → account-shell-DQFZ4C79.js} +1 -1
- package/dist/assets/{acp-run-actions-D3BHB3kZ.js → acp-run-actions-CkYR2vBH.js} +1 -1
- package/dist/assets/{acp-run-detail-panel-CMV1hamc.js → acp-run-detail-panel-Dt_Dcegh.js} +4 -4
- package/dist/assets/{acp-run-store-DpbMRWeI.js → acp-run-store-k9Syb04D.js} +1 -1
- package/dist/assets/activity-steps-panel-B9N9npP8.js +1 -0
- package/dist/assets/{add-credential-modal-CAorWf5a.js → add-credential-modal-Bn2SkYV8.js} +1 -1
- package/dist/assets/{add-credits-modal-NK9YUVin.js → add-credits-modal-lFCQGz49.js} +1 -1
- package/dist/assets/ai-page-DuZ_jor4.js +1 -0
- package/dist/assets/{api-xbjYCkk-.js → api-C72Ea0va.js} +1 -1
- package/dist/assets/{api-asaDrkTi.js → api-Dppu0jIX.js} +1 -1
- package/dist/assets/{api-key-screen-BLsynLtR.js → api-key-screen-CbIBGdOH.js} +1 -1
- package/dist/assets/{app-card-oG9LxSg9.js → app-card-BrtrF2PU.js} +1 -1
- package/dist/assets/{assistant-status-panel-CdJKE_VM.js → assistant-status-panel-DUB7x8Cv.js} +1 -1
- package/dist/assets/{auth-store-BDMYc7te.js → auth-store-B9pHhreb.js} +2 -2
- package/dist/assets/{avatar-random-cVA-5Ukx.js → avatar-random-Ux7JUtwk.js} +1 -1
- package/dist/assets/{background-task-actions-Cf2kEaWh.js → background-task-actions-D3TOUuY8.js} +1 -1
- package/dist/assets/{background-task-detail-panel-DWGWcjjS.js → background-task-detail-panel-nHViOVhW.js} +1 -1
- package/dist/assets/{background-task-store-eQZGVUDr.js → background-task-store-r1LOGfBn.js} +1 -1
- package/dist/assets/{billing-page-scyDxDPK.js → billing-page-BtPUFL3X.js} +3 -3
- package/dist/assets/{bookmarks-page-JMPRm3As.js → bookmarks-page-BA7-0dXF.js} +1 -1
- package/dist/assets/{browser-CZ10MkOr.js → browser-DwONNRIj.js} +2 -2
- package/dist/assets/{build-state-DdpPjDMZ.js → build-state-bnyw3m5Y.js} +1 -1
- package/dist/assets/channels-page-route-Da6XgpGs.js +9 -0
- package/dist/assets/{chat-sgiUoK1u.js → chat-BfpNzA77.js} +1 -1
- package/dist/assets/chat-DRdXDFUk.js +3 -0
- package/dist/assets/{chat-avatar-B1G491hG.js → chat-avatar-RM6-aunH.js} +1 -1
- package/dist/assets/chat-markdown-message-DWQZLyLI.js +1 -0
- package/dist/assets/{checkout-continuation-ChMQkpyi.js → checkout-continuation-B34WX6T6.js} +1 -1
- package/dist/assets/{checkout-page-Cpk90EXc.js → checkout-page-ZxCMmuwz.js} +1 -1
- package/dist/assets/checkout-return-target-CpckAKDY.js +1 -0
- package/dist/assets/{client-perf-C4GkD7vz.js → client-perf-Daz5cYUH.js} +1 -1
- package/dist/assets/command-palette-C6h4Ip2u.js +1 -0
- package/dist/assets/{command-palette-window-page-BP9A8L2v.js → command-palette-window-page-BKbM5K6f.js} +1 -1
- package/dist/assets/{companion-surface-page-B0hbyF1T.js → companion-surface-page-BbU9Hj0z.js} +1 -1
- package/dist/assets/{composer-settings-BMKJP4Ik.js → composer-settings-DYfbHO-e.js} +1 -1
- package/dist/assets/{connect-page-DKFPwsN0.js → connect-page-DxRMNc2U.js} +1 -1
- package/dist/assets/{consent-controls-hAYNW2he.js → consent-controls-Dz0ScMsh.js} +1 -1
- package/dist/assets/contacts-page-route-C-7wKpdG.js +1 -0
- package/dist/assets/{conversation-cache-DY3GhyFA.js → conversation-cache-ztu3M4pz.js} +1 -1
- package/dist/assets/{conversation-list-fetchers-CVKv5BpN.js → conversation-list-fetchers-eA7yZMEu.js} +1 -1
- package/dist/assets/{conversation-navigation-Bw3eQBGU.js → conversation-navigation-tCTlvwgs.js} +1 -1
- package/dist/assets/{conversation-queries-7BVaya69.js → conversation-queries-DkkuIyRB.js} +1 -1
- package/dist/assets/{credential-entry-page-BxNWgyvZ.js → credential-entry-page-DqEK_3ve.js} +1 -1
- package/dist/assets/credentials-page-Nx8MKxw7.js +1 -0
- package/dist/assets/{csv-preview-Ba7nV5mb.js → csv-preview-DfyT2oPn.js} +1 -1
- package/dist/assets/{daily-reset-time-i6mZWgVc.js → daily-reset-time-B28vdbVK.js} +1 -1
- package/dist/assets/debug-page-F58Vngs5.js +4 -0
- package/dist/assets/{deploy-dialogs-CG-65xs0.js → deploy-dialogs-Dr5UW72X.js} +1 -1
- package/dist/assets/{deploy-store-eps_MrT7.js → deploy-store-BAIpED5W.js} +1 -1
- package/dist/assets/{detail-card-CC0br9gQ.js → detail-card-BvBqhvvy.js} +1 -1
- package/dist/assets/{detail-drawer-BpdqER__.js → detail-drawer-zQohjzAF.js} +1 -1
- package/dist/assets/{detail-shell-Bmyv2wPh.js → detail-shell-6omiDynS.js} +1 -1
- package/dist/assets/developer-page-BgkajhCF.js +1 -0
- package/dist/assets/{diagnostics-CeLo0IQo.js → diagnostics-B6s70M5A.js} +1 -1
- package/dist/assets/{doctor-handoff-store-D1gIUvVD.js → doctor-handoff-store-DbvChP6h.js} +1 -1
- package/dist/assets/{document-viewer-container-Bywwxt6G.js → document-viewer-container-CiSaZjGT.js} +2 -2
- package/dist/assets/{document-viewer-page-qJKfO2Qb.js → document-viewer-page-B41ybONf.js} +1 -1
- package/dist/assets/{emails-page-B0--yw62.js → emails-page-zqESuC5i.js} +1 -1
- package/dist/assets/{esm-CoB42w1C.js → esm-BAZfwa77.js} +2 -2
- package/dist/assets/{esm-DyAueRRL.js → esm-BpO8b4iY.js} +2 -2
- package/dist/assets/esm-C-oF6bck.js +2 -0
- package/dist/assets/{esm-BbX6z_Bm.js → esm-CuIRAuen.js} +2 -2
- package/dist/assets/{esm-_vI9--3B.js → esm-CyDcfaYH.js} +2 -2
- package/dist/assets/{esm-BKg0nbmu.js → esm-D7eT5n3U.js} +2 -2
- package/dist/assets/{esm-B4xcxzQN.js → esm-tXi8GsTV.js} +2 -2
- package/dist/assets/eye-bbox-BR5NO1BX.js +1 -0
- package/dist/assets/file-editor-B2BJsOt0.js +1 -0
- package/dist/assets/file-markdown-EG3aJEi8.js +2 -0
- package/dist/assets/first-run-scope-mN3YhjgX.js +1 -0
- package/dist/assets/{funnel-events-BddkbWqn.js → funnel-events-CH_O9aTg.js} +1 -1
- package/dist/assets/general-page-C6eGuDih.js +1 -0
- package/dist/assets/{haptics-DafZDCxm.js → haptics-BhuZvnto.js} +2 -2
- package/dist/assets/{hatching-screen-BKfkDhPr.js → hatching-screen-Ceyfxgc-.js} +1 -1
- package/dist/assets/{home-page-route-B6vQYv0r.js → home-page-route-DdXLgyeu.js} +1 -1
- package/dist/assets/{home-tool-permission-card-IF0-aLrT.js → home-tool-permission-card-NAxzVd1l.js} +1 -1
- package/dist/assets/{hosting-screen-BJ5SfJoU.js → hosting-screen-D05jZjLX.js} +1 -1
- package/dist/assets/{i18n-zb2mgr1B.js → i18n-BR-AyG5b.js} +2 -2
- package/dist/assets/identity-page-route-BlKLitBM.js +7 -0
- package/dist/assets/{index-xicEUutS.js → index-CKyw1JVb.js} +3 -3
- package/dist/assets/index-DJ5ObIDJ.css +2 -0
- package/dist/assets/{ingest-B9D2Cyin.js → ingest-BwYkhorN.js} +1 -1
- package/dist/assets/inspect-page-m1poii66.js +9 -0
- package/dist/assets/integrations-page-Duhjka1l.js +1 -0
- package/dist/assets/{intelligence-layout-BESJ3-1s.js → intelligence-layout-ld1yOf08.js} +1 -1
- package/dist/assets/{invalidate-memory-queries-CS15Vuec.js → invalidate-memory-queries-YJf2XJ5P.js} +1 -1
- package/dist/assets/{invalidate-plugin-queries-DvUskShG.js → invalidate-plugin-queries-CySCFK8G.js} +1 -1
- package/dist/assets/latest-assistant-text-CDrxmzc0.js +24 -0
- package/dist/assets/{library-detail-page-BBfYWKvm.js → library-detail-page-v5CrGIps.js} +1 -1
- package/dist/assets/{library-page-BgbT6zej.js → library-page-BUnsZHzU.js} +1 -1
- package/dist/assets/{local-runtime-upgrade-SQQhJhOk.js → local-runtime-upgrade-Bwp6_dxW.js} +1 -1
- package/dist/assets/{login-flow-CTw5lXLx.js → login-flow-imrf1-ub.js} +1 -1
- package/dist/assets/{login-page-D2GAHcR7.js → login-page-C8owPhpB.js} +1 -1
- package/dist/assets/{logout-page-Cukoglve.js → logout-page-DfY78j6S.js} +1 -1
- package/dist/assets/{logs-layout-B4KDB9Sb.js → logs-layout-Dox-b2zq.js} +1 -1
- package/dist/assets/{media-preview-DjetaJpN.js → media-preview-6mD4wHKW.js} +1 -1
- package/dist/assets/{memory-page-route-Bnyvrbhn.js → memory-page-route-Cen_nGPc.js} +1 -1
- package/dist/assets/{memory-router-playground-page-8M60K9iJ.js → memory-router-playground-page-BvNM2MJO.js} +1 -1
- package/dist/assets/{message-files-panel-Cwlkr5w4.js → message-files-panel-CECqngl9.js} +1 -1
- package/dist/assets/{messages-D0PQ2X1S.js → messages-ctx0P03F.js} +1 -1
- package/dist/assets/{metric-card-SnROKwaj.js → metric-card-CRmU_rxS.js} +1 -1
- package/dist/assets/{multi-activity-group-CenHDhpe.js → multi-activity-group-DuW4ziR3.js} +1 -1
- package/dist/assets/native-anchor-BE-YHt8Q.js +1 -0
- package/dist/assets/native-deep-link-DliAfHU5.js +2 -0
- package/dist/assets/{native-file-DWbiI8L-.js → native-file-B9kJgftd.js} +2 -2
- package/dist/assets/{navigation-resolver-jn3fW9IN.js → navigation-resolver-CDeIpFuD.js} +1 -1
- package/dist/assets/{not-found-CRrNNxgD.js → not-found-mMT3d6dm.js} +1 -1
- package/dist/assets/{notifications-D7I0R0Np.js → notifications-Dx3P9a9Q.js} +1 -1
- package/dist/assets/{notifications-page-D6Llk4Q-.js → notifications-page-COU3Z3YY.js} +1 -1
- package/dist/assets/{oauth-complete-page-E47i6-KO.js → oauth-complete-page-D5uYsl41.js} +1 -1
- package/dist/assets/{oauth-connection-utils-BnF9kIoa.js → oauth-connection-utils-SS0qmAK4.js} +1 -1
- package/dist/assets/{oauth-popup-complete-page-Be9bz47B.js → oauth-popup-complete-page-BLw62jns.js} +1 -1
- package/dist/assets/open-workspace-file-DFo0Oq0o.js +2 -0
- package/dist/assets/{operational-status-DswnmGh5.js → operational-status-BsKLhv9Z.js} +1 -1
- package/dist/assets/{page-shell-CUz7vDVT.js → page-shell-DD_mHkHn.js} +1 -1
- package/dist/assets/{pairing-page-B93qLwkU.js → pairing-page-CI_qOlWo.js} +1 -1
- package/dist/assets/{pdf-file-preview-aTyWAALx.js → pdf-file-preview-5NsoLZLI.js} +1 -1
- package/dist/assets/{pdf-preview-CFuSHh-t.js → pdf-preview-DEWKJD0r.js} +2 -2
- package/dist/assets/{personality-page-Do1Q8mUB.js → personality-page-CI8jnXQp.js} +1 -1
- package/dist/assets/{plans-page-CxRb_Kby.js → plans-page-BlxaE-cv.js} +1 -1
- package/dist/assets/{platform-detection-BIfuAgU8.js → platform-detection-D4gxJctC.js} +1 -1
- package/dist/assets/{platform-login-notice-CaNQOYUj.js → platform-login-notice-CM-AbOQ7.js} +1 -1
- package/dist/assets/{platform-loopback-page-205CvkDI.js → platform-loopback-page-BLNuk6f2.js} +1 -1
- package/dist/assets/{preview-error-CdFTgKSI.js → preview-error-B-1p750d.js} +1 -1
- package/dist/assets/{privacy-page-Beg9rE7-.js → privacy-page-0K-bsvKl.js} +1 -1
- package/dist/assets/{privacy-screen-EFJ-aTdl.js → privacy-screen-DgDOXFfw.js} +1 -1
- package/dist/assets/profile-pickers-DBCSE_FG.js +1 -0
- package/dist/assets/{provider-callback-page-BKDWiQis.js → provider-callback-page-BN9NQV7v.js} +1 -1
- package/dist/assets/{provider-signup-page-CsCS7GAV.js → provider-signup-page-CTwmzSoF.js} +1 -1
- package/dist/assets/{provisioning-targets-CSwI177z.js → provisioning-targets-CFe7Jgy1.js} +1 -1
- package/dist/assets/{push-registration-CVotM2hK.js → push-registration-CIhXf1CF.js} +2 -2
- package/dist/assets/{remove-from-device-dialog-BGul1xBz.js → remove-from-device-dialog-DSScuMVd.js} +1 -1
- package/dist/assets/{research-mock-page-DDwmtrZR.js → research-mock-page-bhSrGrBh.js} +1 -1
- package/dist/assets/research-onboarding-route-CKyfP6oo.js +50 -0
- package/dist/assets/{research-results-view-DDjp2hBc.js → research-results-view-7psD5IrG.js} +1 -1
- package/dist/assets/{retire-confirm-dialog-Cz64ywTF.js → retire-confirm-dialog-BD1rkM8j.js} +1 -1
- package/dist/assets/{review-terms-screen-Bros6R87.js → review-terms-screen-XIGeusDw.js} +1 -1
- package/dist/assets/routes-lLsbgbrj.js +24 -0
- package/dist/assets/{runtime-upgrade-banner-WHzYN73y.js → runtime-upgrade-banner-BeO8tW05.js} +2 -2
- package/dist/assets/{sandbox-bridge-ajRoXgYL.js → sandbox-bridge-BismgxxG.js} +1 -1
- package/dist/assets/{schedules-DjkLl0OP.js → schedules-DVJx5NG9.js} +1 -1
- package/dist/assets/schedules-page-DRr8EB5D.js +1 -0
- package/dist/assets/{select-assistant-screen-CALuntMj.js → select-assistant-screen-Cbta9HDV.js} +1 -1
- package/dist/assets/{self-hosted-servers-CsywZANM.js → self-hosted-servers-omz1yNrQ.js} +1 -1
- package/dist/assets/{setting-row-JYdvkVjj.js → setting-row-BgrWOMW9.js} +1 -1
- package/dist/assets/settings-DKVDS49I.js +1 -0
- package/dist/assets/{settings-divider-gaQk2Yl5.js → settings-divider-HtBTQzlA.js} +1 -1
- package/dist/assets/{settings-layout-vTkMzpIY.js → settings-layout-BdUaFkyr.js} +1 -1
- package/dist/assets/{settings-navigation-Dp0sDZAh.js → settings-navigation-vp8wtiyE.js} +1 -1
- package/dist/assets/{share-feedback-modal-DiQP_cCZ.js → share-feedback-modal-D9fAEU5y.js} +2 -2
- package/dist/assets/{sidebar-tree-CSPhTnBf.js → sidebar-tree-9BVzkS4K.js} +1 -1
- package/dist/assets/{signup-page-B2mbu3qd.js → signup-page-lzOszv4S.js} +1 -1
- package/dist/assets/{site-favicon-dST102dp.js → site-favicon-BvIzxzVw.js} +1 -1
- package/dist/assets/{skill-detail-page-BZO12fh5.js → skill-detail-page-BdSINra9.js} +2 -2
- package/dist/assets/skill-detail-panel-88oHOdSH.js +1 -0
- package/dist/assets/{skills-DdBQ-tNs.js → skills-HuNDpwX2.js} +1 -1
- package/dist/assets/{sounds-page-sGA-Nc8o.js → sounds-page-CeZjxvIu.js} +1 -1
- package/dist/assets/{src-DjIqxQVd.js → src-njXJqrpo.js} +3 -3
- package/dist/assets/{start-screen-DeVoGKX1.js → start-screen-B1dP4bbA.js} +1 -1
- package/dist/assets/status-badge-pill-BuiIFTz-.js +1 -0
- package/dist/assets/stt-language-picker-modal-BK_1xcYe.js +1 -0
- package/dist/assets/subagent-detail-panel-CkxNHVOv.js +4 -0
- package/dist/assets/{subagent-store-ChHk8ZsH.js → subagent-store-B0Ftpguk.js} +1 -1
- package/dist/assets/{superpowers-page-Dk3g_Of2.js → superpowers-page-B_1_d4LI.js} +1 -1
- package/dist/assets/{system-events-page-XYxGo8gh.js → system-events-page-BBVNKwBJ.js} +1 -1
- package/dist/assets/{telegram-setup-wizard-DgdjP2o8.js → telegram-setup-wizard-D_Vwl3_I.js} +1 -1
- package/dist/assets/{text-preview-BJRoXOON.js → text-preview-BIeJHE0-.js} +1 -1
- package/dist/assets/{theme-stage-page-DPIsJBUJ.js → theme-stage-page-gWlI1Nzt.js} +1 -1
- package/dist/assets/{tiptap-document-editor-Cjd5FCBm.js → tiptap-document-editor-BunsgiVU.js} +1 -1
- package/dist/assets/toggle-ibKLySIy.js +1 -0
- package/dist/assets/{tool-detail-panel-CeDWOdH-.js → tool-detail-panel-DhzIzJ1Y.js} +2 -2
- package/dist/assets/{upgrade-cancel-page-D24RCdAz.js → upgrade-cancel-page-BiXIXlae.js} +1 -1
- package/dist/assets/{upgrade-success-page-A6d7PRGt.js → upgrade-success-page-C3ptzfvo.js} +1 -1
- package/dist/assets/{use-assistant-capability-CYKqSbfq.js → use-assistant-capability-B55Ji4gD.js} +1 -1
- package/dist/assets/use-assistant-identity-details-0JMOrf_F.js +1 -0
- package/dist/assets/{use-attachment-preview-DvVweDZY.js → use-attachment-preview-jmFGN8h6.js} +2 -2
- package/dist/assets/{use-attachment-squares-ELH7PQrT.js → use-attachment-squares-BSKsILdv.js} +1 -1
- package/dist/assets/{use-bookmarks-B4g9FKC7.js → use-bookmarks-gJWrPT2g.js} +1 -1
- package/dist/assets/{use-checkout-dismiss-refresh-CkeQGnJ0.js → use-checkout-dismiss-refresh-vVysV2xK.js} +1 -1
- package/dist/assets/{use-command-palette-sections-D0RCkx0m.js → use-command-palette-sections-BFV15eUp.js} +1 -1
- package/dist/assets/{use-copy-to-clipboard-oZUc3_ey.js → use-copy-to-clipboard-BeG7f_tZ.js} +1 -1
- package/dist/assets/{use-edge-swipe-Bde-t-dW.js → use-edge-swipe-BxVxJfNS.js} +1 -1
- package/dist/assets/use-edge-swipe-back-DpMHlX97.js +2 -0
- package/dist/assets/{use-edit-app-BZv0JIfX.js → use-edit-app-BlsO9Zav.js} +1 -1
- package/dist/assets/use-element-size-DeouS2c2.js +1 -0
- package/dist/assets/use-invite-link-dialog-TjRVy1GF.js +1 -0
- package/dist/assets/{use-is-org-ready-CWNhmJ2b.js → use-is-org-ready-DyYOTCvQ.js} +1 -1
- package/dist/assets/{use-onboarding-login-Zjbfg9rl.js → use-onboarding-login-DMUDDVUi.js} +1 -1
- package/dist/assets/{use-platform-assistant-id-Bafo85js.js → use-platform-assistant-id-BE6AIost.js} +1 -1
- package/dist/assets/{use-platform-gate-DzpdjzIz.js → use-platform-gate-zft2-meL.js} +1 -1
- package/dist/assets/{use-return-to-short-circuit-pEcvMXUl.js → use-return-to-short-circuit-LcamIc_k.js} +1 -1
- package/dist/assets/use-side-list-room-C1msxm__.js +1 -0
- package/dist/assets/{use-skill-actions-CeeCY9Uf.js → use-skill-actions-oBpczwnY.js} +1 -1
- package/dist/assets/use-sticky-profiles-D6xRVCOS.js +1 -0
- package/dist/assets/use-stt-language-selection-D7DxP7Eo.js +1 -0
- package/dist/assets/{use-subagent-card-data-BIb6t3HE.js → use-subagent-card-data-DOp8Etmj.js} +1 -1
- package/dist/assets/use-touch-mobile-CXJ4hTiW.js +1 -0
- package/dist/assets/{use-transcript-message-by-id-DUV4woMl.js → use-transcript-message-by-id-D5hHvanI.js} +1 -1
- package/dist/assets/{use-transcript-messages-BLtVYqAv.js → use-transcript-messages-BL55GFRr.js} +1 -1
- package/dist/assets/{use-voice-sample-preview-BY_J5WVl.js → use-voice-sample-preview-CLWX7j-h.js} +1 -1
- package/dist/assets/{useTranslation-Dn8TOHE6.js → useTranslation-DxUSOwQs.js} +1 -1
- package/dist/assets/{viewer-store-D3KM2E2N.js → viewer-store-DWY4BtGj.js} +1 -1
- package/dist/assets/voice-page-C3q84Y4H.js +1 -0
- package/dist/assets/{voice-providers-note-BLOdThkh.js → voice-providers-note-CuMBTzti.js} +1 -1
- package/dist/assets/{web-D8nAsA9l.js → web-S8v4qZ8W.js} +1 -1
- package/dist/assets/{web-5yJbtoui.js → web-zM0OZM8V.js} +1 -1
- package/dist/assets/{welcome-screen-U_A3pIDj.js → welcome-screen-Cy46Bw63.js} +1 -1
- package/dist/assets/workflow-detail-panel-CM1Jep4m.js +1 -0
- package/dist/assets/{workflow-store-Dgz97WCS.js → workflow-store-Bpg1fqWU.js} +1 -1
- package/dist/assets/workspace-page-eCfV4q3_.js +1 -0
- package/dist/assets/{workspace-tree-query-C6kx2Bkh.js → workspace-tree-query-BfWSVQB5.js} +1 -1
- package/dist/index.html +109 -108
- package/package.json +1 -1
- package/dist/assets/activity-steps-panel-DEgGLFtM.js +0 -1
- package/dist/assets/ai-page--36Riirz.js +0 -1
- package/dist/assets/channels-page-route-CoHtlp77.js +0 -9
- package/dist/assets/chat-5s_HqBzL.js +0 -3
- package/dist/assets/chat-markdown-message-Btoc6C1G.js +0 -1
- package/dist/assets/checkout-return-target-CYf9SBig.js +0 -1
- package/dist/assets/command-palette-D79Jq26W.js +0 -1
- package/dist/assets/contacts-page-route-9Y1S_HAN.js +0 -1
- package/dist/assets/credentials-page-BVg_keF0.js +0 -1
- package/dist/assets/debug-page-4N-Zj-ts.js +0 -4
- package/dist/assets/developer-page-CQS354Wk.js +0 -1
- package/dist/assets/esm-b7JWOeNl.js +0 -2
- package/dist/assets/file-editor-CSWBRXC5.js +0 -1
- package/dist/assets/file-markdown-CyzsCI8p.js +0 -2
- package/dist/assets/first-run-scope-Cc45jqTq.js +0 -1
- package/dist/assets/general-page-C3gmPYF3.js +0 -1
- package/dist/assets/identity-page-route-D7kzw3D3.js +0 -7
- package/dist/assets/index-BPNYOrwT.css +0 -2
- package/dist/assets/inspect-page-EDi2BOrZ.js +0 -9
- package/dist/assets/integrations-page-DC4dbZvc.js +0 -1
- package/dist/assets/latest-assistant-text-Bhqw0WEB.js +0 -24
- package/dist/assets/mobile-sidebar-drawer-CA_YsRi_.js +0 -1
- package/dist/assets/native-anchor-txt0veYo.js +0 -1
- package/dist/assets/native-deep-link-EZIezcy9.js +0 -1
- package/dist/assets/open-workspace-file-D2FXjNVn.js +0 -2
- package/dist/assets/profile-pickers-CKLILvRc.js +0 -1
- package/dist/assets/research-onboarding-route-BviJKsoz.js +0 -50
- package/dist/assets/routes-Q2DdFIGG.js +0 -24
- package/dist/assets/schedules-page-Bodkcg3J.js +0 -1
- package/dist/assets/settings-DGaRub9k.js +0 -1
- package/dist/assets/skill-detail-panel-CEepQHmY.js +0 -1
- package/dist/assets/status-badge-pill-DxtUb8z3.js +0 -1
- package/dist/assets/stt-language-picker-modal-CihIASi8.js +0 -1
- package/dist/assets/subagent-detail-panel-C9Y7dfKo.js +0 -4
- package/dist/assets/toggle-C-v4x7_A.js +0 -1
- package/dist/assets/use-assistant-identity-details-BVjzLgp6.js +0 -1
- package/dist/assets/use-edge-swipe-back-BWEVQPEJ.js +0 -2
- package/dist/assets/use-element-size-G76uplCp.js +0 -1
- package/dist/assets/use-invite-link-dialog-DgDcqWMz.js +0 -1
- package/dist/assets/use-sticky-profiles-BN2tBekP.js +0 -1
- package/dist/assets/use-touch-mobile-JVxY9M-0.js +0 -1
- package/dist/assets/voice-list-uy2Kwdwg.js +0 -1
- package/dist/assets/voice-page-Bi7r475U.js +0 -1
- package/dist/assets/workflow-detail-panel-fguePScg.js +0 -1
- package/dist/assets/workspace-page-Cp11wrja.js +0 -1
- /package/dist/assets/{a2a-invite-B5XOcUL6.js → a2a-invite-BNCOmr8h.js} +0 -0
- /package/dist/assets/{account-IaNiNsKu.js → account-CtIKBm9p.js} +0 -0
- /package/dist/assets/{android-consumption-only-eY-NLtwG.js → android-consumption-only-CwC2kibz.js} +0 -0
- /package/dist/assets/{animated-avatar-D9mX2duB.js → animated-avatar--_W54iT9.js} +0 -0
- /package/dist/assets/{app-info-xT5AH6o4.js → app-info-DFgKdE7W.js} +0 -0
- /package/dist/assets/{app-types-B4-pVNnY.js → app-types-BY00pXhT.js} +0 -0
- /package/dist/assets/{apple-logo-CVMvoWvp.js → apple-logo-Biu93CTa.js} +0 -0
- /package/dist/assets/{archive-redirect-page-CfCci8ho.js → archive-redirect-page-bx5xRoCl.js} +0 -0
- /package/dist/assets/{avatar-renderer-khj83dWw.js → avatar-renderer-Bja-CJEM.js} +0 -0
- /package/dist/assets/{avatar-subagent-B68bxt0O.js → avatar-subagent-C1J2pUFc.js} +0 -0
- /package/dist/assets/{avatar-tone-CQWYpANf.js → avatar-tone-CTq4cNAY.js} +0 -0
- /package/dist/assets/{billing-redirect-page-XcpsfvIl.js → billing-redirect-page-Dp-j37M1.js} +0 -0
- /package/dist/assets/{build.umd-Bg-JE3PW.js → build.umd-CKImEzO1.js} +0 -0
- /package/dist/assets/{channels-DkTY8D9c.js → channels-C4uOLymq.js} +0 -0
- /package/dist/assets/{common-XXvgM1Lv.js → common-CPxc0tHz.js} +0 -0
- /package/dist/assets/{community-page-CB9oMqgC.js → community-page-D1uzvBFw.js} +0 -0
- /package/dist/assets/{contacts-gateway-D0hHW9dI.js → contacts-gateway-Dp40T_dj.js} +0 -0
- /package/dist/assets/{contacts-Dnxb4zeF.js → contacts-pvrehYPe.js} +0 -0
- /package/dist/assets/{copy-to-clipboard-SOu7HUET.js → copy-to-clipboard-DRZUoOti.js} +0 -0
- /package/dist/assets/{credential-requests-DvnleKK2.js → credential-requests-BsmEdX7t.js} +0 -0
- /package/dist/assets/{danger-zone-redirect-page-BIYa_At7.js → danger-zone-redirect-page-DY3LtITR.js} +0 -0
- /package/dist/assets/{definitions-BLBMbDPd.js → definitions-BNyfuzue.js} +0 -0
- /package/dist/assets/{definitions-BLHO5zVb.js → definitions-DMGv-AVM.js} +0 -0
- /package/dist/assets/{devices-redirect-page-DJtEpVr7.js → devices-redirect-page-BXqfVWSd.js} +0 -0
- /package/dist/assets/{dictation-overlay-page-DLZGCPP_.js → dictation-overlay-page-DR63_PvH.js} +0 -0
- /package/dist/assets/{diff-rows-C_ARHWq3.js → diff-rows-ZG9FwscH.js} +0 -0
- /package/dist/assets/{edit-chat-session-CcwN_rea.js → edit-chat-session-B38z6oPP.js} +0 -0
- /package/dist/assets/{emoji-catalog-data-BGlYkVas.js → emoji-catalog-data-Dqyvj5Ne.js} +0 -0
- /package/dist/assets/{environment-store-CR6vnG9G.js → environment-store-DCU3hheH.js} +0 -0
- /package/dist/assets/{esm-DgDCYysh.js → esm-Bbh10TA1.js} +0 -0
- /package/dist/assets/{esm-BYiovSCx.js → esm-C0OhtIaa.js} +0 -0
- /package/dist/assets/{format-date-Cl5z8sZt.js → format-date-mZFhGVxR.js} +0 -0
- /package/dist/assets/{format-file-size-B3w8pfkS.js → format-file-size-D7QcCVUg.js} +0 -0
- /package/dist/assets/{home-CF1B7GqE.js → home-CoA1W6RA.js} +0 -0
- /package/dist/assets/{intelligence-Dcw50PsN.js → intelligence-Bpz4mQfO.js} +0 -0
- /package/dist/assets/{keyboard-shortcuts-redirect-page-BSNa3QLh.js → keyboard-shortcuts-redirect-page-BUEUuL5W.js} +0 -0
- /package/dist/assets/{library-CCXCwc6z.js → library-CxAscKuj.js} +0 -0
- /package/dist/assets/{link-click-BhQuhukA.js → link-click-c4p6nI2M.js} +0 -0
- /package/dist/assets/{logs-nlP1em1X.js → logs-BlQUbg5S.js} +0 -0
- /package/dist/assets/{machine-sizes-Bx2eSjOW.js → machine-sizes-D5IsW7GE.js} +0 -0
- /package/dist/assets/{onboarding-C6ZFK4YA.js → onboarding-C-LQqXEa.js} +0 -0
- /package/dist/assets/{onboarding-step-layout-CFCN1Nnk.js → onboarding-step-layout-Cksqlmsb.js} +0 -0
- /package/dist/assets/{optimistic-lifecycle-EXwQgNvb.js → optimistic-lifecycle-DIWfvuIw.js} +0 -0
- /package/dist/assets/{page-empty-state-DRbcD4aa.js → page-empty-state-Df3EP_DE.js} +0 -0
- /package/dist/assets/{password-reset-page-Cmbeaggq.js → password-reset-page-0k2eeyou.js} +0 -0
- /package/dist/assets/{pdf-BUxbm1S7.js → pdf-CpDfklza.js} +0 -0
- /package/dist/assets/{plugin-attribution-B_3pbh6m.js → plugin-attribution-TebhIznA.js} +0 -0
- /package/dist/assets/{plugin-detail-page-C0zaBBon.js → plugin-detail-page-N3j9G0yc.js} +0 -0
- /package/dist/assets/{plugins-page-BuN35WCX.js → plugins-page-BPSPELgG.js} +0 -0
- /package/dist/assets/{preview-skeleton-BLpm3j7s.js → preview-skeleton-BreSI6Ln.js} +0 -0
- /package/dist/assets/{profile-metadata-BxP0WOpJ.js → profile-metadata-DAXhAdlI.js} +0 -0
- /package/dist/assets/{provider-key-CzUfGGE_.js → provider-key-CR8jz-eM.js} +0 -0
- /package/dist/assets/{quick-input-page-DYc7eXbP.js → quick-input-page-Mw2f8F3_.js} +0 -0
- /package/dist/assets/{radio-card-nav-BOpJqAoO.js → radio-card-nav-BubfTKOh.js} +0 -0
- /package/dist/assets/{remote-web-COoOfi7K.js → remote-web-Di_UF41i.js} +0 -0
- /package/dist/assets/{schedules-DhrUSTxo.js → schedules-BaUXJBRS.js} +0 -0
- /package/dist/assets/{schedules-630osdOz.js → schedules-JL1Laub-.js} +0 -0
- /package/dist/assets/{security-redirect-page-D9_08zix.js → security-redirect-page-Ce11_hfW.js} +0 -0
- /package/dist/assets/{signup-shell-BLq9UcAD.js → signup-shell-XnqyIHQa.js} +0 -0
- /package/dist/assets/{skill-icon-BEzVeada.js → skill-icon-xO9VGnPV.js} +0 -0
- /package/dist/assets/{skills-page-CpajWLSk.js → skills-page-bnp9x1iR.js} +0 -0
- /package/dist/assets/{system-events-redirect-page-CdqIVW5m.js → system-events-redirect-page-W8knAadR.js} +0 -0
- /package/dist/assets/{terminal-B8-uO_zb.js → terminal-B4go-vP8.js} +0 -0
- /package/dist/assets/{three-dot-indicator-BFNMvd3i.js → three-dot-indicator-BhUevb3V.js} +0 -0
- /package/dist/assets/{usage-redirect-page-Bk755PQU.js → usage-redirect-page-DXcbB81p.js} +0 -0
- /package/dist/assets/{use-active-assistant-id-Cgt1z2rZ.js → use-active-assistant-id-Btl1-4sB.js} +0 -0
- /package/dist/assets/{use-local-file-info-CowxNLsG.js → use-local-file-info-Dz017Fii.js} +0 -0
- /package/dist/assets/{use-skill-detail-files-2agjQ-pp.js → use-skill-detail-files-Bzwall4_.js} +0 -0
- /package/dist/assets/{use-supports-credentials-settings-BBUFotal.js → use-supports-credentials-settings-D9oEIOk9.js} +0 -0
- /package/dist/assets/{weather-forecast-display-BMFPvW83.js → weather-forecast-display-BRi0CN73.js} +0 -0
- /package/dist/assets/{web-DT7CHk3X.js → web-Bc0yxcTg.js} +0 -0
- /package/dist/assets/{web-CnTPI_xz.js → web-DUcCWo6-.js} +0 -0
- /package/dist/assets/{web-CpFPB7iN.js → web-DnUU5XRV.js} +0 -0
- /package/dist/assets/{web-DfzBW3mJ.js → web-DoWs0tX8.js} +0 -0
- /package/dist/assets/{web-BXqKHeFH.js → web-DprnafKw.js} +0 -0
- /package/dist/assets/{web-fHk-S0Kt.js → web-bVuMezJ9.js} +0 -0
- /package/dist/assets/{web-D2fHQj5v.js → web-xXRFVuHp.js} +0 -0
- /package/dist/assets/{workspace-CCzLdd4F.js → workspace-B3DIYRpz.js} +0 -0
- /package/dist/assets/{xterm-CfcAttTO.js → xterm-5SK_xX72.js} +0 -0
- /package/dist/assets/{xterm-addon-fit-CmOTEB5O.js → xterm-addon-fit-Bov_2YwK.js} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/esm-
|
|
2
|
-
import{o as e,r as t}from"./chunk-jRWAZmH_.js";import{t as n}from"./react-BFJW0bSv.js";import{W as r,n as i,t as a}from"./button-DSjqKLvM.js";import{t as o}from"./preload-helper-Cv2QeVDK.js";import{t as s}from"./useMutation-CXGTrp4W.js";import{t as c}from"./jsx-runtime-D3ZM-ToX.js";import{t as l}from"./bug-DwW8prtd.js";import{t as u}from"./download-Bld7ch1X.js";import{t as ee}from"./info-Bjcv3rf9.js";import{t as d}from"./lightbulb-C2QxQWpK.js";import{t as te}from"./loader-circle-oY5laABh.js";import{t as ne}from"./mail-B0iH8Wii.js";import{t as f}from"./message-circle-8fKbbQcs.js";import{t as p}from"./paperclip-BIlwG8TK.js";import{t as re}from"./send-CpbQGYQ9.js";import{t as m}from"./x-BY-Np61T.js";import{t as h}from"./notice-C9v3KOP3.js";import{n as ie,t as g}from"./input-BG94bPcH.js";import{t as _}from"./toggle-C-v4x7_A.js";import{t as v}from"./select-B86W_Hs8.js";import{t as y}from"./is-electron-BSK3AUxG.js";import{n as b}from"./assistant-identity-store-DTP7xfNP.js";import{n as ae}from"./auth-store-BDMYc7te.js";import{fn as x}from"./sdk.gen-Br55zhZN.js";import{t as S}from"./dist-D8V9YSOm.js";import{n as C}from"./diagnostics-CeLo0IQo.js";import{I as oe}from"./react-query.gen-CqLxrlpP.js";import"./external-urls-Dz7v7Xuw.js";import{t as se}from"./use-body-scroll-lock-C7SDkbNZ.js";var w=e(n(),1),ce=e(r(),1),le=`vellum:debug:`;function T(){let e={};if(typeof window>`u`)return e;try{for(let t=0;t<window.localStorage.length;t++){let n=window.localStorage.key(t);if(n===null||!n.startsWith(le))continue;let r=window.localStorage.getItem(n);r!==null&&(e[n]=r)}}catch{}return e}function E(){return{collectedAt:new Date().toISOString(),resolved:{impersonateAssistantVersion:b()},overrides:T()}}var D=t({ShareFeedbackModal:()=>W,dedupeAgainstClientMessages:()=>B,stripBulkBase64:()=>z}),O=c(),k=[{value:`bug_report`,label:`Bug Report`,icon:l,includesLogsByDefault:!0},{value:`feature_request`,label:`Feature Request`,icon:d,includesLogsByDefault:!1},{value:`other`,label:`Other`,icon:f,includesLogsByDefault:!1}],A=[{value:`past_hour`,label:`Past hour`,cutoffMs:3600*1e3},{value:`past_24_hours`,label:`Past 24 hours`,cutoffMs:1440*60*1e3},{value:`all_time`,label:`All time`,cutoffMs:null}],ue=A.map(e=>({value:e.value,label:e.label})),j=new Set([`image/png`,`image/jpeg`,`image/gif`,`image/webp`,`video/mp4`,`video/quicktime`,`video/webm`]),M=new Set([`png`,`jpg`,`jpeg`,`gif`,`webp`,`mp4`,`mov`,`webm`]),N=10,P=50*1024*1024,de={bug_report:`bug_report`,feature_request:`feature_request`,other:`other`};function fe(){if(y())return`electron`;let e=S.getPlatform();return e===`ios`||e===`android`?e:`web`}function pe(e){return typeof e==`object`&&!!e&&`client`in e}function me(e){if(e.size>P)return!1;if(e.type&&j.has(e.type))return!0;if(!e.type){let t=e.name.split(`.`).pop()?.toLowerCase();return t?M.has(t):!1}return!1}var F=8192,I=/^data:([^;,]+);base64,/i,L=/^[A-Za-z0-9+/]+={0,2}$/;function R(e,t,n=new WeakSet){let r=t(e);if(r)return r.replacement;if(typeof e!=`object`||!e)return e;if(n.has(e))return`[cyclic]`;n.add(e);let i;if(Array.isArray(e))i=e.map(e=>R(e,t,n));else{let r={};for(let[i,a]of Object.entries(e))r[i]=R(a,t,n);i=r}return n.delete(e),i}function z(e){return R(e,e=>{if(typeof e!=`string`)return null;let t=I.exec(e);return t?{replacement:`[stripped data URI ${t[1]}, ${e.length} chars]`}:e.length>=F&&L.test(e)?{replacement:`[stripped base64, ${e.length} chars]`}:null})}function B(e,t){if(!Array.isArray(t))return e;let n=new Map;return t.forEach((e,t)=>{if(e&&typeof e==`object`){let r=e.id;n.set(e,typeof r==`string`?r:`index ${t}`)}}),R(e,e=>{if(typeof e!=`object`||!e)return null;let t=n.get(e);return t===void 0?null:{replacement:`[deduplicated: see clientMessages ${t}]`}})}function V(e,t){let n=Math.ceil(t.length/512),r=new Uint8Array(512+n*512),i=new TextEncoder,a=(e,t,n)=>{let a=i.encode(e);r.set(a.slice(0,n),t)},o=(e,t,n)=>{a(e.toString(8).padStart(n-1,`0`)+`\0`,t,n)};a(e,0,100),o(420,100,8),o(0,108,8),o(0,116,8),o(t.length,124,12),o(Math.floor(Date.now()/1e3),136,12);for(let e=148;e<156;e++)r[e]=32;r[156]=48,a(`ustar\0`,257,6),a(`00`,263,2);let s=0;for(let e=0;e<512;e++)s+=r[e];return o(s,148,7),r[155]=32,r.set(t,512),r}async function H(e,t){try{let n={};t.window.startTime!=null&&(n.startTime=t.window.startTime,n.endTime=t.window.endTime),t.activeConversationId&&(n.conversationId=t.activeConversationId);let{data:r,error:i}=await x({path:{assistant_id:e},body:n,parseAs:`blob`,throwOnError:!1});if(i||!(r instanceof Blob))return null;let a=await r.arrayBuffer();return new Uint8Array(a)}catch{return null}}async function U(){if(!S.isNativePlatform())return null;try{let{App:e}=await o(async()=>{let{App:e}=await import(`./esm-DyAueRRL.js`);return{App:e}},__vite__mapDeps([0,1,2])),{id:t,name:n,version:r,build:i}=await e.getInfo();return{id:t,name:n,version:r,build:i}}catch{return null}}async function he(e,t,n,r={}){if(typeof CompressionStream>`u`)return null;let{diagnosticsProvider:i,doctorSessionId:a,extraLogFiles:o=[]}=r,s=new Date,c=A.find(t=>t.value===e),l=s.getTime(),u=c?.cutoffMs==null?null:l-c.cutoffMs,ee=u==null?null:new Date(u).toISOString(),d=null;try{d=i?.()??null}catch{d=null}let te=C(d),ne={collected_at:s.toISOString(),time_range:e,cutoff:ee,log_window:{start_time_ms:u,end_time_ms:l},assistant_id:t,active_conversation_id:n,doctor_session_id:a??null,client_version:null,native_app:await U(),user_agent:typeof navigator<`u`?navigator.userAgent:``,language:typeof navigator<`u`?navigator.language:``,platform:typeof navigator<`u`?navigator.platform:``,url:typeof window<`u`?window.location.href:``,viewport:typeof window<`u`?{width:window.innerWidth,height:window.innerHeight}:null,screen:typeof screen<`u`?{width:screen.width,height:screen.height}:null,connection:typeof navigator<`u`&&`connection`in navigator?{effectiveType:navigator.connection.effectiveType,downlink:navigator.connection.downlink,rtt:navigator.connection.rtt}:null,deviceMemory:typeof navigator<`u`&&`deviceMemory`in navigator?navigator.deviceMemory:null,hardwareConcurrency:typeof navigator<`u`?navigator.hardwareConcurrency:null},f=new TextEncoder,p=f.encode(JSON.stringify(ne,null,2)),re=f.encode(JSON.stringify(te,null,2)),m=[V(`web-client-context.json`,p),V(`web-chat-diagnostics.json`,re)],h=new TextEncoder().encode(JSON.stringify(E(),null,2));m.push(V(`web-debug-flags.json`,h));for(let e of o){let t=e.contents.trim();t&&m.push(V(e.filename,f.encode(t)))}try{let e=typeof window<`u`?window._vellumDebug?.chat:null;if(e){let t=e.getClientMessages?.()??null,n={clientMessages:t,transcriptItems:B(e.getTranscriptItems?.()??null,t),pendingInteractions:e.listPendingInteractions?.()??null,thinkingIndicator:e.thinkingIndicator?.()??null,streamingRing:e.streamingRing?.()??null,reconciliationDiagnostics:e.getReconciliationDiagnostics?.()??null},r=new TextEncoder().encode(JSON.stringify(z(n),null,2));m.push(V(`web-chat-debug-api-triage.json`,r))}}catch{}try{let e=typeof window<`u`?window._vellumDebug?.events:null;if(e){let t={focus:typeof document<`u`?{hasFocus:typeof document.hasFocus==`function`?document.hasFocus():null,visibilityState:document.visibilityState}:null,clients:e.getClients().map(({abortSignal:e,...t})=>({...t,aborted:e.aborted})),events:e.getEvents()},n=new TextEncoder().encode(JSON.stringify(z(t),null,2));m.push(V(`web-sse-liveness-triage.json`,n))}}catch{}if(y()&&window.vellum?.feedback){try{let e=await window.vellum.feedback.diagnostics(),t=new TextEncoder().encode(JSON.stringify(e,null,2));m.push(V(`electron-diagnostics.json`,t))}catch{}try{let e=await window.vellum.feedback.logs();if(e){let t=new TextEncoder().encode(e);m.push(V(`electron-main-logs.txt`,t))}}catch{}}if(t){let e=await H(t,{window:{startTime:u,endTime:l},activeConversationId:n});e&&m.push(V(`platform-logs.tar.gz`,e))}m.push(new Uint8Array(1024));let ie=m.reduce((e,t)=>e+t.length,0),g=new Uint8Array(ie),_=0;for(let e of m)g.set(e,_),_+=e.length;let v=new Blob([g.buffer]),b=await new Response(v.stream().pipeThrough(new CompressionStream(`gzip`))).blob();return new File([b],`web-client-logs-${s.getTime()}.tar.gz`,{type:`application/gzip`})}function W({open:e,onClose:t,initialReason:n,initialMessage:r,onSubmitted:o,assistantId:c,assistantVersion:l,activeConversationId:d,doctorSessionId:f,doctorSessionLog:b,getDiagnosticsSnapshot:x}){let S=ae.use.user(),C=S?.email,le=S?.isStaff??!1,T=(0,w.useId)(),E=(0,w.useRef)(null),D=(0,w.useRef)(null),A=(0,w.useRef)(null),j=(0,w.useRef)(null),[M,P]=(0,w.useState)(n??`bug_report`),[F,I]=(0,w.useState)(``),[L,R]=(0,w.useState)(``),[z,B]=(0,w.useState)(k.find(e=>e.value===(n??`bug_report`))?.includesLogsByDefault??!0),[V,H]=(0,w.useState)(!1),[U,W]=(0,w.useState)(`past_hour`),[G,K]=(0,w.useState)([]),[ve,q]=(0,w.useState)(null),[ye,J]=(0,w.useState)(!1),[Y,be]=(0,w.useState)(!1),[X,xe]=(0,w.useState)(!1),Z=s(oe()),[Se,Q]=(0,w.useState)(!1),$=Z.isPending||Se,Ce=!C,we=(0,w.useMemo)(()=>F.trim().length>0&&L.trim().length>0,[F,L]);(0,w.useEffect)(()=>{if(!e)return;let t=n??`bug_report`;P(t),I(r??``),R(C??``),B(k.find(e=>e.value===t)?.includesLogsByDefault??!0),H(!1),W(`past_hour`),K([]),be(!1),xe(!1),q(null),Q(!1),Z.reset();let i=setTimeout(()=>{C?A.current?.focus():j.current?.focus()},50);return()=>clearTimeout(i)},[e]),se(e);let Te=e=>{P(e),V||B(k.find(t=>t.value===e)?.includesLogsByDefault??!1)},Ee=()=>{B(e=>!e),H(!0)},De=b?.trim()?[{filename:`doctor-session.txt`,contents:b}]:[],Oe=(0,w.useCallback)(e=>{e.key===`Escape`&&!e.defaultPrevented&&!$&&(e.preventDefault(),t())},[t,$]),ke=(0,w.useCallback)(e=>{e.target===E.current&&!$&&t()},[t,$]),Ae=(0,w.useCallback)(e=>{K(t=>{let n=N-t.length;if(n<=0)return t;let r=new Set(t.map(e=>`${e.name}:${e.size}`)),i=[];for(let t of e){if(i.length>=n)break;if(!me(t))continue;let e=`${t.name}:${t.size}`;r.has(e)||(r.add(e),i.push(t))}return i.length>0?[...t,...i]:t})},[]),je=e=>{e.target.files&&Ae(Array.from(e.target.files)),e.target.value=``},Me=e=>{e.preventDefault(),J(!1),e.dataTransfer.files?.length&&Ae(Array.from(e.dataTransfer.files))},Ne=e=>{e.preventDefault(),J(!0)},Pe=e=>{e.preventDefault(),e.currentTarget===e.target&&J(!1)},Fe=e=>{K(t=>t.filter((t,n)=>n!==e))};return e?(0,ce.createPortal)((0,O.jsx)(`div`,{ref:E,role:`dialog`,"aria-modal":`true`,"aria-labelledby":T,className:`fixed inset-0 z-50 flex items-center justify-center bg-black/50`,onKeyDown:Oe,onClick:ke,onDrop:Me,onDragOver:Ne,onDragLeave:Pe,children:(0,O.jsxs)(`div`,{className:`mx-4 flex w-full max-w-lg flex-col rounded-xl border p-6 shadow-xl`,style:{backgroundColor:`var(--surface-lift)`,borderColor:`var(--border-base)`,maxHeight:`calc(100vh - 2rem)`},children:[(0,O.jsxs)(`div`,{className:`flex items-center justify-between border-b pb-4`,style:{borderColor:`var(--border-subtle)`},children:[(0,O.jsx)(`h2`,{id:T,className:`!m-0 text-title-small text-[var(--content-default)]`,children:`Share Feedback`}),(0,O.jsx)(a,{variant:`ghost`,iconOnly:(0,O.jsx)(m,{}),onClick:t,disabled:$,"aria-label":`Close`,tintColor:`var(--content-secondary)`})]}),(0,O.jsxs)(`div`,{className:`flex flex-col gap-3.5 overflow-y-auto pt-4 ${$?`pointer-events-none opacity-60`:``}`,children:[le&&(0,O.jsxs)(`div`,{className:`flex flex-col gap-1.5 rounded-lg border border-[var(--border-base)] bg-[var(--surface-base)] px-3 py-2.5`,children:[(0,O.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-3`,children:[(0,O.jsx)(_,{checked:X,onChange:()=>xe(e=>!e),"aria-label":`Download diagnostics directly`}),(0,O.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:`Download diagnostics directly`})]}),(0,O.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:`Admin only — builds the diagnostics archive locally and downloads it instead of submitting feedback or notifying Slack.`})]}),X?(0,O.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,O.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:`Time range`}),(0,O.jsx)(v,{options:ue,value:U,onChange:W,"aria-label":`Diagnostics time range`})]}):(0,O.jsxs)(O.Fragment,{children:[Ce&&(0,O.jsx)(g,{id:`${T}-email`,ref:j,label:`Email`,type:`email`,placeholder:`you@example.com`,value:L,onChange:e=>R(e.target.value),leftIcon:(0,O.jsx)(ne,{className:`h-4 w-4`,"aria-hidden":!0}),fullWidth:!0}),(0,O.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,O.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:`Category`}),(0,O.jsx)(`div`,{className:`flex gap-2`,children:k.map(e=>(0,O.jsx)(ge,{option:e,isSelected:M===e.value,onSelect:()=>Te(e.value)},e.value))})]}),(0,O.jsx)(`hr`,{className:`border-[var(--border-subtle)]`}),M===`bug_report`&&(0,O.jsxs)(h,{tone:`info`,children:[`Tip: Get faster support by posting in our`,` `,(0,O.jsx)(`a`,{href:`https://vellum.ai/community`,target:`_blank`,rel:`noopener noreferrer`,className:`underline text-[var(--content-default)]`,children:`Discord community`})]}),M===`feature_request`&&(0,O.jsxs)(h,{tone:`info`,children:[`Tip: Vote on features on our`,` `,(0,O.jsx)(`a`,{href:`https://vellum.ai/roadmap`,target:`_blank`,rel:`noopener noreferrer`,className:`underline text-[var(--content-default)]`,children:`public roadmap`})]}),(0,O.jsx)(ie,{id:`${T}-message`,ref:A,label:M===`bug_report`?`What went wrong?`:M===`feature_request`?`Describe your idea`:`What's on your mind?`,rows:3,placeholder:M===`bug_report`?`What did you expect to happen, and what happened instead?`:M===`feature_request`?`What problem would this solve for you?`:`Share your thoughts...`,value:F,onChange:e=>I(e.target.value),fullWidth:!0}),M!==`feature_request`&&(0,O.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,O.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[(0,O.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2.5`,children:[(0,O.jsx)(_,{checked:z,onChange:Ee,"aria-label":`Include browser diagnostics`}),(0,O.jsx)(`span`,{className:`text-body-medium-lighter leading-6 text-[var(--content-default)]`,children:`Include diagnostics`})]}),(0,O.jsx)(i,{content:`Diagnostics include browser context, assistant logs, and timestamps — never passwords or credentials.`,children:(0,O.jsx)(`button`,{type:`button`,"aria-label":`About diagnostics`,className:`inline-flex items-center justify-center text-[var(--content-tertiary)]`,children:(0,O.jsx)(ee,{className:`h-3.5 w-3.5`})})})]}),z&&(0,O.jsx)(v,{options:ue,value:U,onChange:W,"aria-label":`Diagnostics time range`})]}),y()&&d&&M!==`feature_request`&&(0,O.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2.5`,children:[(0,O.jsx)(_,{checked:Y,onChange:()=>be(e=>!e),"aria-label":`Include the most recent conversation`}),(0,O.jsx)(`span`,{className:`text-body-medium-lighter leading-6 text-[var(--content-default)]`,children:`Include the most recent conversation`})]}),(0,O.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,O.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,O.jsxs)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:[`Attachments`,G.length>0&&(0,O.jsxs)(`span`,{className:`text-[var(--content-tertiary)]`,children:[` · `,G.length,`/`,N]})]}),(0,O.jsx)(a,{variant:`outlined`,size:`compact`,leftIcon:(0,O.jsx)(p,{}),onClick:()=>D.current?.click(),disabled:G.length>=N,children:`Add files`}),(0,O.jsx)(`input`,{ref:D,type:`file`,multiple:!0,accept:`image/png,image/jpeg,image/gif,image/webp,video/mp4,video/quicktime,video/webm`,onChange:je,className:`hidden`})]}),G.length>0&&(0,O.jsx)(`div`,{className:`flex gap-2 overflow-x-auto`,children:G.map((e,t)=>(0,O.jsx)(_e,{file:e,onRemove:()=>Fe(t)},`${e.name}-${t}`))}),ye&&(0,O.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Drop files to attach…`})]})]}),ve&&(0,O.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--system-negative-strong)]`,children:ve})]}),(0,O.jsx)(`div`,{className:`mt-4 flex items-center justify-end gap-2 border-t pt-4`,style:{borderColor:`var(--border-subtle)`},children:$?(0,O.jsxs)(`span`,{className:`inline-flex items-center gap-2 text-body-medium-lighter text-[var(--content-secondary)]`,children:[(0,O.jsx)(te,{className:`h-4 w-4 animate-spin`}),X?`Preparing diagnostics…`:`Sending feedback…`]}):(0,O.jsxs)(O.Fragment,{children:[(0,O.jsx)(a,{variant:`ghost`,onClick:t,children:`Cancel`}),X?(0,O.jsx)(a,{variant:`primary`,leftIcon:(0,O.jsx)(u,{}),onClick:async()=>{if(!$){q(null),Q(!0);try{let e=await he(U,c??null,y()?Y?d??null:null:d??null,{diagnosticsProvider:x,doctorSessionId:f,extraLogFiles:De});if(!e){q(`Diagnostics export isn't supported in this browser.`);return}let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=e.name,document.body.appendChild(r),r.click(),r.remove(),setTimeout(()=>URL.revokeObjectURL(n),0),t()}catch(e){q(e instanceof Error?e.message:`Failed to build diagnostics. Please try again.`)}finally{Q(!1)}}},children:`Download diagnostics`}):(0,O.jsx)(a,{variant:`primary`,leftIcon:(0,O.jsx)(re,{}),onClick:async()=>{if(!(!we||$)){q(null),Q(!0);try{let e=z&&M!==`feature_request`?await he(U,c??null,y()?Y?d??null:null:d??null,{diagnosticsProvider:x,doctorSessionId:f,extraLogFiles:De}):null,n=fe(),r=t=>Z.mutateAsync({headers:{"Content-Type":null},body:{message:F.trim(),classification:de[M],email:L.trim(),client:t,client_version:void 0,...c?{assistant_id:c}:{},...l?{assistant_version:l}:{},...f?{doctor_session_id:f}:{},...e?{logs_file:e}:{},...G.length?{attachments:G}:{}},bodySerializer:e=>{let t=new FormData;for(let[n,r]of Object.entries(e))if(r!=null){if(n===`attachments`&&Array.isArray(r)){for(let e of r)t.append(`attachments`,e);continue}r instanceof Blob?t.append(n,r):t.append(n,String(r))}return t}});try{await r(n)}catch(e){if(n!==`android`||!pe(e))throw e;await r(`web`)}o?.(),t()}catch(e){q(e instanceof Error?e.message:`Failed to submit feedback. Please try again.`)}finally{Q(!1)}}},disabled:!we,children:`Submit`})]})})]})}),document.body):null}function ge({option:e,isSelected:t,onSelect:n}){let r=e.icon;return(0,O.jsxs)(`button`,{type:`button`,onClick:n,"aria-pressed":t,className:`flex items-center gap-1.5 rounded-full border px-3 py-1.5 text-left transition-colors`,style:{borderColor:t?`var(--primary-base)`:`var(--border-base)`,backgroundColor:t?`color-mix(in oklab, var(--primary-base) 10%, transparent)`:`transparent`},children:[(0,O.jsx)(r,{className:`h-3.5 w-3.5 shrink-0`,style:{color:t?`var(--primary-base)`:`var(--content-secondary)`}}),(0,O.jsx)(`span`,{className:`text-body-small-default`,style:{color:t?`var(--primary-base)`:`var(--content-default)`},children:e.label})]})}function _e({file:e,onRemove:t}){let n=e.type.startsWith(`image/`),r=(0,w.useMemo)(()=>n?URL.createObjectURL(e):null,[e,n]);return(0,w.useEffect)(()=>{if(r)return()=>URL.revokeObjectURL(r)},[r]),(0,O.jsxs)(`div`,{className:`relative flex h-16 w-16 shrink-0 items-center justify-center overflow-hidden rounded-lg border border-[var(--border-base)] bg-[var(--surface-base)]`,title:e.name,children:[n&&r?(0,O.jsx)(`img`,{src:r,alt:e.name,className:`h-full w-full object-cover`}):(0,O.jsx)(p,{className:`h-5 w-5 text-[var(--content-secondary)]`}),(0,O.jsx)(a,{variant:`ghost`,size:`compact`,iconOnly:(0,O.jsx)(m,{}),onClick:t,"aria-label":`Remove ${e.name}`,className:`absolute top-0.5 right-0.5 h-4 w-4 rounded-full bg-black/60 text-white hover:bg-black/70`,tintColor:`#fff`})]})}export{D as n,W as t};
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/esm-BpO8b4iY.js","assets/preload-helper-Cv2QeVDK.js","assets/dist-D8V9YSOm.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{o as e,r as t}from"./chunk-jRWAZmH_.js";import{t as n}from"./react-BFJW0bSv.js";import{W as r,n as i,t as a}from"./button-DSjqKLvM.js";import{t as o}from"./preload-helper-Cv2QeVDK.js";import{t as s}from"./useMutation-CXGTrp4W.js";import{t as c}from"./jsx-runtime-D3ZM-ToX.js";import{t as l}from"./bug-DwW8prtd.js";import{t as u}from"./download-Bld7ch1X.js";import{t as ee}from"./info-Bjcv3rf9.js";import{t as d}from"./lightbulb-C2QxQWpK.js";import{t as te}from"./loader-circle-oY5laABh.js";import{t as ne}from"./mail-B0iH8Wii.js";import{t as f}from"./message-circle-8fKbbQcs.js";import{t as p}from"./paperclip-BIlwG8TK.js";import{t as re}from"./send-CpbQGYQ9.js";import{t as m}from"./x-BY-Np61T.js";import{t as h}from"./notice-C9v3KOP3.js";import{n as ie,t as g}from"./input-BG94bPcH.js";import{t as _}from"./toggle-ibKLySIy.js";import{t as v}from"./select-B86W_Hs8.js";import{t as y}from"./is-electron-BSK3AUxG.js";import{n as b}from"./assistant-identity-store-DTP7xfNP.js";import{n as ae}from"./auth-store-B9pHhreb.js";import{fn as x}from"./sdk.gen-Br55zhZN.js";import{t as S}from"./dist-D8V9YSOm.js";import{n as C}from"./diagnostics-B6s70M5A.js";import{I as oe}from"./react-query.gen-CqLxrlpP.js";import"./external-urls-Dz7v7Xuw.js";import{t as se}from"./use-body-scroll-lock-C7SDkbNZ.js";var w=e(n(),1),ce=e(r(),1),le=`vellum:debug:`;function T(){let e={};if(typeof window>`u`)return e;try{for(let t=0;t<window.localStorage.length;t++){let n=window.localStorage.key(t);if(n===null||!n.startsWith(le))continue;let r=window.localStorage.getItem(n);r!==null&&(e[n]=r)}}catch{}return e}function E(){return{collectedAt:new Date().toISOString(),resolved:{impersonateAssistantVersion:b()},overrides:T()}}var D=t({ShareFeedbackModal:()=>W,dedupeAgainstClientMessages:()=>B,stripBulkBase64:()=>z}),O=c(),k=[{value:`bug_report`,label:`Bug Report`,icon:l,includesLogsByDefault:!0},{value:`feature_request`,label:`Feature Request`,icon:d,includesLogsByDefault:!1},{value:`other`,label:`Other`,icon:f,includesLogsByDefault:!1}],A=[{value:`past_hour`,label:`Past hour`,cutoffMs:3600*1e3},{value:`past_24_hours`,label:`Past 24 hours`,cutoffMs:1440*60*1e3},{value:`all_time`,label:`All time`,cutoffMs:null}],ue=A.map(e=>({value:e.value,label:e.label})),j=new Set([`image/png`,`image/jpeg`,`image/gif`,`image/webp`,`video/mp4`,`video/quicktime`,`video/webm`]),M=new Set([`png`,`jpg`,`jpeg`,`gif`,`webp`,`mp4`,`mov`,`webm`]),N=10,P=50*1024*1024,de={bug_report:`bug_report`,feature_request:`feature_request`,other:`other`};function fe(){if(y())return`electron`;let e=S.getPlatform();return e===`ios`||e===`android`?e:`web`}function pe(e){return typeof e==`object`&&!!e&&`client`in e}function me(e){if(e.size>P)return!1;if(e.type&&j.has(e.type))return!0;if(!e.type){let t=e.name.split(`.`).pop()?.toLowerCase();return t?M.has(t):!1}return!1}var F=8192,I=/^data:([^;,]+);base64,/i,L=/^[A-Za-z0-9+/]+={0,2}$/;function R(e,t,n=new WeakSet){let r=t(e);if(r)return r.replacement;if(typeof e!=`object`||!e)return e;if(n.has(e))return`[cyclic]`;n.add(e);let i;if(Array.isArray(e))i=e.map(e=>R(e,t,n));else{let r={};for(let[i,a]of Object.entries(e))r[i]=R(a,t,n);i=r}return n.delete(e),i}function z(e){return R(e,e=>{if(typeof e!=`string`)return null;let t=I.exec(e);return t?{replacement:`[stripped data URI ${t[1]}, ${e.length} chars]`}:e.length>=F&&L.test(e)?{replacement:`[stripped base64, ${e.length} chars]`}:null})}function B(e,t){if(!Array.isArray(t))return e;let n=new Map;return t.forEach((e,t)=>{if(e&&typeof e==`object`){let r=e.id;n.set(e,typeof r==`string`?r:`index ${t}`)}}),R(e,e=>{if(typeof e!=`object`||!e)return null;let t=n.get(e);return t===void 0?null:{replacement:`[deduplicated: see clientMessages ${t}]`}})}function V(e,t){let n=Math.ceil(t.length/512),r=new Uint8Array(512+n*512),i=new TextEncoder,a=(e,t,n)=>{let a=i.encode(e);r.set(a.slice(0,n),t)},o=(e,t,n)=>{a(e.toString(8).padStart(n-1,`0`)+`\0`,t,n)};a(e,0,100),o(420,100,8),o(0,108,8),o(0,116,8),o(t.length,124,12),o(Math.floor(Date.now()/1e3),136,12);for(let e=148;e<156;e++)r[e]=32;r[156]=48,a(`ustar\0`,257,6),a(`00`,263,2);let s=0;for(let e=0;e<512;e++)s+=r[e];return o(s,148,7),r[155]=32,r.set(t,512),r}async function H(e,t){try{let n={};t.window.startTime!=null&&(n.startTime=t.window.startTime,n.endTime=t.window.endTime),t.activeConversationId&&(n.conversationId=t.activeConversationId);let{data:r,error:i}=await x({path:{assistant_id:e},body:n,parseAs:`blob`,throwOnError:!1});if(i||!(r instanceof Blob))return null;let a=await r.arrayBuffer();return new Uint8Array(a)}catch{return null}}async function U(){if(!S.isNativePlatform())return null;try{let{App:e}=await o(async()=>{let{App:e}=await import(`./esm-BpO8b4iY.js`);return{App:e}},__vite__mapDeps([0,1,2])),{id:t,name:n,version:r,build:i}=await e.getInfo();return{id:t,name:n,version:r,build:i}}catch{return null}}async function he(e,t,n,r={}){if(typeof CompressionStream>`u`)return null;let{diagnosticsProvider:i,doctorSessionId:a,extraLogFiles:o=[]}=r,s=new Date,c=A.find(t=>t.value===e),l=s.getTime(),u=c?.cutoffMs==null?null:l-c.cutoffMs,ee=u==null?null:new Date(u).toISOString(),d=null;try{d=i?.()??null}catch{d=null}let te=C(d),ne={collected_at:s.toISOString(),time_range:e,cutoff:ee,log_window:{start_time_ms:u,end_time_ms:l},assistant_id:t,active_conversation_id:n,doctor_session_id:a??null,client_version:null,native_app:await U(),user_agent:typeof navigator<`u`?navigator.userAgent:``,language:typeof navigator<`u`?navigator.language:``,platform:typeof navigator<`u`?navigator.platform:``,url:typeof window<`u`?window.location.href:``,viewport:typeof window<`u`?{width:window.innerWidth,height:window.innerHeight}:null,screen:typeof screen<`u`?{width:screen.width,height:screen.height}:null,connection:typeof navigator<`u`&&`connection`in navigator?{effectiveType:navigator.connection.effectiveType,downlink:navigator.connection.downlink,rtt:navigator.connection.rtt}:null,deviceMemory:typeof navigator<`u`&&`deviceMemory`in navigator?navigator.deviceMemory:null,hardwareConcurrency:typeof navigator<`u`?navigator.hardwareConcurrency:null},f=new TextEncoder,p=f.encode(JSON.stringify(ne,null,2)),re=f.encode(JSON.stringify(te,null,2)),m=[V(`web-client-context.json`,p),V(`web-chat-diagnostics.json`,re)],h=new TextEncoder().encode(JSON.stringify(E(),null,2));m.push(V(`web-debug-flags.json`,h));for(let e of o){let t=e.contents.trim();t&&m.push(V(e.filename,f.encode(t)))}try{let e=typeof window<`u`?window._vellumDebug?.chat:null;if(e){let t=e.getClientMessages?.()??null,n={clientMessages:t,transcriptItems:B(e.getTranscriptItems?.()??null,t),pendingInteractions:e.listPendingInteractions?.()??null,thinkingIndicator:e.thinkingIndicator?.()??null,streamingRing:e.streamingRing?.()??null,reconciliationDiagnostics:e.getReconciliationDiagnostics?.()??null},r=new TextEncoder().encode(JSON.stringify(z(n),null,2));m.push(V(`web-chat-debug-api-triage.json`,r))}}catch{}try{let e=typeof window<`u`?window._vellumDebug?.events:null;if(e){let t={focus:typeof document<`u`?{hasFocus:typeof document.hasFocus==`function`?document.hasFocus():null,visibilityState:document.visibilityState}:null,clients:e.getClients().map(({abortSignal:e,...t})=>({...t,aborted:e.aborted})),events:e.getEvents()},n=new TextEncoder().encode(JSON.stringify(z(t),null,2));m.push(V(`web-sse-liveness-triage.json`,n))}}catch{}if(y()&&window.vellum?.feedback){try{let e=await window.vellum.feedback.diagnostics(),t=new TextEncoder().encode(JSON.stringify(e,null,2));m.push(V(`electron-diagnostics.json`,t))}catch{}try{let e=await window.vellum.feedback.logs();if(e){let t=new TextEncoder().encode(e);m.push(V(`electron-main-logs.txt`,t))}}catch{}}if(t){let e=await H(t,{window:{startTime:u,endTime:l},activeConversationId:n});e&&m.push(V(`platform-logs.tar.gz`,e))}m.push(new Uint8Array(1024));let ie=m.reduce((e,t)=>e+t.length,0),g=new Uint8Array(ie),_=0;for(let e of m)g.set(e,_),_+=e.length;let v=new Blob([g.buffer]),b=await new Response(v.stream().pipeThrough(new CompressionStream(`gzip`))).blob();return new File([b],`web-client-logs-${s.getTime()}.tar.gz`,{type:`application/gzip`})}function W({open:e,onClose:t,initialReason:n,initialMessage:r,onSubmitted:o,assistantId:c,assistantVersion:l,activeConversationId:d,doctorSessionId:f,doctorSessionLog:b,getDiagnosticsSnapshot:x}){let S=ae.use.user(),C=S?.email,le=S?.isStaff??!1,T=(0,w.useId)(),E=(0,w.useRef)(null),D=(0,w.useRef)(null),A=(0,w.useRef)(null),j=(0,w.useRef)(null),[M,P]=(0,w.useState)(n??`bug_report`),[F,I]=(0,w.useState)(``),[L,R]=(0,w.useState)(``),[z,B]=(0,w.useState)(k.find(e=>e.value===(n??`bug_report`))?.includesLogsByDefault??!0),[V,H]=(0,w.useState)(!1),[U,W]=(0,w.useState)(`past_hour`),[G,K]=(0,w.useState)([]),[ve,q]=(0,w.useState)(null),[ye,J]=(0,w.useState)(!1),[Y,be]=(0,w.useState)(!1),[X,xe]=(0,w.useState)(!1),Z=s(oe()),[Se,Q]=(0,w.useState)(!1),$=Z.isPending||Se,Ce=!C,we=(0,w.useMemo)(()=>F.trim().length>0&&L.trim().length>0,[F,L]);(0,w.useEffect)(()=>{if(!e)return;let t=n??`bug_report`;P(t),I(r??``),R(C??``),B(k.find(e=>e.value===t)?.includesLogsByDefault??!0),H(!1),W(`past_hour`),K([]),be(!1),xe(!1),q(null),Q(!1),Z.reset();let i=setTimeout(()=>{C?A.current?.focus():j.current?.focus()},50);return()=>clearTimeout(i)},[e]),se(e);let Te=e=>{P(e),V||B(k.find(t=>t.value===e)?.includesLogsByDefault??!1)},Ee=()=>{B(e=>!e),H(!0)},De=b?.trim()?[{filename:`doctor-session.txt`,contents:b}]:[],Oe=(0,w.useCallback)(e=>{e.key===`Escape`&&!e.defaultPrevented&&!$&&(e.preventDefault(),t())},[t,$]),ke=(0,w.useCallback)(e=>{e.target===E.current&&!$&&t()},[t,$]),Ae=(0,w.useCallback)(e=>{K(t=>{let n=N-t.length;if(n<=0)return t;let r=new Set(t.map(e=>`${e.name}:${e.size}`)),i=[];for(let t of e){if(i.length>=n)break;if(!me(t))continue;let e=`${t.name}:${t.size}`;r.has(e)||(r.add(e),i.push(t))}return i.length>0?[...t,...i]:t})},[]),je=e=>{e.target.files&&Ae(Array.from(e.target.files)),e.target.value=``},Me=e=>{e.preventDefault(),J(!1),e.dataTransfer.files?.length&&Ae(Array.from(e.dataTransfer.files))},Ne=e=>{e.preventDefault(),J(!0)},Pe=e=>{e.preventDefault(),e.currentTarget===e.target&&J(!1)},Fe=e=>{K(t=>t.filter((t,n)=>n!==e))};return e?(0,ce.createPortal)((0,O.jsx)(`div`,{ref:E,role:`dialog`,"aria-modal":`true`,"aria-labelledby":T,className:`fixed inset-0 z-50 flex items-center justify-center bg-black/50`,onKeyDown:Oe,onClick:ke,onDrop:Me,onDragOver:Ne,onDragLeave:Pe,children:(0,O.jsxs)(`div`,{className:`mx-4 flex w-full max-w-lg flex-col rounded-xl border p-6 shadow-xl`,style:{backgroundColor:`var(--surface-lift)`,borderColor:`var(--border-base)`,maxHeight:`calc(100vh - 2rem)`},children:[(0,O.jsxs)(`div`,{className:`flex items-center justify-between border-b pb-4`,style:{borderColor:`var(--border-subtle)`},children:[(0,O.jsx)(`h2`,{id:T,className:`!m-0 text-title-small text-[var(--content-default)]`,children:`Share Feedback`}),(0,O.jsx)(a,{variant:`ghost`,iconOnly:(0,O.jsx)(m,{}),onClick:t,disabled:$,"aria-label":`Close`,tintColor:`var(--content-secondary)`})]}),(0,O.jsxs)(`div`,{className:`flex flex-col gap-3.5 overflow-y-auto pt-4 ${$?`pointer-events-none opacity-60`:``}`,children:[le&&(0,O.jsxs)(`div`,{className:`flex flex-col gap-1.5 rounded-lg border border-[var(--border-base)] bg-[var(--surface-base)] px-3 py-2.5`,children:[(0,O.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-3`,children:[(0,O.jsx)(_,{checked:X,onChange:()=>xe(e=>!e),"aria-label":`Download diagnostics directly`}),(0,O.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:`Download diagnostics directly`})]}),(0,O.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:`Admin only — builds the diagnostics archive locally and downloads it instead of submitting feedback or notifying Slack.`})]}),X?(0,O.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,O.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:`Time range`}),(0,O.jsx)(v,{options:ue,value:U,onChange:W,"aria-label":`Diagnostics time range`})]}):(0,O.jsxs)(O.Fragment,{children:[Ce&&(0,O.jsx)(g,{id:`${T}-email`,ref:j,label:`Email`,type:`email`,placeholder:`you@example.com`,value:L,onChange:e=>R(e.target.value),leftIcon:(0,O.jsx)(ne,{className:`h-4 w-4`,"aria-hidden":!0}),fullWidth:!0}),(0,O.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,O.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:`Category`}),(0,O.jsx)(`div`,{className:`flex gap-2`,children:k.map(e=>(0,O.jsx)(ge,{option:e,isSelected:M===e.value,onSelect:()=>Te(e.value)},e.value))})]}),(0,O.jsx)(`hr`,{className:`border-[var(--border-subtle)]`}),M===`bug_report`&&(0,O.jsxs)(h,{tone:`info`,children:[`Tip: Get faster support by posting in our`,` `,(0,O.jsx)(`a`,{href:`https://vellum.ai/community`,target:`_blank`,rel:`noopener noreferrer`,className:`underline text-[var(--content-default)]`,children:`Discord community`})]}),M===`feature_request`&&(0,O.jsxs)(h,{tone:`info`,children:[`Tip: Vote on features on our`,` `,(0,O.jsx)(`a`,{href:`https://vellum.ai/roadmap`,target:`_blank`,rel:`noopener noreferrer`,className:`underline text-[var(--content-default)]`,children:`public roadmap`})]}),(0,O.jsx)(ie,{id:`${T}-message`,ref:A,label:M===`bug_report`?`What went wrong?`:M===`feature_request`?`Describe your idea`:`What's on your mind?`,rows:3,placeholder:M===`bug_report`?`What did you expect to happen, and what happened instead?`:M===`feature_request`?`What problem would this solve for you?`:`Share your thoughts...`,value:F,onChange:e=>I(e.target.value),fullWidth:!0}),M!==`feature_request`&&(0,O.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,O.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[(0,O.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2.5`,children:[(0,O.jsx)(_,{checked:z,onChange:Ee,"aria-label":`Include browser diagnostics`}),(0,O.jsx)(`span`,{className:`text-body-medium-lighter leading-6 text-[var(--content-default)]`,children:`Include diagnostics`})]}),(0,O.jsx)(i,{content:`Diagnostics include browser context, assistant logs, and timestamps — never passwords or credentials.`,children:(0,O.jsx)(`button`,{type:`button`,"aria-label":`About diagnostics`,className:`inline-flex items-center justify-center text-[var(--content-tertiary)]`,children:(0,O.jsx)(ee,{className:`h-3.5 w-3.5`})})})]}),z&&(0,O.jsx)(v,{options:ue,value:U,onChange:W,"aria-label":`Diagnostics time range`})]}),y()&&d&&M!==`feature_request`&&(0,O.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2.5`,children:[(0,O.jsx)(_,{checked:Y,onChange:()=>be(e=>!e),"aria-label":`Include the most recent conversation`}),(0,O.jsx)(`span`,{className:`text-body-medium-lighter leading-6 text-[var(--content-default)]`,children:`Include the most recent conversation`})]}),(0,O.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,O.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,O.jsxs)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:[`Attachments`,G.length>0&&(0,O.jsxs)(`span`,{className:`text-[var(--content-tertiary)]`,children:[` · `,G.length,`/`,N]})]}),(0,O.jsx)(a,{variant:`outlined`,size:`compact`,leftIcon:(0,O.jsx)(p,{}),onClick:()=>D.current?.click(),disabled:G.length>=N,children:`Add files`}),(0,O.jsx)(`input`,{ref:D,type:`file`,multiple:!0,accept:`image/png,image/jpeg,image/gif,image/webp,video/mp4,video/quicktime,video/webm`,onChange:je,className:`hidden`})]}),G.length>0&&(0,O.jsx)(`div`,{className:`flex gap-2 overflow-x-auto`,children:G.map((e,t)=>(0,O.jsx)(_e,{file:e,onRemove:()=>Fe(t)},`${e.name}-${t}`))}),ye&&(0,O.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Drop files to attach…`})]})]}),ve&&(0,O.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--system-negative-strong)]`,children:ve})]}),(0,O.jsx)(`div`,{className:`mt-4 flex items-center justify-end gap-2 border-t pt-4`,style:{borderColor:`var(--border-subtle)`},children:$?(0,O.jsxs)(`span`,{className:`inline-flex items-center gap-2 text-body-medium-lighter text-[var(--content-secondary)]`,children:[(0,O.jsx)(te,{className:`h-4 w-4 animate-spin`}),X?`Preparing diagnostics…`:`Sending feedback…`]}):(0,O.jsxs)(O.Fragment,{children:[(0,O.jsx)(a,{variant:`ghost`,onClick:t,children:`Cancel`}),X?(0,O.jsx)(a,{variant:`primary`,leftIcon:(0,O.jsx)(u,{}),onClick:async()=>{if(!$){q(null),Q(!0);try{let e=await he(U,c??null,y()?Y?d??null:null:d??null,{diagnosticsProvider:x,doctorSessionId:f,extraLogFiles:De});if(!e){q(`Diagnostics export isn't supported in this browser.`);return}let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=e.name,document.body.appendChild(r),r.click(),r.remove(),setTimeout(()=>URL.revokeObjectURL(n),0),t()}catch(e){q(e instanceof Error?e.message:`Failed to build diagnostics. Please try again.`)}finally{Q(!1)}}},children:`Download diagnostics`}):(0,O.jsx)(a,{variant:`primary`,leftIcon:(0,O.jsx)(re,{}),onClick:async()=>{if(!(!we||$)){q(null),Q(!0);try{let e=z&&M!==`feature_request`?await he(U,c??null,y()?Y?d??null:null:d??null,{diagnosticsProvider:x,doctorSessionId:f,extraLogFiles:De}):null,n=fe(),r=t=>Z.mutateAsync({headers:{"Content-Type":null},body:{message:F.trim(),classification:de[M],email:L.trim(),client:t,client_version:void 0,...c?{assistant_id:c}:{},...l?{assistant_version:l}:{},...f?{doctor_session_id:f}:{},...e?{logs_file:e}:{},...G.length?{attachments:G}:{}},bodySerializer:e=>{let t=new FormData;for(let[n,r]of Object.entries(e))if(r!=null){if(n===`attachments`&&Array.isArray(r)){for(let e of r)t.append(`attachments`,e);continue}r instanceof Blob?t.append(n,r):t.append(n,String(r))}return t}});try{await r(n)}catch(e){if(n!==`android`||!pe(e))throw e;await r(`web`)}o?.(),t()}catch(e){q(e instanceof Error?e.message:`Failed to submit feedback. Please try again.`)}finally{Q(!1)}}},disabled:!we,children:`Submit`})]})})]})}),document.body):null}function ge({option:e,isSelected:t,onSelect:n}){let r=e.icon;return(0,O.jsxs)(`button`,{type:`button`,onClick:n,"aria-pressed":t,className:`flex items-center gap-1.5 rounded-full border px-3 py-1.5 text-left transition-colors`,style:{borderColor:t?`var(--primary-base)`:`var(--border-base)`,backgroundColor:t?`color-mix(in oklab, var(--primary-base) 10%, transparent)`:`transparent`},children:[(0,O.jsx)(r,{className:`h-3.5 w-3.5 shrink-0`,style:{color:t?`var(--primary-base)`:`var(--content-secondary)`}}),(0,O.jsx)(`span`,{className:`text-body-small-default`,style:{color:t?`var(--primary-base)`:`var(--content-default)`},children:e.label})]})}function _e({file:e,onRemove:t}){let n=e.type.startsWith(`image/`),r=(0,w.useMemo)(()=>n?URL.createObjectURL(e):null,[e,n]);return(0,w.useEffect)(()=>{if(r)return()=>URL.revokeObjectURL(r)},[r]),(0,O.jsxs)(`div`,{className:`relative flex h-16 w-16 shrink-0 items-center justify-center overflow-hidden rounded-lg border border-[var(--border-base)] bg-[var(--surface-base)]`,title:e.name,children:[n&&r?(0,O.jsx)(`img`,{src:r,alt:e.name,className:`h-full w-full object-cover`}):(0,O.jsx)(p,{className:`h-5 w-5 text-[var(--content-secondary)]`}),(0,O.jsx)(a,{variant:`ghost`,size:`compact`,iconOnly:(0,O.jsx)(m,{}),onClick:t,"aria-label":`Remove ${e.name}`,className:`absolute top-0.5 right-0.5 h-4 w-4 rounded-full bg-black/60 text-white hover:bg-black/70`,tintColor:`#fff`})]})}export{D as n,W as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-DSjqKLvM.js";import{d as r,t as i,u as a}from"./chunk-5KNZJZUH-BUqIilZr.js";import{t as o}from"./jsx-runtime-D3ZM-ToX.js";import{t as s}from"./typography-BeUa5Fd-.js";import{
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-DSjqKLvM.js";import{d as r,t as i,u as a}from"./chunk-5KNZJZUH-BUqIilZr.js";import{t as o}from"./jsx-runtime-D3ZM-ToX.js";import{t as s}from"./typography-BeUa5Fd-.js";import{u as c}from"./src-njXJqrpo.js";import{t as l}from"./arrow-left-xVF3p2Qp.js";import{t as u}from"./chevron-right-Dx_5VMo6.js";import{n as d,t as f}from"./runtime-upgrade-banner-BeO8tW05.js";import{t as p}from"./is-electron-BSK3AUxG.js";import{l as m}from"./platform-detection-D4gxJctC.js";import{d as h}from"./routes-C293MsBG.js";import{n as g}from"./use-is-mobile-BONxmNg6.js";import{t as _}from"./use-edge-swipe-back-DpMHlX97.js";import{t as v}from"./link-click-c4p6nI2M.js";var y=e(t(),1),b=`data-page-transition`,x=400,S;function C(){return typeof document<`u`&&typeof document.startViewTransition==`function`}function w(){return m()&&C()}function T(e,t,n,r){if(!w()){e(t,r);return}document.documentElement.setAttribute(b,n),S!==void 0&&clearTimeout(S),S=setTimeout(()=>{S=void 0,document.documentElement.removeAttribute(b)},x),e(t,{...r,viewTransition:!0})}var E=o();function D({sidebar:e,children:t,actions:o,backHref:c,title:u=`Settings`,menuRoute:m=h.settings.root}){let{pathname:v}=a(),b=r(),x=v===m,S=g(),C=(0,y.useRef)(null),w=(0,y.useRef)(null);(0,y.useLayoutEffect)(()=>{w.current?.scrollTo(0,0)},[v]);let D=x?c:m;_({containerRef:C,onBack:(0,y.useCallback)(()=>{b(D)},[b,D]),enabled:S,navKey:v,prefetchHref:D});let O=p(),k=x?`Back from ${u}`:`Back to ${u} menu`,A=(0,E.jsx)(n,{variant:`ghost`,iconOnly:(0,E.jsx)(l,{}),"aria-label":k,tintColor:`var(--content-secondary)`,onClick:()=>T(b,D,`pop`)}),j=(0,E.jsx)(n,{asChild:!0,variant:`outlined`,"aria-label":`Back from ${u}`,className:`h-8 w-8 px-0`,tintColor:`var(--content-secondary)`,children:(0,E.jsx)(i,{to:c,className:`flex items-center justify-center no-underline`,children:(0,E.jsx)(l,{size:16,"aria-hidden":`true`})})});return(0,E.jsxs)(`div`,{ref:C,className:`flex h-full min-h-0 w-full flex-1 flex-col gap-4 p-4 sm:p-6 md:gap-0`,style:{paddingTop:O?`3.75rem`:`1rem`},children:[(0,E.jsxs)(`div`,{className:`flex shrink-0 items-center gap-3 md:hidden`,children:[A,(0,E.jsx)(s,{as:`h1`,variant:`body-large-default`,className:`flex-1 truncate text-center`,style:{color:`var(--content-tertiary)`,lineHeight:1.4},children:u}),(0,E.jsx)(`div`,{className:`h-10 w-10 shrink-0`,"aria-hidden":`true`})]}),O?(0,E.jsxs)(`div`,{className:`flex shrink-0 flex-col gap-2 pb-4 empty:hidden`,children:[(0,E.jsx)(d,{placement:`electron`,className:`px-0 pt-0`}),(0,E.jsx)(f,{placement:`electron`,className:`px-0 pt-0`})]}):null,(0,E.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-hidden md:rounded-[12px] md:border md:border-[var(--border-base)] md:bg-[var(--surface-overlay)]`,children:[(0,E.jsxs)(`div`,{className:`hidden shrink-0 items-center justify-between gap-4 px-6 py-5 md:flex`,children:[(0,E.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[j,(0,E.jsx)(`h1`,{className:`text-title-large truncate`,style:{color:`var(--content-emphasised)`,lineHeight:1.2},children:u})]}),(0,E.jsx)(`div`,{className:`flex shrink-0 items-center gap-2`,children:o})]}),(0,E.jsxs)(`div`,{className:`flex min-h-0 flex-1 overflow-hidden`,children:[(0,E.jsx)(`aside`,{className:`hidden w-64 shrink-0 overflow-y-auto md:block`,"aria-label":`${u} navigation`,children:e}),x?(0,E.jsx)(`div`,{className:`flex min-w-0 min-h-0 flex-1 flex-col overflow-y-auto overflow-x-hidden pb-6 md:hidden`,children:e}):null,(0,E.jsx)(`main`,{ref:w,className:`min-w-0 min-h-0 flex-1 flex-col gap-4 overflow-y-auto overflow-x-hidden pb-6 md:flex md:px-6 md:pt-0 ${x?`hidden`:`flex`}`,children:t})]})]})]})}function O({items:e,bottomItems:t,indexPath:n}){let{pathname:i}=a(),o=r(),s=g(),l=(e,t,r)=>{let{href:a,onSelect:l}=e,d=a!=null&&(i===a||i.startsWith(a+`/`)||!s&&r&&n!=null&&i===n);return(0,E.jsxs)(y.Fragment,{children:[(0,E.jsx)(c.Item,{icon:e.icon,label:e.label,active:d,trailingIcon:a==null?void 0:u,trailingIconClassName:a==null?void 0:`md:hidden`,href:a,onSelect:l,onClick:a==null?void 0:e=>{v(e)||(e.preventDefault(),T(o,a,`push`))}}),!t&&(0,E.jsx)(`div`,{role:`presentation`,"aria-hidden":!0,className:`my-2 h-px w-full bg-[var(--border-base)] md:hidden`})]},e.id)};return(0,E.jsxs)(`nav`,{"aria-label":`Sidebar navigation`,className:`flex min-h-full flex-col md:gap-2 md:px-6 md:pb-4`,children:[e.map((n,r)=>l(n,r===e.length-1&&!t?.length,r===0)),t&&t.length>0&&(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(`div`,{className:`flex-1`}),(0,E.jsx)(`div`,{role:`presentation`,"aria-hidden":!0,className:`mx-0 my-2 h-px w-full bg-[var(--border-base)] md:mx-0`}),t.map((e,n)=>l(e,n===t.length-1,!1))]})]})}export{D as n,O as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./jsx-runtime-D3ZM-ToX.js";import"./i18n-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./jsx-runtime-D3ZM-ToX.js";import"./i18n-BR-AyG5b.js";import{t as r}from"./Trans-CPcWO-v6.js";import{t as i}from"./useTranslation-DxUSOwQs.js";import{D as a}from"./platform-detection-D4gxJctC.js";import{n as o,r as s}from"./login-flow-imrf1-ub.js";import{t as c}from"./proxy-Do-Khsj0.js";import{t as l}from"./AnimatePresence-wQN1d2rQ.js";import{t as u}from"./apple-logo-Biu93CTa.js";import{n as d,t as f}from"./use-return-to-short-circuit-LcamIc_k.js";import{t as p}from"./signup-shell-XnqyIHQa.js";var m=e(t(),1),h=n();function g({words:e}){let[t,n]=(0,m.useState)(0),r=(0,m.useMemo)(()=>e.reduce((e,t)=>e.length>=t.length?e:t),[e]);return(0,m.useEffect)(()=>{let t=setInterval(()=>{n(t=>(t+1)%e.length)},2400);return()=>clearInterval(t)},[e.length]),(0,h.jsxs)(`span`,{className:`signup__rotating`,children:[(0,h.jsxs)(`span`,{className:`signup__rotating-sizer`,"aria-hidden":!0,children:[r,`.`]}),(0,h.jsx)(l,{mode:`wait`,children:(0,h.jsxs)(c.em,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},exit:{opacity:0,y:-16},transition:{duration:.3,ease:`easeInOut`},children:[e[t],`.`]},e[t])})]})}var _=[`signupScreen.headlineRoles.personalIntelligence`,`signupScreen.headlineRoles.softwareEngineer`,`signupScreen.headlineRoles.financeOps`,`signupScreen.headlineRoles.householdManager`,`signupScreen.headlineRoles.gtmEngineer`,`signupScreen.headlineRoles.productLead`];function v({returnTo:e}){let{t}=i(`account`),n=(0,m.useMemo)(()=>_.map(e=>t(e)),[t]),[c,l]=(0,m.useState)(null),d=s(e,{authIntent:`signup`});return(0,h.jsxs)(p,{children:[(0,h.jsxs)(`h1`,{className:`signup__title`,children:[t(`signupScreen.headlineLead`),(0,h.jsx)(`br`,{}),(0,h.jsx)(g,{words:n})]}),(0,h.jsx)(`p`,{className:`signup__subtitle`,children:t(`signupScreen.subtitle`)}),(0,h.jsx)(`div`,{className:`signup__buttons`,children:(0,h.jsx)(`button`,{type:`button`,className:`signup__btn`,onClick:()=>{l(null),a(o,d,{returnTo:e,intent:`signup`}).catch(e=>{console.error(`[signup] auth flow failed:`,e),l(t(`authErrors.genericFailure`))})},children:t(`signupScreen.continue`)})}),c&&(0,h.jsx)(`p`,{className:`signup__error`,children:c}),(0,h.jsx)(`p`,{className:`signup__footer`,children:(0,h.jsx)(r,{i18nKey:`signupScreen.haveAccountPrompt`,ns:`account`,components:{signIn:(0,h.jsx)(`button`,{type:`button`,className:`signup__link`,onClick:()=>{l(null),a(o,s(e),{returnTo:e}).catch(e=>{console.error(`[signup] sign-in flow failed:`,e),l(t(`authErrors.genericFailure`))})}})}})}),(0,h.jsxs)(`a`,{className:`signup__download`,href:`/downloads`,children:[(0,h.jsx)(u,{size:16}),t(`signupScreen.downloadMac`)]})]})}function y(){let e=f();return e.kind===`wait`?(0,h.jsx)(p,{children:(0,h.jsx)(d,{})}):e.kind===`redirect`?e.node:(0,h.jsx)(v,{returnTo:e.returnTo})}export{y as SignupPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{n}from"./button-DSjqKLvM.js";import{t as r}from"./jsx-runtime-D3ZM-ToX.js";import{t as i}from"./typography-BeUa5Fd-.js";import{J as a}from"./src-DjIqxQVd.js";import{E as o,T as s,o as c,s as l,w as u}from"./message-content-BrFs5fmC.js";import{t as d}from"./brain-BkpxPjmn.js";import{t as f}from"./check-CNBoUiyR.js";import{t as p}from"./circle-check-BG2g8udA.js";import{t as m}from"./code-CvwdlCR7.js";import{t as h}from"./file-text-Ha6XXdS_.js";import{t as g}from"./globe-BQ4oUIDW.js";import{t as _}from"./monitor-4IGIx6Wb.js";import{t as v}from"./plug-CQDevvb-.js";import{t as ee}from"./sparkles-DB7sSiA2.js";import{t as te}from"./user-plus-Vg2Aibhi.js";import{D as y,O as ne}from"./chat-sgiUoK1u.js";import{t as b}from"./misc-wmny7PlA.js";import{t as re}from"./proxy-Do-Khsj0.js";import{t as ie}from"./AnimatePresence-wQN1d2rQ.js";import{t as x}from"./use-reduced-motion-D2PbFfB8.js";import{t as S}from"./three-dot-indicator-BFNMvd3i.js";var C=e(t(),1),w=r();function T(e){let t=e.trimStart();if(!t.startsWith(`**`))return e;let n=t.indexOf(`**`,2);if(n===-1)return t.slice(2).trimStart();let r=t.slice(2,n).trim();return r.length>0?r:e}var ae=/^https?:\/\/\S+/,oe=/^URL:\s*(https?:\/\/\S+)/i,se=/^\[\d+\]\s*(https?:\/\/\S+)/;function E(e){try{return new URL(e).hostname.replace(/^www\./,``)}catch{return``}}function ce(e){let t=e.trim();return oe.exec(t)?.[1]??se.exec(t)?.[1]??t}function le(e){return e.trim().replace(/^\d+\.\s+/,``)}function ue(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=ce(t);if(ae.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=le(t))}return n}function D(e){return!e||!e.trim()?[]:ue(e).map((e,t)=>{let n=E(e.url);return{rank:t+1,title:e.title,url:e.url,domain:n}})}var de=5,fe=new Set([`web_search`,`web_fetch`]);function O(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 k(e){return fe.has(e.name)}function A(e){return e?`Searched the web`:`Searching the web`}function j(e){return{visible:e.slice(0,de),overflowResults:e.slice(de)}}function pe(e,t){let{visible:n,overflowResults:r}=j(e.results);return{kind:`web_search`,title:A(t),durationLabel:O(e.durationMs),linkCount:e.resultCount,results:n,overflowResults:r}}function me(e){let t=e.title??e.domain;return{kind:`thinking`,durationLabel:O(e.durationMs),text:`Reading ${t}`}}function he(){return{kind:`web_search`,title:`Searching the web`,durationLabel:``,linkCount:0,results:[]}}function ge(){return{kind:`thinking`,durationLabel:``,text:`Reading…`}}function _e(e){let t=D(e);if(t.length===0)return null;let{visible:n,overflowResults:r}=j(t);return{kind:`web_search`,title:A(!0),durationLabel:``,linkCount:t.length,results:n,overflowResults:r}}function ve(e){return{kind:`web_search_error`,title:`Web search failed`,durationLabel:O(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 M(){return{kind:`web_search`,title:A(!0),durationLabel:``,linkCount:0,results:[]}}function N(e,t){return t[e.id]??e.activityMetadata}function P(e){return!y(e)}function F(e,t){return e.results.length>0?!1:!!e.errorMessage||!!t.isError}function I(e){return e.confirmationDecision===`denied`||e.confirmationDecision===`timed_out`?`denied`:e.isError?`error`:y(e)?`running`:`completed`}function L(e,t){return e==null||t==null?null:Math.max(0,t-e)}function R(e,t){let n=L(e,t);return n==null?``:O(n)}function z(e){return R(e.startedAt??void 0,e.completedAt??void 0)}function ye(e){return!c(e)&&y(e)}function be(e,t){if(e.kind===`thinking`)return e.text?e.completedAt==null?e.startedAt!=null&&t!=null?Math.max(0,t-e.startedAt):null:L(e.startedAt,e.completedAt):null;let n=e.toolCall;if(c(n))return null;let r=ne(n);return n.completedAt==null?y(n)&&r!=null&&t!=null?Math.max(0,t-r):null:L(r,n.completedAt)}function xe(e){return e.some(e=>e.kind===`thinking`?!!e.text&&e.startedAt!=null&&e.completedAt==null:ye(e.toolCall))}function Se(e,t){let n=0,r=!1;for(let i of e){let e=be(i,t);e!=null&&(r=!0,n+=e)}return r?O(n):``}function Ce(e){let{title:t,activity:n}=l(e);return{toolCallId:e.id,toolName:e.name,title:t,activity:n,input:e.input??{},result:e.result,streamedOutput:e.streamedOutput,status:I(e),riskLevel:e.riskLevel,riskReason:e.riskReason,durationLabel:z(e)}}function we(e){let{title:t,info:n,activity:r,iconName:i}=l(e);return{kind:`tool`,durationLabel:z(e),startedAt:e.startedAt??void 0,title:t,info:n,activity:r,riskLevel:e.riskLevel,iconName:i,toolCallId:e.id,status:I(e)}}function Te(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n];if(k(r)){let e=N(r,t),n=P(r);if(e?.webSearch&&F(e.webSearch,r))return`Web search failed`;if(r.name===`web_search`)return A(n);if(r.name===`web_fetch`)return`Thinking`}else return l(r).title}return``}function Ee(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n];if(!k(r)){let{info:e,activity:t}=l(r);return t||e}let i=N(r,t),a=P(r);if(i?.webSearch){let e=i.webSearch;if(F(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=D(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?E(e):``;if(t)return a?t:`Reading ${t}`}}return``}function De(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n];if(r.name!==`web_search`)continue;let i=N(r,t)?.webSearch?.results;if(i&&i.length>0)return i}return[]}function Oe(e){return e.includes(`denied`)?`denied`:e.includes(`loading`)?`loading`:e.includes(`error`)?`error`:`complete`}function ke(e){return Oe(e.map(e=>e.confirmationDecision===`denied`||e.confirmationDecision===`timed_out`?`denied`:y(e)?`loading`:e.isError?`error`:`complete`))}function Ae(e,t){if(c(e))return null;if(!k(e))return we(e);let n=N(e,t),r=P(e);if(n?.webSearch){let t=n.webSearch;return F(t,e)?ve(t):pe(t,r)}return n?.webFetch?me(n.webFetch):r?e.name===`web_search`&&typeof e.result==`string`?_e(e.result)??M():M():e.name===`web_search`?he():ge()}function je(e,t,n){let r=e.filter(e=>e.kind===`toolCall`).map(e=>e.toolCall).filter(e=>!c(e)),i=[],a=null,o=0;for(let n of e){if(n.kind===`thinking`){n.text&&(i.push({kind:`thinking`,durationLabel:R(n.startedAt,n.completedAt),text:n.text,startedAt:n.startedAt,completedAt:n.completedAt,thinkingItemIndex:o++}),a=n.text);continue}let e=Ae(n.toolCall,t);e&&(i.push(e),a=null)}let s=ke(r),l,u,d;a===null?(l=Te(r,t),u=Ee(r,t),d=`tool`):(l=`Thinking`,u=T(a),d=`thinking`);let f=De(r,t),p=`${i.length} step${i.length===1?``:`s`}`,m=Se(e,n);return{currentStepTitle:l,currentStepInfo:u,currentStepKind:d,stepCount:p,totalDurationLabel:m,steps:i,state:s,carouselItems:f}}var Me=.44;function Ne(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*Me;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(`, `)}function Pe(e){let t=`color-mix(in srgb, ${e} 40%, white)`;return[{position:0,color:t},{position:.5,color:e},{position:1,color:t}]}var Fe=`var(--avatar-accent, var(--content-emphasised))`,Ie=`color-mix(in srgb, currentColor 45%, transparent)`,Le=1500,Re=106,B=6,V=48,H=.72,U=14,ze=96;function Be(){return typeof CSS>`u`||typeof CSS.supports!=`function`?!1:CSS.supports(`background-clip`,`text`)||CSS.supports(`-webkit-background-clip`,`text`)}function W({children:e,colorHex:t,className:n,"data-testid":r}){let i=(0,C.useRef)(null),a=x(),o=t??Fe,s=(0,C.useMemo)(()=>Ne(Pe(o),Re),[o]);(0,C.useLayoutEffect)(()=>{let t=i.current;if(!t)return;if(!Be()){t.style.removeProperty(`background-image`),t.style.removeProperty(`background-color`),t.style.removeProperty(`-webkit-text-fill-color`);return}if(a||typeof t.animate!=`function`)return;let n=null,r=()=>{let r=t.getBoundingClientRect().width||ze,i=(Number.parseFloat(getComputedStyle(t).fontSize)||U)/U,a=Math.min(e.length*B*i,V*i),o=Math.max(1,r+a*2);t.style.setProperty(`--gs-spread`,`${a}px`),t.style.setProperty(`--gs-spread-mid`,`${a*H}px`),t.style.backgroundSize=`${o}px 100%`,n?.cancel(),n=t.animate([{backgroundPosition:`0px center`},{backgroundPosition:`${o}px center`}],{duration:Le,easing:`linear`,iterations:1/0}),n.startTime=0};r();let o=typeof ResizeObserver>`u`?void 0:new ResizeObserver(r);return o?.observe(t),()=>{o?.disconnect(),n?.cancel()}},[e,a]);let c=Math.min(e.length*B,V);return(0,w.jsx)(`span`,{ref:i,className:n,style:{position:`relative`,display:`inline-block`,backgroundImage:s,backgroundRepeat:`repeat-x`,backgroundSize:`100% 100%`,backgroundColor:`var(--gs-base)`,WebkitBackgroundClip:`text`,backgroundClip:`text`,WebkitTextFillColor:`transparent`,"--gs-base":Ie,"--gs-spread":`${c}px`,"--gs-spread-mid":`${c*H}px`},"data-testid":r,children:e})}var Ve=400;function He(e,t,n){let[r,i]=(0,C.useState)(e),a=(0,C.useRef)(null),o=(0,C.useRef)(null),s=(0,C.useRef)(null);return(0,C.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 Ue({currentStepTitle:e,currentStepInfo:t,bypassDwell:n=!1,animationKey:r,shimmer:a=!1,inline:o=!1}){let s=x(),c=He((0,C.useMemo)(()=>({title:e,info:t}),[e,t]),Ve,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()!==``,v=g?`block min-w-0`:`block min-w-0 flex-1`;return(0,w.jsx)(ie,{initial:!1,mode:`popLayout`,children:(0,w.jsxs)(re.span,{initial:u,animate:d,exit:f,transition:l,className:`flex min-w-0 flex-1 items-center gap-1`,children:[_?o?(0,w.jsx)(`span`,{className:`${v} truncate text-left text-[13px] font-medium leading-[16px] text-[var(--content-secondary)]`,children:a?(0,w.jsx)(W,{children:c.title}):c.title}):(0,w.jsx)(i,{variant:`body-medium-default`,className:`ml-1 ${v} truncate text-left text-[var(--content-emphasised)]`,children:a?(0,w.jsx)(W,{children:c.title}):c.title}):null,g?(0,w.jsxs)(w.Fragment,{children:[_?(0,w.jsx)(`span`,{"aria-hidden":`true`,className:`ml-1 h-3.5 w-px shrink-0 bg-[var(--border-element)]`}):null,p?o&&!_?(0,w.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,w.jsx)(W,{children:c.info}):c.info}):(0,w.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,w.jsx)(W,{children:c.info}):c.info}):(0,w.jsx)(`span`,{className:`ml-1 block min-w-0 flex-1`,children:c.info})]}):null]},h)})}var G={code:m,terminal:u,file:h,globe:g,pen:s,monitor:_,plug:v,sparkle:ee,"user-plus":te,bolt:o,brain:d};function We(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 Ge(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 Ke(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 qe(e){return new Date(e).toLocaleTimeString([],{hour:`numeric`,minute:`2-digit`,second:`2-digit`})}function Je({durationLabel:e,startedAt:t}){let r=(0,w.jsx)(i,{variant:`label-medium-default`,className:`text-[var(--content-tertiary)]`,children:e});return t==null?r:(0,w.jsx)(n,{content:`Started at ${qe(t)}`,side:`top`,align:`end`,children:(0,w.jsx)(`span`,{className:`cursor-default`,children:r})})}function K(e){let t=0,n=!1;for(let r of e)r&&(n=!0,t+=Ge(r));return n?O(t):``}function q(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 J(e){let t=[];for(let n of e){let e=We(n),r=t[t.length-1];r&&r.label===e?r.steps.push(n):t.push({label:e,steps:[n]})}return t}function Ye({steps:e,renderStep:t,timeline:n=!1}){if(e.length===0)return null;let r=J(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=et(e,n+r);return(0,w.jsx)(C.Fragment,{children:t?t(e):(0,w.jsx)(nt,{step:e})},i)});return n?(0,w.jsx)(`div`,{className:`flex w-full flex-col`,children:r.map((e,t)=>(0,w.jsx)(Xe,{section:e,baseIndex:i[t],isLast:t===r.length-1,renderSectionSteps:o},`${e.label}-${t}`))}):(0,w.jsx)(`div`,{className:`flex w-full flex-col gap-3`,children:r.map((e,t)=>{let n=K(e.steps.map(e=>`durationLabel`in e?e.durationLabel:``)),r=q(e.steps),a=i[t];return(0,w.jsxs)(`div`,{"data-testid":`phase-section`,"data-phase-label":e.label,className:`flex flex-col gap-1`,children:[(0,w.jsx)(tt,{label:e.label,durationLabel:n,status:r}),(0,w.jsx)(`div`,{className:`flex min-w-0 flex-col items-start gap-1 pl-[24px]`,children:o(e,a)})]},`${e.label}-${t}`)})})}function Xe({section:e,baseIndex:t,isLast:n,renderSectionSteps:r}){let a=K(e.steps.map(e=>`durationLabel`in e?e.durationLabel:``)),o=q(e.steps),s=e.steps[0]?.kind===`thinking`;return(0,w.jsxs)(`div`,{"data-testid":`phase-section`,"data-phase-label":e.label,className:`relative flex flex-col gap-2`,children:[!n&&(0,w.jsx)(Ze,{}),(0,w.jsxs)(`div`,{"data-testid":`phase-header`,className:`flex items-center justify-between gap-2 py-[2px]`,children:[(0,w.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,w.jsx)(Qe,{status:o,isThinking:s}),(0,w.jsx)(i,{variant:`body-medium-default`,className:`text-[var(--content-default)]`,children:e.label})]}),a?(0,w.jsx)(Je,{durationLabel:a,startedAt:Ke(e.steps)}):null]}),(0,w.jsx)(`div`,{className:b(`flex min-w-0 flex-col items-start gap-1 pl-[22px]`,!n&&`pb-3`),children:r(e,t)})]})}function Ze({className:e}){return(0,w.jsx)(`div`,{"aria-hidden":!0,className:b(`absolute bottom-0 left-[6.5px] top-6 w-px bg-[var(--border-subtle)]`,e)})}function Qe({status:e,isThinking:t}){return t?(0,w.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,w.jsx)($e,{status:e,testId:`phase-header-status-icon`})}function $e({status:e,testId:t}){return e===`completed`?(0,w.jsx)(p,{"aria-hidden":`true`,"data-testid":t,"data-status":`completed`,className:`h-[14px] w-[14px] shrink-0 text-[var(--system-positive-strong)]`}):(0,w.jsx)(S,{"data-testid":t,className:`shrink-0`})}function et(e,t){return e.kind===`tool`&&e.toolCallId?e.toolCallId:`${e.kind}-${t}`}function tt({label:e,durationLabel:t,status:n}){return(0,w.jsxs)(`div`,{"data-testid":`phase-header`,className:`flex items-center justify-between py-[2px]`,children:[(0,w.jsxs)(`div`,{className:`flex items-center gap-1`,children:[n===`completed`?(0,w.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,w.jsx)(S,{"data-testid":`phase-header-status-icon`,className:`shrink-0`}),(0,w.jsx)(i,{variant:`body-medium-default`,className:`text-[var(--content-default)]`,children:e})]}),t?(0,w.jsx)(i,{variant:`label-medium-default`,className:`text-[var(--content-tertiary)]`,children:t}):null]})}function Y(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 nt({step:e}){if(e.kind===`thinking`)return(0,w.jsx)(Z,{children:(0,w.jsx)(X,{children:T(e.text)})});if(e.kind===`tool`){let t=G[e.iconName]??o;return Y(e)?(0,w.jsxs)(Z,{children:[(0,w.jsx)(t,{"aria-hidden":`true`,className:`h-3.5 w-3.5 shrink-0 text-[var(--content-secondary)]`}),(0,w.jsx)(X,{children:e.info})]}):null}return e.kind===`tool_error`?(0,w.jsx)(Z,{children:(0,w.jsx)(X,{children:e.message})}):e.kind===`web_search_error`?(0,w.jsx)(Z,{children:(0,w.jsx)(X,{children:e.errorMessage})}):(0,w.jsx)(Z,{children:(0,w.jsx)(X,{children:e.title})})}function X({children:e}){return(0,w.jsx)(i,{variant:`body-small-default`,className:`min-w-0 truncate text-inherit`,children:e})}function Z({children:e}){return(0,w.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`,rt=`transition-colors cursor-pointer focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--border-focus)]`,it=`bg-[var(--surface-overlay)] text-[var(--content-default)]`;function at({faviconUrl:e,domain:t,label:n}){let[r,i]=(0,C.useState)(!1),a=!!e&&!r,o=(t&&t.length>0?t:n).charAt(0).toUpperCase();return(0,w.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,w.jsx)(`img`,{src:e,alt:``,loading:`lazy`,referrerPolicy:`no-referrer`,className:`h-full w-full object-contain`,onError:()=>i(!0)}):(0,w.jsx)(`span`,{className:`text-[10px] font-medium leading-none text-[var(--content-tertiary)]`,children:o})})}function ot({label:e,url:t,faviconUrl:n,domain:r,ariaLabel:a}){return(0,w.jsxs)(`a`,{href:t,target:`_blank`,rel:`noopener noreferrer`,"data-testid":`tool-step-pill`,"data-variant":`web`,"aria-label":a??`Open ${e}`,className:`${Q} ${rt} max-w-[240px] no-underline hover:bg-[var(--surface-active)] ${it}`,children:[(0,w.jsx)(at,{faviconUrl:n,domain:r,label:e}),(0,w.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,w.jsx)(ot,{...e});let{iconName:t,label:n,onClick:r,active:a=!1,ariaLabel:s}=e,c=a?`bg-[var(--surface-active)] text-[var(--content-default)]`:it,l=(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(G[t]??o,{"aria-hidden":`true`,className:`h-3.5 w-3.5 shrink-0 text-[var(--content-tertiary)]`}),(0,w.jsx)(i,{variant:`body-small-default`,className:`min-w-0 truncate text-inherit leading-normal`,children:n})]});return r?(0,w.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} ${rt} max-w-full hover:bg-[var(--surface-active)] ${c}`,children:l}):(0,w.jsx)(`span`,{"data-testid":`tool-step-pill`,className:`${Q} max-w-full ${c}`,children:l})}function st(e){let t=(e.domain&&e.domain.length>0?e.domain:e.title).charAt(0);return t?t.toUpperCase():``}function ct({item:e}){let[t,n]=(0,C.useState)(!1),r=!!e.faviconUrl&&!t;return(0,w.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,w.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,w.jsx)(`img`,{src:e.faviconUrl,alt:``,loading:`lazy`,referrerPolicy:`no-referrer`,className:`h-full w-full object-contain`,onError:()=>n(!0)}):(0,w.jsx)(`span`,{className:`text-[10px] font-medium leading-none text-[var(--content-default)]`,children:st(e)})}),(0,w.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[(0,w.jsx)(i,{variant:`body-small-default`,className:`truncate text-[var(--content-default)]`,children:e.title}),(0,w.jsx)(i,{variant:`body-small-default`,className:`truncate text-[var(--content-secondary)]`,children:e.domain})]})]})}function lt({results:e}){return(0,w.jsxs)(a.Root,{children:[(0,w.jsx)(a.Trigger,{asChild:!0,children:(0,w.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,w.jsxs)(i,{variant:`body-small-default`,className:`text-[var(--content-default)]`,children:[`+`,e.length,` more`]})})}),(0,w.jsx)(a.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,w.jsx)(ct,{item:e},e.rank))})]})}function ut({message:e}){return(0,w.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,w.jsx)(i,{variant:`body-small-default`,className:`text-[var(--content-default)]`,children:e})})}function dt({step:e}){let t=e.overflowResults??[];return(0,w.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1`,children:[(e.results??[]).map(e=>(0,w.jsx)($,{variant:`web`,url:e.url,faviconUrl:e.faviconUrl,domain:e.domain,label:e.title},e.rank)),t.length>0?(0,w.jsx)(lt,{results:t}):null]})}function ft({step:e}){return(0,w.jsx)(ut,{message:e.errorMessage})}function pt({faviconUrl:e,domain:t,title:n,className:r}){let[i,a]=(0,C.useState)(!1);(0,C.useEffect)(()=>{a(!1)},[e]);let o=!!e&&!i,s=(t&&t.length>0?t:n).charAt(0).toUpperCase();return(0,w.jsx)(`span`,{"aria-hidden":`true`,"data-testid":`site-favicon`,className:b(`inline-flex h-3.5 w-3.5 shrink-0 items-center justify-center overflow-hidden rounded-[var(--radius-sm)]`,r),children:o?(0,w.jsx)(`img`,{src:e,alt:``,loading:`lazy`,referrerPolicy:`no-referrer`,className:`h-full w-full object-contain`,onError:()=>a(!0)}):(0,w.jsx)(`span`,{className:`text-[10px] font-medium leading-none text-[var(--content-tertiary)]`,children:s})})}export{D as C,E as S,fe as _,nt as a,xe as b,Ze as c,q as d,et as f,W as g,Ue as h,$ as i,Qe as l,K as m,ft as n,G as o,Y as p,dt as r,Ye as s,pt as t,J as u,je as v,T as w,Ce as x,O as y};
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{n}from"./button-DSjqKLvM.js";import{t as r}from"./jsx-runtime-D3ZM-ToX.js";import{t as i}from"./typography-BeUa5Fd-.js";import{Y as a}from"./src-njXJqrpo.js";import{E as o,T as s,o as c,s as l,w as u}from"./message-content-BrFs5fmC.js";import{t as d}from"./brain-BkpxPjmn.js";import{t as f}from"./check-CNBoUiyR.js";import{t as p}from"./circle-check-BG2g8udA.js";import{t as m}from"./code-CvwdlCR7.js";import{t as h}from"./file-text-Ha6XXdS_.js";import{t as g}from"./globe-BQ4oUIDW.js";import{t as _}from"./monitor-4IGIx6Wb.js";import{t as v}from"./plug-CQDevvb-.js";import{t as ee}from"./sparkles-DB7sSiA2.js";import{t as te}from"./user-plus-Vg2Aibhi.js";import{D as y,O as ne}from"./chat-BfpNzA77.js";import{t as b}from"./misc-wmny7PlA.js";import{t as re}from"./proxy-Do-Khsj0.js";import{t as ie}from"./AnimatePresence-wQN1d2rQ.js";import{t as x}from"./use-reduced-motion-D2PbFfB8.js";import{t as S}from"./three-dot-indicator-BhUevb3V.js";var C=e(t(),1),w=r();function T(e){let t=e.trimStart();if(!t.startsWith(`**`))return e;let n=t.indexOf(`**`,2);if(n===-1)return t.slice(2).trimStart();let r=t.slice(2,n).trim();return r.length>0?r:e}var ae=/^https?:\/\/\S+/,oe=/^URL:\s*(https?:\/\/\S+)/i,se=/^\[\d+\]\s*(https?:\/\/\S+)/;function E(e){try{return new URL(e).hostname.replace(/^www\./,``)}catch{return``}}function ce(e){let t=e.trim();return oe.exec(t)?.[1]??se.exec(t)?.[1]??t}function le(e){return e.trim().replace(/^\d+\.\s+/,``)}function ue(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=ce(t);if(ae.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=le(t))}return n}function D(e){return!e||!e.trim()?[]:ue(e).map((e,t)=>{let n=E(e.url);return{rank:t+1,title:e.title,url:e.url,domain:n}})}var de=5,fe=new Set([`web_search`,`web_fetch`]);function O(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 k(e){return fe.has(e.name)}function A(e){return e?`Searched the web`:`Searching the web`}function j(e){return{visible:e.slice(0,de),overflowResults:e.slice(de)}}function pe(e,t){let{visible:n,overflowResults:r}=j(e.results);return{kind:`web_search`,title:A(t),durationLabel:O(e.durationMs),linkCount:e.resultCount,results:n,overflowResults:r}}function me(e){let t=e.title??e.domain;return{kind:`thinking`,durationLabel:O(e.durationMs),text:`Reading ${t}`}}function he(){return{kind:`web_search`,title:`Searching the web`,durationLabel:``,linkCount:0,results:[]}}function ge(){return{kind:`thinking`,durationLabel:``,text:`Reading…`}}function _e(e){let t=D(e);if(t.length===0)return null;let{visible:n,overflowResults:r}=j(t);return{kind:`web_search`,title:A(!0),durationLabel:``,linkCount:t.length,results:n,overflowResults:r}}function ve(e){return{kind:`web_search_error`,title:`Web search failed`,durationLabel:O(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 M(){return{kind:`web_search`,title:A(!0),durationLabel:``,linkCount:0,results:[]}}function N(e,t){return t[e.id]??e.activityMetadata}function P(e){return!y(e)}function F(e,t){return e.results.length>0?!1:!!e.errorMessage||!!t.isError}function I(e){return e.confirmationDecision===`denied`||e.confirmationDecision===`timed_out`?`denied`:e.isError?`error`:y(e)?`running`:`completed`}function L(e,t){return e==null||t==null?null:Math.max(0,t-e)}function R(e,t){let n=L(e,t);return n==null?``:O(n)}function z(e){return R(e.startedAt??void 0,e.completedAt??void 0)}function ye(e){return!c(e)&&y(e)}function be(e,t){if(e.kind===`thinking`)return e.text?e.completedAt==null?e.startedAt!=null&&t!=null?Math.max(0,t-e.startedAt):null:L(e.startedAt,e.completedAt):null;let n=e.toolCall;if(c(n))return null;let r=ne(n);return n.completedAt==null?y(n)&&r!=null&&t!=null?Math.max(0,t-r):null:L(r,n.completedAt)}function xe(e){return e.some(e=>e.kind===`thinking`?!!e.text&&e.startedAt!=null&&e.completedAt==null:ye(e.toolCall))}function Se(e,t){let n=0,r=!1;for(let i of e){let e=be(i,t);e!=null&&(r=!0,n+=e)}return r?O(n):``}function Ce(e){let{title:t,activity:n}=l(e);return{toolCallId:e.id,toolName:e.name,title:t,activity:n,input:e.input??{},result:e.result,streamedOutput:e.streamedOutput,status:I(e),riskLevel:e.riskLevel,riskReason:e.riskReason,durationLabel:z(e)}}function we(e){let{title:t,info:n,activity:r,iconName:i}=l(e);return{kind:`tool`,durationLabel:z(e),startedAt:e.startedAt??void 0,title:t,info:n,activity:r,riskLevel:e.riskLevel,iconName:i,toolCallId:e.id,status:I(e)}}function Te(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n];if(k(r)){let e=N(r,t),n=P(r);if(e?.webSearch&&F(e.webSearch,r))return`Web search failed`;if(r.name===`web_search`)return A(n);if(r.name===`web_fetch`)return`Thinking`}else return l(r).title}return``}function Ee(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n];if(!k(r)){let{info:e,activity:t}=l(r);return t||e}let i=N(r,t),a=P(r);if(i?.webSearch){let e=i.webSearch;if(F(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=D(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?E(e):``;if(t)return a?t:`Reading ${t}`}}return``}function De(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n];if(r.name!==`web_search`)continue;let i=N(r,t)?.webSearch?.results;if(i&&i.length>0)return i}return[]}function Oe(e){return e.includes(`denied`)?`denied`:e.includes(`loading`)?`loading`:e.includes(`error`)?`error`:`complete`}function ke(e){return Oe(e.map(e=>e.confirmationDecision===`denied`||e.confirmationDecision===`timed_out`?`denied`:y(e)?`loading`:e.isError?`error`:`complete`))}function Ae(e,t){if(c(e))return null;if(!k(e))return we(e);let n=N(e,t),r=P(e);if(n?.webSearch){let t=n.webSearch;return F(t,e)?ve(t):pe(t,r)}return n?.webFetch?me(n.webFetch):r?e.name===`web_search`&&typeof e.result==`string`?_e(e.result)??M():M():e.name===`web_search`?he():ge()}function je(e,t,n){let r=e.filter(e=>e.kind===`toolCall`).map(e=>e.toolCall).filter(e=>!c(e)),i=[],a=null,o=0;for(let n of e){if(n.kind===`thinking`){n.text&&(i.push({kind:`thinking`,durationLabel:R(n.startedAt,n.completedAt),text:n.text,startedAt:n.startedAt,completedAt:n.completedAt,thinkingItemIndex:o++}),a=n.text);continue}let e=Ae(n.toolCall,t);e&&(i.push(e),a=null)}let s=ke(r),l,u,d;a===null?(l=Te(r,t),u=Ee(r,t),d=`tool`):(l=`Thinking`,u=T(a),d=`thinking`);let f=De(r,t),p=`${i.length} step${i.length===1?``:`s`}`,m=Se(e,n);return{currentStepTitle:l,currentStepInfo:u,currentStepKind:d,stepCount:p,totalDurationLabel:m,steps:i,state:s,carouselItems:f}}var Me=.44;function Ne(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*Me;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(`, `)}function Pe(e){let t=`color-mix(in srgb, ${e} 40%, white)`;return[{position:0,color:t},{position:.5,color:e},{position:1,color:t}]}var Fe=`var(--avatar-accent, var(--content-emphasised))`,Ie=`color-mix(in srgb, currentColor 45%, transparent)`,Le=1500,Re=106,B=6,V=48,H=.72,U=14,ze=96;function Be(){return typeof CSS>`u`||typeof CSS.supports!=`function`?!1:CSS.supports(`background-clip`,`text`)||CSS.supports(`-webkit-background-clip`,`text`)}function W({children:e,colorHex:t,className:n,"data-testid":r}){let i=(0,C.useRef)(null),a=x(),o=t??Fe,s=(0,C.useMemo)(()=>Ne(Pe(o),Re),[o]);(0,C.useLayoutEffect)(()=>{let t=i.current;if(!t)return;if(!Be()){t.style.removeProperty(`background-image`),t.style.removeProperty(`background-color`),t.style.removeProperty(`-webkit-text-fill-color`);return}if(a||typeof t.animate!=`function`)return;let n=null,r=()=>{let r=t.getBoundingClientRect().width||ze,i=(Number.parseFloat(getComputedStyle(t).fontSize)||U)/U,a=Math.min(e.length*B*i,V*i),o=Math.max(1,r+a*2);t.style.setProperty(`--gs-spread`,`${a}px`),t.style.setProperty(`--gs-spread-mid`,`${a*H}px`),t.style.backgroundSize=`${o}px 100%`,n?.cancel(),n=t.animate([{backgroundPosition:`0px center`},{backgroundPosition:`${o}px center`}],{duration:Le,easing:`linear`,iterations:1/0}),n.startTime=0};r();let o=typeof ResizeObserver>`u`?void 0:new ResizeObserver(r);return o?.observe(t),()=>{o?.disconnect(),n?.cancel()}},[e,a]);let c=Math.min(e.length*B,V);return(0,w.jsx)(`span`,{ref:i,className:n,style:{position:`relative`,display:`inline-block`,backgroundImage:s,backgroundRepeat:`repeat-x`,backgroundSize:`100% 100%`,backgroundColor:`var(--gs-base)`,WebkitBackgroundClip:`text`,backgroundClip:`text`,WebkitTextFillColor:`transparent`,"--gs-base":Ie,"--gs-spread":`${c}px`,"--gs-spread-mid":`${c*H}px`},"data-testid":r,children:e})}var Ve=400;function He(e,t,n){let[r,i]=(0,C.useState)(e),a=(0,C.useRef)(null),o=(0,C.useRef)(null),s=(0,C.useRef)(null);return(0,C.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 Ue({currentStepTitle:e,currentStepInfo:t,bypassDwell:n=!1,animationKey:r,shimmer:a=!1,inline:o=!1}){let s=x(),c=He((0,C.useMemo)(()=>({title:e,info:t}),[e,t]),Ve,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()!==``,v=g?`block min-w-0`:`block min-w-0 flex-1`;return(0,w.jsx)(ie,{initial:!1,mode:`popLayout`,children:(0,w.jsxs)(re.span,{initial:u,animate:d,exit:f,transition:l,className:`flex min-w-0 flex-1 items-center gap-1`,children:[_?o?(0,w.jsx)(`span`,{className:`${v} truncate text-left text-[13px] font-medium leading-[16px] text-[var(--content-secondary)]`,children:a?(0,w.jsx)(W,{children:c.title}):c.title}):(0,w.jsx)(i,{variant:`body-medium-default`,className:`ml-1 ${v} truncate text-left text-[var(--content-emphasised)]`,children:a?(0,w.jsx)(W,{children:c.title}):c.title}):null,g?(0,w.jsxs)(w.Fragment,{children:[_?(0,w.jsx)(`span`,{"aria-hidden":`true`,className:`ml-1 h-3.5 w-px shrink-0 bg-[var(--border-element)]`}):null,p?o&&!_?(0,w.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,w.jsx)(W,{children:c.info}):c.info}):(0,w.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,w.jsx)(W,{children:c.info}):c.info}):(0,w.jsx)(`span`,{className:`ml-1 block min-w-0 flex-1`,children:c.info})]}):null]},h)})}var G={code:m,terminal:u,file:h,globe:g,pen:s,monitor:_,plug:v,sparkle:ee,"user-plus":te,bolt:o,brain:d};function We(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 Ge(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 Ke(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 qe(e){return new Date(e).toLocaleTimeString([],{hour:`numeric`,minute:`2-digit`,second:`2-digit`})}function Je({durationLabel:e,startedAt:t}){let r=(0,w.jsx)(i,{variant:`label-medium-default`,className:`text-[var(--content-tertiary)]`,children:e});return t==null?r:(0,w.jsx)(n,{content:`Started at ${qe(t)}`,side:`top`,align:`end`,children:(0,w.jsx)(`span`,{className:`cursor-default`,children:r})})}function K(e){let t=0,n=!1;for(let r of e)r&&(n=!0,t+=Ge(r));return n?O(t):``}function q(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 J(e){let t=[];for(let n of e){let e=We(n),r=t[t.length-1];r&&r.label===e?r.steps.push(n):t.push({label:e,steps:[n]})}return t}function Ye({steps:e,renderStep:t,timeline:n=!1}){if(e.length===0)return null;let r=J(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=et(e,n+r);return(0,w.jsx)(C.Fragment,{children:t?t(e):(0,w.jsx)(nt,{step:e})},i)});return n?(0,w.jsx)(`div`,{className:`flex w-full flex-col`,children:r.map((e,t)=>(0,w.jsx)(Xe,{section:e,baseIndex:i[t],isLast:t===r.length-1,renderSectionSteps:o},`${e.label}-${t}`))}):(0,w.jsx)(`div`,{className:`flex w-full flex-col gap-3`,children:r.map((e,t)=>{let n=K(e.steps.map(e=>`durationLabel`in e?e.durationLabel:``)),r=q(e.steps),a=i[t];return(0,w.jsxs)(`div`,{"data-testid":`phase-section`,"data-phase-label":e.label,className:`flex flex-col gap-1`,children:[(0,w.jsx)(tt,{label:e.label,durationLabel:n,status:r}),(0,w.jsx)(`div`,{className:`flex min-w-0 flex-col items-start gap-1 pl-[24px]`,children:o(e,a)})]},`${e.label}-${t}`)})})}function Xe({section:e,baseIndex:t,isLast:n,renderSectionSteps:r}){let a=K(e.steps.map(e=>`durationLabel`in e?e.durationLabel:``)),o=q(e.steps),s=e.steps[0]?.kind===`thinking`;return(0,w.jsxs)(`div`,{"data-testid":`phase-section`,"data-phase-label":e.label,className:`relative flex flex-col gap-2`,children:[!n&&(0,w.jsx)(Ze,{}),(0,w.jsxs)(`div`,{"data-testid":`phase-header`,className:`flex items-center justify-between gap-2 py-[2px]`,children:[(0,w.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,w.jsx)(Qe,{status:o,isThinking:s}),(0,w.jsx)(i,{variant:`body-medium-default`,className:`text-[var(--content-default)]`,children:e.label})]}),a?(0,w.jsx)(Je,{durationLabel:a,startedAt:Ke(e.steps)}):null]}),(0,w.jsx)(`div`,{className:b(`flex min-w-0 flex-col items-start gap-1 pl-[22px]`,!n&&`pb-3`),children:r(e,t)})]})}function Ze({className:e}){return(0,w.jsx)(`div`,{"aria-hidden":!0,className:b(`absolute bottom-0 left-[6.5px] top-6 w-px bg-[var(--border-subtle)]`,e)})}function Qe({status:e,isThinking:t}){return t?(0,w.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,w.jsx)($e,{status:e,testId:`phase-header-status-icon`})}function $e({status:e,testId:t}){return e===`completed`?(0,w.jsx)(p,{"aria-hidden":`true`,"data-testid":t,"data-status":`completed`,className:`h-[14px] w-[14px] shrink-0 text-[var(--system-positive-strong)]`}):(0,w.jsx)(S,{"data-testid":t,className:`shrink-0`,dotSize:3,gap:2})}function et(e,t){return e.kind===`tool`&&e.toolCallId?e.toolCallId:`${e.kind}-${t}`}function tt({label:e,durationLabel:t,status:n}){return(0,w.jsxs)(`div`,{"data-testid":`phase-header`,className:`flex items-center justify-between py-[2px]`,children:[(0,w.jsxs)(`div`,{className:`flex items-center gap-1`,children:[n===`completed`?(0,w.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,w.jsx)(S,{"data-testid":`phase-header-status-icon`,className:`shrink-0`}),(0,w.jsx)(i,{variant:`body-medium-default`,className:`text-[var(--content-default)]`,children:e})]}),t?(0,w.jsx)(i,{variant:`label-medium-default`,className:`text-[var(--content-tertiary)]`,children:t}):null]})}function Y(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 nt({step:e}){if(e.kind===`thinking`)return(0,w.jsx)(Z,{children:(0,w.jsx)(X,{children:T(e.text)})});if(e.kind===`tool`){let t=G[e.iconName]??o;return Y(e)?(0,w.jsxs)(Z,{children:[(0,w.jsx)(t,{"aria-hidden":`true`,className:`h-3.5 w-3.5 shrink-0 text-[var(--content-secondary)]`}),(0,w.jsx)(X,{children:e.info})]}):null}return e.kind===`tool_error`?(0,w.jsx)(Z,{children:(0,w.jsx)(X,{children:e.message})}):e.kind===`web_search_error`?(0,w.jsx)(Z,{children:(0,w.jsx)(X,{children:e.errorMessage})}):(0,w.jsx)(Z,{children:(0,w.jsx)(X,{children:e.title})})}function X({children:e}){return(0,w.jsx)(i,{variant:`body-small-default`,className:`min-w-0 truncate text-inherit`,children:e})}function Z({children:e}){return(0,w.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`,rt=`transition-colors cursor-pointer focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--border-focus)]`,it=`bg-[var(--surface-overlay)] text-[var(--content-default)]`;function at({faviconUrl:e,domain:t,label:n}){let[r,i]=(0,C.useState)(!1),a=!!e&&!r,o=(t&&t.length>0?t:n).charAt(0).toUpperCase();return(0,w.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,w.jsx)(`img`,{src:e,alt:``,loading:`lazy`,referrerPolicy:`no-referrer`,className:`h-full w-full object-contain`,onError:()=>i(!0)}):(0,w.jsx)(`span`,{className:`text-[10px] font-medium leading-none text-[var(--content-tertiary)]`,children:o})})}function ot({label:e,url:t,faviconUrl:n,domain:r,ariaLabel:a}){return(0,w.jsxs)(`a`,{href:t,target:`_blank`,rel:`noopener noreferrer`,"data-testid":`tool-step-pill`,"data-variant":`web`,"aria-label":a??`Open ${e}`,className:`${Q} ${rt} max-w-[240px] no-underline hover:bg-[var(--surface-active)] ${it}`,children:[(0,w.jsx)(at,{faviconUrl:n,domain:r,label:e}),(0,w.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,w.jsx)(ot,{...e});let{iconName:t,label:n,onClick:r,active:a=!1,ariaLabel:s}=e,c=a?`bg-[var(--surface-active)] text-[var(--content-default)]`:it,l=(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(G[t]??o,{"aria-hidden":`true`,className:`h-3.5 w-3.5 shrink-0 text-[var(--content-tertiary)]`}),(0,w.jsx)(i,{variant:`body-small-default`,className:`min-w-0 truncate text-inherit leading-normal`,children:n})]});return r?(0,w.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} ${rt} max-w-full hover:bg-[var(--surface-active)] ${c}`,children:l}):(0,w.jsx)(`span`,{"data-testid":`tool-step-pill`,className:`${Q} max-w-full ${c}`,children:l})}function st(e){let t=(e.domain&&e.domain.length>0?e.domain:e.title).charAt(0);return t?t.toUpperCase():``}function ct({item:e}){let[t,n]=(0,C.useState)(!1),r=!!e.faviconUrl&&!t;return(0,w.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,w.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,w.jsx)(`img`,{src:e.faviconUrl,alt:``,loading:`lazy`,referrerPolicy:`no-referrer`,className:`h-full w-full object-contain`,onError:()=>n(!0)}):(0,w.jsx)(`span`,{className:`text-[10px] font-medium leading-none text-[var(--content-default)]`,children:st(e)})}),(0,w.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[(0,w.jsx)(i,{variant:`body-small-default`,className:`truncate text-[var(--content-default)]`,children:e.title}),(0,w.jsx)(i,{variant:`body-small-default`,className:`truncate text-[var(--content-secondary)]`,children:e.domain})]})]})}function lt({results:e}){return(0,w.jsxs)(a.Root,{children:[(0,w.jsx)(a.Trigger,{asChild:!0,children:(0,w.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,w.jsxs)(i,{variant:`body-small-default`,className:`text-[var(--content-default)]`,children:[`+`,e.length,` more`]})})}),(0,w.jsx)(a.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,w.jsx)(ct,{item:e},e.rank))})]})}function ut({message:e}){return(0,w.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,w.jsx)(i,{variant:`body-small-default`,className:`text-[var(--content-default)]`,children:e})})}function dt({step:e}){let t=e.overflowResults??[];return(0,w.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1`,children:[(e.results??[]).map(e=>(0,w.jsx)($,{variant:`web`,url:e.url,faviconUrl:e.faviconUrl,domain:e.domain,label:e.title},e.rank)),t.length>0?(0,w.jsx)(lt,{results:t}):null]})}function ft({step:e}){return(0,w.jsx)(ut,{message:e.errorMessage})}function pt({faviconUrl:e,domain:t,title:n,className:r}){let[i,a]=(0,C.useState)(!1);(0,C.useEffect)(()=>{a(!1)},[e]);let o=!!e&&!i,s=(t&&t.length>0?t:n).charAt(0).toUpperCase();return(0,w.jsx)(`span`,{"aria-hidden":`true`,"data-testid":`site-favicon`,className:b(`inline-flex h-3.5 w-3.5 shrink-0 items-center justify-center overflow-hidden rounded-[var(--radius-sm)]`,r),children:o?(0,w.jsx)(`img`,{src:e,alt:``,loading:`lazy`,referrerPolicy:`no-referrer`,className:`h-full w-full object-contain`,onError:()=>a(!0)}):(0,w.jsx)(`span`,{className:`text-[10px] font-medium leading-none text-[var(--content-tertiary)]`,children:s})})}export{D as C,E as S,fe as _,nt as a,xe as b,Ze as c,q as d,et as f,W as g,Ue as h,$ as i,Qe as l,K as m,ft as n,G as o,Y as p,dt as r,Ye as s,pt as t,J as u,je as v,T as w,Ce as x,O as y};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-Cdvvw9J5.js";import{t as n}from"./react-BFJW0bSv.js";import{W as r,t as i}from"./button-DSjqKLvM.js";import{d as a,n as o,p as s,u as c}from"./chunk-5KNZJZUH-BUqIilZr.js";import{n as l}from"./QueryClientProvider-CMu7CkQU.js";import{t as u}from"./useQuery-Bz-fbQ-m.js";import{t as d}from"./jsx-runtime-D3ZM-ToX.js";import{t as f}from"./card-q0GJX1HZ.js";import{G as p,
|
|
2
|
-
`)){if(c.startsWith(`diff --git `)){r={path:Y(_e.exec(c)?.[1]??(c.split(` `).slice(3).join(` `)||``),t),rows:[],added:0,removed:0},n.push(r),i=0,a=0,o=!1,s=!1;continue}if(!r)continue;let e=ge.exec(c);if(e){i=Number(e[1]),a=Number(e[2]),o=!0,r.rows.length>0&&r.rows.push({type:`meta`,text:c});continue}if(!c.startsWith(`\\ No newline`)){if(!o&&(c.startsWith(`+++ `)||c.startsWith(`--- `))){let e=ve(c);e!==null&&(c.startsWith(`+++ `)||!s)&&(r.path=Y(e,t),s=c.startsWith(`+++ `));continue}!o&&(c.startsWith(`index `)||c.startsWith(`new file mode `)||c.startsWith(`deleted file mode `)||c.startsWith(`similarity index `)||c.startsWith(`rename `)||c.startsWith(`old mode `)||c.startsWith(`new mode `)||c.startsWith(`Binary files `))||(c.startsWith(`+`)?(r.rows.push({type:`add`,text:c.slice(1),newNo:a}),r.added+=1,a+=1):c.startsWith(`-`)?(r.rows.push({type:`del`,text:c.slice(1),oldNo:i}),r.removed+=1,i+=1):c.startsWith(` `)&&(r.rows.push({type:`ctx`,text:c.slice(1),oldNo:i,newNo:a}),i+=1,a+=1))}}return{files:n,added:n.reduce((e,t)=>e+t.added,0),removed:n.reduce((e,t)=>e+t.removed,0)}}async function be(e,t,n){let{data:r,error:i,response:a}=await R({path:{assistant_id:e,id:t},throwOnError:!1,signal:n});if(!a||!a.ok){if(a?.status===404)return null;throw a?L(i,a):i??Error(`Failed to fetch skill history.`)}return r??null}function xe(e){return e.isLoading?!1:e.isError||e.revisionCount>0}function X(e,t){let n=!!(e&&t),r=u({queryKey:ne({path:{assistant_id:e??``,id:t}}),queryFn:({signal:n})=>be(e??``,t,n),enabled:n,refetchOnWindowFocus:!1});return{history:r.data??null,revisions:r.data?.revisions??[],truncatedByCompaction:r.data?.truncatedByCompaction??!1,isLoading:r.isLoading,isError:r.isError}}function Se({assistantId:e,skillId:t}){let{t:n}=I(`intelligence`),{revisions:r,truncatedByCompaction:i,isLoading:a,isError:o}=X(e,t);return a?(0,q.jsx)(J,{}):o?(0,q.jsx)(Z,{children:n(`skillRevisionHistory.loadError`)}):(0,q.jsx)(Ce,{skillId:t,revisions:r,truncatedByCompaction:i})}function Ce({skillId:e,revisions:t,truncatedByCompaction:n}){let{t:r}=I(`intelligence`);return t.length===0?(0,q.jsx)(Z,{children:r(`skillRevisionHistory.noChanges`)}):(0,q.jsxs)(h.Root,{type:`multiple`,className:`flex flex-col gap-2 p-3`,children:[t.map(t=>(0,q.jsx)(we,{revision:t,skillId:e},t.id)),n&&(0,q.jsx)(`p`,{className:`px-1 pt-1 text-body-small-lighter`,style:{color:`var(--content-tertiary)`},children:r(`skillRevisionHistory.truncatedNotice`)})]})}function Z({children:e}){return(0,q.jsx)(`p`,{className:`px-3 py-10 text-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:e})}function we({revision:e,skillId:t}){let{t:n}=I(`intelligence`),r=(0,K.useMemo)(()=>ye(e.diff,t),[e.diff,t]);return(0,q.jsxs)(h.Item,{value:e.id,className:`overflow-hidden rounded-md border`,style:{borderColor:`var(--border-base)`},children:[(0,q.jsxs)(h.Trigger,{className:`group flex w-full items-center gap-3 px-3 py-2.5 text-left transition-colors hover:bg-[var(--surface-hover)]`,children:[(0,q.jsx)(w,{className:`h-4 w-4 shrink-0 transition-transform group-data-[state=open]:rotate-90`,style:{color:`var(--content-tertiary)`},"aria-hidden":!0}),(0,q.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,q.jsx)(`span`,{className:`block truncate text-body-medium-default`,style:{color:`var(--content-default)`},children:se(e.changedAt)}),(0,q.jsx)(`span`,{className:`mt-0.5 block truncate text-body-small-lighter`,style:{color:`var(--content-tertiary)`},children:e.files.join(` · `)})]}),r.added>0&&(0,q.jsxs)(`span`,{className:`shrink-0 text-body-small-default tabular-nums`,style:{color:`var(--system-positive-strong)`},children:[`+`,r.added]}),r.removed>0&&(0,q.jsxs)(`span`,{className:`shrink-0 text-body-small-default tabular-nums`,style:{color:`var(--system-negative-strong)`},children:[`−`,r.removed]})]}),(0,q.jsxs)(h.Content,{className:`border-t`,style:{borderColor:`var(--border-base)`},children:[(0,q.jsx)(`p`,{className:`px-3 py-2 text-body-small-lighter`,style:{color:`var(--content-tertiary)`},children:ce(e.changedAt)}),r.files.length===0?(0,q.jsx)(`p`,{className:`px-3 pb-3 text-body-small-lighter`,style:{color:`var(--content-tertiary)`},children:n(`skillRevisionHistory.noPreviewForChange`)}):r.files.map(e=>(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`p`,{className:`border-t px-3 py-1.5 font-mono text-body-small-default`,style:{borderColor:`var(--border-base)`,backgroundColor:`var(--surface-base)`,color:`var(--content-secondary)`},children:e.path}),(0,q.jsx)(`div`,{className:`py-1`,children:(0,q.jsx)(le,{rows:e.rows})})]},e.path))]})]})}function Te({assistantId:e,skill:t,onBack:n,onInstall:r,onRemove:a,isInstalling:o=!1,isRemoving:s=!1,sourceConversationId:c}){let{t:l}=I(`intelligence`),u=x(t),d=U(t),{fileEntries:m,setSelectedPath:h,activePath:g,activeFile:b,isFilesLoading:S,fileContent:C,isBinary:w,isContentLoading:T}=H(e,t.id),{revisions:E,isLoading:D,isError:O}=X(e,t.id),N=xe({isLoading:D,isError:O,revisionCount:E.length}),[P,F]=(0,K.useState)(`files`),L=N?P:`files`,R=(0,q.jsxs)(`div`,{className:`mb-4 flex items-start gap-3`,children:[(0,q.jsx)(i,{type:`button`,variant:`ghost`,iconOnly:(0,q.jsx)(v,{"aria-hidden":!0}),"aria-label":l(`skillDetail.backToSkillsAriaLabel`),onClick:n}),(0,q.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-3 sm:flex-row sm:items-center`,children:[(0,q.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-3`,children:[(0,q.jsx)(B,{skill:t,className:`h-8 w-8 text-3xl`}),(0,q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-2 gap-y-1`,children:[(0,q.jsx)(`h2`,{className:`text-title-medium`,style:{color:`var(--content-default)`},children:t.name}),(0,q.jsx)(y,{origin:t.origin})]}),(0,q.jsx)(`p`,{className:`mt-0.5 line-clamp-2 text-body-medium-lighter`,style:{color:`var(--content-secondary)`},children:t.description}),(0,q.jsx)(V,{skill:{origin:t.origin,sourceConversationId:c},className:`mt-1`})]})]}),u?o?(0,q.jsx)(`div`,{className:`flex h-9 items-center px-3`,children:(0,q.jsx)(j,{className:`h-4 w-4 animate-spin`,style:{color:`var(--content-tertiary)`}})}):(0,q.jsx)(i,{type:`button`,onClick:r,disabled:!r,leftIcon:(0,q.jsx)(_,{"aria-hidden":!0}),children:l(`skillDetail.install`)}):(0,q.jsx)(i,{type:`button`,variant:d?`dangerOutline`:`outlined`,onClick:a,disabled:!d||s||!a,leftIcon:s?(0,q.jsx)(j,{className:`animate-spin`,"aria-hidden":!0}):(0,q.jsx)(M,{"aria-hidden":!0}),children:l(`skillDetail.remove`)})]})]}),z=(0,q.jsx)(f.Root,{asChild:!0,noPadding:!0,children:(0,q.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-hidden sm:grid`,style:{gridTemplateColumns:`240px 1fr`},children:[(0,q.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:S?(0,q.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,q.jsx)(j,{className:`h-4 w-4 animate-spin`,style:{color:`var(--content-tertiary)`}})}):m.length===0?(0,q.jsx)(`p`,{className:`px-3 py-4 text-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:l(`skillDetail.noFilesAvailable`)}):m.map(e=>{let t=g===e.path,n=(e.mimeType??``).endsWith(`/directory`);return(0,q.jsxs)(`button`,{type:`button`,onClick:()=>h(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,q.jsx)(A,{className:`h-4 w-4 shrink-0`,style:{color:`var(--system-mid-strong)`}}):(0,q.jsx)(k,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),(0,q.jsx)(`span`,{className:`truncate`,children:e.name})]},e.path)})}),(0,q.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:T?(0,q.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,q.jsx)(j,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})}):b?(0,q.jsx)(Ee,{assistantId:e,skillId:t.id,fileName:b.name,filePath:b.path,content:C,isBinary:w,editable:t.kind===`installed`},`${t.id}/${b.path}`):(0,q.jsx)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:l(`skillDetail.selectFilePrompt`)})})]})});return(0,q.jsxs)(`div`,{className:`flex h-[calc(100vh-14rem)] flex-col`,children:[R,(0,q.jsxs)(p.Root,{value:L,onValueChange:F,className:`flex min-h-0 flex-1 flex-col`,children:[N&&(0,q.jsxs)(p.List,{className:`mb-3`,children:[(0,q.jsx)(p.Trigger,{value:`files`,children:l(`skillDetail.filesTab`)}),(0,q.jsx)(p.Trigger,{value:`history`,children:l(`skillDetail.historyTab`)})]}),(0,q.jsx)(p.Panel,{value:`files`,forceMount:!0,className:`min-h-0 flex-1 flex-col`,style:{display:L===`files`?`flex`:`none`},children:z}),N&&(0,q.jsx)(p.Panel,{value:`history`,className:`flex min-h-0 flex-1 flex-col`,children:(0,q.jsx)(f.Root,{asChild:!0,noPadding:!0,children:(0,q.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:(0,q.jsx)(Se,{assistantId:e,skillId:t.id})})})})]})]})}function Ee({assistantId:e,skillId:n,fileName:r,filePath:a,content:o,isBinary:s,editable:c}){let{t:u}=I(`intelligence`),d=l(),[f,p]=(0,K.useState)(!1),[m,h]=(0,K.useState)(``),g=`skills/${n}/${a}`,_=re({onSuccess:()=>{p(!1),h(``),d.invalidateQueries({queryKey:[{_id:`skillsByIdFilesContentGet`}]}),d.invalidateQueries({queryKey:[{_id:`skillsByIdFilesGet`}]}),d.invalidateQueries({queryKey:[{_id:`skillsByIdHistoryGet`}]}),a===`SKILL.md`&&ue(d,e)},onError:e=>{t(e,{context:`skill-file-save`,bestEffort:!0})}}),v=f&&m!==(o??``),y=(0,K.useCallback)(()=>{!v||_.isPending||_.mutate({path:{assistant_id:e},body:{path:g,content:m,encoding:`utf8`}})},[v,_,e,g,m]),b=(0,K.useCallback)(()=>{p(!0),h(o??``),_.reset()},[o,_]),x=(0,K.useCallback)(()=>{p(!1),h(``),_.reset()},[_]);if(s)return(0,q.jsx)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:u(`skillFileContent.binaryFile`)});if(o===null)return(0,q.jsx)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:u(`skillFileContent.noPreviewAvailable`,{fileName:r})});let S=c?(0,q.jsx)(i,{variant:`ghost`,size:`regular`,iconOnly:(0,q.jsx)(D,{"aria-hidden":!0}),onClick:()=>void ie(g),"aria-label":u(`skillDetail.openInWorkspaceAriaLabel`),className:`hover:bg-[var(--surface-base)]`}):void 0;return P(r,void 0)&&!f?(0,q.jsx)(`div`,{className:`relative flex h-full flex-col`,children:(0,q.jsxs)(`div`,{className:`relative flex-1 overflow-auto px-6 py-4`,style:{color:`var(--content-default)`},children:[(0,q.jsx)(G,{content:o,fileName:r,showEdit:c,isEditing:!1,onToggleEdit:b,extraActions:S}),(0,q.jsx)(F,{content:o})]})}):(0,q.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,q.jsxs)(`div`,{className:`relative flex-1 overflow-hidden`,children:[(0,q.jsx)(G,{content:f?m:o,fileName:r,showEdit:c,isEditing:f,onToggleEdit:()=>f?x():b(),extraActions:S}),f?(0,q.jsx)(me,{value:m,onChange:h,onSave:y}):(0,q.jsx)(fe,{content:o,readOnly:!c,onStartEdit:b})]}),f&&(0,q.jsx)(pe,{isDirty:v,isSaving:_.isPending,error:_.isError?u(`skillDetail.saveFailed`):null,onSave:y,onDiscard:x})]})}var De=e(r(),1);function Oe({fileName:e,content:t,isBinary:n,viewMode:r=`preview`}){let{t:i}=I(`intelligence`);return n?(0,q.jsx)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:i(`skillFileContent.binaryFile`)}):t===null?(0,q.jsx)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:i(`skillFileContent.noPreviewAvailable`,{fileName:e})}):P(e,void 0)&&r===`preview`?(0,q.jsx)(`div`,{className:`h-full overflow-auto px-6 py-4`,style:{color:`var(--content-default)`},children:(0,q.jsx)(F,{content:t})}):(0,q.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 Q({assistantId:e,skill:t,onBack:n,onInstall:r,onRemove:a,isInstalling:o=!1,isRemoving:s=!1,swipeContainerRef:c,sourceConversationId:l}){let{t:u}=I(`intelligence`),d=x(t),p=U(t),{fileEntries:h,setSelectedPath:g,activePath:_,activeFile:b,isFilesLoading:S,fileContent:C,isBinary:w,isContentLoading:T}=H(e,t.id),[D,k]=(0,K.useState)(`preview`);(0,K.useEffect)(()=>{k(`preview`)},[_]);let[A,M]=(0,K.useState)(null);(0,K.useEffect)(()=>{M(document.getElementById(`viewport-overlays`))},[]);let N=b?P(b.name,void 0):!1,F=N?D:`raw`,L=(0,q.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,q.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,q.jsx)(i,{variant:`ghost`,iconOnly:(0,q.jsx)(v,{"aria-hidden":!0}),expandOnMobile:!0,"aria-label":u(`skillDetail.backToSkillsAriaLabel`),onClick:n,className:`max-md:bg-[var(--surface-active)]`}),(0,q.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,q.jsx)(ke,{available:d,removable:p,isInstalling:o,isRemoving:s,onInstall:r,onRemove:a})]}),(0,q.jsxs)(`div`,{className:`mt-4 flex flex-col gap-2`,children:[(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,q.jsx)(B,{skill:t,className:`h-6 w-6 shrink-0 text-[22px] leading-none`}),(0,q.jsx)(`h2`,{className:`min-w-0 truncate text-title-medium`,style:{color:`var(--content-emphasised)`},children:t.name})]}),(0,q.jsx)(y,{origin:t.origin})]}),(0,q.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:t.description}),(0,q.jsx)(V,{skill:{origin:t.origin,sourceConversationId:l}})]}),(0,q.jsx)(f.Root,{asChild:!0,noPadding:!0,children:(0,q.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,q.jsxs)(`div`,{className:`flex items-center justify-between gap-2 border-b px-3 py-2`,style:{borderColor:`var(--border-hover)`},children:[(0,q.jsx)(je,{fileEntries:h,activePath:_,activeName:b?.name??null,onSelect:g}),(0,q.jsx)(m,{iconOnly:!0,ariaLabel:u(`skillDetail.fileViewModeAriaLabel`),value:F,onChange:k,items:[{value:`preview`,label:u(`skillDetail.preview`),icon:(0,q.jsx)(O,{"aria-hidden":!0}),disabled:!N},{value:`raw`,label:u(`skillDetail.source`),icon:(0,q.jsx)(E,{"aria-hidden":!0})}]})]}),(0,q.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:S||T?(0,q.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,q.jsx)(j,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})}):b?(0,q.jsx)(Oe,{fileName:b.name,content:C,isBinary:w,viewMode:F}):(0,q.jsx)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:u(`skillDetail.selectFilePrompt`)})})]})})]});return A?(0,De.createPortal)(L,A):L}function ke({available:e,removable:t,isInstalling:n,isRemoving:r,onInstall:a,onRemove:o}){let{t:s}=I(`intelligence`);return n||r?(0,q.jsx)(i,{variant:`ghost`,iconOnly:(0,q.jsx)(j,{className:`animate-spin`,"aria-hidden":!0}),expandOnMobile:!0,disabled:!0,"aria-label":s(`skillDetail.pendingAriaLabel`),className:`max-md:bg-[var(--surface-active)]`}):e?(0,q.jsx)(i,{variant:`ghost`,iconOnly:(0,q.jsx)(_,{"aria-hidden":!0}),expandOnMobile:!0,"aria-label":s(`skillRow.installSkillAriaLabel`),onClick:a,disabled:!a,className:`max-md:bg-[var(--surface-active)]`}):t?(0,q.jsx)(i,{variant:`dangerGhost`,iconOnly:(0,q.jsx)(M,{"aria-hidden":!0}),expandOnMobile:!0,"aria-label":s(`skillRow.removeSkillAriaLabel`),onClick:o,disabled:!o,className:`max-md:rounded-full max-md:bg-[var(--system-negative-weak)]`}):(0,q.jsx)(i,{variant:`dangerGhost`,iconOnly:(0,q.jsx)(M,{"aria-hidden":!0}),expandOnMobile:!0,disabled:!0,title:s(`skillRow.bundledSkillsCannotBeRemoved`),"aria-label":s(`skillRow.bundledSkillCannotBeRemovedAriaLabel`),className:`max-md:rounded-full max-md:bg-[var(--system-negative-weak)]`})}function Ae(e){return(e??``).endsWith(`/directory`)}function je({fileEntries:e,activePath:t,activeName:n,onSelect:r}){let{t:i}=I(`intelligence`),a=n??i(`skillDetail.selectAFile`);return e.length===0?(0,q.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2 text-body-medium-default`,style:{color:`var(--content-emphasised)`},children:[(0,q.jsx)($,{}),(0,q.jsx)(`span`,{className:`truncate`,children:a})]}):(0,q.jsxs)(T.Root,{children:[(0,q.jsx)(T.Trigger,{children:(0,q.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,q.jsx)($,{}),(0,q.jsx)(`span`,{className:`truncate`,children:a}),(0,q.jsx)(C,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`},"aria-hidden":!0})]})}),(0,q.jsx)(T.Content,{align:`start`,children:e.map(e=>{let n=Ae(e.mimeType);return(0,q.jsx)(T.Item,{onSelect:()=>r(e.path),leftIcon:n?(0,q.jsx)(A,{}):(0,q.jsx)(k,{}),"aria-current":e.path===t?`true`:void 0,children:e.name},e.path)})})]})}function $(){return(0,q.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,q.jsx)(k,{className:`h-4 w-4`,style:{color:`var(--content-secondary)`}})})}function Me(){let{t:e}=I(`intelligence`);return(0,q.jsx)(b,{icon:N,iconColor:`var(--system-danger)`,title:e(`skillsErrorState.title`),subtitle:e(`skillsErrorState.subtitle`)})}function Ne(){let{t:e}=I(`intelligence`),t=oe(),{skillId:n}=s(),r=a(),l=c(),{pathname:d}=l,f=ae(),p=(0,K.useRef)(null),m=l.state,h=typeof m?.listSearch==`string`?m.listSearch:``,g=u({...te({path:{assistant_id:t},query:{include:`catalog`}}),select:e=>e.skills,refetchOnMount:`always`}),_=(0,K.useCallback)(()=>{r(`${z.superpowers}${h}`,{replace:!0})},[r,h]);de({containerRef:p,onBack:_,enabled:f,navKey:d,prefetchHref:z.superpowers});let{handleInstall:y,handleRemove:x,isInstallingSkill:C,isRemovingSkill:w,skillPendingRemoval:T,confirmRemove:E,cancelRemove:D}=S(t,{onRemoved:_}),O=g.data,k=(0,K.useMemo)(()=>O?.find(e=>e.id===n)??null,[O,n]),A=u({...ee({path:{assistant_id:t,id:n??``}}),enabled:!!n&&k?.origin===`assistant-memory`,select:e=>e.skill.origin===`assistant-memory`?e.skill.sourceConversationId??null:null});if(!n)return(0,q.jsx)(o,{to:z.superpowers,replace:!0});if(g.isLoading)return(0,q.jsx)(J,{});if(g.isError&&!k)return(0,q.jsx)(Me,{});if(!k&&g.isFetching)return(0,q.jsx)(J,{});if(!k)return(0,q.jsx)(b,{icon:he,title:e(`skillDetailPage.notFoundTitle`),subtitle:e(`skillDetailPage.notFoundSubtitle`),children:(0,q.jsx)(i,{type:`button`,variant:`outlined`,className:`mt-4`,leftIcon:(0,q.jsx)(v,{"aria-hidden":!0}),onClick:_,children:e(`skillDetailPage.backToSuperpowers`)})});let j={assistantId:t,skill:k,onBack:_,onInstall:()=>y(k),onRemove:()=>x(k),isInstalling:C(k),isRemoving:w(k),sourceConversationId:A.data??void 0};return(0,q.jsxs)(q.Fragment,{children:[f?(0,q.jsx)(Q,{...j,swipeContainerRef:p}):(0,q.jsx)(Te,{...j}),(0,q.jsx)(W,{skillName:T?.name??null,onConfirm:E,onCancel:D})]})}export{Ne as SkillDetailPage};
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-Cdvvw9J5.js";import{t as n}from"./react-BFJW0bSv.js";import{W as r,t as i}from"./button-DSjqKLvM.js";import{d as a,n as o,p as s,u as c}from"./chunk-5KNZJZUH-BUqIilZr.js";import{n as l}from"./QueryClientProvider-CMu7CkQU.js";import{t as u}from"./useQuery-Bz-fbQ-m.js";import{t as d}from"./jsx-runtime-D3ZM-ToX.js";import{t as f}from"./card-q0GJX1HZ.js";import{G as p,K as m,s as h}from"./src-njXJqrpo.js";import{t as g}from"./createLucideIcon-C_IfoPaZ.js";import{t as _}from"./arrow-down-to-line-BUIhl9J1.js";import{t as v}from"./arrow-left-xVF3p2Qp.js";import{a as y,n as b,r as x,t as S}from"./use-skill-actions-oBpczwnY.js";import{t as C}from"./chevron-down-B_6pb9kS.js";import{t as w}from"./chevron-right-Dx_5VMo6.js";import{t as T}from"./menu-Gu_6PRrL.js";import{t as E}from"./code-CvwdlCR7.js";import{t as D}from"./external-link-D65yhWAV.js";import{t as O}from"./eye-DO1vbwRG.js";import{t as k}from"./file-text-Ha6XXdS_.js";import{t as A}from"./folder-DH-nMTDt.js";import{t as j}from"./loader-circle-oY5laABh.js";import{t as M}from"./trash-2-DL_3_16e.js";import{t as N}from"./triangle-alert-C5SOfs-q.js";import{n as P,t as F}from"./file-markdown-EG3aJEi8.js";import"./i18n-BR-AyG5b.js";import{t as I}from"./useTranslation-DxUSOwQs.js";import{a as L}from"./api-errors-BTOPGXDV.js";import{vr as R}from"./sdk.gen-Br55zhZN.js";import{d as z}from"./routes-C293MsBG.js";import{Ot as ee,jt as te,kt as ne,vn as re}from"./react-query.gen-vkBavCkI.js";import{t as ie}from"./open-workspace-file-DFo0Oq0o.js";import{n as ae}from"./use-is-mobile-BONxmNg6.js";import{t as oe}from"./use-active-assistant-id-Btl1-4sB.js";import{i as se,r as ce}from"./format-date-mZFhGVxR.js";import{t as le}from"./diff-rows-ZG9FwscH.js";import{t as B}from"./skill-icon-xO9VGnPV.js";import{n as V,t as H}from"./use-skill-detail-files-Bzwall4_.js";import{n as U,r as W,t as ue}from"./skills-HuNDpwX2.js";import{t as de}from"./use-edge-swipe-back-DpMHlX97.js";import{i as fe,n as pe,r as me,t as G}from"./file-editor-B2BJsOt0.js";var he=g(`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`}]]),K=e(n(),1),q=d();function J(){return(0,q.jsx)(`div`,{className:`flex items-center justify-center py-16`,children:(0,q.jsx)(j,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})})}var ge=/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/,_e=/^diff --git a\/(.+) b\/\1$/;function Y(e,t){let n=e.replace(/^[ab]\//,``),r=`skills/${t}/`;return n.startsWith(r)?n.slice(r.length):n}function ve(e){let t=e.slice(4).replace(/\t$/,``);return t===`/dev/null`?null:t}function ye(e,t){let n=[],r=null,i=0,a=0,o=!1,s=!1;for(let c of e.split(`
|
|
2
|
+
`)){if(c.startsWith(`diff --git `)){r={path:Y(_e.exec(c)?.[1]??(c.split(` `).slice(3).join(` `)||``),t),rows:[],added:0,removed:0},n.push(r),i=0,a=0,o=!1,s=!1;continue}if(!r)continue;let e=ge.exec(c);if(e){i=Number(e[1]),a=Number(e[2]),o=!0,r.rows.length>0&&r.rows.push({type:`meta`,text:c});continue}if(!c.startsWith(`\\ No newline`)){if(!o&&(c.startsWith(`+++ `)||c.startsWith(`--- `))){let e=ve(c);e!==null&&(c.startsWith(`+++ `)||!s)&&(r.path=Y(e,t),s=c.startsWith(`+++ `));continue}!o&&(c.startsWith(`index `)||c.startsWith(`new file mode `)||c.startsWith(`deleted file mode `)||c.startsWith(`similarity index `)||c.startsWith(`rename `)||c.startsWith(`old mode `)||c.startsWith(`new mode `)||c.startsWith(`Binary files `))||(c.startsWith(`+`)?(r.rows.push({type:`add`,text:c.slice(1),newNo:a}),r.added+=1,a+=1):c.startsWith(`-`)?(r.rows.push({type:`del`,text:c.slice(1),oldNo:i}),r.removed+=1,i+=1):c.startsWith(` `)&&(r.rows.push({type:`ctx`,text:c.slice(1),oldNo:i,newNo:a}),i+=1,a+=1))}}return{files:n,added:n.reduce((e,t)=>e+t.added,0),removed:n.reduce((e,t)=>e+t.removed,0)}}async function be(e,t,n){let{data:r,error:i,response:a}=await R({path:{assistant_id:e,id:t},throwOnError:!1,signal:n});if(!a||!a.ok){if(a?.status===404)return null;throw a?L(i,a):i??Error(`Failed to fetch skill history.`)}return r??null}function xe(e){return e.isLoading?!1:e.isError||e.revisionCount>0}function X(e,t){let n=!!(e&&t),r=u({queryKey:ne({path:{assistant_id:e??``,id:t}}),queryFn:({signal:n})=>be(e??``,t,n),enabled:n,refetchOnWindowFocus:!1});return{history:r.data??null,revisions:r.data?.revisions??[],truncatedByCompaction:r.data?.truncatedByCompaction??!1,isLoading:r.isLoading,isError:r.isError}}function Se({assistantId:e,skillId:t}){let{t:n}=I(`intelligence`),{revisions:r,truncatedByCompaction:i,isLoading:a,isError:o}=X(e,t);return a?(0,q.jsx)(J,{}):o?(0,q.jsx)(Z,{children:n(`skillRevisionHistory.loadError`)}):(0,q.jsx)(Ce,{skillId:t,revisions:r,truncatedByCompaction:i})}function Ce({skillId:e,revisions:t,truncatedByCompaction:n}){let{t:r}=I(`intelligence`);return t.length===0?(0,q.jsx)(Z,{children:r(`skillRevisionHistory.noChanges`)}):(0,q.jsxs)(h.Root,{type:`multiple`,className:`flex flex-col gap-2 p-3`,children:[t.map(t=>(0,q.jsx)(we,{revision:t,skillId:e},t.id)),n&&(0,q.jsx)(`p`,{className:`px-1 pt-1 text-body-small-lighter`,style:{color:`var(--content-tertiary)`},children:r(`skillRevisionHistory.truncatedNotice`)})]})}function Z({children:e}){return(0,q.jsx)(`p`,{className:`px-3 py-10 text-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:e})}function we({revision:e,skillId:t}){let{t:n}=I(`intelligence`),r=(0,K.useMemo)(()=>ye(e.diff,t),[e.diff,t]);return(0,q.jsxs)(h.Item,{value:e.id,className:`overflow-hidden rounded-md border`,style:{borderColor:`var(--border-base)`},children:[(0,q.jsxs)(h.Trigger,{className:`group flex w-full items-center gap-3 px-3 py-2.5 text-left transition-colors hover:bg-[var(--surface-hover)]`,children:[(0,q.jsx)(w,{className:`h-4 w-4 shrink-0 transition-transform group-data-[state=open]:rotate-90`,style:{color:`var(--content-tertiary)`},"aria-hidden":!0}),(0,q.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,q.jsx)(`span`,{className:`block truncate text-body-medium-default`,style:{color:`var(--content-default)`},children:se(e.changedAt)}),(0,q.jsx)(`span`,{className:`mt-0.5 block truncate text-body-small-lighter`,style:{color:`var(--content-tertiary)`},children:e.files.join(` · `)})]}),r.added>0&&(0,q.jsxs)(`span`,{className:`shrink-0 text-body-small-default tabular-nums`,style:{color:`var(--system-positive-strong)`},children:[`+`,r.added]}),r.removed>0&&(0,q.jsxs)(`span`,{className:`shrink-0 text-body-small-default tabular-nums`,style:{color:`var(--system-negative-strong)`},children:[`−`,r.removed]})]}),(0,q.jsxs)(h.Content,{className:`border-t`,style:{borderColor:`var(--border-base)`},children:[(0,q.jsx)(`p`,{className:`px-3 py-2 text-body-small-lighter`,style:{color:`var(--content-tertiary)`},children:ce(e.changedAt)}),r.files.length===0?(0,q.jsx)(`p`,{className:`px-3 pb-3 text-body-small-lighter`,style:{color:`var(--content-tertiary)`},children:n(`skillRevisionHistory.noPreviewForChange`)}):r.files.map(e=>(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`p`,{className:`border-t px-3 py-1.5 font-mono text-body-small-default`,style:{borderColor:`var(--border-base)`,backgroundColor:`var(--surface-base)`,color:`var(--content-secondary)`},children:e.path}),(0,q.jsx)(`div`,{className:`py-1`,children:(0,q.jsx)(le,{rows:e.rows})})]},e.path))]})]})}function Te({assistantId:e,skill:t,onBack:n,onInstall:r,onRemove:a,isInstalling:o=!1,isRemoving:s=!1,sourceConversationId:c}){let{t:l}=I(`intelligence`),u=x(t),d=U(t),{fileEntries:p,setSelectedPath:h,activePath:g,activeFile:b,isFilesLoading:S,fileContent:C,isBinary:w,isContentLoading:T}=H(e,t.id),{revisions:E,isLoading:D,isError:O}=X(e,t.id),N=xe({isLoading:D,isError:O,revisionCount:E.length}),[P,F]=(0,K.useState)(`files`),L=N?P:`files`,R=(0,q.jsxs)(`div`,{className:`mb-4 flex items-start gap-3`,children:[(0,q.jsx)(i,{type:`button`,variant:`ghost`,iconOnly:(0,q.jsx)(v,{"aria-hidden":!0}),"aria-label":l(`skillDetail.backToSkillsAriaLabel`),onClick:n}),(0,q.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-3 sm:flex-row sm:items-center`,children:[(0,q.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-3`,children:[(0,q.jsx)(B,{skill:t,className:`h-8 w-8 text-3xl`}),(0,q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-2 gap-y-1`,children:[(0,q.jsx)(`h2`,{className:`text-title-medium`,style:{color:`var(--content-default)`},children:t.name}),(0,q.jsx)(y,{origin:t.origin})]}),(0,q.jsx)(`p`,{className:`mt-0.5 line-clamp-2 text-body-medium-lighter`,style:{color:`var(--content-secondary)`},children:t.description}),(0,q.jsx)(V,{skill:{origin:t.origin,sourceConversationId:c},className:`mt-1`})]})]}),u?o?(0,q.jsx)(`div`,{className:`flex h-9 items-center px-3`,children:(0,q.jsx)(j,{className:`h-4 w-4 animate-spin`,style:{color:`var(--content-tertiary)`}})}):(0,q.jsx)(i,{type:`button`,onClick:r,disabled:!r,leftIcon:(0,q.jsx)(_,{"aria-hidden":!0}),children:l(`skillDetail.install`)}):(0,q.jsx)(i,{type:`button`,variant:d?`dangerOutline`:`outlined`,onClick:a,disabled:!d||s||!a,leftIcon:s?(0,q.jsx)(j,{className:`animate-spin`,"aria-hidden":!0}):(0,q.jsx)(M,{"aria-hidden":!0}),children:l(`skillDetail.remove`)})]})]}),z=(0,q.jsx)(f.Root,{asChild:!0,noPadding:!0,children:(0,q.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-hidden sm:grid`,style:{gridTemplateColumns:`240px 1fr`},children:[(0,q.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:S?(0,q.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,q.jsx)(j,{className:`h-4 w-4 animate-spin`,style:{color:`var(--content-tertiary)`}})}):p.length===0?(0,q.jsx)(`p`,{className:`px-3 py-4 text-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:l(`skillDetail.noFilesAvailable`)}):p.map(e=>{let t=g===e.path,n=(e.mimeType??``).endsWith(`/directory`);return(0,q.jsxs)(`button`,{type:`button`,onClick:()=>h(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,q.jsx)(A,{className:`h-4 w-4 shrink-0`,style:{color:`var(--system-mid-strong)`}}):(0,q.jsx)(k,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),(0,q.jsx)(`span`,{className:`truncate`,children:e.name})]},e.path)})}),(0,q.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:T?(0,q.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,q.jsx)(j,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})}):b?(0,q.jsx)(Ee,{assistantId:e,skillId:t.id,fileName:b.name,filePath:b.path,content:C,isBinary:w,editable:t.kind===`installed`},`${t.id}/${b.path}`):(0,q.jsx)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:l(`skillDetail.selectFilePrompt`)})})]})});return(0,q.jsxs)(`div`,{className:`flex h-[calc(100vh-14rem)] flex-col`,children:[R,(0,q.jsxs)(m.Root,{value:L,onValueChange:F,className:`flex min-h-0 flex-1 flex-col`,children:[N&&(0,q.jsxs)(m.List,{className:`mb-3`,children:[(0,q.jsx)(m.Trigger,{value:`files`,children:l(`skillDetail.filesTab`)}),(0,q.jsx)(m.Trigger,{value:`history`,children:l(`skillDetail.historyTab`)})]}),(0,q.jsx)(m.Panel,{value:`files`,forceMount:!0,className:`min-h-0 flex-1 flex-col`,style:{display:L===`files`?`flex`:`none`},children:z}),N&&(0,q.jsx)(m.Panel,{value:`history`,className:`flex min-h-0 flex-1 flex-col`,children:(0,q.jsx)(f.Root,{asChild:!0,noPadding:!0,children:(0,q.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:(0,q.jsx)(Se,{assistantId:e,skillId:t.id})})})})]})]})}function Ee({assistantId:e,skillId:n,fileName:r,filePath:a,content:o,isBinary:s,editable:c}){let{t:u}=I(`intelligence`),d=l(),[f,p]=(0,K.useState)(!1),[m,h]=(0,K.useState)(``),g=`skills/${n}/${a}`,_=re({onSuccess:()=>{p(!1),h(``),d.invalidateQueries({queryKey:[{_id:`skillsByIdFilesContentGet`}]}),d.invalidateQueries({queryKey:[{_id:`skillsByIdFilesGet`}]}),d.invalidateQueries({queryKey:[{_id:`skillsByIdHistoryGet`}]}),a===`SKILL.md`&&ue(d,e)},onError:e=>{t(e,{context:`skill-file-save`,bestEffort:!0})}}),v=f&&m!==(o??``),y=(0,K.useCallback)(()=>{!v||_.isPending||_.mutate({path:{assistant_id:e},body:{path:g,content:m,encoding:`utf8`}})},[v,_,e,g,m]),b=(0,K.useCallback)(()=>{p(!0),h(o??``),_.reset()},[o,_]),x=(0,K.useCallback)(()=>{p(!1),h(``),_.reset()},[_]);if(s)return(0,q.jsx)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:u(`skillFileContent.binaryFile`)});if(o===null)return(0,q.jsx)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:u(`skillFileContent.noPreviewAvailable`,{fileName:r})});let S=c?(0,q.jsx)(i,{variant:`ghost`,size:`regular`,iconOnly:(0,q.jsx)(D,{"aria-hidden":!0}),onClick:()=>void ie(g),"aria-label":u(`skillDetail.openInWorkspaceAriaLabel`),className:`hover:bg-[var(--surface-base)]`}):void 0;return P(r,void 0)&&!f?(0,q.jsx)(`div`,{className:`relative flex h-full flex-col`,children:(0,q.jsxs)(`div`,{className:`relative flex-1 overflow-auto px-6 py-4`,style:{color:`var(--content-default)`},children:[(0,q.jsx)(G,{content:o,fileName:r,showEdit:c,isEditing:!1,onToggleEdit:b,extraActions:S}),(0,q.jsx)(F,{content:o})]})}):(0,q.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,q.jsxs)(`div`,{className:`relative flex-1 overflow-hidden`,children:[(0,q.jsx)(G,{content:f?m:o,fileName:r,showEdit:c,isEditing:f,onToggleEdit:()=>f?x():b(),extraActions:S}),f?(0,q.jsx)(me,{value:m,onChange:h,onSave:y}):(0,q.jsx)(fe,{content:o,readOnly:!c,onStartEdit:b})]}),f&&(0,q.jsx)(pe,{isDirty:v,isSaving:_.isPending,error:_.isError?u(`skillDetail.saveFailed`):null,onSave:y,onDiscard:x})]})}var De=e(r(),1);function Oe({fileName:e,content:t,isBinary:n,viewMode:r=`preview`}){let{t:i}=I(`intelligence`);return n?(0,q.jsx)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:i(`skillFileContent.binaryFile`)}):t===null?(0,q.jsx)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:i(`skillFileContent.noPreviewAvailable`,{fileName:e})}):P(e,void 0)&&r===`preview`?(0,q.jsx)(`div`,{className:`h-full overflow-auto px-6 py-4`,style:{color:`var(--content-default)`},children:(0,q.jsx)(F,{content:t})}):(0,q.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 Q({assistantId:e,skill:t,onBack:n,onInstall:r,onRemove:a,isInstalling:o=!1,isRemoving:s=!1,swipeContainerRef:c,sourceConversationId:l}){let{t:u}=I(`intelligence`),d=x(t),m=U(t),{fileEntries:h,setSelectedPath:g,activePath:_,activeFile:b,isFilesLoading:S,fileContent:C,isBinary:w,isContentLoading:T}=H(e,t.id),[D,k]=(0,K.useState)(`preview`);(0,K.useEffect)(()=>{k(`preview`)},[_]);let[A,M]=(0,K.useState)(null);(0,K.useEffect)(()=>{M(document.getElementById(`viewport-overlays`))},[]);let N=b?P(b.name,void 0):!1,F=N?D:`raw`,L=(0,q.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,q.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,q.jsx)(i,{variant:`ghost`,iconOnly:(0,q.jsx)(v,{"aria-hidden":!0}),expandOnMobile:!0,"aria-label":u(`skillDetail.backToSkillsAriaLabel`),onClick:n,className:`max-md:bg-[var(--surface-active)]`}),(0,q.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,q.jsx)(ke,{available:d,removable:m,isInstalling:o,isRemoving:s,onInstall:r,onRemove:a})]}),(0,q.jsxs)(`div`,{className:`mt-4 flex flex-col gap-2`,children:[(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,q.jsx)(B,{skill:t,className:`h-6 w-6 shrink-0 text-[22px] leading-none`}),(0,q.jsx)(`h2`,{className:`min-w-0 truncate text-title-medium`,style:{color:`var(--content-emphasised)`},children:t.name})]}),(0,q.jsx)(y,{origin:t.origin})]}),(0,q.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:t.description}),(0,q.jsx)(V,{skill:{origin:t.origin,sourceConversationId:l}})]}),(0,q.jsx)(f.Root,{asChild:!0,noPadding:!0,children:(0,q.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,q.jsxs)(`div`,{className:`flex items-center justify-between gap-2 border-b px-3 py-2`,style:{borderColor:`var(--border-hover)`},children:[(0,q.jsx)(je,{fileEntries:h,activePath:_,activeName:b?.name??null,onSelect:g}),(0,q.jsx)(p,{iconOnly:!0,ariaLabel:u(`skillDetail.fileViewModeAriaLabel`),value:F,onChange:k,items:[{value:`preview`,label:u(`skillDetail.preview`),icon:(0,q.jsx)(O,{"aria-hidden":!0}),disabled:!N},{value:`raw`,label:u(`skillDetail.source`),icon:(0,q.jsx)(E,{"aria-hidden":!0})}]})]}),(0,q.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:S||T?(0,q.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,q.jsx)(j,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})}):b?(0,q.jsx)(Oe,{fileName:b.name,content:C,isBinary:w,viewMode:F}):(0,q.jsx)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:u(`skillDetail.selectFilePrompt`)})})]})})]});return A?(0,De.createPortal)(L,A):L}function ke({available:e,removable:t,isInstalling:n,isRemoving:r,onInstall:a,onRemove:o}){let{t:s}=I(`intelligence`);return n||r?(0,q.jsx)(i,{variant:`ghost`,iconOnly:(0,q.jsx)(j,{className:`animate-spin`,"aria-hidden":!0}),expandOnMobile:!0,disabled:!0,"aria-label":s(`skillDetail.pendingAriaLabel`),className:`max-md:bg-[var(--surface-active)]`}):e?(0,q.jsx)(i,{variant:`ghost`,iconOnly:(0,q.jsx)(_,{"aria-hidden":!0}),expandOnMobile:!0,"aria-label":s(`skillRow.installSkillAriaLabel`),onClick:a,disabled:!a,className:`max-md:bg-[var(--surface-active)]`}):t?(0,q.jsx)(i,{variant:`dangerGhost`,iconOnly:(0,q.jsx)(M,{"aria-hidden":!0}),expandOnMobile:!0,"aria-label":s(`skillRow.removeSkillAriaLabel`),onClick:o,disabled:!o,className:`max-md:rounded-full max-md:bg-[var(--system-negative-weak)]`}):(0,q.jsx)(i,{variant:`dangerGhost`,iconOnly:(0,q.jsx)(M,{"aria-hidden":!0}),expandOnMobile:!0,disabled:!0,title:s(`skillRow.bundledSkillsCannotBeRemoved`),"aria-label":s(`skillRow.bundledSkillCannotBeRemovedAriaLabel`),className:`max-md:rounded-full max-md:bg-[var(--system-negative-weak)]`})}function Ae(e){return(e??``).endsWith(`/directory`)}function je({fileEntries:e,activePath:t,activeName:n,onSelect:r}){let{t:i}=I(`intelligence`),a=n??i(`skillDetail.selectAFile`);return e.length===0?(0,q.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2 text-body-medium-default`,style:{color:`var(--content-emphasised)`},children:[(0,q.jsx)($,{}),(0,q.jsx)(`span`,{className:`truncate`,children:a})]}):(0,q.jsxs)(T.Root,{children:[(0,q.jsx)(T.Trigger,{children:(0,q.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,q.jsx)($,{}),(0,q.jsx)(`span`,{className:`truncate`,children:a}),(0,q.jsx)(C,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`},"aria-hidden":!0})]})}),(0,q.jsx)(T.Content,{align:`start`,children:e.map(e=>{let n=Ae(e.mimeType);return(0,q.jsx)(T.Item,{onSelect:()=>r(e.path),leftIcon:n?(0,q.jsx)(A,{}):(0,q.jsx)(k,{}),"aria-current":e.path===t?`true`:void 0,children:e.name},e.path)})})]})}function $(){return(0,q.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,q.jsx)(k,{className:`h-4 w-4`,style:{color:`var(--content-secondary)`}})})}function Me(){let{t:e}=I(`intelligence`);return(0,q.jsx)(b,{icon:N,iconColor:`var(--system-danger)`,title:e(`skillsErrorState.title`),subtitle:e(`skillsErrorState.subtitle`)})}function Ne(){let{t:e}=I(`intelligence`),t=oe(),{skillId:n}=s(),r=a(),l=c(),{pathname:d}=l,f=ae(),p=(0,K.useRef)(null),m=l.state,h=typeof m?.listSearch==`string`?m.listSearch:``,g=u({...te({path:{assistant_id:t},query:{include:`catalog`}}),select:e=>e.skills,refetchOnMount:`always`}),_=(0,K.useCallback)(()=>{r(`${z.superpowers}${h}`,{replace:!0})},[r,h]);de({containerRef:p,onBack:_,enabled:f,navKey:d,prefetchHref:z.superpowers});let{handleInstall:y,handleRemove:x,isInstallingSkill:C,isRemovingSkill:w,skillPendingRemoval:T,confirmRemove:E,cancelRemove:D}=S(t,{onRemoved:_}),O=g.data,k=(0,K.useMemo)(()=>O?.find(e=>e.id===n)??null,[O,n]),A=u({...ee({path:{assistant_id:t,id:n??``}}),enabled:!!n&&k?.origin===`assistant-memory`,select:e=>e.skill.origin===`assistant-memory`?e.skill.sourceConversationId??null:null});if(!n)return(0,q.jsx)(o,{to:z.superpowers,replace:!0});if(g.isLoading)return(0,q.jsx)(J,{});if(g.isError&&!k)return(0,q.jsx)(Me,{});if(!k&&g.isFetching)return(0,q.jsx)(J,{});if(!k)return(0,q.jsx)(b,{icon:he,title:e(`skillDetailPage.notFoundTitle`),subtitle:e(`skillDetailPage.notFoundSubtitle`),children:(0,q.jsx)(i,{type:`button`,variant:`outlined`,className:`mt-4`,leftIcon:(0,q.jsx)(v,{"aria-hidden":!0}),onClick:_,children:e(`skillDetailPage.backToSuperpowers`)})});let j={assistantId:t,skill:k,onBack:_,onInstall:()=>y(k),onRemove:()=>x(k),isInstalling:C(k),isRemoving:w(k),sourceConversationId:A.data??void 0};return(0,q.jsxs)(q.Fragment,{children:[f?(0,q.jsx)(Q,{...j,swipeContainerRef:p}):(0,q.jsx)(Te,{...j}),(0,q.jsx)(W,{skillName:T?.name??null,onConfirm:E,onCancel:D})]})}export{Ne as SkillDetailPage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-Cdvvw9J5.js";import{t as n}from"./react-BFJW0bSv.js";import{t as r}from"./button-DSjqKLvM.js";import{d as i}from"./chunk-5KNZJZUH-BUqIilZr.js";import{n as a}from"./QueryClientProvider-CMu7CkQU.js";import{t as o}from"./useQuery-Bz-fbQ-m.js";import{t as s}from"./jsx-runtime-D3ZM-ToX.js";import{t as c}from"./typography-BeUa5Fd-.js";import"./src-njXJqrpo.js";import{t as l}from"./brain-BkpxPjmn.js";import{t as u}from"./menu-Gu_6PRrL.js";import{t as d}from"./ellipsis-Dm3PecnW.js";import{t as f}from"./loader-circle-oY5laABh.js";import{t as p}from"./trash-2-DL_3_16e.js";import{t as m}from"./file-markdown-EG3aJEi8.js";import{n as h}from"./resolved-assistants-store-BuqctGKE.js";import"./i18n-BR-AyG5b.js";import{t as g}from"./useTranslation-DxUSOwQs.js";import{d as _}from"./routes-C293MsBG.js";import{Ot as v,_n as y}from"./react-query.gen-vkBavCkI.js";import{t as b}from"./detail-shell-6omiDynS.js";import{n as x,t as S}from"./use-skill-detail-files-Bzwall4_.js";import{n as C,r as w,t as T}from"./skills-HuNDpwX2.js";var E=e(n(),1),D=s();function O({skillId:e,onClose:n}){let{t:s}=g(`chat`),O=i(),k=a(),A=h.use.activeAssistantId(),[j,M]=(0,E.useState)(!1),N=o({...v({path:{assistant_id:A??``,id:e}}),select:e=>e.skill,enabled:!!A}),P=N.data,{skillMd:F,fileContent:I,isFilesPending:L,isContentPending:R}=S(A,e),z=y({onSuccess:()=>{A&&T(k,A),n()},onError:e=>{t(e,{context:`skill-detail-panel-remove`})}}),B=()=>{A&&(z.mutate({path:{assistant_id:A,id:e}}),M(!1))},V=N.isPending||L||F!=null&&R,H=P!=null&&C(P);return(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(b,{icon:P?.emoji?(0,D.jsx)(`span`,{className:`text-xl leading-none`,"aria-hidden":!0,children:P.emoji}):void 0,Glyph:l,title:P?.name??`Skill`,closeLabel:`Close skill details`,onClose:n,headerActions:H?(0,D.jsxs)(u.Root,{children:[(0,D.jsx)(u.Trigger,{asChild:!0,children:(0,D.jsx)(r,{variant:`outlined`,iconOnly:(0,D.jsx)(d,{}),"aria-label":s(`skillDetailPanel.actionsAria`),tooltip:s(`skillDetailPanel.moreTooltip`),className:`shrink-0`})}),(0,D.jsx)(u.Content,{side:`bottom`,align:`end`,children:(0,D.jsx)(u.Item,{leftIcon:(0,D.jsx)(p,{size:14}),onSelect:()=>M(!0),children:`Remove skill`})})]}):void 0,footer:(0,D.jsx)(`div`,{className:`flex justify-end`,children:(0,D.jsx)(r,{onClick:()=>O(_.skills.detail(e)),children:`Go to Skill`})}),children:N.isError&&!P?(0,D.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.`}):V?(0,D.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,D.jsx)(f,{className:`h-5 w-5 animate-spin text-[var(--content-tertiary)]`})}):(0,D.jsxs)(D.Fragment,{children:[P?.description&&(0,D.jsx)(c,{variant:`body-medium-lighter`,as:`p`,className:`mb-4 text-[var(--content-secondary)]`,children:P.description}),P&&(0,D.jsx)(x,{skill:P,className:`mb-4`,onNavigate:n}),I&&(0,D.jsx)(m,{content:I})]})}),(0,D.jsx)(w,{skillName:j&&P?P.name:null,onConfirm:B,onCancel:()=>M(!1)})]})}export{O as SkillDetailPanel};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./jsx-runtime-D3ZM-ToX.js";import"./src-
|
|
1
|
+
import{t as e}from"./jsx-runtime-D3ZM-ToX.js";import"./src-njXJqrpo.js";import{t}from"./confirm-dialog-DNaRfy4W.js";import{Mt as n}from"./react-query.gen-vkBavCkI.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{t}from"./react-BFJW0bSv.js";import{n}from"./QueryClientProvider-CMu7CkQU.js";import{t as r}from"./useQuery-Bz-fbQ-m.js";import{t as i}from"./useMutation-CXGTrp4W.js";import{t as a}from"./jsx-runtime-D3ZM-ToX.js";import{t as o}from"./card-q0GJX1HZ.js";import{t as s}from"./chevron-down-B_6pb9kS.js";import{t as c}from"./play-kF4y_ovX.js";import{t as l}from"./trash-2-DL_3_16e.js";import{t as u}from"./toggle-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{n}from"./QueryClientProvider-CMu7CkQU.js";import{t as r}from"./useQuery-Bz-fbQ-m.js";import{t as i}from"./useMutation-CXGTrp4W.js";import{t as a}from"./jsx-runtime-D3ZM-ToX.js";import{t as o}from"./card-q0GJX1HZ.js";import{t as s}from"./chevron-down-B_6pb9kS.js";import{t as c}from"./play-kF4y_ovX.js";import{t as l}from"./trash-2-DL_3_16e.js";import{t as u}from"./toggle-ibKLySIy.js";import{Ht as d,Lt as f,Vt as p,zt as m}from"./react-query.gen-vkBavCkI.js";import{a as h,i as g,n as _,r as v,t as y}from"./sound-manager-CTd-DV3i.js";import{t as b}from"./use-active-assistant-id-Btl1-4sB.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)(u,{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:d}){let[f,p]=(0,x.useState)(!1),m=n.filter(e=>!t.sounds.includes(e.filename)),g=n.length>0&&m.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:_[e]}),(0,S.jsx)(u,{checked:t.enabled,disabled:!r,onChange:i,label:`Enable ${_[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:h(e)}),(0,S.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,S.jsx)(`button`,{type:`button`,onClick:()=>d(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)(c,{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)(l,{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.`}):g?(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:()=>p(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`})]}),f&&(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:()=>p(!1),children:m.map(e=>(0,S.jsx)(`button`,{type:`button`,onClick:()=>{a(e.filename),p(!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)(()=>m({path:{assistant_id:t}}),[t]),s=(0,x.useMemo)(()=>f({path:{assistant_id:t}}),[t]),{data:l}=r(a),{data:u}=r(s),h=l??g(),_=u?.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 p(e,E,t.body),{previous:n}},onError:(t,n,r)=>{r?.previous!==void 0&&p(e,E,r.previous)},onSettled:()=>{e.invalidateQueries({queryKey:a.queryKey})}}),O=(0,x.useCallback)(n=>{let r=n(e.getQueryData(a.queryKey)??g());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=()=>{y().previewFallbackBlip(h.volume)},R=e=>{y().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)(c,{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:v.map(e=>(0,S.jsx)(T,{event:e,eventConfig:h.events[e]??{enabled:!1,sounds:[]},availableSounds:_,globalEnabled:h.globalEnabled,onToggle:t=>P(e,t),onAddSound:t=>F(e,t),onRemoveSound:t=>I(e,t),onPreview:e=>R(e)},e))})]})]})}function D(){return(0,S.jsx)(E,{})}export{D as SoundsPage};
|