@vellumai/web 0.10.12 → 0.11.0-staging.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{AnimatePresence-3WpfAWHe.js → AnimatePresence-DPfyu3ET.js} +1 -1
- package/dist/assets/{BundleConfirmPage-CDklssHh.js → BundleConfirmPage-CChUOtcg.js} +1 -1
- package/dist/assets/{a2a-invite-DUYZLVQb.js → a2a-invite-pyBtaaeG.js} +1 -1
- package/dist/assets/{about-page-CT70Pgvf.js → about-page-DGUK5p8j.js} +1 -1
- package/dist/assets/access-DS79PSR3.js +1 -0
- package/dist/assets/{account-page-D5cJIu1-.js → account-page-D3ERiewh.js} +1 -1
- package/dist/assets/{account-shell-C_IH8r44.js → account-shell-Dk4aC-Ls.js} +1 -1
- package/dist/assets/{acp-run-actions-CAjb0Wcm.js → acp-run-actions-BH8wuBAL.js} +1 -1
- package/dist/assets/{acp-run-detail-panel-DqzZdPiN.js → acp-run-detail-panel-dqVK6rPq.js} +1 -1
- package/dist/assets/{acp-run-store-C6n-XeY_.js → acp-run-store-B_eDLRwl.js} +1 -1
- package/dist/assets/{activity-steps-panel-BzHQOJsQ.js → activity-steps-panel-xxl2hu3E.js} +1 -1
- package/dist/assets/add-credential-modal-CY_--m8L.js +1 -0
- package/dist/assets/{add-credits-modal-CCEMf2_U.js → add-credits-modal-fT_gTTP5.js} +1 -1
- package/dist/assets/ai-page-B02NwVRu.js +1 -0
- package/dist/assets/animated-avatar-BcgncPkc.js +1 -0
- package/dist/assets/api-C3QSs67k.js +1 -0
- package/dist/assets/{api-XwdNiVE9.js → api-LG8zI3nK.js} +1 -1
- package/dist/assets/{api-key-screen-BXn2F-lQ.js → api-key-screen-CvBdN6Ae.js} +1 -1
- package/dist/assets/{app-card-Uowaj1kh.js → app-card-CAaFL1oB.js} +1 -1
- package/dist/assets/{archive-redirect-page-CpKvFqvX.js → archive-redirect-page-BH7h0Lk7.js} +1 -1
- package/dist/assets/{assistant-feature-flag-store-CLqMw4mK.js → assistant-feature-flag-store-CAdgpPiS.js} +1 -1
- package/dist/assets/{assistant-status-panel-DKnWIr7_.js → assistant-status-panel-BTnD-jhG.js} +1 -1
- package/dist/assets/auth-store-5qq59BAN.js +2 -0
- package/dist/assets/avatar-random-BMSYTcJK.js +1 -0
- package/dist/assets/{avatar-renderer-DK54o2kQ.js → avatar-renderer-ClUVcQmf.js} +1 -1
- package/dist/assets/{background-task-actions-CmYMPa2o.js → background-task-actions-DmP5s0oO.js} +1 -1
- package/dist/assets/{background-task-detail-panel-KDqjs7i2.js → background-task-detail-panel-BCYAElGc.js} +1 -1
- package/dist/assets/{background-task-store-DFS8MP5D.js → background-task-store-DMP8ByUq.js} +1 -1
- package/dist/assets/billing-page-B5j5TW_S.js +3 -0
- package/dist/assets/{billing-redirect-page-BRcj5q0u.js → billing-redirect-page-B1o1rsQZ.js} +1 -1
- package/dist/assets/{bookmarks-page-fFnFzh4F.js → bookmarks-page-D_Jr-a4Q.js} +1 -1
- package/dist/assets/{browser-CNL8hh8H.js → browser-CTZVDjOL.js} +2 -2
- package/dist/assets/build-state-m0LQ5Iis.js +1 -0
- package/dist/assets/channels-page-route-BYP9SOw5.js +9 -0
- package/dist/assets/chat-avatar-CvEA6z0H.js +1 -0
- package/dist/assets/chat-markdown-message-rxPKNeTx.js +2 -0
- package/dist/assets/{checkbox-BY0BDJjm.js → checkbox-CRmgkYah.js} +1 -1
- package/dist/assets/checkout-continuation-U3Pd2nxi.js +1 -0
- package/dist/assets/checkout-page-C5_9GbP-.js +1 -0
- package/dist/assets/checkout-return-target-DI6Hb-9L.js +1 -0
- package/dist/assets/client-feature-flag-store-CMncoan8.js +1 -0
- package/dist/assets/{client-identity-BS5mQsaQ.js → client-identity-DhkdvP5w.js} +1 -1
- package/dist/assets/{command-palette-CsRPcIM-.js → command-palette-BTaT__fo.js} +1 -1
- package/dist/assets/{command-palette-window-page-BzQ_oDaq.js → command-palette-window-page-gq0zowBe.js} +1 -1
- package/dist/assets/{community-page-mlhk4LsN.js → community-page-CsEKt9wX.js} +1 -1
- package/dist/assets/{connect-page-PuRyFup0.js → connect-page-B4aTS7Yj.js} +1 -1
- package/dist/assets/{consent-controls-BOFoWAYO.js → consent-controls-OcgxuxS0.js} +1 -1
- package/dist/assets/consent-hzYg-zbh.js +1 -0
- package/dist/assets/{contacts-gateway-C5OljhCC.js → contacts-gateway-B6OrAmU3.js} +1 -1
- package/dist/assets/{contacts-page-route-VBlklzVL.js → contacts-page-route-DNoCUXE7.js} +1 -1
- package/dist/assets/{conversation-cache-CqCkWHT6.js → conversation-cache-DKvwwWNo.js} +1 -1
- package/dist/assets/{conversation-list-fetchers-D84gJs6f.js → conversation-list-fetchers-DM-Y61u5.js} +1 -1
- package/dist/assets/conversation-navigation-DsN0hcpL.js +1 -0
- package/dist/assets/{conversation-queries-Ba_1sW5M.js → conversation-queries-CWvK6RLK.js} +1 -1
- package/dist/assets/{credential-entry-page-Bfrl1sD_.js → credential-entry-page-CHinHO85.js} +1 -1
- package/dist/assets/credentials-page-BsJFuOc9.js +1 -0
- package/dist/assets/{danger-zone-redirect-page-DKfrmf_o.js → danger-zone-redirect-page-SU45WI74.js} +1 -1
- package/dist/assets/debug-page-BziypDgA.js +4 -0
- package/dist/assets/{deploy-dialogs-BNMcZzII.js → deploy-dialogs-DZSd5o9b.js} +1 -1
- package/dist/assets/{deploy-store-CxnShfQj.js → deploy-store-D6snB1j5.js} +1 -1
- package/dist/assets/{detail-card-CwtjhGfi.js → detail-card-Du8OuE3q.js} +1 -1
- package/dist/assets/{detail-panel-stop-button-C1rystDS.js → detail-panel-stop-button-BNuh6N0s.js} +1 -1
- package/dist/assets/{detail-shell-DcNnOqM_.js → detail-shell-Cyqr5FXJ.js} +1 -1
- package/dist/assets/{developer-page-Bu7HBiPJ.js → developer-page-QMFEIyBS.js} +1 -1
- package/dist/assets/{devices-redirect-page-Cvt_H5ig.js → devices-redirect-page-B14wK98N.js} +1 -1
- package/dist/assets/{diagnostics-Dva51gYK.js → diagnostics-T_96Uyh5.js} +1 -1
- package/dist/assets/doctor-handoff-store-CYjL1S0n.js +1 -0
- package/dist/assets/document-viewer-container-B7TEDeV0.js +2 -0
- package/dist/assets/{document-viewer-page-kV6TCXu0.js → document-viewer-page-3Eq8L562.js} +1 -1
- package/dist/assets/effective-timezone-CmcoXrio.js +1 -0
- package/dist/assets/{emails-page-D9E3uXkG.js → emails-page-Wr4wPSYl.js} +1 -1
- package/dist/assets/{esm-BWFeAIOX.js → esm-BKewCp71.js} +2 -2
- package/dist/assets/{esm-DKdDWqsF.js → esm-Deuay4YU.js} +2 -2
- package/dist/assets/{esm-C6-ZMSya.js → esm-Dk6A-sQ0.js} +2 -2
- package/dist/assets/{esm-BQjZqfJZ.js → esm-IoT87yZe.js} +2 -2
- package/dist/assets/{esm-BTyZM-kf.js → esm-PYpy75OW.js} +2 -2
- package/dist/assets/esm-xItcektK.js +2 -0
- package/dist/assets/{eye-bbox-DXmmg9ML.js → eye-bbox-C_V87iLg.js} +1 -1
- package/dist/assets/feature-flag-catalog-I9-eJQP_.js +1 -0
- package/dist/assets/file-markdown-DaflJFk7.js +2 -0
- package/dist/assets/{first-run-scope-BoT9LMYw.js → first-run-scope-CL5YbC3b.js} +1 -1
- package/dist/assets/{funnel-events-CK938pi2.js → funnel-events-n2IVlwTo.js} +1 -1
- package/dist/assets/general-page-lbkufqHg.js +1 -0
- package/dist/assets/{get-memory-stats-ERcqnC0Q.js → get-memory-stats-BCYSpBF6.js} +1 -1
- package/dist/assets/{haptics-D9eNTUq-.js → haptics-DvWjk9Fg.js} +2 -2
- package/dist/assets/hatching-screen-D81diZoa.js +1 -0
- package/dist/assets/{home-page-route-BOCisuYY.js → home-page-route-CHe8eoLz.js} +1 -1
- package/dist/assets/{hosting-screen-6xIW6q02.js → hosting-screen-D9atAksQ.js} +1 -1
- package/dist/assets/{identity-page-route-qWwRSRld.js → identity-page-route-CK3YsXCN.js} +1 -1
- package/dist/assets/index-0f48hi7h.js +11 -0
- package/dist/assets/index-UKZ4bO6i.css +2 -0
- package/dist/assets/{ingest-DGkxw0Go.js → ingest-BizI657K.js} +1 -1
- package/dist/assets/{inspect-page-CRBfQ5WU.js → inspect-page-COwvbHtX.js} +3 -3
- package/dist/assets/{installed-plugins-query-C29LGAEV.js → installed-plugins-query-Cgek0q7G.js} +1 -1
- package/dist/assets/{integration-icon-Dvjn3ytY.js → integration-icon-dv-9Zzx3.js} +1 -1
- package/dist/assets/integrations-page-CJOBwxXp.js +1 -0
- package/dist/assets/{intelligence-layout-DP9zklR6.js → intelligence-layout-MNoGhi-l.js} +1 -1
- package/dist/assets/{invalidate-plugin-queries-DamxiwYv.js → invalidate-plugin-queries-C3NTXkCX.js} +1 -1
- package/dist/assets/{keyboard-shortcuts-redirect-page--bCvhp62.js → keyboard-shortcuts-redirect-page-CBI_mZIL.js} +1 -1
- package/dist/assets/{latest-assistant-text-D5WR-o6J.js → latest-assistant-text-DOepZ_Io.js} +2 -2
- package/dist/assets/{library-detail-page-pviljaQw.js → library-detail-page-DVwI94NZ.js} +1 -1
- package/dist/assets/{library-page-CYYuLywk.js → library-page-CNA794WY.js} +1 -1
- package/dist/assets/local-mode-BTovbt13.js +39 -0
- package/dist/assets/{local-runtime-upgrade-BggVMXfW.js → local-runtime-upgrade-Bqn3d7Q7.js} +1 -1
- package/dist/assets/login-flow-CD9tyuFG.js +1 -0
- package/dist/assets/{login-page-DdHXGGAt.js → login-page-BNStrcnU.js} +1 -1
- package/dist/assets/{logout-page-DjihP6Qk.js → logout-page-CpFeuLA_.js} +1 -1
- package/dist/assets/{logs-layout-C84-h0Hn.js → logs-layout-BUiPeZ4I.js} +1 -1
- package/dist/assets/{machine-sizes-DAflIPTM.js → machine-sizes-DO8duvpy.js} +1 -1
- package/dist/assets/{memory-page-route-dGWTWCWF.js → memory-page-route-C0cBV7HD.js} +1 -1
- package/dist/assets/{memory-router-playground-page-CjUiz_bH.js → memory-router-playground-page-D4UIq8mw.js} +1 -1
- package/dist/assets/{messages-Dl5_cjD9.js → messages-CFcAW4iz.js} +2 -2
- package/dist/assets/{metric-card-CkAD9RpC.js → metric-card-05a5slPx.js} +1 -1
- package/dist/assets/{mobile-sidebar-drawer-CbJ5JfXT.js → mobile-sidebar-drawer-DtKU2vlu.js} +1 -1
- package/dist/assets/native-anchor-CeekjwVy.js +1 -0
- package/dist/assets/native-biometric-BAMIyaSS.js +6 -0
- package/dist/assets/{native-file-B6_oAU2Q.js → native-file-ySSv1sQ7.js} +2 -2
- package/dist/assets/navigation-resolver-DPJxzx0h.js +1 -0
- package/dist/assets/{not-found-DV3iLBwm.js → not-found-OqaWNmdx.js} +1 -1
- package/dist/assets/{notifications-page-B9vnqyB1.js → notifications-page-ClfcJeLf.js} +1 -1
- package/dist/assets/{oauth-complete-page-BSxiDbQm.js → oauth-complete-page-rVmA2Cl8.js} +1 -1
- package/dist/assets/{oauth-connection-utils-DbcihBL8.js → oauth-connection-utils-CWPUW4MK.js} +1 -1
- package/dist/assets/{oauth-popup-complete-page-CyYbqLoK.js → oauth-popup-complete-page-DBsOvLES.js} +1 -1
- package/dist/assets/{onboarding-layout-Dd5fPfE7.js → onboarding-layout-DLs1hfp_.js} +1 -1
- package/dist/assets/onboarding-store-bZ2qYISk.js +1 -0
- package/dist/assets/open-workspace-file-DtK3a84K.js +2 -0
- package/dist/assets/{page-empty-state-BA3_YQN2.js → page-empty-state-DT-tC1u6.js} +1 -1
- package/dist/assets/{page-shell-_QxBKTK3.js → page-shell-C7SUgga9.js} +1 -1
- package/dist/assets/{pairing-page-DPfIgf3F.js → pairing-page-ZkFipOSH.js} +1 -1
- package/dist/assets/{password-reset-page-D55bGMVy.js → password-reset-page-iASQZawH.js} +1 -1
- package/dist/assets/{personality-page-fJJd-i4s.js → personality-page-BJpW3UXD.js} +1 -1
- package/dist/assets/plans-page-BDKqdYNM.js +1 -0
- package/dist/assets/{platform-detection-CMiRPRCq.js → platform-detection-XEAAu4c-.js} +1 -1
- package/dist/assets/{platform-login-notice-BG9TFAJa.js → platform-login-notice-CdYiKsE8.js} +1 -1
- package/dist/assets/{platform-loopback-page-DunGLusR.js → platform-loopback-page-D0gXCm2S.js} +1 -1
- package/dist/assets/{plugin-detail-page-BngHrN8T.js → plugin-detail-page-Bx2wzKEf.js} +1 -1
- package/dist/assets/{plugins-page-DD0t1_pE.js → plugins-page-B2zQ2iGh.js} +1 -1
- package/dist/assets/{prefs-BZnS5vR_.js → prefs-bw85lYLp.js} +1 -1
- package/dist/assets/{privacy-page-nZvfh3dh.js → privacy-page-B0QN4qZO.js} +1 -1
- package/dist/assets/privacy-screen-vp4uUpm6.js +1 -0
- package/dist/assets/{provider-callback-page-BwANEd-K.js → provider-callback-page-BH6DES7c.js} +1 -1
- package/dist/assets/{provider-key-B3R8SlMJ.js → provider-key-D2Nsf9zh.js} +1 -1
- package/dist/assets/{provider-signup-page-Cz2DP-jP.js → provider-signup-page-BAPcG_iJ.js} +1 -1
- package/dist/assets/provisioning-targets-BTjyR9nk.js +1 -0
- package/dist/assets/{quick-input-page-CF2MJnCE.js → quick-input-page-Dq-0BGrJ.js} +1 -1
- package/dist/assets/{react-query.gen-r3I6j8-1.js → react-query.gen-C5c1Acuq.js} +1 -1
- package/dist/assets/{remote-gateway-session-BHjZ9gQ6.js → remote-gateway-session-yRYdsfDx.js} +1 -1
- package/dist/assets/{research-mock-page-DnbQpZcp.js → research-mock-page-BJEpxdMv.js} +1 -1
- package/dist/assets/research-onboarding-route-CFL3q__m.js +50 -0
- package/dist/assets/{research-results-view-CxhTn2J7.js → research-results-view-C4sIw2gK.js} +1 -1
- package/dist/assets/{resolved-assistants-store-C-PdxK8f.js → resolved-assistants-store-Dw5UuGyB.js} +1 -1
- package/dist/assets/retire-confirm-dialog-CsSY2-T8.js +1 -0
- package/dist/assets/review-terms-screen-BhyRQBjl.js +1 -0
- package/dist/assets/{risk-C_bbPQPd.js → risk-CdT92Vqr.js} +2 -2
- package/dist/assets/routes-CaP5Tqj7.js +23 -0
- package/dist/assets/routes-D9sNqB_o.js +1 -0
- package/dist/assets/{runtime-upgrade-banner-DQI-l3Yc.js → runtime-upgrade-banner-DPqzKtZU.js} +2 -2
- package/dist/assets/{schedules-DF5cTXBf.js → schedules-6hzhR_C_.js} +1 -1
- package/dist/assets/schedules-page-DVnUeaoB.js +1 -0
- package/dist/assets/{sdk.gen-BVAVE6A_.js → sdk.gen-BHZ0fJla.js} +1 -1
- package/dist/assets/{security-redirect-page-BEohiPDW.js → security-redirect-page-4DKqyPsf.js} +1 -1
- package/dist/assets/{select-assistant-screen-C2q8wO2f.js → select-assistant-screen-CVV3iqMy.js} +1 -1
- package/dist/assets/{settings-divider-CXIrJieH.js → settings-divider-Ro7lPCkV.js} +1 -1
- package/dist/assets/settings-layout-B_4PKJr9.js +1 -0
- package/dist/assets/settings-navigation-CSG7jiyJ.js +1 -0
- package/dist/assets/{share-feedback-modal-B05-nKgu.js → share-feedback-modal-BoWCg4KH.js} +1 -1
- package/dist/assets/{sidebar-tree-ByF78JHW.js → sidebar-tree-C_PPNHe5.js} +1 -1
- package/dist/assets/{signup-page-CGauGszD.js → signup-page-D0S_8XYw.js} +1 -1
- package/dist/assets/{signup-shell-Bw6r9tWP.js → signup-shell-CMsBZ8vG.js} +1 -1
- package/dist/assets/{site-favicon-CCyX9r-Z.js → site-favicon-BB1pYWLF.js} +1 -1
- package/dist/assets/skill-detail-page-CTobyK6L.js +1 -0
- package/dist/assets/{skill-detail-panel-crqCBZbU.js → skill-detail-panel-CNzionF7.js} +1 -1
- package/dist/assets/{skills-C1CAcW7T.js → skills-Cum1XWT2.js} +1 -1
- package/dist/assets/{skills-page-BikP-AR7.js → skills-page-DZVxAbua.js} +1 -1
- package/dist/assets/slack-setup-wizard-DK2F8LXc.js +1 -0
- package/dist/assets/{sound-manager-xEbUgFv-.js → sound-manager-Bx-OcMAz.js} +1 -1
- package/dist/assets/{sounds-page-9_otQ97S.js → sounds-page-C45-RF4i.js} +1 -1
- package/dist/assets/{src-D89CNeuT.js → src-te3YTBG-.js} +4 -4
- package/dist/assets/{start-screen-DSF3melT.js → start-screen-CkJiCl9b.js} +1 -1
- package/dist/assets/{subagent-detail-panel-q0g4JWAX.js → subagent-detail-panel-DyyMdaNO.js} +1 -1
- package/dist/assets/subagent-store-MDi6lBXs.js +3 -0
- package/dist/assets/{superpowers-page-UgdWFWsF.js → superpowers-page-CaLzK5D-.js} +1 -1
- package/dist/assets/{system-events-page-Bw94HLwx.js → system-events-page-DXAU01ZO.js} +1 -1
- package/dist/assets/{system-events-redirect-page-BGZQC8-K.js → system-events-redirect-page-Bm9bipNo.js} +1 -1
- package/dist/assets/{theme-stage-page-bEZxHTyN.js → theme-stage-page-BDTCmutO.js} +1 -1
- package/dist/assets/{threshold-presets-BO8En2q0.js → threshold-presets-BdTTHCnm.js} +1 -1
- package/dist/assets/{tiptap-document-editor-CyY1HRzV.js → tiptap-document-editor-CHn2wCDv.js} +1 -1
- package/dist/assets/{tool-detail-panel-DFMOphDJ.js → tool-detail-panel-DFrWEWKG.js} +1 -1
- package/dist/assets/{transcript-message-body-shared-nWAkSzar.js → transcript-message-body-shared-D9_d2c2X.js} +1 -1
- package/dist/assets/{trust-rules-api-C0-hkXT2.js → trust-rules-api-B5lfygCA.js} +1 -1
- package/dist/assets/{upgrade-cancel-page-DwxI6NLL.js → upgrade-cancel-page-eiJEAvFz.js} +1 -1
- package/dist/assets/{upgrade-success-page-SO92J-Rf.js → upgrade-success-page-Cb1Gl4MM.js} +1 -1
- package/dist/assets/{usage-redirect-page-BJBkecYr.js → usage-redirect-page-BOfJ7uot.js} +1 -1
- package/dist/assets/{use-active-assistant-id-Cjbsk2Q3.js → use-active-assistant-id-CldxA_-M.js} +1 -1
- package/dist/assets/{use-app-theme-Q42fO5Nz.js → use-app-theme-Dg8A6vPA.js} +1 -1
- package/dist/assets/{use-assistant-avatar-DSu2_Mzi.js → use-assistant-avatar-bwLHcMz4.js} +1 -1
- package/dist/assets/{use-assistant-capability-gxe56K48.js → use-assistant-capability-CDS7GbSO.js} +1 -1
- package/dist/assets/{use-assistant-identity-details-CpHkzjrI.js → use-assistant-identity-details-9JRWxXTQ.js} +1 -1
- package/dist/assets/{use-avatar-accent-var-PV9tsBJj.js → use-avatar-accent-var-vpakP1ce.js} +1 -1
- package/dist/assets/{use-bookmarks-BbJtKyHe.js → use-bookmarks-CK-nOiT-.js} +1 -1
- package/dist/assets/{use-bundled-avatar-components-Gp_YaD6o.js → use-bundled-avatar-components-Bbs4vCnX.js} +2 -2
- package/dist/assets/use-checkout-dismiss-refresh-CqGR_OsB.js +1 -0
- package/dist/assets/use-command-palette-sections-CkpUaAKs.js +1 -0
- package/dist/assets/{use-edge-swipe-DVeTYbmY.js → use-edge-swipe-Wm9pU2HX.js} +1 -1
- package/dist/assets/{use-edge-swipe-back-DDq-N20h.js → use-edge-swipe-back-BcSHNCwS.js} +1 -1
- package/dist/assets/{use-edit-app-DfFIonqZ.js → use-edit-app-B_Nequzs.js} +1 -1
- package/dist/assets/{use-effective-timezone-LqzBqHBy.js → use-effective-timezone-Dqs8OaXJ.js} +1 -1
- package/dist/assets/use-invite-link-dialog-CPPOduk8.js +1 -0
- package/dist/assets/{use-ios-app-nudge-BO8jWfr0.js → use-ios-app-nudge-B-ojl-b1.js} +1 -1
- package/dist/assets/use-is-org-ready-C5xlYywh.js +1 -0
- package/dist/assets/use-onboarding-login-DI5gvqEG.js +1 -0
- package/dist/assets/use-platform-assistant-id-DOsSt6k1.js +1 -0
- package/dist/assets/use-platform-gate-C65D14xY.js +1 -0
- package/dist/assets/{use-reduced-motion-Se97jRQ-.js → use-reduced-motion-W1fCe3vS.js} +1 -1
- package/dist/assets/{use-save-twilio-credentials-CUQ6gdIj.js → use-save-twilio-credentials-c9xG9RPK.js} +1 -1
- package/dist/assets/{use-skill-actions-DgK7Nmt1.js → use-skill-actions-BAAx1Eia.js} +1 -1
- package/dist/assets/{use-skill-detail-files-_v4zUF6S.js → use-skill-detail-files-BvOKvY0-.js} +1 -1
- package/dist/assets/use-sticky-profiles-CdWX0mgI.js +1 -0
- package/dist/assets/{use-subagent-card-data-YbAN73Fw.js → use-subagent-card-data-DHuNtSy9.js} +1 -1
- package/dist/assets/use-supports-credentials-settings-BbfghcWq.js +1 -0
- package/dist/assets/{use-swipe-engine-DRvffOuu.js → use-swipe-engine-6PcZZMVD.js} +1 -1
- package/dist/assets/{utils-BtC1KiH4.js → utils-B0rBxtYP.js} +1 -1
- package/dist/assets/{viewer-store-BDpZVbcr.js → viewer-store-DLk-jp8U.js} +1 -1
- package/dist/assets/{voice-list-DJeZeHuA.js → voice-list-CW8mzaHU.js} +1 -1
- package/dist/assets/{voice-page-DQcyxaPl.js → voice-page-0zsCIOdT.js} +1 -1
- package/dist/assets/{voice-picker-modal-BXMvQihh.js → voice-picker-modal-PdsZwrsV.js} +1 -1
- package/dist/assets/{weather-forecast-display-D2sn4QD4.js → weather-forecast-display-BAAnrNdd.js} +1 -1
- package/dist/assets/{web-Bj8XUknF.js → web-B3Q8ntoM.js} +1 -1
- package/dist/assets/{web-BE7l06mM.js → web-BlvxItuO.js} +1 -1
- package/dist/assets/{welcome-screen-n-cGiojh.js → welcome-screen-DwOAZpZS.js} +1 -1
- package/dist/assets/{workflow-detail-panel-Cq3AwWXE.js → workflow-detail-panel-DGL2BZSr.js} +1 -1
- package/dist/assets/{workflow-store-QV5aMjTt.js → workflow-store-lM7yKbUo.js} +1 -1
- package/dist/assets/workspace-page-D4NvhCv1.js +1 -0
- package/dist/assets/workspace-tree-query-B1A-efgV.js +1 -0
- package/dist/index.html +144 -141
- package/package.json +1 -1
- package/dist/assets/access-D3fUSyFH.js +0 -1
- package/dist/assets/ai-page-BznkOakE.js +0 -1
- package/dist/assets/animated-avatar-DzfEDnTh.js +0 -1
- package/dist/assets/api-CJFoPWHm.js +0 -1
- package/dist/assets/auth-store-D9BqFncz.js +0 -2
- package/dist/assets/billing-page-Cc5fHBn2.js +0 -3
- package/dist/assets/build-state-WR9nlRgM.js +0 -1
- package/dist/assets/channels-page-route-wxREzs6W.js +0 -9
- package/dist/assets/chat-avatar-DIDq1Jt5.js +0 -1
- package/dist/assets/chat-markdown-message-ERK48E1Z.js +0 -2
- package/dist/assets/client-feature-flag-store-oTfL8Oiz.js +0 -1
- package/dist/assets/consent-DbD2Hcbf.js +0 -1
- package/dist/assets/conversation-navigation-Wm7_pLFs.js +0 -1
- package/dist/assets/credentials-page-B-AJyMvk.js +0 -1
- package/dist/assets/debug-page-DWEIExMH.js +0 -4
- package/dist/assets/document-viewer-container-Cl4jDmfx.js +0 -2
- package/dist/assets/effective-timezone-qiooajmO.js +0 -1
- package/dist/assets/esm-CDPcGg-B.js +0 -2
- package/dist/assets/feature-flag-catalog-BAyJlRMY.js +0 -1
- package/dist/assets/file-Ddp9Dqgl.js +0 -1
- package/dist/assets/file-markdown-CLmQTpqL.js +0 -2
- package/dist/assets/general-page-DpKVqj5t.js +0 -1
- package/dist/assets/hatching-screen-d3SWqFKY.js +0 -1
- package/dist/assets/index-B0l9Wjpj.css +0 -2
- package/dist/assets/index-BOC87TAq.js +0 -11
- package/dist/assets/integrations-page-D5KWY6v-.js +0 -1
- package/dist/assets/local-mode-Ckii2tmN.js +0 -39
- package/dist/assets/login-flow-BCNBNLzu.js +0 -1
- package/dist/assets/native-anchor-CVNubOIm.js +0 -1
- package/dist/assets/native-biometric-CntdlaL-.js +0 -6
- package/dist/assets/onboarding-store-DutUn1E3.js +0 -1
- package/dist/assets/open-workspace-file-CpveqBim.js +0 -2
- package/dist/assets/plans-page-C-JyEPT_.js +0 -1
- package/dist/assets/privacy-screen-D2aDT6E6.js +0 -1
- package/dist/assets/research-onboarding-route-yg2iKw6i.js +0 -50
- package/dist/assets/retire-confirm-dialog--eF_pXhA.js +0 -1
- package/dist/assets/review-terms-screen-Dpk-gyJE.js +0 -1
- package/dist/assets/routes-BBFM42ft.js +0 -23
- package/dist/assets/routes-vE-2hncW.js +0 -1
- package/dist/assets/schedules-page-Dgu-znOf.js +0 -1
- package/dist/assets/settings-layout-b7iBWIT-.js +0 -1
- package/dist/assets/settings-navigation-BGdjm0Ki.js +0 -1
- package/dist/assets/skill-detail-page-GlV5JRzQ.js +0 -1
- package/dist/assets/slack-setup-wizard-DKj1_XdA.js +0 -1
- package/dist/assets/stream-watchdog-BafbDdX9.js +0 -1
- package/dist/assets/subagent-store-D-GPthdC.js +0 -3
- package/dist/assets/use-checkout-dismiss-refresh-kdxxDNpF.js +0 -1
- package/dist/assets/use-command-palette-sections-BWjxkwKB.js +0 -1
- package/dist/assets/use-invite-link-dialog-DX58-LWY.js +0 -1
- package/dist/assets/use-is-org-ready-X_98Cnx9.js +0 -1
- package/dist/assets/use-onboarding-login-B8rpbSEh.js +0 -1
- package/dist/assets/use-platform-gate-Dry0Nv4f.js +0 -1
- package/dist/assets/use-sticky-profiles-B0zVD3uk.js +0 -1
- package/dist/assets/workspace-page-CL9z2Jrs.js +0 -1
- /package/dist/assets/{app-info-qQex8Ndg.js → app-info-DefDjPEl.js} +0 -0
- /package/dist/assets/{app-types-CBg2__YH.js → app-types-DSkgEmV3.js} +0 -0
- /package/dist/assets/{apple-logo-poQac1tY.js → apple-logo--8ZT6Umn.js} +0 -0
- /package/dist/assets/{avatar-bundled-components-CecbESCk.js → avatar-bundled-components-DPqbVXi9.js} +0 -0
- /package/dist/assets/{avatar-subagent-C9WTTUjI.js → avatar-subagent-CRA2B82x.js} +0 -0
- /package/dist/assets/{avatar-svg-compositor-FtVPqzlC.js → avatar-svg-compositor-Dl-ckXRE.js} +0 -0
- /package/dist/assets/{avatar-tone-CMoWR2JX.js → avatar-tone-BKwvoDSj.js} +0 -0
- /package/dist/assets/{browser-timezone-C_0jBUid.js → browser-timezone-CGwaX5Uv.js} +0 -0
- /package/dist/assets/{build.umd-59c0EvgO.js → build.umd-Bixyt_xE.js} +0 -0
- /package/dist/assets/{by-tool-use-id-index-aoRP6d51.js → by-tool-use-id-index-M50wYE1f.js} +0 -0
- /package/dist/assets/{chat-BrL0k2UY.js → chat-CDFCY8f0.js} +0 -0
- /package/dist/assets/{chat-layout-slots-store-C2IFeZFr.js → chat-layout-slots-store-BJfYGnd7.js} +0 -0
- /package/dist/assets/{conversation-selection-3EKkKt0G.js → conversation-selection-oJy8Oht3.js} +0 -0
- /package/dist/assets/{conversation-store-bshB7nDP.js → conversation-store-C--wWMNW.js} +0 -0
- /package/dist/assets/{definitions-PikNVFdS.js → definitions-D_AmTPWg.js} +0 -0
- /package/dist/assets/{definitions-OhJf_HMS.js → definitions-JF3PcEff.js} +0 -0
- /package/dist/assets/{dictation-overlay-page-zpoNqudq.js → dictation-overlay-page-DtgaXzdF.js} +0 -0
- /package/dist/assets/{edge-swipe-arbiter-store-DyemvsR-.js → edge-swipe-arbiter-store-CQnDi2yf.js} +0 -0
- /package/dist/assets/{edit-chat-session-yPtopwB6.js → edit-chat-session-D37Qx6ol.js} +0 -0
- /package/dist/assets/{emoji-catalog-data-COLzb2Wj.js → emoji-catalog-data-BCc1YNMR.js} +0 -0
- /package/dist/assets/{environment-store-BFVmN-OW.js → environment-store-Bft0lpgv.js} +0 -0
- /package/dist/assets/{esm-DEY-lP80.js → esm-DNvorKcw.js} +0 -0
- /package/dist/assets/{external-urls-BYwuIdYk.js → external-urls-_vjsdj2L.js} +0 -0
- /package/dist/assets/{file-editor-DpNdd7HZ.js → file-editor-phorJEVv.js} +0 -0
- /package/dist/assets/{format-date-RZ9mCDCy.js → format-date-BGnM4mqL.js} +0 -0
- /package/dist/assets/{format-file-size-CQaPE33p.js → format-file-size-BgMTiWPt.js} +0 -0
- /package/dist/assets/{hard-navigate-DZlpL1No.js → hard-navigate-DyUrcxe0.js} +0 -0
- /package/dist/assets/{link-click-BoSQACXo.js → link-click-DLYgWZdo.js} +0 -0
- /package/dist/assets/{misc-DckBb5zz.js → misc-CuYswARt.js} +0 -0
- /package/dist/assets/{mutation-error-CwYvaYnb.js → mutation-error-DEknRDAQ.js} +0 -0
- /package/dist/assets/{native-deep-link-PvbVHiPM.js → native-deep-link-DCBJ-Rw0.js} +0 -0
- /package/dist/assets/{oauth-popup-DZEqljdC.js → oauth-popup-OhSYYlQF.js} +0 -0
- /package/dist/assets/{onboarding-step-layout-CURfuoh4.js → onboarding-step-layout-D9rghAjS.js} +0 -0
- /package/dist/assets/{optimistic-lifecycle-C2a6IJ7E.js → optimistic-lifecycle-BINTsVFx.js} +0 -0
- /package/dist/assets/{pdf-IQXtc7_x.js → pdf-BlwLcQAc.js} +0 -0
- /package/dist/assets/{plugin-attribution-DCFEMRUF.js → plugin-attribution-DrwveSW_.js} +0 -0
- /package/dist/assets/{plugins-surface-D4i2vqBz.js → plugins-surface-B43Op43l.js} +0 -0
- /package/dist/assets/{pointer-RLpjGG7A.js → pointer-BbPfN86L.js} +0 -0
- /package/dist/assets/{prechat-DIuViPZk.js → prechat-CeL4a_1i.js} +0 -0
- /package/dist/assets/{profile-metadata-h4CTeMKT.js → profile-metadata-BhqRdqUJ.js} +0 -0
- /package/dist/assets/{proxy-RtD8704m.js → proxy-D7UPVac3.js} +0 -0
- /package/dist/assets/{public-asset-CbDDcomC.js → public-asset-BBVUuTT_.js} +0 -0
- /package/dist/assets/{react-query.gen-Mwd5l-vZ.js → react-query.gen-BC3STDmV.js} +0 -0
- /package/dist/assets/{research-facts-UIXXE8D6.js → research-facts-B7Ev1zv0.js} +0 -0
- /package/dist/assets/{research-onboarding-persistence-CceFfAqE.js → research-onboarding-persistence-51lJoYJ2.js} +0 -0
- /package/dist/assets/{sandbox-bridge-DgDrAWv3.js → sandbox-bridge-BxW8HZq_.js} +0 -0
- /package/dist/assets/{sdk.gen-DPKrJeho.js → sdk.gen-B5ygTzyg.js} +0 -0
- /package/dist/assets/{setting-row-0LXvW7Kh.js → setting-row-BwXKepmJ.js} +0 -0
- /package/dist/assets/{status-badge-pill-z1OKPW3B.js → status-badge-pill-wJPMXQk1.js} +0 -0
- /package/dist/assets/{theme-preferences-ln8xC5zH.js → theme-preferences-Bb2pPRXa.js} +0 -0
- /package/dist/assets/{three-dot-indicator-SJcKW5cG.js → three-dot-indicator-BMvKQ_On.js} +0 -0
- /package/dist/assets/{use-bus-subscription-Cu4Y9DQi.js → use-bus-subscription-nUrbz9Mu.js} +0 -0
- /package/dist/assets/{use-copy-to-clipboard-DBVpNZOl.js → use-copy-to-clipboard-cF7ZSilD.js} +0 -0
- /package/dist/assets/{use-is-mobile-Bz2l7wPL.js → use-is-mobile-BlQuzI5Z.js} +0 -0
- /package/dist/assets/{web-7I6Bn0iP.js → web-9Cwi5jnT.js} +0 -0
- /package/dist/assets/{web-CBluPLFP.js → web-Bi-BvsRt.js} +0 -0
- /package/dist/assets/{web-Cmg3AbZk.js → web-D486_dlv.js} +0 -0
- /package/dist/assets/{web-DHVjLzid.js → web-DUb4LJ2M.js} +0 -0
- /package/dist/assets/{web-BEpNr5_U.js → web-l9DWMZeA.js} +0 -0
- /package/dist/assets/{web-BPyURh2Z.js → web-sr1ba6fP.js} +0 -0
- /package/dist/assets/{workflow-status-DXdUkbSd.js → workflow-status-HyIIhMBP.js} +0 -0
- /package/dist/assets/{workspace-theme-tokens-J8dqkK9n.js → workspace-theme-tokens-DNNwX-XS.js} +0 -0
- /package/dist/assets/{xterm-CdT0HObJ.js → xterm-DgGqTfet.js} +0 -0
- /package/dist/assets/{xterm-addon-fit-CPcVj1i5.js → xterm-addon-fit-BVObYBMM.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e,r as t}from"./chunk-jRWAZmH_.js";import{t as n}from"./react-BFJW0bSv.js";import{F as r,n as i,t as a}from"./button-Dy5001j6.js";import{t as o}from"./useMutation-CXGTrp4W.js";import{t as s}from"./jsx-runtime-D3ZM-ToX.js";import{t as c}from"./bug-VUcJFHwN.js";import{t as l}from"./download-CywcQLB2.js";import{t as u}from"./info-vgPTIsGI.js";import{n as d,t as f}from"./paperclip-c8Xlrnx4.js";import{t as p}from"./loader-circle-XREx3i4W.js";import{t as ee}from"./mail-CMdPNysl.js";import{t as m}from"./message-circle-BsH7vHtN.js";import{t as te}from"./send-Q71Exj3z.js";import{t as h}from"./x-JBAsSOmg.js";import{t as g}from"./notice-BMK7xqUw.js";import{n as ne,t as _}from"./input-hw3el2GJ.js";import{t as v}from"./toggle-lfnhEAcN.js";import{t as y}from"./dropdown-BCfnSdIZ.js";import{t as b}from"./is-electron-m5eeGBnd.js";import{sn as x}from"./sdk.gen-BVAVE6A_.js";import{t as S}from"./impersonate-version-flag-4Ki_3iKD.js";import{n as re}from"./auth-store-D9BqFncz.js";import{t as C}from"./dist-BwAT3VYQ.js";import{n as w}from"./diagnostics-Dva51gYK.js";import{I as ie}from"./react-query.gen-Mwd5l-vZ.js";import"./external-urls-BYwuIdYk.js";var T=e(n(),1),ae=e(r(),1),E=`vellum:debug:`;function oe(){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(E))continue;let r=window.localStorage.getItem(n);r!==null&&(e[n]=r)}}catch{}return e}function D(){return{collectedAt:new Date().toISOString(),resolved:{impersonateAssistantVersion:S()},overrides:oe()}}var O=t({ShareFeedbackModal:()=>z}),k=s(),A=[{value:`bug_report`,label:`Bug Report`,icon:c,includesLogsByDefault:!0},{value:`feature_request`,label:`Feature Request`,icon:d,includesLogsByDefault:!1},{value:`other`,label:`Other`,icon:m,includesLogsByDefault:!1}],j=[{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}],se=j.map(e=>({value:e.value,label:e.label})),M=new Set([`image/png`,`image/jpeg`,`image/gif`,`image/webp`,`video/mp4`,`video/quicktime`,`video/webm`]),N=new Set([`png`,`jpg`,`jpeg`,`gif`,`webp`,`mp4`,`mov`,`webm`]),P=10,F=50*1024*1024,ce={bug_report:`bug_report`,feature_request:`feature_request`,other:`other`};function le(){return b()?`electron`:C.getPlatform()===`ios`?`ios`:`web`}function ue(e){if(e.size>F)return!1;if(e.type&&M.has(e.type))return!0;if(!e.type){let t=e.name.split(`.`).pop()?.toLowerCase();return t?N.has(t):!1}return!1}function I(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 L(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 R(e,t,n,r={}){if(typeof CompressionStream>`u`)return null;let{diagnosticsProvider:i,doctorSessionId:a,extraLogFiles:o=[]}=r,s=new Date,c=j.find(t=>t.value===e),l=s.getTime(),u=c?.cutoffMs==null?null:l-c.cutoffMs,d=u==null?null:new Date(u).toISOString(),f=null;try{f=i?.()??null}catch{f=null}let p=w(f),ee={collected_at:s.toISOString(),time_range:e,cutoff:d,log_window:{start_time_ms:u,end_time_ms:l},assistant_id:t,active_conversation_id:n,doctor_session_id:a??null,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},m=new TextEncoder,te=m.encode(JSON.stringify(ee,null,2)),h=m.encode(JSON.stringify(p,null,2)),g=[I(`web-client-context.json`,te),I(`web-chat-diagnostics.json`,h)],ne=new TextEncoder().encode(JSON.stringify(D(),null,2));g.push(I(`web-debug-flags.json`,ne));for(let e of o){let t=e.contents.trim();t&&g.push(I(e.filename,m.encode(t)))}try{let e=typeof window<`u`?window._vellumDebug?.chat:null;if(e){let t={clientMessages:e.getClientMessages?.()??null,transcriptItems:e.getTranscriptItems?.()??null,pendingInteractions:e.listPendingInteractions?.()??null,thinkingIndicator:e.thinkingIndicator?.()??null,streamingRing:e.streamingRing?.()??null,reconciliationDiagnostics:e.getReconciliationDiagnostics?.()??null},n=new TextEncoder().encode(JSON.stringify(t,null,2));g.push(I(`web-chat-debug-api-triage.json`,n))}}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(t,null,2));g.push(I(`web-sse-liveness-triage.json`,n))}}catch{}if(b()&&window.vellum?.feedback){try{let e=await window.vellum.feedback.diagnostics(),t=new TextEncoder().encode(JSON.stringify(e,null,2));g.push(I(`electron-diagnostics.json`,t))}catch{}try{let e=await window.vellum.feedback.logs();if(e){let t=new TextEncoder().encode(e);g.push(I(`electron-main-logs.txt`,t))}}catch{}}if(t){let e=await L(t,{window:{startTime:u,endTime:l},activeConversationId:n});e&&g.push(I(`platform-logs.tar.gz`,e))}g.push(new Uint8Array(1024));let _=g.reduce((e,t)=>e+t.length,0),v=new Uint8Array(_),y=0;for(let e of g)v.set(e,y),y+=e.length;let x=new Blob([v.buffer]),S=await new Response(x.stream().pipeThrough(new CompressionStream(`gzip`))).blob();return new File([S],`web-client-logs-${s.getTime()}.tar.gz`,{type:`application/gzip`})}function z({open:e,onClose:t,initialReason:n,initialMessage:r,onSubmitted:s,assistantId:c,assistantVersion:d,activeConversationId:m,doctorSessionId:x,doctorSessionLog:S,getDiagnosticsSnapshot:C}){let w=re.use.user(),E=w?.email,oe=w?.isStaff??!1,D=(0,T.useId)(),O=(0,T.useRef)(null),j=(0,T.useRef)(null),M=(0,T.useRef)(null),N=(0,T.useRef)(null),[F,I]=(0,T.useState)(n??`bug_report`),[L,z]=(0,T.useState)(``),[B,pe]=(0,T.useState)(``),[V,H]=(0,T.useState)(A.find(e=>e.value===(n??`bug_report`))?.includesLogsByDefault??!0),[me,he]=(0,T.useState)(!1),[U,W]=(0,T.useState)(`past_hour`),[G,K]=(0,T.useState)([]),[ge,q]=(0,T.useState)(null),[_e,J]=(0,T.useState)(!1),[Y,ve]=(0,T.useState)(!1),[X,ye]=(0,T.useState)(!1),Z=o(ie()),[be,Q]=(0,T.useState)(!1),$=Z.isPending||be,xe=!E,Se=(0,T.useMemo)(()=>L.trim().length>0&&B.trim().length>0,[L,B]);(0,T.useEffect)(()=>{if(!e)return;let t=n??`bug_report`;I(t),z(r??``),pe(E??``),H(A.find(e=>e.value===t)?.includesLogsByDefault??!0),he(!1),W(`past_hour`),K([]),ve(!1),ye(!1),q(null),Q(!1),Z.reset();let i=setTimeout(()=>{E?M.current?.focus():N.current?.focus()},50);return()=>clearTimeout(i)},[e]),(0,T.useEffect)(()=>{if(!e)return;let t=document.body.style.overflow;return document.body.style.overflow=`hidden`,()=>{document.body.style.overflow=t}},[e]);let Ce=e=>{I(e),me||H(A.find(t=>t.value===e)?.includesLogsByDefault??!1)},we=()=>{H(e=>!e),he(!0)},Te=S?.trim()?[{filename:`doctor-session.txt`,contents:S}]:[],Ee=(0,T.useCallback)(e=>{e.key===`Escape`&&!$&&t()},[t,$]),De=(0,T.useCallback)(e=>{e.target===O.current&&!$&&t()},[t,$]),Oe=(0,T.useCallback)(e=>{K(t=>{let n=P-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(!ue(t))continue;let e=`${t.name}:${t.size}`;r.has(e)||(r.add(e),i.push(t))}return i.length>0?[...t,...i]:t})},[]),ke=e=>{e.target.files&&Oe(Array.from(e.target.files)),e.target.value=``},Ae=e=>{e.preventDefault(),J(!1),e.dataTransfer.files?.length&&Oe(Array.from(e.dataTransfer.files))},je=e=>{e.preventDefault(),J(!0)},Me=e=>{e.preventDefault(),e.currentTarget===e.target&&J(!1)},Ne=e=>{K(t=>t.filter((t,n)=>n!==e))};return e?(0,ae.createPortal)((0,k.jsx)(`div`,{ref:O,role:`dialog`,"aria-modal":`true`,"aria-labelledby":D,className:`fixed inset-0 z-50 flex items-center justify-center bg-black/50`,onKeyDown:Ee,onClick:De,onDrop:Ae,onDragOver:je,onDragLeave:Me,children:(0,k.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,k.jsxs)(`div`,{className:`flex items-center justify-between border-b pb-4`,style:{borderColor:`var(--border-subtle)`},children:[(0,k.jsx)(`h2`,{id:D,className:`!m-0 text-title-small text-[var(--content-default)]`,children:`Share Feedback`}),(0,k.jsx)(a,{variant:`ghost`,iconOnly:(0,k.jsx)(h,{}),onClick:t,disabled:$,"aria-label":`Close`,tintColor:`var(--content-secondary)`})]}),(0,k.jsxs)(`div`,{className:`flex flex-col gap-3.5 overflow-y-auto pt-4 ${$?`pointer-events-none opacity-60`:``}`,children:[oe&&(0,k.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,k.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-3`,children:[(0,k.jsx)(v,{checked:X,onChange:()=>ye(e=>!e),"aria-label":`Download diagnostics directly`}),(0,k.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:`Download diagnostics directly`})]}),(0,k.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,k.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,k.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:`Time range`}),(0,k.jsx)(y,{options:se,value:U,onChange:W,"aria-label":`Diagnostics time range`})]}):(0,k.jsxs)(k.Fragment,{children:[xe&&(0,k.jsx)(_,{id:`${D}-email`,ref:N,label:`Email`,type:`email`,placeholder:`you@example.com`,value:B,onChange:e=>pe(e.target.value),leftIcon:(0,k.jsx)(ee,{className:`h-4 w-4`,"aria-hidden":!0}),fullWidth:!0}),(0,k.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,k.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:`Category`}),(0,k.jsx)(`div`,{className:`flex gap-2`,children:A.map(e=>(0,k.jsx)(de,{option:e,isSelected:F===e.value,onSelect:()=>Ce(e.value)},e.value))})]}),(0,k.jsx)(`hr`,{className:`border-[var(--border-subtle)]`}),F===`bug_report`&&(0,k.jsxs)(g,{tone:`info`,children:[`Tip: Get faster support by posting in our`,` `,(0,k.jsx)(`a`,{href:`https://vellum.ai/community`,target:`_blank`,rel:`noopener noreferrer`,className:`underline text-[var(--content-default)]`,children:`Discord community`})]}),F===`feature_request`&&(0,k.jsxs)(g,{tone:`info`,children:[`Tip: Vote on features on our`,` `,(0,k.jsx)(`a`,{href:`https://vellum.ai/roadmap`,target:`_blank`,rel:`noopener noreferrer`,className:`underline text-[var(--content-default)]`,children:`public roadmap`})]}),(0,k.jsx)(ne,{id:`${D}-message`,ref:M,label:F===`bug_report`?`What went wrong?`:F===`feature_request`?`Describe your idea`:`What's on your mind?`,rows:3,placeholder:F===`bug_report`?`What did you expect to happen, and what happened instead?`:F===`feature_request`?`What problem would this solve for you?`:`Share your thoughts...`,value:L,onChange:e=>z(e.target.value),fullWidth:!0}),F!==`feature_request`&&(0,k.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,k.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[(0,k.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2.5`,children:[(0,k.jsx)(v,{checked:V,onChange:we,"aria-label":`Include browser diagnostics`}),(0,k.jsx)(`span`,{className:`text-body-medium-lighter leading-6 text-[var(--content-default)]`,children:`Include diagnostics`})]}),(0,k.jsx)(i,{content:`Diagnostics include browser context, assistant logs, and timestamps — never passwords or credentials.`,children:(0,k.jsx)(`button`,{type:`button`,"aria-label":`About diagnostics`,className:`inline-flex items-center justify-center text-[var(--content-tertiary)]`,children:(0,k.jsx)(u,{className:`h-3.5 w-3.5`})})})]}),V&&(0,k.jsx)(y,{options:se,value:U,onChange:W,"aria-label":`Diagnostics time range`})]}),b()&&m&&F!==`feature_request`&&(0,k.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2.5`,children:[(0,k.jsx)(v,{checked:Y,onChange:()=>ve(e=>!e),"aria-label":`Include the most recent conversation`}),(0,k.jsx)(`span`,{className:`text-body-medium-lighter leading-6 text-[var(--content-default)]`,children:`Include the most recent conversation`})]}),(0,k.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,k.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,k.jsxs)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:[`Attachments`,G.length>0&&(0,k.jsxs)(`span`,{className:`text-[var(--content-tertiary)]`,children:[` · `,G.length,`/`,P]})]}),(0,k.jsx)(a,{variant:`outlined`,size:`compact`,leftIcon:(0,k.jsx)(f,{}),onClick:()=>j.current?.click(),disabled:G.length>=P,children:`Add files`}),(0,k.jsx)(`input`,{ref:j,type:`file`,multiple:!0,accept:`image/png,image/jpeg,image/gif,image/webp,video/mp4,video/quicktime,video/webm`,onChange:ke,className:`hidden`})]}),G.length>0&&(0,k.jsx)(`div`,{className:`flex gap-2 overflow-x-auto`,children:G.map((e,t)=>(0,k.jsx)(fe,{file:e,onRemove:()=>Ne(t)},`${e.name}-${t}`))}),_e&&(0,k.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Drop files to attach…`})]})]}),ge&&(0,k.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--system-negative-strong)]`,children:ge})]}),(0,k.jsx)(`div`,{className:`mt-4 flex items-center justify-end gap-2 border-t pt-4`,style:{borderColor:`var(--border-subtle)`},children:$?(0,k.jsxs)(`span`,{className:`inline-flex items-center gap-2 text-body-medium-lighter text-[var(--content-secondary)]`,children:[(0,k.jsx)(p,{className:`h-4 w-4 animate-spin`}),X?`Preparing diagnostics…`:`Sending feedback…`]}):(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(a,{variant:`ghost`,onClick:t,children:`Cancel`}),X?(0,k.jsx)(a,{variant:`primary`,leftIcon:(0,k.jsx)(l,{}),onClick:async()=>{if(!$){q(null),Q(!0);try{let e=await R(U,c??null,b()?Y?m??null:null:m??null,{diagnosticsProvider:C,doctorSessionId:x,extraLogFiles:Te});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,k.jsx)(a,{variant:`primary`,leftIcon:(0,k.jsx)(te,{}),onClick:async()=>{if(!(!Se||$)){q(null),Q(!0);try{let e=V&&F!==`feature_request`?await R(U,c??null,b()?Y?m??null:null:m??null,{diagnosticsProvider:C,doctorSessionId:x,extraLogFiles:Te}):null;await Z.mutateAsync({headers:{"Content-Type":null},body:{message:L.trim(),classification:ce[F],email:B.trim(),client:le(),client_version:void 0,...c?{assistant_id:c}:{},...d?{assistant_version:d}:{},...x?{doctor_session_id:x}:{},...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}}),s?.(),t()}catch(e){q(e instanceof Error?e.message:`Failed to submit feedback. Please try again.`)}finally{Q(!1)}}},disabled:!Se,children:`Submit`})]})})]})}),document.body):null}function de({option:e,isSelected:t,onSelect:n}){let r=e.icon;return(0,k.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,k.jsx)(r,{className:`h-3.5 w-3.5 shrink-0`,style:{color:t?`var(--primary-base)`:`var(--content-secondary)`}}),(0,k.jsx)(`span`,{className:`text-body-small-default`,style:{color:t?`var(--primary-base)`:`var(--content-default)`},children:e.label})]})}function fe({file:e,onRemove:t}){let n=e.type.startsWith(`image/`),r=(0,T.useMemo)(()=>n?URL.createObjectURL(e):null,[e,n]);return(0,T.useEffect)(()=>{if(r)return()=>URL.revokeObjectURL(r)},[r]),(0,k.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,k.jsx)(`img`,{src:r,alt:e.name,className:`h-full w-full object-cover`}):(0,k.jsx)(f,{className:`h-5 w-5 text-[var(--content-secondary)]`}),(0,k.jsx)(a,{variant:`ghost`,size:`compact`,iconOnly:(0,k.jsx)(h,{}),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{O as n,z as t};
|
|
1
|
+
import{o as e,r as t}from"./chunk-jRWAZmH_.js";import{t as n}from"./react-BFJW0bSv.js";import{F as r,n as i,t as a}from"./button-Dy5001j6.js";import{t as o}from"./useMutation-CXGTrp4W.js";import{t as s}from"./jsx-runtime-D3ZM-ToX.js";import{t as c}from"./bug-VUcJFHwN.js";import{t as l}from"./download-CywcQLB2.js";import{t as u}from"./info-vgPTIsGI.js";import{n as d,t as f}from"./paperclip-c8Xlrnx4.js";import{t as p}from"./loader-circle-XREx3i4W.js";import{t as ee}from"./mail-CMdPNysl.js";import{t as m}from"./message-circle-BsH7vHtN.js";import{t as te}from"./send-Q71Exj3z.js";import{t as h}from"./x-JBAsSOmg.js";import{t as g}from"./notice-BMK7xqUw.js";import{n as ne,t as _}from"./input-hw3el2GJ.js";import{t as v}from"./toggle-lfnhEAcN.js";import{t as y}from"./dropdown-BCfnSdIZ.js";import{t as b}from"./is-electron-m5eeGBnd.js";import{sn as x}from"./sdk.gen-BHZ0fJla.js";import{t as S}from"./impersonate-version-flag-4Ki_3iKD.js";import{n as re}from"./auth-store-5qq59BAN.js";import{t as C}from"./dist-BwAT3VYQ.js";import{n as w}from"./diagnostics-T_96Uyh5.js";import{I as ie}from"./react-query.gen-BC3STDmV.js";import"./external-urls-_vjsdj2L.js";var T=e(n(),1),ae=e(r(),1),E=`vellum:debug:`;function oe(){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(E))continue;let r=window.localStorage.getItem(n);r!==null&&(e[n]=r)}}catch{}return e}function D(){return{collectedAt:new Date().toISOString(),resolved:{impersonateAssistantVersion:S()},overrides:oe()}}var O=t({ShareFeedbackModal:()=>z}),k=s(),A=[{value:`bug_report`,label:`Bug Report`,icon:c,includesLogsByDefault:!0},{value:`feature_request`,label:`Feature Request`,icon:d,includesLogsByDefault:!1},{value:`other`,label:`Other`,icon:m,includesLogsByDefault:!1}],j=[{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}],se=j.map(e=>({value:e.value,label:e.label})),M=new Set([`image/png`,`image/jpeg`,`image/gif`,`image/webp`,`video/mp4`,`video/quicktime`,`video/webm`]),N=new Set([`png`,`jpg`,`jpeg`,`gif`,`webp`,`mp4`,`mov`,`webm`]),P=10,F=50*1024*1024,ce={bug_report:`bug_report`,feature_request:`feature_request`,other:`other`};function le(){return b()?`electron`:C.getPlatform()===`ios`?`ios`:`web`}function ue(e){if(e.size>F)return!1;if(e.type&&M.has(e.type))return!0;if(!e.type){let t=e.name.split(`.`).pop()?.toLowerCase();return t?N.has(t):!1}return!1}function I(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 L(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 R(e,t,n,r={}){if(typeof CompressionStream>`u`)return null;let{diagnosticsProvider:i,doctorSessionId:a,extraLogFiles:o=[]}=r,s=new Date,c=j.find(t=>t.value===e),l=s.getTime(),u=c?.cutoffMs==null?null:l-c.cutoffMs,d=u==null?null:new Date(u).toISOString(),f=null;try{f=i?.()??null}catch{f=null}let p=w(f),ee={collected_at:s.toISOString(),time_range:e,cutoff:d,log_window:{start_time_ms:u,end_time_ms:l},assistant_id:t,active_conversation_id:n,doctor_session_id:a??null,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},m=new TextEncoder,te=m.encode(JSON.stringify(ee,null,2)),h=m.encode(JSON.stringify(p,null,2)),g=[I(`web-client-context.json`,te),I(`web-chat-diagnostics.json`,h)],ne=new TextEncoder().encode(JSON.stringify(D(),null,2));g.push(I(`web-debug-flags.json`,ne));for(let e of o){let t=e.contents.trim();t&&g.push(I(e.filename,m.encode(t)))}try{let e=typeof window<`u`?window._vellumDebug?.chat:null;if(e){let t={clientMessages:e.getClientMessages?.()??null,transcriptItems:e.getTranscriptItems?.()??null,pendingInteractions:e.listPendingInteractions?.()??null,thinkingIndicator:e.thinkingIndicator?.()??null,streamingRing:e.streamingRing?.()??null,reconciliationDiagnostics:e.getReconciliationDiagnostics?.()??null},n=new TextEncoder().encode(JSON.stringify(t,null,2));g.push(I(`web-chat-debug-api-triage.json`,n))}}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(t,null,2));g.push(I(`web-sse-liveness-triage.json`,n))}}catch{}if(b()&&window.vellum?.feedback){try{let e=await window.vellum.feedback.diagnostics(),t=new TextEncoder().encode(JSON.stringify(e,null,2));g.push(I(`electron-diagnostics.json`,t))}catch{}try{let e=await window.vellum.feedback.logs();if(e){let t=new TextEncoder().encode(e);g.push(I(`electron-main-logs.txt`,t))}}catch{}}if(t){let e=await L(t,{window:{startTime:u,endTime:l},activeConversationId:n});e&&g.push(I(`platform-logs.tar.gz`,e))}g.push(new Uint8Array(1024));let _=g.reduce((e,t)=>e+t.length,0),v=new Uint8Array(_),y=0;for(let e of g)v.set(e,y),y+=e.length;let x=new Blob([v.buffer]),S=await new Response(x.stream().pipeThrough(new CompressionStream(`gzip`))).blob();return new File([S],`web-client-logs-${s.getTime()}.tar.gz`,{type:`application/gzip`})}function z({open:e,onClose:t,initialReason:n,initialMessage:r,onSubmitted:s,assistantId:c,assistantVersion:d,activeConversationId:m,doctorSessionId:x,doctorSessionLog:S,getDiagnosticsSnapshot:C}){let w=re.use.user(),E=w?.email,oe=w?.isStaff??!1,D=(0,T.useId)(),O=(0,T.useRef)(null),j=(0,T.useRef)(null),M=(0,T.useRef)(null),N=(0,T.useRef)(null),[F,I]=(0,T.useState)(n??`bug_report`),[L,z]=(0,T.useState)(``),[B,pe]=(0,T.useState)(``),[V,H]=(0,T.useState)(A.find(e=>e.value===(n??`bug_report`))?.includesLogsByDefault??!0),[me,he]=(0,T.useState)(!1),[U,W]=(0,T.useState)(`past_hour`),[G,K]=(0,T.useState)([]),[ge,q]=(0,T.useState)(null),[_e,J]=(0,T.useState)(!1),[Y,ve]=(0,T.useState)(!1),[X,ye]=(0,T.useState)(!1),Z=o(ie()),[be,Q]=(0,T.useState)(!1),$=Z.isPending||be,xe=!E,Se=(0,T.useMemo)(()=>L.trim().length>0&&B.trim().length>0,[L,B]);(0,T.useEffect)(()=>{if(!e)return;let t=n??`bug_report`;I(t),z(r??``),pe(E??``),H(A.find(e=>e.value===t)?.includesLogsByDefault??!0),he(!1),W(`past_hour`),K([]),ve(!1),ye(!1),q(null),Q(!1),Z.reset();let i=setTimeout(()=>{E?M.current?.focus():N.current?.focus()},50);return()=>clearTimeout(i)},[e]),(0,T.useEffect)(()=>{if(!e)return;let t=document.body.style.overflow;return document.body.style.overflow=`hidden`,()=>{document.body.style.overflow=t}},[e]);let Ce=e=>{I(e),me||H(A.find(t=>t.value===e)?.includesLogsByDefault??!1)},we=()=>{H(e=>!e),he(!0)},Te=S?.trim()?[{filename:`doctor-session.txt`,contents:S}]:[],Ee=(0,T.useCallback)(e=>{e.key===`Escape`&&!$&&t()},[t,$]),De=(0,T.useCallback)(e=>{e.target===O.current&&!$&&t()},[t,$]),Oe=(0,T.useCallback)(e=>{K(t=>{let n=P-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(!ue(t))continue;let e=`${t.name}:${t.size}`;r.has(e)||(r.add(e),i.push(t))}return i.length>0?[...t,...i]:t})},[]),ke=e=>{e.target.files&&Oe(Array.from(e.target.files)),e.target.value=``},Ae=e=>{e.preventDefault(),J(!1),e.dataTransfer.files?.length&&Oe(Array.from(e.dataTransfer.files))},je=e=>{e.preventDefault(),J(!0)},Me=e=>{e.preventDefault(),e.currentTarget===e.target&&J(!1)},Ne=e=>{K(t=>t.filter((t,n)=>n!==e))};return e?(0,ae.createPortal)((0,k.jsx)(`div`,{ref:O,role:`dialog`,"aria-modal":`true`,"aria-labelledby":D,className:`fixed inset-0 z-50 flex items-center justify-center bg-black/50`,onKeyDown:Ee,onClick:De,onDrop:Ae,onDragOver:je,onDragLeave:Me,children:(0,k.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,k.jsxs)(`div`,{className:`flex items-center justify-between border-b pb-4`,style:{borderColor:`var(--border-subtle)`},children:[(0,k.jsx)(`h2`,{id:D,className:`!m-0 text-title-small text-[var(--content-default)]`,children:`Share Feedback`}),(0,k.jsx)(a,{variant:`ghost`,iconOnly:(0,k.jsx)(h,{}),onClick:t,disabled:$,"aria-label":`Close`,tintColor:`var(--content-secondary)`})]}),(0,k.jsxs)(`div`,{className:`flex flex-col gap-3.5 overflow-y-auto pt-4 ${$?`pointer-events-none opacity-60`:``}`,children:[oe&&(0,k.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,k.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-3`,children:[(0,k.jsx)(v,{checked:X,onChange:()=>ye(e=>!e),"aria-label":`Download diagnostics directly`}),(0,k.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:`Download diagnostics directly`})]}),(0,k.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,k.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,k.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:`Time range`}),(0,k.jsx)(y,{options:se,value:U,onChange:W,"aria-label":`Diagnostics time range`})]}):(0,k.jsxs)(k.Fragment,{children:[xe&&(0,k.jsx)(_,{id:`${D}-email`,ref:N,label:`Email`,type:`email`,placeholder:`you@example.com`,value:B,onChange:e=>pe(e.target.value),leftIcon:(0,k.jsx)(ee,{className:`h-4 w-4`,"aria-hidden":!0}),fullWidth:!0}),(0,k.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,k.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:`Category`}),(0,k.jsx)(`div`,{className:`flex gap-2`,children:A.map(e=>(0,k.jsx)(de,{option:e,isSelected:F===e.value,onSelect:()=>Ce(e.value)},e.value))})]}),(0,k.jsx)(`hr`,{className:`border-[var(--border-subtle)]`}),F===`bug_report`&&(0,k.jsxs)(g,{tone:`info`,children:[`Tip: Get faster support by posting in our`,` `,(0,k.jsx)(`a`,{href:`https://vellum.ai/community`,target:`_blank`,rel:`noopener noreferrer`,className:`underline text-[var(--content-default)]`,children:`Discord community`})]}),F===`feature_request`&&(0,k.jsxs)(g,{tone:`info`,children:[`Tip: Vote on features on our`,` `,(0,k.jsx)(`a`,{href:`https://vellum.ai/roadmap`,target:`_blank`,rel:`noopener noreferrer`,className:`underline text-[var(--content-default)]`,children:`public roadmap`})]}),(0,k.jsx)(ne,{id:`${D}-message`,ref:M,label:F===`bug_report`?`What went wrong?`:F===`feature_request`?`Describe your idea`:`What's on your mind?`,rows:3,placeholder:F===`bug_report`?`What did you expect to happen, and what happened instead?`:F===`feature_request`?`What problem would this solve for you?`:`Share your thoughts...`,value:L,onChange:e=>z(e.target.value),fullWidth:!0}),F!==`feature_request`&&(0,k.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,k.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[(0,k.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2.5`,children:[(0,k.jsx)(v,{checked:V,onChange:we,"aria-label":`Include browser diagnostics`}),(0,k.jsx)(`span`,{className:`text-body-medium-lighter leading-6 text-[var(--content-default)]`,children:`Include diagnostics`})]}),(0,k.jsx)(i,{content:`Diagnostics include browser context, assistant logs, and timestamps — never passwords or credentials.`,children:(0,k.jsx)(`button`,{type:`button`,"aria-label":`About diagnostics`,className:`inline-flex items-center justify-center text-[var(--content-tertiary)]`,children:(0,k.jsx)(u,{className:`h-3.5 w-3.5`})})})]}),V&&(0,k.jsx)(y,{options:se,value:U,onChange:W,"aria-label":`Diagnostics time range`})]}),b()&&m&&F!==`feature_request`&&(0,k.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2.5`,children:[(0,k.jsx)(v,{checked:Y,onChange:()=>ve(e=>!e),"aria-label":`Include the most recent conversation`}),(0,k.jsx)(`span`,{className:`text-body-medium-lighter leading-6 text-[var(--content-default)]`,children:`Include the most recent conversation`})]}),(0,k.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,k.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,k.jsxs)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:[`Attachments`,G.length>0&&(0,k.jsxs)(`span`,{className:`text-[var(--content-tertiary)]`,children:[` · `,G.length,`/`,P]})]}),(0,k.jsx)(a,{variant:`outlined`,size:`compact`,leftIcon:(0,k.jsx)(f,{}),onClick:()=>j.current?.click(),disabled:G.length>=P,children:`Add files`}),(0,k.jsx)(`input`,{ref:j,type:`file`,multiple:!0,accept:`image/png,image/jpeg,image/gif,image/webp,video/mp4,video/quicktime,video/webm`,onChange:ke,className:`hidden`})]}),G.length>0&&(0,k.jsx)(`div`,{className:`flex gap-2 overflow-x-auto`,children:G.map((e,t)=>(0,k.jsx)(fe,{file:e,onRemove:()=>Ne(t)},`${e.name}-${t}`))}),_e&&(0,k.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Drop files to attach…`})]})]}),ge&&(0,k.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--system-negative-strong)]`,children:ge})]}),(0,k.jsx)(`div`,{className:`mt-4 flex items-center justify-end gap-2 border-t pt-4`,style:{borderColor:`var(--border-subtle)`},children:$?(0,k.jsxs)(`span`,{className:`inline-flex items-center gap-2 text-body-medium-lighter text-[var(--content-secondary)]`,children:[(0,k.jsx)(p,{className:`h-4 w-4 animate-spin`}),X?`Preparing diagnostics…`:`Sending feedback…`]}):(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(a,{variant:`ghost`,onClick:t,children:`Cancel`}),X?(0,k.jsx)(a,{variant:`primary`,leftIcon:(0,k.jsx)(l,{}),onClick:async()=>{if(!$){q(null),Q(!0);try{let e=await R(U,c??null,b()?Y?m??null:null:m??null,{diagnosticsProvider:C,doctorSessionId:x,extraLogFiles:Te});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,k.jsx)(a,{variant:`primary`,leftIcon:(0,k.jsx)(te,{}),onClick:async()=>{if(!(!Se||$)){q(null),Q(!0);try{let e=V&&F!==`feature_request`?await R(U,c??null,b()?Y?m??null:null:m??null,{diagnosticsProvider:C,doctorSessionId:x,extraLogFiles:Te}):null;await Z.mutateAsync({headers:{"Content-Type":null},body:{message:L.trim(),classification:ce[F],email:B.trim(),client:le(),client_version:void 0,...c?{assistant_id:c}:{},...d?{assistant_version:d}:{},...x?{doctor_session_id:x}:{},...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}}),s?.(),t()}catch(e){q(e instanceof Error?e.message:`Failed to submit feedback. Please try again.`)}finally{Q(!1)}}},disabled:!Se,children:`Submit`})]})})]})}),document.body):null}function de({option:e,isSelected:t,onSelect:n}){let r=e.icon;return(0,k.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,k.jsx)(r,{className:`h-3.5 w-3.5 shrink-0`,style:{color:t?`var(--primary-base)`:`var(--content-secondary)`}}),(0,k.jsx)(`span`,{className:`text-body-small-default`,style:{color:t?`var(--primary-base)`:`var(--content-default)`},children:e.label})]})}function fe({file:e,onRemove:t}){let n=e.type.startsWith(`image/`),r=(0,T.useMemo)(()=>n?URL.createObjectURL(e):null,[e,n]);return(0,T.useEffect)(()=>{if(r)return()=>URL.revokeObjectURL(r)},[r]),(0,k.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,k.jsx)(`img`,{src:r,alt:e.name,className:`h-full w-full object-cover`}):(0,k.jsx)(f,{className:`h-5 w-5 text-[var(--content-secondary)]`}),(0,k.jsx)(a,{variant:`ghost`,size:`compact`,iconOnly:(0,k.jsx)(h,{}),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{O as n,z as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-Dy5001j6.js";import{l as r,t as i,u as a}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as o}from"./jsx-runtime-D3ZM-ToX.js";import{t as s}from"./typography-DEI9Ra9z.js";import{t as c}from"./arrow-left-C2ylPLHq.js";import{t as l}from"./chevron-right-HU6H84S0.js";import{n as u,t as d}from"./runtime-upgrade-banner-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-Dy5001j6.js";import{l as r,t as i,u as a}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as o}from"./jsx-runtime-D3ZM-ToX.js";import{t as s}from"./typography-DEI9Ra9z.js";import{t as c}from"./arrow-left-C2ylPLHq.js";import{t as l}from"./chevron-right-HU6H84S0.js";import{n as u,t as d}from"./runtime-upgrade-banner-DPqzKtZU.js";import{o as f}from"./src-te3YTBG-.js";import{t as p}from"./is-electron-m5eeGBnd.js";import{u as m}from"./routes-D9sNqB_o.js";import{n as h}from"./use-is-mobile-BlQuzI5Z.js";import{t as g}from"./use-edge-swipe-back-BcSHNCwS.js";import{t as _}from"./link-click-DLYgWZdo.js";var v=e(t(),1),y=o();function b({sidebar:e,children:t,actions:o,backHref:l,title:f=`Settings`,menuRoute:_=m.settings.root}){let{pathname:b}=r(),x=a(),S=b===_,C=h(),w=(0,v.useRef)(null),T=(0,v.useRef)(null);(0,v.useLayoutEffect)(()=>{T.current?.scrollTo(0,0)},[b]);let E=S?l:_;g({containerRef:w,onBack:(0,v.useCallback)(()=>{x(E)},[x,E]),enabled:C,navKey:b});let D=p(),O=S?`Back from ${f}`:`Back to ${f} menu`,k=(0,y.jsx)(n,{variant:`ghost`,iconOnly:(0,y.jsx)(c,{}),"aria-label":O,tintColor:`var(--content-secondary)`,onClick:()=>x(E)}),A=(0,y.jsx)(n,{asChild:!0,variant:`outlined`,"aria-label":`Back from ${f}`,className:`h-8 w-8 px-0`,tintColor:`var(--content-secondary)`,children:(0,y.jsx)(i,{to:l,className:`flex items-center justify-center no-underline`,children:(0,y.jsx)(c,{size:16,"aria-hidden":`true`})})});return(0,y.jsxs)(`div`,{ref:w,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:D?`3.75rem`:`1rem`},children:[(0,y.jsxs)(`div`,{className:`flex shrink-0 items-center gap-3 md:hidden`,children:[k,(0,y.jsx)(s,{as:`h1`,variant:`body-large-default`,className:`flex-1 truncate text-center`,style:{color:`var(--content-tertiary)`,lineHeight:1.4},children:f}),(0,y.jsx)(`div`,{className:`h-10 w-10 shrink-0`,"aria-hidden":`true`})]}),D?(0,y.jsxs)(`div`,{className:`flex shrink-0 flex-col gap-2 pb-4 empty:hidden`,children:[(0,y.jsx)(u,{placement:`electron`,className:`px-0 pt-0`}),(0,y.jsx)(d,{placement:`electron`,className:`px-0 pt-0`})]}):null,(0,y.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,y.jsxs)(`div`,{className:`hidden shrink-0 items-center justify-between gap-4 px-6 py-5 md:flex`,children:[(0,y.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[A,(0,y.jsx)(`h1`,{className:`text-title-large truncate`,style:{color:`var(--content-emphasised)`,lineHeight:1.2},children:f})]}),(0,y.jsx)(`div`,{className:`flex shrink-0 items-center gap-2`,children:o})]}),(0,y.jsxs)(`div`,{className:`flex min-h-0 flex-1 overflow-hidden`,children:[(0,y.jsx)(`aside`,{className:`hidden w-64 shrink-0 overflow-y-auto md:block`,"aria-label":`${f} navigation`,children:e}),S?(0,y.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,y.jsx)(`main`,{ref:T,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 ${S?`hidden`:`flex`}`,children:t})]})]})]})}function x({items:e,bottomItems:t,indexPath:n}){let{pathname:i}=r(),o=a(),s=h(),c=(e,t,r)=>{let{href:a,onSelect:c}=e,u=a!=null&&(i===a||i.startsWith(a+`/`)||!s&&r&&n!=null&&i===n);return(0,y.jsxs)(v.Fragment,{children:[(0,y.jsx)(f.Item,{icon:e.icon,label:e.label,active:u,trailingIcon:a==null?void 0:l,trailingIconClassName:a==null?void 0:`md:hidden`,href:a,onSelect:c,onClick:a==null?void 0:e=>{_(e)||(e.preventDefault(),o(a))}}),!t&&(0,y.jsx)(`div`,{role:`presentation`,"aria-hidden":!0,className:`my-2 h-px w-full bg-[var(--border-base)] md:hidden`})]},e.id)};return(0,y.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)=>c(n,r===e.length-1&&!t?.length,r===0)),t&&t.length>0&&(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(`div`,{className:`flex-1`}),(0,y.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)=>c(e,n===t.length-1,!1))]})]})}export{b as n,x as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{m as n}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as r}from"./jsx-runtime-D3ZM-ToX.js";import{f as i}from"./native-biometric-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{m as n}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as r}from"./jsx-runtime-D3ZM-ToX.js";import{f as i}from"./native-biometric-BAMIyaSS.js";import{n as a,r as o}from"./login-flow-CD9tyuFG.js";import{t as s}from"./proxy-D7UPVac3.js";import{t as c}from"./AnimatePresence-DPfyu3ET.js";import{t as l}from"./apple-logo--8ZT6Umn.js";import{t as u}from"./signup-shell-CMsBZ8vG.js";var d=e(t(),1),f=r();function p({words:e}){let[t,n]=(0,d.useState)(0),r=(0,d.useMemo)(()=>e.reduce((e,t)=>e.length>=t.length?e:t),[e]);return(0,d.useEffect)(()=>{let t=setInterval(()=>{n(t=>(t+1)%e.length)},2400);return()=>clearInterval(t)},[e.length]),(0,f.jsxs)(`span`,{className:`signup__rotating`,children:[(0,f.jsxs)(`span`,{className:`signup__rotating-sizer`,"aria-hidden":!0,children:[r,`.`]}),(0,f.jsx)(c,{mode:`wait`,children:(0,f.jsxs)(s.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 m=[`Personal Intelligence`,`Software Engineer`,`Finance Ops`,`Household Manager`,`GTM Engineer`,`Product Lead`];function h({returnTo:e}){let[t,n]=(0,d.useState)(null),r=o(e,{authIntent:`signup`});return(0,f.jsxs)(u,{children:[(0,f.jsxs)(`h1`,{className:`signup__title`,children:[`Meet your new`,(0,f.jsx)(`br`,{}),(0,f.jsx)(p,{words:m})]}),(0,f.jsx)(`p`,{className:`signup__subtitle`,children:`The most powerful assistant that can handle your work and life admin tasks.`}),(0,f.jsx)(`div`,{className:`signup__buttons`,children:(0,f.jsx)(`button`,{type:`button`,className:`signup__btn`,onClick:()=>{n(null),i(a,r,{returnTo:e,intent:`signup`}).catch(e=>{console.error(`[signup] auth flow failed:`,e),n(`Something went wrong. Please try again.`)})},children:`Continue`})}),t&&(0,f.jsx)(`p`,{className:`signup__error`,children:t}),(0,f.jsxs)(`p`,{className:`signup__footer`,children:[`Already have an account?`,` `,(0,f.jsx)(`button`,{type:`button`,className:`signup__link`,onClick:()=>{n(null),i(a,o(e),{returnTo:e}).catch(e=>{console.error(`[signup] sign-in flow failed:`,e),n(`Something went wrong. Please try again.`)})},children:`Sign in`})]}),(0,f.jsxs)(`a`,{className:`signup__download`,href:`/downloads`,children:[(0,f.jsx)(l,{size:16}),`Download for macOS`]})]})}function g(){let[e]=n();return(0,f.jsx)(h,{returnTo:e.get(`returnTo`)})}export{g as SignupPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./jsx-runtime-D3ZM-ToX.js";import{t}from"./proxy-
|
|
1
|
+
import{t as e}from"./jsx-runtime-D3ZM-ToX.js";import{t}from"./proxy-D7UPVac3.js";import{t as n}from"./public-asset-BBVUuTT_.js";var r=e();function i({children:e}){return(0,r.jsxs)(t.div,{"data-theme":`dark`,className:`signup`,initial:{opacity:0},animate:{opacity:1},transition:{duration:.5},children:[(0,r.jsxs)(`div`,{className:`signup__left`,children:[(0,r.jsx)(`div`,{className:`signup__logo`,children:(0,r.jsx)(`img`,{src:n(`/vellum-logo-white.svg`),alt:`Vellum`,width:82,height:25})}),(0,r.jsx)(`div`,{className:`signup__form`,children:e})]}),(0,r.jsx)(t.div,{className:`signup__right`,initial:{opacity:0},animate:{opacity:1},transition:{duration:.6,delay:.15},"aria-hidden":!0,children:(0,r.jsx)(`video`,{className:`signup__video`,src:n(`/vellum-scene-cut.mp4`),autoPlay:!0,loop:!0,muted:!0,playsInline:!0})})]})}export{i as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{n}from"./button-Dy5001j6.js";import{t as r}from"./jsx-runtime-D3ZM-ToX.js";import{t as i}from"./typography-DEI9Ra9z.js";import{_t as a,gt as o,ht as s,m as c,p as l,vt as u}from"./risk-C_bbPQPd.js";import{t as d}from"./brain-BIzJCPA6.js";import{t as f}from"./check-sC49_hjU.js";import{t as p}from"./circle-check-CjGnAahM.js";import{t as m}from"./code-qafFA0_-.js";import{t as h}from"./file-text-Br730Q4B.js";import{t as g}from"./globe-CMtjL_s_.js";import{t as _}from"./monitor-B1y28fS1.js";import{t as ee}from"./sparkles-Ccrj7hxd.js";import{t as te}from"./user-plus-oiIr9ey8.js";import"./src-D89CNeuT.js";import{t as v}from"./popover-BRpYVASI.js";import{D as y,O as ne}from"./chat-BrL0k2UY.js";import{t as b}from"./misc-DckBb5zz.js";import{t as re}from"./proxy-RtD8704m.js";import{t as ie}from"./AnimatePresence-3WpfAWHe.js";import{t as x}from"./use-reduced-motion-Se97jRQ-.js";import{t as S}from"./three-dot-indicator-SJcKW5cG.js";var C=e(t(),1),w=r(),ae=.44;function oe(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*ae;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 se(e){let t=`color-mix(in srgb, ${e} 40%, white)`;return[{position:0,color:t},{position:.5,color:e},{position:1,color:t}]}var ce=`var(--avatar-accent, var(--content-emphasised))`,le=`color-mix(in srgb, currentColor 45%, transparent)`,ue=1500,de=106,fe=6,pe=48,T=.72,E=14,me=96;function he(){return typeof CSS>`u`||typeof CSS.supports!=`function`?!1:CSS.supports(`background-clip`,`text`)||CSS.supports(`-webkit-background-clip`,`text`)}function D({children:e,colorHex:t,className:n,"data-testid":r}){let i=(0,C.useRef)(null),a=x(),o=t??ce,s=(0,C.useMemo)(()=>oe(se(o),de),[o]);(0,C.useLayoutEffect)(()=>{let t=i.current;if(!t)return;if(!he()){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||me,i=(Number.parseFloat(getComputedStyle(t).fontSize)||E)/E,a=Math.min(e.length*fe*i,pe*i),o=Math.max(1,r+a*2);t.style.setProperty(`--gs-spread`,`${a}px`),t.style.setProperty(`--gs-spread-mid`,`${a*T}px`),t.style.backgroundSize=`${o}px 100%`,n?.cancel(),n=t.animate([{backgroundPosition:`0px center`},{backgroundPosition:`${o}px center`}],{duration:ue,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*fe,pe);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":le,"--gs-spread":`${c}px`,"--gs-spread-mid":`${c*T}px`},"data-testid":r,children:e})}var ge=400;function _e(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 ve({currentStepTitle:e,currentStepInfo:t,bypassDwell:n=!1,animationKey:r,shimmer:a=!1,inline:o=!1}){let s=x(),c=_e((0,C.useMemo)(()=>({title:e,info:t}),[e,t]),ge,n),l=s?{duration:0}:{duration:.25,ease:[.16,1,.3,1]},u=s?{opacity:0}:{y:-16,opacity:0},d=s?{opacity:1}:{y:0,opacity:1},f=s?{opacity:0}:{y:16,opacity:0},p=typeof c.info==`string`||typeof c.info==`number`,m=p?String(c.info):c.info==null?``:`node`,h=r??`${c.title}::${m}`,g=p?c.info!==``:c.info!=null,_=c.title.trim()!==``;return(0,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:g?`shrink-0 whitespace-nowrap text-[13px] font-medium leading-[16px] text-[var(--content-secondary)]`:`block min-w-0 flex-1 truncate text-left text-[13px] font-medium leading-[16px] text-[var(--content-secondary)]`,children:a?(0,w.jsx)(D,{children:c.title}):c.title}):(0,w.jsx)(i,{variant:`body-medium-default`,className:g?`ml-1 shrink-0 whitespace-nowrap text-[var(--content-emphasised)]`:`ml-1 block min-w-0 flex-1 truncate text-left text-[var(--content-emphasised)]`,children:a?(0,w.jsx)(D,{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)(D,{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)(D,{children:c.info}):c.info}):(0,w.jsx)(`span`,{className:`ml-1 block min-w-0 flex-1`,children:c.info})]}):null]},h)})}var ye=/^https?:\/\/\S+/,be=/^URL:\s*(https?:\/\/\S+)/i,xe=/^\[\d+\]\s*(https?:\/\/\S+)/;function O(e){try{return new URL(e).hostname.replace(/^www\./,``)}catch{return``}}function Se(e){let t=e.trim();return be.exec(t)?.[1]??xe.exec(t)?.[1]??t}function Ce(e){return e.trim().replace(/^\d+\.\s+/,``)}function we(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=Se(t);if(ye.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=Ce(t))}return n}function k(e){return!e||!e.trim()?[]:we(e).map((e,t)=>{let n=O(e.url);return{rank:t+1,title:e.title,url:e.url,domain:n}})}var A=5,j=new Set([`web_search`,`web_fetch`]);function M(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 N(e){return j.has(e.name)}function P(e){return e?`Searched the web`:`Searching the web`}function F(e){return{visible:e.slice(0,A),overflowResults:e.slice(A)}}function Te(e,t){let{visible:n,overflowResults:r}=F(e.results);return{kind:`web_search`,title:P(t),durationLabel:M(e.durationMs),linkCount:e.resultCount,results:n,overflowResults:r}}function Ee(e){let t=e.title??e.domain;return{kind:`thinking`,durationLabel:M(e.durationMs),text:`Reading ${t}`}}function De(){return{kind:`web_search`,title:`Searching the web`,durationLabel:``,linkCount:0,results:[]}}function Oe(){return{kind:`thinking`,durationLabel:``,text:`Reading…`}}function ke(e){let t=k(e);if(t.length===0)return null;let{visible:n,overflowResults:r}=F(t);return{kind:`web_search`,title:P(!0),durationLabel:``,linkCount:t.length,results:n,overflowResults:r}}function Ae(e){return{kind:`web_search_error`,title:`Web search failed`,durationLabel:M(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 I(){return{kind:`web_search`,title:P(!0),durationLabel:``,linkCount:0,results:[]}}function L(e,t){return t[e.id]??e.activityMetadata}function R(e){return!y(e)}function z(e,t){return e.results.length>0?!1:!!e.errorMessage||!!t.isError}function B(e){return e.confirmationDecision===`denied`||e.confirmationDecision===`timed_out`?`denied`:e.isError?`error`:y(e)?`running`:`completed`}function V(e,t){return e==null||t==null?null:Math.max(0,t-e)}function H(e,t){let n=V(e,t);return n==null?``:M(n)}function U(e){return H(e.startedAt??void 0,e.completedAt??void 0)}function je(e){return!l(e)&&y(e)}function Me(e,t){if(e.kind===`thinking`)return e.text?e.completedAt==null?e.startedAt!=null&&t!=null?Math.max(0,t-e.startedAt):null:V(e.startedAt,e.completedAt):null;let n=e.toolCall;if(l(n))return null;let r=ne(n);return n.completedAt==null?y(n)&&r!=null&&t!=null?Math.max(0,t-r):null:V(r,n.completedAt)}function Ne(e){return e.some(e=>e.kind===`thinking`?!!e.text&&e.startedAt!=null&&e.completedAt==null:je(e.toolCall))}function Pe(e,t){let n=0,r=!1;for(let i of e){let e=Me(i,t);e!=null&&(r=!0,n+=e)}return r?M(n):``}function Fe(e){let{title:t,activity:n}=c(e);return{toolCallId:e.id,toolName:e.name,title:t,activity:n,input:e.input??{},result:e.result,streamedOutput:e.streamedOutput,status:B(e),riskLevel:e.riskLevel,riskReason:e.riskReason,durationLabel:U(e)}}function Ie(e){let{title:t,info:n,activity:r,iconName:i}=c(e);return{kind:`tool`,durationLabel:U(e),startedAt:e.startedAt??void 0,title:t,info:n,activity:r,riskLevel:e.riskLevel,iconName:i,toolCallId:e.id,status:B(e)}}function Le(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n];if(N(r)){let e=L(r,t),n=R(r);if(e?.webSearch&&z(e.webSearch,r))return`Web search failed`;if(r.name===`web_search`)return P(n);if(r.name===`web_fetch`)return`Thinking`}else return c(r).title}return``}function Re(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n];if(!N(r)){let{info:e,activity:t}=c(r);return t||e}let i=L(r,t),a=R(r);if(i?.webSearch){let e=i.webSearch;if(z(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=k(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?O(e):``;if(t)return a?t:`Reading ${t}`}}return``}function ze(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n];if(r.name!==`web_search`)continue;let i=L(r,t)?.webSearch?.results;if(i&&i.length>0)return i}return[]}function Be(e){return e.includes(`denied`)?`denied`:e.includes(`loading`)?`loading`:e.includes(`error`)?`error`:`complete`}function Ve(e){return Be(e.map(e=>e.confirmationDecision===`denied`||e.confirmationDecision===`timed_out`?`denied`:y(e)?`loading`:e.isError?`error`:`complete`))}function He(e,t){if(l(e))return null;if(!N(e))return Ie(e);let n=L(e,t),r=R(e);if(n?.webSearch){let t=n.webSearch;return z(t,e)?Ae(t):Te(t,r)}return n?.webFetch?Ee(n.webFetch):r?e.name===`web_search`&&typeof e.result==`string`?ke(e.result)??I():I():e.name===`web_search`?De():Oe()}function Ue(e,t,n){let r=e.filter(e=>e.kind===`toolCall`).map(e=>e.toolCall).filter(e=>!l(e)),i=[],a=null,o=0;for(let n of e){if(n.kind===`thinking`){n.text&&(i.push({kind:`thinking`,durationLabel:H(n.startedAt,n.completedAt),text:n.text,startedAt:n.startedAt,completedAt:n.completedAt,thinkingItemIndex:o++}),a=n.text);continue}let e=He(n.toolCall,t);e&&(i.push(e),a=null)}let s=Ve(r),c,u,d;a===null?(c=Le(r,t),u=Re(r,t),d=`tool`):(c=`Thinking`,u=a,d=`thinking`);let f=ze(r,t),p=`${i.length} step${i.length===1?``:`s`}`,m=Pe(e,n);return{currentStepTitle:c,currentStepInfo:u,currentStepKind:d,stepCount:p,totalDurationLabel:m,steps:i,state:s,carouselItems:f}}var W={code:m,terminal:s,file:h,globe:g,pen:a,monitor:_,plug:o,sparkle:ee,"user-plus":te,bolt:u,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 G(e){let t=0,n=!1;for(let r of e)r&&(n=!0,t+=Ge(r));return n?M(t):``}function K(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 q(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=q(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=Qe(e,n+r);return(0,w.jsx)(C.Fragment,{children:t?t(e):(0,w.jsx)(X,{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=G(e.steps.map(e=>`durationLabel`in e?e.durationLabel:``)),r=K(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)($e,{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=G(e.steps.map(e=>`durationLabel`in e?e.durationLabel:``)),o=K(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)(J,{}),(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)(Y,{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 J({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 Y({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)(Ze,{status:e,testId:`phase-header-status-icon`})}function Ze({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 Qe(e,t){return e.kind===`tool`&&e.toolCallId?e.toolCallId:`${e.kind}-${t}`}function $e({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 et(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 X({step:e}){if(e.kind===`thinking`)return(0,w.jsx)(Q,{children:(0,w.jsx)(Z,{children:e.text})});if(e.kind===`tool`){let t=W[e.iconName]??u;return et(e)?(0,w.jsxs)(Q,{children:[(0,w.jsx)(t,{"aria-hidden":`true`,className:`h-3.5 w-3.5 shrink-0 text-[var(--content-secondary)]`}),(0,w.jsx)(Z,{children:e.info})]}):null}return e.kind===`tool_error`?(0,w.jsx)(Q,{children:(0,w.jsx)(Z,{children:e.message})}):e.kind===`web_search_error`?(0,w.jsx)(Q,{children:(0,w.jsx)(Z,{children:e.errorMessage})}):(0,w.jsx)(Q,{children:(0,w.jsx)(Z,{children:e.title})})}function Z({children:e}){return(0,w.jsx)(i,{variant:`body-small-default`,className:`min-w-0 truncate text-inherit`,children:e})}function Q({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 $=`inline-flex min-w-0 items-center gap-1 self-start rounded-full px-2 py-1 text-left leading-normal`,tt=`transition-colors cursor-pointer focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--border-focus)]`,nt=`bg-[var(--surface-overlay)] text-[var(--content-default)]`;function rt({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 it({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:`${$} ${tt} max-w-[240px] no-underline hover:bg-[var(--surface-active)] ${nt}`,children:[(0,w.jsx)(rt,{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 at(e){if(e.variant===`web`)return(0,w.jsx)(it,{...e});let{iconName:t,label:n,onClick:r,active:a=!1,ariaLabel:o}=e,s=a?`bg-[var(--surface-active)] text-[var(--content-default)]`:nt,c=(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(W[t]??u,{"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":o??`View details: ${n}`,onClick:r,className:`${$} ${tt} max-w-full hover:bg-[var(--surface-active)] ${s}`,children:c}):(0,w.jsx)(`span`,{"data-testid":`tool-step-pill`,className:`${$} max-w-full ${s}`,children:c})}function ot(e){let t=(e.domain&&e.domain.length>0?e.domain:e.title).charAt(0);return t?t.toUpperCase():``}function st({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:ot(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 ct({results:e}){return(0,w.jsxs)(v.Root,{children:[(0,w.jsx)(v.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)(v.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)(st,{item:e},e.rank))})]})}function lt({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 ut({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)(at,{variant:`web`,url:e.url,faviconUrl:e.faviconUrl,domain:e.domain,label:e.title},e.rank)),t.length>0?(0,w.jsx)(ct,{results:t}):null]})}function dt({step:e}){return(0,w.jsx)(lt,{message:e.errorMessage})}function ft({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,ve as S,M as _,X as a,O as b,J as c,K as d,Qe as f,Ue as g,j as h,at as i,Y as l,G as m,dt as n,W as o,et as p,ut as r,Ye as s,ft as t,q as u,Ne as v,k as x,Fe as y};
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{n}from"./button-Dy5001j6.js";import{t as r}from"./jsx-runtime-D3ZM-ToX.js";import{t as i}from"./typography-DEI9Ra9z.js";import{_t as a,gt as o,ht as s,m as c,p as l,vt as u}from"./risk-CdT92Vqr.js";import{t as d}from"./brain-BIzJCPA6.js";import{t as f}from"./check-sC49_hjU.js";import{t as p}from"./circle-check-CjGnAahM.js";import{t as m}from"./code-qafFA0_-.js";import{t as h}from"./file-text-Br730Q4B.js";import{t as g}from"./globe-CMtjL_s_.js";import{t as _}from"./monitor-B1y28fS1.js";import{t as ee}from"./sparkles-Ccrj7hxd.js";import{t as te}from"./user-plus-oiIr9ey8.js";import"./src-te3YTBG-.js";import{t as v}from"./popover-BRpYVASI.js";import{D as y,O as ne}from"./chat-CDFCY8f0.js";import{t as b}from"./misc-CuYswARt.js";import{t as re}from"./proxy-D7UPVac3.js";import{t as ie}from"./AnimatePresence-DPfyu3ET.js";import{t as x}from"./use-reduced-motion-W1fCe3vS.js";import{t as S}from"./three-dot-indicator-BMvKQ_On.js";var C=e(t(),1),w=r(),ae=.44;function oe(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*ae;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 se(e){let t=`color-mix(in srgb, ${e} 40%, white)`;return[{position:0,color:t},{position:.5,color:e},{position:1,color:t}]}var ce=`var(--avatar-accent, var(--content-emphasised))`,le=`color-mix(in srgb, currentColor 45%, transparent)`,ue=1500,de=106,fe=6,pe=48,T=.72,E=14,me=96;function he(){return typeof CSS>`u`||typeof CSS.supports!=`function`?!1:CSS.supports(`background-clip`,`text`)||CSS.supports(`-webkit-background-clip`,`text`)}function D({children:e,colorHex:t,className:n,"data-testid":r}){let i=(0,C.useRef)(null),a=x(),o=t??ce,s=(0,C.useMemo)(()=>oe(se(o),de),[o]);(0,C.useLayoutEffect)(()=>{let t=i.current;if(!t)return;if(!he()){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||me,i=(Number.parseFloat(getComputedStyle(t).fontSize)||E)/E,a=Math.min(e.length*fe*i,pe*i),o=Math.max(1,r+a*2);t.style.setProperty(`--gs-spread`,`${a}px`),t.style.setProperty(`--gs-spread-mid`,`${a*T}px`),t.style.backgroundSize=`${o}px 100%`,n?.cancel(),n=t.animate([{backgroundPosition:`0px center`},{backgroundPosition:`${o}px center`}],{duration:ue,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*fe,pe);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":le,"--gs-spread":`${c}px`,"--gs-spread-mid":`${c*T}px`},"data-testid":r,children:e})}var ge=400;function _e(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 ve({currentStepTitle:e,currentStepInfo:t,bypassDwell:n=!1,animationKey:r,shimmer:a=!1,inline:o=!1}){let s=x(),c=_e((0,C.useMemo)(()=>({title:e,info:t}),[e,t]),ge,n),l=s?{duration:0}:{duration:.25,ease:[.16,1,.3,1]},u=s?{opacity:0}:{y:-16,opacity:0},d=s?{opacity:1}:{y:0,opacity:1},f=s?{opacity:0}:{y:16,opacity:0},p=typeof c.info==`string`||typeof c.info==`number`,m=p?String(c.info):c.info==null?``:`node`,h=r??`${c.title}::${m}`,g=p?c.info!==``:c.info!=null,_=c.title.trim()!==``;return(0,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:g?`shrink-0 whitespace-nowrap text-[13px] font-medium leading-[16px] text-[var(--content-secondary)]`:`block min-w-0 flex-1 truncate text-left text-[13px] font-medium leading-[16px] text-[var(--content-secondary)]`,children:a?(0,w.jsx)(D,{children:c.title}):c.title}):(0,w.jsx)(i,{variant:`body-medium-default`,className:g?`ml-1 shrink-0 whitespace-nowrap text-[var(--content-emphasised)]`:`ml-1 block min-w-0 flex-1 truncate text-left text-[var(--content-emphasised)]`,children:a?(0,w.jsx)(D,{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)(D,{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)(D,{children:c.info}):c.info}):(0,w.jsx)(`span`,{className:`ml-1 block min-w-0 flex-1`,children:c.info})]}):null]},h)})}var ye=/^https?:\/\/\S+/,be=/^URL:\s*(https?:\/\/\S+)/i,xe=/^\[\d+\]\s*(https?:\/\/\S+)/;function O(e){try{return new URL(e).hostname.replace(/^www\./,``)}catch{return``}}function Se(e){let t=e.trim();return be.exec(t)?.[1]??xe.exec(t)?.[1]??t}function Ce(e){return e.trim().replace(/^\d+\.\s+/,``)}function we(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=Se(t);if(ye.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=Ce(t))}return n}function k(e){return!e||!e.trim()?[]:we(e).map((e,t)=>{let n=O(e.url);return{rank:t+1,title:e.title,url:e.url,domain:n}})}var A=5,j=new Set([`web_search`,`web_fetch`]);function M(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 N(e){return j.has(e.name)}function P(e){return e?`Searched the web`:`Searching the web`}function F(e){return{visible:e.slice(0,A),overflowResults:e.slice(A)}}function Te(e,t){let{visible:n,overflowResults:r}=F(e.results);return{kind:`web_search`,title:P(t),durationLabel:M(e.durationMs),linkCount:e.resultCount,results:n,overflowResults:r}}function Ee(e){let t=e.title??e.domain;return{kind:`thinking`,durationLabel:M(e.durationMs),text:`Reading ${t}`}}function De(){return{kind:`web_search`,title:`Searching the web`,durationLabel:``,linkCount:0,results:[]}}function Oe(){return{kind:`thinking`,durationLabel:``,text:`Reading…`}}function ke(e){let t=k(e);if(t.length===0)return null;let{visible:n,overflowResults:r}=F(t);return{kind:`web_search`,title:P(!0),durationLabel:``,linkCount:t.length,results:n,overflowResults:r}}function Ae(e){return{kind:`web_search_error`,title:`Web search failed`,durationLabel:M(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 I(){return{kind:`web_search`,title:P(!0),durationLabel:``,linkCount:0,results:[]}}function L(e,t){return t[e.id]??e.activityMetadata}function R(e){return!y(e)}function z(e,t){return e.results.length>0?!1:!!e.errorMessage||!!t.isError}function B(e){return e.confirmationDecision===`denied`||e.confirmationDecision===`timed_out`?`denied`:e.isError?`error`:y(e)?`running`:`completed`}function V(e,t){return e==null||t==null?null:Math.max(0,t-e)}function H(e,t){let n=V(e,t);return n==null?``:M(n)}function U(e){return H(e.startedAt??void 0,e.completedAt??void 0)}function je(e){return!l(e)&&y(e)}function Me(e,t){if(e.kind===`thinking`)return e.text?e.completedAt==null?e.startedAt!=null&&t!=null?Math.max(0,t-e.startedAt):null:V(e.startedAt,e.completedAt):null;let n=e.toolCall;if(l(n))return null;let r=ne(n);return n.completedAt==null?y(n)&&r!=null&&t!=null?Math.max(0,t-r):null:V(r,n.completedAt)}function Ne(e){return e.some(e=>e.kind===`thinking`?!!e.text&&e.startedAt!=null&&e.completedAt==null:je(e.toolCall))}function Pe(e,t){let n=0,r=!1;for(let i of e){let e=Me(i,t);e!=null&&(r=!0,n+=e)}return r?M(n):``}function Fe(e){let{title:t,activity:n}=c(e);return{toolCallId:e.id,toolName:e.name,title:t,activity:n,input:e.input??{},result:e.result,streamedOutput:e.streamedOutput,status:B(e),riskLevel:e.riskLevel,riskReason:e.riskReason,durationLabel:U(e)}}function Ie(e){let{title:t,info:n,activity:r,iconName:i}=c(e);return{kind:`tool`,durationLabel:U(e),startedAt:e.startedAt??void 0,title:t,info:n,activity:r,riskLevel:e.riskLevel,iconName:i,toolCallId:e.id,status:B(e)}}function Le(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n];if(N(r)){let e=L(r,t),n=R(r);if(e?.webSearch&&z(e.webSearch,r))return`Web search failed`;if(r.name===`web_search`)return P(n);if(r.name===`web_fetch`)return`Thinking`}else return c(r).title}return``}function Re(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n];if(!N(r)){let{info:e,activity:t}=c(r);return t||e}let i=L(r,t),a=R(r);if(i?.webSearch){let e=i.webSearch;if(z(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=k(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?O(e):``;if(t)return a?t:`Reading ${t}`}}return``}function ze(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n];if(r.name!==`web_search`)continue;let i=L(r,t)?.webSearch?.results;if(i&&i.length>0)return i}return[]}function Be(e){return e.includes(`denied`)?`denied`:e.includes(`loading`)?`loading`:e.includes(`error`)?`error`:`complete`}function Ve(e){return Be(e.map(e=>e.confirmationDecision===`denied`||e.confirmationDecision===`timed_out`?`denied`:y(e)?`loading`:e.isError?`error`:`complete`))}function He(e,t){if(l(e))return null;if(!N(e))return Ie(e);let n=L(e,t),r=R(e);if(n?.webSearch){let t=n.webSearch;return z(t,e)?Ae(t):Te(t,r)}return n?.webFetch?Ee(n.webFetch):r?e.name===`web_search`&&typeof e.result==`string`?ke(e.result)??I():I():e.name===`web_search`?De():Oe()}function Ue(e,t,n){let r=e.filter(e=>e.kind===`toolCall`).map(e=>e.toolCall).filter(e=>!l(e)),i=[],a=null,o=0;for(let n of e){if(n.kind===`thinking`){n.text&&(i.push({kind:`thinking`,durationLabel:H(n.startedAt,n.completedAt),text:n.text,startedAt:n.startedAt,completedAt:n.completedAt,thinkingItemIndex:o++}),a=n.text);continue}let e=He(n.toolCall,t);e&&(i.push(e),a=null)}let s=Ve(r),c,u,d;a===null?(c=Le(r,t),u=Re(r,t),d=`tool`):(c=`Thinking`,u=a,d=`thinking`);let f=ze(r,t),p=`${i.length} step${i.length===1?``:`s`}`,m=Pe(e,n);return{currentStepTitle:c,currentStepInfo:u,currentStepKind:d,stepCount:p,totalDurationLabel:m,steps:i,state:s,carouselItems:f}}var W={code:m,terminal:s,file:h,globe:g,pen:a,monitor:_,plug:o,sparkle:ee,"user-plus":te,bolt:u,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 G(e){let t=0,n=!1;for(let r of e)r&&(n=!0,t+=Ge(r));return n?M(t):``}function K(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 q(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=q(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=Qe(e,n+r);return(0,w.jsx)(C.Fragment,{children:t?t(e):(0,w.jsx)(X,{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=G(e.steps.map(e=>`durationLabel`in e?e.durationLabel:``)),r=K(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)($e,{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=G(e.steps.map(e=>`durationLabel`in e?e.durationLabel:``)),o=K(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)(J,{}),(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)(Y,{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 J({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 Y({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)(Ze,{status:e,testId:`phase-header-status-icon`})}function Ze({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 Qe(e,t){return e.kind===`tool`&&e.toolCallId?e.toolCallId:`${e.kind}-${t}`}function $e({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 et(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 X({step:e}){if(e.kind===`thinking`)return(0,w.jsx)(Q,{children:(0,w.jsx)(Z,{children:e.text})});if(e.kind===`tool`){let t=W[e.iconName]??u;return et(e)?(0,w.jsxs)(Q,{children:[(0,w.jsx)(t,{"aria-hidden":`true`,className:`h-3.5 w-3.5 shrink-0 text-[var(--content-secondary)]`}),(0,w.jsx)(Z,{children:e.info})]}):null}return e.kind===`tool_error`?(0,w.jsx)(Q,{children:(0,w.jsx)(Z,{children:e.message})}):e.kind===`web_search_error`?(0,w.jsx)(Q,{children:(0,w.jsx)(Z,{children:e.errorMessage})}):(0,w.jsx)(Q,{children:(0,w.jsx)(Z,{children:e.title})})}function Z({children:e}){return(0,w.jsx)(i,{variant:`body-small-default`,className:`min-w-0 truncate text-inherit`,children:e})}function Q({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 $=`inline-flex min-w-0 items-center gap-1 self-start rounded-full px-2 py-1 text-left leading-normal`,tt=`transition-colors cursor-pointer focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--border-focus)]`,nt=`bg-[var(--surface-overlay)] text-[var(--content-default)]`;function rt({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 it({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:`${$} ${tt} max-w-[240px] no-underline hover:bg-[var(--surface-active)] ${nt}`,children:[(0,w.jsx)(rt,{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 at(e){if(e.variant===`web`)return(0,w.jsx)(it,{...e});let{iconName:t,label:n,onClick:r,active:a=!1,ariaLabel:o}=e,s=a?`bg-[var(--surface-active)] text-[var(--content-default)]`:nt,c=(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(W[t]??u,{"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":o??`View details: ${n}`,onClick:r,className:`${$} ${tt} max-w-full hover:bg-[var(--surface-active)] ${s}`,children:c}):(0,w.jsx)(`span`,{"data-testid":`tool-step-pill`,className:`${$} max-w-full ${s}`,children:c})}function ot(e){let t=(e.domain&&e.domain.length>0?e.domain:e.title).charAt(0);return t?t.toUpperCase():``}function st({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:ot(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 ct({results:e}){return(0,w.jsxs)(v.Root,{children:[(0,w.jsx)(v.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)(v.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)(st,{item:e},e.rank))})]})}function lt({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 ut({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)(at,{variant:`web`,url:e.url,faviconUrl:e.faviconUrl,domain:e.domain,label:e.title},e.rank)),t.length>0?(0,w.jsx)(ct,{results:t}):null]})}function dt({step:e}){return(0,w.jsx)(lt,{message:e.errorMessage})}function ft({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,ve as S,M as _,X as a,O as b,J as c,K as d,Qe as f,Ue as g,j as h,at as i,Y as l,G as m,dt as n,W as o,et as p,ut as r,Ye as s,ft as t,q as u,Ne as v,k as x,Fe as y};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-Bj8_eutd.js";import{t as n}from"./react-BFJW0bSv.js";import{F as r,t as i}from"./button-Dy5001j6.js";import{f as a,l as o,n as s,u as c}from"./chunk-5KNZJZUH-Bsoom5--.js";import{n as l}from"./QueryClientProvider-CMu7CkQU.js";import{t as u}from"./useQuery-Bz-fbQ-m.js";import{t as d}from"./jsx-runtime-D3ZM-ToX.js";import{t as f}from"./card-DRIctGVs.js";import{t as p}from"./createLucideIcon-CAM1RhH8.js";import{t as m}from"./arrow-down-to-line-Bh_5sIPp.js";import{t as h}from"./arrow-left-C2ylPLHq.js";import{a as g,n as _,o as v,r as y,t as b}from"./use-skill-actions-BAAx1Eia.js";import{t as x}from"./chevron-down-B5A-0g8A.js";import{t as S}from"./menu-BvjhxZo7.js";import{t as C}from"./code-qafFA0_-.js";import{t as w}from"./external-link-CS0aVYGt.js";import{t as T}from"./eye-BMVGQXHT.js";import{t as E}from"./file-text-Br730Q4B.js";import{t as D}from"./folder-DF8nFp7N.js";import{t as O}from"./loader-circle-XREx3i4W.js";import{t as k}from"./trash-2-L5LNgw9o.js";import{t as A}from"./triangle-alert-CQfiAg_t.js";import{M as j}from"./src-te3YTBG-.js";import{n as M,t as N}from"./file-markdown-DaflJFk7.js";import{St as P,bt as F,sn as I}from"./react-query.gen-C5c1Acuq.js";import{u as L}from"./routes-D9sNqB_o.js";import{n as R}from"./use-is-mobile-BlQuzI5Z.js";import{t as z}from"./open-workspace-file-DtK3a84K.js";import{t as ee}from"./use-active-assistant-id-CldxA_-M.js";import{n as B,t as V}from"./use-skill-detail-files-BvOKvY0-.js";import{n as H,r as te,t as ne}from"./skills-Cum1XWT2.js";import{t as U}from"./use-edge-swipe-back-BcSHNCwS.js";import{i as W,n as G,r as K,t as q}from"./file-editor-phorJEVv.js";var J=p(`search-x`,[[`path`,{d:`m13.5 8.5-5 5`,key:`1cs55j`}],[`path`,{d:`m8.5 8.5 5 5`,key:`a8mexj`}],[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}],[`path`,{d:`m21 21-4.3-4.3`,key:`1qie3q`}]]),Y=e(n(),1),X=d();function re({assistantId:e,skill:t,onBack:n,onInstall:r,onRemove:a,isInstalling:o=!1,isRemoving:s=!1,sourceConversationId:c}){let l=y(t),u=H(t),{fileEntries:d,setSelectedPath:p,activePath:_,activeFile:b,isFilesLoading:x,fileContent:S,isBinary:C,isContentLoading:w}=V(e,t.id);return(0,X.jsxs)(`div`,{className:`flex h-[calc(100vh-14rem)] flex-col`,children:[(0,X.jsxs)(`div`,{className:`mb-4 flex items-start gap-3`,children:[(0,X.jsx)(i,{type:`button`,variant:`ghost`,iconOnly:(0,X.jsx)(h,{"aria-hidden":!0}),"aria-label":`Back to skills`,onClick:n}),(0,X.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-3 sm:flex-row sm:items-center`,children:[(0,X.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-3`,children:[(0,X.jsx)(v,{skill:t,className:`h-8 w-8 text-3xl`}),(0,X.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,X.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-2 gap-y-1`,children:[(0,X.jsx)(`h2`,{className:`text-title-medium`,style:{color:`var(--content-default)`},children:t.name}),(0,X.jsx)(g,{origin:t.origin})]}),(0,X.jsx)(`p`,{className:`mt-0.5 line-clamp-2 text-body-medium-lighter`,style:{color:`var(--content-secondary)`},children:t.description}),(0,X.jsx)(B,{skill:{origin:t.origin,sourceConversationId:c},className:`mt-1`})]})]}),l?o?(0,X.jsx)(`div`,{className:`flex h-9 items-center px-3`,children:(0,X.jsx)(O,{className:`h-4 w-4 animate-spin`,style:{color:`var(--content-tertiary)`}})}):(0,X.jsx)(i,{type:`button`,onClick:r,disabled:!r,leftIcon:(0,X.jsx)(m,{"aria-hidden":!0}),children:`Install`}):(0,X.jsx)(i,{type:`button`,variant:u?`dangerOutline`:`outlined`,onClick:a,disabled:!u||s||!a,leftIcon:s?(0,X.jsx)(O,{className:`animate-spin`,"aria-hidden":!0}):(0,X.jsx)(k,{"aria-hidden":!0}),children:`Remove`})]})]}),(0,X.jsx)(f.Root,{asChild:!0,noPadding:!0,children:(0,X.jsxs)(`div`,{className:`flex flex-1 flex-col overflow-hidden sm:grid`,style:{gridTemplateColumns:`240px 1fr`},children:[(0,X.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:x?(0,X.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,X.jsx)(O,{className:`h-4 w-4 animate-spin`,style:{color:`var(--content-tertiary)`}})}):d.length===0?(0,X.jsx)(`p`,{className:`px-3 py-4 text-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`No files available.`}):d.map(e=>{let t=_===e.path,n=(e.mimeType??``).endsWith(`/directory`);return(0,X.jsxs)(`button`,{type:`button`,onClick:()=>p(e.path),className:`flex w-full items-center gap-2 rounded px-2 py-1.5 text-left text-body-medium-lighter transition-colors hover:bg-[var(--surface-hover)]`,style:{color:t?`var(--primary-base)`:`var(--content-default)`,backgroundColor:t?`color-mix(in oklab, var(--primary-base) 10%, transparent)`:void 0},children:[n?(0,X.jsx)(D,{className:`h-4 w-4 shrink-0`,style:{color:`var(--system-mid-strong)`}}):(0,X.jsx)(E,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),(0,X.jsx)(`span`,{className:`truncate`,children:e.name})]},e.path)})}),(0,X.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:w?(0,X.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,X.jsx)(O,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})}):b?(0,X.jsx)(ie,{assistantId:e,skillId:t.id,fileName:b.name,filePath:b.path,content:S,isBinary:C,editable:t.kind===`installed`},`${t.id}/${b.path}`):(0,X.jsx)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Select a file to view its contents.`})})]})})]})}function ie({assistantId:e,skillId:n,fileName:r,filePath:a,content:o,isBinary:s,editable:c}){let u=l(),[d,f]=(0,Y.useState)(!1),[p,m]=(0,Y.useState)(``),h=`skills/${n}/${a}`,g=I({onSuccess:()=>{f(!1),m(``),u.invalidateQueries({queryKey:[{_id:`skillsByIdFilesContentGet`}]}),u.invalidateQueries({queryKey:[{_id:`skillsByIdFilesGet`}]}),a===`SKILL.md`&&ne(u,e)},onError:e=>{t(e,{context:`skill-file-save`,bestEffort:!0})}}),_=d&&p!==(o??``),v=(0,Y.useCallback)(()=>{!_||g.isPending||g.mutate({path:{assistant_id:e},body:{path:h,content:p,encoding:`utf8`}})},[_,g,e,h,p]),y=(0,Y.useCallback)(()=>{f(!0),m(o??``),g.reset()},[o,g]),b=(0,Y.useCallback)(()=>{f(!1),m(``),g.reset()},[g]);if(s)return(0,X.jsx)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Binary file — no preview available.`});if(o===null)return(0,X.jsxs)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:[`No preview available for `,r,`.`]});let x=c?(0,X.jsx)(i,{variant:`ghost`,size:`regular`,iconOnly:(0,X.jsx)(w,{"aria-hidden":!0}),onClick:()=>void z(h),"aria-label":`Open in Workspace`,className:`hover:bg-[var(--surface-base)]`}):void 0;return M(r,void 0)&&!d?(0,X.jsx)(`div`,{className:`relative flex h-full flex-col`,children:(0,X.jsxs)(`div`,{className:`relative flex-1 overflow-auto px-6 py-4`,style:{color:`var(--content-default)`},children:[(0,X.jsx)(q,{content:o,fileName:r,showEdit:c,isEditing:!1,onToggleEdit:y,extraActions:x}),(0,X.jsx)(N,{content:o})]})}):(0,X.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,X.jsxs)(`div`,{className:`relative flex-1 overflow-hidden`,children:[(0,X.jsx)(q,{content:d?p:o,fileName:r,showEdit:c,isEditing:d,onToggleEdit:()=>d?b():y(),extraActions:x}),d?(0,X.jsx)(K,{value:p,onChange:m,onSave:v}):(0,X.jsx)(W,{content:o,readOnly:!c,onStartEdit:y})]}),d&&(0,X.jsx)(G,{isDirty:_,isSaving:g.isPending,error:g.isError?`Save failed`:null,onSave:v,onDiscard:b})]})}var ae=e(r(),1);function oe({fileName:e,content:t,isBinary:n,viewMode:r=`preview`}){return n?(0,X.jsx)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Binary file — no preview available.`}):t===null?(0,X.jsxs)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:[`No preview available for `,e,`.`]}):M(e,void 0)&&r===`preview`?(0,X.jsx)(`div`,{className:`h-full overflow-auto px-6 py-4`,style:{color:`var(--content-default)`},children:(0,X.jsx)(N,{content:t})}):(0,X.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 se({assistantId:e,skill:t,onBack:n,onInstall:r,onRemove:a,isInstalling:o=!1,isRemoving:s=!1,swipeContainerRef:c,sourceConversationId:l}){let u=y(t),d=H(t),{fileEntries:p,setSelectedPath:m,activePath:_,activeFile:b,isFilesLoading:x,fileContent:S,isBinary:w,isContentLoading:E}=V(e,t.id),[D,k]=(0,Y.useState)(`preview`);(0,Y.useEffect)(()=>{k(`preview`)},[_]);let[A,N]=(0,Y.useState)(null);(0,Y.useEffect)(()=>{N(document.getElementById(`viewport-overlays`))},[]);let P=b?M(b.name,void 0):!1,F=P?D:`raw`,I=(0,X.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,X.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,X.jsx)(i,{variant:`ghost`,iconOnly:(0,X.jsx)(h,{"aria-hidden":!0}),expandOnMobile:!0,"aria-label":`Back to skills`,onClick:n,className:`max-md:bg-[var(--surface-active)]`}),(0,X.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,X.jsx)(ce,{available:u,removable:d,isInstalling:o,isRemoving:s,onInstall:r,onRemove:a})]}),(0,X.jsxs)(`div`,{className:`mt-4 flex flex-col gap-2`,children:[(0,X.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,X.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,X.jsx)(v,{skill:t,className:`h-6 w-6 shrink-0 text-[22px] leading-none`}),(0,X.jsx)(`h2`,{className:`min-w-0 truncate text-title-medium`,style:{color:`var(--content-emphasised)`},children:t.name})]}),(0,X.jsx)(g,{origin:t.origin})]}),(0,X.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:t.description}),(0,X.jsx)(B,{skill:{origin:t.origin,sourceConversationId:l}})]}),(0,X.jsx)(f.Root,{asChild:!0,noPadding:!0,children:(0,X.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,X.jsxs)(`div`,{className:`flex items-center justify-between gap-2 border-b px-3 py-2`,style:{borderColor:`var(--border-hover)`},children:[(0,X.jsx)(le,{fileEntries:p,activePath:_,activeName:b?.name??null,onSelect:m}),(0,X.jsx)(j,{iconOnly:!0,ariaLabel:`File view mode`,value:F,onChange:k,items:[{value:`preview`,label:`Preview`,icon:(0,X.jsx)(T,{"aria-hidden":!0}),disabled:!P},{value:`raw`,label:`Source`,icon:(0,X.jsx)(C,{"aria-hidden":!0})}]})]}),(0,X.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:x||E?(0,X.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,X.jsx)(O,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})}):b?(0,X.jsx)(oe,{fileName:b.name,content:S,isBinary:w,viewMode:F}):(0,X.jsx)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Select a file to view its contents.`})})]})})]});return A?(0,ae.createPortal)(I,A):I}function ce({available:e,removable:t,isInstalling:n,isRemoving:r,onInstall:a,onRemove:o}){return n||r?(0,X.jsx)(i,{variant:`ghost`,iconOnly:(0,X.jsx)(O,{className:`animate-spin`,"aria-hidden":!0}),expandOnMobile:!0,disabled:!0,"aria-label":`Pending`,className:`max-md:bg-[var(--surface-active)]`}):e?(0,X.jsx)(i,{variant:`ghost`,iconOnly:(0,X.jsx)(m,{"aria-hidden":!0}),expandOnMobile:!0,"aria-label":`Install skill`,onClick:a,disabled:!a,className:`max-md:bg-[var(--surface-active)]`}):t?(0,X.jsx)(i,{variant:`dangerGhost`,iconOnly:(0,X.jsx)(k,{"aria-hidden":!0}),expandOnMobile:!0,"aria-label":`Remove skill`,onClick:o,disabled:!o,className:`max-md:rounded-full max-md:bg-[var(--system-negative-weak)]`}):(0,X.jsx)(i,{variant:`dangerGhost`,iconOnly:(0,X.jsx)(k,{"aria-hidden":!0}),expandOnMobile:!0,disabled:!0,title:`Bundled skills cannot be removed`,"aria-label":`Bundled skill cannot be removed`,className:`max-md:rounded-full max-md:bg-[var(--system-negative-weak)]`})}function Z(e){return(e??``).endsWith(`/directory`)}function le({fileEntries:e,activePath:t,activeName:n,onSelect:r}){let i=n??`Select a file`;return e.length===0?(0,X.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2 text-body-medium-default`,style:{color:`var(--content-emphasised)`},children:[(0,X.jsx)(Q,{}),(0,X.jsx)(`span`,{className:`truncate`,children:i})]}):(0,X.jsxs)(S.Root,{children:[(0,X.jsx)(S.Trigger,{children:(0,X.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,X.jsx)(Q,{}),(0,X.jsx)(`span`,{className:`truncate`,children:i}),(0,X.jsx)(x,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`},"aria-hidden":!0})]})}),(0,X.jsx)(S.Content,{align:`start`,children:e.map(e=>{let n=Z(e.mimeType);return(0,X.jsx)(S.Item,{onSelect:()=>r(e.path),leftIcon:n?(0,X.jsx)(D,{}):(0,X.jsx)(E,{}),"aria-current":e.path===t?`true`:void 0,children:e.name},e.path)})})]})}function Q(){return(0,X.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,X.jsx)(E,{className:`h-4 w-4`,style:{color:`var(--content-secondary)`}})})}function ue(){return(0,X.jsx)(_,{icon:A,iconColor:`var(--system-danger)`,title:`Failed to load skills`,subtitle:`Something went wrong. Try refreshing the page.`})}function $(){return(0,X.jsx)(`div`,{className:`flex items-center justify-center py-16`,children:(0,X.jsx)(O,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})})}function de(){let e=ee(),{skillId:t}=a(),n=c(),r=o(),{pathname:l}=r,d=R(),f=(0,Y.useRef)(null),p=r.state,m=typeof p?.listSearch==`string`?p.listSearch:``,g=u({...P({path:{assistant_id:e},query:{include:`catalog`}}),select:e=>e.skills,refetchOnMount:`always`}),v=(0,Y.useCallback)(()=>{n(`${L.superpowers}${m}`,{replace:!0})},[n,m]);U({containerRef:f,onBack:v,enabled:d,navKey:l});let{handleInstall:y,handleRemove:x,isInstallingSkill:S,isRemovingSkill:C,skillPendingRemoval:w,confirmRemove:T,cancelRemove:E}=b(e,{onRemoved:v}),D=g.data,O=(0,Y.useMemo)(()=>D?.find(e=>e.id===t)??null,[D,t]),k=u({...F({path:{assistant_id:e,id:t??``}}),enabled:!!t&&O?.origin===`assistant-memory`,select:e=>e.skill.origin===`assistant-memory`?e.skill.sourceConversationId??null:null});if(!t)return(0,X.jsx)(s,{to:L.superpowers,replace:!0});if(g.isLoading)return(0,X.jsx)($,{});if(g.isError&&!O)return(0,X.jsx)(ue,{});if(!O&&g.isFetching)return(0,X.jsx)($,{});if(!O)return(0,X.jsx)(_,{icon:J,title:`Skill not found`,subtitle:`This skill may have been removed, or the link is out of date.`,children:(0,X.jsx)(i,{type:`button`,variant:`outlined`,className:`mt-4`,leftIcon:(0,X.jsx)(h,{"aria-hidden":!0}),onClick:v,children:`Back to My Superpowers`})});let A={assistantId:e,skill:O,onBack:v,onInstall:()=>y(O),onRemove:()=>x(O),isInstalling:S(O),isRemoving:C(O),sourceConversationId:k.data??void 0};return(0,X.jsxs)(X.Fragment,{children:[d?(0,X.jsx)(se,{...A,swipeContainerRef:f}):(0,X.jsx)(re,{...A}),(0,X.jsx)(te,{skillName:w?.name??null,onConfirm:T,onCancel:E})]})}export{de as SkillDetailPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-Bj8_eutd.js";import{t as n}from"./react-BFJW0bSv.js";import{t as r}from"./button-Dy5001j6.js";import{u as i}from"./chunk-5KNZJZUH-Bsoom5--.js";import{n as a}from"./QueryClientProvider-CMu7CkQU.js";import{t as o}from"./useQuery-Bz-fbQ-m.js";import{t as s}from"./jsx-runtime-D3ZM-ToX.js";import{t as c}from"./typography-DEI9Ra9z.js";import{t as l}from"./brain-BIzJCPA6.js";import{t as u}from"./menu-BvjhxZo7.js";import{t as d}from"./ellipsis-DnoqTkj4.js";import{t as f}from"./loader-circle-XREx3i4W.js";import{t as p}from"./trash-2-L5LNgw9o.js";import"./src-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-Bj8_eutd.js";import{t as n}from"./react-BFJW0bSv.js";import{t as r}from"./button-Dy5001j6.js";import{u as i}from"./chunk-5KNZJZUH-Bsoom5--.js";import{n as a}from"./QueryClientProvider-CMu7CkQU.js";import{t as o}from"./useQuery-Bz-fbQ-m.js";import{t as s}from"./jsx-runtime-D3ZM-ToX.js";import{t as c}from"./typography-DEI9Ra9z.js";import{t as l}from"./brain-BIzJCPA6.js";import{t as u}from"./menu-BvjhxZo7.js";import{t as d}from"./ellipsis-DnoqTkj4.js";import{t as f}from"./loader-circle-XREx3i4W.js";import{t as p}from"./trash-2-L5LNgw9o.js";import"./src-te3YTBG-.js";import{t as m}from"./file-markdown-DaflJFk7.js";import{n as h}from"./resolved-assistants-store-Dw5UuGyB.js";import{bt as g,on as _}from"./react-query.gen-C5c1Acuq.js";import{u as v}from"./routes-D9sNqB_o.js";import{t as y}from"./detail-shell-Cyqr5FXJ.js";import{n as b,t as x}from"./use-skill-detail-files-BvOKvY0-.js";import{n as S,r as C,t as w}from"./skills-Cum1XWT2.js";var T=e(n(),1),E=s();function D({skillId:e,onClose:n}){let s=i(),D=a(),O=h.use.activeAssistantId(),[k,A]=(0,T.useState)(!1),j=o({...g({path:{assistant_id:O??``,id:e}}),select:e=>e.skill,enabled:!!O}),M=j.data,{skillMd:N,fileContent:P,isFilesPending:F,isContentPending:I}=x(O,e),L=_({onSuccess:()=>{O&&w(D,O),n()},onError:e=>{t(e,{context:`skill-detail-panel-remove`})}}),R=()=>{O&&(L.mutate({path:{assistant_id:O,id:e}}),A(!1))},z=j.isPending||F||N!=null&&I,B=M!=null&&S(M);return(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(y,{icon:M?.emoji?(0,E.jsx)(`span`,{className:`text-xl leading-none`,"aria-hidden":!0,children:M.emoji}):void 0,Glyph:l,title:M?.name??`Skill`,closeLabel:`Close skill details`,onClose:n,headerActions:B?(0,E.jsxs)(u.Root,{children:[(0,E.jsx)(u.Trigger,{asChild:!0,children:(0,E.jsx)(r,{variant:`ghost`,iconOnly:(0,E.jsx)(d,{}),"aria-label":`Skill actions`,className:`shrink-0`})}),(0,E.jsx)(u.Content,{side:`bottom`,align:`end`,children:(0,E.jsx)(u.Item,{leftIcon:(0,E.jsx)(p,{size:14}),onSelect:()=>A(!0),children:`Remove skill`})})]}):void 0,footer:(0,E.jsx)(r,{fullWidth:!0,onClick:()=>s(v.skills.detail(e)),children:`Go to Skill`}),children:j.isError&&!M?(0,E.jsx)(c,{variant:`body-medium-lighter`,as:`p`,className:`py-8 text-center text-[var(--content-tertiary)]`,children:`This skill could not be loaded. It may have been removed.`}):z?(0,E.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,E.jsx)(f,{className:`h-5 w-5 animate-spin text-[var(--content-tertiary)]`})}):(0,E.jsxs)(E.Fragment,{children:[M?.description&&(0,E.jsx)(c,{variant:`body-medium-lighter`,as:`p`,className:`mb-4 text-[var(--content-secondary)]`,children:M.description}),M&&(0,E.jsx)(b,{skill:M,className:`mb-4`,onNavigate:n}),P&&(0,E.jsx)(m,{content:P})]})}),(0,E.jsx)(C,{skillName:k&&M?M.name:null,onConfirm:R,onCancel:()=>A(!1)})]})}export{D as SkillDetailPanel};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./jsx-runtime-D3ZM-ToX.js";import"./src-
|
|
1
|
+
import{t as e}from"./jsx-runtime-D3ZM-ToX.js";import"./src-te3YTBG-.js";import{t}from"./confirm-dialog-UYFm4osC.js";import{Ct as n}from"./react-query.gen-C5c1Acuq.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{m as e,n as t}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as n}from"./jsx-runtime-D3ZM-ToX.js";import{u as r}from"./routes-
|
|
1
|
+
import{m as e,n as t}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as n}from"./jsx-runtime-D3ZM-ToX.js";import{u as r}from"./routes-D9sNqB_o.js";var i=n();function a(){let[n]=e(),a=n.get(`skill`);if(a)return(0,i.jsx)(t,{to:r.skills.detail(a),replace:!0});let o=n.toString();return(0,i.jsx)(t,{to:`${r.superpowers}${o?`?${o}`:``}`,replace:!0})}export{a as SkillsPage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-Dy5001j6.js";import{t as r}from"./jsx-runtime-D3ZM-ToX.js";import{t as i}from"./typography-DEI9Ra9z.js";import{t as a}from"./check-sC49_hjU.js";import{t as o}from"./clipboard-copy-JwIceweN.js";import{t as s}from"./external-link-CS0aVYGt.js";import"./src-te3YTBG-.js";import{t as c}from"./input-hw3el2GJ.js";import{t as l}from"./use-copy-to-clipboard-cF7ZSilD.js";var u=e(t(),1),d=[`app_mentions:read`,`assistant:write`,`channels:history`,`channels:join`,`channels:read`,`chat:write`,`files:read`,`files:write`,`groups:history`,`groups:read`,`im:history`,`im:read`,`im:write`,`mpim:history`,`mpim:read`,`reactions:read`,`reactions:write`,`users:read`],f=[`channels:join`,`files:read`,`files:write`,`reactions:read`,`reactions:write`],p=[`channels:history`,`channels:read`,`groups:history`,`groups:read`,`im:history`,`im:read`,`mpim:history`,`mpim:read`,`reactions:read`,`search:read`,`users:read`],m=[`reactions:read`,`search:read`],h=35,g=140,_=300;function v(e,t=``){let n=e.trim().slice(0,h)||`My Assistant`;return{display_information:{name:n,...t?{description:t.slice(0,g)}:{},background_color:`#1a1a2e`},features:{app_home:{home_tab_enabled:!1,messages_tab_enabled:!0,messages_tab_read_only_enabled:!1},bot_user:{display_name:n,always_online:!0},agent_view:{agent_description:(t||n).slice(0,_),suggested_prompts:[]}},oauth_config:{scopes:{bot:[...d],bot_optional:[...f],user:[...p],user_optional:[...m]}},settings:{event_subscriptions:{bot_events:[`app_mention`,`app_context_changed`,`message.channels`,`message.groups`,`message.im`,`message.mpim`,`reaction_added`]},interactivity:{is_enabled:!0},org_deploy_enabled:!1,socket_mode_enabled:!0,token_rotation_enabled:!1}}}var y=r(),b=`https://api.slack.com/apps?new_app=1`,x=`xoxb-`,S=`xapp-`,C=20;function w(e,t,n){let r=e.trim();return r?r.startsWith(t)?r.length<C?`${n} looks truncated — copy the whole value from Slack.`:null:`${n} should start with "${t}".`:null}function T({assistantName:e,onSave:t,saveStatus:r=`idle`,saveError:d=null}){let[f,p]=(0,u.useState)(e),[m,h]=(0,u.useState)(``),g=(0,u.useRef)(!1);(0,u.useEffect)(()=>{g.current||p(e)},[e]);let[_,C]=(0,u.useState)(``),[T,E]=(0,u.useState)(``),{copy:D,copied:O}=l(),k=(0,u.useMemo)(()=>JSON.stringify(v(f,m),null,2),[f,m]),A=f.trim().length>0,j=w(_,x,`Bot token`),M=w(T,S,`App token`),N=_.trim().length>0&&T.trim().length>0&&!j&&!M&&r!==`pending`,P=(0,u.useCallback)(()=>{D(k)},[D,k]),F=(0,u.useCallback)(()=>{window.open(b,`_blank`,`noopener,noreferrer`)},[]),I=(0,u.useCallback)(()=>{N&&t?.(_.trim(),T.trim())},[N,t,_,T]);return(0,y.jsx)(`div`,{"data-slot":`slack-setup-wizard`,children:(0,y.jsxs)(`div`,{className:`flex flex-col gap-5 rounded-lg bg-[var(--surface-sunken)] p-4`,children:[(0,y.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,y.jsx)(i,{as:`p`,variant:`body-medium-lighter`,className:`text-[color:var(--content-default)]`,children:`Name your Slack app, copy its manifest, then create it in Slack. All permissions and settings come pre-configured.`}),(0,y.jsx)(c,{label:`App Name`,value:f,onChange:e=>{g.current=!0,p(e.target.value.slice(0,35))},placeholder:`My Assistant`,fullWidth:!0}),(0,y.jsx)(c,{label:`Description (optional)`,value:m,onChange:e=>h(e.target.value.slice(0,140)),placeholder:`What this assistant helps with`,helperText:`Shown on the app's Slack profile.`,fullWidth:!0})]}),(0,y.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,y.jsx)(i,{as:`p`,variant:`body-medium-lighter`,className:`text-[color:var(--content-default)]`,children:`In Slack:`}),(0,y.jsxs)(`ol`,{className:`list-decimal list-inside space-y-1 text-body-medium-lighter text-[var(--content-default)]`,children:[(0,y.jsxs)(`li`,{children:[`Under `,(0,y.jsx)(`strong`,{children:`Or start your own way`}),`, pick`,` `,(0,y.jsx)(`strong`,{children:`From a manifest`}),`, then `,(0,y.jsx)(`strong`,{children:`Continue`})]}),(0,y.jsx)(`li`,{children:`Choose your workspace and give it the manifest you copied`}),(0,y.jsxs)(`li`,{children:[`Review the permissions, then click`,` `,(0,y.jsx)(`strong`,{children:`Create and Install`})]}),(0,y.jsxs)(`li`,{children:[`Expand `,(0,y.jsx)(`strong`,{children:`Your app credentials`}),` and copy both the`,` `,(0,y.jsx)(`strong`,{children:`Bot token`}),` and `,(0,y.jsx)(`strong`,{children:`App token`})]})]}),(0,y.jsxs)(i,{as:`p`,variant:`body-small-default`,className:`text-[color:var(--content-faint)]`,children:[`Slack's last screen also offers a command-line walkthrough and a `,(0,y.jsx)(`strong`,{children:`Download app files`}),` button. Skip both — they set up a separate local app, and this assistant needs only the two tokens.`]}),(0,y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3`,children:[(0,y.jsx)(n,{type:`button`,variant:`outlined`,disabled:!A,onClick:P,leftIcon:O?(0,y.jsx)(a,{"aria-hidden":!0,className:`size-4`}):(0,y.jsx)(o,{"aria-hidden":!0,className:`size-4`}),children:O?`Copied!`:`Copy manifest JSON`}),(0,y.jsx)(n,{type:`button`,disabled:!A,onClick:F,rightIcon:(0,y.jsx)(s,{"aria-hidden":!0,className:`size-4`}),children:`Open Slack`})]}),(0,y.jsxs)(i,{as:`p`,variant:`body-small-default`,className:`text-[color:var(--content-faint)]`,children:[`If Slack shows “Request approval” instead of`,` `,(0,y.jsx)(`strong`,{children:`Install`}),`, a workspace admin needs to approve the app first.`]})]}),(0,y.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,y.jsxs)(i,{as:`p`,variant:`body-medium-lighter`,className:`text-[color:var(--content-default)]`,children:[`Paste both tokens from Slack's `,(0,y.jsx)(`strong`,{children:`Your app credentials`}),` panel:`]}),(0,y.jsx)(c,{label:`Bot Token`,type:`password`,value:_,onChange:e=>C(e.target.value),placeholder:`${x}...`,errorText:j??void 0,fullWidth:!0}),(0,y.jsx)(c,{label:`App Token`,type:`password`,value:T,onChange:e=>E(e.target.value),placeholder:`${S}...`,errorText:M??void 0,fullWidth:!0}),(0,y.jsx)(`div`,{className:`flex items-center gap-3`,children:(0,y.jsx)(n,{type:`button`,variant:`primary`,onClick:I,disabled:!N,children:r===`pending`?`Connecting…`:`Connect Slack`})}),r===`success`&&(0,y.jsx)(i,{as:`p`,variant:`body-small-default`,className:`text-[color:var(--content-positive)]`,children:`Credentials saved.`}),r===`error`&&d&&(0,y.jsx)(i,{as:`p`,variant:`body-small-default`,className:`text-[color:var(--system-negative-strong)]`,children:d})]})]})})}export{T as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{Lr as e}from"./sdk.gen-BHZ0fJla.js";import{n as t}from"./api-errors-CFiCT7Ap.js";var n=[`aiff`,`wav`,`mp3`,`m4a`,`caf`],r=[`task_complete`,`needs_input`,`task_failed`,`notification`,`new_conversation`,`message_sent`,`character_poke`,`random`],i={task_complete:`Task Complete`,needs_input:`Needs Input`,task_failed:`Task Failed`,notification:`Notification`,new_conversation:`New Conversation`,message_sent:`Message Sent`,character_poke:`Character Poke`,random:`Random`};function a(){let e={};for(let t of r)e[t]={enabled:!1,sounds:[]};return{globalEnabled:!1,volume:.7,events:e}}function o(e){let t=e.lastIndexOf(`.`);return t<0||t===e.length-1?``:e.slice(t+1).toLowerCase()}function s(e){let t=o(e);return n.includes(t)}function c(e){return!e||e.includes(`/`)||e.includes(`\\`)||e.includes(`..`)?!1:s(e)}function l(e){let t=e.lastIndexOf(`.`);return t<=0?e:e.slice(0,t)}var u=`data/sounds`;async function d(n,r){if(!c(r))return null;try{let{data:i,error:a,response:o}=await e({path:{assistant_id:n},query:{path:`${u}/${r}`},parseAs:`blob`,throwOnError:!1});return t(o,a,`Failed to fetch sound file`),!o.ok||!i?null:i}catch{return null}}function f(e){return Number.isFinite(e)?e<0?0:e>1?1:e:.7}var p=class{assistantId=null;config=null;featureEnabled=!1;cache=new Map;pendingFetches=new Map;audioContext=null;setAssistantId(e){e!==this.assistantId&&(this.assistantId=e,this.clearCache())}setConfig(e){this.config=e}setFeatureEnabled(e){this.featureEnabled=e}async play(e){if(!this.featureEnabled)return;let t=this.config;if(!t||!t.globalEnabled)return;let n=t.events[e];if(!n?.enabled)return;let r=f(t.volume),i=n.sounds.filter(c);if(i.length===0){this.playFallbackBlip(r);return}let a=i[Math.floor(Math.random()*i.length)];if(!a){this.playFallbackBlip(r);return}await this.playFile(a,r)||this.playFallbackBlip(r)}async previewSound(e,t){if(!this.featureEnabled)return;let n=f(t??this.config?.volume??.7);await this.playFile(e,n)||this.playFallbackBlip(n)}async previewFallbackBlip(e){if(!this.featureEnabled)return;let t=f(e??this.config?.volume??.7);this.playFallbackBlip(t)}clearCache(){for(let e of this.cache.values())URL.revokeObjectURL(e.url);this.cache.clear(),this.pendingFetches.clear()}async playFile(e,t){if(!c(e))return!1;let n=await this.getOrFetch(e);if(!n)return!1;try{let e=new Audio(n.url);return e.volume=t,await e.play(),!0}catch{return!1}}async getOrFetch(e){let t=this.cache.get(e);if(t)return t;let n=this.pendingFetches.get(e);if(n)return n;let r=this.assistantId;if(!r)return null;let i=(async()=>{try{let t=await d(r,e);if(!t)return null;let n={url:URL.createObjectURL(t)};return this.cache.set(e,n),n}finally{this.pendingFetches.delete(e)}})();return this.pendingFetches.set(e,i),i}playFallbackBlip(e){if(!(typeof window>`u`))try{let t=window.AudioContext||window.webkitAudioContext;if(!t)return;this.audioContext||=new t;let n=this.audioContext;n.state===`suspended`&&n.resume();let r=n.createOscillator(),i=n.createGain();r.type=`sine`,r.frequency.setValueAtTime(880,n.currentTime);let a=Math.max(0,Math.min(1,e))*.25;i.gain.setValueAtTime(0,n.currentTime),i.gain.linearRampToValueAtTime(a,n.currentTime+.01),i.gain.exponentialRampToValueAtTime(1e-4,n.currentTime+.18),r.connect(i),i.connect(n.destination),r.start(),r.stop(n.currentTime+.2)}catch{}}},m=null;function h(){return m||=new p,m}export{l as a,a as i,i as n,r,h as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-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-DRIctGVs.js";import{t as s}from"./chevron-down-B5A-0g8A.js";import{t as c}from"./play-B0-JEtcm.js";import{t as l}from"./trash-2-L5LNgw9o.js";import{t as u}from"./toggle-lfnhEAcN.js";import{At as d,Mt as f,Nt as p,Ot as m}from"./react-query.gen-
|
|
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-DRIctGVs.js";import{t as s}from"./chevron-down-B5A-0g8A.js";import{t as c}from"./play-B0-JEtcm.js";import{t as l}from"./trash-2-L5LNgw9o.js";import{t as u}from"./toggle-lfnhEAcN.js";import{At as d,Mt as f,Nt as p,Ot as m}from"./react-query.gen-C5c1Acuq.js";import{a as h,i as g,n as _,r as v,t as y}from"./sound-manager-Bx-OcMAz.js";import{t as b}from"./use-active-assistant-id-CldxA_-M.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)(()=>d({path:{assistant_id:t}}),[t]),s=(0,x.useMemo)(()=>m({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({...p(E),onMutate:async t=>{await e.cancelQueries({queryKey:a.queryKey});let n=e.getQueryData(a.queryKey);return f(e,E,t.body),{previous:n}},onError:(t,n,r)=>{r?.previous!==void 0&&f(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};
|