@vellumai/web 0.10.9 → 0.10.10-dev.202607170046.8482d40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{AnimatePresence-TZWSGjkI.js → AnimatePresence-DqW6iWlh.js} +1 -1
- package/dist/assets/{BundleConfirmPage-DwVI7U0b.js → BundleConfirmPage-CQYO7UBl.js} +1 -1
- package/dist/assets/{Combination-Cd_aWAsj.js → Combination-BJXmG5wD.js} +1 -1
- package/dist/assets/{a2a-invite-CwD3hY_-.js → a2a-invite-BgcNY6-0.js} +1 -1
- package/dist/assets/{about-page-vayMMPxH.js → about-page-XGv9RAQu.js} +1 -1
- package/dist/assets/{account-page-uVMhWTmh.js → account-page-vkxiAGOl.js} +1 -1
- package/dist/assets/{account-shell-DaECsri2.js → account-shell-B7umdF9x.js} +1 -1
- package/dist/assets/{acp-run-detail-panel-DKXp8jTf.js → acp-run-detail-panel-hcso0zce.js} +4 -4
- package/dist/assets/activity-steps-panel-CcBw8DS-.js +1 -0
- package/dist/assets/{add-credits-modal-DjQdNLWh.js → add-credits-modal-DjNvi-GP.js} +1 -1
- package/dist/assets/ai-page-CN2rAfL9.js +1 -0
- package/dist/assets/animated-avatar-g_UuqPoB.js +1 -0
- package/dist/assets/{api-Dfrm6N2I.js → api-Bf9f0SF-.js} +1 -1
- package/dist/assets/api-CAksDSJ5.js +1 -0
- package/dist/assets/{api-key-screen-DhFeDT-n.js → api-key-screen-D1VuOnOP.js} +1 -1
- package/dist/assets/app-types-XM5qKBD0.js +1 -0
- package/dist/assets/archive-redirect-page-CzfenZ5a.js +1 -0
- package/dist/assets/arrow-left-C2re-gYj.js +1 -0
- package/dist/assets/{assistant-feature-flag-store-BA3GR2m5.js → assistant-feature-flag-store-hJs0ZthQ.js} +1 -1
- package/dist/assets/assistant-identity-store-CgJwLRMd.js +1 -0
- package/dist/assets/assistant-status-panel-C-j2xyys.js +1 -0
- package/dist/assets/auth-store-6jOlH4H3.js +2 -0
- package/dist/assets/background-task-detail-panel-D9-rHjio.js +1 -0
- package/dist/assets/ban-Bvfp1f1I.js +1 -0
- package/dist/assets/{bell-BQLonLMp.js → bell-V9BYKY__.js} +1 -1
- package/dist/assets/billing-page-DqCOyq6U.js +3 -0
- package/dist/assets/{bookmark-CNrithFf.js → bookmark-CjHh36q4.js} +1 -1
- package/dist/assets/{bookmarks-page-BdcnBpJK.js → bookmarks-page-CgjhMvgV.js} +1 -1
- package/dist/assets/{brain-BLDXGaUy.js → brain-Ci5ws6Wl.js} +1 -1
- package/dist/assets/browser-ANfYdLSw.js +2 -0
- package/dist/assets/{bug-BsuQ5ciQ.js → bug-BMI_6ziD.js} +1 -1
- package/dist/assets/{build-state-D-aPe0DY.js → build-state-eUN4dUUO.js} +1 -1
- package/dist/assets/button-BQVYX8n_.js +1 -0
- package/dist/assets/card-D8zyWtZh.js +1 -0
- package/dist/assets/channels-page-route-B71sEakK.js +9 -0
- package/dist/assets/chat-BDhsGoUo.js +1 -0
- package/dist/assets/chat-markdown-message-DA7kD5x_.js +2 -0
- package/dist/assets/check-CkQjevXL.js +1 -0
- package/dist/assets/checkbox-DpJ6rimy.js +1 -0
- package/dist/assets/{chevron-down-qD-re7AW.js → chevron-down-DwIPfcCg.js} +1 -1
- package/dist/assets/chevron-left-mpHv5ahd.js +1 -0
- package/dist/assets/chevron-right-DDgSinGu.js +1 -0
- package/dist/assets/{chevron-up-3jCod9LW.js → chevron-up-B8xt61zY.js} +1 -1
- package/dist/assets/{chunk-5KNZJZUH-DdS6bb-3.js → chunk-5KNZJZUH-SU6Q_tDT.js} +1 -1
- package/dist/assets/{circle-alert-zOqdmf25.js → circle-alert-_RJjkRGu.js} +1 -1
- package/dist/assets/circle-check-DWe3QGcN.js +1 -0
- package/dist/assets/{client-feature-flag-store-Ri-a_LuI.js → client-feature-flag-store-BF2sLP87.js} +1 -1
- package/dist/assets/{client-identity-DfC94VQ4.js → client-identity-ClnkJ165.js} +1 -1
- package/dist/assets/{clipboard-copy-DF6K1xc6.js → clipboard-copy-sWUyFbCT.js} +1 -1
- package/dist/assets/clock-YYSFOsux.js +1 -0
- package/dist/assets/{cloud-off-Db1nySkc.js → cloud-off-Cj66Ozsp.js} +1 -1
- package/dist/assets/code-D1zl7aOd.js +1 -0
- package/dist/assets/{command-palette-Bu2Qjyle.js → command-palette-cry3DjBe.js} +1 -1
- package/dist/assets/{command-palette-window-page-CtQ40jMw.js → command-palette-window-page-DiYxA98-.js} +1 -1
- package/dist/assets/community-page-Bjrv2fFx.js +1 -0
- package/dist/assets/{confirm-dialog-CSkhRFRk.js → confirm-dialog-kE8y7s20.js} +1 -1
- package/dist/assets/{connect-page-BCb6nr8x.js → connect-page-Dg9B95NR.js} +1 -1
- package/dist/assets/consent-C8XzlZzW.js +1 -0
- package/dist/assets/{consent-controls-udcijSAB.js → consent-controls-BKoyAFQL.js} +1 -1
- package/dist/assets/{contacts-gateway-DfyjoqNo.js → contacts-gateway-MdTfmafh.js} +1 -1
- package/dist/assets/{contacts-page-route-CicU-jSI.js → contacts-page-route-CpXule5I.js} +1 -1
- package/dist/assets/conversation-list-fetchers-CRj2YEra.js +1 -0
- package/dist/assets/{cpu-BJuB2Khn.js → cpu-CEyjQpZz.js} +1 -1
- package/dist/assets/{credential-entry-page-CRTZY2VD.js → credential-entry-page-CINUIvT7.js} +1 -1
- package/dist/assets/credentials-page-Bxyd05F2.js +1 -0
- package/dist/assets/{credit-card-BuyWdO9t.js → credit-card-BY-vD21O.js} +1 -1
- package/dist/assets/danger-zone-redirect-page-D5PMgW3x.js +1 -0
- package/dist/assets/debug-page-DgE71O7D.js +4 -0
- package/dist/assets/{deploy-dialogs-C6pCnoVj.js → deploy-dialogs-IR36wqsi.js} +1 -1
- package/dist/assets/detail-card-BQDwZw9u.js +1 -0
- package/dist/assets/{detail-panel-stop-button-H9sXvWGa.js → detail-panel-stop-button-7iw57s5z.js} +1 -1
- package/dist/assets/developer-page-CyI9M1jH.js +1 -0
- package/dist/assets/{device-settings-BBwtGKJb.js → device-settings-DXp9L4iB.js} +1 -1
- package/dist/assets/devices-redirect-page-CULscA9R.js +1 -0
- package/dist/assets/{diagnostics-CUmYxbmM.js → diagnostics-BmpZegnr.js} +1 -1
- package/dist/assets/{dictation-overlay-page-BmLNyGeD.js → dictation-overlay-page-BtLSzNia.js} +1 -1
- package/dist/assets/{dist-CxHeCOEv.js → dist-Btg1osd6.js} +1 -1
- package/dist/assets/{dist-DqmYHxdg.js → dist-CxzJhU4a.js} +1 -1
- package/dist/assets/dist-Df9Kbc9v.js +1 -0
- package/dist/assets/{dist-HJ505Xnn.js → dist-URk13ITj.js} +1 -1
- package/dist/assets/document-viewer-page-D2UQkY2m.js +1 -0
- package/dist/assets/{domain-field-C5a2iMot.js → domain-field-DKKi4dF-.js} +1 -1
- package/dist/assets/{download-CAuK-nZ6.js → download-B6XjnEzx.js} +1 -1
- package/dist/assets/dropdown-CuE5AuVj.js +1 -0
- package/dist/assets/effective-timezone-Cp9o8K5B.js +1 -0
- package/dist/assets/emails-page-B6FMCJWC.js +1 -0
- package/dist/assets/esm-Bg_CV71l.js +2 -0
- package/dist/assets/esm-C-NQQXQk.js +1 -0
- package/dist/assets/esm-CfdeJFC3.js +2 -0
- package/dist/assets/esm-D6qOHXq4.js +2 -0
- package/dist/assets/esm-DhG5lsUR.js +2 -0
- package/dist/assets/esm-Dr3kF6_n.js +2 -0
- package/dist/assets/esm-M2XAj3Ql.js +2 -0
- package/dist/assets/{external-link-Dqpx9nRm.js → external-link-Cczz6xJ4.js} +1 -1
- package/dist/assets/eye-C2rSrbD-.js +1 -0
- package/dist/assets/eye-off-BQ9J3pF2.js +1 -0
- package/dist/assets/feature-flag-catalog-BYQYYM0o.js +1 -0
- package/dist/assets/{file-DsyJLS2u.js → file-C8pjlmtk.js} +1 -1
- package/dist/assets/file-editor-zaQWhFtF.js +1 -0
- package/dist/assets/file-markdown-CIujEAvN.js +2 -0
- package/dist/assets/{file-text-CYJz-GvF.js → file-text-DA128T4K.js} +1 -1
- package/dist/assets/folder-open-7DKBH5WB.js +1 -0
- package/dist/assets/general-page-CdtyNT85.js +1 -0
- package/dist/assets/{globe-4qSOWE2N.js → globe-inD5tOKN.js} +1 -1
- package/dist/assets/{haptics-BOswdY5A.js → haptics-DSy7IUf8.js} +2 -2
- package/dist/assets/{hard-drive-rDxhoRUm.js → hard-drive-BXh9qCfi.js} +1 -1
- package/dist/assets/hatching-screen-By8y8slf.js +1 -0
- package/dist/assets/home-page-route-D8rR127z.js +1 -0
- package/dist/assets/{hosting-screen-nru73FGU.js → hosting-screen-iOu5c3s2.js} +1 -1
- package/dist/assets/identity-page-route-qTfcZp4g.js +7 -0
- package/dist/assets/impersonate-version-flag-DRJTfKcP.js +1 -0
- package/dist/assets/index-CpdQgTZI.css +2 -0
- package/dist/assets/index-D_wKh03d.js +211 -0
- package/dist/assets/{info-DsOyuMO9.js → info-DLFMsCl-.js} +1 -1
- package/dist/assets/ingest-DVy2v0Mj.js +1 -0
- package/dist/assets/input-6HVXMszw.js +1 -0
- package/dist/assets/{inspect-page-DoA1sfxg.js → inspect-page-rNR7--O9.js} +4 -4
- package/dist/assets/integrations-page-B41K84yI.js +1 -0
- package/dist/assets/intelligence-layout-BtlV0p8d.js +1 -0
- package/dist/assets/{key-round-CD3JWrs1.js → key-round-BggUE1Ns.js} +1 -1
- package/dist/assets/keyboard-shortcuts-redirect-page-DrBxlgF7.js +1 -0
- package/dist/assets/latest-assistant-text-Qj7hDn1c.js +24 -0
- package/dist/assets/library-detail-page-Cfc8zZ7K.js +1 -0
- package/dist/assets/library-page-DDo7QO-G.js +1 -0
- package/dist/assets/{link-2-4bMylQ5v.js → link-2-YnZe-oMg.js} +1 -1
- package/dist/assets/list-row-spYsDF9a.js +1 -0
- package/dist/assets/loader-circle-C9QrtO3C.js +1 -0
- package/dist/assets/local-mode-Dydd46cS.js +39 -0
- package/dist/assets/local-settings-C-dW2vkq.js +1 -0
- package/dist/assets/{log-in--aqELu3z.js → log-in-Xv-AVlu8.js} +1 -1
- package/dist/assets/{login-flow-DYLpX6IU.js → login-flow-KepuOYBD.js} +1 -1
- package/dist/assets/login-page-DF7FczXW.js +1 -0
- package/dist/assets/{logout-page-xucijGcq.js → logout-page-b4fcTzGe.js} +1 -1
- package/dist/assets/logs-layout-C_n7Nf1x.js +1 -0
- package/dist/assets/memory-page-route-BpqBCX0L.js +1 -0
- package/dist/assets/{memory-router-playground-page-DikxzmKT.js → memory-router-playground-page-BKCeJSb5.js} +1 -1
- package/dist/assets/menu-B672pBEP.js +1 -0
- package/dist/assets/messages-D7HOlpNc.js +13 -0
- package/dist/assets/{metric-card-cvhtzRdM.js → metric-card-ClJWxxPO.js} +1 -1
- package/dist/assets/mic-Dmvwrxe8.js +1 -0
- package/dist/assets/{minimize-2-Clnet2W7.js → minimize-2-B8VHIj-G.js} +1 -1
- package/dist/assets/{misc-DnHIYCE9.js → misc-D0u5tzSd.js} +1 -1
- package/dist/assets/{mobile-sidebar-drawer-BaL8el3Y.js → mobile-sidebar-drawer-jzcdwotk.js} +1 -1
- package/dist/assets/modal-bIQsMU63.js +1 -0
- package/dist/assets/{monitor-DfbL8_59.js → monitor-Cy7Q70-7.js} +1 -1
- package/dist/assets/{moon-B8qiwjrW.js → moon-jDX7sipq.js} +1 -1
- package/dist/assets/mutation-error-BSB3r4np.js +1 -0
- package/dist/assets/{native-biometric-B2cBAQ1U.js → native-biometric-B_KQURZ4.js} +1 -1
- package/dist/assets/native-file-kVcoTiGR.js +2 -0
- package/dist/assets/notice-B8UI-BOp.js +1 -0
- package/dist/assets/notifications-page-D3JJkCDb.js +1 -0
- package/dist/assets/{oauth-complete-page-SfFEsa_M.js → oauth-complete-page-DWOIdXkU.js} +1 -1
- package/dist/assets/{oauth-popup-complete-page-D4Xoa-Gr.js → oauth-popup-complete-page-BWsHYRdP.js} +1 -1
- package/dist/assets/onboarding-store-Bxw_JVDh.js +1 -0
- package/dist/assets/page-empty-state-M3M-Ny7y.js +1 -0
- package/dist/assets/page-shell-CflRXEeM.js +1 -0
- package/dist/assets/{pairing-page-B5xnM6XX.js → pairing-page-B04bci4y.js} +1 -1
- package/dist/assets/panel-item-CegzTp_l.js +1 -0
- package/dist/assets/password-reset-page-CNCeaWWO.js +1 -0
- package/dist/assets/{pencil-CUIr0IFo.js → pencil-BOTCmXXR.js} +1 -1
- package/dist/assets/personality-page-tI_Bdj2g.js +1 -0
- package/dist/assets/platform-detection-lm9it_11.js +1 -0
- package/dist/assets/{platform-loopback-page-_IbNDHN2.js → platform-loopback-page-Bp8C9tZw.js} +1 -1
- package/dist/assets/{plugin-detail-page-_iCqtxl9.js → plugin-detail-page-Dhg5mNZ7.js} +1 -1
- package/dist/assets/plugins-page-DE7s-sYB.js +1 -0
- package/dist/assets/plugins-surface-DXytDI7x.js +1 -0
- package/dist/assets/plus-D54jrPDF.js +1 -0
- package/dist/assets/popover-rW459udD.js +1 -0
- package/dist/assets/prechat-jJWDBLel.js +1 -0
- package/dist/assets/prefs-Od3axSSC.js +1 -0
- package/dist/assets/privacy-page-BqinM6m5.js +1 -0
- package/dist/assets/privacy-screen-D9_clskP.js +1 -0
- package/dist/assets/{usage-window-CCdJWJ0U.js → profile-metadata-VB4MBtgt.js} +1 -1
- package/dist/assets/progress-bar-Wa6qo8OT.js +1 -0
- package/dist/assets/{provider-callback-page-BoO2JgZt.js → provider-callback-page-CCcKKz8l.js} +1 -1
- package/dist/assets/provider-catalogs-BFoYvfUc.js +1 -0
- package/dist/assets/{provider-key-B-hx1r3c.js → provider-key-DqjTE9QV.js} +1 -1
- package/dist/assets/{provider-signup-page-DLVKMYZh.js → provider-signup-page-UutK4KOX.js} +1 -1
- package/dist/assets/puzzle-0_oQwgsv.js +1 -0
- package/dist/assets/{quick-input-page-7z8Ti2GI.js → quick-input-page-DGAeq4rS.js} +1 -1
- package/dist/assets/react-query.gen-BqmzUoTX.js +1 -0
- package/dist/assets/react-query.gen-CWfp8GEM.js +1 -0
- package/dist/assets/{refresh-cw-DevIHL7J.js → refresh-cw-BkscUrbN.js} +1 -1
- package/dist/assets/{remote-gateway-session-CBKZhJak.js → remote-gateway-session-D-udmSfx.js} +1 -1
- package/dist/assets/{repeat-C8Im6j--.js → repeat-BRYsTqh_.js} +1 -1
- package/dist/assets/research-mock-page-D73KATjt.js +1 -0
- package/dist/assets/research-onboarding-route-C8B_Hf6H.js +43 -0
- package/dist/assets/{resize-errors-DqIkO0UI.js → resize-errors-yH10K9Qq.js} +1 -1
- package/dist/assets/{resolved-assistants-store-DAzPZ1eV.js → resolved-assistants-store-DdHm-7v4.js} +1 -1
- package/dist/assets/review-terms-screen-DyaVT7tS.js +1 -0
- package/dist/assets/risk-DI65iZDy.js +3 -0
- package/dist/assets/routes-GPGveWZ8.js +1 -0
- package/dist/assets/schedules-CTsHce7J.js +1 -0
- package/dist/assets/schedules-page-waP6mp0w.js +1 -0
- package/dist/assets/{sdk.gen-CFgJ4K6f.js → sdk.gen-C9GJEKYV.js} +1 -1
- package/dist/assets/{sdk.gen-9Cdt87h5.js → sdk.gen-DTVjciY5.js} +1 -1
- package/dist/assets/security-redirect-page-BjDQGfTt.js +1 -0
- package/dist/assets/select-assistant-screen-C0fk-Wr4.js +1 -0
- package/dist/assets/{setting-row-imtQqr9o.js → setting-row-BrTO4FAb.js} +1 -1
- package/dist/assets/settings-divider-Dm6am_vC.js +1 -0
- package/dist/assets/settings-layout-BtjAruk-.js +1 -0
- package/dist/assets/settings-wSv59mkN.js +1 -0
- package/dist/assets/share-feedback-modal-CSwbEpOs.js +1 -0
- package/dist/assets/shield-check-kgUZeU9b.js +1 -0
- package/dist/assets/{sidebar-tree-DWJkYLPh.js → sidebar-tree-Dryg3cOs.js} +1 -1
- package/dist/assets/{signup-page-D2LQXMnG.js → signup-page-CNtwdwbQ.js} +1 -1
- package/dist/assets/{signup-shell-DCGARCES.js → signup-shell-Cc2MDy25.js} +1 -1
- package/dist/assets/{site-favicon-DsYdnaxV.js → site-favicon-D57oj-aP.js} +1 -1
- package/dist/assets/skill-detail-page-sUN279wq.js +1 -0
- package/dist/assets/{skill-detail-panel-B4WEYtK9.js → skill-detail-panel-Z4ygLF6y.js} +1 -1
- package/dist/assets/{skills-D0rhLW1_.js → skills-Blso03pM.js} +1 -1
- package/dist/assets/skills-page-jO3IR1Bn.js +1 -0
- package/dist/assets/sounds-redirect-page-SALIbUWr.js +1 -0
- package/dist/assets/{sparkles-PGiR5v1g.js → sparkles-BK3KXCjl.js} +1 -1
- package/dist/assets/{src-DZbMXyC2.js → src-yyUuGOWG.js} +39 -39
- package/dist/assets/start-screen-5hBKdcez.js +1 -0
- package/dist/assets/subagent-detail-panel-kYsr3-Go.js +4 -0
- package/dist/assets/{subagent-store-B4PMGakL.js → subagent-store-BBGeZyfE.js} +1 -1
- package/dist/assets/system-events-page-zfJm8MVb.js +1 -0
- package/dist/assets/system-events-redirect-page-DCoGGk63.js +1 -0
- package/dist/assets/tag-D0AE0-aA.js +1 -0
- package/dist/assets/{theme-preferences-D1vs2UH8.js → theme-preferences-D58K1K0j.js} +1 -1
- package/dist/assets/{theme-stage-page-8v_hsKXd.js → theme-stage-page-CwAjRBf7.js} +1 -1
- package/dist/assets/{tiptap-document-editor-1QvKHdlQ.js → tiptap-document-editor-DJgv0IjA.js} +2 -2
- package/dist/assets/toast-CZmbu5xl.js +1 -0
- package/dist/assets/toggle-CWrJ2t4S.js +1 -0
- package/dist/assets/{tool-detail-panel-DarSpKEx.js → tool-detail-panel-BX8nhSHp.js} +1 -1
- package/dist/assets/{triangle-alert-Z0Gq0IuB.js → triangle-alert-CnjNKhNx.js} +1 -1
- package/dist/assets/typed-storage-D_VAgmkX.js +1 -0
- package/dist/assets/typography-Cqi8q9o7.js +1 -0
- package/dist/assets/{upgrade-cancel-page-wop4boqC.js → upgrade-cancel-page-Dy0QpcPX.js} +1 -1
- package/dist/assets/{upgrade-success-page-DWPEHzlo.js → upgrade-success-page-C4qPg39w.js} +1 -1
- package/dist/assets/usage-redirect-page-BRSD2lQL.js +1 -0
- package/dist/assets/{use-active-assistant-id-CGeH4Gl6.js → use-active-assistant-id-DwLFgABu.js} +1 -1
- package/dist/assets/use-assistant-identity-details-Cc0ODudZ.js +1 -0
- package/dist/assets/{use-edge-swipe-back-R9ItWgTp.js → use-edge-swipe-back-CPKPdejt.js} +1 -1
- package/dist/assets/use-invite-link-dialog-B3ek9kAR.js +1 -0
- package/dist/assets/use-is-org-ready-0evEMlKE.js +1 -0
- package/dist/assets/{use-onboarding-login-BHrngniO.js → use-onboarding-login-DCGylk8M.js} +1 -1
- package/dist/assets/{use-reduced-motion-BPBlq9_a.js → use-reduced-motion-ztQz2c8x.js} +1 -1
- package/dist/assets/use-skill-actions-Bne9ss01.js +1 -0
- package/dist/assets/use-skill-categories-D2KEkcRq.js +1 -0
- package/dist/assets/{use-skill-detail-files-DDUUobr0.js → use-skill-detail-files-CULTYS0z.js} +1 -1
- package/dist/assets/{user-plus-DMh4_UTz.js → user-plus-KuzSTM_D.js} +1 -1
- package/dist/assets/utils-DvUW9GK8.js +1 -0
- package/dist/assets/{viewer-store-90zmUKZ4.js → viewer-store-3OqDWGlU.js} +1 -1
- package/dist/assets/voice-page-adm17MvI.js +1 -0
- package/dist/assets/weather-forecast-display-DmxpUWDF.js +1 -0
- package/dist/assets/web-2Lv7tn-v.js +1 -0
- package/dist/assets/web-BMkUTu6e.js +1 -0
- package/dist/assets/web-BRNP0DmG.js +1 -0
- package/dist/assets/web-D9chpugB.js +1 -0
- package/dist/assets/web-DJgVPE0A.js +1 -0
- package/dist/assets/web-DL2EEVnA.js +1 -0
- package/dist/assets/web-DbZvx-GY.js +1 -0
- package/dist/assets/web-DguPzvKS.js +1 -0
- package/dist/assets/{welcome-screen-kc41a0yS.js → welcome-screen-CxD05qtl.js} +1 -1
- package/dist/assets/workflow-detail-panel-USyHIhjf.js +1 -0
- package/dist/assets/workspace-page-B3vckeSl.js +1 -0
- package/dist/assets/x-BYcSiJRX.js +1 -0
- package/dist/index.html +142 -144
- package/package.json +1 -1
- package/dist/assets/activity-steps-panel-Bq9yj1qu.js +0 -1
- package/dist/assets/advanced-page-CQPwr2B4.js +0 -1
- package/dist/assets/ai-page-CO4dBJpg.js +0 -1
- package/dist/assets/animated-avatar-DMwzREGQ.js +0 -1
- package/dist/assets/api-DHuLwcqq.js +0 -1
- package/dist/assets/archive-0aqysuyd.js +0 -1
- package/dist/assets/archive-page-BLEqhIZ8.js +0 -1
- package/dist/assets/arrow-left-DI9551VI.js +0 -1
- package/dist/assets/assistant-identity-store-CX03CK8q.js +0 -1
- package/dist/assets/assistant-status-panel-CW7lTRBE.js +0 -1
- package/dist/assets/auth-store-65JKPW7C.js +0 -2
- package/dist/assets/background-task-detail-panel-ChfmmS5C.js +0 -1
- package/dist/assets/ban-CVKGuUAQ.js +0 -1
- package/dist/assets/billing-page-CaP8_CF9.js +0 -3
- package/dist/assets/browser-Cnr7iqbJ.js +0 -2
- package/dist/assets/button-amTXFI-2.js +0 -1
- package/dist/assets/calendar-h-mv1itX.js +0 -1
- package/dist/assets/card-Bv5O5juh.js +0 -1
- package/dist/assets/channels-page-route-DKkdGS4b.js +0 -9
- package/dist/assets/chat-0L0NBUcq.js +0 -1
- package/dist/assets/chat-markdown-message-Cp8stHaU.js +0 -2
- package/dist/assets/check-DFNrQERi.js +0 -1
- package/dist/assets/checkbox-EdyezNqo.js +0 -1
- package/dist/assets/chevron-left-BMF1xNfR.js +0 -1
- package/dist/assets/chevron-right-DqqmezXC.js +0 -1
- package/dist/assets/circle-check-VSiny8yl.js +0 -1
- package/dist/assets/cn-C36Yvcac.js +0 -1
- package/dist/assets/code-Czx7d7SK.js +0 -1
- package/dist/assets/community-page-DL_oR63v.js +0 -1
- package/dist/assets/composer-focus-8EISjLd_.js +0 -1
- package/dist/assets/constants-BQVXM0At.js +0 -1
- package/dist/assets/conversation-list-fetchers-_PUdRqRZ.js +0 -1
- package/dist/assets/conversation-selection-CfSCgJxD.js +0 -1
- package/dist/assets/copy-Cn1FKrEp.js +0 -1
- package/dist/assets/credentials-page-DDM2V8iZ.js +0 -1
- package/dist/assets/danger-zone-redirect-page-BpM01x_c.js +0 -1
- package/dist/assets/debug-page-BGhdwv9M.js +0 -4
- package/dist/assets/detail-card-GPqFZVmX.js +0 -1
- package/dist/assets/developer-page-DZdwzLQu.js +0 -1
- package/dist/assets/devices-page-ChwagiFL.js +0 -1
- package/dist/assets/dist-BItmZQO6.js +0 -1
- package/dist/assets/document-viewer-page-B-ShLH6Y.js +0 -1
- package/dist/assets/dropdown-ByHOpeOU.js +0 -1
- package/dist/assets/earn-credits-modal-BILKTI_F.js +0 -1
- package/dist/assets/effective-timezone-DYvVVpXt.js +0 -1
- package/dist/assets/emails-page-D_ZdkIHT.js +0 -1
- package/dist/assets/esm-BC-IlNg6.js +0 -2
- package/dist/assets/esm-BVzHqFEK.js +0 -2
- package/dist/assets/esm-CE4Ehw9K.js +0 -2
- package/dist/assets/esm-D4S5VlIC.js +0 -2
- package/dist/assets/esm-Ddwl5DWt.js +0 -2
- package/dist/assets/esm-ZgeaRH-O.js +0 -2
- package/dist/assets/esm-wMYgN14J.js +0 -1
- package/dist/assets/feature-flag-catalog-DjfXrBPD.js +0 -1
- package/dist/assets/file-editor-CgjwckHX.js +0 -1
- package/dist/assets/file-markdown-ZKvQUuGy.js +0 -2
- package/dist/assets/format-date-cTplgJ8P.js +0 -1
- package/dist/assets/general-page-61s8VehJ.js +0 -1
- package/dist/assets/hatching-screen-DiUygZtk.js +0 -1
- package/dist/assets/home-page-route-1hEkRjdv.js +0 -1
- package/dist/assets/identity-page-route-CbHcVb6m.js +0 -1
- package/dist/assets/impersonate-version-flag-BhxfH6iZ.js +0 -1
- package/dist/assets/index-B4Qq7TL7.js +0 -209
- package/dist/assets/index-CCPsEVwr.css +0 -2
- package/dist/assets/input-CoUmPnRU.js +0 -1
- package/dist/assets/integrations-page-vFP_lh3w.js +0 -1
- package/dist/assets/intelligence-layout-oIGPC8W1.js +0 -1
- package/dist/assets/keyboard-shortcuts-page-BzeIMUpj.js +0 -1
- package/dist/assets/library-detail-page-D0Dv3ZLJ.js +0 -1
- package/dist/assets/library-page-D7I-sk41.js +0 -1
- package/dist/assets/list-row-D5MFdbkH.js +0 -1
- package/dist/assets/llm-dimension-Tz2Fx8qB.js +0 -1
- package/dist/assets/loader-circle-Cz7opInR.js +0 -1
- package/dist/assets/local-mode-Bskd5bsT.js +0 -39
- package/dist/assets/local-settings-lVNyIOJ_.js +0 -1
- package/dist/assets/login-page-UotBWZu9.js +0 -1
- package/dist/assets/logs-layout-JUd7Ag6q.js +0 -1
- package/dist/assets/memory-page-route-DqM6EMFu.js +0 -1
- package/dist/assets/menu-Dy5QbnTj.js +0 -1
- package/dist/assets/messages-B2CZAuPN.js +0 -13
- package/dist/assets/middleware-pbPQ0upo.js +0 -1
- package/dist/assets/modal-D5nLWNN9.js +0 -1
- package/dist/assets/mutation-error-Bk_4pjgm.js +0 -1
- package/dist/assets/native-file-BZDk5eyB.js +0 -2
- package/dist/assets/notice-DkcNAP8O.js +0 -1
- package/dist/assets/notifications-page-BISnBOYH.js +0 -1
- package/dist/assets/page-shell-1qU5DIUF.js +0 -1
- package/dist/assets/panel-item-CouW2A55.js +0 -1
- package/dist/assets/password-reset-page-NF13YMiM.js +0 -1
- package/dist/assets/platform-detection-DGxL0AsS.js +0 -1
- package/dist/assets/plugins-page-DHiFqgxf.js +0 -1
- package/dist/assets/plugins-surface-B3Ro34dC.js +0 -1
- package/dist/assets/plus-DItfr5ux.js +0 -1
- package/dist/assets/popover-CFL4WZTr.js +0 -1
- package/dist/assets/prechat-BBwYr5Qb.js +0 -1
- package/dist/assets/prechat-names-Cjl3JzzN.js +0 -1
- package/dist/assets/prechat-route-BwML3ZL1.js +0 -1
- package/dist/assets/prefs-DNYLVDvB.js +0 -1
- package/dist/assets/privacy-page-DhxWA9mA.js +0 -1
- package/dist/assets/privacy-screen-DRGDGj0W.js +0 -1
- package/dist/assets/progress-bar-Ca8gmE3B.js +0 -1
- package/dist/assets/react-query.gen-DV9K_z-o.js +0 -1
- package/dist/assets/react-query.gen-LsPzqPq6.js +0 -1
- package/dist/assets/research-mock-page-CoMthbl4.js +0 -1
- package/dist/assets/research-onboarding-route-CeTflgoE.js +0 -63
- package/dist/assets/review-terms-screen-DAZ66rIh.js +0 -1
- package/dist/assets/risk-BQ3NV8r8.js +0 -3
- package/dist/assets/routes-BXlWEOF0.js +0 -1
- package/dist/assets/save-aD5JFIZf.js +0 -1
- package/dist/assets/schedules-Dz6392n3.js +0 -1
- package/dist/assets/security-page-BS1WxY0d.js +0 -1
- package/dist/assets/select-assistant-screen-z3B8ngdP.js +0 -1
- package/dist/assets/settings-layout-DFzwR63d.js +0 -1
- package/dist/assets/share-feedback-modal-DH2dhWbo.js +0 -1
- package/dist/assets/shortcut-keys-B2EE-634.js +0 -1
- package/dist/assets/skill-detail-page-CcZFUjdw.js +0 -1
- package/dist/assets/skill-icon-CgzIQCTT.js +0 -1
- package/dist/assets/skills-page-Di8dGQGo.js +0 -1
- package/dist/assets/sound-manager-CRFoAxE4.js +0 -1
- package/dist/assets/sounds-page-CF3gwgc9.js +0 -1
- package/dist/assets/stat-square-CTHnQ1jc.js +0 -1
- package/dist/assets/step-indicator-dots-B-KCGh9e.js +0 -1
- package/dist/assets/subagent-detail-panel-BqYWP0b9.js +0 -4
- package/dist/assets/system-events-page-DdvtYv0_.js +0 -1
- package/dist/assets/system-events-redirect-page-HeBGwZCZ.js +0 -1
- package/dist/assets/tag-CV4v7fRF.js +0 -1
- package/dist/assets/toast-xTp-xwYL.js +0 -1
- package/dist/assets/toggle-CDfguvUz.js +0 -1
- package/dist/assets/typed-storage-BRvgA7pX.js +0 -1
- package/dist/assets/typography-D5f7kt80.js +0 -1
- package/dist/assets/usage-page-CB5oigmL.js +0 -1
- package/dist/assets/use-bus-subscription-Cslzk2dW.js +0 -1
- package/dist/assets/use-invite-link-dialog-_LChrtmw.js +0 -1
- package/dist/assets/use-is-org-ready-1Xighdsa.js +0 -1
- package/dist/assets/use-skill-actions-mJaMNpfO.js +0 -1
- package/dist/assets/use-skill-categories-Bit2V2fA.js +0 -1
- package/dist/assets/utils-xg2dl_KJ.js +0 -1
- package/dist/assets/voice-page-Dfl4T4_g.js +0 -1
- package/dist/assets/weather-forecast-display-DOXofTcV.js +0 -1
- package/dist/assets/web-6YTn0Mpt.js +0 -1
- package/dist/assets/web-B6BDTvZe.js +0 -1
- package/dist/assets/web-BEtTYpif.js +0 -1
- package/dist/assets/web-BrbVmY32.js +0 -1
- package/dist/assets/web-C3rsbCeg.js +0 -1
- package/dist/assets/web-CBHy41qN.js +0 -1
- package/dist/assets/web-CIdUPUaN.js +0 -1
- package/dist/assets/web-DGaEiOw7.js +0 -1
- package/dist/assets/workflow-detail-panel-Dctg7w-3.js +0 -1
- package/dist/assets/workflow-store-CDrDxW5J.js +0 -1
- package/dist/assets/workspace-page-BWn-Je40.js +0 -1
- package/dist/assets/x-CkSVp1Ok.js +0 -1
- /package/dist/assets/{app-info-BxdEjcok.js → app-info-Clwt3pCt.js} +0 -0
- /package/dist/assets/{avatar-bundled-components-CMIiT9CS.js → avatar-bundled-components-ELDcio1Z.js} +0 -0
- /package/dist/assets/{avatar-svg-compositor-DQyPgWSC.js → avatar-svg-compositor-D7Dy9s1k.js} +0 -0
- /package/dist/assets/{browser-timezone-B2VEIYkv.js → browser-timezone-viO2H3SD.js} +0 -0
- /package/dist/assets/{build.umd-t16r8k1T.js → build.umd-D88jX3tx.js} +0 -0
- /package/dist/assets/{bundle-mjs-BZt35okJ.js → bundle-mjs-CK9sN9wG.js} +0 -0
- /package/dist/assets/{conversation-store-CynXqAcO.js → conversation-store-CnRrUeSu.js} +0 -0
- /package/dist/assets/{createLucideIcon-IRfcSUxS.js → createLucideIcon-Bjb-Kuq7.js} +0 -0
- /package/dist/assets/{definitions-Dj7uajgZ.js → definitions-EvNC1i1H.js} +0 -0
- /package/dist/assets/{definitions-CK0CSdwt.js → definitions-RERkHOnv.js} +0 -0
- /package/dist/assets/{dist-RkT480s0.js → dist-DyRKd0bN2.js} +0 -0
- /package/dist/assets/{edge-swipe-arbiter-store-VEaUoy3F.js → edge-swipe-arbiter-store-a9LiewmS.js} +0 -0
- /package/dist/assets/{emoji-catalog-data-Cp4IpzLe.js → emoji-catalog-data-D8lRMt3A.js} +0 -0
- /package/dist/assets/{environment-store-Bxe2pTvW.js → environment-store-BX22hkIL.js} +0 -0
- /package/dist/assets/{format-file-size-BLrV7wUA.js → format-file-size-DOE-vGl6.js} +0 -0
- /package/dist/assets/{native-deep-link-CPCbJkSt.js → native-deep-link-CbHUZ2h_.js} +0 -0
- /package/dist/assets/{onboarding-step-layout-Cup_f9lB.js → onboarding-step-layout-zvLUIT7j.js} +0 -0
- /package/dist/assets/{optimistic-lifecycle-C4YFdBr3.js → optimistic-lifecycle-BvfDBY8o.js} +0 -0
- /package/dist/assets/{pdf-jCZ1S_t-.js → pdf-OTWpgOp2.js} +0 -0
- /package/dist/assets/{pointer-qy7F2Zff.js → pointer-DcD0Nt7Z.js} +0 -0
- /package/dist/assets/{proxy-Cadlowdl.js → proxy-B6mdWM9d.js} +0 -0
- /package/dist/assets/{public-asset-WikBpVQd.js → public-asset-Cr86Gucv.js} +0 -0
- /package/dist/assets/{research-onboarding-persistence-D_h0dT1o.js → research-onboarding-persistence-C4LT0Ekr.js} +0 -0
- /package/dist/assets/{sdk.gen-CenbOmmb.js → sdk.gen-8pCB8ehU.js} +0 -0
- /package/dist/assets/{status-badge-pill-B_ninpnM.js → status-badge-pill-0N6rTEBg.js} +0 -0
- /package/dist/assets/{three-dot-indicator-BuZzHFUJ.js → three-dot-indicator-DNuHHwtA.js} +0 -0
- /package/dist/assets/{use-copy-to-clipboard-Ap1ESW2j.js → use-copy-to-clipboard-BCTXSMa-.js} +0 -0
- /package/dist/assets/{xterm-addon-fit-BmGG02AS.js → xterm-addon-fit-DNV09uVI.js} +0 -0
- /package/dist/assets/{xterm-CJZcgQLM.js → xterm-fGXm5t6D.js} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-Dhiismgm.js";import{t as n}from"./react-DJZBPgpf.js";import{F as r,t as i}from"./button-amTXFI-2.js";import{d as a,p as o,r as s,u as c}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{n as l}from"./QueryClientProvider-DKhXIxGb.js";import{t as u}from"./useQuery-B45lW1Kk.js";import{t as d}from"./jsx-runtime-CVSDxk6A.js";import{t as f}from"./card-Bv5O5juh.js";import{t as p}from"./createLucideIcon-IRfcSUxS.js";import{t as m}from"./arrow-left-DI9551VI.js";import{a as h,i as g,n as _,r as v,s as y,t as b}from"./use-skill-actions-mJaMNpfO.js";import{t as x}from"./chevron-down-qD-re7AW.js";import{t as S}from"./menu-Dy5QbnTj.js";import{t as C}from"./code-Czx7d7SK.js";import{t as w}from"./external-link-Dqpx9nRm.js";import{t as T}from"./file-text-CYJz-GvF.js";import{t as E}from"./loader-circle-Cz7opInR.js";import"./src-DZbMXyC2.js";import{n as D}from"./stat-square-CTHnQ1jc.js";import{n as O,t as k}from"./file-markdown-ZKvQUuGy.js";import{St as A,bt as j,on as M}from"./react-query.gen-LsPzqPq6.js";import{c as N}from"./routes-BXlWEOF0.js";import{Na as P,Sr as F,ca as I,da as L,yi as R}from"./index-B4Qq7TL7.js";import{t as z}from"./use-active-assistant-id-CGeH4Gl6.js";import{n as B,t as V}from"./use-skill-detail-files-DDUUobr0.js";import{n as H,r as U,t as ee}from"./skills-D0rhLW1_.js";import{t as te}from"./use-edge-swipe-back-R9ItWgTp.js";import{i as W,n as G,r as K,t as q}from"./file-editor-CgjwckHX.js";import{t as J}from"./skill-icon-CgzIQCTT.js";var Y=p(`search-x`,[[`path`,{d:`m13.5 8.5-5 5`,key:`1cs55j`}],[`path`,{d:`m8.5 8.5 5 5`,key:`a8mexj`}],[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}],[`path`,{d:`m21 21-4.3-4.3`,key:`1qie3q`}]]),X=e(n(),1),Z=d();function ne({assistantId:e,skill:t,onBack:n,onInstall:r,onRemove:a,isInstalling:o=!1,isRemoving:s=!1,sourceConversationId:c}){let l=h(t),u=H(t),{fileEntries:d,setSelectedPath:p,activePath:g,activeFile:_,isFilesLoading:v,fileContent:b,isBinary:x,isContentLoading:S}=V(e,t.id);return(0,Z.jsxs)(`div`,{className:`flex h-[calc(100vh-14rem)] flex-col`,children:[(0,Z.jsxs)(`div`,{className:`mb-4 flex items-start gap-3`,children:[(0,Z.jsx)(i,{type:`button`,variant:`ghost`,iconOnly:(0,Z.jsx)(m,{"aria-hidden":!0}),"aria-label":`Back to skills`,onClick:n}),(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-3 sm:flex-row sm:items-center`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-3`,children:[(0,Z.jsx)(J,{skill:t,className:`h-8 w-8 text-3xl`}),(0,Z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-2 gap-y-1`,children:[(0,Z.jsx)(`h2`,{className:`text-title-medium`,style:{color:`var(--content-default)`},children:t.name}),(0,Z.jsx)(y,{origin:t.origin})]}),(0,Z.jsx)(`p`,{className:`mt-0.5 line-clamp-2 text-body-medium-lighter`,style:{color:`var(--content-secondary)`},children:t.description}),(0,Z.jsx)(B,{skill:{origin:t.origin,sourceConversationId:c},className:`mt-1`})]})]}),l?o?(0,Z.jsx)(`div`,{className:`flex h-9 items-center px-3`,children:(0,Z.jsx)(E,{className:`h-4 w-4 animate-spin`,style:{color:`var(--content-tertiary)`}})}):(0,Z.jsx)(i,{type:`button`,onClick:r,disabled:!r,leftIcon:(0,Z.jsx)(P,{"aria-hidden":!0}),children:`Install`}):(0,Z.jsx)(i,{type:`button`,variant:u?`dangerOutline`:`outlined`,onClick:a,disabled:!u||s||!a,leftIcon:s?(0,Z.jsx)(E,{className:`animate-spin`,"aria-hidden":!0}):(0,Z.jsx)(R,{"aria-hidden":!0}),children:`Remove`})]})]}),(0,Z.jsx)(f.Root,{asChild:!0,noPadding:!0,children:(0,Z.jsxs)(`div`,{className:`flex flex-1 flex-col overflow-hidden sm:grid`,style:{gridTemplateColumns:`240px 1fr`},children:[(0,Z.jsx)(`div`,{className:`max-h-40 shrink-0 overflow-y-auto border-b p-2 sm:max-h-none sm:border-b-0 sm:border-r`,style:{borderColor:`var(--border-base)`},children:v?(0,Z.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,Z.jsx)(E,{className:`h-4 w-4 animate-spin`,style:{color:`var(--content-tertiary)`}})}):d.length===0?(0,Z.jsx)(`p`,{className:`px-3 py-4 text-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`No files available.`}):d.map(e=>{let t=g===e.path,n=(e.mimeType??``).endsWith(`/directory`);return(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>p(e.path),className:`flex w-full items-center gap-2 rounded px-2 py-1.5 text-left text-body-medium-lighter transition-colors hover:bg-[var(--surface-hover)]`,style:{color:t?`var(--primary-base)`:`var(--content-default)`,backgroundColor:t?`color-mix(in oklab, var(--primary-base) 10%, transparent)`:void 0},children:[n?(0,Z.jsx)(I,{className:`h-4 w-4 shrink-0`,style:{color:`var(--system-mid-strong)`}}):(0,Z.jsx)(T,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),(0,Z.jsx)(`span`,{className:`truncate`,children:e.name})]},e.path)})}),(0,Z.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:S?(0,Z.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,Z.jsx)(E,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})}):_?(0,Z.jsx)(re,{assistantId:e,skillId:t.id,fileName:_.name,filePath:_.path,content:b,isBinary:x,editable:t.kind===`installed`},`${t.id}/${_.path}`):(0,Z.jsx)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Select a file to view its contents.`})})]})})]})}function re({assistantId:e,skillId:n,fileName:r,filePath:o,content:s,isBinary:c,editable:u}){let d=a(),f=l(),[p,m]=(0,X.useState)(!1),[h,g]=(0,X.useState)(``),_=`skills/${n}/${o}`,v=M({onSuccess:()=>{m(!1),g(``),f.invalidateQueries({queryKey:[{_id:`skillsByIdFilesContentGet`}]}),f.invalidateQueries({queryKey:[{_id:`skillsByIdFilesGet`}]}),o===`SKILL.md`&&ee(f,e)},onError:e=>{t(e,{context:`skill-file-save`,bestEffort:!0})}}),y=p&&h!==(s??``),b=(0,X.useCallback)(()=>{!y||v.isPending||v.mutate({path:{assistant_id:e},body:{path:_,content:h,encoding:`utf8`}})},[y,v,e,_,h]),x=(0,X.useCallback)(()=>{m(!0),g(s??``),v.reset()},[s,v]),S=(0,X.useCallback)(()=>{m(!1),g(``),v.reset()},[v]);if(c)return(0,Z.jsx)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Binary file — no preview available.`});if(s===null)return(0,Z.jsxs)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:[`No preview available for `,r,`.`]});let C=u?(0,Z.jsx)(i,{variant:`ghost`,size:`regular`,iconOnly:(0,Z.jsx)(w,{"aria-hidden":!0}),onClick:()=>d(`${N.workspace}?file=${encodeURIComponent(_)}`),"aria-label":`Open in Workspace`,className:`hover:bg-[var(--surface-base)]`}):void 0;return O(r,void 0)&&!p?(0,Z.jsx)(`div`,{className:`relative flex h-full flex-col`,children:(0,Z.jsxs)(`div`,{className:`relative flex-1 overflow-auto px-6 py-4`,style:{color:`var(--content-default)`},children:[(0,Z.jsx)(q,{content:s,fileName:r,showEdit:u,isEditing:!1,onToggleEdit:x,extraActions:C}),(0,Z.jsx)(k,{content:s})]})}):(0,Z.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,Z.jsxs)(`div`,{className:`relative flex-1 overflow-hidden`,children:[(0,Z.jsx)(q,{content:p?h:s,fileName:r,showEdit:u,isEditing:p,onToggleEdit:()=>p?S():x(),extraActions:C}),p?(0,Z.jsx)(K,{value:h,onChange:g,onSave:b}):(0,Z.jsx)(W,{content:s,readOnly:!u,onStartEdit:x})]}),p&&(0,Z.jsx)(G,{isDirty:y,isSaving:v.isPending,error:v.isError?`Save failed`:null,onSave:b,onDiscard:S})]})}var ie=e(r(),1);function ae({fileName:e,content:t,isBinary:n,viewMode:r=`preview`}){return n?(0,Z.jsx)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Binary file — no preview available.`}):t===null?(0,Z.jsxs)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:[`No preview available for `,e,`.`]}):O(e,void 0)&&r===`preview`?(0,Z.jsx)(`div`,{className:`h-full overflow-auto px-6 py-4`,style:{color:`var(--content-default)`},children:(0,Z.jsx)(k,{content:t})}):(0,Z.jsx)(`pre`,{className:`h-full overflow-y-auto whitespace-pre-wrap break-words p-4 font-mono text-body-small-default`,style:{color:`var(--content-default)`},children:t})}function Q({assistantId:e,skill:t,onBack:n,onInstall:r,onRemove:a,isInstalling:o=!1,isRemoving:s=!1,swipeContainerRef:c,sourceConversationId:l}){let u=h(t),d=H(t),{fileEntries:p,setSelectedPath:g,activePath:_,activeFile:v,isFilesLoading:b,fileContent:x,isBinary:S,isContentLoading:w}=V(e,t.id),[T,k]=(0,X.useState)(`preview`);(0,X.useEffect)(()=>{k(`preview`)},[_]);let[A,j]=(0,X.useState)(null);(0,X.useEffect)(()=>{j(document.getElementById(`viewport-overlays`))},[]);let M=v?O(v.name,void 0):!1,N=M?T:`raw`,P=(0,Z.jsxs)(`div`,{ref:c,className:`fixed inset-0 z-40 flex flex-col overflow-hidden bg-[var(--surface-overlay)]`,style:{paddingTop:`calc(8px + var(--safe-area-inset-top, env(safe-area-inset-top, 0px)))`,paddingBottom:`calc(8px + var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px)))`,paddingLeft:`calc(12px + var(--safe-area-inset-left, env(safe-area-inset-left, 0px)))`,paddingRight:`calc(12px + var(--safe-area-inset-right, env(safe-area-inset-right, 0px)))`},children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Z.jsx)(i,{variant:`ghost`,iconOnly:(0,Z.jsx)(m,{"aria-hidden":!0}),expandOnMobile:!0,"aria-label":`Back to skills`,onClick:n,className:`max-md:bg-[var(--surface-active)]`}),(0,Z.jsx)(`span`,{className:`min-w-0 flex-1 truncate px-2 text-center text-body-medium-default`,style:{color:`var(--content-secondary)`},children:t.name}),(0,Z.jsx)(oe,{available:u,removable:d,isInstalling:o,isRemoving:s,onInstall:r,onRemove:a})]}),(0,Z.jsxs)(`div`,{className:`mt-4 flex flex-col gap-2`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,Z.jsx)(J,{skill:t,className:`h-6 w-6 shrink-0 text-[22px] leading-none`}),(0,Z.jsx)(`h2`,{className:`min-w-0 truncate text-title-medium`,style:{color:`var(--content-emphasised)`},children:t.name})]}),(0,Z.jsx)(y,{origin:t.origin})]}),(0,Z.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:t.description}),(0,Z.jsx)(B,{skill:{origin:t.origin,sourceConversationId:l}})]}),(0,Z.jsx)(f.Root,{asChild:!0,noPadding:!0,children:(0,Z.jsxs)(`div`,{className:`mt-6 flex min-h-0 flex-1 flex-col overflow-hidden rounded-2xl border bg-[var(--surface-lift)]`,style:{borderColor:`var(--border-hover)`},children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-2 border-b px-3 py-2`,style:{borderColor:`var(--border-hover)`},children:[(0,Z.jsx)(ce,{fileEntries:p,activePath:_,activeName:v?.name??null,onSelect:g}),(0,Z.jsx)(D,{iconOnly:!0,ariaLabel:`File view mode`,value:N,onChange:k,items:[{value:`preview`,label:`Preview`,icon:(0,Z.jsx)(L,{"aria-hidden":!0}),disabled:!M},{value:`raw`,label:`Source`,icon:(0,Z.jsx)(C,{"aria-hidden":!0})}]})]}),(0,Z.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:b||w?(0,Z.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,Z.jsx)(E,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})}):v?(0,Z.jsx)(ae,{fileName:v.name,content:x,isBinary:S,viewMode:N}):(0,Z.jsx)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Select a file to view its contents.`})})]})})]});return A?(0,ie.createPortal)(P,A):P}function oe({available:e,removable:t,isInstalling:n,isRemoving:r,onInstall:a,onRemove:o}){return n||r?(0,Z.jsx)(i,{variant:`ghost`,iconOnly:(0,Z.jsx)(E,{className:`animate-spin`,"aria-hidden":!0}),expandOnMobile:!0,disabled:!0,"aria-label":`Pending`,className:`max-md:bg-[var(--surface-active)]`}):e?(0,Z.jsx)(i,{variant:`ghost`,iconOnly:(0,Z.jsx)(P,{"aria-hidden":!0}),expandOnMobile:!0,"aria-label":`Install skill`,onClick:a,disabled:!a,className:`max-md:bg-[var(--surface-active)]`}):t?(0,Z.jsx)(i,{variant:`dangerGhost`,iconOnly:(0,Z.jsx)(R,{"aria-hidden":!0}),expandOnMobile:!0,"aria-label":`Remove skill`,onClick:o,disabled:!o,className:`max-md:rounded-full max-md:bg-[var(--system-negative-weak)]`}):(0,Z.jsx)(i,{variant:`dangerGhost`,iconOnly:(0,Z.jsx)(R,{"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 se(e){return(e??``).endsWith(`/directory`)}function ce({fileEntries:e,activePath:t,activeName:n,onSelect:r}){let i=n??`Select a file`;return e.length===0?(0,Z.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2 text-body-medium-default`,style:{color:`var(--content-emphasised)`},children:[(0,Z.jsx)($,{}),(0,Z.jsx)(`span`,{className:`truncate`,children:i})]}):(0,Z.jsxs)(S.Root,{children:[(0,Z.jsx)(S.Trigger,{children:(0,Z.jsxs)(`button`,{type:`button`,className:`flex min-w-0 items-center gap-2 rounded-md text-body-medium-default`,style:{color:`var(--content-emphasised)`},children:[(0,Z.jsx)($,{}),(0,Z.jsx)(`span`,{className:`truncate`,children:i}),(0,Z.jsx)(x,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`},"aria-hidden":!0})]})}),(0,Z.jsx)(S.Content,{align:`start`,children:e.map(e=>{let n=se(e.mimeType);return(0,Z.jsx)(S.Item,{onSelect:()=>r(e.path),leftIcon:n?(0,Z.jsx)(I,{}):(0,Z.jsx)(T,{}),"aria-current":e.path===t?`true`:void 0,children:e.name},e.path)})})]})}function $(){return(0,Z.jsx)(`span`,{className:`flex h-6 w-6 shrink-0 items-center justify-center rounded-md bg-[var(--surface-base)]`,"aria-hidden":!0,children:(0,Z.jsx)(T,{className:`h-4 w-4`,style:{color:`var(--content-secondary)`}})})}function le(){let e=z(),{skillId:t}=o(),n=a(),r=c(),{pathname:l}=r,d=F(),f=(0,X.useRef)(null),p=r.state,h=typeof p?.listSearch==`string`?p.listSearch:``,y=u({...A({path:{assistant_id:e},query:{include:`catalog`}}),select:e=>e.skills,refetchOnMount:`always`}),x=(0,X.useCallback)(()=>{n(`${N.skills.root}${h}`,{replace:!0})},[n,h]);te({containerRef:f,onBack:x,enabled:d,navKey:l});let{handleInstall:S,handleRemove:C,isInstallingSkill:w,isRemovingSkill:T,skillPendingRemoval:E,confirmRemove:D,cancelRemove:O}=b(e,{onRemoved:x}),k=y.data,M=(0,X.useMemo)(()=>k?.find(e=>e.id===t)??null,[k,t]),P=u({...j({path:{assistant_id:e,id:t??``}}),enabled:!!t&&M?.origin===`assistant-memory`,select:e=>e.skill.origin===`assistant-memory`?e.skill.sourceConversationId??null:null});if(!t)return(0,Z.jsx)(s,{to:N.skills.root,replace:!0});if(y.isLoading)return(0,Z.jsx)(_,{});if(y.isError&&!M)return(0,Z.jsx)(v,{});if(!M&&y.isFetching)return(0,Z.jsx)(_,{});if(!M)return(0,Z.jsx)(g,{icon:Y,title:`Skill not found`,subtitle:`This skill may have been removed, or the link is out of date.`,children:(0,Z.jsx)(i,{type:`button`,variant:`outlined`,className:`mt-4`,leftIcon:(0,Z.jsx)(m,{"aria-hidden":!0}),onClick:x,children:`Back to skills`})});let I={assistantId:e,skill:M,onBack:x,onInstall:()=>S(M),onRemove:()=>C(M),isInstalling:w(M),isRemoving:T(M),sourceConversationId:P.data??void 0};return(0,Z.jsxs)(Z.Fragment,{children:[d?(0,Z.jsx)(Q,{...I,swipeContainerRef:f}):(0,Z.jsx)(ne,{...I}),(0,Z.jsx)(U,{skillName:E?.name??null,onConfirm:D,onCancel:O})]})}export{le as SkillDetailPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./jsx-runtime-CVSDxk6A.js";var r=e(t(),1),i=n();function a({skill:e,className:t,fallback:n=`🧩`}){let[a,o]=(0,r.useState)(!1);return e.icon&&!a?(0,i.jsx)(`img`,{src:`/assistant/skills/${e.id}/${e.icon}`,alt:``,className:`${t} object-contain`,onError:()=>o(!0)}):(0,i.jsx)(`span`,{className:t,children:e.emoji??n})}export{a as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{a as t,t as n}from"./local-settings-lVNyIOJ_.js";import{t as r}from"./react-DJZBPgpf.js";import{t as i}from"./button-amTXFI-2.js";import{d as a,h as o,r as s,u as c}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as l}from"./useQuery-B45lW1Kk.js";import{t as u}from"./jsx-runtime-CVSDxk6A.js";import{t as d}from"./card-Bv5O5juh.js";import{a as f,c as p,i as m,n as ee,o as h,r as te,s as g,t as ne}from"./use-skill-actions-mJaMNpfO.js";import{t as _}from"./brain-BLDXGaUy.js";import{t as v}from"./check-DFNrQERi.js";import{t as y}from"./cloud-off-Db1nySkc.js";import{i as b,n as re,r as x,t as ie}from"./use-skill-categories-Bit2V2fA.js";import{t as S}from"./globe-4qSOWE2N.js";import{t as C}from"./loader-circle-Cz7opInR.js";import{t as w}from"./sparkles-PGiR5v1g.js";import{t as T}from"./x-CkSVp1Ok.js";import"./src-DZbMXyC2.js";import{t as E}from"./popover-CFL4WZTr.js";import{t as D}from"./input-CoUmPnRU.js";import{n as O,t as k}from"./panel-item-CouW2A55.js";import{St as A}from"./react-query.gen-LsPzqPq6.js";import{c as j}from"./routes-BXlWEOF0.js";import{Ea as M,Hi as N,Na as P,Sr as F,bi as I,fi as L,ji as R,ta as z,vi as B,yi as V}from"./index-B4Qq7TL7.js";import{t as H}from"./use-active-assistant-id-CGeH4Gl6.js";import{n as U,r as ae}from"./skills-D0rhLW1_.js";import{t as oe}from"./skill-icon-CgzIQCTT.js";var W=e(r(),1),G=u(),K=[{value:`all`,label:`All`,icon:z},{value:`installed`,label:`Installed`,icon:M},{value:`available`,label:`Available`,icon:P}],q=[{value:`vellum`,label:`Vellum`,icon:p},{value:`clawhub`,label:`Clawhub`,icon:S},{value:`skillssh`,label:`skills.sh`,icon:I},{value:`custom`,label:`Custom`,icon:B},{value:`assistant-memory`,label:`Assistant's Memory`,icon:_}];function se({search:e,onSearchChange:t,filter:n,onFilterChange:r,isSearching:i,categories:a,category:o,onCategoryChange:s,counts:c,totalCount:l,showCounts:u}){return(0,G.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,G.jsx)(D,{type:`search`,value:e,onChange:e=>{t(e.target.value)},placeholder:`Search skills`,"aria-label":`Search skills`,leftIcon:(0,G.jsx)(R,{className:`h-4 w-4`,"aria-hidden":!0}),rightIcon:i?(0,G.jsx)(C,{className:`h-4 w-4 animate-spin`,"aria-hidden":!0}):void 0,fullWidth:!0,wrapperClassName:`flex-1`}),(0,G.jsx)(ce,{filter:n,onFilterChange:r,categories:a,category:o,onCategoryChange:s,counts:c,totalCount:l,showCounts:u})]})}function ce(e){let t=F(),[n,r]=(0,W.useState)(!1),a=(0,G.jsx)(i,{type:`button`,variant:`outlined`,iconOnly:(0,G.jsx)(b,{"aria-hidden":!0}),"aria-label":`Filter skills`,"aria-haspopup":t?`dialog`:`listbox`,"aria-expanded":n,tintColor:`var(--primary-base)`});return t?(0,G.jsx)(le,{...e,open:n,onOpenChange:r,trigger:a}):(0,G.jsxs)(E.Root,{open:n,onOpenChange:r,children:[(0,G.jsx)(E.Trigger,{asChild:!0,children:a}),(0,G.jsx)(E.Content,{align:`end`,sideOffset:4,className:`w-44 overflow-hidden p-0`,children:(0,G.jsxs)(`ul`,{role:`listbox`,children:[(0,G.jsx)(X,{label:`Status`,options:K,selected:e.filter,onSelect:t=>{e.onFilterChange(t),r(!1)}}),(0,G.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}),(0,G.jsx)(X,{label:`Source`,options:q,selected:e.filter,onSelect:t=>{e.onFilterChange(t),r(!1)}})]})})]})}function le({filter:e,onFilterChange:t,categories:n,category:r,onCategoryChange:a,counts:o,totalCount:s,showCounts:c,open:l,onOpenChange:u,trigger:d}){let f=[...n].sort((e,t)=>e.label.localeCompare(t.label));return(0,G.jsxs)(O.Root,{open:l,onOpenChange:u,children:[(0,G.jsx)(O.Trigger,{asChild:!0,children:d}),(0,G.jsxs)(O.Content,{className:`max-h-[85dvh]`,"aria-describedby":void 0,children:[(0,G.jsx)(`div`,{"aria-hidden":!0,className:`mx-auto mb-3 h-1 w-9 shrink-0 rounded-full bg-[var(--border-element)]`}),(0,G.jsx)(O.Header,{children:(0,G.jsx)(O.Title,{children:`Filters`})}),(0,G.jsxs)(O.Body,{className:`flex flex-col gap-3 pt-2`,children:[(0,G.jsx)(J,{label:`Status`,children:K.map(n=>(0,G.jsx)(Y,{icon:n.icon,label:n.label,active:e===n.value,onSelect:()=>t(n.value)},n.value))}),(0,G.jsx)(J,{label:`Source`,children:q.map(n=>(0,G.jsx)(Y,{icon:n.icon,label:n.label,active:e===n.value,onSelect:()=>t(n.value)},n.value))}),(0,G.jsxs)(J,{label:`Categories`,children:[(0,G.jsx)(Y,{icon:z,label:`All`,active:r===null,badge:c?s:void 0,onSelect:()=>a(null)}),f.map(e=>(0,G.jsx)(Y,{icon:x(e.icon)??z,label:e.label,active:r===e.slug,badge:c?o[e.slug]??0:void 0,onSelect:()=>a(e.slug)},e.slug))]})]}),(0,G.jsx)(O.Footer,{children:(0,G.jsx)(i,{type:`button`,variant:`primary`,fullWidth:!0,onClick:()=>u(!1),children:`Done`})})]})]})}function J({label:e,children:t}){return(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`div`,{className:`px-2 pb-1 text-body-small-default uppercase tracking-wide`,style:{color:`var(--content-tertiary)`},children:e}),t]})}function Y({icon:e,label:t,active:n,badge:r,onSelect:i}){return(0,G.jsx)(k,{icon:e,label:t,active:n,activeVariant:`branded`,badge:r,trailingAction:n&&r==null?(0,G.jsx)(v,{className:`h-4 w-4 text-[var(--primary-base)]`,"aria-hidden":!0}):void 0,onSelect:i})}function X({label:e,options:t,selected:n,onSelect:r}){return(0,G.jsxs)(`li`,{children:[(0,G.jsx)(`div`,{className:`px-3 pb-1 pt-2 text-body-small-default uppercase tracking-wide`,style:{color:`var(--content-tertiary)`},children:e}),(0,G.jsx)(`ul`,{children:t.map(e=>{let t=e.icon,i=n===e.value;return(0,G.jsx)(`li`,{children:(0,G.jsxs)(`button`,{type:`button`,onClick:()=>r(e.value),role:`option`,"aria-selected":i,className:`flex w-full items-center gap-2 px-3 py-1.5 text-left text-body-medium-lighter transition-colors hover:bg-[var(--surface-hover)]`,style:{color:i?`var(--primary-base)`:`var(--content-default)`},children:[(0,G.jsx)(t,{className:`h-4 w-4`,"aria-hidden":!0}),(0,G.jsx)(`span`,{className:`flex-1`,children:e.label}),i&&(0,G.jsx)(M,{className:`h-3.5 w-3.5`,"aria-hidden":!0})]})},e.value)})})]})}function ue({skill:e,onSelect:t,onInstall:n,onRemove:r,isInstalling:a=!1,isRemoving:o=!1}){let s=f(e),c=U(e);return(0,G.jsx)(d.Root,{asChild:!0,children:(0,G.jsxs)(`div`,{role:`button`,tabIndex:0,onClick:t,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),t())},className:`flex cursor-pointer items-center gap-3 px-3 py-2 text-left transition-colors hover:bg-[var(--surface-hover)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`,children:[(0,G.jsx)(`div`,{className:`flex shrink-0 items-center justify-center text-[28px] leading-none`,children:(0,G.jsx)(oe,{skill:e,className:`h-7 w-7`})}),(0,G.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,G.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,G.jsx)(`span`,{className:`truncate text-body-medium-default`,style:{color:`var(--content-emphasised)`},children:e.name}),(0,G.jsx)(g,{origin:e.origin})]}),(0,G.jsx)(`p`,{className:`mt-1 truncate text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:e.description})]}),s?a?(0,G.jsx)(i,{type:`button`,iconOnly:(0,G.jsx)(C,{className:`animate-spin`,"aria-hidden":!0}),disabled:!0,"aria-label":`Installing`,expandOnMobile:!1}):(0,G.jsx)(i,{type:`button`,iconOnly:(0,G.jsx)(P,{"aria-hidden":!0}),onClick:e=>{e.stopPropagation(),n?.()},disabled:!n,"aria-label":`Install skill`,expandOnMobile:!1}):(0,G.jsx)(i,{type:`button`,variant:`dangerOutline`,iconOnly:o?(0,G.jsx)(C,{className:`animate-spin`,"aria-hidden":!0}):(0,G.jsx)(V,{"aria-hidden":!0}),onClick:e=>{e.stopPropagation(),r?.()},disabled:!c||o||!r,"aria-label":c?`Remove skill`:`Bundled skill cannot be removed`,title:c?void 0:`Bundled skills cannot be removed`,expandOnMobile:!1})]})})}var de=new Set([`all`,`installed`,`available`,`vellum`,`clawhub`,`skillssh`,`custom`,`assistant-memory`]);function fe(e){let t=e.get(`filter`),n=e.get(`category`);return{q:e.get(`q`)??``,filter:me(t)?t:`all`,category:n||null}}function pe(e,t){let n=new URLSearchParams(e);return t.q!==void 0&&Z(n,`q`,t.q.trim()||null),t.filter!==void 0&&Z(n,`filter`,t.filter===`all`?null:t.filter),t.category!==void 0&&Z(n,`category`,t.category),n}function Z(e,t,n){n===null?e.delete(t):e.set(t,n)}function me(e){return e!==null&&de.has(e)}function Q(e){switch(e){case`installed`:return{kind:`installed`};case`available`:return{kind:`available`};case`vellum`:case`clawhub`:case`skillssh`:case`custom`:case`assistant-memory`:return{origin:e};default:return{}}}function he(e){return[...e].sort((e,t)=>{let n=h(e);return n===h(t)?e.name.localeCompare(t.name,void 0,{sensitivity:`base`}):n?-1:1})}function ge(e,t){let[n,r]=(0,W.useState)(e);return(0,W.useEffect)(()=>{let n=setTimeout(()=>{r(e)},t);return()=>clearTimeout(n)},[e,t]),n}var _e=300,$=`vellum:skills:tipDismissed`;function ve({assistantId:e}){let r=a(),i=c(),[s,u]=o(),{q:d,filter:f,category:p}=(0,W.useMemo)(()=>fe(s),[s]),m=(0,W.useCallback)(e=>{u(t=>pe(t,e),{replace:!0})},[u]),[h,g]=(0,W.useState)(d),_=ge(h.trim(),_e),v=(0,W.useRef)(d);(0,W.useEffect)(()=>{if(d!==v.current&&(v.current=d,d!==h.trim())){g(d);return}_!==d&&_===h.trim()&&(v.current=_,m({q:_}))},[_,d,h,m]);let y=(0,W.useCallback)(e=>m({filter:e}),[m]),b=(0,W.useCallback)(e=>m({category:e}),[m]),[x,S]=(0,W.useState)(()=>n($,!1)),{handleInstall:C,handleRemove:w,isInstallingSkill:T,isRemovingSkill:E,skillPendingRemoval:D,confirmRemove:O,cancelRemove:k}=ne(e),{data:M=[]}=ie(e),{origin:N,kind:P}=(0,W.useMemo)(()=>Q(f),[f]),F=l({...A({path:{assistant_id:e},query:{include:`catalog`,origin:N,kind:P,q:_||void 0,category:p??void 0}}),select:e=>({skills:e.skills,categoryCounts:e.categoryCounts,totalCount:e.totalCount}),enabled:!!e}),I=l({...A({path:{assistant_id:e},query:{include:`catalog`,origin:N,kind:P,q:_||void 0}}),select:e=>({skills:e.skills,categoryCounts:e.categoryCounts,totalCount:e.totalCount}),enabled:!!e&&p!==null}),L=(0,W.useCallback)(()=>{S(!0),t($,!0)},[]),R=(0,W.useMemo)(()=>F.data?.skills??[],[F.data?.skills]),z=p===null?F.data:I.data,{counts:B,totalCount:V}=ye(z?.skills??R,z?.categoryCounts,z?.totalCount),H=(0,W.useMemo)(()=>he(R),[R]),U=F.isFetching&&!!_;return(0,G.jsxs)(`div`,{className:`flex h-full min-h-0 flex-1 flex-col gap-4`,children:[!x&&(0,G.jsx)(be,{onDismiss:L}),(0,G.jsx)(se,{search:h,onSearchChange:g,filter:f,onFilterChange:y,isSearching:U,categories:M,category:p,onCategoryChange:b,counts:B,totalCount:V,showCounts:!U}),(0,G.jsxs)(`div`,{className:`flex min-h-0 flex-1 gap-6`,children:[(0,G.jsx)(`aside`,{className:`hidden w-56 shrink-0 overflow-y-auto sm:block`,children:(0,G.jsx)(re,{selected:p,onSelect:b,counts:B,totalCount:V,showCounts:!U,categories:M})}),(0,G.jsx)(`div`,{className:`min-w-0 flex-1 overflow-y-auto`,children:F.isLoading?(0,G.jsx)(ee,{}):F.isError?(0,G.jsx)(te,{}):H.length===0?(0,G.jsx)(xe,{filter:f,category:p}):(0,G.jsx)(`ul`,{className:`flex flex-col gap-2`,children:H.map(e=>(0,G.jsx)(`li`,{children:(0,G.jsx)(ue,{skill:e,onSelect:()=>r(j.skills.detail(e.id),{state:{listSearch:i.search}}),onInstall:()=>C(e),onRemove:()=>w(e),isInstalling:T(e),isRemoving:E(e)})},e.id))})})]}),(0,G.jsx)(ae,{skillName:D?.name??null,onConfirm:O,onCancel:k})]})}function ye(e,t,n){return(0,W.useMemo)(()=>{if(t&&Object.keys(t).length>0)return{counts:t,totalCount:n??e.length};let r={};for(let t of e){let e=t.category??`system`;r[e]=(r[e]??0)+1}return{counts:r,totalCount:n??e.length}},[e,t,n])}function be({onDismiss:e}){return(0,G.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg px-4 py-2.5 text-body-small-default`,style:{backgroundColor:`var(--surface-base)`,color:`var(--content-secondary)`},children:[(0,G.jsx)(w,{className:`h-4 w-4 shrink-0`,style:{color:`var(--primary-base)`}}),(0,G.jsx)(`p`,{className:`flex-1`,children:`You can create a new custom skill by describing what you want in chat.`}),(0,G.jsx)(i,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:(0,G.jsx)(T,{"aria-hidden":!0}),onClick:e,"aria-label":`Dismiss tip`,tintColor:`var(--content-tertiary)`,expandOnMobile:!1})]})}function xe({filter:e,category:t}){let{title:n,subtitle:r,Icon:i}=Se(e,t);return(0,G.jsx)(m,{icon:i,title:n,subtitle:r})}function Se(e,t){if(t)return{title:`No skills in this category`,subtitle:`Try selecting a different category or clearing the filter.`,Icon:z};switch(e){case`installed`:return{title:`No Skills Installed`,subtitle:`Ask your assistant in chat to search for and install new skills.`,Icon:L};case`available`:return{title:`No Skills Available`,subtitle:`All available skills have been installed.`,Icon:M};case`vellum`:return{title:`No Vellum Skills`,subtitle:`No bundled Vellum skills found.`,Icon:N};case`clawhub`:return{title:`No Clawhub Skills`,subtitle:`No Clawhub skills found. Try searching the catalog.`,Icon:S};case`skillssh`:return{title:`No skills.sh Skills`,subtitle:`No skills.sh skills found. Try searching the catalog.`,Icon:I};case`custom`:return{title:`No Custom Skills`,subtitle:`Create a custom skill by describing what you want in chat.`,Icon:B};default:return{title:`No Skills Available`,subtitle:`Check your connection to the Vellum catalog.`,Icon:y}}}function Ce(){let e=H(),[t]=o(),n=t.get(`skill`);return n?(0,G.jsx)(s,{to:j.skills.detail(n),replace:!0}):(0,G.jsx)(ve,{assistantId:e})}export{Ce as SkillsPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{jr as e}from"./sdk.gen-CFgJ4K6f.js";import{n as t}from"./api-errors-CrWDzVca.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 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{n}from"./QueryClientProvider-DKhXIxGb.js";import{t as r}from"./useQuery-B45lW1Kk.js";import{t as i}from"./useMutation-Lj4VunQV.js";import{t as a}from"./jsx-runtime-CVSDxk6A.js";import{t as o}from"./card-Bv5O5juh.js";import{t as s}from"./chevron-down-qD-re7AW.js";import{t as c}from"./toggle-CDfguvUz.js";import{At as l,Mt as u,Nt as d,Ot as f}from"./react-query.gen-LsPzqPq6.js";import{a as p,i as m,n as h,r as g,t as _}from"./sound-manager-CRFoAxE4.js";import{Li as v,yi as y}from"./index-B4Qq7TL7.js";import{t as b}from"./use-active-assistant-id-CGeH4Gl6.js";var x=e(t(),1),S=a();function C({label:e,description:t,checked:n,disabled:r,onChange:i}){return(0,S.jsxs)(`div`,{className:`flex items-center justify-between gap-3 py-1`,children:[(0,S.jsxs)(`div`,{children:[(0,S.jsx)(`div`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:e}),t&&(0,S.jsx)(`div`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:t})]}),(0,S.jsx)(c,{checked:n,disabled:r,onChange:i,label:e})]})}function w(){return(0,S.jsx)(`div`,{className:`border-t border-[var(--border-base)]`})}function T({event:e,eventConfig:t,availableSounds:n,globalEnabled:r,onToggle:i,onAddSound:a,onRemoveSound:o,onPreview:l}){let[u,d]=(0,x.useState)(!1),f=n.filter(e=>!t.sounds.includes(e.filename)),m=n.length>0&&f.length===0;return(0,S.jsxs)(`div`,{className:`py-3`,children:[(0,S.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,S.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:h[e]}),(0,S.jsx)(c,{checked:t.enabled,disabled:!r,onChange:i,label:`Enable ${h[e]}`})]}),t.enabled&&(0,S.jsxs)(`div`,{className:`mt-2 space-y-1 pl-2`,children:[t.sounds.length===0?(0,S.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Default Blip`}):t.sounds.map(e=>(0,S.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,S.jsx)(`span`,{className:`truncate text-body-small-default text-[var(--content-secondary)]`,title:e,children:p(e)}),(0,S.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,S.jsx)(`button`,{type:`button`,onClick:()=>l(e),className:`inline-flex items-center rounded-md px-1.5 py-0.5 text-body-small-default text-[var(--content-tertiary)] hover:bg-[var(--surface-base)] dark:text-[var(--content-disabled)] dark:hover:bg-[var(--ghost-hover)]`,"aria-label":`Preview ${e}`,children:(0,S.jsx)(v,{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)(y,{className:`h-3 w-3`})})]})]},e)),n.length===0?(0,S.jsx)(`p`,{className:`text-body-small-default italic text-[var(--content-disabled)]`,children:`No sound files yet. Drop audio files into data/sounds/ in your workspace.`}):m?(0,S.jsx)(`button`,{type:`button`,disabled:!0,className:`inline-flex items-center gap-1 rounded-md border border-[var(--border-base)] bg-white px-2 py-1 text-body-small-default text-[var(--content-disabled)] disabled:cursor-not-allowed dark:bg-[var(--surface-lift)] dark:text-[var(--content-tertiary)]`,children:`All sounds added`}):(0,S.jsxs)(`div`,{className:`relative inline-block`,children:[(0,S.jsxs)(`button`,{type:`button`,onClick:()=>d(e=>!e),className:`inline-flex items-center gap-1 rounded-md border border-[var(--border-base)] bg-white px-2 py-1 text-body-small-default text-[var(--content-default)] hover:bg-[var(--surface-base)] dark:bg-[var(--surface-lift)] dark:hover:bg-[var(--ghost-hover)]`,children:[`Add sound`,(0,S.jsx)(s,{className:`h-3 w-3`})]}),u&&(0,S.jsx)(`div`,{className:`absolute left-0 z-10 mt-1 max-h-64 w-56 overflow-auto rounded-md border border-[var(--border-base)] bg-white p-1 shadow-lg dark:bg-[var(--surface-lift)]`,onMouseLeave:()=>d(!1),children:f.map(e=>(0,S.jsx)(`button`,{type:`button`,onClick:()=>{a(e.filename),d(!1)},className:`block w-full truncate rounded px-2 py-1 text-left text-body-small-default text-[var(--content-default)] hover:bg-[var(--surface-base)] dark:hover:bg-[var(--ghost-hover)]`,title:e.filename,children:e.label},e.filename))})]})]})]})}function E(){let e=n(),t=b(),a=(0,x.useMemo)(()=>l({path:{assistant_id:t}}),[t]),s=(0,x.useMemo)(()=>f({path:{assistant_id:t}}),[t]),{data:c}=r(a),{data:p}=r(s),h=c??m(),y=p?.sounds??[],E=(0,x.useMemo)(()=>({path:{assistant_id:t}}),[t]),D=i({...d(E),onMutate:async t=>{await e.cancelQueries({queryKey:a.queryKey});let n=e.getQueryData(a.queryKey);return u(e,E,t.body),{previous:n}},onError:(t,n,r)=>{r?.previous!==void 0&&u(e,E,r.previous)},onSettled:()=>{e.invalidateQueries({queryKey:a.queryKey})}}),O=(0,x.useCallback)(n=>{let r=n(e.getQueryData(a.queryKey)??m());D.mutate({path:{assistant_id:t},body:r})},[t,a.queryKey,e,D]),k=e=>{O(t=>({...t,globalEnabled:e}))},A=e=>{O(t=>({...t,volume:e}))},[j,M]=(0,x.useState)(null),N=j??h.volume,P=(e,t)=>{O(n=>({...n,events:{...n.events,[e]:{...n.events[e]??{enabled:!1,sounds:[]},enabled:t}}}))},F=(e,t)=>{O(n=>{let r=n.events[e]??{enabled:!0,sounds:[]};return r.sounds.includes(t)?n:{...n,events:{...n.events,[e]:{...r,sounds:[...r.sounds,t]}}}})},I=(e,t)=>{O(n=>{let r=n.events[e];return r?{...n,events:{...n.events,[e]:{...r,sounds:r.sounds.filter(e=>e!==t)}}}:n})},L=()=>{_().previewFallbackBlip(h.volume)},R=e=>{_().previewSound(e,h.volume)};return(0,S.jsxs)(`div`,{className:`space-y-6`,children:[(0,S.jsxs)(o,{children:[(0,S.jsx)(C,{label:`Enable sound effects`,description:`Master switch for every event-driven sound.`,checked:h.globalEnabled,onChange:k}),(0,S.jsx)(w,{}),(0,S.jsxs)(`div`,{className:`flex items-center gap-3 py-3`,children:[(0,S.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:`Volume`}),(0,S.jsx)(`input`,{type:`range`,min:0,max:1,step:.05,value:N,onChange:e=>M(parseFloat(e.target.value)),onPointerUp:e=>{let t=parseFloat(e.currentTarget.value);M(null),t!==h.volume&&A(t)},onKeyUp:e=>{let t=parseFloat(e.currentTarget.value);M(null),t!==h.volume&&A(t)},onBlur:e=>{let t=parseFloat(e.currentTarget.value);M(null),t!==h.volume&&A(t)},className:`h-1 w-48 cursor-pointer`,disabled:!h.globalEnabled,"aria-label":`Sound effect volume`}),(0,S.jsxs)(`span`,{className:`tabular-nums text-body-small-default text-[var(--content-tertiary)]`,children:[Math.round(N*100),`%`]})]}),(0,S.jsx)(w,{}),(0,S.jsxs)(`div`,{className:`flex items-center justify-between py-3`,children:[(0,S.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:`Preview default blip`}),(0,S.jsxs)(`button`,{type:`button`,onClick:L,disabled:!h.globalEnabled,className:`inline-flex items-center gap-1.5 rounded-md border border-[var(--border-base)] bg-white px-3 py-1.5 text-body-medium-lighter text-[var(--content-default)] hover:bg-[var(--surface-base)] disabled:cursor-not-allowed disabled:opacity-50 dark:bg-[var(--surface-lift)] dark:hover:bg-[var(--ghost-hover)]`,children:[(0,S.jsx)(v,{className:`h-3.5 w-3.5`}),`Preview`]})]})]}),(0,S.jsxs)(o,{children:[(0,S.jsxs)(`div`,{className:`pb-2`,children:[(0,S.jsx)(`h3`,{className:`text-title-small text-[var(--content-default)]`,children:`Sound Events`}),(0,S.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Add one or more sounds per event. When multiple are configured, one plays at random.`})]}),(0,S.jsx)(`div`,{className:`divide-y divide-[var(--border-base)]`,children:g.map(e=>(0,S.jsx)(T,{event:e,eventConfig:h.events[e]??{enabled:!1,sounds:[]},availableSounds:y,globalEnabled:h.globalEnabled,onToggle:t=>P(e,t),onAddSound:t=>F(e,t),onRemoveSound:t=>I(e,t),onPreview:e=>R(e)},e))})]})]})}export{E as SoundsPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./button-amTXFI-2.js";import{t as r}from"./jsx-runtime-CVSDxk6A.js";import{t as i}from"./cn-C36Yvcac.js";var a=e(t(),1),o=r();function s(e,t,n){let r=e.find(e=>e.value===n);return!r||r.disabled||r.value===t?null:r.value}function c(e,t,n){let r=e.length,i=(t+n+r)%r,a=0;for(;e[i]?.disabled&&a<r;)i=(i+n+r)%r,a++;return i}function l({items:e,value:t,onChange:r,ariaLabel:l,iconOnly:u=!1,showTooltips:d=!0,className:f}){let p=(0,a.useRef)(null),m=(0,a.useCallback)(n=>{let i=e.findIndex(e=>e.value===t),a=null;switch(n.key){case`ArrowRight`:case`ArrowDown`:a=c(e,i,1);break;case`ArrowLeft`:case`ArrowUp`:a=c(e,i===-1?0:i,-1);break;case`Home`:a=c(e,e.length-1,1);break;case`End`:a=c(e,0,-1);break;default:return}n.preventDefault();let o=e[a];!o||o.disabled||(o.value!==t&&r(o.value),(p.current?.querySelectorAll(`[role="radio"]`))?.[a]?.focus())},[e,t,r]),h=e.findIndex(e=>e.value===t),g=h===-1?e.findIndex(e=>!e.disabled):h;return(0,o.jsx)(`div`,{ref:p,role:`radiogroup`,"aria-label":l,"data-slot":`segment-control`,onKeyDown:m,className:i(`inline-flex rounded-lg bg-[var(--surface-active)] p-0.5`,!u&&`w-full`,u&&`rounded-[10px]`,f),children:e.map((a,c)=>{let l=a.value===t,f=!!a.disabled;return(0,o.jsxs)(n,{variant:`ghost`,role:`radio`,"aria-checked":l,"aria-label":u?a.label:void 0,tooltip:u&&d?a.label:void 0,disabled:f,tabIndex:c===g?0:-1,onClick:()=>{let n=s(e,t,a.value);n!==null&&r(n)},className:i(`min-w-[30px] cursor-pointer justify-center gap-1.5 rounded-md border-0 text-body-medium-default`,u?`h-7 rounded-lg px-2 py-1 max-md:h-9 max-md:min-w-9 max-md:px-2`:`h-auto flex-1 px-3 py-1.5`,l?`bg-[var(--surface-overlay)] text-[var(--content-emphasised)] shadow-sm hover:bg-[var(--surface-overlay)]`:`bg-transparent text-[var(--content-tertiary)] hover:bg-transparent hover:text-[var(--content-emphasised)]`),children:[a.icon,!u&&(a.sublabel==null?a.label:(0,o.jsxs)(`span`,{className:`flex flex-col items-center gap-0.5`,children:[(0,o.jsx)(`span`,{children:a.label}),(0,o.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:a.sublabel})]}))]},a.value)})})}var u={default:`text-[var(--content-default)]`,negative:`text-[var(--system-negative-strong)]`,muted:`text-[var(--content-tertiary)]`};function d({icon:e,value:t,label:n,tone:r=`default`,className:a,ref:s,...c}){return(0,o.jsxs)(`div`,{...c,ref:s,"data-slot":`stat-square`,className:i(`flex flex-1 items-center gap-3 rounded-xl bg-[var(--surface-base)] p-3`,a),children:[e?(0,o.jsx)(`span`,{"aria-hidden":!0,className:`flex h-10 w-10 shrink-0 items-center justify-center rounded-lg bg-[var(--surface-lift)] text-[var(--content-emphasised)]`,children:e}):null,(0,o.jsxs)(`div`,{className:`flex min-w-0 flex-col`,children:[(0,o.jsx)(`span`,{className:i(`text-title-small leading-none`,u[r]),children:t}),(0,o.jsx)(`span`,{className:`mt-1 text-body-small-default text-[var(--content-tertiary)]`,children:n})]})]})}export{l as n,d as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./jsx-runtime-CVSDxk6A.js";var t=e();function n({current:e,total:n,color:r}){return(0,t.jsx)(`div`,{className:`flex items-center gap-1.5`,role:`group`,"aria-label":`Step ${e+1} of ${n}`,children:Array.from({length:n},(n,i)=>(0,t.jsx)(`div`,{"aria-hidden":`true`,className:`h-[3px] w-8 rounded-full transition-colors`,style:r?{backgroundColor:r,opacity:i<=e?1:.3}:void 0,children:r?null:(0,t.jsx)(`div`,{className:`h-full w-full rounded-full bg-[var(--content-default)] ${i<=e?``:`opacity-20`}`})},i))})}export{n as t};
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./button-amTXFI-2.js";import{t as r}from"./jsx-runtime-CVSDxk6A.js";import{t as i}from"./typography-D5f7kt80.js";import{t as a}from"./arrow-left-DI9551VI.js";import{n as o,r as s,t as c}from"./metric-card-cvhtzRdM.js";import{h as l,ht as u}from"./risk-BQ3NV8r8.js";import{t as d}from"./brain-BLDXGaUy.js";import{t as f}from"./chevron-down-qD-re7AW.js";import{t as p}from"./chevron-right-DqqmezXC.js";import{t as m}from"./globe-4qSOWE2N.js";import{t as h}from"./x-CkSVp1Ok.js";import"./src-DZbMXyC2.js";import{t as g}from"./chat-markdown-message-Cp8stHaU.js";import{a as _,i as v,r as y}from"./subagent-store-B4PMGakL.js";import{t as b}from"./misc-DnHIYCE9.js";import{t as x}from"./proxy-Cadlowdl.js";import{t as S}from"./AnimatePresence-TZWSGjkI.js";import{t as C}from"./use-reduced-motion-BPBlq9_a.js";import{S as w,a as T,b as E,c as D,d as O,f as k,i as A,l as j,m as M,n as N,o as P,p as F,r as I,t as L,u as R}from"./site-favicon-DsYdnaxV.js";import{t as z}from"./three-dot-indicator-BuZzHFUJ.js";import{Na as B,Q as V,X as H,Y as U,Z as ee,et as W,tt as G}from"./index-B4Qq7TL7.js";import{t as te}from"./status-badge-pill-B_ninpnM.js";import{CodeBlock as K,ToolDetailBody as q}from"./tool-detail-panel-DarSpKEx.js";import{t as J}from"./detail-panel-stop-button-H9sXvWGa.js";var Y=e(t(),1),X=r();function Z({status:e}){return(0,X.jsx)(te,{color:v(e),label:_(e)})}function ne(e,t){let n=e.steps[0];return`${t}-${e.label}-${n?k(n,t):``}`}function re(e){for(let t=e.steps.length-1;t>=0;t--){let n=e.steps[t];if(n.kind===`tool`&&n.status===`running`||n.kind===`web_search`&&n.title===`Searching the web`)return n}}function ie(e,t){return e&&e.kind===`tool`&&(e.activity||e.info)||t}function ae(e){for(let t=e.steps.length-1;t>=0;t--){let n=e.steps[t];if(n.kind===`web_search`&&n.query)return n.query}}function oe(e){for(let t=e.steps.length-1;t>=0;t--){let n=e.steps[t];if(n.kind===`thinking`&&n.text)return n.text}}function Q(e){if(e.kind===`tool`)return e.toolCallId||void 0;if(e.kind===`thinking`||e.kind===`web_search`||e.kind===`web_search_error`)return e.detailKey}function se({steps:e,onStepDetailClick:t,expandedKeys:n,onExpandedKeysChange:r,isRunning:i=!1}){let[a,o]=(0,Y.useState)(new Set),s=n??a,c=(0,Y.useCallback)(e=>{let t=t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n};if(r){r(t);return}o(t)},[r]),l=(0,Y.useMemo)(()=>R(e),[e]);return l.length===0?null:(0,X.jsx)(`div`,{className:`flex w-full flex-col`,children:l.map((e,n)=>{let r=ne(e,n),a=n===l.length-1;return(0,X.jsx)(ce,{section:e,isLast:a,isActiveTail:a&&i,expanded:s.has(r),sectionKeyValue:r,onToggle:c,onStepDetailClick:t},r)})})}var ce=(0,Y.memo)(function({section:e,isLast:t,isActiveTail:n,expanded:r,sectionKeyValue:a,onToggle:o,onStepDetailClick:s}){let c=C(),l=O(e.steps),u=l===`running`&&!n?`completed`:l,f=u===`running`||n,p=e.steps[0]?.kind===`thinking`,h=e.steps.length,g=e.label===`Searching the web`,_=g?ae(e):void 0,v=h>=2,y=e.steps.some(e=>F(e)||!!s&&!!Q(e)),E=u===`running`?``:M(e.steps.map(e=>`durationLabel`in e?e.durationLabel:``)),P=u===`running`?re(e):void 0,L=u===`running`&&!g?ie(P,e.label):``,R=g&&(u===`running`||!!_),z=_??e.label,B=p&&f,V=B?oe(e)??e.label:void 0,H=u===`running`||R||B||!!E,U=`${h} step${h===1?``:`s`}`;return(0,X.jsxs)(`div`,{"data-testid":`subagent-phase-section`,"data-phase-label":e.label,className:b(`relative flex flex-col gap-2`,!t&&`pb-4`),children:[!t&&(0,X.jsx)(D,{className:`top-[17.5px] -bottom-[4.5px]`}),(0,X.jsxs)(`button`,{type:`button`,"data-testid":`subagent-phase-header`,disabled:!y,onClick:y?()=>o(a):void 0,className:b(`flex h-[22px] w-full items-center gap-2 text-left`,y&&`cursor-pointer`),children:[(0,X.jsx)(`span`,{"aria-hidden":!0,className:`flex h-[14px] w-[14px] shrink-0 items-center justify-center`,children:(0,X.jsx)(`span`,{className:`h-[5px] w-[5px] rounded-full bg-[var(--content-disabled)]`})}),(0,X.jsx)(j,{status:f?`running`:u,isThinking:p&&!f}),(0,X.jsx)(i,{variant:`body-medium-default`,className:`shrink-0 text-[var(--content-default)]`,children:e.label}),H&&(0,X.jsx)(`span`,{"aria-hidden":!0,className:`shrink-0 leading-none text-[var(--content-tertiary)] opacity-10`,children:`|`}),R?(0,X.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-1`,children:[(0,X.jsx)(m,{"aria-hidden":`true`,className:`h-3.5 w-3.5 shrink-0 text-[var(--content-tertiary)]`}),(0,X.jsx)(w,{currentStepTitle:``,currentStepInfo:z})]}):B?(0,X.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-1`,children:[(0,X.jsx)(d,{"aria-hidden":`true`,className:`h-3.5 w-3.5 shrink-0 text-[var(--content-tertiary)]`}),(0,X.jsx)(w,{currentStepTitle:``,currentStepInfo:V??e.label})]}):u===`running`?(0,X.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-1`,children:[(0,X.jsx)(d,{"aria-hidden":`true`,className:`h-3.5 w-3.5 shrink-0 text-[var(--content-tertiary)]`}),(0,X.jsx)(w,{currentStepTitle:``,currentStepInfo:L})]}):E?(0,X.jsx)(i,{variant:`body-small-default`,className:`min-w-0 truncate text-[var(--content-tertiary)]`,children:`Worked for ${E}`}):null,y&&v&&(0,X.jsx)(`span`,{"data-testid":`subagent-phase-step-count`,className:`ml-auto inline-flex shrink-0 items-center self-stretch whitespace-nowrap rounded-full bg-[var(--surface-base)] px-2`,children:(0,X.jsx)(i,{variant:`body-small-default`,className:`whitespace-nowrap text-[var(--content-secondary)]`,children:U})})]}),(0,X.jsx)(S,{initial:!1,children:y&&r&&(0,X.jsx)(x.div,{initial:{height:0,opacity:0},animate:{height:`auto`,opacity:1},exit:{height:0,opacity:0},transition:c?{duration:0}:{duration:.25,ease:[.16,1,.3,1]},className:`overflow-hidden`,children:(0,X.jsx)(`div`,{className:`flex flex-col items-start gap-1 pl-[22px]`,children:e.steps.map((e,t)=>{let n=s?Q(e):void 0;if(n&&s){if(e.kind===`tool`)return(0,X.jsx)(A,{variant:`tool`,iconName:e.iconName,label:e.activity||e.info||e.title,ariaLabel:`View tool details`,onClick:()=>s(n)},k(e,t));if(e.kind===`thinking`)return(0,X.jsx)(A,{variant:`tool`,iconName:`brain`,label:e.text,ariaLabel:`View reasoning`,onClick:()=>s(n)},k(e,t));if(e.kind===`web_search`)return(0,X.jsx)(A,{variant:`tool`,iconName:`globe`,label:e.query||e.title,ariaLabel:`View search details`,onClick:()=>s(n)},k(e,t));if(e.kind===`web_search_error`)return(0,X.jsx)(A,{variant:`tool`,iconName:`globe`,label:e.errorMessage,ariaLabel:`View search error`,onClick:()=>s(n)},k(e,t))}return e.kind===`web_search`?(0,X.jsxs)(`div`,{className:`flex w-full flex-col gap-1`,children:[e.query?(0,X.jsx)(i,{variant:`body-small-default`,className:`text-[var(--content-secondary)]`,children:`"${e.query}"`}):null,(0,X.jsx)(I,{step:e})]},k(e,t)):e.kind===`web_search_error`?(0,X.jsx)(N,{step:e},k(e,t)):(0,X.jsx)(T,{step:e},k(e,t))})})},`phase-steps`)})]})}),le=`
|
|
2
|
-
Content:
|
|
3
|
-
`;function ue(e){return E(e)||e}function de(e,t){let n=e??``,r=n.indexOf(le),i=r>=0?n.slice(0,r):``,a=r>=0?n.slice(r+10):n,o=e=>{let t=i.match(RegExp(`^${e}:[ \\t]*(.+)$`,`m`));return t?t[1].trim():null},s=[],c=i.indexOf(`Notices:`);if(c>=0)for(let e of i.slice(c).split(`
|
|
4
|
-
`)){let t=e.match(/^\s*-\s+(.*)$/);t&&t[1].trim()&&s.push(t[1].trim())}a=a.trim();let l=null,u=a.match(/^<external_content\b([^>]*)>\s*/);if(u){let e=u[1].match(/origin="([^"]+)"/);e&&(l=e[1]),a=a.slice(u[0].length).replace(/\s*<\/external_content>\s*$/,``)}return{url:o(`Final URL`)||o(`Requested URL`)||l||t||null,status:o(`Status`),notices:s,content:a.trim()}}function fe({url:e,status:t}){let n=ue(e),r=t?/^\s*2\d\d/.test(t):!1;return(0,X.jsxs)(`a`,{href:e,target:`_blank`,rel:`noopener noreferrer`,className:`flex items-center gap-2 rounded-lg border border-[var(--border-base)] bg-[var(--surface-overlay)] p-3 transition-colors hover:border-[var(--border-hover)]`,children:[(0,X.jsx)(L,{domain:n,title:n}),(0,X.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,X.jsx)(i,{variant:`body-medium-default`,as:`span`,className:`truncate text-[var(--content-default)]`,children:n}),(0,X.jsx)(i,{variant:`body-small-default`,as:`span`,className:`truncate text-[var(--content-tertiary)]`,children:e})]}),t&&(0,X.jsx)(`span`,{className:`shrink-0 rounded-[6px] px-2 py-0.5 text-body-small-emphasised ${r?`text-[var(--system-positive-strong)]`:`text-[var(--content-tertiary)]`}`,children:t})]})}function pe({detail:e}){let[t,n]=(0,Y.useState)(!1),r=typeof e.input?.url==`string`?e.input.url:void 0,a=(0,Y.useMemo)(()=>de(e.result??``,r),[e.result,r]);return e.status===`error`?(0,X.jsx)(K,{text:e.result??`Fetch failed.`}):(0,X.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[a.url&&(0,X.jsx)(fe,{url:a.url,status:a.status}),a.notices.length>0&&(0,X.jsx)(`div`,{className:`flex flex-col gap-1 rounded-lg border border-[var(--border-base)] bg-[var(--surface-overlay)] p-3`,children:a.notices.map((e,t)=>(0,X.jsx)(i,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:e},t))}),(0,X.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,X.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,X.jsx)(i,{variant:`body-medium-default`,as:`h3`,className:`text-[var(--content-emphasised)]`,children:t?`Raw result`:`Content`}),e.result&&(0,X.jsx)(`button`,{type:`button`,onClick:()=>n(e=>!e),className:`cursor-pointer text-[var(--content-secondary)] transition-colors hover:text-[var(--content-default)]`,children:(0,X.jsx)(i,{variant:`label-small-default`,as:`span`,children:t?`View extracted`:`View raw`})})]}),t?(0,X.jsx)(K,{text:e.result??``}):a.content?(0,X.jsx)(g,{content:a.content}):(0,X.jsx)(i,{variant:`body-small-default`,className:`text-[var(--content-tertiary)]`,children:e.status===`running`?`Fetching…`:`No content extracted.`})]})]})}function me({detail:e}){let t=e.searchQuery??``,n=e.searchResults??[];return(0,X.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[t?(0,X.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,X.jsx)(i,{variant:`body-medium-default`,as:`h3`,className:`text-[var(--content-emphasised)]`,children:`Query`}),(0,X.jsx)(i,{variant:`body-medium-lighter`,as:`p`,className:`break-words leading-relaxed text-[var(--content-default)]`,children:`"${t}"`})]}):null,(0,X.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,X.jsx)(i,{variant:`body-medium-default`,as:`h3`,className:`text-[var(--content-emphasised)]`,children:n.length>0?`Sources (${n.length})`:`Sources`}),n.length>0?(0,X.jsx)(I,{step:{kind:`web_search`,title:`Searched the web`,durationLabel:``,linkCount:n.length,results:n}}):(0,X.jsx)(i,{variant:`body-small-default`,className:`text-[var(--content-tertiary)]`,children:`No sources found.`})]})]})}function $(e){return new Map(e.map(e=>[e.toolCallId,e]))}function he(e=U){let t=null,n=[],r=[],i=new Map;function a(a){let o=[],s=[];for(let t of a)e(o,s,t);return t=a,n=o,r=s,i=$(n),i}function o(o){let s=ee(t,o);switch(s.kind){case`identity`:return i;case`first`:return a(o);case`append`:{let a=o.length,c=n.slice(),l=r.slice();for(let t=s.from;t<a;t++)e(c,l,o[t]);return t=o,n=c,r=l,i=$(n),i}case`mutate-last`:{let a=o.length,s=n.slice(),c=r.slice(),l=s[s.length-1];return l&&l.kind===`thinking`&&l.toolCallId===o[a-1].id&&(s.pop(),c.pop()),e(s,c,o[a-1]),t=o,n=s,r=c,i=$(n),i}case`fallback`:return a(o)}}return{project:o}}function ge(e){let t=(0,Y.useRef)(null);return t.current??=he(),t.current.project(e)}function _e(e){return e.kind===`web_search`?`globe`:e.kind===`thinking`?`brain`:l(e.toolName,e.input).iconName}function ve({detail:e}){return e.status===`running`?(0,X.jsx)(z,{className:`shrink-0`,"data-testid":`nested-detail-running`}):(0,X.jsx)(P[_e(e)]??u,{"aria-hidden":!0,className:`h-5 w-5 shrink-0 text-[var(--content-secondary)]`})}function ye({entry:e,onClose:t,onStop:r,onRequestDetail:l}){let u=y(e.status),d=C(),m=W(),_=(0,Y.useMemo)(()=>V(e.subagentId),[e.subagentId]),{steps:v}=H(e.events),b=ge(e.events),[S,w]=(0,Y.useState)(null),T=(0,Y.useRef)(b);T.current=b;let E=(0,Y.useCallback)(e=>{T.current.has(e)&&w(e)},[]),[D,O]=(0,Y.useState)(new Set),[k,A]=(0,Y.useState)(!1),[j,M]=(0,Y.useState)(!1),N=(0,Y.useRef)(null),[P,F]=(0,Y.useState)(e.subagentId);P!==e.subagentId&&(F(e.subagentId),A(!1),M(!1),w(null),O(new Set)),(0,Y.useLayoutEffect)(()=>{if(k)return;let e=N.current;e&&M(e.scrollHeight>e.clientHeight)},[e.subagentId,e.objective,k]),(0,Y.useEffect)(()=>{l&&e.conversationId&&e.events.length===0&&l(e.subagentId)},[e.subagentId,e.conversationId,e.events.length,l]);let I=S?b.get(S):void 0,L=(0,Y.useCallback)(()=>w(null),[]),R=I?I.activity||I.title:``,z=I?R:e.label;return(0,X.jsxs)(`div`,{className:`flex h-full flex-col overflow-hidden rounded-xl bg-[var(--surface-lift)]`,children:[I&&(0,X.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 border-b border-[var(--border-hover)] px-5 py-3`,children:[(0,X.jsx)(`button`,{type:`button`,onClick:L,title:e.label,className:`min-w-0 shrink cursor-pointer truncate text-left text-[var(--content-default)] hover:underline`,children:(0,X.jsx)(i,{variant:`body-small-default`,as:`span`,children:e.label})}),(0,X.jsx)(p,{className:`h-2.5 w-2.5 shrink-0 text-[var(--content-tertiary)]`,"aria-hidden":!0}),(0,X.jsx)(i,{variant:`body-small-default`,as:`span`,title:R,className:`min-w-0 shrink truncate text-[var(--content-secondary)]`,children:R})]}),(0,X.jsxs)(`div`,{className:`flex shrink-0 items-center gap-3 border-b border-[var(--border-hover)] px-5 py-4`,children:[I&&(0,X.jsx)(n,{variant:`outlined`,iconOnly:(0,X.jsx)(a,{}),onClick:L,"aria-label":`Back to timeline`,tooltip:`Back`,className:`shrink-0 rounded-lg`}),I?(0,X.jsx)(ve,{detail:I}):m?(0,X.jsx)(G,{components:m,bodyShapeId:_.bodyShape,eyeStyleId:_.eyeStyle,colorId:_.color,size:32}):(0,X.jsx)(`div`,{style:{width:32,height:32,flexShrink:0},"aria-hidden":!0}),(0,X.jsx)(i,{variant:`title-medium`,title:z,className:`min-w-0 shrink truncate leading-snug text-[var(--content-default)]`,children:z}),(0,X.jsx)(Z,{status:e.status}),(0,X.jsx)(`span`,{className:`flex-1`}),u&&r&&(0,X.jsx)(J,{onStop:()=>r(e.subagentId),ariaLabel:`Stop subagent`}),(0,X.jsx)(n,{variant:`outlined`,iconOnly:(0,X.jsx)(h,{}),onClick:t,"aria-label":`Close subagent detail`,tooltip:`Close`,className:`shrink-0 rounded-lg`})]}),(0,X.jsx)(`div`,{className:`flex-1 overflow-y-auto px-5 py-5`,children:(0,X.jsx)(x.div,{initial:{opacity:0},animate:{opacity:1},transition:d?{duration:0}:{duration:.18,ease:[.16,1,.3,1]},children:I?(0,X.jsx)(X.Fragment,{children:I.kind===`thinking`?(0,X.jsx)(g,{content:I.thinkingText??``,hardLineBreaks:!0}):I.kind===`web_search`&&I.status!==`error`?(0,X.jsx)(me,{detail:I}):I.toolName===`web_fetch`?(0,X.jsx)(pe,{detail:I}):(0,X.jsx)(q,{detail:I})}):(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(`div`,{className:`mb-5 grid grid-cols-2 gap-3`,children:[(0,X.jsx)(c,{icon:(0,X.jsx)(B,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),target:e.inputTokens,format:e=>o(Math.round(e)),label:`Input`}),(0,X.jsx)(c,{icon:(0,X.jsx)(s,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),target:e.outputTokens,format:e=>o(Math.round(e)),label:`Output`})]}),e.objective&&(0,X.jsxs)(`div`,{className:`mb-5`,children:[(0,X.jsx)(i,{variant:`body-medium-default`,as:`h3`,className:`mb-2 text-[var(--content-emphasised)]`,children:`Objective`}),(0,X.jsx)(i,{ref:N,variant:`body-medium-lighter`,as:`p`,tabIndex:k?0:void 0,role:k?`region`:void 0,"aria-label":k?`Objective`:void 0,className:`whitespace-pre-wrap break-words leading-relaxed text-[var(--content-default)] ${k?`max-h-[280px] overflow-y-auto`:`line-clamp-5`}`,children:e.objective}),j&&(0,X.jsxs)(`button`,{type:`button`,onClick:()=>A(e=>!e),className:`mt-1.5 flex cursor-pointer items-center gap-1 text-[var(--content-secondary)] transition-colors hover:text-[var(--content-default)]`,children:[(0,X.jsx)(i,{variant:`label-small-default`,children:k?`Show less`:`Show more`}),(0,X.jsx)(f,{className:`h-3.5 w-3.5 transition-transform ${k?`rotate-180`:``}`,"aria-hidden":!0})]}),(0,X.jsx)(`div`,{className:`mt-5 h-px w-full bg-[var(--border-hover)]`})]}),(0,X.jsxs)(`div`,{children:[(0,X.jsx)(i,{variant:`title-medium`,as:`h3`,className:`mb-4 text-[var(--content-emphasised)]`,children:`Timeline`}),e.events.length>0?(0,X.jsx)(se,{steps:v,expandedKeys:D,onExpandedKeysChange:O,onStepDetailClick:E,isRunning:u},e.subagentId):(0,X.jsx)(i,{variant:`body-small-default`,className:`py-4 text-center text-[var(--content-tertiary)]`,children:`No events yet`})]})]})},I?`detail`:`list`)})]})}export{ye as SubagentDetailPanel};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{r as n}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as r}from"./jsx-runtime-CVSDxk6A.js";import{t as i}from"./chevron-down-qD-re7AW.js";import{t as a}from"./loader-circle-Cz7opInR.js";import{t as o}from"./triangle-alert-Z0Gq0IuB.js";import{t as s}from"./notice-DkcNAP8O.js";import"./src-DZbMXyC2.js";import{t as c}from"./tag-CV4v7fRF.js";import{c as l}from"./routes-BXlWEOF0.js";import{N as u}from"./react-query.gen-DV9K_z-o.js";import{Ca as d,D as f,Ea as p,Gr as m,Pa as h,Sa as g,Ur as _}from"./index-B4Qq7TL7.js";import{t as v}from"./use-active-assistant-id-CGeH4Gl6.js";var y=e(t(),1),b=r();function x(e){switch(e){case`lifecycle`:return`Lifecycle`;case`upgrade`:return`Upgrade`;case`rollback`:return`Rollback`;case`crash`:return`Crash`;case`idle_sleep`:return`Idle Sleep`;case`wake`:return`Wake`;case`profiler`:return`Profiler`;case`other`:return`Other`;default:return e}}function S(e){switch(e){case`started`:return`Started`;case`succeeded`:return`Succeeded`;case`failed`:return`Failed`;case`in_progress`:return`In Progress`;default:return e}}function C(e){return e===`succeeded`}function w(e){return e===`failed`}function T(e){return new Date(e).toLocaleString(void 0,{year:`numeric`,month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`})}function E(e){if(e.type!==`idle_sleep`)return!1;let t=e.details?.idle_timeout_seconds;return typeof t==`number`&&t>=21600}function D(e,t){switch(e){case`wake`:return`positive`;case`rollback`:return`warning`;case`crash`:return`negative`;case`idle_sleep`:return t&&E(t)?`warning`:`neutral`;default:return`neutral`}}function O({type:e,event:t}){return(0,b.jsx)(c,{tone:D(e,t),children:x(e)})}function k({status:e}){let t=S(e);return C(e)?(0,b.jsx)(c,{tone:`positive`,leftIcon:(0,b.jsx)(p,{}),children:t}):w(e)?(0,b.jsx)(c,{tone:`negative`,leftIcon:(0,b.jsx)(d,{}),children:t}):(0,b.jsx)(c,{tone:`neutral`,children:t})}function A({event:e}){let[t,n]=(0,y.useState)(!1),r=e.details!==null&&e.details!==void 0&&Object.keys(e.details).length>0;return(0,b.jsxs)(`div`,{className:`rounded-xl border p-4`,style:{background:`var(--surface-lift)`,borderColor:`var(--border-base)`},children:[(0,b.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row sm:items-start sm:justify-between`,children:[(0,b.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-1.5`,children:[(0,b.jsx)(`p`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:e.display_text}),(0,b.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5`,children:[(0,b.jsx)(O,{type:e.type,event:e}),(0,b.jsx)(k,{status:e.event_status}),E(e)&&(0,b.jsx)(c,{tone:`warning`,leftIcon:(0,b.jsx)(o,{className:`h-3 w-3`}),children:`Long sleep`})]})]}),(0,b.jsxs)(`div`,{className:`text-body-small-default flex shrink-0 items-center gap-1.5`,style:{color:`var(--content-tertiary)`},children:[(0,b.jsx)(g,{className:`h-3 w-3`}),(0,b.jsx)(`span`,{children:T(e.occurred_at)})]})]}),r&&(0,b.jsxs)(`div`,{className:`mt-2`,children:[(0,b.jsxs)(`button`,{type:`button`,onClick:()=>n(e=>!e),className:`text-body-small-default flex items-center gap-1`,style:{color:`var(--content-tertiary)`},children:[(0,b.jsx)(i,{className:`h-3 w-3 transition-transform ${t?`rotate-180`:``}`}),t?`Hide details`:`Show details`]}),t&&(0,b.jsx)(`pre`,{className:`mt-2 overflow-x-auto rounded-md p-3 text-body-small-default`,style:{background:`var(--surface-base)`,color:`var(--content-default)`},children:JSON.stringify(e.details,null,2)})]})]})}function j({assistantId:e}){let{data:t,isLoading:n,isError:r,isFetchingNextPage:i,hasNextPage:s,fetchNextPage:c}=h({...u({path:{assistant_id:e}}),initialPageParam:0,getNextPageParam:(e,t)=>{if(e.next)return t.reduce((e,t)=>e+t.results.length,0)}}),l=t?.pages.flatMap(e=>e.results)??[];return(0,b.jsxs)(`div`,{className:`space-y-4`,children:[(0,b.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Lifecycle events for your assistant from the last 30 days, newest first.`}),n?(0,b.jsxs)(`div`,{className:`text-body-medium-lighter flex items-center gap-2`,style:{color:`var(--content-tertiary)`},children:[(0,b.jsx)(a,{className:`h-4 w-4 animate-spin`}),`Loading system events...`]}):r?(0,b.jsxs)(`div`,{className:`text-body-medium-lighter flex items-center gap-2`,style:{color:`var(--system-negative-strong)`},children:[(0,b.jsx)(o,{className:`h-4 w-4 shrink-0`}),`Failed to load system events. Please refresh and try again.`]}):l.length===0?(0,b.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`No system events recorded in the last 30 days.`}):(0,b.jsxs)(`div`,{className:`space-y-2`,children:[l.map(e=>(0,b.jsx)(A,{event:e},e.id)),s&&(0,b.jsx)(`div`,{className:`pt-2 text-center`,children:(0,b.jsx)(`button`,{type:`button`,onClick:()=>c(),disabled:i,className:`text-body-medium-default flex w-full items-center justify-center gap-2 rounded-md border px-4 py-2 transition-colors disabled:cursor-not-allowed disabled:opacity-50`,style:{borderColor:`var(--border-element)`,color:`var(--content-secondary)`},children:i?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(a,{className:`h-4 w-4 animate-spin`}),`Loading older events...`]}):`Load older events`})})]})]})}function M(){let e=m({platformHostedOnly:!0}),t=_(),r=v();return e===`gated`?(0,b.jsx)(n,{replace:!0,to:l.logs.root}):e===`disabled`?(0,b.jsx)(f,{children:`Log in to the Vellum platform to view system events.`}):t?(0,b.jsx)(j,{assistantId:r}):(0,b.jsx)(s,{tone:`warning`,children:`System events aren't available for the current assistant.`})}export{M as SystemEventsPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{d as n}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{c as r}from"./routes-BXlWEOF0.js";var i=e(t(),1);function a(){let e=n();return(0,i.useEffect)(()=>{e(r.logs.systemEvents,{replace:!0})},[e]),null}export{a as SystemEventsRedirectPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{P as e}from"./button-amTXFI-2.js";import{t}from"./jsx-runtime-CVSDxk6A.js";import{t as n}from"./cn-C36Yvcac.js";import{t as r}from"./x-CkSVp1Ok.js";var i=t(),a=e([`inline-flex items-center gap-1 h-6 px-2 py-1 rounded-[6px] whitespace-nowrap select-none`,`text-body-small-emphasised leading-none`,`text-[color:var(--content-default)]`].join(` `),{variants:{tone:{positive:`bg-[var(--system-positive-weak)]`,negative:`bg-[var(--system-negative-weak)]`,warning:`bg-[var(--system-mid-weak)]`,info:`bg-[var(--system-info-weak)]`,neutral:`bg-[var(--tag-bg-neutral)]`}},defaultVariants:{tone:`neutral`}}),o={positive:`var(--system-positive-strong)`,negative:`var(--system-negative-strong)`,warning:`var(--system-mid-strong)`,info:`var(--system-info-strong)`,neutral:`var(--content-secondary)`},s={width:12,height:12,flexShrink:0,display:`inline-flex`,alignItems:`center`,justifyContent:`center`};function c({tone:e=`neutral`,leftIcon:t,rightIcon:c,onRemove:l,removeLabel:u=`Remove`,className:d,children:f,ref:p,...m}){let h=o[e];return(0,i.jsxs)(`span`,{...m,ref:p,"data-slot":`tag`,className:n(a({tone:e}),d),children:[t==null?null:(0,i.jsx)(`span`,{"aria-hidden":`true`,style:{...s,color:h},children:t}),f,c!=null&&l==null?(0,i.jsx)(`span`,{"aria-hidden":`true`,style:{...s,color:`var(--content-secondary)`},children:c}):null,l==null?null:(0,i.jsx)(`button`,{type:`button`,"aria-label":u,onClick:e=>{e.stopPropagation(),l(e)},className:n(`inline-flex items-center justify-center rounded-full`,`h-3.5 w-3.5 -mr-0.5 cursor-pointer`,`text-[color:var(--content-secondary)]`,`transition-colors duration-150`,`hover:bg-[color-mix(in_srgb,currentColor_15%,transparent)]`,`keyboard-focus:outline-none keyboard-focus:ring-2`,`keyboard-focus:ring-[var(--ring)]`),children:(0,i.jsx)(r,{style:s,"aria-hidden":`true`})})]})}export{c as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{F as n}from"./button-amTXFI-2.js";import{t as r}from"./jsx-runtime-CVSDxk6A.js";import{t as i}from"./cn-C36Yvcac.js";import{t as a}from"./circle-alert-zOqdmf25.js";import{t as o}from"./circle-check-VSiny8yl.js";import{t as s}from"./info-DsOyuMO9.js";import{t as c}from"./x-CkSVp1Ok.js";var l=e(t(),1),ee=e(n(),1);function u(e){if(!e||typeof document>`u`)return;let t=document.head||document.getElementsByTagName(`head`)[0],n=document.createElement(`style`);n.type=`text/css`,t.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}var te=e=>{switch(e){case`success`:return f;case`info`:return m;case`warning`:return p;case`error`:return h;default:return null}},d=Array(12).fill(0),ne=({visible:e,className:t})=>l.createElement(`div`,{className:[`sonner-loading-wrapper`,t].filter(Boolean).join(` `),"data-visible":e},l.createElement(`div`,{className:`sonner-spinner`},d.map((e,t)=>l.createElement(`div`,{className:`sonner-loading-bar`,key:`spinner-bar-${t}`})))),f=l.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`},l.createElement(`path`,{fillRule:`evenodd`,d:`M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z`,clipRule:`evenodd`})),p=l.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`currentColor`,height:`20`,width:`20`},l.createElement(`path`,{fillRule:`evenodd`,d:`M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z`,clipRule:`evenodd`})),m=l.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`},l.createElement(`path`,{fillRule:`evenodd`,d:`M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z`,clipRule:`evenodd`})),h=l.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`},l.createElement(`path`,{fillRule:`evenodd`,d:`M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z`,clipRule:`evenodd`})),g=l.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`},l.createElement(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`}),l.createElement(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`})),_=()=>{let[e,t]=l.useState(document.hidden);return l.useEffect(()=>{let e=()=>{t(document.hidden)};return document.addEventListener(`visibilitychange`,e),()=>window.removeEventListener(`visibilitychange`,e)},[]),e},v=1,y=new class{constructor(){this.subscribe=e=>(this.subscribers.push(e),()=>{let t=this.subscribers.indexOf(e);this.subscribers.splice(t,1)}),this.publish=e=>{this.subscribers.forEach(t=>t(e))},this.addToast=e=>{this.publish(e),this.toasts=[...this.toasts,e]},this.create=e=>{let{message:t,...n}=e,r=typeof e?.id==`number`||e.id?.length>0?e.id:v++,i=this.toasts.find(e=>e.id===r),a=e.dismissible===void 0?!0:e.dismissible;return this.dismissedToasts.has(r)&&this.dismissedToasts.delete(r),i?this.toasts=this.toasts.map(n=>n.id===r?(this.publish({...n,...e,id:r,title:t}),{...n,...e,id:r,dismissible:a,title:t}):n):this.addToast({title:t,...n,dismissible:a,id:r}),r},this.dismiss=e=>(e?(this.dismissedToasts.add(e),requestAnimationFrame(()=>this.subscribers.forEach(t=>t({id:e,dismiss:!0})))):this.toasts.forEach(e=>{this.subscribers.forEach(t=>t({id:e.id,dismiss:!0}))}),e),this.message=(e,t)=>this.create({...t,message:e}),this.error=(e,t)=>this.create({...t,message:e,type:`error`}),this.success=(e,t)=>this.create({...t,type:`success`,message:e}),this.info=(e,t)=>this.create({...t,type:`info`,message:e}),this.warning=(e,t)=>this.create({...t,type:`warning`,message:e}),this.loading=(e,t)=>this.create({...t,type:`loading`,message:e}),this.promise=(e,t)=>{if(!t)return;let n;t.loading!==void 0&&(n=this.create({...t,promise:e,type:`loading`,message:t.loading,description:typeof t.description==`function`?void 0:t.description}));let r=Promise.resolve(e instanceof Function?e():e),i=n!==void 0,a,o=r.then(async e=>{if(a=[`resolve`,e],l.isValidElement(e))i=!1,this.create({id:n,type:`default`,message:e});else if(x(e)&&!e.ok){i=!1;let r=typeof t.error==`function`?await t.error(`HTTP error! status: ${e.status}`):t.error,a=typeof t.description==`function`?await t.description(`HTTP error! status: ${e.status}`):t.description,o=typeof r==`object`&&!l.isValidElement(r)?r:{message:r};this.create({id:n,type:`error`,description:a,...o})}else if(e instanceof Error){i=!1;let r=typeof t.error==`function`?await t.error(e):t.error,a=typeof t.description==`function`?await t.description(e):t.description,o=typeof r==`object`&&!l.isValidElement(r)?r:{message:r};this.create({id:n,type:`error`,description:a,...o})}else if(t.success!==void 0){i=!1;let r=typeof t.success==`function`?await t.success(e):t.success,a=typeof t.description==`function`?await t.description(e):t.description,o=typeof r==`object`&&!l.isValidElement(r)?r:{message:r};this.create({id:n,type:`success`,description:a,...o})}}).catch(async e=>{if(a=[`reject`,e],t.error!==void 0){i=!1;let r=typeof t.error==`function`?await t.error(e):t.error,a=typeof t.description==`function`?await t.description(e):t.description,o=typeof r==`object`&&!l.isValidElement(r)?r:{message:r};this.create({id:n,type:`error`,description:a,...o})}}).finally(()=>{i&&(this.dismiss(n),n=void 0),t.finally==null||t.finally.call(t)}),s=()=>new Promise((e,t)=>o.then(()=>a[0]===`reject`?t(a[1]):e(a[1])).catch(t));return typeof n!=`string`&&typeof n!=`number`?{unwrap:s}:Object.assign(n,{unwrap:s})},this.custom=(e,t)=>{let n=t?.id||v++;return this.create({jsx:e(n),id:n,...t}),n},this.getActiveToasts=()=>this.toasts.filter(e=>!this.dismissedToasts.has(e.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}},b=(e,t)=>{let n=t?.id||v++;return y.addToast({title:e,...t,id:n}),n},x=e=>e&&typeof e==`object`&&`ok`in e&&typeof e.ok==`boolean`&&`status`in e&&typeof e.status==`number`,S=Object.assign(b,{success:y.success,info:y.info,warning:y.warning,error:y.error,custom:y.custom,message:y.message,promise:y.promise,dismiss:y.dismiss,loading:y.loading},{getHistory:()=>y.toasts,getToasts:()=>y.getActiveToasts()});u(`[data-sonner-toaster][dir=ltr],html[dir=ltr]{--toast-icon-margin-start:-3px;--toast-icon-margin-end:4px;--toast-svg-margin-start:-1px;--toast-svg-margin-end:0px;--toast-button-margin-start:auto;--toast-button-margin-end:0;--toast-close-button-start:0;--toast-close-button-end:unset;--toast-close-button-transform:translate(-35%, -35%)}[data-sonner-toaster][dir=rtl],html[dir=rtl]{--toast-icon-margin-start:4px;--toast-icon-margin-end:-3px;--toast-svg-margin-start:0px;--toast-svg-margin-end:-1px;--toast-button-margin-start:0;--toast-button-margin-end:auto;--toast-close-button-start:unset;--toast-close-button-end:0;--toast-close-button-transform:translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1:hsl(0, 0%, 99%);--gray2:hsl(0, 0%, 97.3%);--gray3:hsl(0, 0%, 95.1%);--gray4:hsl(0, 0%, 93%);--gray5:hsl(0, 0%, 90.9%);--gray6:hsl(0, 0%, 88.7%);--gray7:hsl(0, 0%, 85.8%);--gray8:hsl(0, 0%, 78%);--gray9:hsl(0, 0%, 56.1%);--gray10:hsl(0, 0%, 52.3%);--gray11:hsl(0, 0%, 43.5%);--gray12:hsl(0, 0%, 9%);--border-radius:8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:0;z-index:999999999;transition:transform .4s ease}@media (hover:none) and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translateX(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y:translateY(100%);--lift-amount:calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:0;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-y-position=top]{top:0;--y:translateY(-100%);--lift:1;--lift-amount:calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;font-weight:500;cursor:pointer;outline:0;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px rgba(0,0,0,.4)}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast][data-styled=true] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);background:var(--normal-bg);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]::before{content:'';position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]::before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]::before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]::before{content:'';position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]::after{content:'';position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y:translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale:var(--toasts-before) * 0.05 + 1;--y:translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y:translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y:translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]::before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y,0)) translateX(var(--swipe-amount-x,0));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width:600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:hsl(143, 85%, 96%);--success-border:hsl(145, 92%, 87%);--success-text:hsl(140, 100%, 27%);--info-bg:hsl(208, 100%, 97%);--info-border:hsl(221, 91%, 93%);--info-text:hsl(210, 92%, 45%);--warning-bg:hsl(49, 100%, 97%);--warning-border:hsl(49, 91%, 84%);--warning-text:hsl(31, 92%, 45%);--error-bg:hsl(359, 100%, 97%);--error-border:hsl(359, 100%, 94%);--error-text:hsl(360, 100%, 45%)}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg:#000;--normal-border:hsl(0, 0%, 20%);--normal-text:var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg:#000;--normal-bg-hover:hsl(0, 0%, 12%);--normal-border:hsl(0, 0%, 20%);--normal-border-hover:hsl(0, 0%, 25%);--normal-text:var(--gray1);--success-bg:hsl(150, 100%, 6%);--success-border:hsl(147, 100%, 12%);--success-text:hsl(150, 86%, 65%);--info-bg:hsl(215, 100%, 6%);--info-border:hsl(223, 43%, 17%);--info-text:hsl(216, 87%, 65%);--warning-bg:hsl(64, 100%, 6%);--warning-border:hsl(60, 100%, 9%);--warning-text:hsl(46, 87%, 65%);--error-bg:hsl(358, 76%, 10%);--error-border:hsl(357, 89%, 16%);--error-text:hsl(358, 100%, 81%)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size:16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:first-child{animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}100%{opacity:.15}}@media (prefers-reduced-motion){.sonner-loading-bar,[data-sonner-toast],[data-sonner-toast]>*{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}`);function C(e){return e.label!==void 0}var w=3,T=`24px`,E=`16px`,D=4e3,O=356,re=14,ie=45,k=200;function A(...e){return e.filter(Boolean).join(` `)}function j(e){let[t,n]=e.split(`-`),r=[];return t&&r.push(t),n&&r.push(n),r}var M=e=>{let{invert:t,toast:n,unstyled:r,interacting:i,setHeights:a,visibleToasts:o,heights:s,index:c,toasts:ee,expanded:u,removeToast:d,defaultRichColors:f,closeButton:p,style:m,cancelButtonStyle:h,actionButtonStyle:v,className:y=``,descriptionClassName:b=``,duration:x,position:S,gap:w,expandByDefault:T,classNames:E,icons:O,closeButtonAriaLabel:re=`Close toast`}=e,[M,N]=l.useState(null),[ae,P]=l.useState(null),[F,I]=l.useState(!1),[L,R]=l.useState(!1),[z,B]=l.useState(!1),[V,oe]=l.useState(!1),[se,ce]=l.useState(!1),[le,H]=l.useState(0),[ue,U]=l.useState(0),W=l.useRef(n.duration||x||D),de=l.useRef(null),G=l.useRef(null),fe=c===0,pe=c+1<=o,K=n.type,q=n.dismissible!==!1,me=n.className||``,he=n.descriptionClassName||``,J=l.useMemo(()=>s.findIndex(e=>e.toastId===n.id)||0,[s,n.id]),ge=l.useMemo(()=>n.closeButton??p,[n.closeButton,p]),_e=l.useMemo(()=>n.duration||x||D,[n.duration,x]),Y=l.useRef(0),X=l.useRef(0),ve=l.useRef(0),Z=l.useRef(null),[ye,be]=S.split(`-`),xe=l.useMemo(()=>s.reduce((e,t,n)=>n>=J?e:e+t.height,0),[s,J]),Se=_(),Ce=n.invert||t,Q=K===`loading`;X.current=l.useMemo(()=>J*w+xe,[J,xe]),l.useEffect(()=>{W.current=_e},[_e]),l.useEffect(()=>{I(!0)},[]),l.useEffect(()=>{let e=G.current;if(e){let t=e.getBoundingClientRect().height;return U(t),a(e=>[{toastId:n.id,height:t,position:n.position},...e]),()=>a(e=>e.filter(e=>e.toastId!==n.id))}},[a,n.id]),l.useLayoutEffect(()=>{if(!F)return;let e=G.current,t=e.style.height;e.style.height=`auto`;let r=e.getBoundingClientRect().height;e.style.height=t,U(r),a(e=>e.find(e=>e.toastId===n.id)?e.map(e=>e.toastId===n.id?{...e,height:r}:e):[{toastId:n.id,height:r,position:n.position},...e])},[F,n.title,n.description,a,n.id,n.jsx,n.action,n.cancel]);let $=l.useCallback(()=>{R(!0),H(X.current),a(e=>e.filter(e=>e.toastId!==n.id)),setTimeout(()=>{d(n)},k)},[n,d,a,X]);l.useEffect(()=>{if(n.promise&&K===`loading`||n.duration===1/0||n.type===`loading`)return;let e;return u||i||Se?(()=>{if(ve.current<Y.current){let e=new Date().getTime()-Y.current;W.current-=e}ve.current=new Date().getTime()})():W.current!==1/0&&(Y.current=new Date().getTime(),e=setTimeout(()=>{n.onAutoClose==null||n.onAutoClose.call(n,n),$()},W.current)),()=>clearTimeout(e)},[u,i,n,K,Se,$]),l.useEffect(()=>{n.delete&&($(),n.onDismiss==null||n.onDismiss.call(n,n))},[$,n.delete]);function we(){return O?.loading?l.createElement(`div`,{className:A(E?.loader,n?.classNames?.loader,`sonner-loader`),"data-visible":K===`loading`},O.loading):l.createElement(ne,{className:A(E?.loader,n?.classNames?.loader),visible:K===`loading`})}let Te=n.icon||O?.[K]||te(K);return l.createElement(`li`,{tabIndex:0,ref:G,className:A(y,me,E?.toast,n?.classNames?.toast,E?.default,E?.[K],n?.classNames?.[K]),"data-sonner-toast":``,"data-rich-colors":n.richColors??f,"data-styled":!(n.jsx||n.unstyled||r),"data-mounted":F,"data-promise":!!n.promise,"data-swiped":se,"data-removed":L,"data-visible":pe,"data-y-position":ye,"data-x-position":be,"data-index":c,"data-front":fe,"data-swiping":z,"data-dismissible":q,"data-type":K,"data-invert":Ce,"data-swipe-out":V,"data-swipe-direction":ae,"data-expanded":!!(u||T&&F),"data-testid":n.testId,style:{"--index":c,"--toasts-before":c,"--z-index":ee.length-c,"--offset":`${L?le:X.current}px`,"--initial-height":T?`auto`:`${ue}px`,...m,...n.style},onDragEnd:()=>{B(!1),N(null),Z.current=null},onPointerDown:e=>{e.button!==2&&(Q||!q||(de.current=new Date,H(X.current),e.target.setPointerCapture(e.pointerId),e.target.tagName!==`BUTTON`&&(B(!0),Z.current={x:e.clientX,y:e.clientY})))},onPointerUp:()=>{if(V||!q)return;Z.current=null;let e=Number(G.current?.style.getPropertyValue(`--swipe-amount-x`).replace(`px`,``)||0),t=Number(G.current?.style.getPropertyValue(`--swipe-amount-y`).replace(`px`,``)||0),r=new Date().getTime()-de.current?.getTime(),i=M===`x`?e:t,a=Math.abs(i)/r;if(Math.abs(i)>=ie||a>.11){H(X.current),n.onDismiss==null||n.onDismiss.call(n,n),P(M===`x`?e>0?`right`:`left`:t>0?`down`:`up`),$(),oe(!0);return}else{var o,s;(o=G.current)==null||o.style.setProperty(`--swipe-amount-x`,`0px`),(s=G.current)==null||s.style.setProperty(`--swipe-amount-y`,`0px`)}ce(!1),B(!1),N(null)},onPointerMove:t=>{var n,r;if(!Z.current||!q||window.getSelection()?.toString().length>0)return;let i=t.clientY-Z.current.y,a=t.clientX-Z.current.x,o=e.swipeDirections??j(S);!M&&(Math.abs(a)>1||Math.abs(i)>1)&&N(Math.abs(a)>Math.abs(i)?`x`:`y`);let s={x:0,y:0},c=e=>1/(1.5+Math.abs(e)/20);if(M===`y`){if(o.includes(`top`)||o.includes(`bottom`))if(o.includes(`top`)&&i<0||o.includes(`bottom`)&&i>0)s.y=i;else{let e=i*c(i);s.y=Math.abs(e)<Math.abs(i)?e:i}}else if(M===`x`&&(o.includes(`left`)||o.includes(`right`)))if(o.includes(`left`)&&a<0||o.includes(`right`)&&a>0)s.x=a;else{let e=a*c(a);s.x=Math.abs(e)<Math.abs(a)?e:a}(Math.abs(s.x)>0||Math.abs(s.y)>0)&&ce(!0),(n=G.current)==null||n.style.setProperty(`--swipe-amount-x`,`${s.x}px`),(r=G.current)==null||r.style.setProperty(`--swipe-amount-y`,`${s.y}px`)}},ge&&!n.jsx&&K!==`loading`?l.createElement(`button`,{"aria-label":re,"data-disabled":Q,"data-close-button":!0,onClick:Q||!q?()=>{}:()=>{$(),n.onDismiss==null||n.onDismiss.call(n,n)},className:A(E?.closeButton,n?.classNames?.closeButton)},O?.close??g):null,(K||n.icon||n.promise)&&n.icon!==null&&(O?.[K]!==null||n.icon)?l.createElement(`div`,{"data-icon":``,className:A(E?.icon,n?.classNames?.icon)},n.promise||n.type===`loading`&&!n.icon?n.icon||we():null,n.type===`loading`?null:Te):null,l.createElement(`div`,{"data-content":``,className:A(E?.content,n?.classNames?.content)},l.createElement(`div`,{"data-title":``,className:A(E?.title,n?.classNames?.title)},n.jsx?n.jsx:typeof n.title==`function`?n.title():n.title),n.description?l.createElement(`div`,{"data-description":``,className:A(b,he,E?.description,n?.classNames?.description)},typeof n.description==`function`?n.description():n.description):null),l.isValidElement(n.cancel)?n.cancel:n.cancel&&C(n.cancel)?l.createElement(`button`,{"data-button":!0,"data-cancel":!0,style:n.cancelButtonStyle||h,onClick:e=>{C(n.cancel)&&q&&(n.cancel.onClick==null||n.cancel.onClick.call(n.cancel,e),$())},className:A(E?.cancelButton,n?.classNames?.cancelButton)},n.cancel.label):null,l.isValidElement(n.action)?n.action:n.action&&C(n.action)?l.createElement(`button`,{"data-button":!0,"data-action":!0,style:n.actionButtonStyle||v,onClick:e=>{C(n.action)&&(n.action.onClick==null||n.action.onClick.call(n.action,e),!e.defaultPrevented&&$())},className:A(E?.actionButton,n?.classNames?.actionButton)},n.action.label):null)};function N(){if(typeof window>`u`||typeof document>`u`)return`ltr`;let e=document.documentElement.getAttribute(`dir`);return e===`auto`||!e?window.getComputedStyle(document.documentElement).direction:e}function ae(e,t){let n={};return[e,t].forEach((e,t)=>{let r=t===1,i=r?`--mobile-offset`:`--offset`,a=r?E:T;function o(e){[`top`,`right`,`bottom`,`left`].forEach(t=>{n[`${i}-${t}`]=typeof e==`number`?`${e}px`:e})}typeof e==`number`||typeof e==`string`?o(e):typeof e==`object`?[`top`,`right`,`bottom`,`left`].forEach(t=>{e[t]===void 0?n[`${i}-${t}`]=a:n[`${i}-${t}`]=typeof e[t]==`number`?`${e[t]}px`:e[t]}):o(a)}),n}var P=l.forwardRef(function(e,t){let{id:n,invert:r,position:i=`bottom-right`,hotkey:a=[`altKey`,`KeyT`],expand:o,closeButton:s,className:c,offset:u,mobileOffset:te,theme:d=`light`,richColors:ne,duration:f,style:p,visibleToasts:m=w,toastOptions:h,dir:g=N(),gap:_=re,icons:v,containerAriaLabel:b=`Notifications`}=e,[x,S]=l.useState([]),C=l.useMemo(()=>n?x.filter(e=>e.toasterId===n):x.filter(e=>!e.toasterId),[x,n]),T=l.useMemo(()=>Array.from(new Set([i].concat(C.filter(e=>e.position).map(e=>e.position)))),[C,i]),[E,D]=l.useState([]),[ie,k]=l.useState(!1),[A,j]=l.useState(!1),[P,F]=l.useState(d===`system`?typeof window<`u`&&window.matchMedia&&window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`:d),I=l.useRef(null),L=a.join(`+`).replace(/Key/g,``).replace(/Digit/g,``),R=l.useRef(null),z=l.useRef(!1),B=l.useCallback(e=>{S(t=>(t.find(t=>t.id===e.id)?.delete||y.dismiss(e.id),t.filter(({id:t})=>t!==e.id)))},[]);return l.useEffect(()=>y.subscribe(e=>{if(e.dismiss){requestAnimationFrame(()=>{S(t=>t.map(t=>t.id===e.id?{...t,delete:!0}:t))});return}setTimeout(()=>{ee.flushSync(()=>{S(t=>{let n=t.findIndex(t=>t.id===e.id);return n===-1?[e,...t]:[...t.slice(0,n),{...t[n],...e},...t.slice(n+1)]})})})}),[x]),l.useEffect(()=>{if(d!==`system`){F(d);return}if(d===`system`&&(window.matchMedia&&window.matchMedia(`(prefers-color-scheme: dark)`).matches?F(`dark`):F(`light`)),typeof window>`u`)return;let e=window.matchMedia(`(prefers-color-scheme: dark)`);try{e.addEventListener(`change`,({matches:e})=>{F(e?`dark`:`light`)})}catch{e.addListener(({matches:e})=>{try{F(e?`dark`:`light`)}catch(e){console.error(e)}})}},[d]),l.useEffect(()=>{x.length<=1&&k(!1)},[x]),l.useEffect(()=>{let e=e=>{if(a.every(t=>e[t]||e.code===t)){var t;k(!0),(t=I.current)==null||t.focus()}e.code===`Escape`&&(document.activeElement===I.current||I.current?.contains(document.activeElement))&&k(!1)};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[a]),l.useEffect(()=>{if(I.current)return()=>{R.current&&(R.current.focus({preventScroll:!0}),R.current=null,z.current=!1)}},[I.current]),l.createElement(`section`,{ref:t,"aria-label":`${b} ${L}`,tabIndex:-1,"aria-live":`polite`,"aria-relevant":`additions text`,"aria-atomic":`false`,suppressHydrationWarning:!0},T.map((t,n)=>{let[i,a]=t.split(`-`);return C.length?l.createElement(`ol`,{key:t,dir:g===`auto`?N():g,tabIndex:-1,ref:I,className:c,"data-sonner-toaster":!0,"data-sonner-theme":P,"data-y-position":i,"data-x-position":a,style:{"--front-toast-height":`${E[0]?.height||0}px`,"--width":`${O}px`,"--gap":`${_}px`,...p,...ae(u,te)},onBlur:e=>{z.current&&!e.currentTarget.contains(e.relatedTarget)&&(z.current=!1,R.current&&=(R.current.focus({preventScroll:!0}),null))},onFocus:e=>{e.target instanceof HTMLElement&&e.target.dataset.dismissible===`false`||z.current||(z.current=!0,R.current=e.relatedTarget)},onMouseEnter:()=>k(!0),onMouseMove:()=>k(!0),onMouseLeave:()=>{A||k(!1)},onDragEnd:()=>k(!1),onPointerDown:e=>{e.target instanceof HTMLElement&&e.target.dataset.dismissible===`false`||j(!0)},onPointerUp:()=>j(!1)},C.filter(e=>!e.position&&n===0||e.position===t).map((n,i)=>l.createElement(M,{key:n.id,icons:v,index:i,toast:n,defaultRichColors:ne,duration:h?.duration??f,className:h?.className,descriptionClassName:h?.descriptionClassName,invert:r,visibleToasts:m,closeButton:h?.closeButton??s,interacting:A,position:t,style:h?.style,unstyled:h?.unstyled,classNames:h?.classNames,cancelButtonStyle:h?.cancelButtonStyle,actionButtonStyle:h?.actionButtonStyle,closeButtonAriaLabel:h?.closeButtonAriaLabel,removeToast:B,toasts:C.filter(e=>e.position==n.position),heights:E.filter(e=>e.position==n.position),setHeights:D,expandByDefault:o,gap:_,expanded:ie,swipeDirections:e.swipeDirections}))):null}))}),F=r(),I=new Set([`error`,`warning`]);function L(e,t){let n=t===`strong`;switch(e){case`success`:return n?{container:`bg-[var(--system-positive-strong)] border-transparent text-white`,iconElement:(0,F.jsx)(o,{className:`h-4 w-4`})}:{container:`bg-[var(--system-positive-weak)] border-transparent text-[var(--system-positive-strong)]`,iconElement:(0,F.jsx)(o,{className:`h-4 w-4`})};case`error`:return n?{container:`bg-[var(--system-negative-strong)] border-transparent text-white`,iconElement:(0,F.jsx)(a,{className:`h-4 w-4`})}:{container:`bg-[var(--system-negative-weak)] border-transparent text-[var(--system-negative-strong)]`,iconElement:(0,F.jsx)(a,{className:`h-4 w-4`})};case`warning`:return n?{container:`bg-[var(--system-mid-strong)] border-transparent text-white`,iconElement:(0,F.jsx)(s,{className:`h-4 w-4`})}:{container:`bg-[var(--system-mid-weak)] border-transparent text-[var(--system-mid-strong)]`,iconElement:(0,F.jsx)(s,{className:`h-4 w-4`})};case`info`:return n?{container:`bg-[var(--content-secondary)] border-transparent text-white`,iconElement:(0,F.jsx)(s,{className:`h-4 w-4`})}:{container:`bg-[var(--surface-overlay)] border-transparent text-[var(--content-default)]`,iconElement:(0,F.jsx)(s,{className:`h-4 w-4`})};default:return{container:`bg-[var(--surface-lift)] border-transparent text-[var(--content-default)]`,iconElement:null}}}function R({message:e,variant:t=`default`,tone:n=`weak`,options:r,onDismiss:a}){let o=L(t,n);return(0,F.jsxs)(`div`,{role:I.has(t)?`alert`:`status`,"data-slot":`toast`,className:i(`flex w-full max-h-[300px] items-start gap-3 rounded-lg border p-3 shadow-lg`,o.container),children:[o.iconElement?(0,F.jsx)(`span`,{className:`mt-0.5 shrink-0`,children:o.iconElement}):null,(0,F.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-1`,children:[(0,F.jsx)(`p`,{className:`text-body-medium-default`,children:e}),r?.description?(0,F.jsx)(`p`,{className:`text-body-small-default opacity-70`,children:r.description}):null,r?.action?(0,F.jsx)(`button`,{type:`button`,onClick:()=>{r.action?.onClick(),a()},className:`mt-1.5 cursor-pointer bg-transparent text-body-small-default underline underline-offset-2 hover:no-underline`,children:r.action.label}):null]}),(0,F.jsx)(`button`,{type:`button`,onClick:a,"aria-label":`Close`,className:`shrink-0 cursor-pointer rounded bg-transparent p-0.5 opacity-50 transition-opacity hover:opacity-100`,children:(0,F.jsx)(c,{className:`h-3.5 w-3.5`,strokeWidth:2})})]})}var z=0;function B(){return`toast-${++z}`}function V(e,t=`default`,n){let r=n?.id??B(),i=n?.tone??`weak`;return S.custom(()=>(0,F.jsx)(R,{message:e,variant:t,tone:i,options:n,onDismiss:()=>S.dismiss(r)}),{duration:n?.duration,id:r})}var oe=Object.assign((e,t)=>V(e,`default`,t),{info:(e,t)=>V(e,`info`,t),warning:(e,t)=>V(e,`warning`,t),error:(e,t)=>V(e,`error`,t),success:(e,t)=>V(e,`success`,t),custom:(e,t)=>S.custom(e,{...t,id:t?.id??B()}),dismiss:e=>S.dismiss(e)});function se(){return(0,F.jsx)(`div`,{"data-slot":`toaster`,children:(0,F.jsx)(P,{position:`bottom-center`,offset:`24px`,mobileOffset:{left:0,right:0,bottom:`calc(24px + var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px)))`},toastOptions:{unstyled:!0,style:{width:`356px`,maxWidth:`calc(100vw - 32px)`,marginInline:`auto`}}})})}export{oe as n,se as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./jsx-runtime-CVSDxk6A.js";import{t as r}from"./cn-C36Yvcac.js";import{t as i}from"./typography-D5f7kt80.js";var a=e(t(),1),o=n();function s(e,t,n){t||n(!e)}function c({checked:e,onChange:t,label:n,helperText:c,disabled:l=!1,id:u,"aria-label":d,className:f}){let p=(0,a.useId)(),m=u??p,h=n?`${m}-label`:void 0,g=c?`${m}-helper`:void 0,_=()=>s(e,l,t),v=r(`relative inline-flex h-6 w-9 shrink-0 items-center rounded-full transition-colors`,`keyboard-focus:outline-none keyboard-focus:ring-2 keyboard-focus:ring-[var(--ring)] keyboard-focus:ring-offset-2`,l?`cursor-not-allowed bg-[var(--primary-disabled)]`:e?`cursor-pointer bg-[var(--system-positive-strong)]`:`cursor-pointer bg-[var(--surface-active)]`),y=r(`absolute top-0.5 inline-block h-5 w-5 rounded-full shadow transition-transform`,l?`bg-[var(--content-disabled)]`:`bg-[var(--aux-white)]`,e?`left-0.5 translate-x-3`:`left-0.5 translate-x-0`),b=(0,o.jsx)(`button`,{type:`button`,role:`switch`,id:m,"aria-checked":e,"aria-label":n?void 0:d,"aria-labelledby":n?h:void 0,"aria-describedby":g,disabled:l,onClick:_,"data-slot":`toggle`,className:v,children:(0,o.jsx)(`span`,{className:y})});return!n&&!c?(0,o.jsx)(`span`,{"data-slot":`toggle`,className:f,children:b}):(0,o.jsxs)(`div`,{"data-slot":`toggle`,className:r(`flex gap-2.5`,c?`items-start`:`items-center`,f),children:[b,(0,o.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-0.5`,children:[n?(0,o.jsx)(i,{as:`label`,variant:`body-medium-default`,id:h,htmlFor:m,className:r(l?`cursor-not-allowed text-[var(--content-disabled)]`:`cursor-pointer text-[var(--content-default)]`),children:n}):null,c?(0,o.jsx)(`span`,{id:g,className:`text-body-small-default text-[var(--content-tertiary)]`,children:c}):null]})]})}export{c as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{c as t,i as n,s as r}from"./local-settings-lVNyIOJ_.js";import{t as i}from"./react-DJZBPgpf.js";var a=e(i(),1);function o(e){if(typeof window>`u`)return null;try{return localStorage.getItem(e)}catch{return null}}function s(e){let{key:i,scope:s,parse:c,serialize:l,fallback:u}=e,d,f=u;function p(){let e=o(i);if(e===d)return f;if(d=e,e===null)return f=u,u;try{let t=c(e);f=t===null?u:t}catch{f=u}return f}function m(e){r(i,l(e))}function h(){n(i)}function g(e){return t(i,e)}function _(){return p()}function v(){return u}function y(){return(0,a.useSyncExternalStore)(g,_,v)}return{load:p,save:m,remove:h,key:i,scope:s,useValue:y}}function c(e){let{keyFn:t,scope:i,parse:a,serialize:s,fallback:c}=e;function l(e){let n=o(t(e));if(n===null)return c;try{let e=a(n);return e===null?c:e}catch{return c}}function u(e,n){r(t(e),s(n))}function d(e){n(t(e))}return{load:l,save:u,remove:d,keyFn:t,scope:i}}function l(e){let{keyFn:t,scope:i,parseValue:a,fallback:s,maxEntries:c}=e;function l(e){try{let t=JSON.parse(e);if(!t||typeof t!=`object`||Array.isArray(t))return null;let n={};for(let[e,r]of Object.entries(t)){let t=a(r);t!==null&&(n[e]=t)}return n}catch{return null}}function u(e){let n=o(t(e));return n===null?{...s}:l(n)??{...s}}function d(e,t){return u(e)[t]}function f(e,n,i){let a=u(e);if(a[n]=i,c!==void 0){let n=Object.entries(a);if(n.length>c){let i=n.slice(n.length-c),a={};for(let[e,t]of i)a[e]=t;r(t(e),JSON.stringify(a));return}}r(t(e),JSON.stringify(a))}function p(e,n){let i=u(e);delete i[n],r(t(e),JSON.stringify(i))}function m(e){n(t(e))}return{load:u,get:d,set:f,deleteEntry:p,remove:m,keyFn:t,scope:i}}export{l as n,s as r,c as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./cn-C36Yvcac.js";var r=e(t(),1),i={"title-large":`text-title-large`,"title-medium":`text-title-medium`,"title-small":`text-title-small`,"body-large-lighter":`text-body-large-lighter`,"body-large-default":`text-body-large-default`,"body-medium-lighter":`text-body-medium-lighter`,"body-medium-default":`text-body-medium-default`,"body-small-default":`text-body-small-default`,"body-small-emphasised":`text-body-small-emphasised`,"label-medium-default":`text-label-medium-default`,"label-small-default":`text-label-small-default`,chat:`text-chat`};function a({variant:e,as:t=`span`,className:a,children:o,ref:s,...c}){return(0,r.createElement)(t,{...c,ref:s,"data-slot":`typography`,className:n(i[e],a)},o)}export{a as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./button-amTXFI-2.js";import{d as r,h as i}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as a}from"./useQuery-B45lW1Kk.js";import{t as o}from"./jsx-runtime-CVSDxk6A.js";import{t as s}from"./sparkles-PGiR5v1g.js";import{t as c}from"./triangle-alert-Z0Gq0IuB.js";import"./src-DZbMXyC2.js";import{t as l}from"./dropdown-ByHOpeOU.js";import{Cr as u}from"./sdk.gen-CFgJ4K6f.js";import{Ft as d,It as f,Lt as ee,Rt as te,c as ne,d as re,ht as ie}from"./react-query.gen-LsPzqPq6.js";import{t as p}from"./api-errors-CrWDzVca.js";import{Cr as m,Ln as ae}from"./index-B4Qq7TL7.js";import{t as h}from"./use-active-assistant-id-CGeH4Gl6.js";import{i as g,o as _,r as v}from"./llm-dimension-Tz2Fx8qB.js";import{n as y}from"./usage-window-CCdJWJ0U.js";import{n as oe,t as se}from"./schedules-Dz6392n3.js";var b=e(t(),1);function ce(e){if(!e)return{};let t={};for(let n of e.callSites)!n.id||!n.displayName||(t[n.id]={id:n.id,displayName:n.displayName,description:n.description,domain:n.domain});return t}function x(e){return Number.isFinite(e)?Math.round(e).toLocaleString():`0`}function S(e){return!Number.isFinite(e)||e===0?`$0.00`:`$${e.toFixed(2)}`}function C(e,t,n){if(e===`task`){let e=t.groupKey;return e?n.callSites?.[e]?.displayName??t.group:t.group}if(e===`profile`){let e=t.groupKey;return e?n.profiles?.[e]?.displayName??t.group:t.group||`Default / Unset`}return t.group}function le(e,t,n){return!e||e.length===0?[]:e.map(e=>{let r=C(t,e,n);return r===e.group?e:{...e,group:r}})}var w=6,T=`value:`,E=`null:`;function D(e,t=`schedule`){return e===null?`${E}${g(t)?_(t):t}`:`${T}${e}`}function O(e){return[...e].sort((e,t)=>{if(e.date!==t.date)return e.date<t.date?-1:1;let n=j(e.bucketId),r=j(t.bucketId);return n===r?e.bucketId===t.bucketId?0:e.bucketId<t.bucketId?-1:1:n-r})}function ue(e){return e.map(e=>({bucketId:e.bucketId,date:e.date,displayLabel:e.displayLabel,totalInputTokens:e.totalInputTokens,totalOutputTokens:e.totalOutputTokens,totalEstimatedCostUsd:e.totalEstimatedCostUsd,eventCount:e.eventCount,groups:{}}))}function de(e,t,n){return t!==`task`&&t!==`profile`?[...e]:e.map(e=>{let r=!1,i={};for(let[a,o]of Object.entries(e.groups)){let e=C(t,A(o),n);e===o.group?i[a]=o:(r=!0,i[a]={...o,group:e})}return r?{...e,groups:i}:e})}function k(e){let t=new Map;for(let n of e)for(let[e,r]of Object.entries(n.groups)){let n=t.get(e);t.set(e,{label:n?.label??r.group,totalEstimatedCostUsd:(n?.totalEstimatedCostUsd??0)+r.totalEstimatedCostUsd})}let n=Array.from(t.entries()).sort(([e,t],[n,r])=>t.totalEstimatedCostUsd===r.totalEstimatedCostUsd?t.label===r.label?e===n?0:e<n?-1:1:t.label<r.label?-1:1:r.totalEstimatedCostUsd-t.totalEstimatedCostUsd).map(([e,t],n)=>({seriesKey:e,label:t.label,totalEstimatedCostUsd:t.totalEstimatedCostUsd,colorIndex:n}));return{items:n,visibleItems:n.slice(0,w)}}function A(e){return{group:e.group,groupId:e.groupKey,groupKey:e.groupKey,totalInputTokens:e.totalInputTokens,totalOutputTokens:e.totalOutputTokens,totalCacheCreationTokens:0,totalCacheReadTokens:0,totalEstimatedCostUsd:e.totalEstimatedCostUsd,eventCount:e.eventCount,turnCount:null}}function j(e){let t=e.lastIndexOf(`|`);if(t<0)return 0;let n=Number(e.slice(t+1));return Number.isFinite(n)?n:0}var M=o(),N=140,P=40,F=28,fe=2,pe=2,me=1e-6,I=12,he=220,ge=56,_e=[40,80,60,100,50,70,30],ve=[18,24,28,35,42,50,64,78,92,106,118,96,84,74,68,80,88,72,56,48,40,34,26,20],L=[`var(--usage-trend-stack-positive, var(--system-positive-strong, #10b981))`,`var(--usage-trend-stack-info, var(--system-info-strong, #3b82f6))`,`var(--usage-trend-stack-mid, var(--system-mid-strong, #f59e0b))`,`var(--usage-trend-stack-secondary, var(--content-secondary, #6b7280))`,`var(--usage-trend-stack-negative, var(--system-negative-strong, #f87171))`,`var(--usage-trend-stack-tertiary, var(--content-tertiary, #9ca3af))`];function R(e){return L[e%L.length]}function z(e){return e.displayLabel?e.displayLabel:e.date}function ye(e,t){let n=e+I,r=t+I;return n+he>window.innerWidth&&(n=e-he-I),r+ge>window.innerHeight&&(r=t-ge-I),{x:n,y:r}}function be({buckets:e,isHourly:t,legendItems:n}){let[r,i]=(0,b.useState)(null),a=(0,b.useMemo)(()=>O(e),[e]),o=(0,b.useMemo)(()=>k(e),[e]),s=n??o.items,c=n??o.visibleItems,l=(0,b.useMemo)(()=>a.reduce((e,t)=>Math.max(e,t.totalEstimatedCostUsd),0),[a]),u=(0,b.useCallback)((e,t)=>{let n=ye(e.clientX,e.clientY);i({...t,x:n.x,y:n.y})},[]),d=(0,b.useCallback)(()=>i(null),[]);if(a.length===0){let e=(0,M.jsx)(we,{title:t?`No hourly data`:`No daily data`,subtitle:`No usage recorded in this time range`});return c.length===0?e:(0,M.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[e,(0,M.jsx)(B,{items:c})]})}let f=t?F:P;return(0,M.jsxs)(`div`,{className:`overflow-x-auto`,children:[(0,M.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,M.jsx)(`div`,{className:`flex items-end gap-2`,style:{height:`${N}px`},"aria-hidden":`true`,children:a.map(e=>{let t=l>0?e.totalEstimatedCostUsd/l:0,r=Math.max(fe,N*t);return(0,M.jsx)(`div`,{className:`flex items-end`,style:{width:`${f}px`,minWidth:`${f}px`,height:`${r}px`,opacity:e.totalEstimatedCostUsd>0?1:.3},title:`${z(e)}: ${S(e.totalEstimatedCostUsd)}`,"data-usage-series-bar":e.bucketId,children:(0,M.jsx)(Se,{bucket:e,height:r,legendItems:s,hasLegendOverride:n!=null,onSegmentHover:u,onSegmentLeave:d})},e.bucketId)})}),(0,M.jsx)(`div`,{className:`flex items-start gap-2`,children:a.map(e=>(0,M.jsxs)(`div`,{className:`flex flex-col items-center gap-0.5`,style:{width:`${f}px`,minWidth:`${f}px`},children:[(0,M.jsx)(`span`,{className:`truncate text-[10px]`,style:{color:`var(--content-secondary)`},children:S(e.totalEstimatedCostUsd)}),(0,M.jsx)(`span`,{className:`truncate text-[10px]`,style:{color:`var(--content-tertiary)`},children:z(e)})]},e.bucketId))}),c.length>0?(0,M.jsx)(B,{items:c}):null]}),r?(0,M.jsx)(Ce,{tooltip:r}):null]})}function xe({isHourly:e}){let t=e?ve:_e,n=e?F:P;return(0,M.jsx)(`div`,{className:`flex items-end gap-2`,style:{height:`${N}px`},"aria-hidden":`true`,children:t.map((e,t)=>(0,M.jsx)(`div`,{className:`rounded-sm`,style:{width:`${n}px`,height:`${e}px`,background:`color-mix(in srgb, var(--border-base) 40%, transparent)`}},t))})}function Se({bucket:e,height:t,legendItems:n,hasLegendOverride:r,onSegmentHover:i,onSegmentLeave:a}){let o=Object.keys(e.groups).length>0,s=n.filter(e=>(e.state??`active`)===`active`).flatMap(t=>{let n=e.groups[t.seriesKey];return!n||n.totalEstimatedCostUsd<=0?[]:[{item:t,value:n}]});if(s.length===0&&!o&&!r){let n={label:`Total`,bucketLabel:z(e),cost:S(e.totalEstimatedCostUsd)};return(0,M.jsx)(`div`,{className:`w-full rounded-sm`,title:`${n.label}: ${n.cost}`,onMouseEnter:e=>i(e,n),onMouseMove:e=>i(e,n),onMouseLeave:a,style:{height:`${t}px`,background:R(0)},"data-usage-series-segment-label":n.label,"data-usage-fallback-segment":`true`})}return s.length===0?null:(0,M.jsx)(`div`,{className:`flex w-full flex-col-reverse overflow-hidden rounded-sm`,style:{height:`${t}px`},"data-usage-series-stack":e.bucketId,children:s.map(({item:n,value:r})=>{let o={label:n.label,bucketLabel:z(e),cost:S(r.totalEstimatedCostUsd)};return(0,M.jsx)(`div`,{title:`${o.label}: ${o.cost}`,onMouseEnter:e=>i(e,o),onMouseMove:e=>i(e,o),onMouseLeave:a,style:{height:`${Math.max(pe,t*r.totalEstimatedCostUsd/Math.max(e.totalEstimatedCostUsd,me))}px`,background:R(n.colorIndex)},"data-usage-series-segment":n.seriesKey,"data-usage-series-segment-label":n.label,"data-usage-series-color-index":n.colorIndex},n.seriesKey)})})}function Ce({tooltip:e}){return(0,M.jsxs)(`div`,{className:`pointer-events-none fixed z-50 max-w-[220px] rounded-md border px-2 py-1 shadow-xl`,style:{left:`${e.x}px`,top:`${e.y}px`,background:`var(--surface-overlay, var(--surface-lift))`,borderColor:`var(--border-base)`},"aria-hidden":`true`,children:[(0,M.jsx)(`div`,{className:`truncate text-body-small-default`,style:{color:`var(--content-default)`},children:e.label}),(0,M.jsxs)(`div`,{className:`truncate text-body-small-default`,style:{color:`var(--content-tertiary)`},children:[e.bucketLabel,` · `,e.cost]})]})}function B({items:e}){return(0,M.jsx)(`div`,{className:`flex flex-wrap items-center gap-x-3 gap-y-1 pt-1`,children:e.map(e=>{let t=e.state??`active`,n=t===`inactive`;return(0,M.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1`,"data-usage-legend-state":t,children:[(0,M.jsx)(`span`,{className:`h-[7px] w-[7px] shrink-0 rounded-full`,style:{background:n?`var(--content-tertiary)`:R(e.colorIndex),opacity:n?.45:1},"aria-hidden":`true`,"data-usage-series-color-index":e.colorIndex}),(0,M.jsx)(`span`,{className:n?`truncate text-[10px] line-through`:`truncate text-[10px]`,style:{color:`var(--content-tertiary)`,opacity:n?.65:1},children:e.label})]},e.seriesKey)})})}function we({title:e,subtitle:t}){return(0,M.jsxs)(`div`,{className:`flex flex-col items-center justify-center rounded-md py-12 text-center`,style:{color:`var(--content-tertiary)`},children:[(0,M.jsx)(`p`,{className:`text-body-medium-default`,style:{color:`var(--content-secondary)`},children:e}),(0,M.jsx)(`p`,{className:`mt-1 text-body-small-default`,children:t})]})}function V(e){return g(e)?_(e):e}function Te(e){return U({from:e.from,to:e.to},e.scheduleId)}function Ee(e){return U({from:e.from,to:e.to,...e.granularity?{granularity:e.granularity}:{},...e.tz?{tz:e.tz}:{}},e.scheduleId)}function H(e){return U({from:e.from,to:e.to,groupBy:V(e.groupBy)},e.scheduleId)}function De(e){return U({from:e.from,to:e.to,granularity:e.granularity,groupBy:V(e.groupBy),...e.tz?{tz:e.tz}:{}},e.scheduleId)}function U(e,t){return t?{...e,scheduleId:t}:e}function Oe(e){return[`${x(e.totalInputTokens)} direct`,`${x(e.totalCacheCreationTokens)} cache created`,`${x(e.totalCacheReadTokens)} cache read`,`${x(e.totalOutputTokens)} out`].join(` / `)}function ke(e){return!Number.isFinite(e)||e===0?`0`:e>=1e6||e>=999950&&e<1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:e.toLocaleString()}function Ae(e){return`${ke(e.totalInputTokens+e.totalCacheCreationTokens+e.totalCacheReadTokens)} in / ${ke(e.totalOutputTokens)} out`}var je=`task`,W=`model`,Me=new Set([400,404,422]),Ne=3,Pe=new Set([`today`,`yesterday`,`7d`,`30d`,`90d`,`all`]),Fe=new Set([`actor`,`provider`,`model`,`conversation`,`task`,`profile`,`schedule`]),G={task:v.task,profile:v.profile,model:v.model,provider:`Provider`,actor:`Actor`,conversation:`Conversation`,schedule:`Schedule`},Ie=[{value:`task`,label:G.task},{value:`profile`,label:G.profile},{value:`model`,label:G.model},{value:`provider`,label:G.provider},{value:`schedule`,label:G.schedule},{value:`conversation`,label:G.conversation}];function Le(e){let t=e.get(`range`),n=e.get(`groupBy`),r=Ve(n)?n:je;return{range:Be(t)?t:`7d`,groupBy:r,scheduleId:r===`schedule`?Re(e):void 0}}function Re(e){let t=e.get(`scheduleId`);if(!(!t||t.trim().length===0))return t}function ze(e,t){let n=new URLSearchParams(e);return t.range!==void 0&&n.set(`range`,t.range),t.groupBy!==void 0&&n.set(`groupBy`,t.groupBy),t.scheduleId!==void 0&&(t.scheduleId===null||t.scheduleId.trim().length===0?n.delete(`scheduleId`):n.set(`scheduleId`,t.scheduleId)),n.get(`groupBy`)!==`schedule`&&n.delete(`scheduleId`),n}function Be(e){return e!=null&&Pe.has(e)}function Ve(e){return e!=null&&Fe.has(e)}function He(e){return e!==`conversation`}function Ue(e,t){return e!==`task`&&e!==`profile`?!1:q(t)}function K(e,t){return!q(t)&&e<Ne}function q(e){return e instanceof p&&Me.has(e.status)}function We(e,t){let n=e===`hourly`?`Hourly Trend`:`Daily Trend`;return!t||t===`conversation`?n:`${n} by ${G[t]}`}function Ge({requestedGranularity:e,isLoading:t,buckets:n}){return e===`hourly`&&(t||!n||n.length===0||n.some(Ke))?`hourly`:`daily`}function Ke(e){return e.bucketId.includes(`|`)||qe(e.date)}function qe(e){return/^\d{4}-\d{2}-\d{2} ([01]\d|2[0-3]):00$/.test(e)}function Je(e,t,n=Date.now()){return y(e,t,n)}function Ye(e){return e===`today`||e===`yesterday`?`hourly`:`daily`}function J({prompt:e,children:t,variant:i=`outlined`,size:a=`regular`,className:o}){let c=r(),l=(0,b.useCallback)(()=>{m(c,{prompt:e})},[c,e]);return(0,M.jsx)(n,{variant:i,size:a,leftIcon:(0,M.jsx)(s,{}),onClick:l,className:o,children:t})}var Xe=[{value:`today`,label:`Today`},{value:`yesterday`,label:`Yesterday`},{value:`7d`,label:`Last 7 days`},{value:`30d`,label:`Last 30 days`},{value:`90d`,label:`Last 90 days`},{value:`all`,label:`All time`}],Ze=300*1e3,Qe=[`Please load the llm-cost-optimizer skill.`,`Analyze my recent LLM usage and explain the biggest cost contributors by call site, model, and profile.`,`Check my current llm.default, llm.callSites, and llm.profiles.`,`Give me a concise summary of what is driving cost and what you would optimize first.`,`Do not change config yet.`].join(` `),$e=[`Please load the llm-cost-optimizer skill.`,`Analyze my recent LLM usage and current LLM config, then recommend the safest cost-optimization changes.`,`If changes are clearly safe, show me the exact config commands you would run and ask for confirmation before applying them.`].join(` `);function et({assistantId:e}){let[t,n]=i(),{range:r,groupBy:o,scheduleId:s}=(0,b.useMemo)(()=>Le(t),[t]),c=ae(),l=(0,b.useCallback)(e=>{n(t=>ze(t,e),{replace:!0})},[n]),p=(0,b.useMemo)(()=>Je(r,c),[r,c]),m=(0,b.useMemo)(()=>Ye(r),[r]),h=a({queryKey:ie({path:{assistant_id:e}}),queryFn:()=>se(e),staleTime:1e4}),g=(0,b.useCallback)(e=>{l({range:e})},[l]),_=a({...te({path:{assistant_id:e},query:Te({from:p.from,to:p.to,scheduleId:s})})}),v=a({queryKey:d({path:{assistant_id:e},query:H({from:p.from,to:p.to,groupBy:o,scheduleId:s})}),queryFn:async({signal:t})=>{try{let{data:n}=await u({path:{assistant_id:e},query:H({from:p.from,to:p.to,groupBy:o,scheduleId:s}),signal:t,throwOnError:!0});return{groupBy:o,response:n}}catch(n){if(!Ue(o,n))throw n;let{data:r}=await u({path:{assistant_id:e},query:H({from:p.from,to:p.to,groupBy:W,scheduleId:s}),signal:t,throwOnError:!0});return{groupBy:W,response:r}}},retry:K}),y=v.data?.groupBy??o,x=He(y)?y:void 0,S=a({...ee({path:{assistant_id:e},query:De({from:p.from,to:p.to,granularity:m,groupBy:x??`actor`,tz:c,scheduleId:s})}),enabled:!!x,retry:K}),C=a({...f({path:{assistant_id:e},query:Ee({from:p.from,to:p.to,granularity:m,tz:c,scheduleId:s})}),enabled:!x||S.isError}),w=a({...re({path:{assistant_id:e}}),enabled:y===`task`,staleTime:1/0}),T=a({...ne({path:{assistant_id:e}}),select:oe,enabled:y===`profile`,staleTime:Ze}),E=(0,b.useMemo)(()=>({callSites:ce(w.data),profiles:T.data??{}}),[w.data,T.data]),D=(0,b.useMemo)(()=>{let e=v.data;if(e)return le(e.response.breakdown,e.groupBy,E)},[v.data,E]),O=(0,b.useMemo)(()=>{if(!(!x||!S.data))return de(S.data.buckets,x,E)},[S.data,x,E]),k=(0,b.useMemo)(()=>{if(C.data)return ue(C.data.buckets)},[C.data]),A=(0,b.useMemo)(()=>x?S.error?k?{isLoading:!1,error:null,data:k,refetch:C.refetch}:{isLoading:C.isLoading||!k&&!C.error,error:C.error??S.error,data:void 0,refetch:C.error?C.refetch:S.refetch}:{isLoading:S.isLoading,error:S.error,data:O,refetch:S.refetch}:{isLoading:C.isLoading,error:C.error,data:k,refetch:C.refetch},[k,C.error,C.isLoading,C.refetch,O,x,S.error,S.isLoading,S.refetch]),j=Ge({requestedGranularity:m,isLoading:A.isLoading,buckets:A.data}),N=j===`hourly`,P=x&&S.error?void 0:y,F=(0,b.useMemo)(()=>{if(!(y!==`schedule`||!s))return tt(h.data,s)},[y,s,h.data]);return(0,M.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,M.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[(0,M.jsx)(`h3`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:`Usage`}),(0,M.jsx)(`div`,{className:`flex flex-wrap items-center justify-end gap-2`,children:(0,M.jsx)(it,{range:r,onChange:g})})]}),(0,M.jsx)(`section`,{"aria-label":`Totals`,children:(0,M.jsx)(X,{query:_,skeleton:(0,M.jsx)(ot,{}),render:e=>(0,M.jsx)(at,{totals:e})})}),(0,M.jsx)(Y,{title:`Inference Usage`,children:(0,M.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,M.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[(0,M.jsx)(`h4`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:We(j,P)}),(0,M.jsx)(`div`,{className:`flex flex-wrap items-center justify-end gap-2`,children:(0,M.jsx)(st,{value:y,onChange:e=>{e===o&&y!==o&&(v.refetch(),S.refetch()),l({groupBy:e,scheduleId:e===`schedule`?void 0:null})}})})]}),(0,M.jsx)(X,{query:A,skeleton:(0,M.jsx)(xe,{isHourly:N}),render:e=>(0,M.jsx)(be,{buckets:e,isHourly:N,legendItems:F})})]})}),(0,M.jsx)(ct,{query:v,groups:D}),(0,M.jsx)(rt,{})]})}function tt(e,t){let n=e??[];return[...n.some(e=>e.id===t)?[]:[{id:t,label:nt(t)}],...n.map(e=>({id:e.id,label:e.name||e.id}))].map((e,n)=>({seriesKey:D(e.id,`schedule`),label:e.label,colorIndex:n,state:e.id===t?`active`:`inactive`}))}function nt(e){return`Unknown schedule (${e})`}function rt(){return(0,M.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,M.jsx)(`div`,{className:`h-px w-full`,style:{background:`linear-gradient(to right, transparent, var(--border-base), transparent)`}}),(0,M.jsx)(Y,{title:`Cost assistant`,subtitle:`Review recent spend and tune model profile choices.`,children:(0,M.jsxs)(`div`,{className:`flex flex-col gap-2 rounded-md px-3 py-3 sm:flex-row sm:items-center`,children:[(0,M.jsx)(J,{prompt:Qe,children:`Analyze costs with assistant`}),(0,M.jsx)(J,{prompt:$e,variant:`ghost`,children:`Optimize settings`})]})})]})}function it({range:e,onChange:t}){return(0,M.jsx)(`div`,{className:`flex items-center`,children:(0,M.jsx)(l,{value:e,onChange:t,options:Xe.map(e=>({value:e.value,label:e.label}))})})}function Y({title:e,subtitle:t,children:n}){return(0,M.jsxs)(`section`,{className:`flex flex-col gap-3 rounded-md border px-4 py-4`,style:{background:`var(--surface-lift)`,borderColor:`var(--border-base)`},children:[(0,M.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,M.jsx)(`h3`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:e}),t?(0,M.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:t}):null]}),n]})}function X({query:e,skeleton:t,render:n}){return e.isLoading?(0,M.jsx)(M.Fragment,{children:t}):e.error?(0,M.jsx)(ft,{message:e.error instanceof Error?e.error.message:`Failed to load usage.`,onRetry:()=>e.refetch()}):e.data?(0,M.jsx)(M.Fragment,{children:n(e.data)}):(0,M.jsx)(M.Fragment,{children:t})}function at({totals:e}){return(0,M.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,M.jsxs)(`div`,{className:`flex flex-wrap items-baseline justify-between gap-4`,children:[(0,M.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,M.jsx)(`span`,{style:{fontSize:`30px`,fontWeight:600,lineHeight:1,color:`var(--content-default)`},children:S(e.totalEstimatedCostUsd)}),(0,M.jsx)(`span`,{className:`text-body-small-default`,style:{color:`var(--content-secondary)`},children:`Cost`})]}),(0,M.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,M.jsx)(`span`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:x(e.eventCount)}),(0,M.jsx)(`span`,{className:`text-body-small-default`,style:{color:`var(--content-secondary)`},children:`LLM Calls`})]})]}),(0,M.jsxs)(`div`,{className:`grid grid-cols-2 gap-3 sm:grid-cols-4`,children:[(0,M.jsx)(Z,{label:`Direct Input Tokens`,value:x(e.totalInputTokens)}),(0,M.jsx)(Z,{label:`Output Tokens`,value:x(e.totalOutputTokens)}),(0,M.jsx)(Z,{label:`Cache Created`,value:x(e.totalCacheCreationTokens)}),(0,M.jsx)(Z,{label:`Cache Read`,value:x(e.totalCacheReadTokens)})]})]})}function Z({label:e,value:t}){return(0,M.jsxs)(`div`,{className:`flex flex-col gap-1 rounded-md px-3 py-2`,style:{background:`color-mix(in srgb, var(--border-base) 15%, transparent)`},children:[(0,M.jsx)(`span`,{className:`text-body-small-default`,style:{color:`var(--content-default)`},children:t}),(0,M.jsx)(`span`,{className:`text-label-medium-default`,style:{color:`var(--content-tertiary)`},children:e})]})}function ot(){return(0,M.jsxs)(`div`,{className:`flex flex-col gap-4`,"aria-hidden":`true`,children:[(0,M.jsxs)(`div`,{className:`flex flex-wrap items-baseline justify-between gap-4`,children:[(0,M.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,M.jsx)($,{width:140,height:30}),(0,M.jsx)($,{width:90,height:12})]}),(0,M.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,M.jsx)($,{width:60,height:16}),(0,M.jsx)($,{width:60,height:12})]})]}),(0,M.jsx)(`div`,{className:`grid grid-cols-2 gap-3 sm:grid-cols-4`,children:Array.from({length:4}).map((e,t)=>(0,M.jsxs)(`div`,{className:`flex flex-col gap-1 rounded-md px-3 py-2`,style:{background:`color-mix(in srgb, var(--border-base) 15%, transparent)`},children:[(0,M.jsx)($,{width:`50%`,height:12}),(0,M.jsx)($,{width:`70%`,height:11})]},t))})]})}function st({value:e,onChange:t}){return(0,M.jsx)(`div`,{className:`flex items-center`,children:(0,M.jsx)(l,{value:e,onChange:t,menuAlign:`end`,menuMinWidth:196,options:Ie.map(e=>({value:e.value,label:e.label}))})})}function ct({query:e,groups:t}){let[n,r]=(0,b.useState)(new Set),i=e=>{r(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})};return(0,M.jsx)(Y,{title:`Breakdown`,children:(0,M.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,M.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,M.jsx)(Q,{label:`% of total`,active:n.has(`pct`),onClick:()=>i(`pct`)}),(0,M.jsx)(Q,{label:`Tokens`,active:n.has(`tokens`),onClick:()=>i(`tokens`)}),(0,M.jsx)(Q,{label:`Turns`,active:n.has(`turns`),onClick:()=>i(`turns`)})]}),(0,M.jsx)(X,{query:e,skeleton:(0,M.jsx)(ut,{}),render:e=>(0,M.jsx)(lt,{groups:t??e.response.breakdown,showPct:n.has(`pct`),showTokens:n.has(`tokens`),showTurns:n.has(`turns`)})})]})})}function Q({label:e,active:t,onClick:n}){return(0,M.jsx)(`button`,{type:`button`,onClick:n,className:`rounded-full border px-2.5 py-1 text-label-medium-default`,style:{borderColor:t?`var(--content-secondary)`:`var(--border-base)`,background:t?`color-mix(in srgb, var(--content-secondary) 15%, transparent)`:`transparent`,color:t?`var(--content-default)`:`var(--content-tertiary)`},children:e})}function lt({groups:e,showPct:t,showTokens:n,showTurns:r}){if(e.length===0)return(0,M.jsx)(dt,{title:`No breakdown data`,subtitle:`No usage recorded for this grouping`});let i=e.reduce((e,t)=>e+t.totalEstimatedCostUsd,0);return(0,M.jsx)(`div`,{className:`overflow-hidden rounded-md`,children:(0,M.jsxs)(`table`,{className:`w-full table-fixed`,children:[(0,M.jsx)(`thead`,{children:(0,M.jsxs)(`tr`,{style:{borderBottom:`1px solid var(--border-base)`},children:[(0,M.jsx)(`th`,{className:`px-3 py-2.5 text-left text-label-medium-default`,style:{color:`var(--content-tertiary)`},children:`Group`}),n?(0,M.jsx)(`th`,{className:`px-3 py-2.5 text-left text-label-medium-default`,style:{color:`var(--content-tertiary)`,width:`35%`},children:`Tokens`}):null,r?(0,M.jsx)(`th`,{className:`px-3 py-2.5 text-right text-label-medium-default`,style:{color:`var(--content-tertiary)`,width:`72px`},children:`Turns`}):null,t?(0,M.jsx)(`th`,{className:`px-3 py-2.5 text-right text-label-medium-default`,style:{color:`var(--content-tertiary)`,width:`64px`},children:`%`}):null,(0,M.jsx)(`th`,{className:`px-3 py-2.5 text-right text-label-medium-default`,style:{color:`var(--content-tertiary)`,width:`100px`},children:`Cost`})]})}),(0,M.jsx)(`tbody`,{children:e.map((e,a)=>{let o=Oe(e),s=Ae(e),c=i>0?Math.round(e.totalEstimatedCostUsd/i*100):0;return(0,M.jsxs)(`tr`,{style:{borderTop:a===0?`none`:`1px solid var(--border-base)`},children:[(0,M.jsx)(`td`,{className:`min-w-0 px-3 py-2`,style:{color:`var(--content-default)`},children:(0,M.jsx)(`span`,{className:`block truncate text-body-medium-lighter`,title:e.group,children:e.group})}),n?(0,M.jsx)(`td`,{className:`min-w-0 px-3 py-2`,style:{color:`var(--content-secondary)`},children:(0,M.jsx)(`span`,{className:`block truncate text-body-small-default`,title:o,children:s})}):null,r?(0,M.jsx)(`td`,{className:`whitespace-nowrap px-3 py-2 text-right`,children:(0,M.jsx)(`span`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:e.turnCount==null?`—`:e.turnCount.toLocaleString()})}):null,t?(0,M.jsx)(`td`,{className:`whitespace-nowrap px-3 py-2 text-right`,children:(0,M.jsxs)(`span`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:[c,`%`]})}):null,(0,M.jsx)(`td`,{className:`whitespace-nowrap px-3 py-2 text-right`,children:(0,M.jsx)(`span`,{className:`text-body-medium-lighter`,style:{color:`var(--content-default)`},children:S(e.totalEstimatedCostUsd)})})]},e.groupKey??e.groupId??`${e.group}-${a}`)})})]})})}function ut(){return(0,M.jsx)(`div`,{className:`flex flex-col gap-2`,"aria-hidden":`true`,children:Array.from({length:4}).map((e,t)=>(0,M.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,M.jsx)($,{width:100,height:14}),(0,M.jsx)($,{width:`60%`,height:12}),(0,M.jsx)($,{width:50,height:14})]},t))})}function $({width:e,height:t}){return(0,M.jsx)(`div`,{className:`rounded-sm`,style:{width:typeof e==`number`?`${e}px`:e,height:`${t}px`,background:`color-mix(in srgb, var(--border-base) 40%, transparent)`}})}function dt({title:e,subtitle:t}){return(0,M.jsxs)(`div`,{className:`flex flex-col items-center gap-1 py-8 text-center`,children:[(0,M.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:e}),(0,M.jsx)(`span`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:t})]})}function ft({message:e,onRetry:t}){return(0,M.jsxs)(`div`,{className:`flex flex-col gap-2 py-2`,children:[(0,M.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,M.jsx)(c,{className:`h-4 w-4 shrink-0`,style:{color:`var(--system-negative-strong, #f87171)`}}),(0,M.jsx)(`span`,{className:`text-body-medium-lighter`,style:{color:`var(--content-default)`},children:e})]}),t?(0,M.jsx)(`button`,{type:`button`,onClick:t,className:`self-start rounded-md border px-3 py-1 text-body-small-default`,style:{background:`var(--surface-lift)`,borderColor:`var(--border-base)`,color:`var(--content-default)`},children:`Retry`}):null]})}function pt(){return(0,M.jsx)(et,{assistantId:h()})}export{pt as UsagePage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{n}from"./event-bus-BNx4a0Ds.js";var r=e(t(),1);function i(e,t){let i=(0,r.useRef)(t);(0,r.useLayoutEffect)(()=>{i.current=t}),(0,r.useEffect)(()=>n(e,e=>{i.current(e)}),[e])}export{i as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./button-amTXFI-2.js";import{n as r}from"./QueryClientProvider-DKhXIxGb.js";import{t as i}from"./useQuery-B45lW1Kk.js";import{t as a}from"./useMutation-Lj4VunQV.js";import{t as o}from"./jsx-runtime-CVSDxk6A.js";import{t as s}from"./typography-D5f7kt80.js";import{t as c}from"./check-DFNrQERi.js";import{t as l}from"./copy-Cn1FKrEp.js";import{t as u}from"./link-2-4bMylQ5v.js";import{t as d}from"./loader-circle-Cz7opInR.js";import{t as f}from"./input-CoUmPnRU.js";import{t as p}from"./modal-D5nLWNN9.js";import{$t as m,Zt as h,qt as g}from"./sdk.gen-CFgJ4K6f.js";import{G as _,K as v,U as y,W as b,o as x,s as S,x as C}from"./react-query.gen-LsPzqPq6.js";import{n as w}from"./utils-xg2dl_KJ.js";import{n as T,r as E,t as D}from"./api-errors-CrWDzVca.js";import{n as O}from"./sdk.gen-CenbOmmb.js";import{t as k}from"./assistant-feature-flag-store-BA3GR2m5.js";import{Mt as A,a as ee,i as te,jt as j,o as ne,or as M,s as re,sr as N}from"./index-B4Qq7TL7.js";import{t as P}from"./mutation-error-Bk_4pjgm.js";import{t as F}from"./a2a-invite-CwD3hY_-.js";function I(e){return e?.trim()||`your assistant`}var L=e(t(),1),R=o(),z=[`no_one`,`guardian_only`,`trusted_contacts`,`any_contact`,`strangers`],B=`trusted_contacts`,V=new Set([`platform`,`a2a`]),H=new Set([`vellum`,`whatsapp`]);function U(e){return H.has(e)}var W={no_one:`No one`,guardian_only:`Only you`,trusted_contacts:`Verified contacts`,any_contact:`Any contact`,strangers:`Strangers`};function G(e){return{no_one:`No one can message ${e} on this channel — every message is blocked, including yours.`,guardian_only:`Only you can message ${e}. Everyone else is turned away.`,trusted_contacts:`You and the people you’ve verified can message ${e}. Anyone else is asked to verify first, and you’re notified.`,any_contact:`You and any known contact can message ${e}, including contacts you haven’t verified yet. Strangers are asked to verify first.`,strangers:`Anyone can message ${e}, including complete strangers.`}}function K(e){let t=e-Date.now();if(t<=0)return`Expired`;let n=Math.ceil(t/(1e3*60*60*24));return n===1?`Expires in 1 day`:`Expires in ${n} days`}function q({open:e,assistantId:t,onClose:r}){let[i,o]=(0,L.useState)(!1),u=(0,L.useRef)(null),m=(0,L.useRef)(!1),h=a({...y({path:{assistant_id:t}})}),g=(0,L.useRef)(h.mutate);(0,L.useLayoutEffect)(()=>{g.current=h.mutate});let _=(0,L.useRef)(h.reset);(0,L.useLayoutEffect)(()=>{_.current=h.reset}),(0,L.useEffect)(()=>{e&&!m.current&&g.current({path:{assistant_id:t}}),m.current=e},[e,t]),(0,L.useEffect)(()=>()=>{u.current&&clearTimeout(u.current)},[]);let v=(0,L.useCallback)(()=>{_.current(),o(!1),u.current&&=(clearTimeout(u.current),null),r()},[r]),b=(0,L.useCallback)(e=>{navigator.clipboard.writeText(e).then(()=>{o(!0),u.current&&clearTimeout(u.current),u.current=setTimeout(()=>o(!1),2e3)})},[]),x=h.isSuccess&&h.data.token?F({senderAssistantId:t,token:h.data.token}):``;return(0,R.jsx)(p.Root,{open:e,onOpenChange:e=>{e||v()},children:(0,R.jsxs)(p.Content,{size:`sm`,children:[(0,R.jsx)(p.Header,{children:(0,R.jsx)(p.Title,{children:`Share Connection Link`})}),(0,R.jsx)(p.Body,{children:h.isPending?(0,R.jsxs)(`div`,{className:`flex items-center gap-2 py-2 text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:[(0,R.jsx)(d,{className:`h-4 w-4 animate-spin`}),`Creating invite link…`]}):h.isError?(0,R.jsxs)(`div`,{className:`space-y-3`,children:[(0,R.jsx)(`p`,{role:`alert`,className:`!m-0 text-body-medium-lighter`,style:{color:`var(--system-negative-strong)`},children:`Failed to create invite link. Make sure A2A is enabled for your assistant.`}),(0,R.jsx)(n,{variant:`outlined`,onClick:()=>h.mutate({path:{assistant_id:t}}),children:`Try Again`})]}):h.isSuccess?(0,R.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,R.jsx)(s,{variant:`body-medium-lighter`,style:{color:`var(--content-secondary)`},children:`Share this link with another assistant owner to establish a connection.`}),(0,R.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,R.jsx)(f,{type:`text`,readOnly:!0,value:x,fullWidth:!0,wrapperClassName:`flex-1`,className:`font-mono`,onFocus:e=>e.currentTarget.select()}),(0,R.jsx)(`button`,{type:`button`,onClick:()=>b(x),"aria-label":`Copy invite link`,className:`flex h-9 w-9 shrink-0 items-center justify-center rounded-md border border-[var(--border-base)] hover:bg-[var(--surface-hover)]`,children:i?(0,R.jsx)(c,{className:`h-4 w-4`}):(0,R.jsx)(l,{className:`h-4 w-4`})})]}),h.data.expiresAt!=null&&(0,R.jsx)(s,{variant:`body-small-default`,style:{color:`var(--content-tertiary)`},children:K(h.data.expiresAt)})]}):null}),(0,R.jsx)(p.Footer,{children:(0,R.jsx)(n,{variant:`outlined`,onClick:v,children:`Done`})})]})})}function J({onClick:e}){return(0,R.jsx)(n,{variant:`outlined`,size:`compact`,leftIcon:(0,R.jsx)(u,{className:`h-3.5 w-3.5`}),onClick:e,children:`Share Connection Link`})}function Y(e){return typeof e==`string`&&z.includes(e)}function X(e){return V.has(e)}function Z(e){return(e?.policies??[]).filter(e=>!X(e.channelType)&&!U(e.channelType)).map(e=>({...e,policy:Y(e.policy)?e.policy:`trusted_contacts`}))}async function ie(e,t,n,r){if(X(t))throw new D(403,`Channel "${t}" is internal and is not user-configurable.`);let{data:i,error:a,response:o}=await O({path:{assistant_id:e,channel_type:t},body:{policy:n,note:r??null},throwOnError:!1});if(T(o,a,`Failed to save channel policy.`),!o.ok)throw new D(o.status,E(a,o,`Failed to save channel policy.`));if(!i?.policy)throw new D(500,`Gateway returned no policy in response.`);return i.policy}var ae=`0.10.0`;function Q(){return w(ae)}function oe(e){let t=r(),n=k.use.channelTrustFloors(),o=Q(),s=n&&o,c=(0,L.useMemo)(()=>({path:{assistant_id:e}}),[e]),l=(0,L.useMemo)(()=>N(c),[c]),u=i({...M(c),enabled:s,select:Z}),d=(0,L.useMemo)(()=>{let e={};for(let t of u.data??[])A(t.channelType)&&(e[t.channelType]=t.policy);return e},[u.data]),f=a({mutationFn:({channelKey:t,policy:n})=>ie(e,t,n),onSuccess:()=>t.invalidateQueries({queryKey:l}),onError:P(`Failed to save channel policy`)}),p=(0,L.useCallback)((e,t)=>{f.mutate({channelKey:e,policy:t})},[f]);return s?{policies:d,savingKey:f.isPending?f.variables?.channelKey??null:null,isLoading:u.isPending,isError:u.isError,onChange:p}:{policies:void 0,savingKey:null,isLoading:!1,isError:!1,onChange:void 0}}var $={slack:`I want to reach you on Slack. Let's set it up.`,telegram:`I want to reach you on Telegram. Let's set it up.`,phone:`I want to be able to call you. Let's set you up with a phone number.`},se=15e3;function ce({assistantId:e,onStartSetupConversation:t}){let n=r(),o=(0,L.useMemo)(()=>({path:{assistant_id:e}}),[e]),s=(0,L.useMemo)(()=>S(o),[o]),c=i({...x(o),enabled:!!e,refetchInterval:se,select:e=>e.snapshots}),l=(0,L.useMemo)(()=>le(c.data??[]),[c.data]),u=l.some(e=>e.key===`slack`&&e.status===`ready`),d=i({...b(o),enabled:u,select:e=>e.threadMode}),f=oe(e),p=(0,L.useCallback)(()=>n.invalidateQueries({queryKey:s}),[n,s]),y=a({mutationFn:async t=>{let n={path:{assistant_id:e},throwOnError:!0};t===`slack`?await g(n):t===`telegram`?await h(n):t===`phone`&&await m(n)},onSettled:(t,r,i)=>{p(),i===`slack`&&re(n,e)}}),C=ee({assistantId:e}),w=ne({assistantId:e}),T=te({assistantId:e}),E=a({...v(),onSuccess:()=>{n.invalidateQueries({queryKey:_(o)})}}),D=C.mutateAsync,O=(0,L.useCallback)(async e=>{await D(e)},[D]),k=w.mutate,A=(0,L.useCallback)((e,t)=>{k({botToken:e,appToken:t})},[k]),j=E.mutate,M=(0,L.useCallback)(t=>{j({path:{assistant_id:e},body:{threadMode:t}})},[j,e]),N=T.mutateAsync,P=(0,L.useCallback)(async(e,t)=>{await N({accountSid:e,authToken:t})},[N]),F=(0,L.useCallback)(e=>{t&&t($[e])},[t]),I=y.mutate,R=(0,L.useCallback)(e=>{I(e)},[I]);return{channels:l,pendingChannelKey:y.isPending?y.variables??null:null,slackThreadMode:d.data,slackThreadModePending:E.isPending,channelPolicies:f.policies,policySavingKey:f.savingKey,policiesLoading:f.isLoading,policiesError:f.isError,onChannelPolicyChange:f.onChange,onSetup:t?F:void 0,onDisconnect:R,onSaveTelegramToken:O,onSaveSlackConfig:A,slackSaveStatus:w.status,slackSaveError:w.error?.message??null,onSlackThreadModeChange:M,onSaveTwilioCredentials:P}}function le(e){let t=new Map;for(let n of e)t.set(n.channel,n);return j.map(e=>{let n=t.get(e);return{key:e,status:ue(n),address:n?.channelHandle??void 0}})}function ue(e){return e?e.ready||e.setupStatus===`ready`?`ready`:e.setupStatus===`incomplete`?`incomplete`:`not_configured`:`not_configured`}function de(e){let t=r(),[n,i]=(0,L.useState)(!1);return{isOpen:n,open:(0,L.useCallback)(()=>{i(!0)},[]),close:(0,L.useCallback)(()=>{i(!1),t.invalidateQueries({queryKey:C({path:{assistant_id:e}})})},[t,e])}}export{J as a,z as c,I as d,Z as i,W as l,ce as n,q as o,Q as r,B as s,de as t,G as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{D as e,i as t}from"./auth-store-65JKPW7C.js";function n(){let n=e.use.currentOrganizationId();return!t()||n!=null}export{n as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{n}from"./QueryClientProvider-DKhXIxGb.js";import{t as r}from"./useMutation-Lj4VunQV.js";import{t as i}from"./jsx-runtime-CVSDxk6A.js";import{t as a}from"./card-Bv5O5juh.js";import{t as o}from"./createLucideIcon-IRfcSUxS.js";import{t as s}from"./brain-BLDXGaUy.js";import{t as c}from"./globe-4qSOWE2N.js";import{t as l}from"./loader-circle-Cz7opInR.js";import{t as u}from"./triangle-alert-Z0Gq0IuB.js";import"./src-DZbMXyC2.js";import{t as d}from"./tag-CV4v7fRF.js";import{lr as f}from"./sdk.gen-CFgJ4K6f.js";import{an as p}from"./react-query.gen-LsPzqPq6.js";import{n as m,r as h,t as g}from"./api-errors-CrWDzVca.js";import{Fi as _,bi as v,vi as y}from"./index-B4Qq7TL7.js";import{t as b}from"./skills-D0rhLW1_.js";var x=o(`box`,[[`path`,{d:`M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z`,key:`hh9hay`}],[`path`,{d:`m3.3 7 8.7 5 8.7-5`,key:`g66t2b`}],[`path`,{d:`M12 22V12`,key:`d0xqtd`}]]),S=e(t(),1),C=i(),w={vellum:{label:`Vellum`,icon:x},clawhub:{label:`Clawhub`,icon:c},skillssh:{label:`skills.sh`,icon:v},custom:{label:`Custom`,icon:y},"assistant-memory":{label:`Assistant's Memory`,icon:s}};function T({origin:e}){let t=e in w?w[e]:{label:e.replace(/-/g,` `),icon:_};return(0,C.jsx)(d,{tone:`neutral`,leftIcon:(0,S.createElement)(t.icon),className:`capitalize`,children:t.label})}function E(e){return e.kind===`installed`||e.kind===`bundled`}function D(e){return e.kind===`catalog`}function O({icon:e,iconColor:t=`var(--content-tertiary)`,title:n,subtitle:r,children:i}){return(0,C.jsx)(a.Root,{children:(0,C.jsxs)(a.Body,{className:`flex flex-col items-center justify-center py-16 text-center`,children:[(0,C.jsx)(e,{className:`mb-3 h-8 w-8`,style:{color:t},"aria-hidden":!0}),(0,C.jsx)(`h3`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:n}),(0,C.jsx)(`p`,{className:`mt-1 max-w-sm text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:r}),i]})})}function k(){return(0,C.jsx)(O,{icon:u,iconColor:`var(--system-danger)`,title:`Failed to load skills`,subtitle:`Something went wrong. Try refreshing the page.`})}function A(){return(0,C.jsx)(`div`,{className:`flex items-center justify-center py-16`,children:(0,C.jsx)(l,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})})}async function j(e,t,n){let{data:r,error:i,response:a}=await f({path:{assistant_id:e},body:n?{slug:t,version:n}:{slug:t},throwOnError:!1});if(m(a,i,`Failed to install skill.`),!a.ok)throw new g(a.status,h(i,a,`Failed to install skill.`));return r??{ok:!0}}function M(e,{onRemoved:t}={}){let i=n(),[a,o]=(0,S.useState)(null),[s,c]=(0,S.useState)(null),[l,u]=(0,S.useState)(null),d=(0,S.useCallback)(()=>{b(i,e)},[e,i]),f=r({mutationFn:t=>j(e,t),onMutate:e=>o(e),onSettled:()=>{o(null),d()}}),m=p({onMutate:e=>c(e.path.id),onSuccess:()=>{t?.()},onSettled:()=>{c(null),d()}}),h=(0,S.useCallback)(e=>{f.mutate(e.slug??e.id)},[f]),g=(0,S.useCallback)(e=>{u(e)},[]),_=(0,S.useCallback)(()=>{l&&(m.mutate({path:{assistant_id:e,id:l.id}}),u(null))},[e,l,m]),v=(0,S.useCallback)(()=>{u(null)},[]);return{handleInstall:h,handleRemove:g,isInstallingSkill:(0,S.useCallback)(e=>a===(e.slug??e.id),[a]),isRemovingSkill:(0,S.useCallback)(e=>s===e.id,[s]),skillPendingRemoval:l,confirmRemove:_,cancelRemove:v}}export{D as a,x as c,O as i,A as n,E as o,k as r,T as s,M as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./button-amTXFI-2.js";import{t}from"./useQuery-B45lW1Kk.js";import{t as n}from"./jsx-runtime-CVSDxk6A.js";import{t as r}from"./createLucideIcon-IRfcSUxS.js";import{t as i}from"./calendar-h-mv1itX.js";import{t as a}from"./code-Czx7d7SK.js";import{t as o}from"./globe-4qSOWE2N.js";import{t as s}from"./link-2-4bMylQ5v.js";import"./src-DZbMXyC2.js";import{xt as c}from"./react-query.gen-LsPzqPq6.js";import{Ei as l,Ji as u,Ki as d,Ui as f,aa as p,fi as m,ki as h,ta as g}from"./index-B4Qq7TL7.js";var _=r(`funnel`,[[`path`,{d:`M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z`,key:`sc7q7i`}]]),v={mail:u,calendar:i,"message-circle":d,globe:o,zap:m,code:a,mic:f,"shopping-cart":l,palette:r(`palette`,[[`path`,{d:`M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z`,key:`e79jfc`}],[`circle`,{cx:`13.5`,cy:`6.5`,r:`.5`,fill:`currentColor`,key:`1okk4w`}],[`circle`,{cx:`17.5`,cy:`10.5`,r:`.5`,fill:`currentColor`,key:`f64h9f`}],[`circle`,{cx:`6.5`,cy:`12.5`,r:`.5`,fill:`currentColor`,key:`qy21gx`}],[`circle`,{cx:`8.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`fotxhn`}]]),heart:p,settings:h,"link-2":s};function y(e){return v[e]}var b=n();function x({selected:e,onSelect:t,counts:n,totalCount:r,showCounts:i,categories:a,ariaLabel:o=`Skill categories`}){let s=[...a].sort((e,t)=>e.label.localeCompare(t.label));return(0,b.jsxs)(`nav`,{className:`flex flex-col gap-1`,"aria-label":o,children:[(0,b.jsx)(S,{icon:g,label:`All`,count:r,isActive:e===null,showCount:i,onClick:()=>t(null)}),s.map(r=>(0,b.jsx)(S,{icon:y(r.icon)??g,label:r.label,count:n[r.slug]??0,isActive:e===r.slug,showCount:i,onClick:()=>t(r.slug)},r.slug))]})}function S({icon:t,label:n,count:r,isActive:i,showCount:a,onClick:o}){return(0,b.jsxs)(e,{variant:`ghost`,onClick:o,"aria-pressed":i,className:`h-auto justify-between gap-3 rounded-lg border-0 bg-transparent px-3 py-2 text-left hover:bg-[var(--ghost-hover)]`,style:{backgroundColor:i?`var(--surface-active)`:void 0,color:i?`var(--content-default)`:`var(--content-secondary)`},children:[(0,b.jsxs)(`span`,{className:`flex items-center gap-2.5`,children:[(0,b.jsx)(t,{className:`h-4 w-4 shrink-0`,"aria-hidden":!0}),(0,b.jsx)(`span`,{className:`text-body-medium-default`,children:n})]}),a&&(0,b.jsx)(`span`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:r})]})}function C(e){return t({...c({path:{assistant_id:e}}),select:e=>e.categories,staleTime:300*1e3})}export{_ as i,x as n,y as r,C as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./assistant-identity-store-CX03CK8q.js";import{n as t,r as n,t as r}from"./semver-DIkpaM51.js";function i(e,t,n={}){return t(e.getState())?Promise.resolve():new Promise(r=>{let i,a=()=>{i!==void 0&&clearTimeout(i),o(),r()},o=e.subscribe(e=>{t(e)&&a()});n.timeoutMs!==void 0&&(i=setTimeout(a,n.timeoutMs))})}function a(t){return s(e.use.version(),t)}function o(t){let n=e.getState().version;return s(n,t)}function s(e,i){if(!e)return!1;let a=n(e),o=n(i);if(!a||!o)return!1;let s=r({...a,pre:null},{...o,pre:null});if(s!==0)return s>0;let c=a.pre!==null&&a.pre.startsWith(`dev`),l=o.pre!==null&&o.pre.startsWith(`dev`);return c&&l?t(a.pre,o.pre)>=0:c===l?!0:c}var c=5e3;function l(t=c){return i(e,e=>!!e.version,{timeoutMs:t})}export{i,a as n,l as r,o as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{i as t,r as n,s as r}from"./local-settings-lVNyIOJ_.js";import{t as i}from"./react-DJZBPgpf.js";import{t as a}from"./button-amTXFI-2.js";import{t as o}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as s}from"./jsx-runtime-CVSDxk6A.js";import{r as c}from"./middleware-pbPQ0upo.js";import{t as l}from"./info-DsOyuMO9.js";import{t as u}from"./toggle-CDfguvUz.js";import{t as d}from"./dropdown-ByHOpeOU.js";import{c as f}from"./routes-BXlWEOF0.js";import{Gn as p,Hn as m,Jn as h,Jt as g,Kn as _,Un as v,Vn as y,Wn as b,Xn as x,Yn as S,nr as C,qn as w,rr as T}from"./index-B4Qq7TL7.js";import{t as E}from"./detail-card-GPqFZVmX.js";var D=e(i(),1),O=[{prefKey:`showUserTranscript`,label:`Show the words you say`,description:`Live transcription while you speak.`},{prefKey:`showAssistantTranscript`,label:`Show the words the assistant says`,description:`Text alongside the spoken response.`}],k=`We recommend keeping both off to start. It feels more like a real conversation.`,A=s();function j(){return(0,A.jsx)(`span`,{className:`shrink-0 rounded-full bg-[var(--surface-active)] px-2 py-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:`Recommended off`})}function M({label:e,description:t,showBadge:n,checked:r,onChange:i}){return(0,A.jsxs)(`div`,{className:`flex items-center justify-between gap-3 py-1`,children:[(0,A.jsxs)(`div`,{className:`min-w-0`,children:[(0,A.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,A.jsx)(`span`,{className:`truncate text-body-medium-lighter text-[var(--content-default)]`,children:e}),n?(0,A.jsx)(j,{}):null]}),t?(0,A.jsx)(`div`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:t}):null]}),(0,A.jsx)(u,{checked:r,onChange:i,"aria-label":e})]})}function N({showDescription:e=!1,showRecommendedBadge:t=!1}){let n=g.use.showUserTranscript(),r=g.use.showAssistantTranscript(),i=g.use.setShowUserTranscript(),a=g.use.setShowAssistantTranscript(),o={showUserTranscript:{checked:n,onChange:i},showAssistantTranscript:{checked:r,onChange:a}};return(0,A.jsx)(A.Fragment,{children:O.map(n=>{let r=o[n.prefKey];return(0,A.jsx)(M,{label:n.label,description:e?n.description:void 0,showBadge:t,checked:r.checked,onChange:r.onChange},n.prefKey)})})}var P=`vellum:voice:conversationTimeoutSeconds`,F=[{label:`Ctrl`,activator:{kind:`modifierOnly`,modifiers:[`control`]}},{label:`Alt`,activator:{kind:`modifierOnly`,modifiers:[`option`]}},{label:`Ctrl+Shift`,activator:{kind:`modifierOnly`,modifiers:[`control`,`shift`]}}],I={label:`Fn`,activator:v},L=[{label:`5 seconds`,value:`5`},{label:`10 seconds`,value:`10`},{label:`15 seconds`,value:`15`},{label:`30 seconds`,value:`30`},{label:`60 seconds`,value:`60`}],R=`30`,z=`text-body-small-default text-[var(--content-tertiary)]`;function B(){return(0,A.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,A.jsx)(H,{}),(0,A.jsx)(W,{}),(0,A.jsx)(G,{}),(0,A.jsx)(q,{}),(0,A.jsx)(V,{})]})}function V(){return(0,A.jsx)(E,{title:`Transcription`,subtitle:`Show live text of what you and the assistant say during a voice conversation.`,children:(0,A.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,A.jsx)(N,{showDescription:!0}),(0,A.jsx)(`p`,{className:`${z} pt-1`,children:k})]})})}function H(){return(0,A.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg border border-[var(--border-subtle)] bg-[var(--field-bg)] px-3 py-2`,children:[(0,A.jsx)(l,{className:`h-3.5 w-3.5 shrink-0 text-[var(--primary-base)]`}),(0,A.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Looking to configure Speech-to-Text or Text-to-Speech models?`}),(0,A.jsxs)(o,{to:f.settings.ai,className:`inline-flex items-center gap-1 text-body-medium-lighter text-[var(--system-positive-strong)] underline hover:opacity-80`,children:[`Go to Models & Services`,(0,A.jsx)(c,{className:`h-3 w-3`})]})]})}var U=``;function W(){let[e,n]=(0,D.useState)([]),[i,o]=(0,D.useState)(!1),[s,c]=(0,D.useState)(()=>T()),l=(0,D.useCallback)(async()=>{if(navigator.mediaDevices?.enumerateDevices)try{let e=(await navigator.mediaDevices.enumerateDevices()).filter(e=>e.kind===`audioinput`);o(e.length>0&&e.every(e=>!e.label)),n(e.filter(e=>e.deviceId!==``&&e.deviceId!==`default`&&e.deviceId!==`communications`))}catch{n([]),o(!1)}},[]),u=(0,D.useCallback)(async()=>{try{let e=await navigator.mediaDevices.getUserMedia({audio:!0});for(let t of e.getTracks())t.stop()}catch{}l()},[l]);(0,D.useEffect)(()=>{l();let e=navigator.mediaDevices;if(!e?.addEventListener)return;let t=()=>void l();return e.addEventListener(`devicechange`,t),()=>e.removeEventListener(`devicechange`,t)},[l]);let f=(0,D.useMemo)(()=>[{value:U,label:`System Default`},...e.map((e,t)=>({value:e.deviceId,label:e.label||`Microphone ${t+1}`}))],[e]),p=(0,D.useCallback)(e=>{c(e),e===U?t(C):r(C,e)},[]);return(0,A.jsx)(E,{title:`Microphone`,subtitle:`Which input device is used for dictation and voice conversations.`,children:(0,A.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,A.jsx)(`div`,{className:`max-w-xs`,children:(0,A.jsx)(d,{options:f,value:f.some(e=>e.value===s)?s:U,onChange:p,"aria-label":`Microphone`})}),i&&(0,A.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,A.jsx)(a,{variant:`outlined`,onClick:u,children:`Allow Microphone Access`}),(0,A.jsx)(`span`,{className:z,children:`Grant microphone access to list your available input devices.`})]})]})})}function G(){let e=y(),[t,i]=(0,D.useState)(()=>{let t=n(b,``);return t?h(t,{preserveFunction:e}):e?I.activator:{kind:`off`}}),[a,o]=(0,D.useState)(!1),[s,c]=(0,D.useState)([]),d=(0,D.useRef)(null),f=(0,D.useRef)(!1),g=(0,D.useMemo)(()=>e?[I,...F]:F,[e]),C=t.kind!==`off`,T=C&&!e,O=(0,D.useCallback)(e=>{i(e),r(b,S(e)),o(!1),c([])},[]),k=(0,D.useCallback)(()=>{o(!0),c([]),f.current=!1,requestAnimationFrame(()=>{d.current?.focus()})},[]),j=(0,D.useCallback)(()=>{o(!1),c([]),f.current=!1},[]),M=(0,D.useCallback)(t=>{let n=[];return e&&t.getModifierState(`Fn`)&&n.push(`function`),t.ctrlKey&&n.push(`control`),t.altKey&&n.push(`option`),t.shiftKey&&n.push(`shift`),t.metaKey&&n.push(`command`),n},[e]),N=(0,D.useCallback)(e=>{if(e.preventDefault(),e.stopPropagation(),e.key===`Escape`){j();return}let t=M(e),n=e.key;if(n===`Control`||n===`Alt`||n===`Shift`||n===`Meta`||n===`Fn`){c(t.includes(`function`)?v.modifiers:x(t));return}if(t.includes(`function`)){O(v);return}f.current=!0,O({kind:`key`,label:n.length===1?n.toUpperCase():n,modifiers:t})},[j,M,O]),P=(0,D.useCallback)(e=>{if(!a)return;e.preventDefault(),e.stopPropagation();let t=e.key;if(t===`Control`||t===`Alt`||t===`Shift`||t===`Meta`||t===`Fn`){if(f.current){f.current=!1,c([]);return}M(e).length===0&&s.length>0&&O({kind:`modifierOnly`,modifiers:s})}},[M,a,s,O]);(0,D.useEffect)(()=>{if(!a)return;let e=e=>{d.current&&!d.current.contains(e.target)&&j()};return window.addEventListener(`mousedown`,e),()=>window.removeEventListener(`mousedown`,e)},[j,a]);let L=C&&!g.some(e=>_(e.activator,t));return(0,A.jsx)(E,{title:`Push to Talk`,subtitle:`Hold the activation key to dictate text or start a voice conversation.`,children:(0,A.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,A.jsx)(u,{checked:C,onChange:n=>{n?t.kind===`off`&&O(e?I.activator:m):O({kind:`off`})},label:`Enable Push to Talk`}),C&&(0,A.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,A.jsx)(`span`,{className:z,children:`Activation Key:`}),(0,A.jsxs)(`div`,{ref:d,tabIndex:a?0:-1,onKeyDown:a?N:void 0,onKeyUp:a?P:void 0,className:`flex flex-wrap items-center gap-2 focus:outline-none`,children:[g.map(e=>{let n=_(e.activator,t);return(0,A.jsx)(K,{label:e.label,selected:n,onClick:()=>O(e.activator)},e.label)}),a?(0,A.jsx)(K,{label:s.length>0?w(s):`Press any key…`,selected:!0,recording:!0,onClick:j}):(0,A.jsx)(K,{label:L?p(t):`Custom`,selected:L,onClick:k})]}),T&&(0,A.jsxs)(`div`,{className:`flex items-start gap-1 pt-1 text-body-small-default text-[var(--content-quiet)]`,children:[(0,A.jsx)(l,{className:`mt-0.5 h-3 w-3 shrink-0`}),(0,A.jsx)(`span`,{children:`Push-to-Talk only works while this tab is focused, and browsers may intercept some shortcuts (e.g. Ctrl+T) before the page can see them. For always-on PTT, use the Vellum desktop app.`})]})]})]})})}function K({label:e,selected:t,recording:n=!1,onClick:r}){return(0,A.jsxs)(`button`,{type:`button`,onClick:r,className:[`inline-flex items-center gap-2 rounded-lg border px-3 py-1.5 text-body-medium-lighter transition-colors`,`border-[var(--border-subtle)]`,t?`bg-[var(--surface-active)]`:`bg-[var(--surface-lift)] hover:bg-[var(--surface-hover)]`,n?`animate-pulse`:``].filter(Boolean).join(` `),children:[(0,A.jsx)(`span`,{className:[`inline-block h-2.5 w-2.5 rounded-full border`,t?`border-[var(--primary-base)] bg-[var(--primary-base)]`:`border-[var(--border-element)]`].join(` `)}),(0,A.jsx)(`span`,{className:`text-[var(--content-default)]`,children:e})]})}function q(){let[e,t]=(0,D.useState)(()=>{let e=n(P,R);return L.find(t=>t.value===e)?.value??R});return(0,A.jsx)(E,{title:`Conversation Timeout`,subtitle:`How long the assistant waits for you to start speaking before ending a voice conversation turn.`,children:(0,A.jsx)(`div`,{className:`max-w-xs`,children:(0,A.jsx)(d,{options:L,value:e,onChange:(0,D.useCallback)(e=>{t(e),r(P,e)},[]),"aria-label":`Conversation timeout`})})})}export{B as VoicePage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./jsx-runtime-CVSDxk6A.js";import{t as r}from"./moon-B8qiwjrW.js";import{t as i}from"./misc-DnHIYCE9.js";import{G as a,K as o,U as s,W as c,_a as l,ba as u,ga as d,hi as f,ma as p,va as m,wi as h,xa as g,xi as _,ya as v}from"./index-B4Qq7TL7.js";var y=e(t(),1),b={"sun.max.fill":{icon:_,className:`text-orange-500`},"cloud.sun.fill":{icon:l,className:`text-amber-400`},"moon.fill":{icon:r,className:`text-blue-400`},"cloud.moon.fill":{icon:v,className:`text-blue-400`},"cloud.fill":{icon:d,className:`text-stone-400`},"cloud.rain.fill":{icon:m,className:`text-blue-400`},snowflake:{icon:h,className:`text-blue-300`},"cloud.bolt.fill":{icon:u,className:`text-orange-500`},"cloud.fog.fill":{icon:g,className:`text-stone-400`}},x={sunny:{icon:_,className:`text-orange-500`},clear:{icon:_,className:`text-orange-500`},"partly cloudy":{icon:l,className:`text-amber-400`},"mostly sunny":{icon:l,className:`text-amber-400`},cloudy:{icon:d,className:`text-stone-400`},overcast:{icon:d,className:`text-stone-400`},rainy:{icon:m,className:`text-blue-400`},rain:{icon:m,className:`text-blue-400`},drizzle:{icon:m,className:`text-blue-400`},snow:{icon:h,className:`text-blue-300`},snowy:{icon:h,className:`text-blue-300`},thunderstorm:{icon:u,className:`text-orange-500`},thunder:{icon:u,className:`text-orange-500`},foggy:{icon:g,className:`text-stone-400`},fog:{icon:g,className:`text-stone-400`},mist:{icon:g,className:`text-stone-400`},hazy:{icon:g,className:`text-stone-400`},night:{icon:r,className:`text-blue-400`},"mainly clear":{icon:_,className:`text-orange-500`},"mostly cloudy":{icon:d,className:`text-stone-400`},breezy:{icon:f,className:`text-stone-400`},windy:{icon:f,className:`text-stone-400`},cool:{icon:d,className:`text-stone-400`},warm:{icon:_,className:`text-orange-500`},hot:{icon:_,className:`text-orange-500`},cold:{icon:h,className:`text-blue-300`},"cold snap":{icon:h,className:`text-blue-300`},"warm, mostly sunny":{icon:l,className:`text-amber-400`},"cooler, breezy":{icon:f,className:`text-stone-400`}},S={icon:d,className:`text-stone-400`};function C(e){let t=b[e];if(t)return t;let n=e.toLowerCase(),r=x[n];if(r)return r;for(let[e,t]of Object.entries(x))if(n.includes(e))return t;return S}function w(e){if(typeof e==`string`){let t=e.match(/^(\d+)\s*mph\s*(.*)/i);if(t)return{speed:Number(t[1]),direction:t[2]?.trim()||void 0}}return{}}function T(e){let t;if(typeof e.location==`string`)t=e.location;else{let n=a(e.location);n&&typeof n.name==`string`&&(t=n.name)}if(!t)return null;let n=a(e.current),r=c(n?.temp)??c(e.currentTemp)??c(e.temperature)??c(e.temp),i=c(n?.feelsLike)??c(n?.feels_like)??c(n?.apparentTemperature)??c(e.feelsLike)??c(e.feels_like)??c(e.apparentTemperature),l=o(n?.condition)??o(e.condition),u=c(n?.humidity)??c(e.humidity),d=w(n?.wind??e.wind),f=c(n?.windSpeed)??c(n?.wind_speed)??c(e.windSpeed)??c(e.wind_speed)??d.speed,p=o(n?.windDirection)??o(n?.wind_direction)??o(e.windDirection)??o(e.wind_direction)??d.direction,m=a(e.units),h=o(m?.temperature)??o(n?.unit)??o(e.unit)??`F`,g=o(m?.speed)??o(e.windUnit)??o(e.wind_unit),_=s(e.hourly).map((e,t)=>({id:o(e.id)??String(t),time:o(e.time)??``,icon:o(e.icon)??o(e.condition)??`cloud.fill`,temp:c(e.tempC)??c(e.temp)??c(e.temperature),tempC:c(e.tempC)})),v=s([e.forecast,e.daily,e.days].find(Array.isArray)).map((e,t)=>({id:o(e.id)??String(t),day:o(e.day)??o(e.date),dayLabel:o(e.dayLabel)??o(e.date),icon:o(e.icon)??o(e.condition)??`cloud.fill`,low:c(e.low),high:c(e.high),lowC:c(e.lowC),highC:c(e.highC),precip:c(e.precip)??c(e.precipitation)??c(e.precipitationProbability),condition:o(e.condition)}));return{location:t,currentTemp:r,feelsLike:i,condition:l,humidity:u,windSpeed:f,windDirection:p,windUnit:g,unit:h,hourly:_.length>0?_:void 0,forecast:v.length>0?v:void 0}}function E(e){return e*9/5+32}function D(e){return(e-32)*5/9}function O(e,t,n){if(e===void 0)return null;let r=e;return t&&!n&&(r=D(e)),!t&&n&&(r=E(e)),`${Math.round(r)}`}function k(e,t,n){return e.tempC===void 0?e.temp===void 0?null:O(e.temp,t,n):O(e.tempC,!1,n)}function A(e,t,n){return e.lowC===void 0?O(e.low,t,n):O(e.lowC,!1,n)}function j(e,t,n){return e.highC===void 0?O(e.high,t,n):O(e.highC,!1,n)}var M=n();function N({icon:e,size:t=20}){let{icon:n,className:r}=C(e);return(0,M.jsx)(n,{width:t,height:t,className:r})}function P({useFahrenheit:e,onToggle:t}){return(0,M.jsxs)(`div`,{className:`flex overflow-hidden rounded-md border border-[var(--border-element)]`,children:[(0,M.jsx)(`button`,{type:`button`,onClick:()=>t(!0),className:i(`px-2 py-0.5 text-body-small-default transition-colors`,e?`bg-[var(--primary-base)] text-[var(--content-inset)]`:`bg-transparent text-[var(--content-quiet)]`),children:`°F`}),(0,M.jsx)(`button`,{type:`button`,onClick:()=>t(!1),className:i(`px-2 py-0.5 text-body-small-default transition-colors`,e?`bg-transparent text-[var(--content-quiet)]`:`bg-[var(--primary-base)] text-[var(--content-inset)]`),children:`°C`})]})}function F({data:e,sourceIsFahrenheit:t,useFahrenheit:n,onToggle:r}){let i=e.location,a=O(e.currentTemp,t,n),o=O(e.feelsLike,t,n),s=n?`F`:`C`,c=e.forecast?.[0],l=c?j(c,t,n):null,u=c?A(c,t,n):null,d=null;return e.windSpeed!==void 0&&(d=`${Math.round(e.windSpeed)} ${e.windUnit??`mph`}`,e.windDirection&&(d=`${e.windDirection} ${d}`)),(0,M.jsxs)(`div`,{children:[(0,M.jsxs)(`div`,{className:`flex items-start justify-between`,children:[(0,M.jsxs)(`div`,{children:[(0,M.jsx)(`div`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:i}),a!==null&&(0,M.jsxs)(`div`,{className:`mt-1 text-4xl font-light text-[var(--content-default)]`,children:[a,`°`,s]}),e.condition&&(0,M.jsx)(`div`,{className:`mt-0.5 text-body-small-default text-[var(--content-quiet)]`,children:e.condition})]}),(0,M.jsx)(P,{useFahrenheit:n,onToggle:r})]}),(0,M.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-center gap-3`,children:[o!==null&&(0,M.jsxs)(`span`,{className:`text-body-small-default text-[var(--content-quiet)]`,children:[`Feels like `,o,`°`]}),l!==null&&u!==null&&(0,M.jsxs)(`span`,{className:`text-body-small-default text-[var(--content-quiet)]`,children:[`H:`,l,`° L:`,u,`°`]}),d&&(0,M.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[var(--tag-bg-neutral)] px-2 py-0.5 text-label-medium-default text-[var(--content-tertiary)]`,children:[(0,M.jsx)(f,{width:12,height:12}),d]}),e.humidity!==void 0&&(0,M.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[var(--tag-bg-neutral)] px-2 py-0.5 text-label-medium-default text-[var(--content-tertiary)]`,children:[(0,M.jsx)(p,{width:12,height:12}),e.humidity,`%`]})]})]})}function I({hourly:e,sourceIsFahrenheit:t,useFahrenheit:n}){return(0,M.jsx)(`div`,{className:`mt-3 border-t border-[var(--border-element)] pt-3`,children:(0,M.jsx)(`div`,{className:`flex gap-3 overflow-x-auto`,children:e.map((e,r)=>{let i=e.time.toLowerCase()===`now`,a=k(e,t,n);return(0,M.jsxs)(`div`,{className:`flex min-w-[3rem] shrink-0 flex-col items-center gap-1`,children:[(0,M.jsx)(`span`,{className:i?`text-body-small-emphasised text-[var(--content-default)]`:`text-label-medium-default text-[var(--content-quiet)]`,children:i?`Now`:e.time}),(0,M.jsx)(N,{icon:e.icon,size:18}),a!==null&&(0,M.jsxs)(`span`,{className:`text-body-small-default text-[var(--content-default)]`,children:[a,`°`]})]},e.id??r)})})})}function L({forecast:e,currentTemp:t,sourceIsFahrenheit:n,useFahrenheit:r}){let{globalMin:a,globalMax:o}=(0,y.useMemo)(()=>{let t=1/0,n=-1/0;for(let r of e){let e=r.lowC??r.low,i=r.highC??r.high;e!==void 0&&e<t&&(t=e),i!==void 0&&i>n&&(n=i)}return{globalMin:t===1/0?0:t,globalMax:n===-1/0?100:n}},[e]),s=o-a||1;return(0,M.jsx)(`div`,{className:`mt-3 border-t border-[var(--border-element)] pt-3`,children:(0,M.jsx)(`div`,{className:`flex flex-col gap-2`,children:e.map((e,c)=>{let l=e.dayLabel??e.day??`Day ${c+1}`,u=l.toLowerCase()===`today`,d=A(e,n,r),f=j(e,n,r),p=e.precip,m=e.lowC??e.low??a,h=e.highC??e.high??o,g=(m-a)/s*100,_=(h-a)/s*100,v=Math.max(_-g,2),y=null;if(u&&t!==void 0){let r=(e.lowC!==void 0||e.highC!==void 0)&&n?(t-32)*5/9:t;y=h===m?50:(Math.max(m,Math.min(h,r))-m)/(h-m)*100}return(0,M.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,M.jsx)(`span`,{className:i(`w-12 shrink-0 truncate text-body-small-default`,u?`text-[var(--content-default)]`:`text-[var(--content-quiet)]`),children:l}),(0,M.jsxs)(`div`,{className:`flex w-10 shrink-0 items-center justify-center gap-0.5`,children:[(0,M.jsx)(N,{icon:e.icon,size:16}),p!==void 0&&p>0&&(0,M.jsxs)(`span`,{className:`text-label-small-default text-blue-400`,children:[Math.round(p),`%`]})]}),(0,M.jsx)(`span`,{className:`w-7 shrink-0 text-right text-body-small-default text-[var(--content-faint)]`,children:d===null?`--`:`${d}°`}),(0,M.jsxs)(`div`,{className:`relative h-1.5 flex-1 overflow-hidden rounded-full bg-[var(--border-subtle)]`,children:[(0,M.jsx)(`div`,{className:`absolute top-0 h-full rounded-full bg-[var(--primary-base)]`,style:{left:`${g}%`,width:`${v}%`}}),y!==null&&(0,M.jsx)(`div`,{className:`absolute top-1/2 h-2.5 w-2.5 -translate-x-1/2 -translate-y-1/2 rounded-full border-2 border-[var(--aux-white)] bg-[var(--aux-white)] shadow-sm`,style:{left:`${g+y/100*v}%`}})]}),(0,M.jsx)(`span`,{className:`w-7 shrink-0 text-right text-body-small-default text-[var(--content-default)]`,children:f===null?`--`:`${f}°`})]},e.id??c)})})})}function R({templateData:e,fallback:t}){let n=(0,y.useMemo)(()=>T(e),[e]),r=n?.unit?.toUpperCase()===`F`||n?.unit?.toLowerCase()===`fahrenheit`,[i,a]=(0,y.useState)(null),o=i??r;return!n||n.currentTemp===void 0&&!n.forecast?.length?t??null:(0,M.jsxs)(`div`,{className:`mt-3`,children:[(0,M.jsx)(F,{data:n,sourceIsFahrenheit:r,useFahrenheit:o,onToggle:a}),n.hourly&&n.hourly.length>0&&(0,M.jsx)(I,{hourly:n.hourly,sourceIsFahrenheit:r,useFahrenheit:o}),n.forecast&&n.forecast.length>0&&(0,M.jsx)(L,{forecast:n.forecast,currentTemp:n.currentTemp,sourceIsFahrenheit:r,useFahrenheit:o})]})}export{R as WeatherForecastDisplay};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./dist-RkT480s0.js";var t=class extends e{async getSafeAreaInsets(){return{insets:{top:0,left:0,right:0,bottom:0}}}async getStatusBarHeight(){return{statusBarHeight:0}}setImmersiveNavigationBar(){throw this.unimplemented(`Method not supported on Web.`)}unsetImmersiveNavigationBar(){throw this.unimplemented(`Method not supported on Web.`)}};export{t as SafeAreaWeb};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./dist-RkT480s0.js";var t=class extends e{constructor(){super(),this._lastWindow=null}async open(e){this._lastWindow=window.open(e.url,e.windowName||`_blank`)}async close(){return new Promise((e,t)=>{this._lastWindow==null?t(`No active window to close!`):(this._lastWindow.close(),this._lastWindow=null,e())})}};new t;export{t as BrowserWeb};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./dist-RkT480s0.js";var t=class extends e{constructor(){super(...arguments),this.pending=[],this.deliveredNotifications=[],this.hasNotificationSupport=()=>{if(!(`Notification`in window)||!Notification.requestPermission)return!1;if(Notification.permission!==`granted`)try{new Notification(``)}catch(e){if(e instanceof Error&&e.name===`TypeError`)return!1}return!0}}async getDeliveredNotifications(){let e=[];for(let t of this.deliveredNotifications){let n={title:t.title,id:parseInt(t.tag),body:t.body};e.push(n)}return{notifications:e}}async removeDeliveredNotifications(e){for(let t of e.notifications){let e=this.deliveredNotifications.find(e=>e.tag===String(t.id));e?.close(),this.deliveredNotifications=this.deliveredNotifications.filter(()=>!e)}}async removeAllDeliveredNotifications(){for(let e of this.deliveredNotifications)e.close();this.deliveredNotifications=[]}async createChannel(){throw this.unimplemented(`Not implemented on web.`)}async deleteChannel(){throw this.unimplemented(`Not implemented on web.`)}async listChannels(){throw this.unimplemented(`Not implemented on web.`)}async schedule(e){if(!this.hasNotificationSupport())throw this.unavailable(`Notifications not supported in this browser.`);for(let t of e.notifications)this.sendNotification(t);return{notifications:e.notifications.map(e=>({id:e.id}))}}async getPending(){return{notifications:this.pending}}async registerActionTypes(){throw this.unimplemented(`Not implemented on web.`)}async cancel(e){this.pending=this.pending.filter(t=>!e.notifications.find(e=>e.id===t.id))}async areEnabled(){let{display:e}=await this.checkPermissions();return{value:e===`granted`}}async changeExactNotificationSetting(){throw this.unimplemented(`Not implemented on web.`)}async checkExactNotificationSetting(){throw this.unimplemented(`Not implemented on web.`)}async requestPermissions(){if(!this.hasNotificationSupport())throw this.unavailable(`Notifications not supported in this browser.`);return{display:this.transformNotificationPermission(await Notification.requestPermission())}}async checkPermissions(){if(!this.hasNotificationSupport())throw this.unavailable(`Notifications not supported in this browser.`);return{display:this.transformNotificationPermission(Notification.permission)}}transformNotificationPermission(e){switch(e){case`granted`:return`granted`;case`denied`:return`denied`;default:return`prompt`}}sendPending(){let e=[],t=new Date().getTime();for(let n of this.pending)n.schedule?.at&&n.schedule.at.getTime()<=t&&(this.buildNotification(n),e.push(n));this.pending=this.pending.filter(t=>!e.find(e=>e===t))}sendNotification(e){if(e.schedule?.at){let t=e.schedule.at.getTime()-new Date().getTime();this.pending.push(e),setTimeout(()=>{this.sendPending()},t);return}this.buildNotification(e)}buildNotification(e){let t=new Notification(e.title,{body:e.body,tag:String(e.id)});return t.addEventListener(`click`,this.onClick.bind(this,e),!1),t.addEventListener(`show`,this.onShow.bind(this,e),!1),t.addEventListener(`close`,()=>{this.deliveredNotifications=this.deliveredNotifications.filter(()=>!this)},!1),this.deliveredNotifications.push(t),t}onClick(e){let t={actionId:`tap`,notification:e};this.notifyListeners(`localNotificationActionPerformed`,t)}onShow(e){this.notifyListeners(`localNotificationReceived`,e)}};export{t as LocalNotificationsWeb};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./dist-RkT480s0.js";import{n as t,t as n}from"./definitions-Dj7uajgZ.js";var r=class extends e{constructor(){super(...arguments),this.selectionStarted=!1}async impact(e){let t=this.patternForImpact(e?.style);this.vibrateWithPattern(t)}async notification(e){let t=this.patternForNotification(e?.type);this.vibrateWithPattern(t)}async vibrate(e){let t=e?.duration||300;this.vibrateWithPattern([t])}async selectionStart(){this.selectionStarted=!0}async selectionChanged(){this.selectionStarted&&this.vibrateWithPattern([70])}async selectionEnd(){this.selectionStarted=!1}patternForImpact(e=n.Heavy){return e===n.Medium?[43]:e===n.Light?[20]:[61]}patternForNotification(e=t.Success){return e===t.Warning?[30,40,30,50,60]:e===t.Error?[27,45,50]:[35,65,21]}vibrateWithPattern(e){if(navigator.vibrate)navigator.vibrate(e);else throw this.unavailable(`Browser does not support the vibrate API`)}};export{r as HapticsWeb};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./dist-RkT480s0.js";var t=class extends e{async canShare(){return typeof navigator>`u`||!navigator.share?{value:!1}:{value:!0}}async share(e){if(typeof navigator>`u`||!navigator.share)throw this.unavailable(`Share API not available in this browser`);return await navigator.share({title:e.title,text:e.text,url:e.url}),{}}};export{t as ShareWeb};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e,r as t}from"./dist-RkT480s0.js";import{n}from"./definitions-CK0CSdwt.js";function r(e){let t=e.split(`/`).filter(e=>e!==`.`),n=[];return t.forEach(e=>{e===`..`&&n.length>0&&n[n.length-1]!==`..`?n.pop():n.push(e)}),n.join(`/`)}function i(e,t){e=r(e),t=r(t);let n=e.split(`/`),i=t.split(`/`);return e!==t&&n.every((e,t)=>e===i[t])}var a=class r extends e{constructor(){super(...arguments),this.DB_VERSION=1,this.DB_NAME=`Disc`,this._writeCmds=[`add`,`put`,`delete`],this.downloadFile=async e=>{let n=t(e,e.webFetchExtra),r=await fetch(e.url,n),i;if(!e.progress)i=await r.blob();else if(!r?.body)i=new Blob;else{let t=r.body.getReader(),n=0,a=[],o=r.headers.get(`content-type`),s=parseInt(r.headers.get(`content-length`)||`0`,10);for(;;){let{done:r,value:i}=await t.read();if(r)break;a.push(i),n+=i?.length||0;let o={url:e.url,bytes:n,contentLength:s};this.notifyListeners(`progress`,o)}let c=new Uint8Array(n),l=0;for(let e of a)e!==void 0&&(c.set(e,l),l+=e.length);i=new Blob([c.buffer],{type:o||void 0})}return{path:(await this.writeFile({path:e.path,directory:e.directory??void 0,recursive:e.recursive??!1,data:i})).uri,blob:i}}}readFileInChunks(e,t){throw this.unavailable(`Method not implemented.`)}async initDb(){if(this._db!==void 0)return this._db;if(!(`indexedDB`in window))throw this.unavailable(`This browser doesn't support IndexedDB`);return new Promise((e,t)=>{let n=indexedDB.open(this.DB_NAME,this.DB_VERSION);n.onupgradeneeded=r.doUpgrade,n.onsuccess=()=>{this._db=n.result,e(n.result)},n.onerror=()=>t(n.error),n.onblocked=()=>{console.warn(`db blocked`)}})}static doUpgrade(e){let t=e.target.result;switch(e.oldVersion){default:t.objectStoreNames.contains(`FileStorage`)&&t.deleteObjectStore(`FileStorage`),t.createObjectStore(`FileStorage`,{keyPath:`path`}).createIndex(`by_folder`,`folder`)}}async dbRequest(e,t){let n=this._writeCmds.indexOf(e)===-1?`readonly`:`readwrite`;return this.initDb().then(r=>new Promise((i,a)=>{let o=r.transaction([`FileStorage`],n).objectStore(`FileStorage`)[e](...t);o.onsuccess=()=>i(o.result),o.onerror=()=>a(o.error)}))}async dbIndexRequest(e,t,n){let r=this._writeCmds.indexOf(t)===-1?`readonly`:`readwrite`;return this.initDb().then(i=>new Promise((a,o)=>{let s=i.transaction([`FileStorage`],r).objectStore(`FileStorage`).index(e)[t](...n);s.onsuccess=()=>a(s.result),s.onerror=()=>o(s.error)}))}getPath(e,t){let n=t===void 0?``:t.replace(/^[/]+|[/]+$/g,``),r=``;return e!==void 0&&(r+=`/`+e),t!==``&&(r+=`/`+n),r}async clear(){(await this.initDb()).transaction([`FileStorage`],`readwrite`).objectStore(`FileStorage`).clear()}async readFile(e){let t=this.getPath(e.directory,e.path),n=await this.dbRequest(`get`,[t]);if(n===void 0)throw Error(`File does not exist.`);return{data:n.content?n.content:``}}async writeFile(e){let t=this.getPath(e.directory,e.path),n=e.data,r=e.encoding,i=e.recursive,a=await this.dbRequest(`get`,[t]);if(a&&a.type===`directory`)throw Error(`The supplied path is a directory.`);let o=t.substr(0,t.lastIndexOf(`/`));if(await this.dbRequest(`get`,[o])===void 0){let t=o.indexOf(`/`,1);if(t!==-1){let n=o.substr(t);await this.mkdir({path:n,directory:e.directory,recursive:i})}}if(!r&&!(n instanceof Blob)&&(n=n.indexOf(`,`)>=0?n.split(`,`)[1]:n,!this.isBase64String(n)))throw Error(`The supplied data is not valid base64 content.`);let s=Date.now(),c={path:t,folder:o,type:`file`,size:n instanceof Blob?n.size:n.length,ctime:s,mtime:s,content:n};return await this.dbRequest(`put`,[c]),{uri:c.path}}async appendFile(e){let t=this.getPath(e.directory,e.path),n=e.data,r=e.encoding,i=t.substr(0,t.lastIndexOf(`/`)),a=Date.now(),o=a,s=await this.dbRequest(`get`,[t]);if(s&&s.type===`directory`)throw Error(`The supplied path is a directory.`);if(await this.dbRequest(`get`,[i])===void 0){let t=i.indexOf(`/`,1);if(t!==-1){let n=i.substr(t);await this.mkdir({path:n,directory:e.directory,recursive:!0})}}if(!r&&!this.isBase64String(n))throw Error(`The supplied data is not valid base64 content.`);if(s!==void 0){if(s.content instanceof Blob)throw Error(`The occupied entry contains a Blob object which cannot be appended to.`);n=s.content!==void 0&&!r?btoa(atob(s.content)+atob(n)):s.content+n,o=s.ctime}let c={path:t,folder:i,type:`file`,size:n.length,ctime:o,mtime:a,content:n};await this.dbRequest(`put`,[c])}async deleteFile(e){let t=this.getPath(e.directory,e.path);if(await this.dbRequest(`get`,[t])===void 0)throw Error(`File does not exist.`);if((await this.dbIndexRequest(`by_folder`,`getAllKeys`,[IDBKeyRange.only(t)])).length!==0)throw Error(`Folder is not empty.`);await this.dbRequest(`delete`,[t])}async mkdir(e){let t=this.getPath(e.directory,e.path),n=e.recursive,r=t.substr(0,t.lastIndexOf(`/`)),i=(t.match(/\//g)||[]).length,a=await this.dbRequest(`get`,[r]),o=await this.dbRequest(`get`,[t]);if(i===1)throw Error(`Cannot create Root directory`);if(o!==void 0)throw Error(`Current directory does already exist.`);if(!n&&i!==2&&a===void 0)throw Error(`Parent directory must exist`);if(n&&i!==2&&a===void 0){let t=r.substr(r.indexOf(`/`,1));await this.mkdir({path:t,directory:e.directory,recursive:n})}let s=Date.now(),c={path:t,folder:r,type:`directory`,size:0,ctime:s,mtime:s};await this.dbRequest(`put`,[c])}async rmdir(e){let{path:t,directory:n,recursive:r}=e,i=this.getPath(n,t),a=await this.dbRequest(`get`,[i]);if(a===void 0)throw Error(`Folder does not exist.`);if(a.type!==`directory`)throw Error(`Requested path is not a directory`);let o=await this.readdir({path:t,directory:n});if(o.files.length!==0&&!r)throw Error(`Folder is not empty`);for(let e of o.files){let i=`${t}/${e.name}`;(await this.stat({path:i,directory:n})).type===`file`?await this.deleteFile({path:i,directory:n}):await this.rmdir({path:i,directory:n,recursive:r})}await this.dbRequest(`delete`,[i])}async readdir(e){let t=this.getPath(e.directory,e.path),n=await this.dbRequest(`get`,[t]);if(e.path!==``&&n===void 0)throw Error(`Folder does not exist.`);let r=await this.dbIndexRequest(`by_folder`,`getAllKeys`,[IDBKeyRange.only(t)]);return{files:await Promise.all(r.map(async e=>{let n=await this.dbRequest(`get`,[e]);return n===void 0&&(n=await this.dbRequest(`get`,[e+`/`])),{name:e.substring(t.length+1),type:n.type,size:n.size,ctime:n.ctime,mtime:n.mtime,uri:n.path}}))}}async getUri(e){let t=this.getPath(e.directory,e.path),n=await this.dbRequest(`get`,[t]);return n===void 0&&(n=await this.dbRequest(`get`,[t+`/`])),{uri:n?.path||t}}async stat(e){let t=this.getPath(e.directory,e.path),n=await this.dbRequest(`get`,[t]);if(n===void 0&&(n=await this.dbRequest(`get`,[t+`/`])),n===void 0)throw Error(`Entry does not exist.`);return{name:n.path.substring(t.length+1),type:n.type,size:n.size,ctime:n.ctime,mtime:n.mtime,uri:n.path}}async rename(e){await this._copy(e,!0)}async copy(e){return this._copy(e,!1)}async requestPermissions(){return{publicStorage:`granted`}}async checkPermissions(){return{publicStorage:`granted`}}async _copy(e,t=!1){let{toDirectory:r}=e,{to:a,from:o,directory:s}=e;if(!a||!o)throw Error(`Both to and from must be provided`);r||=s;let c=this.getPath(s,o),l=this.getPath(r,a);if(c===l)return{uri:l};if(i(c,l))throw Error(`To path cannot contain the from path`);let u;try{u=await this.stat({path:a,directory:r})}catch{let e=a.split(`/`);e.pop();let t=e.join(`/`);if(e.length>0&&(await this.stat({path:t,directory:r})).type!==`directory`)throw Error(`Parent directory of the to path is a file`)}if(u&&u.type===`directory`)throw Error(`Cannot overwrite a directory with a file`);let d=await this.stat({path:o,directory:s}),f=async(e,t,n)=>{let i=this.getPath(r,e),a=await this.dbRequest(`get`,[i]);a.ctime=t,a.mtime=n,await this.dbRequest(`put`,[a])},p=d.ctime?d.ctime:Date.now();switch(d.type){case`file`:{let e=await this.readFile({path:o,directory:s});t&&await this.deleteFile({path:o,directory:s});let i;!(e.data instanceof Blob)&&!this.isBase64String(e.data)&&(i=n.UTF8);let c=await this.writeFile({path:a,directory:r,data:e.data,encoding:i});return t&&await f(a,p,d.mtime),c}case`directory`:{if(u)throw Error(`Cannot move a directory over an existing object`);try{await this.mkdir({path:a,directory:r,recursive:!1}),t&&await f(a,p,d.mtime)}catch{}let e=(await this.readdir({path:o,directory:s})).files;for(let n of e)await this._copy({from:`${o}/${n.name}`,to:`${a}/${n.name}`,directory:s,toDirectory:r},t);t&&await this.rmdir({path:o,directory:s})}}return{uri:l}}isBase64String(e){try{return btoa(atob(e))==e}catch{return!1}}};a._debug=!0;export{a as FilesystemWeb};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./dist-RkT480s0.js";function t(){let e=window.navigator.connection||window.navigator.mozConnection||window.navigator.webkitConnection,t=`unknown`,n=e?e.type||e.effectiveType:null;if(n&&typeof n==`string`)switch(n){case`bluetooth`:case`cellular`:t=`cellular`;break;case`none`:t=`none`;break;case`ethernet`:case`wifi`:case`wimax`:t=`wifi`;break;case`other`:case`unknown`:t=`unknown`;break;case`slow-2g`:case`2g`:case`3g`:t=`cellular`;break;case`4g`:t=`wifi`;break;default:break}return t}var n=class extends e{constructor(){super(),this.handleOnline=()=>{let e={connected:!0,connectionType:t()};this.notifyListeners(`networkStatusChange`,e)},this.handleOffline=()=>{this.notifyListeners(`networkStatusChange`,{connected:!1,connectionType:`none`})},typeof window<`u`&&(window.addEventListener(`online`,this.handleOnline),window.addEventListener(`offline`,this.handleOffline))}async getStatus(){if(!window.navigator)throw this.unavailable(`Browser does not support the Network Information API`);let e=window.navigator.onLine,n=t();return{connected:e,connectionType:e?n:`none`}}};new n;export{n as NetworkWeb};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./dist-RkT480s0.js";var t=class extends e{constructor(){super(),this.handleVisibilityChange=()=>{let e={isActive:document.hidden!==!0};this.notifyListeners(`appStateChange`,e),document.hidden?this.notifyListeners(`pause`,null):this.notifyListeners(`resume`,null)},document.addEventListener(`visibilitychange`,this.handleVisibilityChange,!1)}exitApp(){throw this.unimplemented(`Not implemented on web.`)}async getInfo(){throw this.unimplemented(`Not implemented on web.`)}async getLaunchUrl(){return{url:``}}async getState(){return{isActive:document.hidden!==!0}}async minimizeApp(){throw this.unimplemented(`Not implemented on web.`)}async toggleBackButtonHandler(){throw this.unimplemented(`Not implemented on web.`)}async getAppLanguage(){return{value:navigator.language.split(`-`)[0].toLowerCase()}}};export{t as AppWeb};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./button-amTXFI-2.js";import{t as r}from"./jsx-runtime-CVSDxk6A.js";import{t as i}from"./typography-D5f7kt80.js";import{t as a}from"./arrow-left-DI9551VI.js";import{n as o,r as s,t as c}from"./metric-card-cvhtzRdM.js";import{t as l}from"./ban-CVKGuUAQ.js";import{t as u}from"./chevron-right-DqqmezXC.js";import{t as d}from"./circle-check-VSiny8yl.js";import{t as f}from"./triangle-alert-Z0Gq0IuB.js";import{t as p}from"./x-CkSVp1Ok.js";import"./src-DZbMXyC2.js";import{n as m,r as h,t as g}from"./workflow-status-PqQ1OqJN.js";import{t as _}from"./proxy-Cadlowdl.js";import{t as v}from"./AnimatePresence-TZWSGjkI.js";import{t as y}from"./use-reduced-motion-BPBlq9_a.js";import{t as b}from"./three-dot-indicator-BuZzHFUJ.js";import{Ci as x,Na as S,Q as C,_i as w,et as T,mi as E,tt as D}from"./index-B4Qq7TL7.js";import{t as O}from"./status-badge-pill-B_ninpnM.js";var k=e(t(),1),A=r();function j({onClick:e,ariaLabel:t}){return(0,A.jsxs)(`button`,{type:`button`,"aria-label":t,onClick:e,className:`flex h-8 shrink-0 cursor-pointer items-center gap-1.5 rounded-lg border border-[var(--system-negative-strong)] bg-transparent px-2.5 py-1.5 text-[var(--system-negative-strong)] transition-colors hover:bg-[var(--system-negative-weak)]`,children:[(0,A.jsx)(x,{className:`h-3 w-3`,fill:`currentColor`}),(0,A.jsx)(i,{variant:`label-small-default`,children:`Stop`})]})}function M({title:e,body:t,emptyText:n}){return(0,A.jsxs)(`div`,{className:`mb-5`,children:[(0,A.jsx)(i,{variant:`body-medium-default`,as:`h3`,className:`mb-2 text-[var(--content-emphasised)]`,children:e}),t?(0,A.jsx)(i,{variant:`body-medium-lighter`,as:`p`,className:`whitespace-pre-wrap break-words leading-relaxed text-[var(--content-default)]`,children:t}):(0,A.jsx)(i,{variant:`body-medium-lighter`,as:`p`,className:`text-[var(--content-tertiary)]`,children:n})]})}function N({leaf:e}){let t=e.status===`running`?`Running…`:`No result summary`;return(0,A.jsxs)(`div`,{children:[(0,A.jsxs)(`div`,{className:`mb-5 grid grid-cols-2 gap-3`,children:[(0,A.jsx)(c,{icon:(0,A.jsx)(S,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),target:e.inputTokens??0,format:e=>o(Math.round(e)),label:`Input`}),(0,A.jsx)(c,{icon:(0,A.jsx)(s,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),target:e.outputTokens??0,format:e=>o(Math.round(e)),label:`Output`})]}),(0,A.jsx)(M,{title:`Prompt`,body:e.promptSummary,emptyText:`No prompt summary`}),(0,A.jsx)(M,{title:`Result`,body:e.resultSummary,emptyText:t})]})}function P({status:e}){return(0,A.jsx)(O,{color:m(e),label:h(e)})}function F(e){switch(e){case`completed`:return`var(--system-positive-strong)`;case`failed`:return`var(--system-negative-strong)`;case`cancelled`:return`var(--content-secondary)`;default:return`var(--primary-base)`}}function I(e){switch(e){case`completed`:return`Completed`;case`failed`:return`Failed`;case`cancelled`:return`Cancelled`;default:return`Running`}}function L({status:e}){return(0,A.jsx)(O,{color:F(e),label:I(e)})}function R({status:e}){let t=y(),n=`h-3.5 w-3.5 shrink-0`,r;return r=e===`running`?(0,A.jsx)(b,{className:`shrink-0`,dotSize:4,gap:2}):e===`completed`?(0,A.jsx)(d,{className:n,style:{color:`var(--system-positive-strong)`}}):e===`failed`?(0,A.jsx)(f,{className:n,style:{color:`var(--system-negative-strong)`}}):(0,A.jsx)(l,{className:n,style:{color:`var(--content-secondary)`},role:`img`,"aria-label":`Cancelled`}),(0,A.jsx)(v,{mode:`wait`,initial:!1,children:(0,A.jsx)(_.span,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:t?{duration:0}:{duration:.15,ease:[.16,1,.3,1]},className:`flex shrink-0 items-center`,children:r},e)})}function z({runId:e,leaf:t,components:n,onSelect:r}){let a=t.label??`Subagent ${t.seq}`,o=t.promptSummary,s=C(`${e}:${t.seq}`);return(0,A.jsx)(`button`,{type:`button`,onClick:r,"aria-label":`Open ${a} details`,className:`flex w-full cursor-pointer items-center justify-between gap-2 rounded-[6px] px-2 py-1.5 text-left transition-colors hover:bg-[var(--surface-overlay)]`,children:(0,A.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5`,children:[(0,A.jsx)(R,{status:t.status}),n?(0,A.jsx)(D,{components:n,bodyShapeId:s.bodyShape,eyeStyleId:s.eyeStyle,colorId:s.color,size:16}):(0,A.jsx)(`div`,{style:{width:16,height:16,flexShrink:0},"aria-hidden":!0}),(0,A.jsx)(i,{variant:`body-medium-default`,title:a,className:`max-w-[60%] shrink-0 truncate text-[var(--content-default)]`,children:a}),o&&(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(`span`,{"aria-hidden":!0,className:`shrink-0 text-[var(--content-tertiary)] opacity-10`,children:`|`}),(0,A.jsx)(i,{variant:`body-medium-lighter`,title:o,className:`min-w-0 truncate text-[var(--content-tertiary)]`,children:o})]})]})})}function B({entry:e,onClose:t,onStop:r,onRequestJournal:l}){let d=g(e.status),f=y(),m=e.label??e.runId,h=e.agentsSpawned||e.leaves.size,v=T(),b=[...e.leaves.values()].sort((e,t)=>e.seq-t.seq),[x,O]=(0,k.useState)(null),[M,F]=(0,k.useState)(e.runId);M!==e.runId&&(F(e.runId),O(null));let I=x==null?void 0:e.leaves.get(x),R=I?C(`${e.runId}:${I.seq}`):void 0,B=(0,k.useCallback)(()=>O(null),[]),V=I?I.label??`Subagent ${I.seq}`:``,H=I?V:m,U=d?`live`:`final`;return(0,k.useEffect)(()=>{l?.(e.runId)},[e.runId,U,l]),(0,A.jsxs)(`div`,{className:`flex h-full flex-col overflow-hidden rounded-xl bg-[var(--surface-lift)]`,children:[I&&(0,A.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 border-b border-[var(--border-hover)] px-5 py-3`,children:[(0,A.jsx)(`button`,{type:`button`,onClick:B,title:m,className:`min-w-0 shrink cursor-pointer truncate text-left text-[var(--content-default)] hover:underline`,children:(0,A.jsx)(i,{variant:`body-small-default`,as:`span`,children:m})}),(0,A.jsx)(u,{className:`h-2.5 w-2.5 shrink-0 text-[var(--content-tertiary)]`,"aria-hidden":!0}),(0,A.jsx)(i,{variant:`body-small-default`,as:`span`,title:V,className:`min-w-0 shrink truncate text-[var(--content-secondary)]`,children:V})]}),(0,A.jsxs)(`div`,{className:`flex shrink-0 items-center gap-3 border-b border-[var(--border-hover)] px-5 py-4`,children:[I&&(0,A.jsx)(n,{variant:`outlined`,iconOnly:(0,A.jsx)(a,{}),onClick:B,"aria-label":`Back to subagents`,tooltip:`Back`,className:`shrink-0 rounded-lg`}),I?v&&R?(0,A.jsx)(D,{components:v,bodyShapeId:R.bodyShape,eyeStyleId:R.eyeStyle,colorId:R.color,size:32}):(0,A.jsx)(`div`,{style:{width:32,height:32,flexShrink:0},"aria-hidden":!0}):(0,A.jsx)(`div`,{className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-[6px] bg-[var(--surface-overlay)]`,children:(0,A.jsx)(E,{className:`h-4 w-4`,style:{color:`var(--content-secondary)`}})}),(0,A.jsx)(i,{variant:`title-medium`,title:H,className:`min-w-0 shrink truncate text-[var(--content-default)]`,children:H}),I?(0,A.jsx)(L,{status:I.status}):(0,A.jsx)(P,{status:e.status}),(0,A.jsx)(`span`,{className:`flex-1`}),d&&r&&(0,A.jsx)(j,{onClick:()=>r(e.runId),ariaLabel:`Stop workflow`}),(0,A.jsx)(n,{variant:`outlined`,iconOnly:(0,A.jsx)(p,{}),onClick:t,"aria-label":`Close workflow detail`,tooltip:`Close`,className:`shrink-0 rounded-lg`})]}),(0,A.jsx)(`div`,{className:`flex-1 overflow-y-auto px-5 py-5`,children:(0,A.jsx)(_.div,{initial:{opacity:0},animate:{opacity:1},transition:f?{duration:0}:{duration:.18,ease:[.16,1,.3,1]},children:I?(0,A.jsx)(N,{leaf:I}):(0,A.jsxs)(A.Fragment,{children:[(0,A.jsxs)(`div`,{className:`mb-5 grid grid-cols-3 gap-3`,children:[(0,A.jsx)(c,{icon:(0,A.jsx)(S,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),target:e.inputTokens,format:e=>o(Math.round(e)),label:`Input`}),(0,A.jsx)(c,{icon:(0,A.jsx)(s,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),target:e.outputTokens,format:e=>o(Math.round(e)),label:`Output`}),(0,A.jsx)(c,{icon:(0,A.jsx)(w,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),target:h,format:e=>o(Math.round(e)),label:`Agents`})]}),(0,A.jsxs)(`div`,{children:[(0,A.jsx)(i,{variant:`body-medium-default`,as:`h3`,className:`mb-4 text-[var(--content-emphasised)]`,children:`Subagents`}),b.length===0?(0,A.jsx)(i,{variant:`body-small-default`,className:`py-4 text-center text-[var(--content-tertiary)]`,children:`No subagents yet`}):(0,A.jsx)(`div`,{className:`flex flex-col gap-1`,children:b.map(t=>(0,A.jsx)(z,{runId:e.runId,leaf:t,components:v,onSelect:()=>O(t.seq)},t.seq))})]})]})},I?String(I.seq):`list`)})]})}export{B as WorkflowDetailPanel};
|